summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--askbot/__init__.py2
-rw-r--r--askbot/conf/email.py26
-rw-r--r--askbot/const/__init__.py1
-rw-r--r--askbot/deps/django_authopenid/util.py49
-rw-r--r--askbot/doc/source/contributors.rst34
-rw-r--r--askbot/doc/source/index.rst1
-rw-r--r--askbot/forms.py68
-rw-r--r--askbot/locale/en/LC_MESSAGES/django.mobin21637 -> 21637 bytes
-rw-r--r--askbot/locale/en/LC_MESSAGES/django.po389
-rw-r--r--askbot/locale/ro/LC_MESSAGES/django.mobin0 -> 87643 bytes
-rw-r--r--askbot/locale/ro/LC_MESSAGES/django.po5727
-rw-r--r--askbot/management/commands/post_emailed_questions.py207
-rw-r--r--askbot/models/__init__.py12
-rw-r--r--askbot/models/content.py41
-rw-r--r--askbot/models/meta.py26
-rw-r--r--askbot/models/question.py2
-rw-r--r--askbot/models/tag.py13
-rw-r--r--askbot/setup_templates/settings.py17
-rw-r--r--askbot/tasks.py59
-rw-r--r--askbot/tests/db_api_tests.py17
-rw-r--r--askbot/tests/email_alert_tests.py70
-rw-r--r--askbot/tests/form_tests.py79
-rw-r--r--askbot/tests/skin_tests.py1
-rw-r--r--askbot/tests/utils.py21
-rw-r--r--askbot/utils/mail.py17
-rw-r--r--setup.py2
26 files changed, 6666 insertions, 215 deletions
diff --git a/askbot/__init__.py b/askbot/__init__.py
index d159c315..8d907571 100644
--- a/askbot/__init__.py
+++ b/askbot/__init__.py
@@ -11,7 +11,7 @@ import logging
from askbot import patches
from askbot.deployment.assertions import assert_package_compatibility
-VERSION = (0, 6, 75)
+VERSION = (0, 6, 76)
#necessary for interoperability of django and coffin
assert_package_compatibility()
diff --git a/askbot/conf/email.py b/askbot/conf/email.py
index e48a74f0..f18a554d 100644
--- a/askbot/conf/email.py
+++ b/askbot/conf/email.py
@@ -83,3 +83,29 @@ settings.register(
help_text=_('Use this setting to control gravatar for email-less user')
)
)
+
+settings.register(
+ livesettings.BooleanValue(
+ EMAIL,
+ 'ALLOW_ASKING_BY_EMAIL',
+ default = False,
+ description=_('Allow posting questions by email'),
+ help_text=_(
+ 'Before enabling this setting - please fill out IMAP settings '
+ 'in the settings.py file'
+ )
+ )
+)
+
+settings.register(
+ livesettings.BooleanValue(
+ EMAIL,
+ 'REPLACE_SPACE_WITH_DASH_IN_EMAILED_TAGS',
+ default = True,
+ description = _('Replace space in emailed tags with dash'),
+ help_text = _(
+ 'This setting applies to tags written in the subject line '
+ 'of questions asked by email'
+ )
+ )
+)
diff --git a/askbot/const/__init__.py b/askbot/const/__init__.py
index f48c5c76..5a0781f0 100644
--- a/askbot/const/__init__.py
+++ b/askbot/const/__init__.py
@@ -84,6 +84,7 @@ UNANSWERED_QUESTION_MEANING_CHOICES = (
TAG_CHARS = '\w\+\.\-#'
TAG_REGEX = r'^[%s]+$' % TAG_CHARS
TAG_SPLIT_REGEX = r'[ ,]+'
+EMAIL_REGEX = re.compile(r'\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b', re.I)
TYPE_ACTIVITY_ASK_QUESTION=1
TYPE_ACTIVITY_ANSWER=2
diff --git a/askbot/deps/django_authopenid/util.py b/askbot/deps/django_authopenid/util.py
index 355854bb..a913400f 100644
--- a/askbot/deps/django_authopenid/util.py
+++ b/askbot/deps/django_authopenid/util.py
@@ -168,23 +168,44 @@ def use_password_login():
return True
def get_major_login_providers():
- """returns a tuple with data about login providers
+ """returns a dictionary with data about login providers
whose icons are to be shown in large format
- items of tuple are dictionaries with keys:
+ items of the dictionary are dictionaries with keys:
* name
* display_name
* icon_media_path (relative to /media directory)
* type (oauth|openid-direct|openid-generic|openid-username|password)
- Fields dependent on type:
+ Fields dependent on type of the login provider type
+ ---------------------------------------------------
+
+ Password (type = password) - login provider using login name and password:
+
+ * extra_token_name - a phrase describing what the login name and the
+ password are from
+ * create_password_prompt - a phrase prompting to create an account
+ * change_password_prompt - a phrase prompting to change password
+
+ OpenID (type = openid) - Provider of login using the OpenID protocol
* openid_endpoint (required for type=openid|openid-username)
for type openid-username - the string must have %(username)s
format variable, plain string url otherwise
* extra_token_name - required for type=openid-username
describes name of required extra token - e.g. "XYZ user name"
+
+ OAuth2 (type = oauth)
+
+ * request_token_url - url to initiate OAuth2 protocol with the resource
+ * access_token_url - url to access users data on the resource via OAuth2
+ * authorize_url - url at which user can authorize the app to access a resource
+ * authenticate_url - url to authenticate user (lower privilege than authorize)
+ * get_user_id_function - a function that returns user id from data dictionary
+ containing: response to the access token url & consumer_key
+ and consumer secret. The purpose of this function is to hide the differences
+ between the ways user id is accessed from the different OAuth providers
"""
data = SortedDict()
@@ -201,13 +222,13 @@ def get_major_login_providers():
'icon_media_path': askbot_settings.LOCAL_LOGIN_ICON,
}
- if askbot_settings.FACEBOOK_KEY and askbot_settings.FACEBOOK_SECRET:
- data['facebook'] = {
- 'name': 'facebook',
- 'display_name': 'Facebook',
- 'type': 'facebook',
- 'icon_media_path': '/jquery-openid/images/facebook.gif',
- }
+ #if askbot_settings.FACEBOOK_KEY and askbot_settings.FACEBOOK_SECRET:
+ # data['facebook'] = {
+ # 'name': 'facebook',
+ # 'display_name': 'Facebook',
+ # 'type': 'facebook',
+ # 'icon_media_path': '/jquery-openid/images/facebook.gif',
+ # }
if askbot_settings.TWITTER_KEY and askbot_settings.TWITTER_SECRET:
data['twitter'] = {
'name': 'twitter',
@@ -468,6 +489,8 @@ class OAuthConnection(object):
)
def start(self, callback_url = None):
+ """starts the OAuth protocol communication and
+ saves request token as :attr:`request_token`"""
if callback_url is None:
callback_url = self.callback_url
@@ -504,6 +527,9 @@ class OAuthConnection(object):
return self.request_token
def get_user_id(self, oauth_token = None, oauth_verifier = None):
+ """Returns user ID within the OAuth provider system,
+ based on ``oauth_token`` and ``oauth_verifier``
+ """
token = oauth.Token(
oauth_token['oauth_token'],
@@ -520,8 +546,7 @@ class OAuthConnection(object):
def get_auth_url(self, login_only = False):
"""returns OAuth redirect url.
- callback_url is the redirect that will be used by the
- provider server, if login_only is True, authentication
+ if ``login_only`` is True, authentication
endpoint will be used, if available, otherwise authorization
url (potentially granting full access to the server) will
be used.
diff --git a/askbot/doc/source/contributors.rst b/askbot/doc/source/contributors.rst
new file mode 100644
index 00000000..ca721913
--- /dev/null
+++ b/askbot/doc/source/contributors.rst
@@ -0,0 +1,34 @@
+==============================
+Contributors to Askbot Project
+==============================
+
+This is the list of contributors to the code of Askbot project.
+The list is probably incomplete, apologies for any omissions.
+Thanks for all your help
+
+Programming
+-----------
+* Mike Chen & Sailing Cai - original authors of CNPROG forum
+* Evgeny Fadeev - founder of askbot
+* Benoit Lavine (with Windriver Software, Inc.)
+* Adolfo Fitoria
+* Andrei Mamoutkine
+* Ramiro Morales (with Machinalis)
+* Andy Knotts
+
+Translations
+------------
+* Mike Chen, Sailing Cai, suyu8776 - Chinese
+* Bruno Sarlo, Adolfo Fitoria - Spanish
+* Evgeny Kalinin - Russian
+* Evgeny Fadeev - English
+* Oktay Yildiz, Onur Mat, Cemre - Turkish
+* Anonymous contributor - French
+* Pekka Gaiser - German
+* Pekka Järvinen - Finnish
+* Adi Robian - Romanian
+* Dario Ghilardi, Federico Poloni - Italian
+
+
+
+
diff --git a/askbot/doc/source/index.rst b/askbot/doc/source/index.rst
index ab903907..a7fb8122 100644
--- a/askbot/doc/source/index.rst
+++ b/askbot/doc/source/index.rst
@@ -21,6 +21,7 @@ at the forum_ or by email at admin@askbot.org
Deploy on a webserver <deployment>
Import data (StackExchange) <import-data>
Appendix A: Maintenance procedures <management-commands>
+ Contributors <contributors>
Some background information: Askbot is written in Python on top of the Django platform.
Code of Askbot grew out of CNPROG project originally written by
diff --git a/askbot/forms.py b/askbot/forms.py
index ff295fff..aa021370 100644
--- a/askbot/forms.py
+++ b/askbot/forms.py
@@ -8,6 +8,7 @@ from django.contrib.auth.models import User
from django.contrib.contenttypes.models import ContentType
from django_countries import countries
from askbot.utils.forms import NextUrlField, UserNameField
+from askbot.utils.mail import extract_first_email_address
from askbot.deps.recaptcha_django import ReCaptchaField
from askbot.conf import settings as askbot_settings
import logging
@@ -548,6 +549,73 @@ class AskForm(forms.Form, FormWithHideableFields):
self.cleaned_data['ask_anonymously'] = False
return self.cleaned_data['ask_anonymously']
+
+class AskByEmailForm(forms.Form):
+ """:class:`~askbot.forms.AskByEmailForm`
+ validates question data, where question was posted
+ by email.
+
+ It is ivoked by the management command
+ :mod:`~askbot.management.commands.post_emailed_questions`
+
+ Input is text data with attributes:
+
+ * :attr:`~askbot.forms.AskByEmailForm.sender` - unparsed "from" data
+ * :attr:`~askbot.forms.AskByEmailForm.subject` - subject line
+ * :attr:`~askbot.forms.AskByEmailForm.body_text` - body text of the email
+
+ Cleaned values are:
+ * ``email`` - email address
+ * ``title`` - question title
+ * ``tagnames`` - tag names all in one string
+ * ``body_text`` - body of question text - a pass-through, no extra validation
+ """
+ sender = forms.CharField(max_length = 255)
+ subject = forms.CharField(max_length = 255)
+ body_text = EditorField()
+
+ def clean_sender(self):
+ """Cleans the :attr:`~askbot.forms.AskByEmail.sender` attribute
+
+ If the field is valid, cleaned data will receive value ``email``
+ """
+ raw_email = self.cleaned_data['sender']
+ email = extract_first_email_address(raw_email)
+ if email is None:
+ raise forms.ValidationError('Could not extract email address')
+ self.cleaned_data['email'] = email
+ return self.cleaned_data['sender']
+
+ def clean_subject(self):
+ """Cleans the :attr:`~askbot.forms.AskByEmail.subject` attribute
+
+ If the field is valid, cleaned data will receive values
+ ``tagnames`` and ``title``
+ """
+ raw_subject = self.cleaned_data['subject'].strip()
+ subject_re = re.compile(r'^\[([^]]+)\](.*)$')
+ match = subject_re.match(raw_subject)
+ if match:
+ #make raw tags comma-separated
+ tagnames = match.group(1).replace(';',',')
+
+ #pre-process tags
+ tag_list = [tag.strip() for tag in tagnames.split(',')]
+ tag_list = [re.sub(r'\s+', ' ', tag) for tag in tag_list]
+ if askbot_settings.REPLACE_SPACE_WITH_DASH_IN_EMAILED_TAGS:
+ tag_list = [tag.replace(' ', '-') for tag in tag_list]
+ tagnames = ' '.join(tag_list)#todo: use tag separator char here
+
+ #clean tags - may raise ValidationError
+ self.cleaned_data['tagnames'] = TagNamesField().clean(tagnames)
+
+ #clean title - may raise ValidationError
+ title = match.group(2).strip()
+ self.cleaned_data['title'] = TitleField().clean(title)
+ else:
+ raise forms.ValidationError('could not parse subject line')
+ return self.cleaned_data['subject']
+
class AnswerForm(forms.Form):
text = EditorField()
wiki = WikiField()
diff --git a/askbot/locale/en/LC_MESSAGES/django.mo b/askbot/locale/en/LC_MESSAGES/django.mo
index 86e60ab4..20542d6e 100644
--- a/askbot/locale/en/LC_MESSAGES/django.mo
+++ b/askbot/locale/en/LC_MESSAGES/django.mo
Binary files differ
diff --git a/askbot/locale/en/LC_MESSAGES/django.po b/askbot/locale/en/LC_MESSAGES/django.po
index 714c0993..5bb75eca 100644
--- a/askbot/locale/en/LC_MESSAGES/django.po
+++ b/askbot/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-23 15:57-0500\n"
+"POT-Creation-Date: 2011-04-10 15:12-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Evgeny Fadeev <evgeny.fadeev@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: exceptions.py:9
+#: exceptions.py:13
msgid "Sorry, but anonymous visitors cannot access this function"
msgstr ""
@@ -28,267 +28,267 @@ msgstr ""
msgid "latest questions"
msgstr ""
-#: forms.py:72
+#: forms.py:73
msgid "select country"
msgstr ""
-#: forms.py:81
+#: forms.py:82
msgid "Country"
msgstr ""
-#: forms.py:89
+#: forms.py:90
msgid "Country field is required"
msgstr ""
-#: forms.py:102 skins/default/templates/blocks/answer_edit_tips.html:43
+#: forms.py:103 skins/default/templates/blocks/answer_edit_tips.html:43
#: skins/default/templates/blocks/answer_edit_tips.html:47
#: skins/default/templates/blocks/question_edit_tips.html:38
#: skins/default/templates/blocks/question_edit_tips.html:43
msgid "title"
msgstr ""
-#: forms.py:103
+#: forms.py:104
msgid "please enter a descriptive title for your question"
msgstr ""
-#: forms.py:108
+#: forms.py:109
msgid "title must be > 10 characters"
msgstr ""
-#: forms.py:117
+#: forms.py:118
msgid "content"
msgstr ""
-#: forms.py:123
+#: forms.py:124
msgid "question content must be > 10 characters"
msgstr ""
-#: forms.py:132 skins/default/templates/blocks/header.html:22
+#: forms.py:133 skins/default/templates/blocks/header.html:22
msgid "tags"
msgstr ""
-#: forms.py:134
+#: forms.py:135
msgid ""
"Tags are short keywords, with no spaces within. Up to five tags can be used."
msgstr ""
-#: forms.py:141 skins/default/templates/question_retag.html:74
+#: forms.py:142 skins/default/templates/question_retag.html:60
msgid "tags are required"
msgstr ""
-#: forms.py:150
+#: forms.py:151
#, python-format
msgid "please use %(tag_count)d tag or less"
msgid_plural "please use %(tag_count)d tags or less"
msgstr[0] ""
msgstr[1] ""
-#: forms.py:159
+#: forms.py:160
#, python-format
msgid "each tag must be shorter than %(max_chars)d character"
msgid_plural "each tag must be shorter than %(max_chars)d characters"
msgstr[0] ""
msgstr[1] ""
-#: forms.py:167
+#: forms.py:168
msgid "use-these-chars-in-tags"
msgstr ""
-#: forms.py:202
+#: forms.py:203
msgid "community wiki (karma is not awarded & many others can edit wiki post)"
msgstr ""
-#: forms.py:203
+#: forms.py:204
msgid ""
"if you choose community wiki option, the question and answer do not generate "
"points and name of author will not be shown"
msgstr ""
-#: forms.py:219
+#: forms.py:220
msgid "update summary:"
msgstr ""
-#: forms.py:220
+#: forms.py:221
msgid ""
"enter a brief summary of your revision (e.g. fixed spelling, grammar, "
"improved style, this field is optional)"
msgstr ""
-#: forms.py:283
+#: forms.py:284
msgid "Enter number of points to add or subtract"
msgstr ""
-#: forms.py:297 const/__init__.py:224
+#: forms.py:298 const/__init__.py:225
msgid "approved"
msgstr ""
-#: forms.py:298 const/__init__.py:225
+#: forms.py:299 const/__init__.py:226
msgid "watched"
msgstr ""
-#: forms.py:299 const/__init__.py:226
+#: forms.py:300 const/__init__.py:227
msgid "suspended"
msgstr ""
-#: forms.py:300 const/__init__.py:227
+#: forms.py:301 const/__init__.py:228
msgid "blocked"
msgstr ""
-#: forms.py:302 const/__init__.py:223
+#: forms.py:303 const/__init__.py:224
msgid "moderator"
msgstr ""
-#: forms.py:322
+#: forms.py:323
msgid "Change status to"
msgstr ""
-#: forms.py:349
+#: forms.py:350
msgid "which one?"
msgstr ""
-#: forms.py:370
+#: forms.py:371
msgid "Cannot change own status"
msgstr ""
-#: forms.py:376
+#: forms.py:377
msgid "Cannot turn other user to moderator"
msgstr ""
-#: forms.py:383
+#: forms.py:384
msgid "Cannot change status of another moderator"
msgstr ""
-#: forms.py:389
+#: forms.py:390
#, python-format
msgid ""
"If you wish to change %(username)s's status, please make a meaningful "
"selection."
msgstr ""
-#: forms.py:398
+#: forms.py:399
msgid "Subject line"
msgstr ""
-#: forms.py:405
+#: forms.py:406
msgid "Message text"
msgstr ""
-#: forms.py:488
+#: forms.py:489
msgid "Your name:"
msgstr ""
-#: forms.py:489
+#: forms.py:490
msgid "Email (not shared with anyone):"
msgstr ""
-#: forms.py:490
+#: forms.py:491
msgid "Your message:"
msgstr ""
-#: forms.py:527
+#: forms.py:528
msgid "ask anonymously"
msgstr ""
-#: forms.py:529
+#: forms.py:530
msgid "Check if you do not want to reveal your name when asking this question"
msgstr ""
-#: forms.py:604
+#: forms.py:672
msgid ""
"You have asked this question anonymously, if you decide to reveal your "
"identity, please check this box."
msgstr ""
-#: forms.py:608
+#: forms.py:676
msgid "reveal identity"
msgstr ""
-#: forms.py:666
+#: forms.py:734
msgid ""
"Sorry, only owner of the anonymous question can reveal his or her identity, "
"please uncheck the box"
msgstr ""
-#: forms.py:679
+#: forms.py:747
msgid ""
"Sorry, apparently rules have just changed - it is no longer possible to ask "
"anonymously. Please either check the \"reveal identity\" box or reload this "
"page and try editing the question again."
msgstr ""
-#: forms.py:717
+#: forms.py:785
msgid "this email will be linked to gravatar"
msgstr ""
-#: forms.py:724
+#: forms.py:792
msgid "Real name"
msgstr ""
-#: forms.py:731
+#: forms.py:799
msgid "Website"
msgstr ""
-#: forms.py:738
+#: forms.py:806
msgid "City"
msgstr ""
-#: forms.py:747
+#: forms.py:815
msgid "Show country"
msgstr ""
-#: forms.py:752
+#: forms.py:820
msgid "Date of birth"
msgstr ""
-#: forms.py:753
+#: forms.py:821
msgid "will not be shown, used to calculate age, format: YYYY-MM-DD"
msgstr ""
-#: forms.py:759
+#: forms.py:827
msgid "Profile"
msgstr ""
-#: forms.py:768
+#: forms.py:836
msgid "Screen name"
msgstr ""
-#: forms.py:799 forms.py:800
+#: forms.py:867 forms.py:868
msgid "this email has already been registered, please use another one"
msgstr ""
-#: forms.py:807
+#: forms.py:875
msgid "Choose email tag filter"
msgstr ""
-#: forms.py:847
+#: forms.py:915
msgid "Asked by me"
msgstr ""
-#: forms.py:850
+#: forms.py:918
msgid "Answered by me"
msgstr ""
-#: forms.py:853
+#: forms.py:921
msgid "Individually selected"
msgstr ""
-#: forms.py:856
+#: forms.py:924
msgid "Entire forum (tag filtered)"
msgstr ""
-#: forms.py:860
+#: forms.py:928
msgid "Comments and posts mentioning me"
msgstr ""
-#: forms.py:930
+#: forms.py:998
msgid "okay, let's try!"
msgstr ""
-#: forms.py:931
+#: forms.py:999
msgid "no community email please, thanks"
msgstr "no askbot email please, thanks"
-#: forms.py:935
+#: forms.py:1003
msgid "please choose one of the options above"
msgstr ""
@@ -312,7 +312,7 @@ msgstr ""
msgid "answers/"
msgstr ""
-#: urls.py:49 urls.py:75 urls.py:181
+#: urls.py:49 urls.py:75 urls.py:186
msgid "edit/"
msgstr ""
@@ -351,7 +351,7 @@ msgid "vote/"
msgstr ""
#: urls.py:132 skins/default/templates/question.html:436
-#: skins/default/templates/main_page/javascript.html:21
+#: skins/default/templates/main_page/javascript.html:18
msgid "question/"
msgstr ""
@@ -359,36 +359,36 @@ msgstr ""
msgid "tags/"
msgstr ""
-#: urls.py:170
+#: urls.py:175
msgid "subscribe-for-tags/"
msgstr ""
-#: urls.py:175 urls.py:181 urls.py:186
-#: skins/default/templates/main_page/javascript.html:22
+#: urls.py:180 urls.py:186 urls.py:191
+#: skins/default/templates/main_page/javascript.html:19
msgid "users/"
msgstr ""
-#: urls.py:191 urls.py:196
+#: urls.py:196 urls.py:201
msgid "badges/"
msgstr ""
-#: urls.py:201
+#: urls.py:206
msgid "messages/"
msgstr ""
-#: urls.py:201
+#: urls.py:206
msgid "markread/"
msgstr ""
-#: urls.py:217
+#: urls.py:222
msgid "upload/"
msgstr ""
-#: urls.py:218
+#: urls.py:223
msgid "feedback/"
msgstr ""
-#: urls.py:219 setup_templates/settings.py:188
+#: urls.py:224 setup_templates/settings.py:201
#: skins/default/templates/authopenid/providers_javascript.html:7
msgid "account/"
msgstr ""
@@ -544,6 +544,32 @@ msgstr ""
msgid "Use this setting to control gravatar for email-less user"
msgstr ""
+#: conf/email.py:92
+#, fuzzy
+msgid "Allow posting questions by email"
+msgstr ""
+"<span class=\"strong big\">You are welcome to start submitting your question "
+"anonymously</span>. When you submit the post, you will be redirected to the "
+"login/signup page. Your question will be saved in the current session and "
+"will be published after you log in. Login/signup process is very simple. "
+"Login takes about 30 seconds, initial signup takes a minute or less."
+
+#: conf/email.py:94
+msgid ""
+"Before enabling this setting - please fill out IMAP settings in the settings."
+"py file"
+msgstr ""
+
+#: conf/email.py:105
+msgid "Replace space in emailed tags with dash"
+msgstr ""
+
+#: conf/email.py:107
+msgid ""
+"This setting applies to tags written in the subject line of questions asked "
+"by email"
+msgstr ""
+
#: conf/external_keys.py:11
msgid "Keys to connect the site with external services like Facebook, etc."
msgstr ""
@@ -1426,151 +1452,151 @@ msgstr ""
msgid "Question has no accepted answers"
msgstr ""
-#: const/__init__.py:112
+#: const/__init__.py:113
msgid "asked a question"
msgstr ""
-#: const/__init__.py:113
+#: const/__init__.py:114
msgid "answered a question"
msgstr ""
-#: const/__init__.py:114
+#: const/__init__.py:115
msgid "commented question"
msgstr ""
-#: const/__init__.py:115
+#: const/__init__.py:116
msgid "commented answer"
msgstr ""
-#: const/__init__.py:116
+#: const/__init__.py:117
msgid "edited question"
msgstr ""
-#: const/__init__.py:117
+#: const/__init__.py:118
msgid "edited answer"
msgstr ""
-#: const/__init__.py:118
+#: const/__init__.py:119
msgid "received award"
msgstr "received badge"
-#: const/__init__.py:119
+#: const/__init__.py:120
msgid "marked best answer"
msgstr ""
-#: const/__init__.py:120
+#: const/__init__.py:121
msgid "upvoted"
msgstr ""
-#: const/__init__.py:121
+#: const/__init__.py:122
msgid "downvoted"
msgstr ""
-#: const/__init__.py:122
+#: const/__init__.py:123
msgid "canceled vote"
msgstr ""
-#: const/__init__.py:123
+#: const/__init__.py:124
msgid "deleted question"
msgstr ""
-#: const/__init__.py:124
+#: const/__init__.py:125
msgid "deleted answer"
msgstr ""
-#: const/__init__.py:125
+#: const/__init__.py:126
msgid "marked offensive"
msgstr ""
-#: const/__init__.py:126
+#: const/__init__.py:127
msgid "updated tags"
msgstr ""
-#: const/__init__.py:127
+#: const/__init__.py:128
msgid "selected favorite"
msgstr ""
-#: const/__init__.py:128
+#: const/__init__.py:129
msgid "completed user profile"
msgstr ""
-#: const/__init__.py:129
+#: const/__init__.py:130
msgid "email update sent to user"
msgstr ""
-#: const/__init__.py:130
+#: const/__init__.py:131
msgid "mentioned in the post"
msgstr ""
-#: const/__init__.py:181
+#: const/__init__.py:182
msgid "question_answered"
msgstr "answered question"
-#: const/__init__.py:182
+#: const/__init__.py:183
msgid "question_commented"
msgstr "commented question"
-#: const/__init__.py:183
+#: const/__init__.py:184
msgid "answer_commented"
msgstr ""
-#: const/__init__.py:184
+#: const/__init__.py:185
msgid "answer_accepted"
msgstr ""
-#: const/__init__.py:188
+#: const/__init__.py:189
msgid "[closed]"
msgstr ""
-#: const/__init__.py:189
+#: const/__init__.py:190
msgid "[deleted]"
msgstr ""
-#: const/__init__.py:190 views/readers.py:578
+#: const/__init__.py:191 views/readers.py:561
msgid "initial version"
msgstr ""
-#: const/__init__.py:191
+#: const/__init__.py:192
msgid "retagged"
msgstr ""
-#: const/__init__.py:199
+#: const/__init__.py:200
msgid "off"
msgstr ""
-#: const/__init__.py:200
+#: const/__init__.py:201
msgid "exclude ignored"
msgstr ""
-#: const/__init__.py:201
+#: const/__init__.py:202
msgid "only selected"
msgstr ""
-#: const/__init__.py:205
+#: const/__init__.py:206
msgid "instantly"
msgstr ""
-#: const/__init__.py:206
+#: const/__init__.py:207
msgid "daily"
msgstr ""
-#: const/__init__.py:207
+#: const/__init__.py:208
msgid "weekly"
msgstr ""
-#: const/__init__.py:208
+#: const/__init__.py:209
msgid "no email"
msgstr ""
-#: const/__init__.py:245 skins/default/templates/badges.html:37
+#: const/__init__.py:246 skins/default/templates/badges.html:37
msgid "gold"
msgstr ""
-#: const/__init__.py:246 skins/default/templates/badges.html:46
+#: const/__init__.py:247 skins/default/templates/badges.html:46
msgid "silver"
msgstr ""
-#: const/__init__.py:247 skins/default/templates/badges.html:53
+#: const/__init__.py:248 skins/default/templates/badges.html:53
msgid "bronze"
msgstr ""
@@ -1693,7 +1719,7 @@ msgstr "sorry, there is no such user name"
#: deps/django_authopenid/urls.py:9 deps/django_authopenid/urls.py:10
#: deps/django_authopenid/urls.py:11 deps/django_authopenid/urls.py:14
-#: deps/django_authopenid/urls.py:17 setup_templates/settings.py:188
+#: deps/django_authopenid/urls.py:17 setup_templates/settings.py:201
msgid "signin/"
msgstr ""
@@ -1862,33 +1888,33 @@ msgstr ""
msgid "Sorry, this account recovery key has expired or is invalid"
msgstr ""
-#: deps/django_authopenid/views.py:574
+#: deps/django_authopenid/views.py:572
#, python-format
msgid "Login method %(provider_name)s does not exist"
msgstr ""
-#: deps/django_authopenid/views.py:580
+#: deps/django_authopenid/views.py:578
msgid "Oops, sorry - there was some error - please try again"
msgstr ""
-#: deps/django_authopenid/views.py:671
+#: deps/django_authopenid/views.py:669
#, python-format
msgid "Your %(provider)s login works fine"
msgstr ""
-#: deps/django_authopenid/views.py:978 deps/django_authopenid/views.py:984
+#: deps/django_authopenid/views.py:976 deps/django_authopenid/views.py:982
#, python-format
msgid "your email needs to be validated see %(details_url)s"
msgstr ""
"Your email needs to be validated. Please see details <a "
"id='validate_email_alert' href='%(details_url)s'>here</a>."
-#: deps/django_authopenid/views.py:1005
+#: deps/django_authopenid/views.py:1003
#, python-format
msgid "Recover your %(site)s account"
msgstr ""
-#: deps/django_authopenid/views.py:1070
+#: deps/django_authopenid/views.py:1069
msgid "Please check your email and visit the enclosed link."
msgstr ""
@@ -2025,6 +2051,37 @@ msgstr ""
msgid "Congratulations, you are now an Administrator"
msgstr ""
+#: management/commands/post_emailed_questions.py:34
+msgid ""
+"<p>To ask by email, please:</p>\n"
+"<ul>\n"
+" <li>Format the subject line as: [Tag1; Tag2] Question title</li>\n"
+" <li>Type details of your question into the email body</li>\n"
+"</ul>\n"
+"<p>Note that tags may consist of more than one word, and tags\n"
+"may be separated by a semicolon or a comma</p>\n"
+msgstr ""
+
+#: management/commands/post_emailed_questions.py:54
+#, python-format
+msgid ""
+"<p>Sorry, there was an error posting your question please contact the %(site)"
+"s administrator</p>"
+msgstr ""
+
+#: management/commands/post_emailed_questions.py:60
+#, python-format
+msgid ""
+"<p>Sorry, in order to post questions on %(site)s by email, please <a href=\"%"
+"(url)s\">register first</a></p>"
+msgstr ""
+
+#: management/commands/post_emailed_questions.py:68
+msgid ""
+"<p>Sorry, your question could not be posted due to insufficient privileges "
+"of your user account</p>"
+msgstr ""
+
#: management/commands/send_email_alerts.py:103
#, python-format
msgid "\" and \"%s\""
@@ -2155,14 +2212,14 @@ msgid ""
"uploading images is limited to users with >%(min_rep)s reputation points"
msgstr "sorry, file uploading requires karma >%(min_rep)s"
-#: models/__init__.py:401 models/__init__.py:468 models/__init__.py:2320
+#: models/__init__.py:401 models/__init__.py:468 models/__init__.py:2344
msgid "blocked users cannot post"
msgstr ""
"Sorry, your account appears to be blocked and you cannot make new posts "
"until this issue is resolved. Please contact the forum administrator to "
"reach a resolution."
-#: models/__init__.py:402 models/__init__.py:2323
+#: models/__init__.py:402 models/__init__.py:2347
msgid "suspended users cannot post"
msgstr ""
"Sorry, your account appears to be suspended and you cannot make new posts "
@@ -2358,93 +2415,93 @@ msgstr ""
msgid "cannot revoke old vote"
msgstr "sorry, but older votes cannot be revoked"
-#: models/__init__.py:1354
+#: models/__init__.py:1370
msgid "Anonymous"
msgstr ""
-#: models/__init__.py:1440 views/users.py:362
+#: models/__init__.py:1456 views/users.py:362
msgid "Site Adminstrator"
msgstr ""
-#: models/__init__.py:1442 views/users.py:364
+#: models/__init__.py:1458 views/users.py:364
msgid "Forum Moderator"
msgstr ""
-#: models/__init__.py:1444 views/users.py:366
+#: models/__init__.py:1460 views/users.py:366
msgid "Suspended User"
msgstr ""
-#: models/__init__.py:1446 views/users.py:368
+#: models/__init__.py:1462 views/users.py:368
msgid "Blocked User"
msgstr ""
-#: models/__init__.py:1448 views/users.py:370
+#: models/__init__.py:1464 views/users.py:370
msgid "Registered User"
msgstr ""
-#: models/__init__.py:1450
+#: models/__init__.py:1466
msgid "Watched User"
msgstr ""
-#: models/__init__.py:1452
+#: models/__init__.py:1468
msgid "Approved User"
msgstr ""
-#: models/__init__.py:1508
+#: models/__init__.py:1524
#, python-format
msgid "%(username)s karma is %(reputation)s"
msgstr ""
-#: models/__init__.py:1518
+#: models/__init__.py:1534
#, python-format
msgid "one gold badge"
msgid_plural "%(count)d gold badges"
msgstr[0] ""
msgstr[1] ""
-#: models/__init__.py:1525
+#: models/__init__.py:1541
#, python-format
msgid "one silver badge"
msgid_plural "%(count)d silver badges"
msgstr[0] ""
msgstr[1] ""
-#: models/__init__.py:1532
+#: models/__init__.py:1548
#, python-format
msgid "one bronze badge"
msgid_plural "%(count)d bronze badges"
msgstr[0] ""
msgstr[1] ""
-#: models/__init__.py:1543
+#: models/__init__.py:1559
#, python-format
msgid "%(item1)s and %(item2)s"
msgstr ""
-#: models/__init__.py:1547
+#: models/__init__.py:1563
#, python-format
msgid "%(user)s has %(badges)s"
msgstr ""
-#: models/__init__.py:1920 models/__init__.py:1926 models/__init__.py:1931
-#: models/__init__.py:1936
+#: models/__init__.py:1936 models/__init__.py:1942 models/__init__.py:1947
+#: models/__init__.py:1952
#, python-format
msgid "Re: \"%(title)s\""
msgstr ""
-#: models/__init__.py:1941 models/__init__.py:1946
+#: models/__init__.py:1957 models/__init__.py:1962
#, python-format
msgid "Question: \"%(title)s\""
msgstr ""
-#: models/__init__.py:2116
+#: models/__init__.py:2140
#, python-format
msgid ""
"Congratulations, you have received a badge '%(badge_name)s'. Check out <a "
"href=\"%(user_profile)s\">your profile</a>."
msgstr ""
-#: models/__init__.py:2295 views/commands.py:396
+#: models/__init__.py:2319 views/commands.py:409
msgid "Your tag subscription was saved, thanks!"
msgstr ""
@@ -2780,11 +2837,11 @@ msgid ""
"question %(question_title)s"
msgstr ""
-#: models/tag.py:105
+#: models/tag.py:138
msgid "interesting"
msgstr ""
-#: models/tag.py:105
+#: models/tag.py:138
msgid "ignored"
msgstr ""
@@ -2949,8 +3006,8 @@ msgstr ""
#: skins/default/templates/answer_edit.html:65
#: skins/default/templates/ask.html:43 skins/default/templates/ask.html:46
#: skins/default/templates/macros.html:592
+#: skins/default/templates/question.html:474
#: skins/default/templates/question.html:477
-#: skins/default/templates/question.html:480
#: skins/default/templates/question_edit.html:62
#: skins/default/templates/question_edit.html:65
msgid "hide preview"
@@ -2958,12 +3015,12 @@ msgstr ""
#: skins/default/templates/answer_edit.html:65
#: skins/default/templates/ask.html:46
-#: skins/default/templates/question.html:480
+#: skins/default/templates/question.html:477
#: skins/default/templates/question_edit.html:65
msgid "show preview"
msgstr ""
-#: skins/default/templates/ask.html:3
+#: skins/default/templates/ask.html:4
msgid "Ask a question"
msgstr ""
@@ -3524,19 +3581,19 @@ msgstr ""
msgid "see questions tagged '%(tag)s'"
msgstr ""
-#: skins/default/templates/macros.html:352 views/readers.py:231
+#: skins/default/templates/macros.html:352 views/readers.py:219
msgid "vote"
msgid_plural "votes"
msgstr[0] ""
msgstr[1] ""
-#: skins/default/templates/macros.html:369 views/readers.py:234
+#: skins/default/templates/macros.html:369 views/readers.py:222
msgid "answer"
msgid_plural "answers"
msgstr[0] ""
msgstr[1] ""
-#: skins/default/templates/macros.html:380 views/readers.py:237
+#: skins/default/templates/macros.html:380 views/readers.py:225
msgid "view"
msgid_plural "views"
msgstr[0] ""
@@ -3906,7 +3963,7 @@ msgstr ""
msgid "tag editors receive special awards from the community"
msgstr ""
-#: skins/default/templates/question_retag.html:75
+#: skins/default/templates/question_retag.html:61
msgid "up to 5 tags, less than 20 characters each"
msgstr ""
@@ -4789,14 +4846,14 @@ msgstr ""
msgid "rss feed"
msgstr ""
-#: skins/default/templates/main_page/headline.html:12 views/readers.py:131
+#: skins/default/templates/main_page/headline.html:12 views/readers.py:119
#, fuzzy, python-format
msgid "%(q_num)s question, tagged"
msgid_plural "%(q_num)s questions, tagged"
msgstr[0] "Asked"
msgstr[1] "Asked"
-#: skins/default/templates/main_page/headline.html:14 views/readers.py:139
+#: skins/default/templates/main_page/headline.html:14 views/readers.py:127
#, python-format
msgid "%(q_num)s question"
msgid_plural "%(q_num)s questions"
@@ -4844,20 +4901,20 @@ msgstr ""
msgid "add tags and a query to focus your search"
msgstr ""
-#: skins/default/templates/main_page/javascript.html:16
-#: skins/default/templates/main_page/javascript.html:17
+#: skins/default/templates/main_page/javascript.html:13
+#: skins/default/templates/main_page/javascript.html:14
msgid "mark-tag/"
msgstr ""
-#: skins/default/templates/main_page/javascript.html:16
+#: skins/default/templates/main_page/javascript.html:13
msgid "interesting/"
msgstr ""
-#: skins/default/templates/main_page/javascript.html:17
+#: skins/default/templates/main_page/javascript.html:14
msgid "ignored/"
msgstr ""
-#: skins/default/templates/main_page/javascript.html:18
+#: skins/default/templates/main_page/javascript.html:15
msgid "unmark-tag/"
msgstr ""
@@ -5427,12 +5484,12 @@ msgstr ""
msgid "email update frequency has been set to daily"
msgstr ""
-#: views/commands.py:400
+#: views/commands.py:413
#, python-format
msgid "Tag subscription was canceled (<a href=\"%(url)s\">undo</a>)."
msgstr ""
-#: views/commands.py:409
+#: views/commands.py:422
#, python-format
msgid "Please sign in to subscribe for: %(tags)s"
msgstr ""
@@ -5449,14 +5506,14 @@ msgstr ""
msgid "We look forward to hearing your feedback! Please, give it next time :)"
msgstr ""
-#: views/readers.py:177
+#: views/readers.py:165
#, python-format
msgid "%(badge_count)d %(badge_level)s badge"
msgid_plural "%(badge_count)d %(badge_level)s badges"
msgstr[0] ""
msgstr[1] ""
-#: views/readers.py:403
+#: views/readers.py:388
msgid ""
"Sorry, the comment you are looking for has been deleted and is no longer "
"accessible"
@@ -5518,43 +5575,43 @@ msgstr ""
msgid "profile - email subscriptions"
msgstr ""
-#: views/writers.py:57
+#: views/writers.py:56
msgid "Sorry, anonymous users cannot upload files"
msgstr ""
-#: views/writers.py:67
+#: views/writers.py:66
#, python-format
msgid "allowed file types are '%(file_types)s'"
msgstr ""
-#: views/writers.py:90
+#: views/writers.py:89
#, python-format
msgid "maximum upload file size is %(file_size)sK"
msgstr ""
-#: views/writers.py:98
+#: views/writers.py:97
msgid "Error uploading file. Please contact the site administrator. Thank you."
msgstr ""
-#: views/writers.py:560
+#: views/writers.py:555
#, python-format
msgid ""
"Sorry, you appear to be logged out and cannot post comments. Please <a href="
"\"%(sign_in_url)s\">sign in</a>."
msgstr ""
-#: views/writers.py:605
+#: views/writers.py:600
msgid "Sorry, anonymous users cannot edit comments"
msgstr ""
-#: views/writers.py:613
+#: views/writers.py:608
#, python-format
msgid ""
"Sorry, you appear to be logged out and cannot delete comments. Please <a "
"href=\"%(sign_in_url)s\">sign in</a>."
msgstr ""
-#: views/writers.py:634
+#: views/writers.py:629
msgid "sorry, we seem to have some technical difficulties"
msgstr ""
diff --git a/askbot/locale/ro/LC_MESSAGES/django.mo b/askbot/locale/ro/LC_MESSAGES/django.mo
new file mode 100644
index 00000000..1f9109d8
--- /dev/null
+++ b/askbot/locale/ro/LC_MESSAGES/django.mo
Binary files differ
diff --git a/askbot/locale/ro/LC_MESSAGES/django.po b/askbot/locale/ro/LC_MESSAGES/django.po
new file mode 100644
index 00000000..abd8f70f
--- /dev/null
+++ b/askbot/locale/ro/LC_MESSAGES/django.po
@@ -0,0 +1,5727 @@
+# Romanian translation for ubuntu-ro
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the ubuntu-ro package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ubuntu-ro\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-03-23 15:57-0500\n"
+"PO-Revision-Date: 2011-04-10 19:43+0000\n"
+"Last-Translator: Adi Roiban <adi@roiban.ro>\n"
+"Language-Team: Romanian <ro@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
+"== 0) && (n != 0))) ? 2: 1));\n"
+"X-Launchpad-Export-Date: 2011-04-10 19:44+0000\n"
+"X-Generator: Launchpad (build 12757)\n"
+
+#: exceptions.py:9
+msgid "Sorry, but anonymous visitors cannot access this function"
+msgstr "Vizitatorii anonimi nu pot accesa această funcție"
+
+#: feed.py:22
+msgid " - "
+msgstr " - "
+
+#: feed.py:22
+msgid "latest questions"
+msgstr "ultimele întrebări"
+
+#: forms.py:72
+msgid "select country"
+msgstr "alegeți o țară"
+
+#: forms.py:81
+msgid "Country"
+msgstr "Țară"
+
+#: forms.py:89
+msgid "Country field is required"
+msgstr "Câmpul cu țara este obligatoriu"
+
+#: forms.py:102 skins/default/templates/blocks/answer_edit_tips.html:43
+#: skins/default/templates/blocks/answer_edit_tips.html:47
+#: skins/default/templates/blocks/question_edit_tips.html:38
+#: skins/default/templates/blocks/question_edit_tips.html:43
+msgid "title"
+msgstr "titlu"
+
+#: forms.py:103
+msgid "please enter a descriptive title for your question"
+msgstr "introduceți un titlu descriptiv pentru întrebare"
+
+#: forms.py:108
+msgid "title must be > 10 characters"
+msgstr "titlul trebuie să fie mai lung decât 10 caractere"
+
+#: forms.py:117
+msgid "content"
+msgstr "conținut"
+
+#: forms.py:123
+msgid "question content must be > 10 characters"
+msgstr "conținutul întrebării trebuie să fie mai lung decât 10 caractere"
+
+#: forms.py:132 skins/default/templates/blocks/header.html:22
+msgid "tags"
+msgstr "etichete"
+
+#: forms.py:134
+msgid ""
+"Tags are short keywords, with no spaces within. Up to five tags can be used."
+msgstr ""
+"Etichetele sunt cuvinte cheie scurte, fără spații. Pot fi folosite până la "
+"cinci etichete."
+
+#: forms.py:141 skins/default/templates/question_retag.html:74
+msgid "tags are required"
+msgstr "etichetele sunt obligatorii"
+
+#: forms.py:150
+#, python-format
+msgid "please use %(tag_count)d tag or less"
+msgid_plural "please use %(tag_count)d tags or less"
+msgstr[0] "vă rugăm să folosiți %(tag_count)d etichetă sau mai puțin"
+msgstr[1] "vă rugăm să folosiți %(tag_count)d etichete sau mai puțin"
+msgstr[2] "vă rugăm să folosiți %(tag_count)d de etichete sau mai puțin"
+
+#: forms.py:159
+#, python-format
+msgid "each tag must be shorter than %(max_chars)d character"
+msgid_plural "each tag must be shorter than %(max_chars)d characters"
+msgstr[0] ""
+"fiecare etichetă trebuie să fie mai scurtă de %(max_chars)d caracter"
+msgstr[1] ""
+"fiecare etichetă trebuie să fie mai scurtă de %(max_chars)d caractere"
+msgstr[2] ""
+"fiecare etichetă trebuie să fie mai scurtă de %(max_chars)d de caractere"
+
+#: forms.py:167
+msgid "use-these-chars-in-tags"
+msgstr "folositi-aceste-caractere-in-etichete"
+
+#: forms.py:202
+msgid ""
+"community wiki (karma is not awarded & many others can edit wiki post)"
+msgstr ""
+"wiki al comunității (nu se primesc puncte de reputație și mesajul poate fi "
+"modificat de mai multe persoane)"
+
+#: forms.py:203
+msgid ""
+"if you choose community wiki option, the question and answer do not generate "
+"points and name of author will not be shown"
+msgstr ""
+"dacă alegeți opțiunea wiki al comunității, întrebarea și răspunsul nu vor "
+"genera puncte iar numele autorului nu va fi afișat"
+
+#: forms.py:219
+msgid "update summary:"
+msgstr "sumar actualizare:"
+
+#: forms.py:220
+msgid ""
+"enter a brief summary of your revision (e.g. fixed spelling, grammar, "
+"improved style, this field is optional)"
+msgstr ""
+"introduceți o descriere scurtă a reviziei (de ex. corectare ortografică, "
+"gramaticală, stil îmbunătățit, câmp opțional)"
+
+#: forms.py:283
+msgid "Enter number of points to add or subtract"
+msgstr "Introduceți numărul de puncte pentru a fi adăugate sau retrase"
+
+#: forms.py:297 const/__init__.py:224
+msgid "approved"
+msgstr "aprobat"
+
+#: forms.py:298 const/__init__.py:225
+msgid "watched"
+msgstr "urmărit"
+
+#: forms.py:299 const/__init__.py:226
+msgid "suspended"
+msgstr "suspendat"
+
+#: forms.py:300 const/__init__.py:227
+msgid "blocked"
+msgstr "blocat"
+
+#: forms.py:302 const/__init__.py:223
+msgid "moderator"
+msgstr "moderator"
+
+#: forms.py:322
+msgid "Change status to"
+msgstr "Schimbă starea în"
+
+#: forms.py:349
+msgid "which one?"
+msgstr "care?"
+
+#: forms.py:370
+msgid "Cannot change own status"
+msgstr "Nu se poate schimba propria stare"
+
+#: forms.py:376
+msgid "Cannot turn other user to moderator"
+msgstr "Nu s-a putut schimba alt utilizator în moderator"
+
+#: forms.py:383
+msgid "Cannot change status of another moderator"
+msgstr "Nu se poate schimba starea altui utilizator"
+
+#: forms.py:389
+#, python-format
+msgid ""
+"If you wish to change %(username)s's status, please make a meaningful "
+"selection."
+msgstr ""
+"Dacă doriți să modificați statusul %(username)s alegeți ceva expresiv."
+
+#: forms.py:398
+msgid "Subject line"
+msgstr "Linie subiect"
+
+#: forms.py:405
+msgid "Message text"
+msgstr "Text mesaj"
+
+#: forms.py:488
+msgid "Your name:"
+msgstr "Nume:"
+
+#: forms.py:489
+msgid "Email (not shared with anyone):"
+msgstr "Email (nu este dezvăluit altor părți):"
+
+#: forms.py:490
+msgid "Your message:"
+msgstr "Mesaj:"
+
+#: forms.py:527
+msgid "ask anonymously"
+msgstr "întreabă anonim"
+
+#: forms.py:529
+msgid ""
+"Check if you do not want to reveal your name when asking this question"
+msgstr ""
+"Bifați în cazul în care nu doriți să dezvăluiți numele vostru când puneți "
+"această întrebare"
+
+#: forms.py:604
+msgid ""
+"You have asked this question anonymously, if you decide to reveal your "
+"identity, please check this box."
+msgstr ""
+"Ați răspuns la această întrebare anonim, dacă decideți să vă arătați "
+"identitatea, marcați această căsuță."
+
+#: forms.py:608
+msgid "reveal identity"
+msgstr "arată identitatea"
+
+#: forms.py:666
+msgid ""
+"Sorry, only owner of the anonymous question can reveal his or her identity, "
+"please uncheck the box"
+msgstr ""
+"Doar cel care a pus întrebarea anonimă poate dezvălui identitatea, debifați "
+"căsuța"
+
+#: forms.py:679
+msgid ""
+"Sorry, apparently rules have just changed - it is no longer possible to ask "
+"anonymously. Please either check the \"reveal identity\" box or reload this "
+"page and try editing the question again."
+msgstr ""
+"Aparent, regulile au fost schimbate - nu mai puteți întreba ca anonim. Vă "
+"rugăm să marcați căsuța „arată identitatea” sau să reîncărcați pagina pentru "
+"a încerca din nou să introduceți întrebarea."
+
+#: forms.py:717
+msgid "this email will be linked to gravatar"
+msgstr "această adresă de email va fi conectată cu gravatarul"
+
+#: forms.py:724
+msgid "Real name"
+msgstr "Nume real"
+
+#: forms.py:731
+msgid "Website"
+msgstr "Pagină web"
+
+#: forms.py:738
+msgid "City"
+msgstr "Oraș"
+
+#: forms.py:747
+msgid "Show country"
+msgstr "Arată țara"
+
+#: forms.py:752
+msgid "Date of birth"
+msgstr "Data nașterii"
+
+#: forms.py:753
+msgid "will not be shown, used to calculate age, format: YYYY-MM-DD"
+msgstr ""
+"nu va fi afișată, ci folosită doar pentru calcularea vârstei, format AAAA-LL-"
+"ZZ"
+
+#: forms.py:759
+msgid "Profile"
+msgstr "Profil"
+
+#: forms.py:768
+msgid "Screen name"
+msgstr "Nume afișat"
+
+#: forms.py:799 forms.py:800
+msgid "this email has already been registered, please use another one"
+msgstr "acest email este deja înregistrat, utilizați altul"
+
+#: forms.py:807
+msgid "Choose email tag filter"
+msgstr "Alegeți filtru email etichete"
+
+#: forms.py:847
+msgid "Asked by me"
+msgstr "Întrebate de mine"
+
+#: forms.py:850
+msgid "Answered by me"
+msgstr "Răspunse de mine"
+
+#: forms.py:853
+msgid "Individually selected"
+msgstr "Alese individual"
+
+#: forms.py:856
+msgid "Entire forum (tag filtered)"
+msgstr "Toate întrebările (filtrate pe tag)"
+
+#: forms.py:860
+msgid "Comments and posts mentioning me"
+msgstr "Comentarii și răspunsuri în care sunt menționat eu"
+
+#: forms.py:930
+msgid "okay, let's try!"
+msgstr "Bine, să încercăm!"
+
+#: forms.py:931
+msgid "no community email please, thanks"
+msgstr "fără emailuri de la comunitate, mulțumesc"
+
+#: forms.py:935
+msgid "please choose one of the options above"
+msgstr "alegeți una dintre opțiunile de mai sus"
+
+#: urls.py:44
+msgid "about/"
+msgstr "despre/"
+
+#: urls.py:45 conf/site_settings.py:79
+msgid "faq/"
+msgstr "intrebari-frecvente/"
+
+#: urls.py:46
+msgid "privacy/"
+msgstr "confidentialitate/"
+
+#: urls.py:47
+msgid "logout/"
+msgstr "logout/"
+
+#: urls.py:49 urls.py:54
+msgid "answers/"
+msgstr "raspunsuri/"
+
+#: urls.py:49 urls.py:75 urls.py:181
+msgid "edit/"
+msgstr "edit/"
+
+#: urls.py:54 urls.py:105
+msgid "revisions/"
+msgstr "revizii/"
+
+#: urls.py:60 urls.py:70 urls.py:75 urls.py:80 urls.py:85 urls.py:90
+#: urls.py:95 urls.py:100 urls.py:105
+#: skins/default/templates/question.html:438
+msgid "questions/"
+msgstr "intrebari/"
+
+#: urls.py:70
+msgid "ask/"
+msgstr "intreaba/"
+
+#: urls.py:80
+msgid "retag/"
+msgstr "retag/"
+
+#: urls.py:85
+msgid "close/"
+msgstr "inchide/"
+
+#: urls.py:90
+msgid "reopen/"
+msgstr "redeschide/"
+
+#: urls.py:95
+msgid "answer/"
+msgstr "raspuns/"
+
+#: urls.py:100 skins/default/templates/question.html:438
+msgid "vote/"
+msgstr "vot/"
+
+#: urls.py:132 skins/default/templates/question.html:436
+#: skins/default/templates/main_page/javascript.html:21
+msgid "question/"
+msgstr "intrebare/"
+
+#: urls.py:137
+msgid "tags/"
+msgstr "etichete/"
+
+#: urls.py:170
+msgid "subscribe-for-tags/"
+msgstr "abonare-etichete/"
+
+#: urls.py:175 urls.py:181 urls.py:186
+#: skins/default/templates/main_page/javascript.html:22
+msgid "users/"
+msgstr "utilizatori/"
+
+#: urls.py:191 urls.py:196
+msgid "badges/"
+msgstr "insigne/"
+
+#: urls.py:201
+msgid "messages/"
+msgstr "mesaje/"
+
+#: urls.py:201
+msgid "markread/"
+msgstr "macheaza-citit/"
+
+#: urls.py:217
+msgid "upload/"
+msgstr "incarca/"
+
+#: urls.py:218
+msgid "feedback/"
+msgstr "sugestii/"
+
+#: urls.py:219 setup_templates/settings.py:188
+#: skins/default/templates/authopenid/providers_javascript.html:7
+msgid "account/"
+msgstr "cont/"
+
+#: conf/badges.py:12
+msgid "Badge settings"
+msgstr "Configurări insigne"
+
+#: conf/badges.py:21
+msgid "Disciplined: minimum upvotes for deleted post"
+msgstr ""
+
+#: conf/badges.py:30
+msgid "Peer Pressure: minimum downvotes for deleted post"
+msgstr ""
+
+#: conf/badges.py:39
+msgid "Teacher: minimum upvotes for the answer"
+msgstr ""
+
+#: conf/badges.py:48
+msgid "Nice Answer: minimum upvotes for the answer"
+msgstr ""
+
+#: conf/badges.py:57
+msgid "Good Answer: minimum upvotes for the answer"
+msgstr ""
+
+#: conf/badges.py:66
+msgid "Great Answer: minimum upvotes for the answer"
+msgstr ""
+
+#: conf/badges.py:75
+msgid "Nice Question: minimum upvotes for the question"
+msgstr ""
+
+#: conf/badges.py:84
+msgid "Good Question: minimum upvotes for the question"
+msgstr ""
+
+#: conf/badges.py:93
+msgid "Great Question: minimum upvotes for the question"
+msgstr ""
+
+#: conf/badges.py:102
+msgid "Popular Question: minimum views"
+msgstr ""
+
+#: conf/badges.py:111
+msgid "Notable Question: minimum views"
+msgstr ""
+
+#: conf/badges.py:120
+msgid "Famous Question: minimum views"
+msgstr ""
+
+#: conf/badges.py:129
+msgid "Self-Learner: minimum answer upvotes"
+msgstr ""
+
+#: conf/badges.py:138
+msgid "Civic Duty: minimum votes"
+msgstr ""
+
+#: conf/badges.py:147
+msgid "Enlightened Duty: minimum upvotes"
+msgstr ""
+
+#: conf/badges.py:156
+msgid "Guru: minimum upvotes"
+msgstr ""
+
+#: conf/badges.py:165
+msgid "Necromancer: minimum upvotes"
+msgstr ""
+
+#: conf/badges.py:174
+msgid "Necromancer: minimum delay in days"
+msgstr ""
+
+#: conf/badges.py:183
+msgid "Associate Editor: minimum number of edits"
+msgstr ""
+
+#: conf/badges.py:192
+msgid "Favorite Question: minimum stars"
+msgstr ""
+
+#: conf/badges.py:201
+msgid "Stellar Question: minimum stars"
+msgstr ""
+
+#: conf/badges.py:210
+msgid "Commentator: minimum comments"
+msgstr ""
+
+#: conf/badges.py:219
+msgid "Taxonomist: minimum tag use count"
+msgstr ""
+
+#: conf/badges.py:228
+msgid "Enthusiast: minimum days"
+msgstr ""
+
+#: conf/email.py:14
+msgid "Email and email alert settings"
+msgstr "Configurări email și alerte"
+
+#: conf/email.py:22
+msgid "Prefix for the email subject line"
+msgstr "Prefixul liniei de subiect din email"
+
+#: conf/email.py:24
+msgid ""
+"This setting takes default from the django settingEMAIL_SUBJECT_PREFIX. A "
+"value entered here will overridethe default."
+msgstr ""
+
+#: conf/email.py:36
+msgid "Maximum number of news entries in an email alert"
+msgstr "Număr maxim de intrări întrun email de alerte"
+
+#: conf/email.py:46
+msgid "Default news notification frequency"
+msgstr "Frecvența implicită a notificărilor de noutăți"
+
+#: conf/email.py:48
+msgid ""
+"This option currently defines default frequency of emailed updates in the "
+"following five categories: questions asked by user, answered by user, "
+"individually selected, entire forum (per person tag filter applies) and "
+"posts mentioning the user and comment responses"
+msgstr ""
+
+#: conf/email.py:63
+msgid "Require email verification before allowing to post"
+msgstr ""
+
+#: conf/email.py:64
+msgid ""
+"Active email verification is done by sending a verification key in email"
+msgstr ""
+
+#: conf/email.py:73
+msgid "Allow only one account per email address"
+msgstr ""
+
+#: conf/email.py:82
+msgid "Fake email for anonymous user"
+msgstr ""
+
+#: conf/email.py:83
+msgid "Use this setting to control gravatar for email-less user"
+msgstr ""
+
+#: conf/external_keys.py:11
+msgid "Keys to connect the site with external services like Facebook, etc."
+msgstr ""
+
+#: conf/external_keys.py:18
+msgid "Google site verification key"
+msgstr ""
+
+#: conf/external_keys.py:20
+#, python-format
+msgid ""
+"This key helps google index your site please obtain is at <a "
+"href=\"%(google_webmasters_tools_url)s\">google webmasters tools site</a>"
+msgstr ""
+
+#: conf/external_keys.py:34
+msgid "Google Analytics key"
+msgstr ""
+
+#: conf/external_keys.py:36
+#, python-format
+msgid ""
+"Obtain is at <a href=\"%(ga_site)s\">Google Analytics</a> site, if you wish "
+"to use Google Analytics to monitor your site"
+msgstr ""
+
+#: conf/external_keys.py:49
+msgid "Enable recaptcha (keys below are required)"
+msgstr ""
+
+#: conf/external_keys.py:58
+msgid "Recaptcha public key"
+msgstr ""
+
+#: conf/external_keys.py:66
+msgid "Recaptcha private key"
+msgstr ""
+
+#: conf/external_keys.py:68
+msgid ""
+"Recaptcha is a tool that helps distinguish real people from annoying spam "
+"robots. Please get this and a public key at the <a "
+"href=\"http://recaptcha.net\">recaptcha.net</a>"
+msgstr ""
+
+#: conf/external_keys.py:80
+msgid "Facebook public API key"
+msgstr ""
+
+#: conf/external_keys.py:82
+msgid ""
+"Facebook API key and Facebook secret allow to use Facebook Connect login "
+"method at your site. Please obtain these keys at <a "
+"href=\"http://www.facebook.com/developers/createapp.php\">facebook create "
+"app</a> site"
+msgstr ""
+
+#: conf/external_keys.py:95
+msgid "Facebook secret key"
+msgstr ""
+
+#: conf/external_keys.py:103
+msgid "Twitter consumer key"
+msgstr ""
+
+#: conf/external_keys.py:105 conf/external_keys.py:126
+msgid ""
+"Please register your forum at <a "
+"href=\"http://dev.twitter.com/apps/\">twitter applications site</a>"
+msgstr ""
+
+#: conf/external_keys.py:116
+msgid "Twitter consumer secret"
+msgstr ""
+
+#: conf/external_keys.py:124
+msgid "LinkedIn consumer key"
+msgstr ""
+
+#: conf/external_keys.py:137
+msgid "LinkedIn consumer secret"
+msgstr ""
+
+#: conf/external_keys.py:145
+msgid "Use LDAP authentication for the password login"
+msgstr ""
+
+#: conf/external_keys.py:154
+msgid "LDAP service provider name"
+msgstr ""
+
+#: conf/external_keys.py:162
+msgid "URL for the LDAP service"
+msgstr ""
+
+#: conf/external_keys.py:170
+msgid "Explain how to change LDAP password"
+msgstr ""
+
+#: conf/flatpages.py:10
+msgid "Flatpages - about, privacy policy, etc."
+msgstr "Pagini statice - despre, confidențialiate, etc"
+
+#: conf/flatpages.py:17
+msgid "Text of the Q&A forum About page (html format)"
+msgstr ""
+
+#: conf/flatpages.py:20
+msgid ""
+"Save, then <a href=\"http://validator.w3.org/\">use HTML validator</a> on "
+"the \"about\" page to check your input."
+msgstr ""
+
+#: conf/flatpages.py:30
+msgid "Text of the Q&A forum Privacy Policy (html format)"
+msgstr "Textul pentru pagina politicii de confidențialitate (format html)"
+
+#: conf/flatpages.py:33
+msgid ""
+"Save, then <a href=\"http://validator.w3.org/\">use HTML validator</a> on "
+"the \"privacy\" page to check your input."
+msgstr ""
+
+#: conf/forum_data_rules.py:11
+msgid "Settings for askbot data entry and display"
+msgstr ""
+
+#: conf/forum_data_rules.py:19
+msgid "Check to enable community wiki feature"
+msgstr ""
+
+#: conf/forum_data_rules.py:28
+msgid "Allow asking questions anonymously"
+msgstr ""
+
+#: conf/forum_data_rules.py:30
+msgid ""
+"Users do not accrue reputation for anonymous questions and their identity is "
+"not revealed until they change their mind"
+msgstr ""
+
+#: conf/forum_data_rules.py:42
+msgid "Maximum length of tag (number of characters)"
+msgstr ""
+
+#: conf/forum_data_rules.py:51
+msgid "Force lowercase the tags"
+msgstr ""
+
+#: conf/forum_data_rules.py:53
+msgid ""
+"Attention: after checking this, please back up the database, and run a "
+"management command: <code>python manage.py fix_question_tags</code> to "
+"globally rename the tags"
+msgstr ""
+
+#: conf/forum_data_rules.py:66
+msgid "Use wildcard tags"
+msgstr ""
+
+#: conf/forum_data_rules.py:68
+msgid ""
+"Wildcard tags can be used to follow or ignore many tags at once, a valid "
+"wildcard tag has a single wildcard at the very end"
+msgstr ""
+
+#: conf/forum_data_rules.py:81
+msgid "Default max number of comments to display under posts"
+msgstr ""
+
+#: conf/forum_data_rules.py:92
+#, python-format
+msgid "Maximum comment length, must be < %(max_len)s"
+msgstr ""
+
+#: conf/forum_data_rules.py:102
+msgid "Limit time to edit comments"
+msgstr ""
+
+#: conf/forum_data_rules.py:104
+msgid "If unchecked, there will be no time limit to edit the comments"
+msgstr ""
+
+#: conf/forum_data_rules.py:115
+msgid "Minutes allowed to edit a comment"
+msgstr ""
+
+#: conf/forum_data_rules.py:116
+msgid "To enable this setting, check the previous one"
+msgstr ""
+
+#: conf/forum_data_rules.py:125
+msgid "Save comment by pressing <Enter> key"
+msgstr ""
+
+#: conf/forum_data_rules.py:134
+msgid "Minimum length of search term for Ajax search"
+msgstr ""
+
+#: conf/forum_data_rules.py:135
+msgid "Must match the corresponding database backend setting"
+msgstr ""
+
+#: conf/forum_data_rules.py:144
+msgid "Do not make text query sticky in search"
+msgstr ""
+
+#: conf/forum_data_rules.py:146
+msgid ""
+"Check to disable the \"sticky\" behavior of the search query. This may be "
+"useful if you want to move the search bar away from the default position or "
+"do not like the default sticky behavior of the text search query."
+msgstr ""
+
+#: conf/forum_data_rules.py:159
+msgid "Maximum number of tags per question"
+msgstr ""
+
+#: conf/forum_data_rules.py:171
+msgid "Number of questions to list by default"
+msgstr ""
+
+#: conf/forum_data_rules.py:181
+msgid "What should \"unanswered question\" mean?"
+msgstr ""
+
+#: conf/login_providers.py:11
+msgid "Login provider setings"
+msgstr ""
+
+#: conf/login_providers.py:19
+msgid ""
+"Show alternative login provider buttons on the password \"Sign Up\" page"
+msgstr ""
+
+#: conf/login_providers.py:28
+msgid "Always display local login form and hide \"Askbot\" button."
+msgstr ""
+
+#: conf/login_providers.py:55
+#, python-format
+msgid "Activate %(provider)s login"
+msgstr ""
+
+#: conf/login_providers.py:60
+#, python-format
+msgid ""
+"Note: to really enable %(provider)s login some additional parameters will "
+"need to be set in the \"External keys\" section"
+msgstr ""
+
+#: conf/markup.py:15
+msgid "Markup formatting"
+msgstr ""
+
+#: conf/markup.py:22
+msgid "Enable code-friendly Markdown"
+msgstr ""
+
+#: conf/markup.py:24
+msgid ""
+"If checked, underscore characters will not trigger italic or bold formatting "
+"- bold and italic text can still be marked up with asterisks. Note that "
+"\"MathJax support\" implicitly turns this feature on, because underscores "
+"are heavily used in LaTeX input."
+msgstr ""
+
+#: conf/markup.py:39
+msgid "Mathjax support (rendering of LaTeX)"
+msgstr ""
+
+#: conf/markup.py:41
+#, python-format
+msgid ""
+"If you enable this feature, <a href=\"%(url)s\">mathjax</a> must be "
+"installed on your server in its own directory."
+msgstr ""
+
+#: conf/markup.py:55
+msgid "Base url of MathJax deployment"
+msgstr ""
+
+#: conf/markup.py:57
+msgid ""
+"Note - <strong>MathJax is not included with askbot</strong> - you should "
+"deploy it yourself, preferably at a separate domain and enter url pointing "
+"to the \"mathjax\" directory (for example: http://mysite.com/mathjax)"
+msgstr ""
+
+#: conf/minimum_reputation.py:11
+msgid "Minimum reputation required to perform actions"
+msgstr ""
+
+#: conf/minimum_reputation.py:20
+msgid "Upvote"
+msgstr ""
+
+#: conf/minimum_reputation.py:29
+msgid "Downvote"
+msgstr ""
+
+#: conf/minimum_reputation.py:38
+msgid "Flag offensive"
+msgstr "Marchează ofensiv"
+
+#: conf/minimum_reputation.py:47
+msgid "Leave comments"
+msgstr ""
+
+#: conf/minimum_reputation.py:56
+msgid "Delete comments posted by others"
+msgstr ""
+
+#: conf/minimum_reputation.py:65
+msgid "Delete questions and answers posted by others"
+msgstr ""
+
+#: conf/minimum_reputation.py:74
+msgid "Upload files"
+msgstr ""
+
+#: conf/minimum_reputation.py:83
+msgid "Close own questions"
+msgstr ""
+
+#: conf/minimum_reputation.py:92
+msgid "Retag questions posted by other people"
+msgstr ""
+
+#: conf/minimum_reputation.py:101
+msgid "Reopen own questions"
+msgstr ""
+
+#: conf/minimum_reputation.py:110
+msgid "Edit community wiki posts"
+msgstr ""
+
+#: conf/minimum_reputation.py:119
+msgid "Edit posts authored by other people"
+msgstr ""
+
+#: conf/minimum_reputation.py:128
+msgid "View offensive flags"
+msgstr ""
+
+#: conf/minimum_reputation.py:137
+msgid "Close questions asked by others"
+msgstr ""
+
+#: conf/minimum_reputation.py:146
+msgid "Lock posts"
+msgstr ""
+
+#: conf/minimum_reputation.py:155
+msgid "Remove rel=nofollow from own homepage"
+msgstr ""
+
+#: conf/minimum_reputation.py:157
+msgid ""
+"When a search engine crawler will see a rel=nofollow attribute on a link - "
+"the link will not count towards the rank of the users personal site."
+msgstr ""
+
+#: conf/reputation_changes.py:12
+msgid "Reputation loss and gain rules"
+msgstr ""
+
+#: conf/reputation_changes.py:21
+msgid "Maximum daily reputation gain per user"
+msgstr ""
+
+#: conf/reputation_changes.py:30
+msgid "Gain for receiving an upvote"
+msgstr ""
+
+#: conf/reputation_changes.py:39
+msgid "Gain for the author of accepted answer"
+msgstr ""
+
+#: conf/reputation_changes.py:48
+msgid "Gain for accepting best answer"
+msgstr ""
+
+#: conf/reputation_changes.py:57
+msgid "Gain for post owner on canceled downvote"
+msgstr ""
+
+#: conf/reputation_changes.py:66
+msgid "Gain for voter on canceling downvote"
+msgstr ""
+
+#: conf/reputation_changes.py:76
+msgid "Loss for voter for canceling of answer acceptance"
+msgstr ""
+
+#: conf/reputation_changes.py:86
+msgid "Loss for author whose answer was \"un-accepted\""
+msgstr ""
+
+#: conf/reputation_changes.py:96
+msgid "Loss for giving a downvote"
+msgstr ""
+
+#: conf/reputation_changes.py:106
+msgid "Loss for owner of post that was flagged offensive"
+msgstr ""
+
+#: conf/reputation_changes.py:116
+msgid "Loss for owner of post that was downvoted"
+msgstr ""
+
+#: conf/reputation_changes.py:126
+msgid "Loss for owner of post that was flagged 3 times per same revision"
+msgstr ""
+
+#: conf/reputation_changes.py:136
+msgid "Loss for owner of post that was flagged 5 times per same revision"
+msgstr ""
+
+#: conf/reputation_changes.py:146
+msgid "Loss for post owner when upvote is canceled"
+msgstr ""
+
+#: conf/site_settings.py:13
+msgid "Q&A forum website parameters and urls"
+msgstr ""
+
+#: conf/site_settings.py:21
+msgid "Site title for the Q&A forum"
+msgstr ""
+
+#: conf/site_settings.py:30
+msgid "Comma separated list of Q&A site keywords"
+msgstr "Listă separată de virgule pentru cuvintele cheie ale siteului"
+
+#: conf/site_settings.py:40
+msgid "Copyright message to show in the footer"
+msgstr ""
+
+#: conf/site_settings.py:50
+msgid "Site description for the search engines"
+msgstr ""
+
+#: conf/site_settings.py:59
+msgid "Short name for your Q&A forum"
+msgstr ""
+
+#: conf/site_settings.py:69
+msgid "Base URL for your Q&A forum, must start with http or https"
+msgstr ""
+
+#: conf/site_settings.py:82
+msgid "Link shown in the greeting message shown to the anonymous user"
+msgstr ""
+
+#: conf/site_settings.py:85
+msgid ""
+"If you change this url from the default - then you will also probably want "
+"to adjust translation of the following string: "
+msgstr ""
+
+#: conf/site_settings.py:98
+msgid "Feedback site URL"
+msgstr "URL site pentru feedback"
+
+#: conf/site_settings.py:100
+msgid "If left empty, a simple internal feedback form will be used instead"
+msgstr "Dacă este lăsat gol, se va folosi un formular intern de feedback"
+
+#: conf/skin_counter_settings.py:11
+msgid "Skin: view, vote and answer counters"
+msgstr ""
+
+#: conf/skin_counter_settings.py:19
+msgid "Vote counter value to give \"full color\""
+msgstr ""
+
+#: conf/skin_counter_settings.py:29
+msgid "Background color for votes = 0"
+msgstr ""
+
+#: conf/skin_counter_settings.py:30 conf/skin_counter_settings.py:41
+#: conf/skin_counter_settings.py:52 conf/skin_counter_settings.py:62
+#: conf/skin_counter_settings.py:72 conf/skin_counter_settings.py:85
+#: conf/skin_counter_settings.py:106 conf/skin_counter_settings.py:117
+#: conf/skin_counter_settings.py:128 conf/skin_counter_settings.py:138
+#: conf/skin_counter_settings.py:148 conf/skin_counter_settings.py:163
+#: conf/skin_counter_settings.py:186 conf/skin_counter_settings.py:196
+#: conf/skin_counter_settings.py:206 conf/skin_counter_settings.py:216
+#: conf/skin_counter_settings.py:228 conf/skin_counter_settings.py:239
+#: conf/skin_counter_settings.py:252 conf/skin_counter_settings.py:262
+msgid "HTML color name or hex value"
+msgstr ""
+
+#: conf/skin_counter_settings.py:40
+msgid "Foreground color for votes = 0"
+msgstr ""
+
+#: conf/skin_counter_settings.py:51
+msgid "Background color for votes"
+msgstr ""
+
+#: conf/skin_counter_settings.py:61
+msgid "Foreground color for votes"
+msgstr ""
+
+#: conf/skin_counter_settings.py:71
+msgid "Background color for votes = MAX"
+msgstr ""
+
+#: conf/skin_counter_settings.py:84
+msgid "Foreground color for votes = MAX"
+msgstr ""
+
+#: conf/skin_counter_settings.py:95
+msgid "View counter value to give \"full color\""
+msgstr ""
+
+#: conf/skin_counter_settings.py:105
+msgid "Background color for views = 0"
+msgstr ""
+
+#: conf/skin_counter_settings.py:116
+msgid "Foreground color for views = 0"
+msgstr ""
+
+#: conf/skin_counter_settings.py:127
+msgid "Background color for views"
+msgstr ""
+
+#: conf/skin_counter_settings.py:137
+msgid "Foreground color for views"
+msgstr ""
+
+#: conf/skin_counter_settings.py:147
+msgid "Background color for views = MAX"
+msgstr ""
+
+#: conf/skin_counter_settings.py:162
+msgid "Foreground color for views = MAX"
+msgstr ""
+
+#: conf/skin_counter_settings.py:173
+msgid "Answer counter value to give \"full color\""
+msgstr ""
+
+#: conf/skin_counter_settings.py:185
+msgid "Background color for answers = 0"
+msgstr ""
+
+#: conf/skin_counter_settings.py:195
+msgid "Foreground color for answers = 0"
+msgstr ""
+
+#: conf/skin_counter_settings.py:205
+msgid "Background color for answers"
+msgstr ""
+
+#: conf/skin_counter_settings.py:215
+msgid "Foreground color for answers"
+msgstr ""
+
+#: conf/skin_counter_settings.py:227
+msgid "Background color for answers = MAX"
+msgstr ""
+
+#: conf/skin_counter_settings.py:238
+msgid "Foreground color for answers = MAX"
+msgstr ""
+
+#: conf/skin_counter_settings.py:251
+msgid "Background color for accepted"
+msgstr ""
+
+#: conf/skin_counter_settings.py:261
+msgid "Foreground color for accepted answer"
+msgstr ""
+
+#: conf/skin_general_settings.py:14
+msgid "Skin and User Interface settings"
+msgstr ""
+
+#: conf/skin_general_settings.py:21
+msgid "Q&A site logo"
+msgstr ""
+
+#: conf/skin_general_settings.py:23
+msgid "To change the logo, select new file, then submit this whole form."
+msgstr ""
+
+#: conf/skin_general_settings.py:37
+msgid "Show logo"
+msgstr ""
+
+#: conf/skin_general_settings.py:39
+msgid ""
+"Check if you want to show logo in the forum header or uncheck in the case "
+"you do not want the logo to appear in the default location"
+msgstr ""
+
+#: conf/skin_general_settings.py:51
+msgid "Site favicon"
+msgstr ""
+
+#: conf/skin_general_settings.py:53
+#, python-format
+msgid ""
+"A small 16x16 or 32x32 pixel icon image used to distinguish your site in the "
+"browser user interface. Please find more information about favicon at <a "
+"href=\"%(favicon_info_url)s\">this page</a>."
+msgstr ""
+
+#: conf/skin_general_settings.py:70
+msgid "Password login button"
+msgstr ""
+
+#: conf/skin_general_settings.py:72
+msgid ""
+"An 88x38 pixel image that is used on the login screen for the password login "
+"button."
+msgstr ""
+
+#: conf/skin_general_settings.py:87
+msgid "Show all UI functions to all users"
+msgstr ""
+
+#: conf/skin_general_settings.py:89
+msgid ""
+"If checked, all forum functions will be shown to users, regardless of their "
+"reputation. However to use those functions, moderation rules, reputation and "
+"other limits will still apply."
+msgstr ""
+
+#: conf/skin_general_settings.py:104
+msgid "Select skin"
+msgstr ""
+
+#: conf/skin_general_settings.py:113
+msgid "Skin media revision number"
+msgstr ""
+
+#: conf/skin_general_settings.py:115
+msgid ""
+"Increment this number when you change image in skin media or stylesheet. "
+"This helps avoid showing your users outdated images from their browser cache."
+msgstr ""
+
+#: conf/skin_general_settings.py:128
+msgid "Customize HTML <HEAD>"
+msgstr ""
+
+#: conf/skin_general_settings.py:137
+msgid "Custom portion of the HTML <HEAD>"
+msgstr ""
+
+#: conf/skin_general_settings.py:139
+msgid ""
+"<strong>To use this option</strong>, check \"Customize HTML &lt;HEAD&gt;\" "
+"above. Contents of this box will be inserted into the &lt;HEAD&gt; portion "
+"of the HTML output, where elements such as &lt;script&gt;, &lt;link&gt;, "
+"&lt;meta&gt; may be added. Please, keep in mind that adding external "
+"javascript to the &lt;HEAD&gt; is not recommended because it slows loading "
+"of the pages. Instead, it will be more efficient to place links to the "
+"javascript files into the footer. <strong>Note:</strong> if you do use this "
+"setting, please test the site with the W3C HTML validator service."
+msgstr ""
+
+#: conf/skin_general_settings.py:159
+msgid "Site footer mode"
+msgstr ""
+
+#: conf/skin_general_settings.py:161
+msgid ""
+"Footer is the bottom portion of the content, which is common to all pages. "
+"You can disable, customize, or use the default footer."
+msgstr ""
+
+#: conf/skin_general_settings.py:178
+msgid "Custom footer (HTML format)"
+msgstr ""
+
+#: conf/skin_general_settings.py:180
+msgid ""
+"<strong>To enable this function</strong>, please select option 'customize' "
+"in the \"Site footer mode\" above. Use this area to enter contents of the "
+"footer in the HTML format. When customizing the site footer (as well as the "
+"HTML &lt;HEAD&gt;), use the HTML validation service to make sure that your "
+"input is valid and works well in all browsers."
+msgstr ""
+
+#: conf/skin_general_settings.py:195
+msgid "Apply custom style sheet (CSS)"
+msgstr ""
+
+#: conf/skin_general_settings.py:197
+msgid ""
+"Check if you want to change appearance of your form by adding custom style "
+"sheet rules (please see the next item)"
+msgstr ""
+
+#: conf/skin_general_settings.py:209
+msgid "Custom style sheet (CSS)"
+msgstr ""
+
+#: conf/skin_general_settings.py:211
+msgid ""
+"<strong>To use this function</strong>, check \"Apply custom style sheet\" "
+"option above. The CSS rules added in this window will be applied after the "
+"default style sheet rules. The custom style sheet will be served dynamically "
+"at url \"&lt;forum url&gt;/custom.css\", where the \"&lt;forum url&gt; part "
+"depends (default is empty string) on the url configuration in your urls.py."
+msgstr ""
+
+#: conf/skin_general_settings.py:227
+msgid "Add custom javascript"
+msgstr ""
+
+#: conf/skin_general_settings.py:230
+msgid "Check to enable javascript that you can enter in the next field"
+msgstr ""
+
+#: conf/skin_general_settings.py:240
+msgid "Custom javascript"
+msgstr ""
+
+#: conf/skin_general_settings.py:242
+msgid ""
+"Type or paste plain javascript that you would like to run on your site. Link "
+"to the script will be inserted at the bottom of the HTML output and will be "
+"served at the url \"&lt;forum url&gt;/custom.js\". Please, bear in mind that "
+"your javascript code may break other functionalities of the site and that "
+"the behavior may not be consistent across different browsers (<strong>to "
+"enable your custom code</strong>, check \"Add custom javascript\" option "
+"above)."
+msgstr ""
+
+#: conf/social_sharing.py:10
+msgid "Sharing content on social networks"
+msgstr ""
+
+#: conf/social_sharing.py:18
+msgid "Check to enable sharing of questions on Twitter and Facebook"
+msgstr ""
+
+#: conf/user_settings.py:10
+msgid "User policy settings"
+msgstr ""
+
+#: conf/user_settings.py:18
+msgid "Allow editing user screen name"
+msgstr ""
+
+#: conf/user_settings.py:28
+msgid "Minimum allowed length for screen name"
+msgstr ""
+
+#: conf/user_settings.py:37
+msgid "Name for the Anonymous user"
+msgstr ""
+
+#: conf/vote_rules.py:13
+msgid "Limits applicable to votes and moderation flags"
+msgstr ""
+
+#: conf/vote_rules.py:22
+msgid "Number of votes a user can cast per day"
+msgstr ""
+
+#: conf/vote_rules.py:31
+msgid "Maximum number of flags per user per day"
+msgstr ""
+
+#: conf/vote_rules.py:40
+msgid "Threshold for warning about remaining daily votes"
+msgstr ""
+
+#: conf/vote_rules.py:49
+msgid "Number of days to allow canceling votes"
+msgstr ""
+
+#: conf/vote_rules.py:58
+msgid "Number of flags required to automatically hide posts"
+msgstr ""
+
+#: conf/vote_rules.py:67
+msgid "Number of flags required to automatically delete posts"
+msgstr ""
+
+#: const/__init__.py:9
+msgid "duplicate question"
+msgstr "întrebare duplicat"
+
+#: const/__init__.py:10
+msgid "question is off-topic or not relevant"
+msgstr "întrebarea este off-topic sau nu este relevantă"
+
+#: const/__init__.py:11
+msgid "too subjective and argumentative"
+msgstr "prea subiectivă și argumentativă"
+
+#: const/__init__.py:12
+msgid "not a real question"
+msgstr "nu este de fapt o întrebare"
+
+#: const/__init__.py:13
+msgid "the question is answered, right answer was accepted"
+msgstr "întrebarea a căpătat un răspuns, răspunsul a fost acceptat"
+
+#: const/__init__.py:14
+msgid "question is not relevant or outdated"
+msgstr "întrebarea nu este relevantă sau este veche"
+
+#: const/__init__.py:15
+msgid "question contains offensive or malicious remarks"
+msgstr "întrebarea conține remarci ofensatoare sau răutăcioase"
+
+#: const/__init__.py:16
+msgid "spam or advertising"
+msgstr "spam sau reclamă"
+
+#: const/__init__.py:17
+msgid "too localized"
+msgstr "prea localizată"
+
+#: const/__init__.py:40
+msgid "newest"
+msgstr "cele mai noi"
+
+#: const/__init__.py:41 skins/default/templates/users.html:25
+#: skins/default/templates/users.html:26
+msgid "oldest"
+msgstr "mai vechi"
+
+#: const/__init__.py:42
+msgid "active"
+msgstr "activ"
+
+#: const/__init__.py:43
+msgid "inactive"
+msgstr "inactiv"
+
+#: const/__init__.py:44
+msgid "hottest"
+msgstr "cele mai interesante"
+
+#: const/__init__.py:45
+msgid "coldest"
+msgstr "mai reci"
+
+#: const/__init__.py:46
+msgid "most voted"
+msgstr "cele mai votate"
+
+#: const/__init__.py:47
+msgid "least voted"
+msgstr "cele mai puțin votate"
+
+#: const/__init__.py:48 skins/default/templates/main_page/tab_bar.html:29
+msgid "relevance"
+msgstr "relevanță"
+
+#: const/__init__.py:55 skins/default/templates/main_page/tab_bar.html:10
+#: skins/default/templates/user_profile/user_inbox.html:50
+msgid "all"
+msgstr "toate"
+
+#: const/__init__.py:56 skins/default/templates/main_page/tab_bar.html:15
+msgid "unanswered"
+msgstr "fără răspuns"
+
+#: const/__init__.py:57 skins/default/templates/main_page/tab_bar.html:21
+msgid "favorite"
+msgstr "favorite"
+
+#: const/__init__.py:71
+msgid "Question has no answers"
+msgstr "Întrebarea nu are răspuns"
+
+#: const/__init__.py:72
+msgid "Question has no accepted answers"
+msgstr "Întrebarea nu are un răspuns acceptat"
+
+#: const/__init__.py:112
+msgid "asked a question"
+msgstr "a pus o întrebare"
+
+#: const/__init__.py:113
+msgid "answered a question"
+msgstr "a răspuns unei întrebări"
+
+#: const/__init__.py:114
+msgid "commented question"
+msgstr "întrebare comentată"
+
+#: const/__init__.py:115
+msgid "commented answer"
+msgstr "răspuns comentat"
+
+#: const/__init__.py:116
+msgid "edited question"
+msgstr "întrebare editată"
+
+#: const/__init__.py:117
+msgid "edited answer"
+msgstr "răspuns editat"
+
+#: const/__init__.py:118
+msgid "received award"
+msgstr "recompensă primită"
+
+#: const/__init__.py:119
+msgid "marked best answer"
+msgstr "marcat ca cel mai bun răspuns"
+
+#: const/__init__.py:120
+msgid "upvoted"
+msgstr "votat pozitiv"
+
+#: const/__init__.py:121
+msgid "downvoted"
+msgstr "votat negativ"
+
+#: const/__init__.py:122
+msgid "canceled vote"
+msgstr "vot anulat"
+
+#: const/__init__.py:123
+msgid "deleted question"
+msgstr "întrebare ștearsă"
+
+#: const/__init__.py:124
+msgid "deleted answer"
+msgstr "răspuns șters"
+
+#: const/__init__.py:125
+msgid "marked offensive"
+msgstr "marcat ca ofensator"
+
+#: const/__init__.py:126
+msgid "updated tags"
+msgstr "etichete actualizate"
+
+#: const/__init__.py:127
+msgid "selected favorite"
+msgstr ""
+
+#: const/__init__.py:128
+msgid "completed user profile"
+msgstr "profil utilizator complet"
+
+#: const/__init__.py:129
+msgid "email update sent to user"
+msgstr "e-mail actualizat trimis utilizatorului"
+
+#: const/__init__.py:130
+msgid "mentioned in the post"
+msgstr "menționat în postare"
+
+#: const/__init__.py:181
+msgid "question_answered"
+msgstr "întrebare_cu_răspuns"
+
+#: const/__init__.py:182
+msgid "question_commented"
+msgstr "întrebare_comentată"
+
+#: const/__init__.py:183
+msgid "answer_commented"
+msgstr "răspuns_comentat"
+
+#: const/__init__.py:184
+msgid "answer_accepted"
+msgstr "răspuns_acceptat"
+
+#: const/__init__.py:188
+msgid "[closed]"
+msgstr "[închis]"
+
+#: const/__init__.py:189
+msgid "[deleted]"
+msgstr "[șters]"
+
+#: const/__init__.py:190 views/readers.py:578
+msgid "initial version"
+msgstr "versiune inițială"
+
+#: const/__init__.py:191
+msgid "retagged"
+msgstr "reetichetat"
+
+#: const/__init__.py:199
+msgid "off"
+msgstr "dezactivat"
+
+#: const/__init__.py:200
+msgid "exclude ignored"
+msgstr "exclude cele ignorate"
+
+#: const/__init__.py:201
+msgid "only selected"
+msgstr "doar cele selectate"
+
+#: const/__init__.py:205
+msgid "instantly"
+msgstr "instant"
+
+#: const/__init__.py:206
+msgid "daily"
+msgstr "zilnic"
+
+#: const/__init__.py:207
+msgid "weekly"
+msgstr "săptămânal"
+
+#: const/__init__.py:208
+msgid "no email"
+msgstr "fără e-mail"
+
+#: const/__init__.py:245 skins/default/templates/badges.html:37
+msgid "gold"
+msgstr "aur"
+
+#: const/__init__.py:246 skins/default/templates/badges.html:46
+msgid "silver"
+msgstr "argint"
+
+#: const/__init__.py:247 skins/default/templates/badges.html:53
+msgid "bronze"
+msgstr "bronz"
+
+#: const/message_keys.py:19
+#, python-format
+msgid "First time here? Check out the <a href=\"%s\">FAQ</a>!"
+msgstr ""
+"Prima dată aici? Consultați <a href=\"%s\">Întrebările frecvente</a>!"
+
+#: const/message_keys.py:22 skins/default/templates/main_page/tab_bar.html:27
+msgid "most relevant questions"
+msgstr "cele mai relevante întrebări"
+
+#: const/message_keys.py:23 skins/default/templates/main_page/tab_bar.html:28
+msgid "click to see most relevant questions"
+msgstr "efectuați clic pentru a vedea cele mai relevante întrebări"
+
+#: const/message_keys.py:24
+msgid "by relevance"
+msgstr "după relevanță"
+
+#: const/message_keys.py:25
+msgid "click to see the oldest questions"
+msgstr "clic pentru a vedea cele mai vechi întrebări"
+
+#: const/message_keys.py:26
+msgid "by date"
+msgstr "după dată"
+
+#: const/message_keys.py:27
+msgid "click to see the newest questions"
+msgstr "efectuați clic pentru a vedea cele mai noi întrebări"
+
+#: const/message_keys.py:28
+msgid "click to see the least recently updated questions"
+msgstr "clic pentru a vedea cel mai puțin recent actualizate întrebări"
+
+#: const/message_keys.py:29
+msgid "by activity"
+msgstr "după activitate"
+
+#: const/message_keys.py:30
+msgid "click to see the most recently updated questions"
+msgstr "clic pentru a vedea cele mai recent actualizate întrebări"
+
+#: const/message_keys.py:31
+msgid "click to see the least answered questions"
+msgstr ""
+"efectuați clic pentru a vedea întrebările cu cele mai puține răspunsuri"
+
+#: const/message_keys.py:32
+msgid "by answers"
+msgstr "după răspunsuri"
+
+#: const/message_keys.py:33
+msgid "click to see the most answered questions"
+msgstr ""
+"efectuați clic pentru a vedea întrebările cu cele mai multe răspunsuri"
+
+#: const/message_keys.py:34
+msgid "click to see least voted questions"
+msgstr "efectuați clic pentru a vedea întrebările cu cele mai puține voturi"
+
+#: const/message_keys.py:35
+msgid "by votes"
+msgstr "după voturi"
+
+#: const/message_keys.py:36
+msgid "click to see most voted questions"
+msgstr "efectuați clic pentru a vedea întrebările cu cele mai multe voturi"
+
+#: deps/django_authopenid/forms.py:110 deps/django_authopenid/views.py:134
+msgid "i-names are not supported"
+msgstr ""
+
+#: deps/django_authopenid/forms.py:231
+#, python-format
+msgid "Please enter your %(username_token)s"
+msgstr "Introduceți %(username_token)s"
+
+#: deps/django_authopenid/forms.py:257
+msgid "Please, enter your user name"
+msgstr "Introduceți numele de utilizator"
+
+#: deps/django_authopenid/forms.py:261
+msgid "Please, enter your password"
+msgstr "Introduceți parola"
+
+#: deps/django_authopenid/forms.py:268 deps/django_authopenid/forms.py:272
+msgid "Please, enter your new password"
+msgstr "Introduceți noua parolă"
+
+#: deps/django_authopenid/forms.py:283
+msgid "Passwords did not match"
+msgstr "Parolele nu se potrivesc"
+
+#: deps/django_authopenid/forms.py:295
+#, python-format
+msgid "Please choose password > %(len)s characters"
+msgstr "Alegeți o parolă mai mare decât %(len)s caractere"
+
+#: deps/django_authopenid/forms.py:330
+msgid "Current password"
+msgstr "Parolă curentă"
+
+#: deps/django_authopenid/forms.py:341
+msgid ""
+"Old password is incorrect. Please enter the correct "
+"password."
+msgstr "Parola veche nu este corectă. Introduceți o parolă corectă."
+
+#: deps/django_authopenid/forms.py:394
+msgid "Sorry, we don't have this email address in the database"
+msgstr "Această adreasă de e-mail nu se regăsește în baza noastră de date"
+
+#: deps/django_authopenid/forms.py:430
+msgid "Your user name (<i>required</i>)"
+msgstr "Numele de utilizator este (<i>obligatoriu</i>)"
+
+#: deps/django_authopenid/forms.py:445
+msgid "Incorrect username."
+msgstr "Nume de utilizator incorect"
+
+#: deps/django_authopenid/urls.py:9 deps/django_authopenid/urls.py:10
+#: deps/django_authopenid/urls.py:11 deps/django_authopenid/urls.py:14
+#: deps/django_authopenid/urls.py:17 setup_templates/settings.py:188
+msgid "signin/"
+msgstr "autentificare/"
+
+#: deps/django_authopenid/urls.py:10
+msgid "newquestion/"
+msgstr ""
+
+#: deps/django_authopenid/urls.py:11
+msgid "newanswer/"
+msgstr ""
+
+#: deps/django_authopenid/urls.py:12
+msgid "signout/"
+msgstr ""
+
+#: deps/django_authopenid/urls.py:14
+msgid "complete/"
+msgstr ""
+
+#: deps/django_authopenid/urls.py:17
+msgid "complete-oauth/"
+msgstr ""
+
+#: deps/django_authopenid/urls.py:21
+msgid "register/"
+msgstr ""
+
+#: deps/django_authopenid/urls.py:23
+msgid "signup/"
+msgstr ""
+
+#: deps/django_authopenid/urls.py:31
+msgid "recover/"
+msgstr ""
+
+#: deps/django_authopenid/util.py:193
+#, python-format
+msgid "%(site)s user name and password"
+msgstr ""
+
+#: deps/django_authopenid/util.py:199
+#: skins/default/templates/authopenid/signin.html:99
+msgid "Create a password-protected account"
+msgstr "Creați un cont protejat prin parolă"
+
+#: deps/django_authopenid/util.py:200
+msgid "Change your password"
+msgstr "Schimbați parola"
+
+#: deps/django_authopenid/util.py:262
+msgid "Sign in with Yahoo"
+msgstr "Autentificare cu Yahoo"
+
+#: deps/django_authopenid/util.py:269
+msgid "AOL screen name"
+msgstr "nume utilizator AOL"
+
+#: deps/django_authopenid/util.py:277
+msgid "OpenID url"
+msgstr "URL OpenID"
+
+#: deps/django_authopenid/util.py:294
+msgid "MyOpenid user name"
+msgstr "nume utilizator MyOpenid"
+
+#: deps/django_authopenid/util.py:302
+msgid "Flickr user name"
+msgstr "nume utilizator Flickr"
+
+#: deps/django_authopenid/util.py:310
+msgid "Technorati user name"
+msgstr "nume utilizator Technorati"
+
+#: deps/django_authopenid/util.py:318
+msgid "WordPress blog name"
+msgstr "nume blog WordPress"
+
+#: deps/django_authopenid/util.py:326
+msgid "Blogger blog name"
+msgstr "nume blog Blogger"
+
+#: deps/django_authopenid/util.py:334
+msgid "LiveJournal blog name"
+msgstr "nume blog LiveJournal"
+
+#: deps/django_authopenid/util.py:342
+msgid "ClaimID user name"
+msgstr "nume utilizator ClaimID"
+
+#: deps/django_authopenid/util.py:350
+msgid "Vidoop user name"
+msgstr "nume utilizator Vidoop"
+
+#: deps/django_authopenid/util.py:358
+msgid "Verisign user name"
+msgstr "nume utilizator Verisign"
+
+#: deps/django_authopenid/util.py:382
+#, python-format
+msgid "Change your %(provider)s password"
+msgstr "Modificați parola pentru %(provider)s"
+
+#: deps/django_authopenid/util.py:386
+#, python-format
+msgid ""
+"Click to see if your %(provider)s signin still works for %(site_name)s"
+msgstr ""
+"Efectuați clic pentru a verifica dacă autentificarea pentru %(provider)s "
+"încă funcționează pe %(site_name)s"
+
+#: deps/django_authopenid/util.py:395
+#, python-format
+msgid "Create password for %(provider)s"
+msgstr "Creați parolă pentru %(provider)s"
+
+#: deps/django_authopenid/util.py:399
+#, python-format
+msgid "Connect your %(provider)s account to %(site_name)s"
+msgstr "Conectați contul %(provider)s la %(site_name)s"
+
+#: deps/django_authopenid/util.py:408
+#, python-format
+msgid "Signin with %(provider)s user name and password"
+msgstr "Autentificați-vă cu numele de utilizator și parola %(provider)s"
+
+#: deps/django_authopenid/util.py:415
+#, python-format
+msgid "Sign in with your %(provider)s account"
+msgstr "Autentificați-vă cu contul de %(provider)s"
+
+#: deps/django_authopenid/views.py:141
+#, python-format
+msgid "OpenID %(openid_url)s is invalid"
+msgstr "Legătura OpenID %(openid_url)s este nevalidă"
+
+#: deps/django_authopenid/views.py:253 deps/django_authopenid/views.py:395
+#: deps/django_authopenid/views.py:423
+#, python-format
+msgid ""
+"Unfortunately, there was some problem when connecting to %(provider)s, "
+"please try again or use another provider"
+msgstr ""
+"Din păcate există o problemă la conectarea la %(provider)s, reîncercați sau "
+"utilizați un alt furnizor"
+
+#: deps/django_authopenid/views.py:345
+msgid "Your new password saved"
+msgstr "Noua parolă a fost salvată"
+
+#: deps/django_authopenid/views.py:507
+msgid "Please click any of the icons below to sign in"
+msgstr ""
+"Pentru a vă autentifica efectuați clic pe oricare din iconițele de mai jos"
+
+#: deps/django_authopenid/views.py:509
+msgid "Account recovery email sent"
+msgstr "E-mail-ul pentru recuperarea contului a fost trimis"
+
+#: deps/django_authopenid/views.py:512
+msgid "Please add one or more login methods."
+msgstr "Adăugați una sau mai multe metode de autentificare"
+
+#: deps/django_authopenid/views.py:514
+msgid "If you wish, please add, remove or re-validate your login methods"
+msgstr ""
+"Dacă doriți, adăugați, ștergeți sau revalidați metodele de autentificare"
+
+#: deps/django_authopenid/views.py:516
+msgid "Please wait a second! Your account is recovered, but ..."
+msgstr "Așteptați puțin! Contul dumneavoastră este recuperat, dar..."
+
+#: deps/django_authopenid/views.py:518
+msgid "Sorry, this account recovery key has expired or is invalid"
+msgstr ""
+"Ne pare rău, cheia pentru recuperarea contului a expirat sau nu mai este "
+"validă"
+
+#: deps/django_authopenid/views.py:574
+#, python-format
+msgid "Login method %(provider_name)s does not exist"
+msgstr "Metoda de autentificare pentru %(provider_name)s nu există"
+
+#: deps/django_authopenid/views.py:580
+msgid "Oops, sorry - there was some error - please try again"
+msgstr "Oauu, scuze - a apărut o eroare - încercați mai târziu"
+
+#: deps/django_authopenid/views.py:671
+#, python-format
+msgid "Your %(provider)s login works fine"
+msgstr "Autentificarea pentru %(provider)s este funcțională"
+
+#: deps/django_authopenid/views.py:978 deps/django_authopenid/views.py:984
+#, python-format
+msgid "your email needs to be validated see %(details_url)s"
+msgstr ""
+"adresa dumneavoastră de e-mail trebuie validată, consultați %(details_url)s"
+
+#: deps/django_authopenid/views.py:1005
+#, python-format
+msgid "Recover your %(site)s account"
+msgstr "Recuperați contul %(site)s"
+
+#: deps/django_authopenid/views.py:1070
+msgid "Please check your email and visit the enclosed link."
+msgstr "Verificați-vă e-mail-ul și mergeți la legătura inclusă"
+
+#: deps/livesettings/models.py:101 deps/livesettings/models.py:140
+msgid "Site"
+msgstr "Pagină web"
+
+#: deps/livesettings/values.py:106
+msgid "Base Settings"
+msgstr "Configurări de bază"
+
+#: deps/livesettings/values.py:213
+msgid "Default value: \"\""
+msgstr "Valoare implicită: \"\""
+
+#: deps/livesettings/values.py:220
+msgid "Default value: "
+msgstr "Valoare implicită: "
+
+#: deps/livesettings/values.py:223
+#, python-format
+msgid "Default value: %s"
+msgstr "Valoare implicită: %s"
+
+#: deps/livesettings/values.py:588
+#, python-format
+msgid "Allowed image file types are %(types)s"
+msgstr "Tipurile de fișiere imagine permise sunt %(types)s"
+
+#: deps/livesettings/templates/livesettings/_admin_site_views.html:4
+msgid "Sites"
+msgstr "Pagini web"
+
+#: deps/livesettings/templates/livesettings/group_settings.html:11
+#: deps/livesettings/templates/livesettings/site_settings.html:23
+msgid "Documentation"
+msgstr "Documentație"
+
+#: deps/livesettings/templates/livesettings/group_settings.html:11
+#: deps/livesettings/templates/livesettings/site_settings.html:23
+#: skins/default/templates/authopenid/signin.html:117
+msgid "Change password"
+msgstr "Schimbă parola"
+
+#: deps/livesettings/templates/livesettings/group_settings.html:11
+#: deps/livesettings/templates/livesettings/site_settings.html:23
+msgid "Log out"
+msgstr "Ieșire"
+
+#: deps/livesettings/templates/livesettings/group_settings.html:14
+#: deps/livesettings/templates/livesettings/site_settings.html:26
+msgid "Home"
+msgstr "Acasă"
+
+#: deps/livesettings/templates/livesettings/group_settings.html:15
+msgid "Edit Group Settings"
+msgstr "Editare configurări de grup"
+
+#: deps/livesettings/templates/livesettings/group_settings.html:22
+#: deps/livesettings/templates/livesettings/site_settings.html:50
+msgid "Please correct the error below."
+msgid_plural "Please correct the errors below."
+msgstr[0] "Corectați eroarea de mai jos"
+msgstr[1] "Corectați erorile de mai jos"
+msgstr[2] "Corectați erorile de mai jos"
+
+#: deps/livesettings/templates/livesettings/group_settings.html:28
+#, python-format
+msgid "Settings included in %(name)s."
+msgstr "Configurări incluse în %(name)s."
+
+#: deps/livesettings/templates/livesettings/group_settings.html:62
+#: deps/livesettings/templates/livesettings/site_settings.html:97
+msgid "You don't have permission to edit values."
+msgstr "Nu aveți permisiunea de a edita valorile"
+
+#: deps/livesettings/templates/livesettings/group_settings.html:68
+msgid "Setting groups"
+msgstr "Configurare grup"
+
+#: deps/livesettings/templates/livesettings/site_settings.html:27
+msgid "Edit Site Settings"
+msgstr "Editați configurările site-ului"
+
+#: deps/livesettings/templates/livesettings/site_settings.html:43
+msgid "Livesettings are disabled for this site."
+msgstr "Configurările live sunt dezactivate pentru acest site"
+
+#: deps/livesettings/templates/livesettings/site_settings.html:44
+msgid "All configuration options must be edited in the site settings.py file"
+msgstr ""
+"Toate opțiunile de configurare trebuie editate în fișierul site-ului "
+"settings.py"
+
+#: deps/livesettings/templates/livesettings/site_settings.html:66
+#, python-format
+msgid "Group settings: %(name)s"
+msgstr "Configurări grup: %(name)s"
+
+#: deps/livesettings/templates/livesettings/site_settings.html:93
+msgid "Uncollapse all"
+msgstr "Restrânge tot"
+
+#: deps/recaptcha_django/__init__.py:19 deps/recaptcha_django/__init__.py:80
+msgid "Unknown error."
+msgstr "Eroare necunoscută."
+
+#: deps/recaptcha_django/__init__.py:20 deps/recaptcha_django/__init__.py:21
+msgid "ReCAPTCHA is wrongly configured."
+msgstr "ReCAPTCHA este configurat greșit."
+
+#: deps/recaptcha_django/__init__.py:22
+msgid "Bad reCAPTCHA challenge parameter."
+msgstr "Parametru șir reCAPTCHA eronat."
+
+#: deps/recaptcha_django/__init__.py:23
+msgid "The CAPTCHA solution was incorrect."
+msgstr "Soluția CAPTCHA a fost incorectă."
+
+#: deps/recaptcha_django/__init__.py:24
+msgid "Bad reCAPTCHA verification parameters."
+msgstr "Parametri verificare reCAPTCHA eronați."
+
+#: deps/recaptcha_django/__init__.py:25
+msgid "Provided reCAPTCHA API keys are not valid for this domain."
+msgstr "Cheile reCAPTCHA API furnizate nu sunt valide pentru acest domeniu."
+
+#: deps/recaptcha_django/__init__.py:26
+msgid "ReCAPTCHA could not be reached."
+msgstr "ReCAPTCHA nu poate fi lansat."
+
+#: deps/recaptcha_django/__init__.py:73
+msgid "Invalid request"
+msgstr "Cerere nevalidă"
+
+#: importers/stackexchange/management/commands/load_stackexchange.py:128
+msgid "Congratulations, you are now an Administrator"
+msgstr "Felicitări, de acum sunteți un administrator"
+
+#: management/commands/send_email_alerts.py:103
+#, python-format
+msgid "\" and \"%s\""
+msgstr "\" și \"%s\""
+
+#: management/commands/send_email_alerts.py:106
+msgid "\" and more"
+msgstr "\" și în plus"
+
+#: management/commands/send_email_alerts.py:111
+#, python-format
+msgid "%(question_count)d updated question about %(topics)s"
+msgid_plural "%(question_count)d updated questions about %(topics)s"
+msgstr[0] "%(question_count)d întrebare actualizată despre %(topics)s"
+msgstr[1] "%(question_count)d întrebări actualizate despre %(topics)s"
+msgstr[2] "%(question_count)d de întrebări actualizate despre %(topics)s"
+
+#: management/commands/send_email_alerts.py:484
+#, python-format
+msgid "%(name)s, this is an update message header for %(num)d question"
+msgid_plural ""
+"%(name)s, this is an update message header for %(num)d questions"
+msgstr[0] ""
+"%(name)s, acesta este un antet de mesaj actualizat pentru %(num)d întrebare"
+msgstr[1] ""
+"%(name)s, acesta este un antet de mesaj actualizat pentru %(num)d întrebări"
+msgstr[2] ""
+"%(name)s, acesta este un antet de mesaj actualizat pentru %(num)d de "
+"întrebări"
+
+#: management/commands/send_email_alerts.py:501
+msgid "new question"
+msgstr "întrebare nouă"
+
+#: management/commands/send_email_alerts.py:518
+msgid ""
+"Please visit the askbot and see what's new! Could you spread the word about "
+"it - can somebody you know help answering those questions or benefit from "
+"posting one?"
+msgstr ""
+"Vizitați pagina askbot pentru a afla noutățile! Puteți duce vestea mai "
+"departe - poate că cineva cunoscut are răspunsuri pentru aceste întrebări "
+"sau dorește să posteze o întrebare."
+
+#: management/commands/send_email_alerts.py:530
+msgid ""
+"Your most frequent subscription setting is 'daily' on selected questions. If "
+"you are receiving more than one email per dayplease tell about this issue to "
+"the askbot administrator."
+msgstr ""
+"Frecvența aleasă de dumneavoastră pentru a primi întrebările selectate este "
+"„zilnic”. Dacă primiți mai mult de un e-mail pe zi, adresați-vă "
+"administratorului paginii askbot pentru a raporta problema."
+
+#: management/commands/send_email_alerts.py:536
+msgid ""
+"Your most frequent subscription setting is 'weekly' if you are receiving "
+"this email more than once a week please report this issue to the askbot "
+"administrator."
+msgstr ""
+"Frecvența aleasă de dumneavoastră pentru a primi întrebările selectate este "
+"„săptămânal”. Dacă primiți mai mult de un e-mail pe săptămână, adresați-vă "
+"administratorului paginii askbot pentru a raporta problema."
+
+#: management/commands/send_email_alerts.py:542
+msgid ""
+"There is a chance that you may be receiving links seen before - due to a "
+"technicality that will eventually go away. "
+msgstr ""
+"Există posibilitatea unele legături pe care le-ați primit deja să vă fie din "
+"nou trimise - cauza este de natură tehnică și va fi remediată. "
+
+#: management/commands/send_email_alerts.py:548
+#, python-format
+msgid ""
+"go to %(email_settings_link)s to change frequency of email updates or "
+"%(admin_email)s administrator"
+msgstr ""
+"mergeți la %(email_settings_link)s pentru a modifica frecvența e-mail-urilor "
+"cu actualizări sau %(admin_email)s de administrare"
+
+#: models/__init__.py:299
+msgid ""
+"Sorry, you cannot accept or unaccept best answers because your account is "
+"blocked"
+msgstr ""
+"Nu puteți accepta sau refuza cele mai bune răspunsuri deoarece contul "
+"dumneavoastră este blocat"
+
+#: models/__init__.py:304
+msgid ""
+"Sorry, you cannot accept or unaccept best answers because your account is "
+"suspended"
+msgstr ""
+"Nu puteți accepta sau refuza cele mai bune răspunsuri deoarece contul "
+"dumneavoastră este suspendat"
+
+#: models/__init__.py:310
+msgid ""
+"Sorry, you cannot accept or unaccept your own answer to your own question"
+msgstr ""
+"Nu se poate accepta sau revoca acceptarea pentru propriul răspuns la propria "
+"întrebare"
+
+#: models/__init__.py:317
+#, python-format
+msgid ""
+"Sorry, only original author of the question - %(username)s - can accept the "
+"best answer"
+msgstr ""
+"Numai autorul original al întrebării - %(username)s - poate accepta cel mai "
+"bun răspuns"
+
+#: models/__init__.py:340
+msgid "cannot vote for own posts"
+msgstr "nu se pot vota mesajele proprii"
+
+#: models/__init__.py:343
+msgid "Sorry your account appears to be blocked "
+msgstr "Contul dumneavoastră pare a fi blocat "
+
+#: models/__init__.py:348
+msgid "Sorry your account appears to be suspended "
+msgstr "Contul dumneavoastră pare a fi suspendat "
+
+#: models/__init__.py:358
+#, python-format
+msgid ">%(points)s points required to upvote"
+msgstr "Sunt necesare >%(points)s puncte pentru a vota pozitiv"
+
+#: models/__init__.py:364
+#, python-format
+msgid ">%(points)s points required to downvote"
+msgstr "sunt necesare %(points)s puncte pentru a dezaprova"
+
+#: models/__init__.py:379
+msgid "Sorry, blocked users cannot upload files"
+msgstr "Utilizatorii blocați nu pot încărca fișiere"
+
+#: models/__init__.py:380
+msgid "Sorry, suspended users cannot upload files"
+msgstr "Utilizatorii suspendați nu pot încărca fișiere"
+
+#: models/__init__.py:382
+#, python-format
+msgid ""
+"uploading images is limited to users with >%(min_rep)s reputation points"
+msgstr ""
+"încărcarea de imagini este limitată utilizatorilor cu mai mult de "
+"%(min_rep)s puncte de reputație"
+
+#: models/__init__.py:401 models/__init__.py:468 models/__init__.py:2320
+msgid "blocked users cannot post"
+msgstr "utilizatorii blocați nu pot introduce postări"
+
+#: models/__init__.py:402 models/__init__.py:2323
+msgid "suspended users cannot post"
+msgstr "utilizatorii suspendați nu pot introduce postări"
+
+#: models/__init__.py:429
+#, python-format
+msgid ""
+"Sorry, comments (except the last one) are editable only within %(minutes)s "
+"minute from posting"
+msgid_plural ""
+"Sorry, comments (except the last one) are editable only within %(minutes)s "
+"minutes from posting"
+msgstr[0] ""
+"Comentariile (cu excepția ultimului) pot fi modificate numai într-un "
+"interval de %(minutes)s minut de la postare"
+msgstr[1] ""
+"Comentariile (cu excepția ultimului) pot fi modificate numai într-un "
+"interval de %(minutes)s minute de la postare"
+msgstr[2] ""
+"Comentariile (cu excepția ultimului) pot fi modificate numai într-un "
+"interval de %(minutes)s de minute de la postare"
+
+#: models/__init__.py:441
+msgid "Sorry, but only post owners or moderators can edit comments"
+msgstr ""
+"Doar cel care a adăugat mesajul și moderatorii pot modifica comentariile"
+
+#: models/__init__.py:454
+msgid ""
+"Sorry, since your account is suspended you can comment only your own posts"
+msgstr ""
+"Deoarece contul dumneavoastră este suspendat, puteți comenta numai postările "
+"proprii"
+
+#: models/__init__.py:458
+#, python-format
+msgid ""
+"Sorry, to comment any post a minimum reputation of %(min_rep)s points is "
+"required. You can still comment your own posts and answers to your questions"
+msgstr ""
+"Ne pare rău, pentru a comenta la un mesaj este necesar un minim de "
+"%(min_rep)s puncte de reputație. Puteți în continuare să comentați mesajele "
+"și răspunsurile pentru întrebările proprii"
+
+#: models/__init__.py:486
+msgid ""
+"This post has been deleted and can be seen only by post owners, site "
+"administrators and moderators"
+msgstr ""
+"Această postare a fost ștearsă și poate fi văzută numai de către "
+"proprietari, administratorii site-ului și moderatori"
+
+#: models/__init__.py:503
+msgid ""
+"Sorry, only moderators, site administrators and post owners can edit deleted "
+"posts"
+msgstr ""
+"Numai moderatorii, administratorii site-ului și proprietarii postării pot "
+"modifica postările șterse"
+
+#: models/__init__.py:518
+msgid "Sorry, since your account is blocked you cannot edit posts"
+msgstr ""
+"Deoarece contul dumneavoastră este blocat, nu puteți modifica postările"
+
+#: models/__init__.py:522
+msgid ""
+"Sorry, since your account is suspended you can edit only your own posts"
+msgstr ""
+"Deoarece contul dumneavoastră este suspendat, puteți modifica numai "
+"postările proprii"
+
+#: models/__init__.py:527
+#, python-format
+msgid ""
+"Sorry, to edit wiki posts, a minimum reputation of %(min_rep)s is required"
+msgstr ""
+"Pentru a modifica wiki-ul, este necesar un minim de %(min_rep)s puncte de "
+"reputație"
+
+#: models/__init__.py:534
+#, python-format
+msgid ""
+"Sorry, to edit other people's posts, a minimum reputation of %(min_rep)s is "
+"required"
+msgstr ""
+"Ne pare rău, pentru a modifica mesajele altor utilizatori este nevoie de un "
+"minim de %(min_rep)s puncte de reputație"
+
+#: models/__init__.py:597
+msgid ""
+"Sorry, cannot delete your question since it has an upvoted answer posted by "
+"someone else"
+msgid_plural ""
+"Sorry, cannot delete your question since it has some upvoted answers posted "
+"by other users"
+msgstr[0] ""
+"Nu puteți șterge întrebarea deoarece beneficiază de un răspuns votat pozitiv "
+"de altcineva."
+msgstr[1] ""
+"Nu puteți șterge întrebarea deoarece beneficiază de răspunsuri votate "
+"pozitiv de alți utilizatori."
+msgstr[2] ""
+"Nu puteți șterge întrebarea deoarece beneficiază de răspunsuri votate "
+"pozitiv de alți utilizatori."
+
+#: models/__init__.py:612
+msgid "Sorry, since your account is blocked you cannot delete posts"
+msgstr "Deoarece contul dumneavoastră este blocat, nu puteți șterge postări"
+
+#: models/__init__.py:616
+msgid ""
+"Sorry, since your account is suspended you can delete only your own posts"
+msgstr ""
+"Deoarece contul dumneavoastră este suspendat, puteți șterge numai postările "
+"proprii"
+
+#: models/__init__.py:620
+#, python-format
+msgid ""
+"Sorry, to deleted other people' posts, a minimum reputation of %(min_rep)s "
+"is required"
+msgstr ""
+"Ne pare rău, pentru a șterge mesajele altor utilizatori este nevoie de un "
+"minim de %(min_rep)s puncte de reputație"
+
+#: models/__init__.py:640
+msgid "Sorry, since your account is blocked you cannot close questions"
+msgstr ""
+"Deoarece contul dumneavoastră este blocat, nu puteți închide întrebări"
+
+#: models/__init__.py:644
+msgid "Sorry, since your account is suspended you cannot close questions"
+msgstr ""
+"Deoarece contul dumneavoastră este suspendat, nu puteți închide întrebări"
+
+#: models/__init__.py:648
+#, python-format
+msgid ""
+"Sorry, to close other people' posts, a minimum reputation of %(min_rep)s is "
+"required"
+msgstr ""
+"Ne pare rău, pentru a închide mesajele altor utilizatori este nevoie de un "
+"minim de %(min_rep)s puncte de reputație"
+
+#: models/__init__.py:657
+#, python-format
+msgid ""
+"Sorry, to close own question a minimum reputation of %(min_rep)s is required"
+msgstr ""
+"Ne pare rău, pentru a închide propria întrebare este nevoie de un minim de "
+"%(min_rep)s puncte de reputație"
+
+#: models/__init__.py:681
+#, python-format
+msgid ""
+"Sorry, only administrators, moderators or post owners with reputation > "
+"%(min_rep)s can reopen questions."
+msgstr ""
+"Ne pare rău, doar administratorii, moderatorii și proprietarii mesajelor cu "
+"o reputație de minim %(min_rep)s puncte de reputație pot redeschide "
+"întrebări."
+
+#: models/__init__.py:687
+#, python-format
+msgid ""
+"Sorry, to reopen own question a minimum reputation of %(min_rep)s is required"
+msgstr ""
+"Ne pare rău, pentru a redesche propria întrebare este nevoie de un minim de "
+"%(min_rep)s puncte de reputație"
+
+#: models/__init__.py:707
+msgid "cannot flag message as offensive twice"
+msgstr "nu se poate marca ofensiv de mai multe ori"
+
+#: models/__init__.py:712
+msgid "blocked users cannot flag posts"
+msgstr "utilizatorii blocați nu pot marca postări"
+
+#: models/__init__.py:714
+msgid "suspended users cannot flag posts"
+msgstr "utilizatorii suspendați nu pot marca postări"
+
+#: models/__init__.py:716
+#, python-format
+msgid "need > %(min_rep)s points to flag spam"
+msgstr ""
+"este nevoie de mai mult de %(min_rep)s puncte pentru a marca drept spam"
+
+#: models/__init__.py:735
+#, python-format
+msgid "%(max_flags_per_day)s exceeded"
+msgstr "ați depășit %(max_flags_per_day)s"
+
+#: models/__init__.py:750
+msgid ""
+"Sorry, only question owners, site administrators and moderators can retag "
+"deleted questions"
+msgstr ""
+"Numai proprietarii întrebării, administratorii site-ului și moderatorii pot "
+"reeticheta întrebările șterse"
+
+#: models/__init__.py:757
+msgid "Sorry, since your account is blocked you cannot retag questions"
+msgstr ""
+"Deoarece contul dumneavoastră este blocat, nu puteți reeticheta întrebări"
+
+#: models/__init__.py:761
+msgid ""
+"Sorry, since your account is suspended you can retag only your own questions"
+msgstr ""
+"Deoarece contul dumneavoastră este suspendat, puteți reeticheta numai "
+"întrebările proprii"
+
+#: models/__init__.py:765
+#, python-format
+msgid ""
+"Sorry, to retag questions a minimum reputation of %(min_rep)s is required"
+msgstr ""
+"Ne pare rău, pentru a reeticheta întrebări este nevoie de un minim de "
+"%(min_rep)s puncte de reputație"
+
+#: models/__init__.py:784
+msgid "Sorry, since your account is blocked you cannot delete comment"
+msgstr ""
+"Deoarece contul dumneavoastră este blocat, nu puteți șterge comentarii"
+
+#: models/__init__.py:788
+msgid ""
+"Sorry, since your account is suspended you can delete only your own comments"
+msgstr ""
+"Deoarece contul dumneavoastră este suspendat, puteți șterge numai propriile "
+"comentarii"
+
+#: models/__init__.py:792
+#, python-format
+msgid "Sorry, to delete comments reputation of %(min_rep)s is required"
+msgstr ""
+"Ne pare rău, pentru a șterge un comentariu este nevoie de un minim de "
+"%(min_rep)s puncte de reputație"
+
+#: models/__init__.py:815
+msgid "cannot revoke old vote"
+msgstr "voturile vechi nu pot fi revocate"
+
+#: models/__init__.py:1354
+msgid "Anonymous"
+msgstr "Anonim"
+
+#: models/__init__.py:1440 views/users.py:362
+msgid "Site Adminstrator"
+msgstr "Administrator"
+
+#: models/__init__.py:1442 views/users.py:364
+msgid "Forum Moderator"
+msgstr "Moderator"
+
+#: models/__init__.py:1444 views/users.py:366
+msgid "Suspended User"
+msgstr "Utilizator suspendat"
+
+#: models/__init__.py:1446 views/users.py:368
+msgid "Blocked User"
+msgstr "Utilizator blocat"
+
+#: models/__init__.py:1448 views/users.py:370
+msgid "Registered User"
+msgstr "Utilizator înregistrat"
+
+#: models/__init__.py:1450
+msgid "Watched User"
+msgstr "Utilizator urmărit"
+
+#: models/__init__.py:1452
+msgid "Approved User"
+msgstr "Utilizator aprobat"
+
+#: models/__init__.py:1508
+#, python-format
+msgid "%(username)s karma is %(reputation)s"
+msgstr "%(username)s are %(reputation)s puncte de reputație"
+
+#: models/__init__.py:1518
+#, python-format
+msgid "one gold badge"
+msgid_plural "%(count)d gold badges"
+msgstr[0] "o insignă de aur"
+msgstr[1] "%(count)d insigne de aur"
+msgstr[2] "%(count)d de insigne de aur"
+
+#: models/__init__.py:1525
+#, python-format
+msgid "one silver badge"
+msgid_plural "%(count)d silver badges"
+msgstr[0] "o insignă de argint"
+msgstr[1] "%(count)d insigne de argint"
+msgstr[2] "%(count)d de insigne de argint"
+
+#: models/__init__.py:1532
+#, python-format
+msgid "one bronze badge"
+msgid_plural "%(count)d bronze badges"
+msgstr[0] "o insignă de bronz"
+msgstr[1] "%(count)d insigne de bronz"
+msgstr[2] "%(count)d de insigne de bronz"
+
+#: models/__init__.py:1543
+#, python-format
+msgid "%(item1)s and %(item2)s"
+msgstr "%(item1)s și %(item2)s"
+
+#: models/__init__.py:1547
+#, python-format
+msgid "%(user)s has %(badges)s"
+msgstr "%(user)s are %(badges)s"
+
+#: models/__init__.py:1920 models/__init__.py:1926 models/__init__.py:1931
+#: models/__init__.py:1936
+#, python-format
+msgid "Re: \"%(title)s\""
+msgstr "Re: \"%(title)s\""
+
+#: models/__init__.py:1941 models/__init__.py:1946
+#, python-format
+msgid "Question: \"%(title)s\""
+msgstr "Întrebare: „%(title)s”"
+
+#: models/__init__.py:2116
+#, python-format
+msgid ""
+"Congratulations, you have received a badge '%(badge_name)s'. Check out <a "
+"href=\"%(user_profile)s\">your profile</a>."
+msgstr ""
+"Felicitări, ați obținut o insignă „%(badge_name)s”. Verificați <a "
+"href=\"%(user_profile)s\">profilul propriu</a>."
+
+#: models/__init__.py:2295 views/commands.py:396
+msgid "Your tag subscription was saved, thanks!"
+msgstr "Abonarea la etichetă a fost salvată!"
+
+#: models/answer.py:105
+msgid ""
+"Sorry, the answer you are looking for is no longer available, because the "
+"parent question has been removed"
+msgstr ""
+"Ne pare rău, răspunsul pe care îl cautați nu mai etse disponibil deoarece "
+"întrebarea asociată a fost ștearsă"
+
+#: models/answer.py:112
+msgid "Sorry, this answer has been removed and is no longer accessible"
+msgstr ""
+"Ne pară rău, această întrebarea a fost ștearsă și nu mai este accesibilă"
+
+#: models/badges.py:129
+#, python-format
+msgid "Deleted own post with %(votes)s or more upvotes"
+msgstr "A șters mesajul propriu cu %(votes)s sau mai multe voturi"
+
+#: models/badges.py:133
+msgid "Disciplined"
+msgstr "Disciplinat"
+
+#: models/badges.py:151
+#, python-format
+msgid "Deleted own post with %(votes)s or more downvotes"
+msgstr "A șters propriul mesaj cu %(votes)s sau mai multe voturi negative"
+
+#: models/badges.py:155
+msgid "Peer Pressure"
+msgstr "Presat de colegi"
+
+#: models/badges.py:174
+#, python-format
+msgid "Received at least %(votes)s upvote for an answer for the first time"
+msgstr ""
+"A primit cel puțin %(votes)s voturi pozitive pentru un răspuns pentru prima "
+"dată"
+
+#: models/badges.py:178
+msgid "Teacher"
+msgstr "Profesor"
+
+#: models/badges.py:218
+msgid "Supporter"
+msgstr "Suporter"
+
+#: models/badges.py:219
+msgid "First upvote"
+msgstr "Primul vot pozitiv"
+
+#: models/badges.py:227
+msgid "Critic"
+msgstr "Critic"
+
+#: models/badges.py:228
+msgid "First downvote"
+msgstr "Primul vot negativ"
+
+#: models/badges.py:237
+msgid "Civic Duty"
+msgstr "Datoria civică"
+
+#: models/badges.py:238
+#, python-format
+msgid "Voted %(num)s times"
+msgstr "A votat de %(num)s de ori"
+
+#: models/badges.py:252
+#, python-format
+msgid "Answered own question with at least %(num)s up votes"
+msgstr "A răspuns proprieri întrebări cu cel puțin %(num)s voturi pozitive"
+
+#: models/badges.py:256
+msgid "Self-Learner"
+msgstr "Autodidact"
+
+#: models/badges.py:304
+msgid "Nice Answer"
+msgstr "Răspuns frumos"
+
+#: models/badges.py:309 models/badges.py:321 models/badges.py:333
+#, python-format
+msgid "Answer voted up %(num)s times"
+msgstr "Răspuns votat pozitiv de %(num)s de ori"
+
+#: models/badges.py:316
+msgid "Good Answer"
+msgstr "Răspuns bun"
+
+#: models/badges.py:328
+msgid "Great Answer"
+msgstr "Răspuns grozav"
+
+#: models/badges.py:340
+msgid "Nice Question"
+msgstr "Întrebare frumoasă"
+
+#: models/badges.py:345 models/badges.py:357 models/badges.py:369
+#, python-format
+msgid "Question voted up %(num)s times"
+msgstr "Întrebare votată pozitiv de %(num)s de ori"
+
+#: models/badges.py:352
+msgid "Good Question"
+msgstr "Întrebare bună"
+
+#: models/badges.py:364
+msgid "Great Question"
+msgstr "Întrebare grozavă"
+
+#: models/badges.py:376
+msgid "Student"
+msgstr "Student"
+
+#: models/badges.py:381
+msgid "Asked first question with at least one up vote"
+msgstr "A întrebat prima întrebare cu cel puțin un vot pozitiv"
+
+#: models/badges.py:414
+msgid "Popular Question"
+msgstr "Întrebare populară"
+
+#: models/badges.py:418 models/badges.py:429 models/badges.py:441
+#, python-format
+msgid "Asked a question with %(views)s views"
+msgstr "A pus o întrebare cu %(views)s vizualizări"
+
+#: models/badges.py:425
+msgid "Notable Question"
+msgstr "Întrebare notabilă"
+
+#: models/badges.py:436
+msgid "Famous Question"
+msgstr "Întrebare faimoasă"
+
+#: models/badges.py:450
+msgid "Asked a question and accepted an answer"
+msgstr "A pus o întrebare și a acceptat răspunsul"
+
+#: models/badges.py:453
+msgid "Scholar"
+msgstr "Elev"
+
+#: models/badges.py:495
+msgid "Enlightened"
+msgstr "Luminat"
+
+#: models/badges.py:499
+#, python-format
+msgid "First answer was accepted with %(num)s or more votes"
+msgstr "Primul răspuns a fost acceptat cu %(num)s sau mai multe voturi"
+
+#: models/badges.py:507
+msgid "Guru"
+msgstr "Guru"
+
+#: models/badges.py:510
+#, python-format
+msgid "Answer accepted with %(num)s or more votes"
+msgstr "Răspuns acceptat cu %(num)s sau mai multe voturi"
+
+#: models/badges.py:518
+#, python-format
+msgid ""
+"Answered a question more than %(days)s days later with at least %(votes)s "
+"votes"
+msgstr ""
+"A răspuns unei întrebări mai mult de %(days)s zile mai târziu cu cel puțin "
+"%(votes)s voturi"
+
+#: models/badges.py:525
+msgid "Necromancer"
+msgstr ""
+
+#: models/badges.py:548
+msgid "Citizen Patrol"
+msgstr "Patrula comunitară"
+
+#: models/badges.py:551
+msgid "First flagged post"
+msgstr "Primul mesaj marcat ca ofensiv"
+
+#: models/badges.py:563
+msgid "Cleanup"
+msgstr "Curățenie"
+
+#: models/badges.py:566
+msgid "First rollback"
+msgstr "Prima revenire la o versiune anterioară"
+
+#: models/badges.py:577
+msgid "Pundit"
+msgstr "Cărturar"
+
+#: models/badges.py:580
+msgid "Left 10 comments with score of 10 or more"
+msgstr "A lăsat 10 comentarii cu scorul de 10 sau mai mult"
+
+#: models/badges.py:612
+msgid "Editor"
+msgstr "Editor"
+
+#: models/badges.py:615
+msgid "First edit"
+msgstr "Prima modificare"
+
+#: models/badges.py:623
+msgid "Associate Editor"
+msgstr "Editor asociat"
+
+#: models/badges.py:627
+#, python-format
+msgid "Edited %(num)s entries"
+msgstr "A modificat %(num)s intrări"
+
+#: models/badges.py:634
+msgid "Organizer"
+msgstr "Organizator"
+
+#: models/badges.py:637
+msgid "First retag"
+msgstr "Prima reetichetare"
+
+#: models/badges.py:644
+msgid "Autobiographer"
+msgstr "Autobiograf"
+
+#: models/badges.py:647
+msgid "Completed all user profile fields"
+msgstr "A completat toate câmpurile din profil"
+
+#: models/badges.py:663
+#, python-format
+msgid "Question favorited by %(num)s users"
+msgstr "Întrebare favorită pentru %(num)s utilizatori"
+
+#: models/badges.py:689
+msgid "Stellar Question"
+msgstr "Întrebare stelară"
+
+#: models/badges.py:698
+msgid "Favorite Question"
+msgstr "Întrebare favorită"
+
+#: models/badges.py:710
+msgid "Enthusiast"
+msgstr "Entuziast"
+
+#: models/badges.py:714
+#, python-format
+msgid "Visited site every day for %(num)s days in a row"
+msgstr "A vizitat siteul în fiecare zi pentru %(num)s zile consecutive"
+
+#: models/badges.py:732
+msgid "Commentator"
+msgstr "Comentator"
+
+#: models/badges.py:736
+#, python-format
+msgid "Posted %(num_comments)s comments"
+msgstr "A adăugat %(num_comments)s comentarii"
+
+#: models/badges.py:752
+msgid "Taxonomist"
+msgstr "Taxonomist"
+
+#: models/badges.py:756
+#, python-format
+msgid "Created a tag used by %(num)s questions"
+msgstr "A creat o etichetă folosită în %(num)s întrebări"
+
+#: models/badges.py:776
+msgid "Expert"
+msgstr "Expert"
+
+#: models/badges.py:779
+msgid "Very active in one tag"
+msgstr "Foarte activ pe o anumită etichetă"
+
+#: models/meta.py:111
+msgid ""
+"Sorry, the comment you are looking for is no longer accessible, because the "
+"parent question has been removed"
+msgstr ""
+"Ne pare rău, comentariu pe care îl cautați nu mai este accesibil deoarece "
+"întrebarea asociată a fost ștearsă"
+
+#: models/meta.py:118
+msgid ""
+"Sorry, the comment you are looking for is no longer accessible, because the "
+"parent answer has been removed"
+msgstr ""
+"Ne pare rău, comentariul pe care îl cautați nu mai este accesibil deoarece "
+"răspunsul asociat a fost șters"
+
+#: models/question.py:387
+msgid "Sorry, this question has been deleted and is no longer accessible"
+msgstr ""
+"Ne pare rău, această întrebare a fost ștearsă și nu mai este accesibilă"
+
+#: models/question.py:815
+#, python-format
+msgid "%(author)s modified the question"
+msgstr "%(author)s a modificat întrebarea"
+
+#: models/question.py:819
+#, python-format
+msgid "%(people)s posted %(new_answer_count)s new answers"
+msgstr "%(people)s au adăugat %(new_answer_count)s întrebări noi"
+
+#: models/question.py:824
+#, python-format
+msgid "%(people)s commented the question"
+msgstr "%(people)s au comentat întrebările"
+
+#: models/question.py:829
+#, python-format
+msgid "%(people)s commented answers"
+msgstr "%(people)s au comentat răspunsurile"
+
+#: models/question.py:831
+#, python-format
+msgid "%(people)s commented an answer"
+msgstr "%(people)s au comentat un răspuns"
+
+#: models/repute.py:142
+#, python-format
+msgid "<em>Changed by moderator. Reason:</em> %(reason)s"
+msgstr "<em>Schimbat de moderator. Motiv:</em> %(reason)s"
+
+#: models/repute.py:153
+#, python-format
+msgid ""
+"%(points)s points were added for %(username)s's contribution to question "
+"%(question_title)s"
+msgstr ""
+"%(points)s puncte au fost adăugate pentru contribuția utilizatorului "
+"%(username)s la întrebarea %(question_title)s"
+
+#: models/repute.py:158
+#, python-format
+msgid ""
+"%(points)s points were subtracted for %(username)s's contribution to "
+"question %(question_title)s"
+msgstr ""
+"%(points)s puncte au fost retrase pentru contribuția utilizatorului "
+"%(username)s la întrebarea %(question_title)s"
+
+#: models/tag.py:105
+msgid "interesting"
+msgstr "interesant"
+
+#: models/tag.py:105
+msgid "ignored"
+msgstr "ignorat"
+
+#: models/user.py:261
+msgid "Entire forum"
+msgstr "Toate întrebările"
+
+#: models/user.py:262
+msgid "Questions that I asked"
+msgstr "Întrebările pe care le-am pus"
+
+#: models/user.py:263
+msgid "Questions that I answered"
+msgstr "Întrebările la care am răspuns"
+
+#: models/user.py:264
+msgid "Individually selected questions"
+msgstr "Întrebări selectate individual"
+
+#: models/user.py:265
+msgid "Mentions and comment responses"
+msgstr "Mențiuni și răspunsuri la comentarii"
+
+#: models/user.py:268
+msgid "Instantly"
+msgstr "Imediat"
+
+#: models/user.py:269
+msgid "Daily"
+msgstr "Zilnic"
+
+#: models/user.py:270
+msgid "Weekly"
+msgstr "Săptămânal"
+
+#: models/user.py:271
+msgid "No email"
+msgstr "Fără email"
+
+#: skins/default/templates/404.jinja.html:3
+#: skins/default/templates/404.jinja.html:10
+msgid "Page not found"
+msgstr "Pagina nu a fost găsită"
+
+#: skins/default/templates/404.jinja.html:13
+msgid "Sorry, could not find the page you requested."
+msgstr "Ne pare rău, pagina cerută nu a putut fi găsită."
+
+#: skins/default/templates/404.jinja.html:15
+msgid "This might have happened for the following reasons:"
+msgstr "Acest lucru s-a întâmplat probabil din următoarele motive:"
+
+#: skins/default/templates/404.jinja.html:17
+msgid "this question or answer has been deleted;"
+msgstr "acestă întrebare sau răspuns a fost ștearsă;"
+
+#: skins/default/templates/404.jinja.html:18
+msgid "url has error - please check it;"
+msgstr "legătura conține erori - verificați;"
+
+#: skins/default/templates/404.jinja.html:19
+msgid ""
+"the page you tried to visit is protected or you don't have sufficient "
+"points, see"
+msgstr ""
+"pagina pe care ați încercat să o vizitați este protejată și nu aveți "
+"suficiente puncte, vezi"
+
+#: skins/default/templates/404.jinja.html:19
+#: skins/default/templates/blocks/footer.html:6
+#: skins/default/templates/blocks/header_meta_links.html:13
+#: skins/default/templates/blocks/question_edit_tips.html:15
+msgid "faq"
+msgstr "întrebări frecvente"
+
+#: skins/default/templates/404.jinja.html:20
+msgid "if you believe this error 404 should not have occured, please"
+msgstr ""
+"în cazul în care considerați că acestă eroare 404 nu ar trebui să apară, vă "
+"rugăm"
+
+#: skins/default/templates/404.jinja.html:21
+msgid "report this problem"
+msgstr "raportați acestă problemă"
+
+#: skins/default/templates/404.jinja.html:30
+#: skins/default/templates/500.jinja.html:11
+msgid "back to previous page"
+msgstr "mergeți înapoi la pagina anterioară"
+
+#: skins/default/templates/404.jinja.html:31
+#: skins/default/templates/main_page/tab_bar.html:9
+msgid "see all questions"
+msgstr "vezi toate întrebările"
+
+#: skins/default/templates/404.jinja.html:32
+msgid "see all tags"
+msgstr "vezi toate etichetele"
+
+#: skins/default/templates/500.jinja.html:3
+#: skins/default/templates/500.jinja.html:5
+msgid "Internal server error"
+msgstr "Eroare server internă"
+
+#: skins/default/templates/500.jinja.html:8
+msgid "system error log is recorded, error will be fixed as soon as possible"
+msgstr "eroarea a fost înregistrată și va fi rezolvată cât de curând posibil"
+
+#: skins/default/templates/500.jinja.html:9
+msgid "please report the error to the site administrators if you wish"
+msgstr "puteți raporta eroarea administratorilor acestui site"
+
+#: skins/default/templates/500.jinja.html:12
+msgid "see latest questions"
+msgstr "vezi cele mai recente întrebări"
+
+#: skins/default/templates/500.jinja.html:13
+msgid "see tags"
+msgstr "vezi etichetele"
+
+#: skins/default/templates/about.html:3 skins/default/templates/about.html:5
+#, python-format
+msgid "About %(site_name)s"
+msgstr "Despre %(site_name)s"
+
+#: skins/default/templates/answer_edit.html:4
+#: skins/default/templates/answer_edit.html:10
+msgid "Edit answer"
+msgstr "Modifică răspuns"
+
+#: skins/default/templates/answer_edit.html:10
+#: skins/default/templates/question_edit.html:9
+#: skins/default/templates/question_retag.html:5
+#: skins/default/templates/revisions.html:7
+msgid "back"
+msgstr "înapoi"
+
+#: skins/default/templates/answer_edit.html:15
+#: skins/default/templates/question_edit.html:11
+msgid "revision"
+msgstr "revizie"
+
+#: skins/default/templates/answer_edit.html:18
+#: skins/default/templates/question_edit.html:16
+msgid "select revision"
+msgstr "alege revizia"
+
+#: skins/default/templates/answer_edit.html:22
+#: skins/default/templates/question_edit.html:20
+msgid "Save edit"
+msgstr "Salvează modificările"
+
+#: skins/default/templates/answer_edit.html:23
+#: skins/default/templates/close.html:16
+#: skins/default/templates/feedback.html:42
+#: skins/default/templates/question_edit.html:21
+#: skins/default/templates/question_retag.html:23
+#: skins/default/templates/reopen.html:27
+#: skins/default/templates/subscribe_for_tags.html:16
+#: skins/default/templates/authopenid/changeemail.html:38
+#: skins/default/templates/user_profile/user_edit.html:84
+msgid "Cancel"
+msgstr "Anulează"
+
+#: skins/default/templates/answer_edit.html:62
+#: skins/default/templates/answer_edit.html:65
+#: skins/default/templates/ask.html:43 skins/default/templates/ask.html:46
+#: skins/default/templates/macros.html:592
+#: skins/default/templates/question.html:477
+#: skins/default/templates/question.html:480
+#: skins/default/templates/question_edit.html:62
+#: skins/default/templates/question_edit.html:65
+msgid "hide preview"
+msgstr "ascunde previzualizarea"
+
+#: skins/default/templates/answer_edit.html:65
+#: skins/default/templates/ask.html:46
+#: skins/default/templates/question.html:480
+#: skins/default/templates/question_edit.html:65
+msgid "show preview"
+msgstr "arată previzualizarea"
+
+#: skins/default/templates/ask.html:3
+msgid "Ask a question"
+msgstr "Puneți o întrebare"
+
+#: skins/default/templates/badge.html:4 skins/default/templates/badge.html:8
+#: skins/default/templates/user_profile/user_recent.html:16
+#: skins/default/templates/user_profile/user_stats.html:106
+#, python-format
+msgid "%(name)s"
+msgstr "%(name)s"
+
+#: skins/default/templates/badge.html:4
+msgid "Badge"
+msgstr "Insignă"
+
+#: skins/default/templates/badge.html:6
+#, python-format
+msgid "Badge \"%(name)s\""
+msgstr "Insigna „%(name)s”"
+
+#: skins/default/templates/badge.html:8
+#: skins/default/templates/user_profile/user_recent.html:16
+#: skins/default/templates/user_profile/user_stats.html:106
+#, python-format
+msgid "%(description)s"
+msgstr "%(description)s"
+
+#: skins/default/templates/badge.html:13
+msgid "user received this badge:"
+msgid_plural "users received this badge:"
+msgstr[0] "utilizator care a primit această insignă:"
+msgstr[1] "utilizatorii care au primit acestă insignă:"
+msgstr[2] "utilizatorii care au primit acestă insignă:"
+
+#: skins/default/templates/badges.html:3
+msgid "Badges summary"
+msgstr "Sumar insigne"
+
+#: skins/default/templates/badges.html:5
+msgid "Badges"
+msgstr "Insigne"
+
+#: skins/default/templates/badges.html:7
+msgid "Community gives you awards for your questions, answers and votes."
+msgstr ""
+"Comunitatea vă recompensează pentru întrebările, răspunsurile și voturile "
+"dumneavoastră."
+
+#: skins/default/templates/badges.html:8
+#, python-format
+msgid ""
+"Below is the list of available badges and number \n"
+"of times each type of badge has been awarded. Give us feedback at "
+"%(feedback_faq_url)s.\n"
+msgstr ""
+"Mai jos este lista insignelor disponibile și numărul \n"
+"de ori fiecare dintre ele a fost obținuntă. Puteți trimite sugestiile "
+"voastre la %(feedback_faq_url)s.\n"
+
+#: skins/default/templates/badges.html:35
+msgid "Community badges"
+msgstr "Insigne ale comunității"
+
+#: skins/default/templates/badges.html:37
+msgid "gold badge: the highest honor and is very rare"
+msgstr "insignă de aur: cea mai înaltă onoare ... și foarte rară"
+
+#: skins/default/templates/badges.html:40
+msgid "gold badge description"
+msgstr "descriere insignă de aur"
+
+#: skins/default/templates/badges.html:45
+msgid ""
+"silver badge: occasionally awarded for the very high quality contributions"
+msgstr ""
+"insignă de argint: acordată ocazional pentru contribuții de cea mai bună "
+"calitate"
+
+#: skins/default/templates/badges.html:49
+msgid "silver badge description"
+msgstr "descriere insignă de argint"
+
+#: skins/default/templates/badges.html:52
+msgid "bronze badge: often given as a special honor"
+msgstr ""
+"insignă de argint: acordată adesea pentru a onora pe cineva într-un mod "
+"special"
+
+#: skins/default/templates/badges.html:56
+msgid "bronze badge description"
+msgstr "descriere insignă de bronz"
+
+#: skins/default/templates/close.html:3 skins/default/templates/close.html:5
+msgid "Close question"
+msgstr "Închide întrebarea"
+
+#: skins/default/templates/close.html:6
+msgid "Close the question"
+msgstr "Închide întrebarea"
+
+#: skins/default/templates/close.html:11
+msgid "Reasons"
+msgstr "Motive"
+
+#: skins/default/templates/close.html:15
+msgid "OK to close"
+msgstr "Ok pentru închidere"
+
+#: skins/default/templates/faq.html:3 skins/default/templates/faq.html.py:5
+msgid "FAQ"
+msgstr "Întrebări frecvente"
+
+#: skins/default/templates/faq.html:5
+msgid "Frequently Asked Questions "
+msgstr "Întrebări frecvente "
+
+#: skins/default/templates/faq.html:6
+msgid "What kinds of questions can I ask here?"
+msgstr "Ce fel de întrebări pot întreba aici?"
+
+#: skins/default/templates/faq.html:7
+msgid ""
+"Most importanly - questions should be <strong>relevant</strong> to this "
+"community."
+msgstr ""
+"Cel mai important - întrebările trebuie să fie <strong>relevante</strong> "
+"pentru această comunitate."
+
+#: skins/default/templates/faq.html:8
+msgid ""
+"Before asking the question - please make sure to use search to see whether "
+"your question has alredy been answered."
+msgstr ""
+"Înainte de a pune o întrebare vă rugăm să căutați acestă întrebare pentru a "
+"vă asigura că nu are deja un răspuns."
+
+#: skins/default/templates/faq.html:10
+msgid "What questions should I avoid asking?"
+msgstr "Ce întrebări ar trebui să evit a pune?"
+
+#: skins/default/templates/faq.html:11
+msgid ""
+"Please avoid asking questions that are not relevant to this community, too "
+"subjective and argumentative."
+msgstr ""
+"Vă rugăm să evitați a pune întrebări care nu sunt relevante pentru această "
+"comunitate, prea subiective și argumentative."
+
+#: skins/default/templates/faq.html:13
+msgid "What should I avoid in my answers?"
+msgstr "Ce ar trebui să evit în răspunsurile mele?"
+
+#: skins/default/templates/faq.html:14
+msgid ""
+"is a Q&A site, not a discussion group. Therefore - please avoid having "
+"discussions in your answers, comment facility allows some space for brief "
+"discussions."
+msgstr ""
+"Este un site pentru întrebări și răspunsuri, nu un grup de discuții. De "
+"aceea evitați purtarea unor discuții în răspunsurile dumneavoastră, mai ales "
+"că funcția pentru comentarii permite ceva spațiu pentru discuții scurte."
+
+#: skins/default/templates/faq.html:15
+msgid "Who moderates this community?"
+msgstr "Cine moderează această comunitate?"
+
+#: skins/default/templates/faq.html:16
+msgid "The short answer is: <strong>you</strong>."
+msgstr "Răspunsul scurt este: <strong>dumneavoastră</strong>."
+
+#: skins/default/templates/faq.html:17
+msgid "This website is moderated by the users."
+msgstr "Acest site web este moderat de utilizatori."
+
+#: skins/default/templates/faq.html:18
+msgid ""
+"The reputation system allows users earn the authorization to perform a "
+"variety of moderation tasks."
+msgstr ""
+"Sistemul de reputație permite utilizatorilor să câștige autoritate pe care o "
+"folosesc la realizarea mai multor sarcini de moderare."
+
+#: skins/default/templates/faq.html:20
+msgid "How does reputation system work?"
+msgstr "Cum funcționează sistemul de reputație?"
+
+#: skins/default/templates/faq.html:21
+msgid "Rep system summary"
+msgstr "Sumar al sistemului de reputație"
+
+#: skins/default/templates/faq.html:22
+#, python-format
+msgid ""
+"For example, if you ask an interesting question or give a helpful answer, "
+"your input will be upvoted. On the other hand if the answer is misleading - "
+"it will be downvoted. Each vote in favor will generate "
+"<strong>%(REP_GAIN_FOR_RECEIVING_UPVOTE)s</strong> points, each vote against "
+"will subtract <strong>%(REP_LOSS_FOR_RECEIVING_DOWNVOTE)s</strong> points. "
+"There is a limit of <strong>%(MAX_REP_GAIN_PER_USER_PER_DAY)s</strong> "
+"points that can be accumulated for a question or answer per day. The table "
+"below explains reputation point requirements for each type of moderation "
+"task."
+msgstr ""
+"De exemplu, dacă puneți o întrebare interesantă sau dacă oferiți un răspuns "
+"util, veți fi apreciat cu voturi pozitive. Pe de altă parte, dacă răspunsul "
+"este greșit, va fi votat negativ. Fiecare vot pozitiv va genera puncte "
+"<strong>%(REP_GAIN_FOR_RECEIVING_UPVOTE)s</strong> points, fiecare vot "
+"negativ va șterge puncte "
+"<strong>%(REP_LOSS_FOR_RECEIVING_DOWNVOTE)s</strong>. Există o limită a "
+"punctelor <strong>%(MAX_REP_GAIN_PER_USER_PER_DAY)s</strong> pe care le "
+"puteți acumula pentru o întrebare sau un răspuns în decursul unei zile. "
+"Tabelul de mai jos explică necesarul de puncte de reputație necesare pentru "
+"fiecare tip de sarcină de moderare."
+
+#: skins/default/templates/faq.html:32
+#: skins/default/templates/user_profile/user_votes.html:13
+msgid "upvote"
+msgstr "vot pozitiv"
+
+#: skins/default/templates/faq.html:37
+msgid "use tags"
+msgstr "utilizează etichete"
+
+#: skins/default/templates/faq.html:42
+msgid "add comments"
+msgstr "adaugă comentarii"
+
+#: skins/default/templates/faq.html:46
+#: skins/default/templates/user_profile/user_votes.html:15
+msgid "downvote"
+msgstr "vot negativ"
+
+#: skins/default/templates/faq.html:49
+msgid "open and close own questions"
+msgstr "deschide și închide propriile întrebări"
+
+#: skins/default/templates/faq.html:53
+msgid "retag other's questions"
+msgstr "reetichetează întrebările altora"
+
+#: skins/default/templates/faq.html:58
+msgid "edit community wiki questions"
+msgstr "modifică întrebările wiki-ului comunității"
+
+#: skins/default/templates/faq.html:63
+msgid "\"edit any answer"
+msgstr "\"modifică orice răspuns"
+
+#: skins/default/templates/faq.html:67
+msgid "\"delete any comment"
+msgstr "\"șterge orice comentariu"
+
+#: skins/default/templates/faq.html:70
+msgid "what is gravatar"
+msgstr "ce este gravatarul"
+
+#: skins/default/templates/faq.html:71
+msgid "gravatar faq info"
+msgstr "informații utile despre gravatar"
+
+#: skins/default/templates/faq.html:72
+msgid "To register, do I need to create new password?"
+msgstr "Pentru a mă înregistra trebuie să creez o parolă nouă?"
+
+#: skins/default/templates/faq.html:73
+msgid ""
+"No, you don't have to. You can login through any service that supports "
+"OpenID, e.g. Google, Yahoo, AOL, etc.\""
+msgstr ""
+"Nu, nu trebuie neapărat. Vă puteți autentifica prin orice serviciu care "
+"recunoaște OpenID, de ex. Google, Yahoo, AOL, etc.\""
+
+#: skins/default/templates/faq.html:74
+msgid "\"Login now!\""
+msgstr "\"Autentifică acum!\""
+
+#: skins/default/templates/faq.html:76
+msgid "Why other people can edit my questions/answers?"
+msgstr "De ce alții pot modifica întrebările/răspunsurile mele?"
+
+#: skins/default/templates/faq.html:77
+msgid "Goal of this site is..."
+msgstr "Scopul acestui site este..."
+
+#: skins/default/templates/faq.html:77
+msgid ""
+"So questions and answers can be edited like wiki pages by experienced users "
+"of this site and this improves the overall quality of the knowledge base "
+"content."
+msgstr ""
+"Întrebările și răspunsurile pot fi modifica asemănător paginilor wiki de "
+"către utilizatori cu experineță în acest fel îmbunătățindu-se calitatea "
+"bazei de cunoștințe."
+
+#: skins/default/templates/faq.html:78
+msgid "If this approach is not for you, we respect your choice."
+msgstr ""
+"Dacă această abordare nu este pe placul dumneavoastră, vă respectăm alegerea."
+
+#: skins/default/templates/faq.html:80
+msgid "Still have questions?"
+msgstr "Aveți și alte întrebări?"
+
+#: skins/default/templates/faq.html:81
+#, python-format
+msgid ""
+"Please ask your question at %(ask_question_url)s, help make our community "
+"better!"
+msgstr ""
+"Răspundeți întrebărilor la %(ask_question_url)s, ajutând astfel comunitatea "
+"să devină mai bună!"
+
+#: skins/default/templates/feedback.html:3
+msgid "Feedback"
+msgstr "Sugestii"
+
+#: skins/default/templates/feedback.html:5
+msgid "Give us your feedback!"
+msgstr "Trimite sugestia ta!"
+
+#: skins/default/templates/feedback.html:9
+#, python-format
+msgid ""
+"\n"
+" <span class='big strong'>Dear %(user_name)s</span>, we look forward "
+"to hearing your feedback. \n"
+" Please type and send us your message below.\n"
+" "
+msgstr ""
+"\n"
+" <span class='big strong'>%(user_name)s</span> așteptăm cu intereset "
+"sugestiile tale. \n"
+"Introduceți mai jos mesajul sugestiei.\n"
+" "
+
+#: skins/default/templates/feedback.html:16
+msgid ""
+"\n"
+" <span class='big strong'>Dear visitor</span>, we look forward to "
+"hearing your feedback.\n"
+" Please type and send us your message below.\n"
+" "
+msgstr ""
+"\n"
+" <span class='big strong'>Stimate vizitator(user_name)s</span> "
+"așteptăm cu intereset sugestiile tale. \n"
+"Introduceți mai jos mesajul sugestiei.\n"
+" "
+
+#: skins/default/templates/feedback.html:25
+msgid "(please enter a valid email)"
+msgstr "(introduceți o adresă de e-mail validă)"
+
+#: skins/default/templates/feedback.html:33
+msgid "(this field is required)"
+msgstr "(acest câmp este obligatoriu)"
+
+#: skins/default/templates/feedback.html:41
+msgid "Send Feedback"
+msgstr "Trimite sugestia"
+
+#: skins/default/templates/feedback_email.txt:3
+#, python-format
+msgid ""
+"\n"
+"Hello, this is a %(site_title)s forum feedback message\n"
+msgstr ""
+"\n"
+"Salut, acesta este un mesaj de sugestii pentru %(site_title)s\n"
+
+#: skins/default/templates/feedback_email.txt:9
+msgid "Sender is"
+msgstr "Expenditorul este"
+
+#: skins/default/templates/feedback_email.txt:11
+#: skins/default/templates/feedback_email.txt:14
+msgid "email"
+msgstr "email"
+
+#: skins/default/templates/feedback_email.txt:13
+msgid "anonymous"
+msgstr "anonim"
+
+#: skins/default/templates/feedback_email.txt:19
+msgid "Message body:"
+msgstr "Corp mesaj:"
+
+#: skins/default/templates/import_data.html:2
+#: skins/default/templates/import_data.html:4
+msgid "Import StackExchange data"
+msgstr "Importă date StackExchange"
+
+#: skins/default/templates/import_data.html:13
+msgid ""
+"<em>Warning:</em> if your database is not empty, please back it up\n"
+" before attempting this operation."
+msgstr ""
+"<em>Avertisment:</em> dacă baza de date nu este goală, creați o copie de "
+"siguranță\n"
+" înainte de a începe această operație."
+
+#: skins/default/templates/import_data.html:16
+msgid ""
+"Upload your stackexchange dump .zip file, then wait until\n"
+" the data import completes. This process may take several minutes.\n"
+" Please note that feedback will be printed in plain text.\n"
+" "
+msgstr ""
+"Încărcați fișierul dump .zip stackexchange, apoi așteptați până ce\n"
+" se termină importul datelor. Procesul poate dura câteva minute.\n"
+" Rețineți că feedback-ul va fi afișat în text simplu.\n"
+" "
+
+#: skins/default/templates/import_data.html:25
+msgid "Import data"
+msgstr "Import date"
+
+#: skins/default/templates/import_data.html:27
+msgid ""
+"In the case you experience any difficulties in using this import tool,\n"
+" please try importing your data via command line: <code>python "
+"manage.py load_stackexchange path/to/your-data.zip</code>"
+msgstr ""
+"În cazul în care întâmpinați dificultăți în utilizarea acestei unelte pentru "
+"import,\n"
+" încercați să importați datele utilizând linia de comandă : "
+"<code>python manage.py load_stackexchange calea/către/datele-"
+"dumneavoastră.zip</code>"
+
+#: skins/default/templates/instant_notification.html:1
+#, python-format
+msgid "<p>Dear %(receiving_user_name)s,</p>"
+msgstr "<p>%(receiving_user_name)s,</p>"
+
+#: skins/default/templates/instant_notification.html:3
+#, python-format
+msgid ""
+"\n"
+"<p>%(update_author_name)s left a <a href=\"%(post_url)s\">new "
+"comment</a>:</p>\n"
+msgstr ""
+"\n"
+"<p>%(update_author_name)s a lăsat un <a href=\"%(post_url)s\">comentariu "
+"nou</a>:</p>\n"
+
+#: skins/default/templates/instant_notification.html:8
+#, python-format
+msgid ""
+"\n"
+"<p>%(update_author_name)s left a <a href=\"%(post_url)s\">new "
+"comment</a></p>\n"
+msgstr ""
+"\n"
+"<p>%(update_author_name)s a lăsat un <a href=\"%(post_url)s\">comentariu "
+"nou</a></p>\n"
+
+#: skins/default/templates/instant_notification.html:13
+#, python-format
+msgid ""
+"\n"
+"<p>%(update_author_name)s answered a question \n"
+"<a href=\"%(post_url)s\">%(origin_post_title)s</a></p>\n"
+msgstr ""
+"\n"
+"<p>%(update_author_name)s a răspuns unei întrebări \n"
+"<a href=\"%(post_url)s\">%(origin_post_title)s</a></p>\n"
+
+#: skins/default/templates/instant_notification.html:19
+#, python-format
+msgid ""
+"\n"
+"<p>%(update_author_name)s posted a new question \n"
+"<a href=\"%(post_url)s\">%(origin_post_title)s</a></p>\n"
+msgstr ""
+"\n"
+"<p>%(update_author_name)s a postat o întrebare nouă \n"
+"<a href=\"%(post_url)s\">%(origin_post_title)s</a></p>\n"
+
+#: skins/default/templates/instant_notification.html:25
+#, python-format
+msgid ""
+"\n"
+"<p>%(update_author_name)s updated an answer to the question\n"
+"<a href=\"%(post_url)s\">%(origin_post_title)s</a></p>\n"
+msgstr ""
+"\n"
+"<p>%(update_author_name)s a actualizat un răspuns la întrebarea\n"
+"<a href=\"%(post_url)s\">%(origin_post_title)s</a></p>\n"
+
+#: skins/default/templates/instant_notification.html:31
+#, python-format
+msgid ""
+"\n"
+"<p>%(update_author_name)s updated a question \n"
+"<a href=\"%(post_url)s\">%(origin_post_title)s</a></p>\n"
+msgstr ""
+"\n"
+"<p>%(update_author_name)s a actualizat o întrebare \n"
+"<a href=\"%(post_url)s\">%(origin_post_title)s</a></p>\n"
+
+#: skins/default/templates/instant_notification.html:37
+#, python-format
+msgid ""
+"\n"
+"<div>%(content_preview)s</div>\n"
+"<p>Please note - you can easily <a "
+"href=\"%(user_subscriptions_url)s\">change</a>\n"
+"how often you receive these notifications or unsubscribe. Thank you for your "
+"interest in our forum!</p>\n"
+msgstr ""
+"\n"
+"<div>%(content_preview)s</div>\n"
+"<p>Rețineți că puteți <a href=\"%(user_subscriptions_url)s\">modifica</a> cu "
+"ușurință\n"
+"frecvența cu care primiți aceste notificări sau chiar anula abonamentul. Vă "
+"mulțumim pentru interesul acordat forumului nostru!</p>\n"
+
+#: skins/default/templates/instant_notification.html:42
+msgid "<p>Sincerely,<br/>Forum Administrator</p>"
+msgstr "<p>Cu stimă,<br/>Administrator forum</p>"
+
+#: skins/default/templates/logout.html:3 skins/default/templates/logout.html:5
+msgid "Logout"
+msgstr "Ieșire"
+
+#: skins/default/templates/logout.html:6
+msgid ""
+"As a registered user you can login with your OpenID, log out of the site or "
+"permanently remove your account."
+msgstr ""
+"Ca utilizator înregistrat vă puteți autentifica cu OpenID-ul dumneavoastră, "
+"vă puteți deautentifica sau vă puteți șterge contul definitiv."
+
+#: skins/default/templates/logout.html:7
+msgid "Logout now"
+msgstr "Ieșiți acum"
+
+#: skins/default/templates/macros.html:26
+msgid "karma:"
+msgstr "reputație:"
+
+#: skins/default/templates/macros.html:30
+msgid "badges:"
+msgstr "insigne:"
+
+#: skins/default/templates/macros.html:82
+#: skins/default/templates/macros.html:83
+msgid "previous"
+msgstr "precedentă"
+
+#: skins/default/templates/macros.html:94
+msgid "current page"
+msgstr "pagiona curentă"
+
+#: skins/default/templates/macros.html:96
+#: skins/default/templates/macros.html:103
+#, python-format
+msgid "page number %(num)s"
+msgstr "număr pagină %(num)s"
+
+#: skins/default/templates/macros.html:107
+msgid "next page"
+msgstr "pagina următoare"
+
+#: skins/default/templates/macros.html:118
+msgid "posts per page"
+msgstr "postări pe pagină"
+
+#: skins/default/templates/macros.html:150 templatetags/extra_tags.py:43
+#, python-format
+msgid "%(username)s gravatar image"
+msgstr "imagine gravatat %(username)s"
+
+#: skins/default/templates/macros.html:159
+#, python-format
+msgid "%(username)s's website is %(url)s"
+msgstr "Pagina web pentru %(username)s este %(url)s"
+
+#: skins/default/templates/macros.html:171
+msgid "anonymous user"
+msgstr "utilizator anonim"
+
+#: skins/default/templates/macros.html:199
+msgid "this post is marked as community wiki"
+msgstr "acest text este marca drep un wiki al comunității"
+
+#: skins/default/templates/macros.html:202
+#, python-format
+msgid ""
+"This post is a wiki.\n"
+" Anyone with karma &gt;%(wiki_min_rep)s is welcome to improve it."
+msgstr ""
+"Acesta este o pagină wiki.\n"
+" Oricine cu o reputație mai mare decât %(wiki_min_rep)s este binevenit "
+"să o imbunătățească."
+
+#: skins/default/templates/macros.html:208
+msgid "asked"
+msgstr "întrebat"
+
+#: skins/default/templates/macros.html:210
+msgid "answered"
+msgstr "răspuns"
+
+#: skins/default/templates/macros.html:212
+msgid "posted"
+msgstr "adăugat"
+
+#: skins/default/templates/macros.html:242
+msgid "updated"
+msgstr "actualizat"
+
+#: skins/default/templates/macros.html:309
+#, python-format
+msgid "see questions tagged '%(tag)s'"
+msgstr "afișează întrebările etichetate „%(tag)s”"
+
+#: skins/default/templates/macros.html:352 views/readers.py:231
+msgid "vote"
+msgid_plural "votes"
+msgstr[0] "vot"
+msgstr[1] "voturi"
+msgstr[2] "de voturi"
+
+#: skins/default/templates/macros.html:369 views/readers.py:234
+msgid "answer"
+msgid_plural "answers"
+msgstr[0] "răspuns"
+msgstr[1] "răspunsuri"
+msgstr[2] "de răspunsuri"
+
+#: skins/default/templates/macros.html:380 views/readers.py:237
+msgid "view"
+msgid_plural "views"
+msgstr[0] "afișare"
+msgstr[1] "afișări"
+msgstr[2] "de afișări"
+
+#: skins/default/templates/macros.html:409
+#: skins/default/templates/question.html:93
+#: skins/default/templates/question.html:249
+#: skins/default/templates/revisions.html:37
+msgid "edit"
+msgstr "modifică"
+
+#: skins/default/templates/macros.html:413
+msgid "delete this comment"
+msgstr "șterge acest comentariu"
+
+#: skins/default/templates/macros.html:431
+#: skins/default/templates/macros.html:439
+#: skins/default/templates/question.html:439
+msgid "add comment"
+msgstr "adaugă comentariu"
+
+#: skins/default/templates/macros.html:432
+#, python-format
+msgid "see <strong>%(counter)s</strong> more"
+msgid_plural "see <strong>%(counter)s</strong> more"
+msgstr[0] "afișează încă <strong>%(counter)s</strong>"
+msgstr[1] "afișează încă <strong>%(counter)s</strong>"
+msgstr[2] "afișează încă <strong>%(counter)s</strong>"
+
+#: skins/default/templates/macros.html:434
+#, python-format
+msgid "see <strong>%(counter)s</strong> more comment"
+msgid_plural ""
+"see <strong>%(counter)s</strong> more comments\n"
+" "
+msgstr[0] "afișează încă <strong>%(counter)s</strong> comentariu"
+msgstr[1] "afișează încă <strong>%(counter)s</strong> comentarii"
+msgstr[2] "afișează încă <strong>%(counter)s</strong> de comentarii"
+
+#: skins/default/templates/macros.html:569
+msgid "(required)"
+msgstr "(obligatoriu)"
+
+#: skins/default/templates/macros.html:590
+msgid "Toggle the real time Markdown editor preview"
+msgstr "Comută previzualizare în timp real pentru textul Markdown"
+
+#: skins/default/templates/macros.html:602
+#, python-format
+msgid "responses for %(username)s"
+msgstr "răspunsuri pentru %(username)s"
+
+#: skins/default/templates/macros.html:605
+#, python-format
+msgid "you have a new response"
+msgid_plural "you have %(response_count)s new responses"
+msgstr[0] "ai un răspuns nou"
+msgstr[1] "ai %(response_count)s răspunsuri noi"
+msgstr[2] "ai %(response_count)s de răspunsuri noi"
+
+#: skins/default/templates/macros.html:608
+msgid "no new responses yet"
+msgstr "încă nici un răspuns nou"
+
+#: skins/default/templates/macros.html:623
+#: skins/default/templates/macros.html:624
+#, python-format
+msgid "%(new)s new flagged posts and %(seen)s previous"
+msgstr "%(new)s postări noi marcate și %(seen)s anterioare"
+
+#: skins/default/templates/macros.html:626
+#: skins/default/templates/macros.html:627
+#, python-format
+msgid "%(new)s new flagged posts"
+msgstr "%(new)s postări noi marcate"
+
+#: skins/default/templates/macros.html:632
+#: skins/default/templates/macros.html:633
+#, python-format
+msgid "%(seen)s flagged posts"
+msgstr "%(seen)s (de) postări marcate"
+
+#: skins/default/templates/main_page.html:11
+msgid "Questions"
+msgstr "Întrebări"
+
+#: skins/default/templates/privacy.html:3
+#: skins/default/templates/privacy.html:5
+msgid "Privacy policy"
+msgstr "Politica de confidențialitate"
+
+#: skins/default/templates/question.html:27
+#: skins/default/templates/question.html:28
+#: skins/default/templates/question.html:43
+#: skins/default/templates/question.html:45
+msgid "i like this post (click again to cancel)"
+msgstr "îmi place această postare (efectuați clic din nou pentru a anula)"
+
+#: skins/default/templates/question.html:30
+#: skins/default/templates/question.html:47
+#: skins/default/templates/question.html:200
+msgid "current number of votes"
+msgstr "număr actual de voturi"
+
+#: skins/default/templates/question.html:39
+#: skins/default/templates/question.html:40
+#: skins/default/templates/question.html:52
+#: skins/default/templates/question.html:53
+msgid "i dont like this post (click again to cancel)"
+msgstr "nu îmi place această postare (efectuați clic din nou pentru a anula)"
+
+#: skins/default/templates/question.html:57
+#: skins/default/templates/question.html:58
+msgid "mark this question as favorite (click again to cancel)"
+msgstr ""
+"marchează această întrebare ca favorită (efectuați clic din nou pentru a "
+"anula)"
+
+#: skins/default/templates/question.html:64
+#: skins/default/templates/question.html:65
+msgid "remove favorite mark from this question (click again to restore mark)"
+msgstr ""
+"șterge această întrebare din grupul favoritelor (efectuați clic din nou "
+"pentru a anula)"
+
+#: skins/default/templates/question.html:71
+msgid "Share this question on twitter"
+msgstr "Partajează această întrebare pe twitter"
+
+#: skins/default/templates/question.html:72
+msgid "Share this question on facebook"
+msgstr "Partajează această întrebare pe facebook"
+
+#: skins/default/templates/question.html:96
+msgid "retag"
+msgstr "reetichetează"
+
+#: skins/default/templates/question.html:103
+msgid "reopen"
+msgstr "redeschide"
+
+#: skins/default/templates/question.html:107
+msgid "close"
+msgstr "închide"
+
+#: skins/default/templates/question.html:112
+#: skins/default/templates/question.html:253
+msgid ""
+"report as offensive (i.e containing spam, advertising, malicious text, etc.)"
+msgstr ""
+"raportează ca ofensatoare (de ex. conține spam, reclame, texte rău-voitoare, "
+"etc.)"
+
+#: skins/default/templates/question.html:113
+#: skins/default/templates/question.html:254
+msgid "flag offensive"
+msgstr "marchează ofensiv"
+
+#: skins/default/templates/question.html:120
+#: skins/default/templates/question.html:264
+msgid "undelete"
+msgstr "recuperează"
+
+#: skins/default/templates/question.html:120
+#: skins/default/templates/question.html:264
+#: skins/default/templates/authopenid/signin.html:149
+msgid "delete"
+msgstr "șterge"
+
+#: skins/default/templates/question.html:157
+#, python-format
+msgid ""
+"The question has been closed for the following reason \"%(close_reason)s\" by"
+msgstr ""
+"Această întrebare a fost închisă din următoarele motive \"%(close_reason)s\" "
+"de către"
+
+#: skins/default/templates/question.html:159
+#, python-format
+msgid "close date %(closed_at)s"
+msgstr "data închiderii %(closed_at)s"
+
+#: skins/default/templates/question.html:165
+#, python-format
+msgid ""
+"\n"
+" %(counter)s Answer:\n"
+" "
+msgid_plural ""
+"\n"
+" %(counter)s Answers:\n"
+" "
+msgstr[0] ""
+"\n"
+" %(counter)s răspuns:\n"
+" "
+msgstr[1] ""
+"\n"
+" %(counter)s răspunsuri:\n"
+" "
+msgstr[2] ""
+"\n"
+" %(counter)s de răspunsuri:\n"
+" "
+
+#: skins/default/templates/question.html:173
+msgid "oldest answers will be shown first"
+msgstr "răspunsurile mai vechi vor fi afișate întâi"
+
+#: skins/default/templates/question.html:174
+msgid "oldest answers"
+msgstr "cele mai vechi întrebări"
+
+#: skins/default/templates/question.html:176
+msgid "newest answers will be shown first"
+msgstr "răspunsurile mai noi vor fi afișate întâi"
+
+#: skins/default/templates/question.html:177
+msgid "newest answers"
+msgstr "cele mai noi răspunsuri"
+
+#: skins/default/templates/question.html:179
+msgid "most voted answers will be shown first"
+msgstr "cele mai votate răspunsuri vor fi afișate întâi"
+
+#: skins/default/templates/question.html:180
+msgid "popular answers"
+msgstr "răspunsuri populare"
+
+#: skins/default/templates/question.html:198
+#: skins/default/templates/question.html:199
+msgid "i like this answer (click again to cancel)"
+msgstr "îmi place acest răspuns (efectuați clic din nou pentru a anula)"
+
+#: skins/default/templates/question.html:209
+#: skins/default/templates/question.html:210
+msgid "i dont like this answer (click again to cancel)"
+msgstr "nu îmi place acest răspuns (efectuați clic din nou pentru a anula)"
+
+#: skins/default/templates/question.html:218
+#: skins/default/templates/question.html:219
+msgid "mark this answer as favorite (click again to undo)"
+msgstr ""
+"marchează acest răspuns ca favorit (efectuați clic din nou pentru a anula)"
+
+#: skins/default/templates/question.html:228
+#: skins/default/templates/question.html:229
+#, python-format
+msgid "%(question_author)s has selected this answer as correct"
+msgstr "%(question_author)s a ales acest răspuns ca fiind cel corect"
+
+#: skins/default/templates/question.html:244
+msgid "answer permanent link"
+msgstr "legătură permanentă întrebare"
+
+#: skins/default/templates/question.html:245
+msgid "permanent link"
+msgstr "legătură permanentă"
+
+#: skins/default/templates/question.html:314
+#: skins/default/templates/question.html:316
+msgid "Notify me once a day when there are any new answers"
+msgstr "Notifică-mă o dată pe zi când apar răspunsuri noi"
+
+#: skins/default/templates/question.html:318
+msgid "Notify me weekly when there are any new answers"
+msgstr "Notifică-mă o dată pe săptămână când apar răspunsuri noi"
+
+#: skins/default/templates/question.html:320
+msgid "Notify me immediately when there are any new answers"
+msgstr "Notifică-mă imediat ce apar răspunsuri noi"
+
+#: skins/default/templates/question.html:323
+#, python-format
+msgid ""
+"You can always adjust frequency of email updates from your %(profile_url)s"
+msgstr ""
+"Puteți oricând să modificați frecvența notificărilor mergând la pagina "
+"%(profile_url)s"
+
+#: skins/default/templates/question.html:328
+msgid "once you sign in you will be able to subscribe for any updates here"
+msgstr ""
+"odată ce vă veți autentifica, aici vă veți putea abona la orice actualizare"
+
+#: skins/default/templates/question.html:338
+msgid "Your answer"
+msgstr "Răspunsul tău"
+
+#: skins/default/templates/question.html:340
+msgid "Be the first one to answer this question!"
+msgstr "Fi primul care răspunde acestei întrebări!"
+
+#: skins/default/templates/question.html:346
+msgid "you can answer anonymously and then login"
+msgstr "puteți răspunde anonim și vă puteți autentifica după aceea"
+
+#: skins/default/templates/question.html:350
+msgid "answer your own question only to give an answer"
+msgstr "răspunde propriei întrebări doar pentru a oferi un răspuns"
+
+#: skins/default/templates/question.html:352
+msgid "please only give an answer, no discussions"
+msgstr "vă rugăm să dați doar răspunsul, fără discuții"
+
+#: skins/default/templates/question.html:359
+msgid "Login/Signup to Post Your Answer"
+msgstr "Autentifică-te / înregistrează-te pentru a adăuga răspunsul"
+
+#: skins/default/templates/question.html:362
+msgid "Answer Your Own Question"
+msgstr "Răspunde propriei întrebări"
+
+#: skins/default/templates/question.html:364
+msgid "Answer the question"
+msgstr "Răspunde întrebării"
+
+#: skins/default/templates/question.html:380
+msgid "Question tags"
+msgstr "Etichete întrebare"
+
+#: skins/default/templates/question.html:397
+msgid "question asked"
+msgstr "întrebare cu răspuns"
+
+#: skins/default/templates/question.html:400
+msgid "question was seen"
+msgstr "întrebarea a fost văzută de"
+
+#: skins/default/templates/question.html:400
+msgid "times"
+msgstr "ori"
+
+#: skins/default/templates/question.html:403
+msgid "last updated"
+msgstr "ultima actualizare"
+
+#: skins/default/templates/question.html:410
+msgid "Related questions"
+msgstr "Întrebări similare"
+
+#: skins/default/templates/question_edit.html:4
+#: skins/default/templates/question_edit.html:9
+msgid "Edit question"
+msgstr "Modifică întrebarea"
+
+#: skins/default/templates/question_retag.html:3
+#: skins/default/templates/question_retag.html:5
+msgid "Change tags"
+msgstr "Schimbă etichetele"
+
+#: skins/default/templates/question_retag.html:22
+msgid "Retag"
+msgstr "Reetichetează"
+
+#: skins/default/templates/question_retag.html:30
+msgid "Why use and modify tags?"
+msgstr "De ce să folosiți și să modificați etichetele?"
+
+#: skins/default/templates/question_retag.html:32
+msgid "Tags help to keep the content better organized and searchable"
+msgstr "Etichetele ajută la organizarea și căutarea conținutului"
+
+#: skins/default/templates/question_retag.html:34
+msgid "tag editors receive special awards from the community"
+msgstr ""
+"cei care modifică etichetele primesc recompense speciale din partea "
+"comunității"
+
+#: skins/default/templates/question_retag.html:75
+msgid "up to 5 tags, less than 20 characters each"
+msgstr "până la 5 etichete, mai puțin de 20 de caractere pentru fiecare"
+
+#: skins/default/templates/reopen.html:3 skins/default/templates/reopen.html:5
+msgid "Reopen question"
+msgstr "Redeschide întrebarea"
+
+#: skins/default/templates/reopen.html:6
+msgid "Title"
+msgstr "Titlu"
+
+#: skins/default/templates/reopen.html:11
+#, python-format
+msgid ""
+"This question has been closed by \n"
+" <a href=\"%(closed_by_profile_url)s\">%(closed_by_username)s</a>\n"
+msgstr ""
+"Această întrebare a fost închisă de \n"
+" <a href=\"%(closed_by_profile_url)s\">%(closed_by_username)s</a>\n"
+
+#: skins/default/templates/reopen.html:16
+msgid "Close reason:"
+msgstr "Motiv închidere:"
+
+#: skins/default/templates/reopen.html:19
+msgid "When:"
+msgstr "Când:"
+
+#: skins/default/templates/reopen.html:22
+msgid "Reopen this question?"
+msgstr "Redeschide această întrebare?"
+
+#: skins/default/templates/reopen.html:26
+msgid "Reopen this question"
+msgstr "Redeschide această întrebare"
+
+#: skins/default/templates/revisions.html:4
+#: skins/default/templates/revisions.html:7
+msgid "Revision history"
+msgstr "Istoric revizii"
+
+#: skins/default/templates/revisions.html:23
+msgid "click to hide/show revision"
+msgstr "clic pentru a arătă/a ascunde revizia"
+
+#: skins/default/templates/revisions.html:29
+#, python-format
+msgid "revision %(number)s"
+msgstr "revizia %(number)s"
+
+#: skins/default/templates/subscribe_for_tags.html:3
+#: skins/default/templates/subscribe_for_tags.html:5
+msgid "Subscribe for tags"
+msgstr "Abonare etichete"
+
+#: skins/default/templates/subscribe_for_tags.html:6
+msgid "Please, subscribe for the following tags:"
+msgstr "Abonați-vă la următoarele etichete:"
+
+#: skins/default/templates/subscribe_for_tags.html:15
+msgid "Subscribe"
+msgstr "Abonare"
+
+#: skins/default/templates/tags.html:4 skins/default/templates/tags.html:8
+msgid "Tag list"
+msgstr "Listă etichete"
+
+#: skins/default/templates/tags.html:14
+msgid "sorted alphabetically"
+msgstr "ordonate alfabetic"
+
+#: skins/default/templates/tags.html:15
+msgid "by name"
+msgstr "după nume"
+
+#: skins/default/templates/tags.html:20
+msgid "sorted by frequency of tag use"
+msgstr "ordonate după frecvența folosirii etichetei"
+
+#: skins/default/templates/tags.html:21
+msgid "by popularity"
+msgstr "după popularitate"
+
+#: skins/default/templates/tags.html:26
+#, python-format
+msgid ""
+"All tags matching '<span class=\"darkred\"><strong>%(stag)s</strong></span>'"
+msgstr ""
+"Toate etichetele echivalente cu '<span "
+"class=\"darkred\"><strong>%(stag)s</strong></span>'"
+
+#: skins/default/templates/tags.html:29
+msgid "Nothing found"
+msgstr "Nu a fost găsit nimic"
+
+#: skins/default/templates/users.html:4 skins/default/templates/users.html:7
+msgid "Users"
+msgstr "Utilizatori"
+
+#: skins/default/templates/users.html:13 skins/default/templates/users.html:14
+#: skins/default/templates/user_profile/user_info.html:25
+msgid "reputation"
+msgstr "reputație"
+
+#: skins/default/templates/users.html:19 skins/default/templates/users.html:20
+msgid "recent"
+msgstr "recent"
+
+#: skins/default/templates/users.html:31 skins/default/templates/users.html:32
+msgid "by username"
+msgstr "după nume de utilizator"
+
+#: skins/default/templates/users.html:37
+#, python-format
+msgid "users matching query %(suser)s:"
+msgstr ""
+
+#: skins/default/templates/users.html:40
+msgid "Nothing found."
+msgstr "Nu s-a găsit nimic."
+
+#: skins/default/templates/authopenid/changeemail.html:2
+#: skins/default/templates/authopenid/changeemail.html:8
+#: skins/default/templates/authopenid/changeemail.html:36
+msgid "Change email"
+msgstr "Schimbare email"
+
+#: skins/default/templates/authopenid/changeemail.html:10
+msgid "Save your email address"
+msgstr "Salvați adresa de email"
+
+#: skins/default/templates/authopenid/changeemail.html:15
+#, python-format
+msgid "change %(email)s info"
+msgstr "modifică informațiile despre %(email)s"
+
+#: skins/default/templates/authopenid/changeemail.html:17
+#, python-format
+msgid "here is why email is required, see %(gravatar_faq_url)s"
+msgstr ""
+"pentru a afla de ce este necesară o adresă de e-mail, consultați "
+"%(gravatar_faq_url)s"
+
+#: skins/default/templates/authopenid/changeemail.html:29
+msgid "Your new Email"
+msgstr "Adresa nouă de e-mail"
+
+#: skins/default/templates/authopenid/changeemail.html:29
+msgid "Your Email"
+msgstr "Adresa dumneavoastră de e-mail"
+
+#: skins/default/templates/authopenid/changeemail.html:36
+msgid "Save Email"
+msgstr "Salvează adresa de e-mail"
+
+#: skins/default/templates/authopenid/changeemail.html:45
+msgid "Validate email"
+msgstr "Validează adresa de e-mail"
+
+#: skins/default/templates/authopenid/changeemail.html:48
+#, python-format
+msgid "validate %(email)s info or go to %(change_email_url)s"
+msgstr ""
+"validați informațiile despre %(email)s sau mergeți la %(change_email_url)s"
+
+#: skins/default/templates/authopenid/changeemail.html:52
+msgid "Email not changed"
+msgstr "Adresa de e-mail nu a fost schimbată"
+
+#: skins/default/templates/authopenid/changeemail.html:55
+#, python-format
+msgid "old %(email)s kept, if you like go to %(change_email_url)s"
+msgstr ""
+"vechea adresă %(email)s a fost păstrată, puteți merge, dacă doriți, la "
+"%(change_email_url)s"
+
+#: skins/default/templates/authopenid/changeemail.html:59
+msgid "Email changed"
+msgstr "Adresa de e-mail a fost schimbată"
+
+#: skins/default/templates/authopenid/changeemail.html:62
+#, python-format
+msgid "your current %(email)s can be used for this"
+msgstr "adresa curentă %(email)s poate fi utilizată pentru acest lucru"
+
+#: skins/default/templates/authopenid/changeemail.html:66
+msgid "Email verified"
+msgstr "Adresa de e-mail a fost verificată"
+
+#: skins/default/templates/authopenid/changeemail.html:69
+msgid "thanks for verifying email"
+msgstr "Mulțumim pentru verificarea adresei de e-mail"
+
+#: skins/default/templates/authopenid/changeemail.html:73
+msgid "email key not sent"
+msgstr "cheia pentru adresa de e-mail nu a fost trimisă"
+
+#: skins/default/templates/authopenid/changeemail.html:76
+#, python-format
+msgid "email key not sent %(email)s change email here %(change_link)s"
+msgstr ""
+"cheia pentru adresa de e-mail nu a fost trimisă %(email)s modificați adresa "
+"de e-mail aici %(change_link)s"
+
+#: skins/default/templates/authopenid/complete.html:21
+#: skins/default/templates/authopenid/complete.html:23
+msgid "Registration"
+msgstr "Înregistrare"
+
+#: skins/default/templates/authopenid/complete.html:27
+#, python-format
+msgid "register new %(provider)s account info, see %(gravatar_faq_url)s"
+msgstr ""
+"înregistrați informații noi pentru contul %(provider)s, consultați "
+"%(gravatar_faq_url)s"
+
+#: skins/default/templates/authopenid/complete.html:30
+#, python-format
+msgid ""
+"%(username)s already exists, choose another name for \n"
+" %(provider)s. Email is required too, see "
+"%(gravatar_faq_url)s\n"
+" "
+msgstr ""
+"%(username)s există deja, alegeți un alt nume pentru \n"
+" %(provider)s. Este necesară și o adresă de e-"
+"mail, consultați %(gravatar_faq_url)s\n"
+" "
+
+#: skins/default/templates/authopenid/complete.html:34
+#, python-format
+msgid ""
+"register new external %(provider)s account info, see %(gravatar_faq_url)s"
+msgstr ""
+"înregistrați informații noi pentru contul %(provider)s extern, consultați "
+"%(gravatar_faq_url)s"
+
+#: skins/default/templates/authopenid/complete.html:37
+#, python-format
+msgid "register new Facebook connect account info, see %(gravatar_faq_url)s"
+msgstr ""
+"înregistrați informații noi pentru conectarea prin contul Facebook, "
+"consultați %(gravatar_faq_url)s"
+
+#: skins/default/templates/authopenid/complete.html:40
+msgid "This account already exists, please use another."
+msgstr "Acest cont există deja, vă rugăm să utilizați un altul."
+
+#: skins/default/templates/authopenid/complete.html:59
+msgid "Screen name label"
+msgstr ""
+
+#: skins/default/templates/authopenid/complete.html:66
+msgid "Email address label"
+msgstr ""
+
+#: skins/default/templates/authopenid/complete.html:72
+#: skins/default/templates/authopenid/signup_with_password.html:36
+msgid "receive updates motivational blurb"
+msgstr ""
+
+#: skins/default/templates/authopenid/complete.html:76
+#: skins/default/templates/authopenid/signup_with_password.html:40
+msgid "please select one of the options above"
+msgstr ""
+
+#: skins/default/templates/authopenid/complete.html:79
+msgid "Tag filter tool will be your right panel, once you log in."
+msgstr ""
+
+#: skins/default/templates/authopenid/complete.html:80
+msgid "create account"
+msgstr "creaţi un cont"
+
+#: skins/default/templates/authopenid/confirm_email.txt:1
+msgid "Thank you for registering at our Q&A forum!"
+msgstr ""
+
+#: skins/default/templates/authopenid/confirm_email.txt:3
+msgid "Your account details are:"
+msgstr "Detaliile contului sunt:"
+
+#: skins/default/templates/authopenid/confirm_email.txt:5
+msgid "Username:"
+msgstr "Nume utilizator:"
+
+#: skins/default/templates/authopenid/confirm_email.txt:6
+msgid "Password:"
+msgstr "Parolă:"
+
+#: skins/default/templates/authopenid/confirm_email.txt:8
+msgid "Please sign in here:"
+msgstr ""
+
+#: skins/default/templates/authopenid/confirm_email.txt:11
+#: skins/default/templates/authopenid/email_validation.txt:13
+msgid ""
+"Sincerely,\n"
+"Forum Administrator"
+msgstr ""
+
+#: skins/default/templates/authopenid/email_validation.txt:1
+msgid "Greetings from the Q&A forum"
+msgstr ""
+
+#: skins/default/templates/authopenid/email_validation.txt:3
+msgid "To make use of the Forum, please follow the link below:"
+msgstr ""
+
+#: skins/default/templates/authopenid/email_validation.txt:7
+msgid "Following the link above will help us verify your email address."
+msgstr ""
+
+#: skins/default/templates/authopenid/email_validation.txt:9
+msgid ""
+"If you beleive that this message was sent in mistake - \n"
+"no further action is needed. Just ingore this email, we apologize\n"
+"for any inconvenience"
+msgstr ""
+
+#: skins/default/templates/authopenid/macros.html:50
+msgid "Please enter your <span>user name</span>, then sign in"
+msgstr ""
+
+#: skins/default/templates/authopenid/macros.html:51
+#: skins/default/templates/authopenid/signin.html:84
+msgid "(or select another login method above)"
+msgstr ""
+
+#: skins/default/templates/authopenid/macros.html:53
+msgid "Sign in"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:4
+msgid "User login"
+msgstr "Autentificare autilizator"
+
+#: skins/default/templates/authopenid/signin.html:12
+#, python-format
+msgid ""
+"\n"
+" Your answer to %(title)s %(summary)s will be posted once you log in\n"
+" "
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:19
+#, python-format
+msgid ""
+"Your question \n"
+" %(title)s %(summary)s will be posted once you log in\n"
+" "
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:26
+msgid ""
+"Take a pick of your favorite service below to sign in using secure OpenID or "
+"similar technology. Your external service password always stays confidential "
+"and you don't have to rememeber or create another one."
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:29
+msgid ""
+"It's a good idea to make sure that your existing login methods still work, "
+"or add a new one. Please click any of the icons below to check/change or add "
+"new login methods."
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:31
+msgid ""
+"Please add a more permanent login method by clicking one of the icons below, "
+"to avoid logging in via email each time."
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:35
+msgid ""
+"Click on one of the icons below to add a new login method or re-validate an "
+"existing one."
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:37
+msgid ""
+"You don't have a method to log in right now, please add one or more by "
+"clicking any of the icons below."
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:40
+msgid ""
+"Please check your email and visit the enclosed link to re-connect to your "
+"account"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:82
+msgid "Please enter your <span>user name and password</span>, then sign in"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:86
+msgid "Login failed, please try again"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:89
+msgid "Login name"
+msgstr "Nume cont"
+
+#: skins/default/templates/authopenid/signin.html:93
+msgid "Password"
+msgstr "Parolă"
+
+#: skins/default/templates/authopenid/signin.html:97
+msgid "Login"
+msgstr "Autentificare"
+
+#: skins/default/templates/authopenid/signin.html:104
+msgid "To change your password - please enter the new one twice, then submit"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:107
+msgid "New password"
+msgstr "Parolă nouă"
+
+#: skins/default/templates/authopenid/signin.html:112
+msgid "Please, retype"
+msgstr "introduceți din nou"
+
+#: skins/default/templates/authopenid/signin.html:130
+msgid "Here are your current login methods"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:134
+msgid "provider"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:135
+msgid "last used"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:136
+msgid "delete, if you like"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:162
+msgid "Still have trouble signing in?"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:167
+msgid "Please, enter your email address below and obtain a new key"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:169
+msgid "Please, enter your email address below to recover your account"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:172
+msgid "recover your account via email"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:183
+msgid "Send a new recovery key"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:185
+msgid "Recover your account via email"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:196
+msgid "Why use OpenID?"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:199
+msgid "with openid it is easier"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:202
+msgid "reuse openid"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:205
+msgid "openid is widely adopted"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:208
+msgid "openid is supported open standard"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:212
+msgid "Find out more"
+msgstr ""
+
+#: skins/default/templates/authopenid/signin.html:213
+msgid "Get OpenID"
+msgstr ""
+
+#: skins/default/templates/authopenid/signup_with_password.html:4
+msgid "Signup"
+msgstr ""
+
+#: skins/default/templates/authopenid/signup_with_password.html:10
+msgid "Please register by clicking on any of the icons below"
+msgstr ""
+
+#: skins/default/templates/authopenid/signup_with_password.html:23
+msgid "or create a new user name and password here"
+msgstr ""
+
+#: skins/default/templates/authopenid/signup_with_password.html:25
+msgid "Create login name and password"
+msgstr ""
+
+#: skins/default/templates/authopenid/signup_with_password.html:26
+msgid "Traditional signup info"
+msgstr ""
+
+#: skins/default/templates/authopenid/signup_with_password.html:44
+msgid ""
+"Please read and type in the two words below to help us prevent automated "
+"account creation."
+msgstr ""
+
+#: skins/default/templates/authopenid/signup_with_password.html:47
+msgid "Create Account"
+msgstr ""
+
+#: skins/default/templates/authopenid/signup_with_password.html:49
+msgid "or"
+msgstr "sau"
+
+#: skins/default/templates/authopenid/signup_with_password.html:50
+msgid "return to OpenID login"
+msgstr ""
+
+#: skins/default/templates/avatar/add.html:3
+msgid "add avatar"
+msgstr ""
+
+#: skins/default/templates/avatar/add.html:5
+msgid "Change avatar"
+msgstr ""
+
+#: skins/default/templates/avatar/add.html:6
+#: skins/default/templates/avatar/change.html:7
+msgid "Your current avatar: "
+msgstr ""
+
+#: skins/default/templates/avatar/add.html:9
+#: skins/default/templates/avatar/change.html:11
+msgid "You haven't uploaded an avatar yet. Please upload one now."
+msgstr ""
+
+#: skins/default/templates/avatar/add.html:13
+msgid "Upload New Image"
+msgstr ""
+
+#: skins/default/templates/avatar/change.html:4
+msgid "change avatar"
+msgstr ""
+
+#: skins/default/templates/avatar/change.html:17
+msgid "Choose new Default"
+msgstr ""
+
+#: skins/default/templates/avatar/change.html:22
+msgid "Upload"
+msgstr "Încarcă"
+
+#: skins/default/templates/avatar/confirm_delete.html:3
+msgid "delete avatar"
+msgstr "șterge avatar"
+
+#: skins/default/templates/avatar/confirm_delete.html:5
+msgid "Please select the avatars that you would like to delete."
+msgstr ""
+
+#: skins/default/templates/avatar/confirm_delete.html:7
+#, python-format
+msgid ""
+"You have no avatars to delete. Please <a "
+"href=\"%(avatar_change_url)s\">upload one</a> now."
+msgstr ""
+
+#: skins/default/templates/avatar/confirm_delete.html:13
+msgid "Delete These"
+msgstr ""
+
+#: skins/default/templates/blocks/answer_edit_tips.html:3
+msgid "answer tips"
+msgstr "indicații pentru răspunsuri"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:6
+msgid "please make your answer relevant to this community"
+msgstr "dați răspunsuri relevante pentru această comunitate"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:9
+msgid "try to give an answer, rather than engage into a discussion"
+msgstr "încercați să oferiți un răspuns, nu să vă angajați într-o discuție"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:12
+msgid "please try to provide details"
+msgstr "încercați să furnizați detalii"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:15
+#: skins/default/templates/blocks/question_edit_tips.html:11
+msgid "be clear and concise"
+msgstr "fiți clari și conciși"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:19
+#: skins/default/templates/blocks/question_edit_tips.html:15
+msgid "see frequently asked questions"
+msgstr "consultați secțiunea întrebărilor frecvente"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:25
+#: skins/default/templates/blocks/question_edit_tips.html:20
+msgid "Markdown tips"
+msgstr "indicii Markdown"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:29
+#: skins/default/templates/blocks/question_edit_tips.html:24
+msgid "*italic*"
+msgstr "*înclinat*"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:32
+#: skins/default/templates/blocks/question_edit_tips.html:27
+msgid "**bold**"
+msgstr "**îngroșat**"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:36
+#: skins/default/templates/blocks/question_edit_tips.html:31
+msgid "*italic* or _italic_"
+msgstr "*înclinat* sau __înclinat__"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:39
+#: skins/default/templates/blocks/question_edit_tips.html:34
+msgid "**bold** or __bold__"
+msgstr "**îngroșat** sau __îngroșat__"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:43
+#: skins/default/templates/blocks/question_edit_tips.html:38
+msgid "link"
+msgstr "legătură"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:43
+#: skins/default/templates/blocks/answer_edit_tips.html:47
+#: skins/default/templates/blocks/question_edit_tips.html:38
+#: skins/default/templates/blocks/question_edit_tips.html:43
+msgid "text"
+msgstr "text"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:47
+#: skins/default/templates/blocks/question_edit_tips.html:43
+msgid "image"
+msgstr "imagine"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:51
+#: skins/default/templates/blocks/question_edit_tips.html:47
+msgid "numbered list:"
+msgstr "listă numerotată:"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:56
+#: skins/default/templates/blocks/question_edit_tips.html:52
+msgid "basic HTML tags are also supported"
+msgstr "de asemenea sunt suportate tag-uri HTML simple"
+
+#: skins/default/templates/blocks/answer_edit_tips.html:60
+#: skins/default/templates/blocks/question_edit_tips.html:56
+msgid "learn more about Markdown"
+msgstr "află mai multe despre Markdown"
+
+#: skins/default/templates/blocks/ask_form.html:7
+msgid "login to post question info"
+msgstr "autentificați-vă pentru a pune o întrebare"
+
+#: skins/default/templates/blocks/ask_form.html:11
+#, python-format
+msgid ""
+"must have valid %(email)s to post, \n"
+" see %(email_validation_faq_url)s\n"
+" "
+msgstr ""
+"este necesar %(email)s valid pentru a posta, \n"
+" vezi %(email_validation_faq_url)s\n"
+" "
+
+#: skins/default/templates/blocks/ask_form.html:28
+msgid "Login/signup to post your question"
+msgstr ""
+
+#: skins/default/templates/blocks/ask_form.html:30
+msgid "Ask your question"
+msgstr "Puneți întrebarea"
+
+#: skins/default/templates/blocks/editor_data.html:5
+#, python-format
+msgid "each tag must be shorter that %(max_chars)s character"
+msgid_plural "each tag must be shorter than %(max_chars)s characters"
+msgstr[0] ""
+msgstr[1] ""
+
+#: skins/default/templates/blocks/editor_data.html:7
+#, python-format
+msgid "please use %(tag_count)s tag"
+msgid_plural "please use %(tag_count)s tags or less"
+msgstr[0] ""
+msgstr[1] ""
+
+#: skins/default/templates/blocks/editor_data.html:8
+#, python-format
+msgid ""
+"please use up to %(tag_count)s tags, less than %(max_chars)s characters each"
+msgstr ""
+
+#: skins/default/templates/blocks/footer.html:5
+#: skins/default/templates/blocks/header_meta_links.html:12
+msgid "about"
+msgstr "despre"
+
+#: skins/default/templates/blocks/footer.html:7
+msgid "privacy policy"
+msgstr "politica de confidențialitate"
+
+#: skins/default/templates/blocks/footer.html:16
+msgid "give feedback"
+msgstr "oferă o sugestie"
+
+#: skins/default/templates/blocks/header.html:8
+msgid "back to home page"
+msgstr "înapoi la pagina de start"
+
+#: skins/default/templates/blocks/header.html:9
+#, python-format
+msgid "%(site)s logo"
+msgstr "siglă %(site)s"
+
+#: skins/default/templates/blocks/header.html:17
+msgid "questions"
+msgstr "întrebări"
+
+#: skins/default/templates/blocks/header.html:27
+msgid "users"
+msgstr "utilizatori"
+
+#: skins/default/templates/blocks/header.html:32
+msgid "badges"
+msgstr "insigne"
+
+#: skins/default/templates/blocks/header.html:37
+msgid "ask a question"
+msgstr "pune o întrebare"
+
+#: skins/default/templates/blocks/header_meta_links.html:8
+msgid "logout"
+msgstr "ieșire"
+
+#: skins/default/templates/blocks/header_meta_links.html:10
+msgid "login"
+msgstr "autentificare"
+
+#: skins/default/templates/blocks/header_meta_links.html:15
+msgid "settings"
+msgstr "configurări"
+
+#: skins/default/templates/blocks/input_bar.html:34
+msgid "search"
+msgstr "caută"
+
+#: skins/default/templates/blocks/question_edit_tips.html:3
+msgid "question tips"
+msgstr "indicii căutare"
+
+#: skins/default/templates/blocks/question_edit_tips.html:5
+msgid "please ask a relevant question"
+msgstr "puneți o întrebare relevantă"
+
+#: skins/default/templates/blocks/question_edit_tips.html:8
+msgid "please try provide enough details"
+msgstr "încercați să oferiți suficiente detalii"
+
+#: skins/default/templates/blocks/tag_selector.html:4
+msgid "Interesting tags"
+msgstr "Etichete interesante"
+
+#: skins/default/templates/blocks/tag_selector.html:18
+#: skins/default/templates/blocks/tag_selector.html:34
+#: skins/default/templates/user_profile/user_moderate.html:38
+msgid "Add"
+msgstr "Adaugă"
+
+#: skins/default/templates/blocks/tag_selector.html:20
+msgid "Ignored tags"
+msgstr "Etichete ignorate"
+
+#: skins/default/templates/blocks/tag_selector.html:36
+msgid "Display tag filter"
+msgstr "Afișare filtre etichete"
+
+#: skins/default/templates/main_page/content.html:13
+msgid "Did not find what you were looking for?"
+msgstr "Nu ați găsit ceea ce căutați?"
+
+#: skins/default/templates/main_page/content.html:14
+msgid "Please, post your question!"
+msgstr "Vă rugăm să puneți o întrebare!"
+
+#: skins/default/templates/main_page/headline.html:7
+msgid "subscribe to the questions feed"
+msgstr "abonarea la fluxul de întrebări"
+
+#: skins/default/templates/main_page/headline.html:8
+msgid "rss feed"
+msgstr "flux fss"
+
+#: skins/default/templates/main_page/headline.html:12 views/readers.py:131
+#, python-format
+msgid "%(q_num)s question, tagged"
+msgid_plural "%(q_num)s questions, tagged"
+msgstr[0] ""
+msgstr[1] ""
+
+#: skins/default/templates/main_page/headline.html:14 views/readers.py:139
+#, python-format
+msgid "%(q_num)s question"
+msgid_plural "%(q_num)s questions"
+msgstr[0] ""
+msgstr[1] ""
+
+#: skins/default/templates/main_page/headline.html:17
+#, python-format
+msgid "with %(author_name)s's contributions"
+msgstr ""
+
+#: skins/default/templates/main_page/headline.html:28
+msgid "Search tips:"
+msgstr "Indicii de căutare:"
+
+#: skins/default/templates/main_page/headline.html:31
+msgid "reset author"
+msgstr ""
+
+#: skins/default/templates/main_page/headline.html:33
+#: skins/default/templates/main_page/headline.html:36
+#: skins/default/templates/main_page/nothing_found.html:18
+#: skins/default/templates/main_page/nothing_found.html:21
+msgid " or "
+msgstr " sau "
+
+#: skins/default/templates/main_page/headline.html:34
+msgid "reset tags"
+msgstr "resetare etichete"
+
+#: skins/default/templates/main_page/headline.html:37
+#: skins/default/templates/main_page/headline.html:40
+msgid "start over"
+msgstr "începeți din nou"
+
+#: skins/default/templates/main_page/headline.html:42
+msgid " - to expand, or dig in by adding more tags and revising the query."
+msgstr ""
+" pentru a lărgi sau a filtra prin adăugarea mai multor etichete sau a "
+"textului de căutat."
+
+#: skins/default/templates/main_page/headline.html:45
+msgid "Search tip:"
+msgstr "Indiciu de căutare:"
+
+#: skins/default/templates/main_page/headline.html:45
+msgid "add tags and a query to focus your search"
+msgstr "adăugarea de etichete și a mai multe cuvinte cheie pentru căutare"
+
+#: skins/default/templates/main_page/javascript.html:16
+#: skins/default/templates/main_page/javascript.html:17
+msgid "mark-tag/"
+msgstr ""
+
+#: skins/default/templates/main_page/javascript.html:16
+msgid "interesting/"
+msgstr ""
+
+#: skins/default/templates/main_page/javascript.html:17
+msgid "ignored/"
+msgstr ""
+
+#: skins/default/templates/main_page/javascript.html:18
+msgid "unmark-tag/"
+msgstr ""
+
+#: skins/default/templates/main_page/nothing_found.html:4
+msgid "There are no unanswered questions here"
+msgstr ""
+
+#: skins/default/templates/main_page/nothing_found.html:7
+msgid "No favorite questions here. "
+msgstr ""
+
+#: skins/default/templates/main_page/nothing_found.html:8
+msgid "Please start (bookmark) some questions when you visit them"
+msgstr ""
+
+#: skins/default/templates/main_page/nothing_found.html:13
+msgid "You can expand your search by "
+msgstr "Puteți extinde căutarea prin "
+
+#: skins/default/templates/main_page/nothing_found.html:16
+msgid "resetting author"
+msgstr ""
+
+#: skins/default/templates/main_page/nothing_found.html:19
+msgid "resetting tags"
+msgstr ""
+
+#: skins/default/templates/main_page/nothing_found.html:22
+#: skins/default/templates/main_page/nothing_found.html:25
+msgid "starting over"
+msgstr ""
+
+#: skins/default/templates/main_page/nothing_found.html:30
+msgid "Please always feel free to ask your question!"
+msgstr ""
+
+#: skins/default/templates/main_page/sidebar.html:5
+msgid "Contributors"
+msgstr "Contribuitori"
+
+#: skins/default/templates/main_page/sidebar.html:22
+msgid "Related tags"
+msgstr "Etichete asemămătoare"
+
+#: skins/default/templates/main_page/tab_bar.html:5
+msgid "In:"
+msgstr "În:"
+
+#: skins/default/templates/main_page/tab_bar.html:14
+msgid "see unanswered questions"
+msgstr "vezi întrebările fără răspuns"
+
+#: skins/default/templates/main_page/tab_bar.html:20
+msgid "see your favorite questions"
+msgstr "vezi întrebările tale favorite"
+
+#: skins/default/templates/main_page/tab_bar.html:25
+msgid "Sort by:"
+msgstr "Ordonează după:"
+
+#: skins/default/templates/user_profile/user.html:13
+#, python-format
+msgid "%(username)s's profile"
+msgstr "Profilul pentru %(username)s"
+
+#: skins/default/templates/user_profile/user_edit.html:4
+msgid "Edit user profile"
+msgstr "Modifică profilul de utilizator"
+
+#: skins/default/templates/user_profile/user_edit.html:7
+msgid "edit profile"
+msgstr "modifică profil"
+
+#: skins/default/templates/user_profile/user_edit.html:17
+#: skins/default/templates/user_profile/user_info.html:15
+msgid "change picture"
+msgstr "schimbă poza"
+
+#: skins/default/templates/user_profile/user_edit.html:20
+msgid "Registered user"
+msgstr "Utilizator înregistrat"
+
+#: skins/default/templates/user_profile/user_edit.html:27
+msgid "Screen Name"
+msgstr "Nume afișat"
+
+#: skins/default/templates/user_profile/user_edit.html:83
+#: skins/default/templates/user_profile/user_email_subscriptions.html:21
+msgid "Update"
+msgstr "Actualizează"
+
+#: skins/default/templates/user_profile/user_email_subscriptions.html:4
+#: skins/default/templates/user_profile/user_tabs.html:36
+msgid "subscriptions"
+msgstr "abonamente"
+
+#: skins/default/templates/user_profile/user_email_subscriptions.html:7
+msgid "Email subscription settings"
+msgstr "Configurări abonamente email"
+
+#: skins/default/templates/user_profile/user_email_subscriptions.html:8
+msgid "email subscription settings info"
+msgstr "informații configurări abonamente email"
+
+#: skins/default/templates/user_profile/user_email_subscriptions.html:22
+msgid "Stop sending email"
+msgstr "Nu mai trimite emailuri"
+
+#: skins/default/templates/user_profile/user_favorites.html:4
+#: skins/default/templates/user_profile/user_tabs.html:21
+msgid "favorites"
+msgstr "favorite"
+
+#: skins/default/templates/user_profile/user_inbox.html:18
+#: skins/default/templates/user_profile/user_tabs.html:12
+msgid "inbox"
+msgstr "inbox"
+
+#: skins/default/templates/user_profile/user_inbox.html:34
+msgid "Sections:"
+msgstr "Secțiuni:"
+
+#: skins/default/templates/user_profile/user_inbox.html:38
+#, python-format
+msgid "forum responses (%(re_count)s)"
+msgstr "răspunsuri site (%(re_count)s)"
+
+#: skins/default/templates/user_profile/user_inbox.html:43
+#, python-format
+msgid "flagged items (%(flag_count)s)"
+msgstr "elemente marcate (%(flag_count)s)"
+
+#: skins/default/templates/user_profile/user_inbox.html:49
+msgid "select:"
+msgstr "selectează:"
+
+#: skins/default/templates/user_profile/user_inbox.html:51
+msgid "seen"
+msgstr "văzut"
+
+#: skins/default/templates/user_profile/user_inbox.html:52
+msgid "new"
+msgstr "nou"
+
+#: skins/default/templates/user_profile/user_inbox.html:53
+msgid "none"
+msgstr "niciunul"
+
+#: skins/default/templates/user_profile/user_inbox.html:54
+msgid "mark as seen"
+msgstr "machează ca văzut"
+
+#: skins/default/templates/user_profile/user_inbox.html:55
+msgid "mark as new"
+msgstr "marcează ca nou"
+
+#: skins/default/templates/user_profile/user_inbox.html:56
+msgid "dismiss"
+msgstr ""
+
+#: skins/default/templates/user_profile/user_info.html:19
+msgid "remove"
+msgstr "elimină"
+
+#: skins/default/templates/user_profile/user_info.html:33
+msgid "update profile"
+msgstr "actualizează profil"
+
+#: skins/default/templates/user_profile/user_info.html:37
+msgid "manage login methods"
+msgstr "administrează metodele de autentificare"
+
+#: skins/default/templates/user_profile/user_info.html:50
+msgid "real name"
+msgstr "nume real"
+
+#: skins/default/templates/user_profile/user_info.html:55
+msgid "member for"
+msgstr "membru de"
+
+#: skins/default/templates/user_profile/user_info.html:60
+msgid "last seen"
+msgstr "văzut ultima dată"
+
+#: skins/default/templates/user_profile/user_info.html:66
+msgid "user website"
+msgstr "pagină web utilizator"
+
+#: skins/default/templates/user_profile/user_info.html:72
+msgid "location"
+msgstr "locație"
+
+#: skins/default/templates/user_profile/user_info.html:79
+msgid "age"
+msgstr "vârstă"
+
+#: skins/default/templates/user_profile/user_info.html:80
+msgid "age unit"
+msgstr "ani"
+
+#: skins/default/templates/user_profile/user_info.html:87
+msgid "todays unused votes"
+msgstr "voturi nefolosite azi"
+
+#: skins/default/templates/user_profile/user_info.html:88
+msgid "votes left"
+msgstr "voturi rămase"
+
+#: skins/default/templates/user_profile/user_moderate.html:4
+#: skins/default/templates/user_profile/user_tabs.html:42
+msgid "moderation"
+msgstr "moderare"
+
+#: skins/default/templates/user_profile/user_moderate.html:8
+#, python-format
+msgid "%(username)s's current status is \"%(status)s\""
+msgstr "starea curentă a utilizatorului %(username)s este „%(status)s”"
+
+#: skins/default/templates/user_profile/user_moderate.html:11
+msgid "User status changed"
+msgstr "Starea utilizatorului a fost schimbată"
+
+#: skins/default/templates/user_profile/user_moderate.html:18
+msgid "Save"
+msgstr "Salvează"
+
+#: skins/default/templates/user_profile/user_moderate.html:24
+#, python-format
+msgid "Your current reputation is %(reputation)s points"
+msgstr "Reputația curentă este %(reputation)s puncte"
+
+#: skins/default/templates/user_profile/user_moderate.html:26
+#, python-format
+msgid "User's current reputation is %(reputation)s points"
+msgstr "Reputația curentă a utilizatorului este %(reputation)s puncte"
+
+#: skins/default/templates/user_profile/user_moderate.html:30
+msgid "User reputation changed"
+msgstr "Reputația utilizatorului a fost schimbată"
+
+#: skins/default/templates/user_profile/user_moderate.html:37
+msgid "Subtract"
+msgstr "Scade"
+
+#: skins/default/templates/user_profile/user_moderate.html:42
+#, python-format
+msgid "Send message to %(username)s"
+msgstr "Trimite mesaj către %(username)s"
+
+#: skins/default/templates/user_profile/user_moderate.html:43
+msgid ""
+"An email will be sent to the user with 'reply-to' field set to your email "
+"address. Please make sure that your address is entered correctly."
+msgstr ""
+"Un mesaj email va fi trimis către utilizator cu câmpul „reply-to” definit la "
+"adresa proprie de email. Verificați că adresa proprie este introdusă corect."
+
+#: skins/default/templates/user_profile/user_moderate.html:45
+msgid "Message sent"
+msgstr "Mesaj trimis"
+
+#: skins/default/templates/user_profile/user_moderate.html:63
+msgid "Send message"
+msgstr "Trimite mesaj"
+
+#: skins/default/templates/user_profile/user_recent.html:4
+#: skins/default/templates/user_profile/user_tabs.html:25
+msgid "activity"
+msgstr "activitate"
+
+#: skins/default/templates/user_profile/user_reputation.html:4
+msgid "karma"
+msgstr "reputație"
+
+#: skins/default/templates/user_profile/user_reputation.html:11
+msgid "Your karma change log."
+msgstr "Schimbările în reputație."
+
+#: skins/default/templates/user_profile/user_reputation.html:13
+#, python-format
+msgid "%(user_name)s's karma change log"
+msgstr "schimbăr în reputația utilizatorului %(user_name)s"
+
+#: skins/default/templates/user_profile/user_stats.html:5
+#: skins/default/templates/user_profile/user_tabs.html:7
+msgid "overview"
+msgstr "privire de ansamblu"
+
+#: skins/default/templates/user_profile/user_stats.html:11
+#, python-format
+msgid "<span class=\"count\">%(counter)s</span> Question"
+msgid_plural "<span class=\"count\">%(counter)s</span> Questions"
+msgstr[0] "<span class=\"count\">%(counter)s</span> întrebare"
+msgstr[1] "<span class=\"count\">%(counter)s</span> întrebări"
+msgstr[2] "<span class=\"count\">%(counter)s</span> de întrebări"
+
+#: skins/default/templates/user_profile/user_stats.html:16
+#, python-format
+msgid "<span class=\"count\">%(counter)s</span> Answer"
+msgid_plural "<span class=\"count\">%(counter)s</span> Answers"
+msgstr[0] "<span class=\"count\">%(counter)s</span> răspuns"
+msgstr[1] "<span class=\"count\">%(counter)s</span> răspunsuri"
+msgstr[2] "<span class=\"count\">%(counter)s</span> de răspunsuri"
+
+#: skins/default/templates/user_profile/user_stats.html:24
+#, python-format
+msgid "the answer has been voted for %(answer_score)s times"
+msgstr "răspunsul a fost votat de %(answer_score)s de ori"
+
+#: skins/default/templates/user_profile/user_stats.html:24
+msgid "this answer has been selected as correct"
+msgstr "acest răspuns a fost ales drept corect"
+
+#: skins/default/templates/user_profile/user_stats.html:34
+#, python-format
+msgid "(%(comment_count)s comment)"
+msgid_plural "the answer has been commented %(comment_count)s times"
+msgstr[0] "(%(comment_count)s comentariu)"
+msgstr[1] "răspunsul a fost comentat de %(comment_count)s ori"
+msgstr[2] "răspunsul a fost comentat de %(comment_count)s de ori"
+
+#: skins/default/templates/user_profile/user_stats.html:44
+#, python-format
+msgid "<span class=\"count\">%(cnt)s</span> Vote"
+msgid_plural "<span class=\"count\">%(cnt)s</span> Votes "
+msgstr[0] "<span class=\"count\">%(cnt)s</span> vot"
+msgstr[1] "<span class=\"count\">%(cnt)s</span> voturi"
+msgstr[2] "<span class=\"count\">%(cnt)s</span> de voturi"
+
+#: skins/default/templates/user_profile/user_stats.html:50
+msgid "thumb up"
+msgstr ""
+
+#: skins/default/templates/user_profile/user_stats.html:51
+msgid "user has voted up this many times"
+msgstr "utilizatorul a votat pozitiv de atâtea ori"
+
+#: skins/default/templates/user_profile/user_stats.html:54
+msgid "thumb down"
+msgstr ""
+
+#: skins/default/templates/user_profile/user_stats.html:55
+msgid "user voted down this many times"
+msgstr "utilizatorul a votat negativ de atâtea ori"
+
+#: skins/default/templates/user_profile/user_stats.html:63
+#, python-format
+msgid "<span class=\"count\">%(counter)s</span> Tag"
+msgid_plural "<span class=\"count\">%(counter)s</span> Tags"
+msgstr[0] "<span class=\"count\">%(counter)s</span> etichetă"
+msgstr[1] "<span class=\"count\">%(counter)s</span> etichete"
+msgstr[2] "<span class=\"count\">%(counter)s</span> de etichete"
+
+#: skins/default/templates/user_profile/user_stats.html:99
+#, python-format
+msgid "<span class=\"count\">%(counter)s</span> Badge"
+msgid_plural "<span class=\"count\">%(counter)s</span> Badges"
+msgstr[0] "<span class=\"count\">%(counter)s</span> insignă"
+msgstr[1] "<span class=\"count\">%(counter)s</span> insigne"
+msgstr[2] "<span class=\"count\">%(counter)s</span> de insigne"
+
+#: skins/default/templates/user_profile/user_tabs.html:5
+msgid "User profile"
+msgstr "Profil utilizator"
+
+#: skins/default/templates/user_profile/user_tabs.html:10 views/users.py:728
+msgid "comments and answers to others questions"
+msgstr "comentarii și răspunsuri pentru întrebările altora"
+
+#: skins/default/templates/user_profile/user_tabs.html:15
+msgid "graph of user reputation"
+msgstr "graficul reputației utilizatorului"
+
+#: skins/default/templates/user_profile/user_tabs.html:17
+msgid "reputation history"
+msgstr "istorie reputație"
+
+#: skins/default/templates/user_profile/user_tabs.html:19
+msgid "questions that user selected as his/her favorite"
+msgstr "întrebări pe care utilizatorul le-a ales ca fiind favorite"
+
+#: skins/default/templates/user_profile/user_tabs.html:23
+msgid "recent activity"
+msgstr "activitate recentă"
+
+#: skins/default/templates/user_profile/user_tabs.html:28 views/users.py:792
+msgid "user vote record"
+msgstr "istoria voturilor utilizatorului"
+
+#: skins/default/templates/user_profile/user_tabs.html:30
+msgid "casted votes"
+msgstr "voturi date"
+
+#: skins/default/templates/user_profile/user_tabs.html:34 views/users.py:897
+msgid "email subscription settings"
+msgstr "configurări abonament email"
+
+#: skins/default/templates/user_profile/user_tabs.html:40 views/users.py:212
+msgid "moderate this user"
+msgstr "moderează acest utilizator"
+
+#: skins/default/templates/user_profile/user_votes.html:4
+msgid "votes"
+msgstr "voturi"
+
+#: skins/default/templates/user_profile/users_questions.html:9
+#: skins/default/templates/user_profile/users_questions.html:17
+#, python-format
+msgid "this questions was selected as favorite %(cnt)s time"
+msgid_plural "this questions was selected as favorite %(cnt)s times"
+msgstr[0] "aceste întrebări au fost alese ca favorite %(cnt)s dată"
+msgstr[1] "aceste întrebări au fost alese ca favorite de %(cnt)s ori"
+msgstr[2] "aceste întrebări au fost alese ca favorite de %(cnt)s de ori"
+
+#: skins/default/templates/user_profile/users_questions.html:10
+msgid "thumb-up on"
+msgstr ""
+
+#: skins/default/templates/user_profile/users_questions.html:18
+msgid "thumb-up off"
+msgstr ""
+
+#: templatetags/extra_filters.py:145 templatetags/extra_filters_jinja.py:227
+msgid "no items in counter"
+msgstr "nu sunt elemente în contor"
+
+#: utils/decorators.py:82 views/commands.py:128 views/commands.py:145
+msgid "Oops, apologies - there was some error"
+msgstr "Oops, ne cerem scuze - a apărut o eroare"
+
+#: utils/forms.py:32
+msgid "this field is required"
+msgstr "acest câmp este obligatoriu"
+
+#: utils/forms.py:46
+msgid "choose a username"
+msgstr "alegeți un nume de utilizator"
+
+#: utils/forms.py:52
+msgid "user name is required"
+msgstr "numele de utilizator este obligatoriu"
+
+#: utils/forms.py:53
+msgid "sorry, this name is taken, please choose another"
+msgstr "ne pare rău, acest nume este luat, alegeți un alt nume"
+
+#: utils/forms.py:54
+msgid "sorry, this name is not allowed, please choose another"
+msgstr "ne pare rău, acest nume nu este permis, alegeți un alt nume"
+
+#: utils/forms.py:55
+msgid "sorry, there is no user with this name"
+msgstr "ne pare rău, nu există nici un utilizator cu acest nume"
+
+#: utils/forms.py:56
+msgid "sorry, we have a serious error - user name is taken by several users"
+msgstr ""
+"ne pare rău, avem o problemă gravă, numele de utilizator este luat de mai "
+"mult utilizatori"
+
+#: utils/forms.py:57
+msgid "user name can only consist of letters, empty space and underscore"
+msgstr ""
+"numele de utilizator poate fi format doar din litere, spații și liniuță de "
+"subliniere"
+
+#: utils/forms.py:118
+msgid "your email address"
+msgstr "adresa de email"
+
+#: utils/forms.py:119
+msgid "email address is required"
+msgstr "adresa de email este obligatorie"
+
+#: utils/forms.py:120
+msgid "please enter a valid email address"
+msgstr "introduceți o adresă de email validă"
+
+#: utils/forms.py:121
+msgid "this email is already used by someone else, please choose another"
+msgstr ""
+"această adresă de email este deja folosită de un alt utilizator, folosiți o "
+"altă adresă"
+
+#: utils/forms.py:149
+msgid "choose password"
+msgstr "alegeți parola"
+
+#: utils/forms.py:150
+msgid "password is required"
+msgstr "parola este obligatorie"
+
+#: utils/forms.py:153
+msgid "retype password"
+msgstr "retastați parola"
+
+#: utils/forms.py:154
+msgid "please, retype your password"
+msgstr "retastați parola"
+
+#: utils/forms.py:155
+msgid "sorry, entered passwords did not match, please try again"
+msgstr "ne pare rău, parolele tastate nu sunt identice, încercați din nou"
+
+#: utils/functions.py:63
+#, python-format
+msgid "on %(date)s"
+msgstr "în %(date)s"
+
+#: utils/functions.py:67
+msgid "2 days ago"
+msgstr "acum 2 zile"
+
+#: utils/functions.py:69
+msgid "yesterday"
+msgstr "ieri"
+
+#: utils/functions.py:71
+#, python-format
+msgid "%(hr)d hour ago"
+msgid_plural "%(hr)d hours ago"
+msgstr[0] "acum %(hr)d oră"
+msgstr[1] "acum %(hr)d ore"
+msgstr[2] "acum %(hr)d de ore"
+
+#: utils/functions.py:73
+#, python-format
+msgid "%(min)d min ago"
+msgid_plural "%(min)d mins ago"
+msgstr[0] "acum %(min)d minut"
+msgstr[1] "acum %(min)d minute"
+msgstr[2] "acum %(min)d de minute"
+
+#: views/avatar_views.py:94
+msgid "Successfully uploaded a new avatar."
+msgstr "A încărcat cu succes un avatar nou."
+
+#: views/avatar_views.py:134
+msgid "Successfully updated your avatar."
+msgstr "Ați actualizat cu succes propriul avatar."
+
+#: views/avatar_views.py:173
+msgid "Successfully deleted the requested avatars."
+msgstr "Ați șters cu succes avatarele cerute."
+
+#: views/commands.py:38
+msgid "anonymous users cannot vote"
+msgstr "utilizatorii anonimi nu pot vota"
+
+#: views/commands.py:58
+msgid "Sorry you ran out of votes for today"
+msgstr ""
+"Ne pare rău, dar nu mai aveți voturi pentru azi... și mâine este o zi"
+
+#: views/commands.py:64
+#, python-format
+msgid "You have %(votes_left)s votes left for today"
+msgstr "Mai ai %(votes_left)s voturi pentru azi"
+
+#: views/commands.py:135
+msgid "Sorry, but anonymous users cannot access the inbox"
+msgstr "Ne pare rău dar utilizatorii anonimi nu pot accesa inboxul"
+
+#: views/commands.py:205
+msgid "Sorry, something is not right here..."
+msgstr "Ne pare rău dar ceva nu este în regulă aici"
+
+#: views/commands.py:220
+msgid "Sorry, but anonymous users cannot accept answers"
+msgstr "Ne pare rău dar utilizatorii anonimi nu pot accepta răspunsuri"
+
+#: views/commands.py:301
+#, python-format
+msgid "subscription saved, %(email)s needs validation, see %(details_url)s"
+msgstr "abonament salvat, %(email)s necesită validare, vezi %(details_url)s"
+
+#: views/commands.py:309
+msgid "email update frequency has been set to daily"
+msgstr "frecvența de actualizare a emailurilor a fost definită drept zilnic"
+
+#: views/commands.py:400
+#, python-format
+msgid "Tag subscription was canceled (<a href=\"%(url)s\">undo</a>)."
+msgstr ""
+"Abonomanetul la etichetă a fost anulat (<a href=\"%(url)s\">refă</a>)."
+
+#: views/commands.py:409
+#, python-format
+msgid "Please sign in to subscribe for: %(tags)s"
+msgstr "Vă rugăm să vă autentificați pentru a vă abona la: %(tags)s"
+
+#: views/meta.py:63
+msgid "Q&A forum feedback"
+msgstr "Sugestii pentru întrebări și răspunsuri"
+
+#: views/meta.py:64
+msgid "Thanks for the feedback!"
+msgstr "Vă mulțumim pentru sugestii!"
+
+#: views/meta.py:72
+msgid ""
+"We look forward to hearing your feedback! Please, give it next time :)"
+msgstr "Suntem interesați de sugestiile voastre!"
+
+#: views/readers.py:177
+#, python-format
+msgid "%(badge_count)d %(badge_level)s badge"
+msgid_plural "%(badge_count)d %(badge_level)s badges"
+msgstr[0] "%(badge_count)d %(badge_level)s insignă"
+msgstr[1] "%(badge_count)d %(badge_level)s insigne"
+msgstr[2] "%(badge_count)d %(badge_level)s de insigne"
+
+#: views/readers.py:403
+msgid ""
+"Sorry, the comment you are looking for has been deleted and is no longer "
+"accessible"
+msgstr ""
+"Ne pare rău, comentariul pe care îl căutați a fost șters nu mai este "
+"accesibil"
+
+#: views/users.py:213
+msgid "moderate user"
+msgstr "moderează utilizator"
+
+#: views/users.py:377
+msgid "user profile"
+msgstr "profil utilizator"
+
+#: views/users.py:378
+msgid "user profile overview"
+msgstr "privire de ansamblu profil utilizator"
+
+#: views/users.py:661
+msgid "recent user activity"
+msgstr "activitate recentă utilizator"
+
+#: views/users.py:662
+msgid "profile - recent activity"
+msgstr "profil - activitate recentă"
+
+#: views/users.py:729
+msgid "profile - responses"
+msgstr "profil - răspunsuri"
+
+#: views/users.py:793
+msgid "profile - votes"
+msgstr "profil - voturi"
+
+#: views/users.py:828
+msgid "user reputation in the community"
+msgstr "reputația utilizatorului în comunitate"
+
+#: views/users.py:829
+msgid "profile - user reputation"
+msgstr "profil - reputație utilizator"
+
+#: views/users.py:856
+msgid "users favorite questions"
+msgstr "întrebările favorite ale utilizatorului"
+
+#: views/users.py:857
+msgid "profile - favorite questions"
+msgstr "profile - întrebări favorite"
+
+#: views/users.py:876 views/users.py:880
+msgid "changes saved"
+msgstr "schimbările au fost salvate"
+
+#: views/users.py:886
+msgid "email updates canceled"
+msgstr "actualizările email au fost anulate"
+
+#: views/users.py:898
+msgid "profile - email subscriptions"
+msgstr "profil - abonamente email"
+
+#: views/writers.py:57
+msgid "Sorry, anonymous users cannot upload files"
+msgstr "Utilizatorii anonimi nu pot încărca fișiere"
+
+#: views/writers.py:67
+#, python-format
+msgid "allowed file types are '%(file_types)s'"
+msgstr "tipurile de fișiere permise sunt „%(file_types)s”"
+
+#: views/writers.py:90
+#, python-format
+msgid "maximum upload file size is %(file_size)sK"
+msgstr "mărimea maximă a fișierului încărcat este %(file_size)sK"
+
+#: views/writers.py:98
+msgid ""
+"Error uploading file. Please contact the site administrator. Thank you."
+msgstr ""
+"Eroare la încărcarea fișierului. Vă rugăm să contactați administratorii "
+"siteului. Vă mulțumim."
+
+#: views/writers.py:560
+#, python-format
+msgid ""
+"Sorry, you appear to be logged out and cannot post comments. Please <a "
+"href=\"%(sign_in_url)s\">sign in</a>."
+msgstr ""
+"Nu sunteți autentificat și nu puteți adăuga comentarii . Vă rugăm să vă <a "
+"href=\"%(sign_in_url)s\">autentificați</a>."
+
+#: views/writers.py:605
+msgid "Sorry, anonymous users cannot edit comments"
+msgstr "Utilizatorii anonimi nu pot modifica comentariile"
+
+#: views/writers.py:613
+#, python-format
+msgid ""
+"Sorry, you appear to be logged out and cannot delete comments. Please <a "
+"href=\"%(sign_in_url)s\">sign in</a>."
+msgstr ""
+"Nu sunteți autentificat și nu puteți șterge comentarii . Vă rugăm să vă <a "
+"href=\"%(sign_in_url)s\">autentificați</a>."
+
+#: views/writers.py:634
+msgid "sorry, we seem to have some technical difficulties"
+msgstr "ne pare rău dar se pare că avem unele dificultăți tehnice"
+
+msgid "Email verification subject line"
+msgstr "Linie subiect verificare email"
+
+msgid "how to validate email title"
+msgstr "cum să fie validat titlul email-ului"
+
+msgid ""
+"how to validate email info with %(send_email_key_url)s %(gravatar_faq_url)s"
+msgstr ""
+"cum să fie validate informațiile email cu %(send_email_key_url)s "
+"%(gravatar_faq_url)s"
+
+msgid "more answers"
+msgstr "mai multe răspunsuri"
+
+msgid "popular"
+msgstr "popular"
+
+msgid "reputation points"
+msgstr "puncte reputație"
diff --git a/askbot/management/commands/post_emailed_questions.py b/askbot/management/commands/post_emailed_questions.py
new file mode 100644
index 00000000..b80eb188
--- /dev/null
+++ b/askbot/management/commands/post_emailed_questions.py
@@ -0,0 +1,207 @@
+"""Copyright 2011 Askbot.org and Askbot project contributors.
+
+Custom management command that takes questions posted
+via email at the IMAP server
+Expects subject line of emails to have format:
+[Tag1, Tag2] Question title
+
+Tags can be entered as multiword, but the space character
+within the tag may be replaced with a dash, per live
+setting EMAIL_REPLACE_SPACE_IN_TAGS
+also, to make use of this command, the feature must
+be enabled via ALLOW_ASKING_BY_EMAIL
+and IMAP settings in the settings.py must be configured
+correctly
+
+todo: use templates for the email formatting
+"""
+import imaplib
+import email
+import quopri
+import base64
+from django.conf import settings as django_settings
+from django.core.management.base import NoArgsCommand, CommandError
+from django.core import exceptions
+from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import string_concat
+from django.core.urlresolvers import reverse
+from askbot.conf import settings as askbot_settings
+from askbot.utils import mail
+from askbot import models
+from askbot.forms import AskByEmailForm
+
+USAGE = _(
+"""<p>To ask by email, please:</p>
+<ul>
+ <li>Format the subject line as: [Tag1; Tag2] Question title</li>
+ <li>Type details of your question into the email body</li>
+</ul>
+<p>Note that tags may consist of more than one word, and tags
+may be separated by a semicolon or a comma</p>
+"""
+)
+
+def bounce_email(email, subject, reason = None, body_text = None):
+ """sends a bounce email at address ``email``, with the subject
+ line ``subject``, accepts several reasons for the bounce:
+
+ * ``'problem_posting'``, ``unknown_user`` and ``permission_denied``
+ * ``body_text`` in an optional parameter that allows to append
+ extra text to the message
+ """
+ if reason == 'problem_posting':
+ error_message = _(
+ '<p>Sorry, there was an error posting your question '
+ 'please contact the %(site)s administrator</p>'
+ ) % {'site': askbot_settings.APP_SHORT_NAME}
+ error_message = string_concat(error_message, USAGE)
+ elif reason == 'unknown_user':
+ error_message = _(
+ '<p>Sorry, in order to post questions on %(site)s '
+ 'by email, please <a href="%(url)s">register first</a></p>'
+ ) % {
+ 'site': askbot_settings.APP_SHORT_NAME,
+ 'url': askbot_settings.APP_URL + reverse('user_signin')
+ }
+ elif reason == 'permission_denied':
+ error_message = _(
+ '<p>Sorry, your question could not be posted '
+ 'due to insufficient privileges of your user account</p>'
+ )
+ else:
+ raise ValueError('unknown reason to bounce an email: "%s"' % reason)
+
+ if body_text != None:
+ error_message = string_concat(error_message, body_text)
+
+ #print 'sending email'
+ #print email
+ #print subject
+ #print error_message
+ mail.send_mail(
+ recipient_list = (email,),
+ subject_line = 'Re: ' + subject,
+ body_text = error_message
+ )
+
+class CannotParseEmail(Exception):
+ """This exception will bounce the email"""
+ def __init__(self, email, subject):
+ super(CannotParseEmail, self).__init__()
+ bounce_email(email, subject, reason = 'problem_posting')
+
+def parse_message(msg):
+ """returns a tuple
+ (<from email address>, <subject>, <body>)
+ the function will attempt to decode the email
+ supported encodings are "quoted-printable" and "base64"
+ not supported - emails using language - specific encodings
+ """
+ sender = msg.get('From')
+ subject = msg.get('Subject')
+ if msg.is_multipart():
+ msg = msg.get_payload()
+ if isinstance(msg, list):
+ raise CannotParseEmail(sender, subject)
+
+ ctype = msg.get_content_type()#text/plain only
+ raw_body = msg.get_payload()#text/plain only
+ encoding = msg.get('Content-Transfer-Encoding')
+ if encoding == 'base64':
+ body = base64.b64decode(raw_body)
+ elif encoding == 'quoted-printable':
+ body = quopri.decodestring(raw_body)
+ else:
+ body = raw_body
+ return (sender, subject, body)
+
+
+class Command(NoArgsCommand):
+ def handle_noargs(self, **options):
+ """reads all emails from the INBOX of
+ imap server and posts questions based on
+ those emails. Badly formatted questions are
+ bounced, as well as emails from unknown users
+
+ all messages are deleted thereafter
+ """
+ if askbot_settings.ALLOW_ASKING_BY_EMAIL:
+ raise CommandError('Asking by email is not enabled')
+
+ #open imap server and select the inbox
+ if django_settings.IMAP_USE_TLS:
+ imap_getter = imaplib.IMAP4_SSL
+ else:
+ imap_getter = imaplib.IMAP4
+ imap = imap_getter(
+ django_settings.IMAP_HOST,
+ django_settings.IMAP_PORT
+ )
+ imap.login(
+ django_settings.IMAP_HOST_USER,
+ django_settings.IMAP_HOST_PASSWORD
+ )
+ imap.select('INBOX')
+
+ #get message ids
+ status, ids = imap.search(None, 'ALL')
+
+ #for each id - read a message, parse it and post a question
+ for id in ids[0].split(' '):
+ t, data = imap.fetch(id, '(RFC822)')
+ message_body = data[0][1]
+ msg = email.message_from_string(data[0][1])
+ imap.store(id, '+FLAGS', '\\Deleted')
+ try:
+ (sender, subject, body) = parse_message(msg)
+ except CannotParseEmail, e:
+ continue
+ data = {
+ 'sender': sender,
+ 'subject': subject,
+ 'body_text': body
+ }
+ form = AskByEmailForm(data)
+ print data
+ if form.is_valid():
+ email_address = form.cleaned_data['email']
+ try:
+ print 'looking for ' + email_address
+ user = models.User.objects.get(email = email_address)
+ except models.User.DoesNotExist:
+ bounce_email(email_address, subject, reason = 'unknown_user')
+ except models.User.MultipleObjectsReturned:
+ bounce_email(email_address, subject, reason = 'problem_posting')
+
+ tagnames = form.cleaned_data['tagnames']
+ title = form.cleaned_data['title']
+ body_text = form.cleaned_data['body_text']
+
+ try:
+ print 'posting question'
+ print title
+ print tagnames
+ print body_text
+ user.post_question(
+ title = title,
+ tags = tagnames,
+ body_text = body_text
+ )
+ except exceptions.PermissionDenied, e:
+ bounce_email(
+ email_address,
+ subject,
+ reason = 'permission_denied',
+ body_text = unicode(e)
+ )
+ else:
+ email_address = mail.extract_first_email_address(sender)
+ if email_address:
+ bounce_email(
+ email_address,
+ subject,
+ reason = 'problem_posting'
+ )
+ imap.expunge()
+ imap.close()
+ imap.logout()
diff --git a/askbot/models/__init__.py b/askbot/models/__init__.py
index 6ef9e4a1..a4d21caa 100644
--- a/askbot/models/__init__.py
+++ b/askbot/models/__init__.py
@@ -2078,9 +2078,9 @@ def record_post_update_activity(
if newly_mentioned_users is None:
newly_mentioned_users = list()
- from askbot.tasks import record_post_update_task
+ from askbot import tasks
- record_post_update_task.delay(
+ tasks.record_post_update_celery_task.delay(
post_id = post.id,
post_content_type_id = ContentType.objects.get_for_model(post).id,
newly_mentioned_user_id_list = [u.id for u in newly_mentioned_users],
@@ -2088,6 +2088,14 @@ def record_post_update_activity(
timestamp = timestamp,
created = created,
)
+ #non-celery version
+ #tasks.record_post_update(
+ # post = post,
+ # newly_mentioned_users = newly_mentioned_users,
+ # updated_by = updated_by,
+ # timestamp = timestamp,
+ # created = created,
+ #)
def record_award_event(instance, created, **kwargs):
diff --git a/askbot/models/content.py b/askbot/models/content.py
index 3ce219ed..84bd2421 100644
--- a/askbot/models/content.py
+++ b/askbot/models/content.py
@@ -6,7 +6,7 @@ from django.utils import html as html_utils
from askbot import const
from askbot.models.meta import Comment, Vote
from askbot.models.user import EmailFeedSetting
-from askbot.models.tag import Tag, MarkedTag
+from askbot.models.tag import Tag, MarkedTag, tags_match_some_wildcard
from askbot.conf import settings as askbot_settings
class Content(models.Model):
@@ -96,7 +96,6 @@ class Content(models.Model):
def get_global_tag_based_subscribers(
self,
- tags = None,
tag_mark_reason = None,
subscription_records = None
):
@@ -116,8 +115,9 @@ class Content(models.Model):
raise ValueError('Uknown value of tag mark reason %s' % tag_mark_reason)
#part 1 - find users who follow or not ignore the set of tags
+ tag_names = self.get_tag_names()
tag_selections = MarkedTag.objects.filter(
- tag__in = tags,
+ tag__name__in = tag_names,
reason = tag_mark_reason
)
subscribers = set(
@@ -144,7 +144,7 @@ class Content(models.Model):
elif tag_mark_reason == 'bad':
empty_wildcard_filter = {'ignored_tags__exact': ''}
wildcard_tags_attribute = 'ignored_tags'
- update_subscribers = lambda the_set, item: the_set.remove(item)
+ update_subscribers = lambda the_set, item: the_set.discard(item)
potential_wildcard_subscribers = User.objects.filter(
notification_subscriptions__in = subscription_records
@@ -159,7 +159,7 @@ class Content(models.Model):
wildcard_tags_attribute
).split(' ')
- if tags.tags_match_some_wildcard(wildcard_tags):
+ if tags_match_some_wildcard(tag_names, wildcard_tags):
update_subscribers(subscribers, potential_subscriber)
return subscribers
@@ -174,8 +174,6 @@ class Content(models.Model):
todo: retrieval of wildcard tag followers ignorers
won't scale at all
"""
- tags = self.tags.all()
-
subscriber_set = set()
global_subscriptions = EmailFeedSetting.objects.filter(
@@ -192,7 +190,6 @@ class Content(models.Model):
#segment of users who want emails on selected questions only
subscriber_set.update(
self.get_global_tag_based_subscribers(
- tags = tags,
subscription_records = global_subscriptions,
tag_mark_reason = 'good'
)
@@ -201,7 +198,6 @@ class Content(models.Model):
#segment of users who want to exclude ignored tags
subscriber_set.update(
self.get_global_tag_based_subscribers(
- tags = tags,
subscription_records = global_subscriptions,
tag_mark_reason = 'bad'
)
@@ -219,11 +215,28 @@ class Content(models.Model):
receive instant notifications for a given post
this method works for questions and answers
- parameter "potential_subscribers" is not used here,
- but left for the uniformity of the interface (Comment method does use it)
-
- comment class has it's own variant which does have quite a bit
- of duplicated code at the moment
+ Arguments:
+
+ * ``potential_subscribers`` is not used here! todo: why? - clean this out
+ parameter is left for the uniformity of the interface
+ (Comment method does use it)
+ normally these methods would determine the list
+ :meth:`~askbot.models.question.Question.get_response_recipients`
+ :meth:`~askbot.models.question.Answer.get_response_recipients`
+ - depending on the type of the post
+ * ``mentioned_users`` - users, mentioned in the post for the first time
+ * ``exclude_list`` - users who must be excluded from the subscription
+
+ Users who receive notifications are:
+
+ * of ``mentioned_users`` - those who subscribe for the instant
+ updates on the @name mentions
+ * those who follow the parent question
+ * global subscribers (any personalized tag filters are applied)
+ * author of the question who subscribe to instant updates
+ on questions that they asked
+ * authors or any answers who subsribe to instant updates
+ on the questions which they answered
"""
#print '------------------'
#print 'in content function'
diff --git a/askbot/models/meta.py b/askbot/models/meta.py
index f9df0619..290f5ef0 100644
--- a/askbot/models/meta.py
+++ b/askbot/models/meta.py
@@ -164,17 +164,17 @@ class Comment(base.MetaContent, base.UserContent):
return const.TYPE_ACTIVITY_COMMENT_ANSWER, self
def get_response_receivers(self, exclude_list = None):
- """get list of users who authored comments on a post
- and the post itself
+ """Response receivers are commenters of the
+ same post and the authors of the post itself.
"""
assert(exclude_list is not None)
users = set()
+ #get authors of parent object and all associated comments
users.update(
- #get authors of parent object and all associated comments
- self.content_object.get_author_list(
- include_comments = True,
- )
+ self.content_object.get_author_list(
+ include_comments = True,
)
+ )
users -= set(exclude_list)
return list(users)
@@ -184,10 +184,20 @@ class Comment(base.MetaContent, base.UserContent):
mentioned_users = None,
exclude_list = None
):
- """get list of users who want instant notifications
- about this comment
+ """get list of users who want instant notifications about comments
argument potential_subscribers is required as it saves on db hits
+
+ Here is the list of people who will receive the notifications:
+
+ * mentioned users
+ * of response receivers
+ (see :meth:`~askbot.models.meta.Comment.get_response_receivers`) -
+ those who subscribe for the instant
+ updates on comments and @mentions
+ * all who follow the question explicitly
+ * all global subscribers
+ (tag filtered, and subject to personalized settings)
"""
#print 'in meta function'
#print 'potential subscribers: ', potential_subscribers
diff --git a/askbot/models/question.py b/askbot/models/question.py
index bf4ab0d3..d1570877 100644
--- a/askbot/models/question.py
+++ b/askbot/models/question.py
@@ -41,6 +41,8 @@ QUESTION_ORDER_BY_MAP = {
}
class QuestionQuerySet(models.query.QuerySet):
+ """Custom query set subclass for :class:`~askbot.models.Question`
+ """
def create_new(
self,
title = None,
diff --git a/askbot/models/tag.py b/askbot/models/tag.py
index acfc9413..73aa328f 100644
--- a/askbot/models/tag.py
+++ b/askbot/models/tag.py
@@ -5,6 +5,17 @@ from django.utils.translation import ugettext as _
from askbot.models.base import DeletableContent
from askbot.models.base import BaseQuerySetManager
+def tags_match_some_wildcard(tag_names, wildcard_tags):
+ """Same as
+ :meth:`~askbot.models.tag.TagQuerySet.tags_match_some_wildcard`
+ except it works on tag name strings
+ """
+ for tag_name in tag_names:
+ for wildcard_tag in sorted(wildcard_tags):
+ if tag_name.startswith(wildcard_tag[:-1]):
+ return True
+ return False
+
class TagQuerySet(models.query.QuerySet):
UPDATE_USED_COUNTS_QUERY = """
UPDATE tag
@@ -35,6 +46,8 @@ class TagQuerySet(models.query.QuerySet):
matches a wildcard
:arg:`wildcard_tags` is an iterable of wildcard tag strings
+
+ todo: refactor to use :func:`tags_match_some_wildcard`
"""
for tag in self.all():
for wildcard_tag in sorted(wildcard_tags):
diff --git a/askbot/setup_templates/settings.py b/askbot/setup_templates/settings.py
index b1709a0a..5ded3e17 100644
--- a/askbot/setup_templates/settings.py
+++ b/askbot/setup_templates/settings.py
@@ -24,7 +24,7 @@ DATABASE_PASSWORD = '' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
-#mail server settings
+#outgoing mail server settings
SERVER_EMAIL = ''
DEFAULT_FROM_EMAIL = ''
EMAIL_HOST_USER = ''
@@ -35,6 +35,21 @@ EMAIL_PORT=''
EMAIL_USE_TLS=False
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
+#incoming mail settings
+#after filling out these settings - please
+#go to the site's live settings and enable the feature
+#"Email settings" -> "allow asking by email"
+#
+# WARNING: command post_emailed_questions DELETES all
+# emails from the mailbox each time
+# do not use your personal mail box here!!!
+#
+IMAP_HOST = ''
+IMAP_HOST_USER = ''
+IMAP_HOST_PASSWORD = ''
+IMAP_PORT = ''
+IMAP_USE_TLS = False
+
# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
diff --git a/askbot/tasks.py b/askbot/tasks.py
index e230be31..8dfea5b4 100644
--- a/askbot/tasks.py
+++ b/askbot/tasks.py
@@ -1,3 +1,22 @@
+"""Definitions of Celery tasks in Askbot
+in this module there are two types of functions:
+
+* those wrapped with a @task decorator and a ``_celery_task`` suffix - celery tasks
+* those with the same base name, but without the decorator and the name suffix
+ the actual work units run by the task
+
+Celery tasks are special functions in a way that they require all the parameters
+be serializable - so instead of ORM objects we pass object id's and
+instead of query sets - lists of ORM object id's.
+
+That is the reason for having two types of methods here:
+
+* the base methods (those without the decorator and the
+ ``_celery_task`` in the end of the name
+ are work units that are called from the celery tasks.
+* celery tasks - shells that reconstitute the necessary ORM
+ objects and call the base methods
+"""
from django.contrib.contenttypes.models import ContentType
from celery.decorators import task
from askbot.models import Activity
@@ -5,7 +24,7 @@ from askbot.models import User
from askbot.models import send_instant_notifications_about_activity_in_post
@task(ignore_results = True)
-def record_post_update_task(
+def record_post_update_celery_task(
post_id,
post_content_type_id,
newly_mentioned_user_id_list = None,
@@ -13,10 +32,42 @@ def record_post_update_task(
timestamp = None,
created = False,
):
-
+ #reconstitute objects from the database
updated_by = User.objects.get(id = updated_by_id)
post_content_type = ContentType.objects.get(id = post_content_type_id)
post = post_content_type.get_object_for_this_type(id = post_id)
+ newly_mentioned_users = User.objects.filter(
+ id__in = newly_mentioned_user_id_list
+ )
+
+
+ record_post_update(
+ post = post,
+ updated_by = updated_by,
+ newly_mentioned_users = newly_mentioned_users,
+ timestamp = timestamp,
+ created = created,
+ )
+
+def record_post_update(
+ post = None,
+ updated_by = None,
+ newly_mentioned_users = None,
+ timestamp = None,
+ created = False
+ ):
+ """Called when a post is updated. Arguments:
+
+ * ``newly_mentioned_users`` - users who are mentioned in the
+ post for the first time
+ * ``created`` - a boolean. True when ``post`` has just been created
+ * remaining arguments are self - explanatory
+
+ The method does two things:
+
+ * records "red envelope" recipients of the post
+ * sends email alerts to all subscribers to the post
+ """
#todo: take into account created == True case
(activity_type, update_object) = post.get_updated_activity_data(created)
@@ -42,10 +93,6 @@ def record_post_update_task(
assert(updated_by not in recipients)
- newly_mentioned_users = User.objects.filter(
- id__in = newly_mentioned_user_id_list
- )
-
for user in set(recipients) | set(newly_mentioned_users):
user.increment_response_count()
user.save()
diff --git a/askbot/tests/db_api_tests.py b/askbot/tests/db_api_tests.py
index a6b2dfc4..66fb9f9d 100644
--- a/askbot/tests/db_api_tests.py
+++ b/askbot/tests/db_api_tests.py
@@ -260,7 +260,6 @@ class GlobalTagSubscriberGetterTests(AskbotTestCase):
frequency = 'i'
)
actual_subscribers = self.question.get_global_tag_based_subscribers(
- tags = self.question.tags.all(),
tag_mark_reason = reason,
subscription_records = subscriptions
)
@@ -322,3 +321,19 @@ class GlobalTagSubscriberGetterTests(AskbotTestCase):
expected_subscribers = set([self.u2,]),
reason = 'bad'
)
+
+ def test_user_dislikes_wildcard_and_matching_tag(self):
+ """user ignores tag "day" and ignores a wildcard "da*"
+ """
+ self.set_email_tag_filter_strategy(const.EXCLUDE_IGNORED)
+ askbot_settings.update('USE_WILDCARD_TAGS', True)
+ self.u1.mark_tags(
+ tagnames = ('day',),
+ wildcards = ('da*',),
+ reason = 'bad',
+ action = 'add'
+ )
+ self.assert_subscribers_are(
+ expected_subscribers = set([self.u2,]),
+ reason = 'bad'
+ )
diff --git a/askbot/tests/email_alert_tests.py b/askbot/tests/email_alert_tests.py
index 5ec598d7..de801967 100644
--- a/askbot/tests/email_alert_tests.py
+++ b/askbot/tests/email_alert_tests.py
@@ -1,6 +1,7 @@
import datetime
import functools
import copy
+import time
from django.conf import settings as django_settings
from django.core import management
import django.core.mail
@@ -11,9 +12,11 @@ from askbot.tests import utils
from askbot import models
from askbot.utils import mail
from askbot.conf import settings as askbot_settings
+from askbot import const
def email_alert_test(test_func):
- """decorator for test methods in EmailAlertTests
+ """decorator for test methods in
+ :class:`~askbot.tests.email_alert_tests.EmailAlertTests`
wraps tests with a generic sequence of testing
email alerts on updates to anything relating to
given question
@@ -732,3 +735,68 @@ class FeedbackTests(utils.AskbotTestCase):
mail.mail_moderators('subject', 'text')
self.assert_feedback_works()
+
+class TagFollowedInstantWholeForumEmailAlertTests(utils.AskbotTestCase):
+ def setUp(self):
+ self.create_user(
+ username = 'user1',
+ notification_schedule = {'q_all': 'i'},
+ status = 'm'
+ )
+ self.create_user(
+ username = 'user2',
+ status = 'm'
+ )
+
+ def test_wildcard_catches_new_tag(self):
+ """users asks a question with a brand new tag
+ and other user subscribes to it by wildcard
+ """
+ askbot_settings.update('USE_WILDCARD_TAGS', True)
+ self.user1.email_tag_filter_strategy = const.INCLUDE_INTERESTING
+ self.user1.save()
+ self.user1.mark_tags(
+ wildcards = ('some*',),
+ reason = 'good',
+ action = 'add'
+ )
+ self.user2.post_question(
+ title = 'some title',
+ body_text = 'some text for the question',
+ tags = 'something'
+ )
+ outbox = django.core.mail.outbox
+ self.assertEqual(len(outbox), 1)
+ self.assertEqual(len(outbox[0].recipients()), 1)
+ self.assertTrue(
+ self.user1.email in outbox[0].recipients()
+ )
+
+ def test_tag_based_subscription_on_new_question_works(self):
+ """someone subscribes for an pre-existing tag
+ then another user asks a question with that tag
+ and the subcriber receives an alert
+ """
+ models.Tag(
+ name = 'something',
+ created_by = self.user1
+ ).save()
+
+ self.user1.email_tag_filter_strategy = const.INCLUDE_INTERESTING
+ self.user1.save()
+ self.user1.mark_tags(
+ tagnames = ('something',),
+ reason = 'good',
+ action = 'add'
+ )
+ self.user2.post_question(
+ title = 'some title',
+ body_text = 'some text for the question',
+ tags = 'something'
+ )
+ outbox = django.core.mail.outbox
+ self.assertEqual(len(outbox), 1)
+ self.assertEqual(len(outbox[0].recipients()), 1)
+ self.assertTrue(
+ self.user1.email in outbox[0].recipients()
+ )
diff --git a/askbot/tests/form_tests.py b/askbot/tests/form_tests.py
index 1a18678c..68fb7010 100644
--- a/askbot/tests/form_tests.py
+++ b/askbot/tests/form_tests.py
@@ -3,6 +3,85 @@ from askbot.conf import settings as askbot_settings
from askbot import forms
from askbot import models
+EMAIL_CASES = (#test should fail if the second item is None
+ ('user@example.com', 'user@example.com'),
+ ('Name Name <name@example.com>', 'name@example.com'),
+ ('"Name Name [example.com]" <name@example.com>', 'name@example.com'),
+ (
+ 'someone <reply+m-4823355-3ae97f4698708d0be6bb087d6d4ce1e5e33ac131@reply.example.com>',
+ 'reply+m-4823355-3ae97f4698708d0be6bb087d6d4ce1e5e33ac131@reply.example.com'
+ ),
+ (
+ 'freddy krueger <someone@example.edu> (by way of somebody else)',
+ 'someone@example.edu'
+ ),
+ (
+ 'Google Anniversary Promotion =?iso-8859-1?Q?=A9_2011?= <someone@example.br>',
+ 'someone@example.br'
+ ),
+ ('=?koi8-r?B?5sHExcXXwSDvzNjHwQ==?= <someone@example.ru>', 'someone@example.ru'),
+ ('root@example.org (Cron Daemon)', 'root@example.org'),
+ ('<summary@example.com>', 'summary@example.com'),
+ ('some text without an email adderess', None)
+)
+SUBJECT_LINE_CASES = (#test fails if second item is None
+ (
+ ' [ tag1;long tag, another] question title',
+ ('tag1 long-tag another', 'question title')
+ ),
+ ('[] question title', None),
+ ('question title', None),
+ (' [question title', None),
+ ('] question title', None),
+)
+
+class AskByEmailFormTests(AskbotTestCase):
+ """Tests :class:`~askbot.forms.AskByEmailForm`
+ form"""
+ def setUp(self):
+ #benign data set that must pass
+ self.data = {
+ 'sender': 'someone@example.com',
+ 'subject': '[tag-one] where is titanic?',
+ 'body_text': 'where is titanic?'
+ }
+ def test_subject_line(self):
+ """loops through various forms of the subject line
+ and makes sure that tags and title are parsed out"""
+ for test_case in SUBJECT_LINE_CASES:
+ self.data['subject'] = test_case[0]
+ form = forms.AskByEmailForm(self.data)
+ output = test_case[1]
+ if output is None:
+ self.assertFalse(form.is_valid())
+ else:
+ self.assertTrue(form.is_valid())
+ self.assertEquals(
+ form.cleaned_data['tagnames'],
+ output[0]
+ )
+ self.assertEquals(
+ form.cleaned_data['title'],
+ output[1]
+ )
+
+ def test_email(self):
+ """loops through variants of the from field
+ in the emails and tests the email address
+ extractor"""
+ for test_case in EMAIL_CASES:
+ self.data['sender'] = test_case[0]
+ expected_result = test_case[1]
+ form = forms.AskByEmailForm(self.data)
+ if expected_result is None:
+ self.assertFalse(form.is_valid())
+ else:
+ self.assertTrue(form.is_valid())
+ self.assertEquals(
+ form.cleaned_data['email'],
+ expected_result
+ )
+
class TagNamesFieldTests(AskbotTestCase):
def setUp(self):
diff --git a/askbot/tests/skin_tests.py b/askbot/tests/skin_tests.py
index 978f45b1..660daa4e 100644
--- a/askbot/tests/skin_tests.py
+++ b/askbot/tests/skin_tests.py
@@ -36,6 +36,7 @@ class SkinTests(TestCase):
'test_skin'
)
shutil.rmtree(test_skin_dir)
+ askbot_settings.update('ASKBOT_DEFAULT_SKIN', 'default')
def assert_default_logo_in_skin(self, skin_name):
url = skin_utils.get_media_url(askbot_settings.SITE_LOGO_URL)
diff --git a/askbot/tests/utils.py b/askbot/tests/utils.py
index 85599682..0c18e661 100644
--- a/askbot/tests/utils.py
+++ b/askbot/tests/utils.py
@@ -12,7 +12,26 @@ def create_user(
reputation = 1
):
"""Creates a user and sets default update subscription
- settings"""
+ settings
+
+ ``notification_schedule`` is a dictionary with keys
+ the same as in keys in
+ :attr:`~askbot.models.EmailFeedSetting.FEED_TYPES`:
+
+ * 'q_ask' - questions that user asks
+ * 'q_all' - enture forum, tag filtered
+ * 'q_ans' - questions that user answers
+ * 'q_sel' - questions that user decides to follow
+ * 'm_and_c' - comments and mentions of user anywhere
+
+ and values as keys in
+ :attr:`~askbot.models.EmailFeedSetting.FEED_TYPES`:
+
+ * 'i' - instantly
+ * 'd' - daily
+ * 'w' - weekly
+ * 'n' - never
+ """
user = models.User.objects.create_user(username, email)
user.reputation = reputation
if date_joined is not None:
diff --git a/askbot/utils/mail.py b/askbot/utils/mail.py
index 9f88bb3c..1c78e81d 100644
--- a/askbot/utils/mail.py
+++ b/askbot/utils/mail.py
@@ -7,6 +7,7 @@ from django.core import mail
from django.conf import settings as django_settings
from askbot.conf import settings as askbot_settings
from askbot import exceptions
+from askbot import const
#todo: maybe send_mail functions belong to models
#or the future API
def prefix_the_subject_line(subject):
@@ -19,6 +20,17 @@ def prefix_the_subject_line(subject):
subject = prefix + ' ' + subject
return subject
+def extract_first_email_address(text):
+ """extract first matching email address
+ from text string
+ returns ``None`` if there are no matches
+ """
+ match = const.EMAIL_REGEX.search(text)
+ if match:
+ return match.group(0)
+ else:
+ return None
+
def send_mail(
subject_line = None,
body_text = None,
@@ -28,7 +40,9 @@ def send_mail(
headers = None,
raise_on_failure = False,
):
- """sends email message
+ """
+ todo: remove parameters not relevant to the function
+ sends email message
logs email sending activity
and any errors are reported as critical
in the main log file
@@ -78,6 +92,7 @@ def mail_moderators(
try:
mail.send_mail(subject_line, body_text, from_email, recipient_list)
+ pass
except smtplib.SMTPException, error:
logging.critical(unicode(error))
if raise_on_failure == True:
diff --git a/setup.py b/setup.py
index a76dc68e..5f6c018d 100644
--- a/setup.py
+++ b/setup.py
@@ -34,7 +34,7 @@ if sys.platform not in WIN_PLATFORMS:
setup(
name = "askbot",
- version = '0.6.75',#remember to manually set this correctly
+ version = '0.6.76',#remember to manually set this correctly
description = 'Question and Answer forum, like StackOverflow, written in python and Django',
packages = find_packages(),
author = 'Evgeny.Fadeev',