From c94414116de4eec9d75013a7b4299f4f7ca78c9f Mon Sep 17 00:00:00 2001 From: Evgeny Fadeev Date: Tue, 10 Aug 2010 23:49:00 -0400 Subject: improved error messages and made question restore work --- askbot/auth.py | 79 - askbot/locale/en/LC_MESSAGES/django.mo | Bin 25398 -> 25465 bytes askbot/locale/en/LC_MESSAGES/django.po | 3644 ++++++++++++---------- askbot/models/__init__.py | 138 +- askbot/models/answer.py | 14 - askbot/models/question.py | 23 +- askbot/models/repute.py | 4 +- askbot/skins/default/media/js/com.cnprog.post.js | 42 +- askbot/skins/default/templates/question.html | 8 +- askbot/skins/default/templates/questions.html | 36 +- askbot/templatetags/extra_filters.py | 13 +- askbot/tests/db_api_tests.py | 70 +- askbot/views/readers.py | 18 +- askbot/views/writers.py | 23 +- 14 files changed, 2283 insertions(+), 1829 deletions(-) diff --git a/askbot/auth.py b/askbot/auth.py index 381143b5..83a26d48 100644 --- a/askbot/auth.py +++ b/askbot/auth.py @@ -18,24 +18,10 @@ import logging from askbot.conf import settings as askbot_settings -def can_lock_posts(user): - """Determines if a User can lock Questions or Answers.""" - return user.is_authenticated() and ( - user.reputation >= askbot_settings.MIN_REP_TO_LOCK_POSTS or - user.is_superuser) - def can_follow_url(user): """Determines if the URL link can be followed by Google search engine.""" return user.reputation >= askbot_settings.MIN_REP_TO_DISABLE_URL_NOFOLLOW -def can_accept_answer(user, question, answer): - if user.is_superuser: - return True - if user.is_authenticated(): - if question.author != answer.author and question.author == user: - return True - return False - # user preferences view permissions def is_user_self(request_user, target_user): return (request_user.is_authenticated() and request_user == target_user) @@ -364,68 +350,3 @@ def onDownVotedCanceled(vote, post, user, timestamp=None): reputation_type=5, reputation=user.reputation) reputation.save() - -#here timestamp is not used, I guess added for consistency -def onDeleteCanceled(post, user, timestamp=None): - post.deleted = False - post.deleted_by = None - post.deleted_at = None - post.save() - if isinstance(post, Answer): - Question.objects.update_answer_count(post.question) - elif isinstance(post, Question): - #todo: make sure that these tags actually exist - #some may have since been deleted for good - #or merged into others - for tag in list(post.tags.all()): - if tag.used_count == 1 and tag.deleted: - tag.deleted = False - tag.deleted_by = None - tag.deleted_at = None - tag.save() - -def onDeleted(post, user, timestamp=None): - if timestamp is None: - timestamp = datetime.datetime.now() - post.deleted = True - post.deleted_by = user - post.deleted_at = timestamp - post.save() - - if isinstance(post, Question): - for tag in list(post.tags.all()): - if tag.used_count == 1: - tag.deleted = True - tag.deleted_by = user - tag.deleted_at = timestamp - else: - tag.used_count = tag.used_count - 1 - tag.save() - - answers = post.answers.all() - if user == post.author: - if len(answers) > 0: - msg = _( - 'Your question and all of it\'s answers have been deleted' - ) - else: - msg = _('Your question has been deleted') - else: - if len(answers) > 0: - msg = _( - 'The question and all of it\'s answers have been deleted' - ) - else: - msg = _('The question has been deleted') - user.message_set.create(message=msg) - logging.debug('posted a message %s' % msg) - for answer in answers: - onDeleted(answer, user) - elif isinstance(post, Answer): - Question.objects.update_answer_count(post.question) - logging.debug('updated answer count to %d' % post.question.answer_count) - signals.delete_question_or_answer.send( - sender=post.__class__, - instance=post, - delete_by=user - ) diff --git a/askbot/locale/en/LC_MESSAGES/django.mo b/askbot/locale/en/LC_MESSAGES/django.mo index 25f26273..29699e7b 100644 Binary files a/askbot/locale/en/LC_MESSAGES/django.mo and b/askbot/locale/en/LC_MESSAGES/django.mo differ diff --git a/askbot/locale/en/LC_MESSAGES/django.po b/askbot/locale/en/LC_MESSAGES/django.po index 94b64b78..469a10b5 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: 2010-06-03 18:48-0400\n" +"POT-Creation-Date: 2010-08-10 18:09-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Evgeny Fadeev \n" "Language-Team: LANGUAGE \n" @@ -16,605 +16,382 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: django_authopenid/forms.py:72 django_authopenid/views.py:134 -msgid "i-names are not supported" -msgstr "" - -#: django_authopenid/forms.py:135 -msgid "Account with this name already exists on the forum" -msgstr "" - -msgid "anonymous users cannot vote" -msgstr "sorry, anonymous users cannot vote " - -msgid "cannot flag message as offensive twice" -msgstr "You have flagged this question before and " -"cannot do it more than once" - -msgid "blocked users cannot flag posts" -msgstr "Sorry, since your account is blocked " -"you cannot flag posts as offensive" - -#, python-format -msgid "need > %(min_rep)s points to flag spam" -msgstr "Sorry, to flag posts as offensive a minimum " -"reputation of %(min_rep)s is required" - -#, python-format -msgid "%(max_flags_per_day)s exceeded" -msgstr "Sorry, you have exhausted the maximum number " -"of %(max_flags_per_day)s offensive flags per day." - -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." - -msgid "suspended users cannot post" -msgstr "Sorry, your account appears to be suspended and you " -"cannot make new posts until this issue is resolved. " -"You can, however edit your existing posts. " -"Please contact the forum administrator to " -"reach a resolution." - -#, python-format -msgid ">%(points)s points required to upvote" -msgstr ">%(points)s points required to upvote " - -#, python-format -msgid ">%(points)s points required to downvote" -msgstr ">%(points)s points required to downvote " - -msgid "cannot vote for own posts" -msgstr "sorry, you cannot vote for your own posts" - -msgid "cannot revoke old vote" -msgstr "sorry, but older votes cannot be revoked" - -#: django_authopenid/forms.py:136 -msgid "can't have two logins to the same account yet, sorry." -msgstr "" - -#: django_authopenid/forms.py:158 -msgid "Please enter valid username and password (both are case-sensitive)." -msgstr "" - -#: django_authopenid/forms.py:161 django_authopenid/forms.py:211 -msgid "This account is inactive." -msgstr "" - -#: django_authopenid/forms.py:163 -msgid "Login failed." -msgstr "" - -#: django_authopenid/forms.py:165 -msgid "Please enter username and password" -msgstr "" - -#: django_authopenid/forms.py:167 -msgid "Please enter your password" -msgstr "" - -#: django_authopenid/forms.py:169 -msgid "Please enter user name" -msgstr "" - -#: django_authopenid/forms.py:207 -msgid "" -"Please enter a valid username and password. Note that " -"both fields are case-sensitive." -msgstr "" - -#: django_authopenid/forms.py:230 -msgid "Current password" -msgstr "" - -#: django_authopenid/forms.py:241 -msgid "" -"Old password is incorrect. Please enter the correct " -"password." -msgstr "" - -#: django_authopenid/forms.py:306 -msgid "Your user name (required)" -msgstr "" - -#: django_authopenid/forms.py:321 -msgid "Incorrect username." -msgstr "sorry, there is no such user name" - -#: django_authopenid/urls.py:23 django_authopenid/urls.py:24 -#: django_authopenid/urls.py:25 django_authopenid/urls.py:27 -#: fbconnect/urls.py:14 fbconnect/urls.py:15 fbconnect/urls.py:16 -msgid "signin/" -msgstr "" - -#: django_authopenid/urls.py:24 fbconnect/urls.py:15 fbconnect/urls.py:19 -msgid "newquestion/" -msgstr "" - -#: django_authopenid/urls.py:25 fbconnect/urls.py:16 fbconnect/urls.py:20 -msgid "newanswer/" -msgstr "" - -#: django_authopenid/urls.py:26 -msgid "signout/" -msgstr "" - -#: django_authopenid/urls.py:27 -msgid "complete/" -msgstr "" - -#: django_authopenid/urls.py:29 fbconnect/urls.py:18 fbconnect/urls.py:19 -#: fbconnect/urls.py:20 -msgid "register/" -msgstr "" - -#: django_authopenid/urls.py:30 -msgid "signup/" -msgstr "" - -#: django_authopenid/urls.py:32 -msgid "sendpw/" -msgstr "" - -#: django_authopenid/urls.py:33 django_authopenid/urls.py:37 -msgid "password/" -msgstr "" - -#: django_authopenid/urls.py:33 -msgid "confirm/" -msgstr "" - -#: django_authopenid/urls.py:38 django_authopenid/urls.py:39 -#: django_authopenid/urls.py:40 django_authopenid/urls.py:41 -msgid "email/" -msgstr "" - -#: django_authopenid/urls.py:38 -msgid "validate/" -msgstr "" - -#: django_authopenid/urls.py:39 -msgid "change/" -msgstr "" - -#: django_authopenid/urls.py:40 -msgid "sendkey/" -msgstr "" - -#: django_authopenid/urls.py:41 -msgid "verify/" -msgstr "" - -#: django_authopenid/urls.py:42 -msgid "openid/" -msgstr "" - -#: django_authopenid/urls.py:43 forum/urls.py:113 forum/urls.py:120 -msgid "delete/" -msgstr "" - -#: django_authopenid/urls.py:51 -msgid "external-login/forgot-password/" -msgstr "" - -#: django_authopenid/urls.py:54 -msgid "external-login/signup/" -msgstr "" - -#: django_authopenid/views.py:141 -#, python-format -msgid "OpenID %(openid_url)s is invalid" -msgstr "" - -#: django_authopenid/views.py:616 -msgid "Welcome email subject line" -msgstr "Welcome to the Q&A forum" - -#: django_authopenid/views.py:722 -msgid "Password changed." -msgstr "" - -#: django_authopenid/views.py:734 django_authopenid/views.py:740 -#, python-format -msgid "your email needs to be validated see %(details_url)s" -msgstr "" -"Your email needs to be validated. Please see details here." - -#: django_authopenid/views.py:761 -msgid "Email verification subject line" -msgstr "Verification Email from Q&A forum" - -#: django_authopenid/views.py:852 -msgid "your email was not changed" -msgstr "" - -#: django_authopenid/views.py:900 django_authopenid/views.py:1058 -#, python-format -msgid "No OpenID %s found associated in our database" -msgstr "" - -#: django_authopenid/views.py:904 django_authopenid/views.py:1065 -#, python-format -msgid "The OpenID %s isn't associated to current user logged in" -msgstr "" - -#: django_authopenid/views.py:912 -msgid "Email Changed." -msgstr "" - -#: django_authopenid/views.py:990 -msgid "This OpenID is already associated with another account." -msgstr "" - -#: django_authopenid/views.py:995 -#, python-format -msgid "OpenID %s is now associated with your account." -msgstr "" - -#: django_authopenid/views.py:1068 -msgid "Account deleted." -msgstr "" - -#: django_authopenid/views.py:1120 -msgid "Request for new password" -msgstr "" - -#: django_authopenid/views.py:1134 -msgid "A new password and the activation link were sent to your email address." -msgstr "" - -#: django_authopenid/views.py:1166 -#, python-format -msgid "" -"Could not change password. Confirmation key '%s' is not " -"registered." -msgstr "" - -#: django_authopenid/views.py:1176 -msgid "" -"Can not change password. User don't exist anymore in our " -"database." -msgstr "" - -#: django_authopenid/views.py:1186 -#, python-format -msgid "Password changed for %s. You may now sign in." -msgstr "" - -#: forum/auth.py:528 +#: auth.py:395 msgid "Your question and all of it's answers have been deleted" msgstr "" -#: forum/auth.py:531 +#: auth.py:398 msgid "Your question has been deleted" msgstr "" -#: forum/auth.py:535 +#: auth.py:402 msgid "The question and all of it's answers have been deleted" msgstr "" -#: forum/auth.py:538 +#: auth.py:405 msgid "The question has been deleted" msgstr "" -#: forum/feed.py:22 +#: feed.py:22 msgid " - " msgstr "" -#: forum/feed.py:22 +#: feed.py:22 msgid "latest questions" msgstr "" -#: forum/forms.py:23 forum/skins/default/templates/answer_edit_tips.html:35 -#: forum/skins/default/templates/answer_edit_tips.html:39 -#: forum/skins/default/templates/question_edit_tips.html:32 -#: forum/skins/default/templates/question_edit_tips.html:37 +#: forms.py:47 skins/default/templates/answer_edit_tips.html:35 +#: skins/default/templates/answer_edit_tips.html:39 +#: skins/default/templates/question_edit_tips.html:32 +#: skins/default/templates/question_edit_tips.html:37 msgid "title" msgstr "" -#: forum/forms.py:24 +#: forms.py:48 msgid "please enter a descriptive title for your question" msgstr "" -#: forum/forms.py:29 +#: forms.py:53 msgid "title must be > 10 characters" msgstr "" -#: forum/forms.py:38 +#: forms.py:62 msgid "content" msgstr "" -#: forum/forms.py:44 +#: forms.py:68 msgid "question content must be > 10 characters" msgstr "" -#: forum/forms.py:53 forum/skins/default/templates/header.html:28 +#: forms.py:77 skins/default/templates/header.html:43 msgid "tags" msgstr "" -#: forum/forms.py:55 +#: forms.py:79 msgid "" "Tags are short keywords, with no spaces within. Up to five tags can be used." msgstr "" -#: forum/forms.py:62 forum/skins/default/templates/question_retag.html:39 +#: forms.py:86 skins/default/templates/question_retag.html:39 msgid "tags are required" msgstr "" -#: forum/forms.py:71 +#: forms.py:95 #, 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] "" -#: forum/forms.py:80 +#: forms.py:104 #, 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] "" -#: forum/forms.py:88 +#: forms.py:112 msgid "use-these-chars-in-tags" msgstr "" -#: forum/forms.py:98 -#: forum/skins/default/templates/post_contributor_info.html:7 -#: forum/skins/default/templates/question_summary_list_roll.html:26 -#: forum/skins/default/templates/question_summary_list_roll.html:38 +#: forms.py:122 skins/default/templates/post_contributor_info.html:7 +#: skins/default/templates/question_summary_list_roll.html:26 +#: skins/default/templates/question_summary_list_roll.html:38 msgid "community wiki" msgstr "" -#: forum/forms.py:99 +#: forms.py:123 msgid "" "if you choose community wiki option, the question and answer do not generate " "points and name of author will not be shown" msgstr "" -#: forum/forms.py:115 +#: forms.py:139 msgid "update summary:" msgstr "" -#: forum/forms.py:116 +#: forms.py:140 msgid "" "enter a brief summary of your revision (e.g. fixed spelling, grammar, " "improved style, this field is optional)" msgstr "" -#: forum/forms.py:119 -msgid "Automatically accept user's contributions for the email updates" +#: forms.py:153 +msgid "Enter number of points to add or subtract" +msgstr "" + +#: forms.py:167 const/__init__.py:217 +msgid "approved" +msgstr "" + +#: forms.py:168 const/__init__.py:218 +msgid "watched" +msgstr "" + +#: forms.py:169 const/__init__.py:219 +msgid "suspended" +msgstr "" + +#: forms.py:170 const/__init__.py:220 +msgid "blocked" +msgstr "" + +#: forms.py:172 const/__init__.py:216 +msgid "moderator" +msgstr "" + +#: forms.py:192 +msgid "Change status to" +msgstr "" + +#: forms.py:219 +msgid "which one?" +msgstr "" + +#: forms.py:240 +msgid "Cannot change own status" +msgstr "" + +#: forms.py:246 +msgid "Cannot turn other user to moderator" +msgstr "" + +#: forms.py:253 +msgid "Cannot change status of another moderator" +msgstr "" + +#: forms.py:259 +#, python-format +msgid "If you wish to change %(username)s's status, " msgstr "" -#: forum/forms.py:210 +#: forms.py:346 msgid "Your name:" msgstr "" -#: forum/forms.py:211 +#: forms.py:347 msgid "Email (not shared with anyone):" msgstr "" -#: forum/forms.py:212 +#: forms.py:348 msgid "Your message:" msgstr "" -#: forum/forms.py:295 +#: forms.py:431 msgid "this email does not have to be linked to gravatar" msgstr "" -#: forum/forms.py:297 +#: forms.py:433 msgid "Screen name" msgstr "" -#: forum/forms.py:298 +#: forms.py:434 msgid "Real name" msgstr "" -#: forum/forms.py:299 +#: forms.py:435 msgid "Website" msgstr "" -#: forum/forms.py:300 +#: forms.py:436 msgid "Location" msgstr "" -#: forum/forms.py:301 +#: forms.py:437 msgid "Date of birth" msgstr "" -#: forum/forms.py:301 +#: forms.py:437 msgid "will not be shown, used to calculate age, format: YYYY-MM-DD" msgstr "" -#: forum/forms.py:302 forum/skins/default/templates/account_settings.html:21 -#: forum/skins/default/templates/authopenid/settings.html:21 +#: forms.py:438 skins/default/templates/account_settings.html:21 +#: skins/default/templates/authopenid/settings.html:21 msgid "Profile" msgstr "" -#: forum/forms.py:333 forum/forms.py:334 +#: forms.py:469 forms.py:470 msgid "this email has already been registered, please use another one" msgstr "" -#: forum/forms.py:340 +#: forms.py:476 msgid "Choose email tag filter" msgstr "" -#: forum/forms.py:379 +#: forms.py:515 msgid "Asked by me" msgstr "" -#: forum/forms.py:382 +#: forms.py:518 msgid "Answered by me" msgstr "" -#: forum/forms.py:385 +#: forms.py:521 msgid "Individually selected" msgstr "" -#: forum/forms.py:388 +#: forms.py:524 msgid "Entire forum (tag filtered)" msgstr "" -#: forum/forms.py:392 +#: forms.py:528 msgid "Comments and posts mentioning me" msgstr "" -#: forum/forms.py:450 +#: forms.py:586 msgid "okay, let's try!" msgstr "" -#: forum/forms.py:451 +#: forms.py:587 msgid "no community email please, thanks" msgstr "no askbot email please, thanks" -#: forum/forms.py:455 +#: forms.py:591 msgid "please choose one of the options above" msgstr "" -#: forum/urls.py:37 +#: urls.py:38 msgid "upfiles/" msgstr "" -#: forum/urls.py:42 +#: urls.py:43 msgid "about/" msgstr "" -#: forum/urls.py:43 forum/conf/site_settings.py:75 +#: urls.py:44 conf/site_settings.py:75 msgid "faq/" msgstr "" -#: forum/urls.py:44 +#: urls.py:45 msgid "privacy/" msgstr "" -#: forum/urls.py:45 +#: urls.py:46 msgid "logout/" msgstr "" -#: forum/urls.py:47 forum/urls.py:52 forum/urls.py:57 forum/urls.py:120 +#: urls.py:48 urls.py:53 urls.py:58 urls.py:126 msgid "answers/" msgstr "" -#: forum/urls.py:47 forum/urls.py:102 forum/urls.py:113 forum/urls.py:120 +#: urls.py:48 urls.py:108 urls.py:119 urls.py:126 msgid "comments/" msgstr "" -#: forum/urls.py:52 forum/urls.py:72 forum/urls.py:166 -#: forum/skins/default/templates/user_info.html:47 +#: urls.py:53 urls.py:73 urls.py:167 skins/default/templates/user_info.html:33 msgid "edit/" msgstr "" -#: forum/urls.py:57 forum/urls.py:97 +#: urls.py:58 urls.py:103 msgid "revisions/" msgstr "" -#: forum/urls.py:62 forum/urls.py:67 forum/urls.py:72 forum/urls.py:77 -#: forum/urls.py:82 forum/urls.py:87 forum/urls.py:92 forum/urls.py:97 -#: forum/urls.py:102 forum/urls.py:113 +#: urls.py:63 urls.py:68 urls.py:73 urls.py:78 urls.py:83 urls.py:88 +#: urls.py:93 urls.py:98 urls.py:103 urls.py:108 urls.py:119 msgid "questions/" msgstr "" -#: forum/urls.py:67 forum_modules/books/urls.py:8 +#: urls.py:68 msgid "ask/" msgstr "" -#: forum/urls.py:77 +#: urls.py:78 +msgid "retag/" +msgstr "" + +#: urls.py:83 msgid "close/" msgstr "" -#: forum/urls.py:82 +#: urls.py:88 msgid "reopen/" msgstr "" -#: forum/urls.py:87 +#: urls.py:93 msgid "answer/" msgstr "" -#: forum/urls.py:92 +#: urls.py:98 msgid "vote/" msgstr "" -#: forum/urls.py:107 +#: urls.py:113 msgid "command/" msgstr "" -#: forum/urls.py:127 forum/views/readers.py:256 +#: urls.py:119 urls.py:126 deps/django_authopenid/urls.py:43 +msgid "delete/" +msgstr "" + +#: urls.py:133 views/readers.py:273 msgid "question/" msgstr "" -#: forum/urls.py:132 +#: urls.py:138 msgid "tags/" msgstr "" -#: forum/urls.py:137 forum/urls.py:143 +#: urls.py:143 urls.py:149 msgid "mark-tag/" msgstr "" -#: forum/urls.py:137 +#: urls.py:143 msgid "interesting/" msgstr "" -#: forum/urls.py:143 +#: urls.py:149 msgid "ignored/" msgstr "" -#: forum/urls.py:149 +#: urls.py:155 msgid "unmark-tag/" msgstr "" -#: forum/urls.py:155 forum/urls.py:166 forum/urls.py:171 +#: urls.py:161 urls.py:167 urls.py:172 msgid "users/" msgstr "" -#: forum/urls.py:160 -msgid "moderate-user/" -msgstr "" - -#: forum/urls.py:176 forum/urls.py:181 +#: urls.py:177 urls.py:182 msgid "badges/" msgstr "" -#: forum/urls.py:186 +#: urls.py:187 msgid "messages/" msgstr "" -#: forum/urls.py:186 +#: urls.py:187 msgid "markread/" msgstr "" -#: forum/urls.py:197 +#: urls.py:197 msgid "upload/" msgstr "" -#: forum/urls.py:198 +#: urls.py:198 msgid "search/" msgstr "" -#: forum/urls.py:199 +#: urls.py:199 msgid "feedback/" msgstr "" -#: forum/urls.py:200 +#: urls.py:200 setup_templates/settings.py:198 msgid "account/" msgstr "" -#: forum/conf/email.py:12 +#: conf/email.py:12 msgid "Email and email alert settings" msgstr "" -#: forum/conf/email.py:20 +#: conf/email.py:20 msgid "Maximum number of news entries in an email alert" msgstr "" -#: forum/conf/email.py:30 +#: conf/email.py:30 msgid "Default news notification frequency" msgstr "" -#: forum/conf/email.py:32 +#: conf/email.py:32 msgid "" "This option currently defines default frequency of emailed updates in the " "following five categories: questions asked by user, answered by user, " @@ -622,1568 +399,2202 @@ msgid "" "posts mentioning the user and comment responses" msgstr "" -#: forum/conf/email.py:47 +#: conf/email.py:47 msgid "Require email verification before allowing to post" msgstr "" -#: forum/conf/email.py:48 +#: conf/email.py:48 msgid "" "Active email verification is done by sending a verification key in email" msgstr "" -#: forum/conf/email.py:57 +#: conf/email.py:57 msgid "Allow only one account per email address" msgstr "" -#: forum/conf/email.py:66 +#: conf/email.py:66 msgid "Fake email for anonymous user" msgstr "" -#: forum/conf/email.py:67 +#: conf/email.py:67 msgid "Use this setting to control gravatar for email-less user" msgstr "" -#: forum/conf/external_keys.py:11 +#: conf/external_keys.py:11 msgid "Keys to connect the site with external services like Facebook, etc." msgstr "" -#: forum/conf/external_keys.py:18 +#: conf/external_keys.py:18 msgid "Google site verification key" msgstr "" -#: forum/conf/external_keys.py:20 +#: conf/external_keys.py:20 #, python-format msgid "" "This key helps google index your site please obtain is at google webmasters tools site" msgstr "" -#: forum/conf/external_keys.py:34 +#: conf/external_keys.py:34 msgid "Google Analytics key" msgstr "" -#: forum/conf/external_keys.py:36 +#: conf/external_keys.py:36 #, python-format msgid "" "Obtain is at Google Analytics site, if you wish " "to use Google Analytics to monitor your site" msgstr "" -#: forum/conf/external_keys.py:49 +#: conf/external_keys.py:49 msgid "Recaptcha private key" msgstr "" -#: forum/conf/external_keys.py:52 +#: conf/external_keys.py:52 msgid "" "Recaptcha is a tool that helps distinguish real people from annoying spam " "robots. Please get this and a public key at the recaptcha.net" msgstr "" -#: forum/conf/external_keys.py:65 +#: conf/external_keys.py:65 msgid "Recaptcha public key" msgstr "" -#: forum/conf/external_keys.py:73 +#: conf/external_keys.py:73 msgid "Facebook public API key" msgstr "" -#: forum/conf/external_keys.py:76 +#: conf/external_keys.py:76 msgid "" "Facebook API key and Facebook secret allow to use Facebook Connect login " "method at your site. Please obtain these keys at facebook create app site" msgstr "" -#: forum/conf/external_keys.py:91 +#: conf/external_keys.py:91 msgid "Facebook secret key" msgstr "" -#: forum/conf/flatpages.py:10 +#: conf/flatpages.py:10 msgid "Flatpages - about, privacy policy, etc." msgstr "" -#: forum/conf/flatpages.py:17 -msgid "Text the Q&A forum About page (html format)" +#: conf/flatpages.py:17 +msgid "Text of the Q&A forum About page (html format)" msgstr "" -#: forum/conf/flatpages.py:20 +#: conf/flatpages.py:20 msgid "" "Save, then use HTML validator on " "the \"about\" page to check your input." msgstr "" -#: forum/conf/flatpages.py:30 -msgid "Text the Q&A forum Privacy Policy (html format)" +#: conf/flatpages.py:30 +msgid "Text of the Q&A forum Privacy Policy (html format)" msgstr "" -#: forum/conf/flatpages.py:33 +#: conf/flatpages.py:33 msgid "" "Save, then use HTML validator on " "the \"privacy\" page to check your input." msgstr "" -#: forum/conf/forum_data_rules.py:12 -msgid "Settings for forum data entry and display" +#: conf/forum_data_rules.py:12 +msgid "Settings for askbot data entry and display" msgstr "" -#: forum/conf/forum_data_rules.py:20 +#: conf/forum_data_rules.py:20 msgid "Check to enable community wiki feature" msgstr "" -#: forum/conf/forum_data_rules.py:29 +#: conf/forum_data_rules.py:29 msgid "Maximum length of tag (number of characters)" msgstr "" -#: forum/conf/forum_data_rules.py:38 +#: conf/forum_data_rules.py:38 msgid "Maximum number of tags per question" msgstr "" -#: forum/conf/forum_data_rules.py:50 +#: conf/forum_data_rules.py:50 msgid "Number of questions to list by default" msgstr "" -#: forum/conf/forum_data_rules.py:60 +#: conf/forum_data_rules.py:60 msgid "What should \"unanswered question\" mean?" msgstr "" -#: forum/conf/minimum_reputation.py:11 +#: conf/minimum_reputation.py:11 msgid "Minimum reputation required to perform actions" msgstr "" -#: forum/conf/minimum_reputation.py:20 +#: conf/minimum_reputation.py:20 msgid "Upvote" msgstr "" -#: forum/conf/minimum_reputation.py:29 +#: conf/minimum_reputation.py:29 msgid "Downvote" msgstr "" -#: forum/conf/minimum_reputation.py:38 +#: conf/minimum_reputation.py:38 msgid "Flag offensive" msgstr "" -#: forum/conf/minimum_reputation.py:47 +#: conf/minimum_reputation.py:47 msgid "Leave comments" msgstr "" -#: forum/conf/minimum_reputation.py:56 +#: conf/minimum_reputation.py:56 msgid "Delete comments posted by others" msgstr "" -#: forum/conf/minimum_reputation.py:65 +#: conf/minimum_reputation.py:65 +msgid "Delete questions and answers posted by others" +msgstr "" + +#: conf/minimum_reputation.py:74 msgid "Upload files" msgstr "" -#: forum/conf/minimum_reputation.py:74 +#: conf/minimum_reputation.py:83 msgid "Close own questions" msgstr "" -#: forum/conf/minimum_reputation.py:83 +#: conf/minimum_reputation.py:92 msgid "Retag questions posted by other people" msgstr "" -#: forum/conf/minimum_reputation.py:92 +#: conf/minimum_reputation.py:101 msgid "Reopen own questions" msgstr "" -#: forum/conf/minimum_reputation.py:101 +#: conf/minimum_reputation.py:110 msgid "Edit community wiki posts" msgstr "" -#: forum/conf/minimum_reputation.py:110 +#: conf/minimum_reputation.py:119 msgid "Edit posts authored by other people" msgstr "" -#: forum/conf/minimum_reputation.py:119 +#: conf/minimum_reputation.py:128 msgid "View offensive flags" msgstr "" -#: forum/conf/minimum_reputation.py:128 +#: conf/minimum_reputation.py:137 msgid "Disable nofollow directive on links" msgstr "" -#: forum/conf/minimum_reputation.py:137 +#: conf/minimum_reputation.py:146 msgid "Close questions asked by others" msgstr "" -#: forum/conf/minimum_reputation.py:146 +#: conf/minimum_reputation.py:155 msgid "Lock posts" msgstr "" -#: forum/conf/reputation_changes.py:12 +#: conf/reputation_changes.py:12 msgid "Reputaion loss and gain rules" msgstr "" -#: forum/conf/reputation_changes.py:21 +#: conf/reputation_changes.py:21 msgid "Maximum daily reputation gain per user" msgstr "" -#: forum/conf/reputation_changes.py:30 +#: conf/reputation_changes.py:30 msgid "Gain for receiving an upvote" msgstr "" -#: forum/conf/reputation_changes.py:39 +#: conf/reputation_changes.py:39 msgid "Gain for the author of accepted answer" msgstr "" -#: forum/conf/reputation_changes.py:48 +#: conf/reputation_changes.py:48 msgid "Gain for accepting best answer" msgstr "" -#: forum/conf/reputation_changes.py:57 +#: conf/reputation_changes.py:57 msgid "Gain for post owner on canceled downvote" msgstr "" -#: forum/conf/reputation_changes.py:66 +#: conf/reputation_changes.py:66 msgid "Gain for voter on canceling downvote" msgstr "" -#: forum/conf/reputation_changes.py:76 +#: conf/reputation_changes.py:76 msgid "Loss for voter for canceling of answer acceptance" msgstr "" -#: forum/conf/reputation_changes.py:86 +#: conf/reputation_changes.py:86 msgid "Loss for author whose answer was \"un-accepted\"" msgstr "" -#: forum/conf/reputation_changes.py:96 +#: conf/reputation_changes.py:96 msgid "Loss for giving a downvote" msgstr "" -#: forum/conf/reputation_changes.py:106 +#: conf/reputation_changes.py:106 msgid "Loss for owner of post that was flagged offensive" msgstr "" -#: forum/conf/reputation_changes.py:116 +#: conf/reputation_changes.py:116 msgid "Loss for owner of post that was downvoted" msgstr "" -#: forum/conf/reputation_changes.py:126 +#: conf/reputation_changes.py:126 msgid "Loss for owner of post that was flagged 3 times per same revision" msgstr "" -#: forum/conf/reputation_changes.py:136 +#: conf/reputation_changes.py:136 msgid "Loss for owner of post that was flagged 5 times per same revision" msgstr "" -#: forum/conf/reputation_changes.py:146 +#: conf/reputation_changes.py:146 msgid "Loss for post owner when upvote is canceled" msgstr "" -#: forum/conf/site_settings.py:13 +#: conf/site_settings.py:13 msgid "Q&A forum website parameters and urls" msgstr "" -#: forum/conf/site_settings.py:21 +#: conf/site_settings.py:21 msgid "Site title for the Q&A forum" msgstr "" -#: forum/conf/site_settings.py:30 +#: conf/site_settings.py:30 msgid "Comma separated list of Q&A site keywords" msgstr "" -#: forum/conf/site_settings.py:39 +#: conf/site_settings.py:39 msgid "Copyright message to show in the footer" msgstr "" -#: forum/conf/site_settings.py:48 +#: conf/site_settings.py:48 msgid "Site description for the search engines" msgstr "" -#: forum/conf/site_settings.py:56 +#: conf/site_settings.py:56 msgid "Askbot" msgstr "" -#: forum/conf/site_settings.py:58 +#: conf/site_settings.py:58 msgid "Short name for your Q&A forum" msgstr "" -#: forum/conf/site_settings.py:67 +#: conf/site_settings.py:67 msgid "Base URL for your Q&A forum, must start with http or https" msgstr "" -#: forum/conf/site_settings.py:77 +#: conf/site_settings.py:77 msgid "Link shown in the greeting message shown to the anonymous user" msgstr "" -#: forum/conf/site_settings.py:78 +#: conf/site_settings.py:78 msgid "" "If you change this url from the default - then you will also probably want " "to adjust translation of the following string: " msgstr "" -#: forum/conf/site_settings.py:91 +#: conf/site_settings.py:91 msgid "Feedback site URL" msgstr "" -#: forum/conf/site_settings.py:92 +#: conf/site_settings.py:92 msgid "If left empty, a simple internal feedback form will be used instead" msgstr "" -#: forum/conf/skin_counter_settings.py:11 +#: conf/skin_counter_settings.py:11 msgid "Skin: view, vote and answer counters" msgstr "" -#: forum/conf/skin_counter_settings.py:19 +#: conf/skin_counter_settings.py:19 msgid "Vote counter value to give \"full color\"" msgstr "" -#: forum/conf/skin_counter_settings.py:28 +#: conf/skin_counter_settings.py:29 msgid "Background color for votes = 0" msgstr "" -#: forum/conf/skin_counter_settings.py:29 -#: forum/conf/skin_counter_settings.py:39 -#: forum/conf/skin_counter_settings.py:49 -#: forum/conf/skin_counter_settings.py:59 -#: forum/conf/skin_counter_settings.py:69 -#: forum/conf/skin_counter_settings.py:81 -#: forum/conf/skin_counter_settings.py:100 -#: forum/conf/skin_counter_settings.py:110 -#: forum/conf/skin_counter_settings.py:120 -#: forum/conf/skin_counter_settings.py:132 -#: forum/conf/skin_counter_settings.py:142 -#: forum/conf/skin_counter_settings.py:154 -#: forum/conf/skin_counter_settings.py:175 -#: forum/conf/skin_counter_settings.py:185 -#: forum/conf/skin_counter_settings.py:195 -#: forum/conf/skin_counter_settings.py:205 -#: forum/conf/skin_counter_settings.py:217 -#: forum/conf/skin_counter_settings.py:227 -#: forum/conf/skin_counter_settings.py:239 -#: forum/conf/skin_counter_settings.py:249 +#: 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:161 +#: conf/skin_counter_settings.py:184 conf/skin_counter_settings.py:195 +#: 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 of hex value" msgstr "" -#: forum/conf/skin_counter_settings.py:38 +#: conf/skin_counter_settings.py:40 msgid "Foreground color for votes = 0" msgstr "" -#: forum/conf/skin_counter_settings.py:48 -msgid "Background color for votes = 1" +#: conf/skin_counter_settings.py:51 +msgid "Background color for votes" msgstr "" -#: forum/conf/skin_counter_settings.py:58 -msgid "Foreground color for votes = 1" +#: conf/skin_counter_settings.py:61 +msgid "Foreground color for votes" msgstr "" -#: forum/conf/skin_counter_settings.py:68 +#: conf/skin_counter_settings.py:71 msgid "Background color for votes = MAX" msgstr "" -#: forum/conf/skin_counter_settings.py:80 +#: conf/skin_counter_settings.py:84 msgid "Foreground color for votes = MAX" msgstr "" -#: forum/conf/skin_counter_settings.py:90 +#: conf/skin_counter_settings.py:95 msgid "View counter value to give \"full color\"" msgstr "" -#: forum/conf/skin_counter_settings.py:99 +#: conf/skin_counter_settings.py:105 msgid "Background color for views = 0" msgstr "" -#: forum/conf/skin_counter_settings.py:109 +#: conf/skin_counter_settings.py:116 msgid "Foreground color for views = 0" msgstr "" -#: forum/conf/skin_counter_settings.py:119 -msgid "Background color for views = 1" +#: conf/skin_counter_settings.py:127 +msgid "Background color for views" msgstr "" -#: forum/conf/skin_counter_settings.py:131 -msgid "Foreground color for views = 1" +#: conf/skin_counter_settings.py:137 +msgid "Foreground color for views" msgstr "" -#: forum/conf/skin_counter_settings.py:141 +#: conf/skin_counter_settings.py:147 msgid "Background color for views = MAX" msgstr "" -#: forum/conf/skin_counter_settings.py:153 +#: conf/skin_counter_settings.py:160 msgid "Foreground color for views = MAX" msgstr "" -#: forum/conf/skin_counter_settings.py:163 +#: conf/skin_counter_settings.py:171 msgid "Answer counter value to give \"full color\"" msgstr "" -#: forum/conf/skin_counter_settings.py:174 +#: conf/skin_counter_settings.py:183 msgid "Background color for answers = 0" msgstr "" -#: forum/conf/skin_counter_settings.py:184 +#: conf/skin_counter_settings.py:194 msgid "Foreground color for answers = 0" msgstr "" -#: forum/conf/skin_counter_settings.py:194 -msgid "Background color for answers = 1" +#: conf/skin_counter_settings.py:205 +msgid "Background color for answers" msgstr "" -#: forum/conf/skin_counter_settings.py:204 -msgid "Foreground color for answers = 1" +#: conf/skin_counter_settings.py:215 +msgid "Foreground color for answers" msgstr "" -#: forum/conf/skin_counter_settings.py:216 +#: conf/skin_counter_settings.py:227 msgid "Background color for answers = MAX" msgstr "" -#: forum/conf/skin_counter_settings.py:226 +#: conf/skin_counter_settings.py:238 msgid "Foreground color for answers = MAX" msgstr "" -#: forum/conf/skin_counter_settings.py:238 +#: conf/skin_counter_settings.py:251 msgid "Background color for accepted" msgstr "" -#: forum/conf/skin_counter_settings.py:248 +#: conf/skin_counter_settings.py:261 msgid "Foreground color for accepted answer" msgstr "" -#: forum/conf/skin_general_settings.py:11 -msgid "Skin: general settings" +#: conf/skin_general_settings.py:12 +msgid "Skin and User Interface settings" +msgstr "" + +#: conf/skin_general_settings.py:20 +msgid "Show all UI functions to all users" +msgstr "" + +#: conf/skin_general_settings.py:22 +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 "" -#: forum/conf/skin_general_settings.py:20 +#: conf/skin_general_settings.py:37 msgid "Select skin" msgstr "" -#: forum/conf/skin_general_settings.py:29 +#: conf/skin_general_settings.py:46 msgid "Skin media revision number" msgstr "" -#: forum/conf/skin_general_settings.py:31 +#: conf/skin_general_settings.py:48 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 "" -#: forum/conf/user_settings.py:10 +#: conf/user_settings.py:10 msgid "User policy settings" msgstr "" -#: forum/conf/user_settings.py:18 +#: conf/user_settings.py:18 msgid "Allow editing user screen name" msgstr "" -#: forum/conf/user_settings.py:28 +#: conf/user_settings.py:28 msgid "Minimum allowed length for screen name" msgstr "" -#: forum/conf/vote_rules.py:13 +#: conf/vote_rules.py:13 msgid "Limits applicable to votes and moderation flags" msgstr "" -#: forum/conf/vote_rules.py:22 +#: conf/vote_rules.py:22 msgid "Number of votes a user can cast per day" msgstr "" -#: forum/conf/vote_rules.py:31 +#: conf/vote_rules.py:31 msgid "Maximum number of flags per user per day" msgstr "" -#: forum/conf/vote_rules.py:40 +#: conf/vote_rules.py:40 msgid "Threshold for warning about remaining daily votes" msgstr "" -#: forum/conf/vote_rules.py:49 +#: conf/vote_rules.py:49 msgid "Number of days to allow canceling votes" msgstr "" -#: forum/conf/vote_rules.py:58 +#: conf/vote_rules.py:58 msgid "Number of flags required to automatically hide posts" msgstr "" -#: forum/conf/vote_rules.py:67 +#: conf/vote_rules.py:67 msgid "Number of flags required to automatically delete posts" msgstr "" -#: forum/const/__init__.py:9 +#: const/__init__.py:9 msgid "duplicate question" msgstr "" -#: forum/const/__init__.py:10 +#: const/__init__.py:10 msgid "question is off-topic or not relevant" msgstr "" -#: forum/const/__init__.py:11 +#: const/__init__.py:11 msgid "too subjective and argumentative" msgstr "" -#: forum/const/__init__.py:12 +#: const/__init__.py:12 msgid "not a real question" msgstr "" -#: forum/const/__init__.py:13 +#: const/__init__.py:13 msgid "the question is answered, right answer was accepted" msgstr "" -#: forum/const/__init__.py:14 +#: const/__init__.py:14 msgid "question is not relevant or outdated" msgstr "" -#: forum/const/__init__.py:15 +#: const/__init__.py:15 msgid "question contains offensive or malicious remarks" msgstr "" -#: forum/const/__init__.py:16 +#: const/__init__.py:16 msgid "spam or advertising" msgstr "" -#: forum/const/__init__.py:17 +#: const/__init__.py:17 msgid "too localized" msgstr "" -#: forum/const/__init__.py:38 forum/skins/default/templates/questions.html:70 -#: forum/skins/default/templates/questions.html:75 +#: const/__init__.py:40 skins/default/templates/questions.html:52 +#: skins/default/templates/questions.html:57 msgid "newest" msgstr "" -#: forum/const/__init__.py:39 forum/skins/default/templates/questions.html:64 -#: forum/skins/default/templates/users.html:28 +#: const/__init__.py:41 skins/default/templates/questions.html:46 +#: skins/default/templates/users.html:28 msgid "oldest" msgstr "" -#: forum/const/__init__.py:40 forum/skins/default/templates/questions.html:89 -#: forum/skins/default/templates/questions.html:94 +#: const/__init__.py:42 skins/default/templates/questions.html:71 +#: skins/default/templates/questions.html:76 msgid "active" msgstr "" -#: forum/const/__init__.py:41 forum/skins/default/templates/questions.html:83 +#: const/__init__.py:43 skins/default/templates/questions.html:65 msgid "inactive" msgstr "" -#: forum/const/__init__.py:42 +#: const/__init__.py:44 msgid "hottest" msgstr "" -#: forum/const/__init__.py:43 +#: const/__init__.py:45 msgid "coldest" msgstr "" -#: forum/const/__init__.py:44 +#: const/__init__.py:46 msgid "most voted" msgstr "" -#: forum/const/__init__.py:45 +#: const/__init__.py:47 msgid "least voted" msgstr "" -#: forum/const/__init__.py:46 +#: const/__init__.py:48 msgid "relevance" msgstr "" -#: forum/const/__init__.py:53 forum/skins/default/templates/questions.html:52 +#: const/__init__.py:55 skins/default/templates/questions.html:34 msgid "all" msgstr "" -#: forum/const/__init__.py:54 forum/skins/default/templates/questions.html:53 +#: const/__init__.py:56 skins/default/templates/questions.html:35 msgid "unanswered" msgstr "" -#: forum/const/__init__.py:55 forum/skins/default/templates/questions.html:55 +#: const/__init__.py:57 skins/default/templates/questions.html:37 msgid "favorite" msgstr "" -#: forum/const/__init__.py:67 +#: const/__init__.py:69 msgid "Question has no answers" msgstr "" -#: forum/const/__init__.py:68 +#: const/__init__.py:70 msgid "Question has no accepted answers" msgstr "" -#: forum/const/__init__.py:106 -msgid "question" +#: const/__init__.py:109 +msgid "asked a question" msgstr "" -#: forum/const/__init__.py:107 forum/skins/default/templates/book.html:110 -msgid "answer" +#: const/__init__.py:110 +msgid "answered a question" msgstr "" -#: forum/const/__init__.py:108 +#: const/__init__.py:111 msgid "commented question" msgstr "" -#: forum/const/__init__.py:109 +#: const/__init__.py:112 msgid "commented answer" msgstr "" -#: forum/const/__init__.py:110 +#: const/__init__.py:113 msgid "edited question" msgstr "" -#: forum/const/__init__.py:111 +#: const/__init__.py:114 msgid "edited answer" msgstr "" -#: forum/const/__init__.py:112 +#: const/__init__.py:115 msgid "received award" msgstr "received badge" -#: forum/const/__init__.py:113 +#: const/__init__.py:116 msgid "marked best answer" msgstr "" -#: forum/const/__init__.py:114 +#: const/__init__.py:117 msgid "upvoted" msgstr "" -#: forum/const/__init__.py:115 +#: const/__init__.py:118 msgid "downvoted" msgstr "" -#: forum/const/__init__.py:116 +#: const/__init__.py:119 msgid "canceled vote" msgstr "" -#: forum/const/__init__.py:117 +#: const/__init__.py:120 msgid "deleted question" msgstr "" -#: forum/const/__init__.py:118 +#: const/__init__.py:121 msgid "deleted answer" msgstr "" -#: forum/const/__init__.py:119 +#: const/__init__.py:122 msgid "marked offensive" msgstr "" -#: forum/const/__init__.py:120 +#: const/__init__.py:123 msgid "updated tags" msgstr "" -#: forum/const/__init__.py:121 +#: const/__init__.py:124 msgid "selected favorite" msgstr "" -#: forum/const/__init__.py:122 +#: const/__init__.py:125 msgid "completed user profile" msgstr "" -#: forum/const/__init__.py:123 +#: const/__init__.py:126 msgid "email update sent to user" msgstr "" -#: forum/const/__init__.py:124 +#: const/__init__.py:127 msgid "mentioned in the post" msgstr "" -#: forum/const/__init__.py:171 +#: const/__init__.py:178 msgid "question_answered" msgstr "answered question" -#: forum/const/__init__.py:172 +#: const/__init__.py:179 msgid "question_commented" msgstr "commented question" -#: forum/const/__init__.py:173 +#: const/__init__.py:180 msgid "answer_commented" msgstr "" -#: forum/const/__init__.py:174 +#: const/__init__.py:181 msgid "answer_accepted" msgstr "" -#: forum/const/__init__.py:178 +#: const/__init__.py:185 msgid "[closed]" msgstr "" -#: forum/const/__init__.py:179 +#: const/__init__.py:186 msgid "[deleted]" msgstr "" -#: forum/const/__init__.py:180 forum/views/readers.py:387 -#: forum/views/readers.py:408 +#: const/__init__.py:187 views/readers.py:413 views/readers.py:434 msgid "initial version" msgstr "" -#: forum/const/__init__.py:181 +#: const/__init__.py:188 msgid "retagged" msgstr "" -#: forum/const/__init__.py:186 +#: const/__init__.py:193 msgid "exclude ignored tags" msgstr "" -#: forum/const/__init__.py:187 +#: const/__init__.py:194 msgid "allow only selected tags" msgstr "" -#: forum/const/__init__.py:191 +#: const/__init__.py:198 msgid "instantly" msgstr "" -#: forum/const/__init__.py:192 +#: const/__init__.py:199 msgid "daily" msgstr "" -#: forum/const/__init__.py:193 +#: const/__init__.py:200 msgid "weekly" msgstr "" -#: forum/const/__init__.py:194 +#: const/__init__.py:201 msgid "no email" msgstr "" -#: forum/const/message_keys.py:19 +#: const/message_keys.py:19 #, python-format msgid "First time here? Check out the FAQ!" msgstr "" -#: forum/importers/stackexchange/management/commands/load_stackexchange.py:124 -msgid "Congratulations, you are now an Administrator" +#: deps/django_authopenid/forms.py:72 deps/django_authopenid/views.py:134 +msgid "i-names are not supported" msgstr "" -#: forum/management/commands/send_email_alerts.py:380 -#: forum/models/__init__.py:320 -msgid "email update message subject" -msgstr "news from Q&A forum" - -#: forum/management/commands/send_email_alerts.py:382 -#, 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] "" -"

Dear %(name)s,

The following question has been updated on the Q&A " -"forum:

" -msgstr[1] "" -"

Dear %(name)s,

The following %(num)d questions have been updated on " -"the Q&A forum:

" - -#: forum/management/commands/send_email_alerts.py:399 -msgid "new question" +#: deps/django_authopenid/forms.py:135 +msgid "Account with this name already exists on the forum" msgstr "" -#: forum/management/commands/send_email_alerts.py:416 -msgid "" -"Please visit the forum 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?" +#: deps/django_authopenid/forms.py:136 +msgid "can't have two logins to the same account yet, sorry." msgstr "" -#: forum/management/commands/send_email_alerts.py:428 +#: deps/django_authopenid/forms.py:158 +msgid "Please enter valid username and password (both are case-sensitive)." +msgstr "" + +#: deps/django_authopenid/forms.py:161 deps/django_authopenid/forms.py:211 +msgid "This account is inactive." +msgstr "" + +#: deps/django_authopenid/forms.py:163 +msgid "Login failed." +msgstr "" + +#: deps/django_authopenid/forms.py:165 +msgid "Please enter username and password" +msgstr "" + +#: deps/django_authopenid/forms.py:167 +msgid "Please enter your password" +msgstr "" + +#: deps/django_authopenid/forms.py:169 +msgid "Please enter user name" +msgstr "" + +#: deps/django_authopenid/forms.py:207 +msgid "" +"Please enter a valid username and password. Note that " +"both fields are case-sensitive." +msgstr "" + +#: deps/django_authopenid/forms.py:230 +msgid "Current password" +msgstr "" + +#: deps/django_authopenid/forms.py:241 +msgid "" +"Old password is incorrect. Please enter the correct " +"password." +msgstr "" + +#: deps/django_authopenid/forms.py:306 +msgid "Your user name (required)" +msgstr "" + +#: deps/django_authopenid/forms.py:321 +msgid "Incorrect username." +msgstr "sorry, there is no such user name" + +#: deps/django_authopenid/urls.py:23 deps/django_authopenid/urls.py:24 +#: deps/django_authopenid/urls.py:25 deps/django_authopenid/urls.py:27 +#: setup_templates/settings.py:198 +msgid "signin/" +msgstr "" + +#: deps/django_authopenid/urls.py:24 +msgid "newquestion/" +msgstr "" + +#: deps/django_authopenid/urls.py:25 +msgid "newanswer/" +msgstr "" + +#: deps/django_authopenid/urls.py:26 +msgid "signout/" +msgstr "" + +#: deps/django_authopenid/urls.py:27 +msgid "complete/" +msgstr "" + +#: deps/django_authopenid/urls.py:29 +msgid "register/" +msgstr "" + +#: deps/django_authopenid/urls.py:30 +msgid "signup/" +msgstr "" + +#: deps/django_authopenid/urls.py:32 +msgid "sendpw/" +msgstr "" + +#: deps/django_authopenid/urls.py:33 deps/django_authopenid/urls.py:37 +msgid "password/" +msgstr "" + +#: deps/django_authopenid/urls.py:33 +msgid "confirm/" +msgstr "" + +#: deps/django_authopenid/urls.py:38 deps/django_authopenid/urls.py:39 +#: deps/django_authopenid/urls.py:40 deps/django_authopenid/urls.py:41 +msgid "email/" +msgstr "" + +#: deps/django_authopenid/urls.py:38 +msgid "validate/" +msgstr "" + +#: deps/django_authopenid/urls.py:39 +msgid "change/" +msgstr "" + +#: deps/django_authopenid/urls.py:40 +msgid "sendkey/" +msgstr "" + +#: deps/django_authopenid/urls.py:41 +msgid "verify/" +msgstr "" + +#: deps/django_authopenid/urls.py:42 +msgid "openid/" +msgstr "" + +#: deps/django_authopenid/urls.py:51 +msgid "external-login/forgot-password/" +msgstr "" + +#: deps/django_authopenid/urls.py:54 +msgid "external-login/signup/" +msgstr "" + +#: deps/django_authopenid/views.py:141 +#, python-format +msgid "OpenID %(openid_url)s is invalid" +msgstr "" + +#: deps/django_authopenid/views.py:616 +msgid "Welcome email subject line" +msgstr "Welcome to the Q&A forum" + +#: deps/django_authopenid/views.py:722 +msgid "Password changed." +msgstr "" + +#: deps/django_authopenid/views.py:734 deps/django_authopenid/views.py:740 +#, python-format +msgid "your email needs to be validated see %(details_url)s" +msgstr "" +"Your email needs to be validated. Please see details here." + +#: deps/django_authopenid/views.py:761 +msgid "Email verification subject line" +msgstr "Verification Email from Q&A forum" + +#: deps/django_authopenid/views.py:852 +msgid "your email was not changed" +msgstr "" + +#: deps/django_authopenid/views.py:900 deps/django_authopenid/views.py:1058 +#, python-format +msgid "No OpenID %s found associated in our database" +msgstr "" + +#: deps/django_authopenid/views.py:904 deps/django_authopenid/views.py:1065 +#, python-format +msgid "The OpenID %s isn't associated to current user logged in" +msgstr "" + +#: deps/django_authopenid/views.py:912 +msgid "Email Changed." +msgstr "" + +#: deps/django_authopenid/views.py:990 +msgid "This OpenID is already associated with another account." +msgstr "" + +#: deps/django_authopenid/views.py:995 +#, python-format +msgid "OpenID %s is now associated with your account." +msgstr "" + +#: deps/django_authopenid/views.py:1068 +msgid "Account deleted." +msgstr "" + +#: deps/django_authopenid/views.py:1120 +msgid "Request for new password" +msgstr "" + +#: deps/django_authopenid/views.py:1134 +msgid "A new password and the activation link were sent to your email address." +msgstr "" + +#: deps/django_authopenid/views.py:1166 +#, python-format +msgid "" +"Could not change password. Confirmation key '%s' is not " +"registered." +msgstr "" + +#: deps/django_authopenid/views.py:1176 +msgid "" +"Can not change password. User don't exist anymore in our " +"database." +msgstr "" + +#: deps/django_authopenid/views.py:1186 +#, python-format +msgid "Password changed for %s. You may now sign in." +msgstr "" + +#: deps/livesettings/models.py:101 deps/livesettings/models.py:140 +msgid "Site" +msgstr "" + +#: deps/livesettings/values.py:103 +msgid "Base Settings" +msgstr "" + +#: deps/livesettings/values.py:210 +msgid "Default value: \"\"" +msgstr "" + +#: deps/livesettings/values.py:217 +msgid "Default value: " +msgstr "" + +#: deps/livesettings/values.py:220 +#, python-format +msgid "Default value: %s" +msgstr "" + +#: deps/livesettings/templates/livesettings/_admin_site_views.html:4 +msgid "Sites" +msgstr "" + +#: deps/livesettings/templates/livesettings/group_settings.html:11 +#: deps/livesettings/templates/livesettings/site_settings.html:23 +msgid "Documentation" +msgstr "" + +#: deps/livesettings/templates/livesettings/group_settings.html:11 +#: deps/livesettings/templates/livesettings/site_settings.html:23 +#: skins/default/templates/account_settings.html:29 +#: skins/default/templates/authopenid/changepw.html:5 +#: skins/default/templates/authopenid/changepw.html:14 +#: skins/default/templates/authopenid/settings.html:29 +msgid "Change password" +msgstr "" + +#: deps/livesettings/templates/livesettings/group_settings.html:11 +#: deps/livesettings/templates/livesettings/site_settings.html:23 +msgid "Log out" +msgstr "" + +#: deps/livesettings/templates/livesettings/group_settings.html:14 +#: deps/livesettings/templates/livesettings/site_settings.html:26 +msgid "Home" +msgstr "" + +#: deps/livesettings/templates/livesettings/group_settings.html:15 +msgid "Edit Group Settings" +msgstr "" + +#: 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] "" +msgstr[1] "" + +#: deps/livesettings/templates/livesettings/group_settings.html:28 +#, python-format +msgid "Settings included in %(name)s." +msgstr "" + +#: 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 "" + +#: deps/livesettings/templates/livesettings/group_settings.html:68 +msgid "Setting groups" +msgstr "" + +#: deps/livesettings/templates/livesettings/site_settings.html:27 +msgid "Edit Site Settings" +msgstr "" + +#: deps/livesettings/templates/livesettings/site_settings.html:43 +msgid "Livesettings are disabled for this site." +msgstr "" + +#: deps/livesettings/templates/livesettings/site_settings.html:44 +msgid "All configuration options must be edited in the site settings.py file" +msgstr "" + +#: deps/livesettings/templates/livesettings/site_settings.html:66 +#, python-format +msgid "Group settings: %(name)s" +msgstr "" + +#: deps/livesettings/templates/livesettings/site_settings.html:93 +msgid "Uncollapse all" +msgstr "" + +#: deps/recaptcha_django/__init__.py:19 deps/recaptcha_django/__init__.py:80 +msgid "Unknown error." +msgstr "" + +#: deps/recaptcha_django/__init__.py:20 deps/recaptcha_django/__init__.py:21 +msgid "ReCAPTCHA is wrongly configured." +msgstr "" + +#: deps/recaptcha_django/__init__.py:22 +msgid "Bad reCAPTCHA challenge parameter." +msgstr "" + +#: deps/recaptcha_django/__init__.py:23 +msgid "The CAPTCHA solution was incorrect." +msgstr "" + +#: deps/recaptcha_django/__init__.py:24 +msgid "Bad reCAPTCHA verification parameters." +msgstr "" + +#: deps/recaptcha_django/__init__.py:25 +msgid "Provided reCAPTCHA API keys are not valid for this domain." +msgstr "" + +#: deps/recaptcha_django/__init__.py:26 +msgid "ReCAPTCHA could not be reached." +msgstr "" + +#: deps/recaptcha_django/__init__.py:73 +msgid "Invalid request" +msgstr "" + +#: importers/stackexchange/management/commands/load_stackexchange.py:124 +msgid "Congratulations, you are now an Administrator" +msgstr "" + +#: management/commands/send_email_alerts.py:418 models/__init__.py:1439 +msgid "email update message subject" +msgstr "news from Q&A forum" + +#: management/commands/send_email_alerts.py:421 +#, 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] "" +"

Dear %(name)s,

The following question has been updated on the Q&A " +"forum:

" +msgstr[1] "" +"

Dear %(name)s,

The following %(num)d questions have been updated on " +"the Q&A forum:

" + +#: management/commands/send_email_alerts.py:438 +msgid "new question" +msgstr "" + +#: management/commands/send_email_alerts.py:455 +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 "" + +#: management/commands/send_email_alerts.py:467 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 forum administrator." +"the askbot administrator." msgstr "" -#: forum/management/commands/send_email_alerts.py:434 +#: management/commands/send_email_alerts.py:473 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 forum " +"this email more than once a week please report this issue to the askbot " "administrator." msgstr "" -#: forum/management/commands/send_email_alerts.py:440 +#: management/commands/send_email_alerts.py:479 msgid "" "There is a chance that you may be receiving links seen before - due to a " "technicality that will eventually go away. " msgstr "" -#: forum/management/commands/send_email_alerts.py:455 +#: management/commands/send_email_alerts.py:494 #, python-format msgid "" "go to %(email_settings_link)s to change frequency of email updates or %" "(admin_email)s administrator" msgstr "" -"

Please remember that you can always adjust " -"frequency of the email updates or turn them off entirely.
If you believe " -"that this message was sent in an error, please email about it the forum " -"administrator at %(admin_email)s.

Sincerely,

Your friendly Q&A forum " -"server.

" +"

Please remember that you can always adjust frequency of the email updates or turn them off entirely.
If you believe that this message was sent in an error, please email about " +"it the forum administrator at %(admin_email)s.

Sincerely,

Your " +"friendly Q&A forum server.

" -#: forum/migrations/0005_install_badges.py:10 +#: migrations/0005_install_badges.py:11 msgid "Disciplined" msgstr "" -#: forum/migrations/0005_install_badges.py:10 +#: migrations/0005_install_badges.py:11 msgid "disciplined" msgstr "" -#: forum/migrations/0005_install_badges.py:10 +#: migrations/0005_install_badges.py:11 msgid "Deleted own post with score of 3 or higher" msgstr "" -#: forum/migrations/0005_install_badges.py:11 +#: migrations/0005_install_badges.py:12 msgid "Peer Pressure" msgstr "" -#: forum/migrations/0005_install_badges.py:11 +#: migrations/0005_install_badges.py:12 msgid "peer-pressure" msgstr "" -#: forum/migrations/0005_install_badges.py:11 +#: migrations/0005_install_badges.py:12 msgid "Deleted own post with score of -3 or lower" msgstr "" -#: forum/migrations/0005_install_badges.py:12 +#: migrations/0005_install_badges.py:13 msgid "Nice answer" msgstr "" -#: forum/migrations/0005_install_badges.py:12 +#: migrations/0005_install_badges.py:13 msgid "nice-answer" msgstr "" -#: forum/migrations/0005_install_badges.py:12 +#: migrations/0005_install_badges.py:13 msgid "Answer voted up 10 times" msgstr "" -#: forum/migrations/0005_install_badges.py:13 +#: migrations/0005_install_badges.py:14 msgid "Nice Question" msgstr "" -#: forum/migrations/0005_install_badges.py:13 +#: migrations/0005_install_badges.py:14 msgid "nice-question" msgstr "" -#: forum/migrations/0005_install_badges.py:13 +#: migrations/0005_install_badges.py:14 msgid "Question voted up 10 times" msgstr "" -#: forum/migrations/0005_install_badges.py:14 +#: migrations/0005_install_badges.py:15 msgid "Pundit" msgstr "" -#: forum/migrations/0005_install_badges.py:14 +#: migrations/0005_install_badges.py:15 msgid "pundit" msgstr "" -#: forum/migrations/0005_install_badges.py:14 +#: migrations/0005_install_badges.py:15 msgid "Left 10 comments with score of 10 or more" msgstr "" -#: forum/migrations/0005_install_badges.py:15 +#: migrations/0005_install_badges.py:16 msgid "Popular Question" msgstr "" -#: forum/migrations/0005_install_badges.py:15 +#: migrations/0005_install_badges.py:16 msgid "popular-question" msgstr "" -#: forum/migrations/0005_install_badges.py:15 +#: migrations/0005_install_badges.py:16 msgid "Asked a question with 1,000 views" msgstr "" -#: forum/migrations/0005_install_badges.py:16 +#: migrations/0005_install_badges.py:17 msgid "Citizen patrol" msgstr "" -#: forum/migrations/0005_install_badges.py:16 +#: migrations/0005_install_badges.py:17 msgid "citizen-patrol" msgstr "" -#: forum/migrations/0005_install_badges.py:16 +#: migrations/0005_install_badges.py:17 msgid "First flagged post" msgstr "" -#: forum/migrations/0005_install_badges.py:17 +#: migrations/0005_install_badges.py:18 msgid "Cleanup" msgstr "" -#: forum/migrations/0005_install_badges.py:17 +#: migrations/0005_install_badges.py:18 msgid "cleanup" msgstr "" -#: forum/migrations/0005_install_badges.py:17 +#: migrations/0005_install_badges.py:18 msgid "First rollback" msgstr "" -#: forum/migrations/0005_install_badges.py:18 +#: migrations/0005_install_badges.py:19 msgid "Critic" msgstr "" -#: forum/migrations/0005_install_badges.py:18 +#: migrations/0005_install_badges.py:19 msgid "critic" msgstr "" -#: forum/migrations/0005_install_badges.py:18 +#: migrations/0005_install_badges.py:19 msgid "First down vote" msgstr "" -#: forum/migrations/0005_install_badges.py:19 +#: migrations/0005_install_badges.py:20 msgid "Editor" msgstr "" -#: forum/migrations/0005_install_badges.py:19 +#: migrations/0005_install_badges.py:20 msgid "editor" msgstr "" -#: forum/migrations/0005_install_badges.py:19 +#: migrations/0005_install_badges.py:20 msgid "First edit" msgstr "" -#: forum/migrations/0005_install_badges.py:20 +#: migrations/0005_install_badges.py:21 msgid "Organizer" msgstr "" -#: forum/migrations/0005_install_badges.py:20 +#: migrations/0005_install_badges.py:21 msgid "organizer" msgstr "" -#: forum/migrations/0005_install_badges.py:20 +#: migrations/0005_install_badges.py:21 msgid "First retag" msgstr "" -#: forum/migrations/0005_install_badges.py:21 +#: migrations/0005_install_badges.py:22 msgid "Scholar" msgstr "" -#: forum/migrations/0005_install_badges.py:21 +#: migrations/0005_install_badges.py:22 msgid "scholar" msgstr "" -#: forum/migrations/0005_install_badges.py:21 +#: migrations/0005_install_badges.py:22 msgid "First accepted answer on your own question" msgstr "" -#: forum/migrations/0005_install_badges.py:22 +#: migrations/0005_install_badges.py:23 msgid "Student" msgstr "" -#: forum/migrations/0005_install_badges.py:22 +#: migrations/0005_install_badges.py:23 msgid "student" msgstr "" -#: forum/migrations/0005_install_badges.py:22 +#: migrations/0005_install_badges.py:23 msgid "Asked first question with at least one up vote" msgstr "" -#: forum/migrations/0005_install_badges.py:23 +#: migrations/0005_install_badges.py:24 msgid "Supporter" msgstr "" -#: forum/migrations/0005_install_badges.py:23 +#: migrations/0005_install_badges.py:24 msgid "supporter" msgstr "" -#: forum/migrations/0005_install_badges.py:23 +#: migrations/0005_install_badges.py:24 msgid "First up vote" msgstr "" -#: forum/migrations/0005_install_badges.py:24 +#: migrations/0005_install_badges.py:25 msgid "Teacher" msgstr "" -#: forum/migrations/0005_install_badges.py:24 +#: migrations/0005_install_badges.py:25 msgid "teacher" msgstr "" -#: forum/migrations/0005_install_badges.py:24 +#: migrations/0005_install_badges.py:25 msgid "Answered first question with at least one up vote" msgstr "" -#: forum/migrations/0005_install_badges.py:25 +#: migrations/0005_install_badges.py:26 msgid "Autobiographer" msgstr "" -#: forum/migrations/0005_install_badges.py:25 +#: migrations/0005_install_badges.py:26 msgid "autobiographer" msgstr "" -#: forum/migrations/0005_install_badges.py:25 +#: migrations/0005_install_badges.py:26 msgid "Completed all user profile fields" msgstr "" -#: forum/migrations/0005_install_badges.py:26 +#: migrations/0005_install_badges.py:27 msgid "Self-Learner" msgstr "" -#: forum/migrations/0005_install_badges.py:26 +#: migrations/0005_install_badges.py:27 msgid "self-learner" msgstr "" -#: forum/migrations/0005_install_badges.py:26 +#: migrations/0005_install_badges.py:27 msgid "Answered your own question with at least 3 up votes" msgstr "" -#: forum/migrations/0005_install_badges.py:27 +#: migrations/0005_install_badges.py:28 msgid "Great Answer" msgstr "" -#: forum/migrations/0005_install_badges.py:27 +#: migrations/0005_install_badges.py:28 msgid "great-answer" msgstr "" -#: forum/migrations/0005_install_badges.py:27 +#: migrations/0005_install_badges.py:28 msgid "Answer voted up 100 times" msgstr "" -#: forum/migrations/0005_install_badges.py:28 +#: migrations/0005_install_badges.py:29 msgid "Great Question" msgstr "" -#: forum/migrations/0005_install_badges.py:28 +#: migrations/0005_install_badges.py:29 msgid "great-question" msgstr "" -#: forum/migrations/0005_install_badges.py:28 +#: migrations/0005_install_badges.py:29 msgid "Question voted up 100 times" msgstr "" -#: forum/migrations/0005_install_badges.py:29 +#: migrations/0005_install_badges.py:30 msgid "Stellar Question" msgstr "" -#: forum/migrations/0005_install_badges.py:29 +#: migrations/0005_install_badges.py:30 msgid "stellar-question" msgstr "" -#: forum/migrations/0005_install_badges.py:29 +#: migrations/0005_install_badges.py:30 msgid "Question favorited by 100 users" msgstr "" -#: forum/migrations/0005_install_badges.py:30 +#: migrations/0005_install_badges.py:31 msgid "Famous question" msgstr "" -#: forum/migrations/0005_install_badges.py:30 +#: migrations/0005_install_badges.py:31 msgid "famous-question" msgstr "" -#: forum/migrations/0005_install_badges.py:30 +#: migrations/0005_install_badges.py:31 msgid "Asked a question with 10,000 views" msgstr "" -#: forum/migrations/0005_install_badges.py:31 +#: migrations/0005_install_badges.py:32 msgid "Alpha" msgstr "" -#: forum/migrations/0005_install_badges.py:31 +#: migrations/0005_install_badges.py:32 msgid "alpha" msgstr "" -#: forum/migrations/0005_install_badges.py:31 +#: migrations/0005_install_badges.py:32 msgid "Actively participated in the private alpha" msgstr "" -#: forum/migrations/0005_install_badges.py:32 +#: migrations/0005_install_badges.py:33 msgid "Good Answer" msgstr "" -#: forum/migrations/0005_install_badges.py:32 +#: migrations/0005_install_badges.py:33 msgid "good-answer" msgstr "" -#: forum/migrations/0005_install_badges.py:32 +#: migrations/0005_install_badges.py:33 msgid "Answer voted up 25 times" msgstr "" -#: forum/migrations/0005_install_badges.py:33 +#: migrations/0005_install_badges.py:34 msgid "Good Question" msgstr "" -#: forum/migrations/0005_install_badges.py:33 +#: migrations/0005_install_badges.py:34 msgid "good-question" msgstr "" -#: forum/migrations/0005_install_badges.py:33 +#: migrations/0005_install_badges.py:34 msgid "Question voted up 25 times" msgstr "" -#: forum/migrations/0005_install_badges.py:34 +#: migrations/0005_install_badges.py:35 msgid "Favorite Question" msgstr "" -#: forum/migrations/0005_install_badges.py:34 +#: migrations/0005_install_badges.py:35 msgid "favorite-question" msgstr "" -#: forum/migrations/0005_install_badges.py:34 +#: migrations/0005_install_badges.py:35 msgid "Question favorited by 25 users" msgstr "" -#: forum/migrations/0005_install_badges.py:35 +#: migrations/0005_install_badges.py:36 msgid "Civic duty" msgstr "" -#: forum/migrations/0005_install_badges.py:35 +#: migrations/0005_install_badges.py:36 msgid "civic-duty" msgstr "" -#: forum/migrations/0005_install_badges.py:35 +#: migrations/0005_install_badges.py:36 msgid "Voted 300 times" msgstr "" -#: forum/migrations/0005_install_badges.py:36 +#: migrations/0005_install_badges.py:37 msgid "Strunk & White" msgstr "" -#: forum/migrations/0005_install_badges.py:36 +#: migrations/0005_install_badges.py:37 msgid "strunk-and-white" msgstr "" -#: forum/migrations/0005_install_badges.py:36 +#: migrations/0005_install_badges.py:37 msgid "Edited 100 entries" msgstr "" -#: forum/migrations/0005_install_badges.py:37 +#: migrations/0005_install_badges.py:38 msgid "Generalist" msgstr "" -#: forum/migrations/0005_install_badges.py:37 +#: migrations/0005_install_badges.py:38 msgid "generalist" msgstr "" -#: forum/migrations/0005_install_badges.py:37 +#: migrations/0005_install_badges.py:38 msgid "Active in many different tags" msgstr "" -#: forum/migrations/0005_install_badges.py:38 +#: migrations/0005_install_badges.py:39 msgid "Expert" msgstr "" -#: forum/migrations/0005_install_badges.py:38 +#: migrations/0005_install_badges.py:39 msgid "expert" msgstr "" -#: forum/migrations/0005_install_badges.py:38 +#: migrations/0005_install_badges.py:39 msgid "Very active in one tag" msgstr "" -#: forum/migrations/0005_install_badges.py:39 +#: migrations/0005_install_badges.py:40 msgid "Yearling" msgstr "" -#: forum/migrations/0005_install_badges.py:39 +#: migrations/0005_install_badges.py:40 msgid "yearling" msgstr "" -#: forum/migrations/0005_install_badges.py:39 +#: migrations/0005_install_badges.py:40 msgid "Active member for a year" msgstr "" -#: forum/migrations/0005_install_badges.py:40 +#: migrations/0005_install_badges.py:41 msgid "Notable Question" msgstr "" -#: forum/migrations/0005_install_badges.py:40 +#: migrations/0005_install_badges.py:41 msgid "notable-question" msgstr "" -#: forum/migrations/0005_install_badges.py:40 +#: migrations/0005_install_badges.py:41 msgid "Asked a question with 2,500 views" msgstr "" -#: forum/migrations/0005_install_badges.py:41 +#: migrations/0005_install_badges.py:42 msgid "Enlightened" msgstr "" -#: forum/migrations/0005_install_badges.py:41 +#: migrations/0005_install_badges.py:42 msgid "enlightened" msgstr "" -#: forum/migrations/0005_install_badges.py:41 +#: migrations/0005_install_badges.py:42 msgid "First answer was accepted with at least 10 up votes" msgstr "" -#: forum/migrations/0005_install_badges.py:42 +#: migrations/0005_install_badges.py:43 msgid "Beta" msgstr "" -#: forum/migrations/0005_install_badges.py:42 +#: migrations/0005_install_badges.py:43 msgid "beta" msgstr "" -#: forum/migrations/0005_install_badges.py:42 +#: migrations/0005_install_badges.py:43 msgid "Actively participated in the private beta" msgstr "" -#: forum/migrations/0005_install_badges.py:43 +#: migrations/0005_install_badges.py:44 msgid "Guru" msgstr "" -#: forum/migrations/0005_install_badges.py:43 +#: migrations/0005_install_badges.py:44 msgid "guru" msgstr "" -#: forum/migrations/0005_install_badges.py:43 +#: migrations/0005_install_badges.py:44 msgid "Accepted answer and voted up 40 times" msgstr "" -#: forum/migrations/0005_install_badges.py:44 +#: migrations/0005_install_badges.py:45 msgid "Necromancer" msgstr "" -#: forum/migrations/0005_install_badges.py:44 +#: migrations/0005_install_badges.py:45 msgid "necromancer" msgstr "" -#: forum/migrations/0005_install_badges.py:44 +#: migrations/0005_install_badges.py:45 msgid "Answered a question more than 60 days later with at least 5 votes" msgstr "" -#: forum/migrations/0005_install_badges.py:45 -msgid "Taxonomist" +#: migrations/0005_install_badges.py:46 +msgid "Taxonomist" +msgstr "" + +#: migrations/0005_install_badges.py:46 +msgid "taxonomist" +msgstr "" + +#: migrations/0005_install_badges.py:46 +msgid "Created a tag used by 50 questions" +msgstr "" + +#: models/__init__.py:162 +msgid "" +"Sorry, you cannot accept or unaccept best answers because your account is " +"blocked" +msgstr "" + +#: models/__init__.py:167 +msgid "" +"Sorry, you cannot accept or unaccept best answers because your account is " +"suspended" +msgstr "" + +#: models/__init__.py:173 +msgid "" +"Sorry, you cannot accept or unaccept your own answer to your own question" +msgstr "" + +#: models/__init__.py:180 +#, python-format +msgid "" +"Sorry, only original author of the question - %(username)s - can accept the " +"best answer" +msgstr "" + +#: models/__init__.py:203 +msgid "cannot vote for own posts" +msgstr "Sorry, you cannot vote for your own posts" + +#: models/__init__.py:206 +msgid "Sorry your account appears to be blocked " +msgstr "" + +#: models/__init__.py:211 +msgid "Sorry your account appears to be suspended " +msgstr "" + +#: models/__init__.py:221 +#, python-format +msgid ">%(points)s points required to upvote" +msgstr ">%(points)s points required to upvote " + +#: models/__init__.py:227 +#, python-format +msgid ">%(points)s points required to downvote" +msgstr ">%(points)s points required to downvote " + +#: models/__init__.py:242 +msgid "Sorry, blocked users cannot upload files" +msgstr "" + +#: models/__init__.py:243 +msgid "Sorry, suspended users cannot upload files" +msgstr "" + +#: models/__init__.py:245 +#, python-format +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:264 models/__init__.py:297 models/__init__.py:1734 +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:265 models/__init__.py:1737 +msgid "suspended users cannot post" +msgstr "" +"Sorry, your account appears to be suspended and you cannot make new posts " +"until this issue is resolved. You can, however edit your existing posts. " +"Please contact the forum administrator to reach a resolution." + +#: models/__init__.py:283 +msgid "" +"Sorry, since your account is suspended you can comment only your own posts" +msgstr "" + +#: models/__init__.py:287 +#, 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 "" + +#: models/__init__.py:311 +msgid "" +"This post has been deleted and can be seen only by post ownwers, site " +"administrators and moderators" +msgstr "" + +#: models/__init__.py:328 +msgid "" +"Sorry, only moderators, site administrators and post owners can edit deleted " +"posts" +msgstr "" + +#: models/__init__.py:343 +msgid "Sorry, since your account is blocked you cannot edit posts" +msgstr "" + +#: models/__init__.py:347 +msgid "Sorry, since your account is suspended you can edit only your own posts" +msgstr "" + +#: models/__init__.py:352 +#, python-format +msgid "" +"Sorry, to edit wiki' posts, a minimum reputation of %(min_rep)s is required" +msgstr "" + +#: models/__init__.py:359 +#, python-format +msgid "" +"Sorry, to edit other people' posts, a minimum reputation of %(min_rep)s is " +"required" +msgstr "" + +#: models/__init__.py:422 +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] "" +msgstr[1] "" + +#: models/__init__.py:437 +msgid "Sorry, since your account is blocked you cannot delete posts" +msgstr "" + +#: models/__init__.py:441 +msgid "" +"Sorry, since your account is suspended you can delete only your own posts" +msgstr "" + +#: models/__init__.py:445 +#, python-format +msgid "" +"Sorry, to deleted other people' posts, a minimum reputation of %(min_rep)s " +"is required" +msgstr "" + +#: models/__init__.py:465 +msgid "Sorry, since your account is blocked you cannot close questions" +msgstr "" + +#: models/__init__.py:469 +msgid "Sorry, since your account is suspended you cannot close questions" +msgstr "" + +#: models/__init__.py:473 +#, python-format +msgid "" +"Sorry, to close other people' posts, a minimum reputation of %(min_rep)s is " +"required" +msgstr "" + +#: models/__init__.py:482 +#, python-format +msgid "" +"Sorry, to close own question a minimum reputation of %(min_rep)s is required" +msgstr "" + +#: models/__init__.py:506 +#, python-format +msgid "" +"Sorry, only administrators, moderators or post owners with reputation > %" +"(min_rep)s can reopen questions." +msgstr "" + +#: models/__init__.py:512 +#, python-format +msgid "" +"Sorry, to reopen own question a minimum reputation of %(min_rep)s is required" +msgstr "" + +#: models/__init__.py:532 +msgid "cannot flag message as offensive twice" +msgstr "You have flagged this question before and cannot do it more than once" + +#: models/__init__.py:537 +msgid "blocked users cannot flag posts" +msgstr "" +"Sorry, since your account is blocked you cannot flag posts as offensive" + +#: models/__init__.py:539 +msgid "suspended users cannot flag posts" +msgstr "" +"Sorry, your account appears to be suspended and you cannot make new posts " +"until this issue is resolved. You can, however edit your existing posts. " +"Please contact the forum administrator to reach a resolution." + +#: models/__init__.py:541 +#, python-format +msgid "need > %(min_rep)s points to flag spam" +msgstr "" +"Sorry, to flag posts as offensive a minimum reputation of %(min_rep)s is " +"required" + +#: models/__init__.py:562 +#, python-format +msgid "%(max_flags_per_day)s exceeded" +msgstr "" +"Sorry, you have exhausted the maximum number of %(max_flags_per_day)s " +"offensive flags per day." + +#: models/__init__.py:577 +msgid "" +"Sorry, only question owners, site administrators and moderators can retag " +"deleted questions" +msgstr "" + +#: models/__init__.py:584 +msgid "Sorry, since your account is blocked you cannot retag questions" +msgstr "" + +#: models/__init__.py:588 +msgid "" +"Sorry, since your account is suspended you can retag only your own questions" +msgstr "" + +#: models/__init__.py:592 +#, python-format +msgid "" +"Sorry, to retag questions a minimum reputation of %(min_rep)s is required" +msgstr "" + +#: models/__init__.py:611 +msgid "Sorry, since your account is blocked you cannot delete comment" +msgstr "" + +#: models/__init__.py:615 +msgid "" +"Sorry, since your account is suspended you can delete only your own comments" +msgstr "" + +#: models/__init__.py:619 +#, python-format +msgid "Sorry, to delete comments reputation of %(min_rep)s is required" +msgstr "" + +#: models/__init__.py:642 +msgid "cannot revoke old vote" +msgstr "sorry, but older votes cannot be revoked" + +#: models/__init__.py:1072 views/users.py:375 +msgid "Site Adminstrator" +msgstr "" + +#: models/__init__.py:1074 views/users.py:377 +msgid "Forum Moderator" +msgstr "" + +#: models/__init__.py:1076 views/users.py:379 +msgid "Suspended User" +msgstr "" + +#: models/__init__.py:1078 views/users.py:381 +msgid "Blocked User" +msgstr "" + +#: models/__init__.py:1080 views/users.py:383 +msgid "Registered User" +msgstr "" + +#: models/__init__.py:1082 +msgid "Watched User" msgstr "" -#: forum/migrations/0005_install_badges.py:45 -msgid "taxonomist" +#: models/__init__.py:1084 +msgid "Approved User" msgstr "" -#: forum/migrations/0005_install_badges.py:45 -msgid "Created a tag used by 50 questions" +#: models/__init__.py:1566 +#, python-format +msgid "" +"Congratulations, you have received a badge '%(badge_name)s'. Check out your profile." msgstr "" -#: forum/models/question.py:531 +#: models/question.py:566 #, python-format msgid "%(author)s modified the question" msgstr "" -#: forum/models/question.py:535 +#: models/question.py:570 #, python-format msgid "%(people)s posted %(new_answer_count)s new answers" msgstr "" -#: forum/models/question.py:540 +#: models/question.py:575 #, python-format msgid "%(people)s commented the question" msgstr "" -#: forum/models/question.py:545 +#: models/question.py:580 #, python-format msgid "%(people)s commented answers" msgstr "" -#: forum/models/question.py:547 +#: models/question.py:582 #, python-format msgid "%(people)s commented an answer" msgstr "" -#: forum/models/repute.py:16 forum/skins/default/templates/badges.html:54 +#: models/repute.py:16 skins/default/templates/badges.html:54 msgid "gold" msgstr "" -#: forum/models/repute.py:17 forum/skins/default/templates/badges.html:62 +#: models/repute.py:17 skins/default/templates/badges.html:62 msgid "silver" msgstr "" -#: forum/models/repute.py:18 forum/skins/default/templates/badges.html:69 +#: models/repute.py:18 skins/default/templates/badges.html:69 msgid "bronze" msgstr "" -#: forum/models/tag.py:84 +#: models/repute.py:150 +#, python-format +msgid "Changed by moderator. Reason: %(reason)s" +msgstr "" + +#: models/repute.py:161 +#, python-format +msgid "" +"%(points)s points were added for %(username)s's contribution to question %" +"(question_title)s" +msgstr "" + +#: models/repute.py:166 +#, python-format +msgid "" +"%(points)s points were subtracted for %(username)s's contribution to " +"question %(question_title)s" +msgstr "" + +#: models/tag.py:75 msgid "interesting" msgstr "" -#: forum/models/tag.py:84 +#: models/tag.py:75 msgid "ignored" msgstr "" -#: forum/models/user.py:212 +#: models/user.py:192 msgid "Entire forum" msgstr "" -#: forum/models/user.py:213 +#: models/user.py:193 msgid "Questions that I asked" msgstr "" -#: forum/models/user.py:214 +#: models/user.py:194 msgid "Questions that I answered" msgstr "" -#: forum/models/user.py:215 +#: models/user.py:195 msgid "Individually selected questions" msgstr "" -#: forum/models/user.py:216 +#: models/user.py:196 msgid "Mentions and comment responses" msgstr "" -#: forum/models/user.py:219 +#: models/user.py:199 msgid "Instantly" msgstr "" -#: forum/models/user.py:220 +#: models/user.py:200 msgid "Daily" msgstr "" -#: forum/models/user.py:221 +#: models/user.py:201 msgid "Weekly" msgstr "" -#: forum/models/user.py:222 +#: models/user.py:202 msgid "No email" msgstr "" -#: forum/skins/default/templates/404.html:24 +#: skins/default/templates/404.html:24 msgid "Sorry, could not find the page you requested." msgstr "" -#: forum/skins/default/templates/404.html:26 +#: skins/default/templates/404.html:26 msgid "This might have happened for the following reasons:" msgstr "" -#: forum/skins/default/templates/404.html:28 +#: skins/default/templates/404.html:28 msgid "this question or answer has been deleted;" msgstr "" -#: forum/skins/default/templates/404.html:29 +#: skins/default/templates/404.html:29 msgid "url has error - please check it;" msgstr "" -#: forum/skins/default/templates/404.html:30 +#: skins/default/templates/404.html:30 msgid "" "the page you tried to visit is protected or you don't have sufficient " "points, see" msgstr "" -#: forum/skins/default/templates/404.html:31 +#: skins/default/templates/404.html:31 msgid "if you believe this error 404 should not have occured, please" msgstr "" -#: forum/skins/default/templates/404.html:32 +#: skins/default/templates/404.html:32 msgid "report this problem" msgstr "" -#: forum/skins/default/templates/404.html:41 -#: forum/skins/default/templates/500.html:27 +#: skins/default/templates/404.html:41 skins/default/templates/500.html:27 msgid "back to previous page" msgstr "" -#: forum/skins/default/templates/404.html:42 -#: forum/skins/default/templates/questions.html:52 +#: skins/default/templates/404.html:42 +#: skins/default/templates/questions.html:34 msgid "see all questions" msgstr "" -#: forum/skins/default/templates/404.html:43 +#: skins/default/templates/404.html:43 msgid "see all tags" msgstr "" -#: forum/skins/default/templates/500.html:22 +#: skins/default/templates/500.html:22 msgid "sorry, system error" msgstr "" -#: forum/skins/default/templates/500.html:24 +#: skins/default/templates/500.html:24 msgid "system error log is recorded, error will be fixed as soon as possible" msgstr "" -#: forum/skins/default/templates/500.html:25 +#: skins/default/templates/500.html:25 msgid "please report the error to the site administrators if you wish" msgstr "" -#: forum/skins/default/templates/500.html:28 +#: skins/default/templates/500.html:28 msgid "see latest questions" msgstr "" -#: forum/skins/default/templates/500.html:29 +#: skins/default/templates/500.html:29 msgid "see tags" msgstr "" -#: forum/skins/default/templates/about.html:6 -#: forum/skins/default/templates/about.html:11 +#: skins/default/templates/about.html:6 skins/default/templates/about.html:11 msgid "About" msgstr "" -#: forum/skins/default/templates/account_settings.html:4 -#: forum/skins/default/templates/authopenid/settings.html:4 +#: skins/default/templates/account_settings.html:4 +#: skins/default/templates/authopenid/settings.html:4 msgid "Account functions" msgstr "" -#: forum/skins/default/templates/account_settings.html:29 -#: forum/skins/default/templates/authopenid/changepw.html:5 -#: forum/skins/default/templates/authopenid/changepw.html:14 -#: forum/skins/default/templates/authopenid/settings.html:29 -#: livesettings/templates/livesettings/group_settings.html:11 -#: livesettings/templates/livesettings/site_settings.html:23 -msgid "Change password" -msgstr "" - -#: forum/skins/default/templates/account_settings.html:30 -#: forum/skins/default/templates/authopenid/settings.html:30 +#: skins/default/templates/account_settings.html:30 +#: skins/default/templates/authopenid/settings.html:30 msgid "Give your account a new password." msgstr "" -#: forum/skins/default/templates/account_settings.html:32 -#: forum/skins/default/templates/authopenid/settings.html:31 +#: skins/default/templates/account_settings.html:32 +#: skins/default/templates/authopenid/settings.html:31 msgid "Change email " msgstr "" -#: forum/skins/default/templates/account_settings.html:33 -#: forum/skins/default/templates/authopenid/settings.html:32 +#: skins/default/templates/account_settings.html:33 +#: skins/default/templates/authopenid/settings.html:32 msgid "Add or update the email address associated with your account." msgstr "" -#: forum/skins/default/templates/account_settings.html:35 -#: forum/skins/default/templates/authopenid/changeopenid.html:4 -#: forum/skins/default/templates/authopenid/changeopenid.html:30 -#: forum/skins/default/templates/authopenid/settings.html:34 +#: skins/default/templates/account_settings.html:35 +#: skins/default/templates/authopenid/changeopenid.html:4 +#: skins/default/templates/authopenid/changeopenid.html:30 +#: skins/default/templates/authopenid/settings.html:34 msgid "Change OpenID" msgstr "" -#: forum/skins/default/templates/account_settings.html:36 -#: forum/skins/default/templates/authopenid/settings.html:35 +#: skins/default/templates/account_settings.html:36 +#: skins/default/templates/authopenid/settings.html:35 msgid "Change openid associated to your account" msgstr "" -#: forum/skins/default/templates/account_settings.html:39 -#: forum/skins/default/templates/authopenid/delete.html:4 -#: forum/skins/default/templates/authopenid/settings.html:38 +#: skins/default/templates/account_settings.html:39 +#: skins/default/templates/authopenid/delete.html:4 +#: skins/default/templates/authopenid/settings.html:38 msgid "Delete account" msgstr "" -#: forum/skins/default/templates/account_settings.html:40 -#: forum/skins/default/templates/authopenid/settings.html:39 +#: skins/default/templates/account_settings.html:40 +#: skins/default/templates/authopenid/settings.html:39 msgid "Erase your username and all your data from website" msgstr "" -#: forum/skins/default/templates/answer_edit.html:5 -#: forum/skins/default/templates/answer_edit.html:48 +#: skins/default/templates/answer_edit.html:5 +#: skins/default/templates/answer_edit.html:48 msgid "Edit answer" msgstr "" -#: forum/skins/default/templates/answer_edit.html:25 -#: forum/skins/default/templates/answer_edit.html:28 -#: forum/skins/default/templates/ask.html:26 -#: forum/skins/default/templates/ask.html:29 -#: forum/skins/default/templates/question.html:48 -#: forum/skins/default/templates/question.html:51 -#: forum/skins/default/templates/question_edit.html:25 -#: forum/skins/default/templates/question_edit.html:28 +#: skins/default/templates/answer_edit.html:25 +#: skins/default/templates/answer_edit.html:28 +#: skins/default/templates/ask.html:26 skins/default/templates/ask.html:29 +#: skins/default/templates/question.html:48 +#: skins/default/templates/question.html:51 +#: skins/default/templates/question_edit.html:25 +#: skins/default/templates/question_edit.html:28 msgid "hide preview" msgstr "" -#: forum/skins/default/templates/answer_edit.html:28 -#: forum/skins/default/templates/ask.html:29 -#: forum/skins/default/templates/question.html:51 -#: forum/skins/default/templates/question_edit.html:28 +#: skins/default/templates/answer_edit.html:28 +#: skins/default/templates/ask.html:29 +#: skins/default/templates/question.html:51 +#: skins/default/templates/question_edit.html:28 msgid "show preview" msgstr "" -#: forum/skins/default/templates/answer_edit.html:48 -#: forum/skins/default/templates/question_edit.html:66 -#: forum/skins/default/templates/question_retag.html:53 -#: forum/skins/default/templates/revisions_answer.html:38 -#: forum/skins/default/templates/revisions_question.html:38 +#: skins/default/templates/answer_edit.html:48 +#: skins/default/templates/question_edit.html:66 +#: skins/default/templates/question_retag.html:53 +#: skins/default/templates/revisions_answer.html:38 +#: skins/default/templates/revisions_question.html:38 msgid "back" msgstr "" -#: forum/skins/default/templates/answer_edit.html:53 -#: forum/skins/default/templates/question_edit.html:71 -#: forum/skins/default/templates/revisions_answer.html:52 -#: forum/skins/default/templates/revisions_question.html:52 +#: skins/default/templates/answer_edit.html:53 +#: skins/default/templates/question_edit.html:71 +#: skins/default/templates/revisions_answer.html:52 +#: skins/default/templates/revisions_question.html:52 msgid "revision" msgstr "" -#: forum/skins/default/templates/answer_edit.html:56 -#: forum/skins/default/templates/question_edit.html:75 +#: skins/default/templates/answer_edit.html:56 +#: skins/default/templates/question_edit.html:76 msgid "select revision" msgstr "" -#: forum/skins/default/templates/answer_edit.html:63 -#: forum/skins/default/templates/ask.html:98 -#: forum/skins/default/templates/ask_form.html:39 -#: forum/skins/default/templates/question.html:420 -#: forum/skins/default/templates/question_edit.html:92 +#: skins/default/templates/answer_edit.html:63 +#: skins/default/templates/ask.html:98 +#: skins/default/templates/ask_form.html:39 +#: skins/default/templates/question.html:428 +#: skins/default/templates/question_edit.html:93 msgid "Toggle the real time Markdown editor preview" msgstr "" -#: forum/skins/default/templates/answer_edit.html:63 -#: forum/skins/default/templates/ask.html:98 -#: forum/skins/default/templates/ask_form.html:39 -#: forum/skins/default/templates/question.html:421 -#: forum/skins/default/templates/question_edit.html:92 +#: skins/default/templates/answer_edit.html:63 +#: skins/default/templates/ask.html:98 +#: skins/default/templates/ask_form.html:39 +#: skins/default/templates/question.html:429 +#: skins/default/templates/question_edit.html:93 msgid "toggle preview" msgstr "" -#: forum/skins/default/templates/answer_edit.html:72 -#: forum/skins/default/templates/question_edit.html:118 -#: forum/skins/default/templates/question_retag.html:74 +#: skins/default/templates/answer_edit.html:72 +#: skins/default/templates/question_edit.html:119 msgid "Save edit" msgstr "" -#: forum/skins/default/templates/answer_edit.html:73 -#: forum/skins/default/templates/close.html:29 -#: forum/skins/default/templates/feedback.html:50 -#: forum/skins/default/templates/question_edit.html:119 -#: forum/skins/default/templates/question_retag.html:75 -#: forum/skins/default/templates/reopen.html:30 -#: forum/skins/default/templates/user_edit.html:90 -#: forum/skins/default/templates/authopenid/changeemail.html:40 +#: skins/default/templates/answer_edit.html:73 +#: skins/default/templates/close.html:29 +#: skins/default/templates/feedback.html:50 +#: skins/default/templates/question_edit.html:120 +#: skins/default/templates/question_retag.html:75 +#: skins/default/templates/reopen.html:40 +#: skins/default/templates/user_edit.html:89 +#: skins/default/templates/authopenid/changeemail.html:40 msgid "Cancel" msgstr "" -#: forum/skins/default/templates/answer_edit_tips.html:4 +#: skins/default/templates/answer_edit_tips.html:4 msgid "answer tips" msgstr "Tips" -#: forum/skins/default/templates/answer_edit_tips.html:7 +#: skins/default/templates/answer_edit_tips.html:7 msgid "please make your answer relevant to this community" msgstr "" -#: forum/skins/default/templates/answer_edit_tips.html:10 +#: skins/default/templates/answer_edit_tips.html:10 msgid "try to give an answer, rather than engage into a discussion" msgstr "" -#: forum/skins/default/templates/answer_edit_tips.html:13 +#: skins/default/templates/answer_edit_tips.html:13 msgid "please try to provide details" msgstr "" -#: forum/skins/default/templates/answer_edit_tips.html:16 -#: forum/skins/default/templates/question_edit_tips.html:13 +#: skins/default/templates/answer_edit_tips.html:16 +#: skins/default/templates/question_edit_tips.html:13 msgid "be clear and concise" msgstr "" -#: forum/skins/default/templates/answer_edit_tips.html:20 -#: forum/skins/default/templates/question_edit_tips.html:17 +#: skins/default/templates/answer_edit_tips.html:20 +#: skins/default/templates/question_edit_tips.html:17 msgid "see frequently asked questions" msgstr "" -#: forum/skins/default/templates/answer_edit_tips.html:26 -#: forum/skins/default/templates/question_edit_tips.html:23 +#: skins/default/templates/answer_edit_tips.html:26 +#: skins/default/templates/question_edit_tips.html:23 msgid "Markdown tips" msgstr "Markdown basics" -#: forum/skins/default/templates/answer_edit_tips.html:29 -#: forum/skins/default/templates/question_edit_tips.html:26 +#: skins/default/templates/answer_edit_tips.html:29 +#: skins/default/templates/question_edit_tips.html:26 msgid "*italic* or __italic__" msgstr "" -#: forum/skins/default/templates/answer_edit_tips.html:32 -#: forum/skins/default/templates/question_edit_tips.html:29 +#: skins/default/templates/answer_edit_tips.html:32 +#: skins/default/templates/question_edit_tips.html:29 msgid "**bold** or __bold__" msgstr "" -#: forum/skins/default/templates/answer_edit_tips.html:35 -#: forum/skins/default/templates/question_edit_tips.html:32 +#: skins/default/templates/answer_edit_tips.html:35 +#: skins/default/templates/question_edit_tips.html:32 msgid "link" msgstr "" -#: forum/skins/default/templates/answer_edit_tips.html:35 -#: forum/skins/default/templates/answer_edit_tips.html:39 -#: forum/skins/default/templates/question_edit_tips.html:32 -#: forum/skins/default/templates/question_edit_tips.html:37 +#: skins/default/templates/answer_edit_tips.html:35 +#: skins/default/templates/answer_edit_tips.html:39 +#: skins/default/templates/question_edit_tips.html:32 +#: skins/default/templates/question_edit_tips.html:37 msgid "text" msgstr "" -#: forum/skins/default/templates/answer_edit_tips.html:39 -#: forum/skins/default/templates/question_edit_tips.html:37 +#: skins/default/templates/answer_edit_tips.html:39 +#: skins/default/templates/question_edit_tips.html:37 msgid "image" msgstr "" -#: forum/skins/default/templates/answer_edit_tips.html:43 -#: forum/skins/default/templates/question_edit_tips.html:41 +#: skins/default/templates/answer_edit_tips.html:43 +#: skins/default/templates/question_edit_tips.html:41 msgid "numbered list:" msgstr "" -#: forum/skins/default/templates/answer_edit_tips.html:48 -#: forum/skins/default/templates/question_edit_tips.html:46 +#: skins/default/templates/answer_edit_tips.html:48 +#: skins/default/templates/question_edit_tips.html:46 msgid "basic HTML tags are also supported" msgstr "" -#: forum/skins/default/templates/answer_edit_tips.html:52 -#: forum/skins/default/templates/question_edit_tips.html:50 +#: skins/default/templates/answer_edit_tips.html:52 +#: skins/default/templates/question_edit_tips.html:50 msgid "learn more about Markdown" msgstr "" -#: forum/skins/default/templates/ask.html:5 -#: forum/skins/default/templates/ask.html:62 +#: skins/default/templates/ask.html:5 skins/default/templates/ask.html:62 msgid "Ask a question" msgstr "" -#: forum/skins/default/templates/ask.html:69 -#: forum/skins/default/templates/ask_form.html:11 +#: skins/default/templates/ask.html:69 +#: skins/default/templates/ask_form.html:11 msgid "login to post question info" msgstr "" "You are welcome to start submitting your question " @@ -2192,7 +2603,7 @@ msgstr "" "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." -#: forum/skins/default/templates/ask.html:75 +#: skins/default/templates/ask.html:75 #, python-format msgid "" "must have valid %(email)s to post, \n" @@ -2205,22 +2616,22 @@ msgstr "" "
You can submit your question now and validate email after that. Your " "question will saved as pending meanwhile. " -#: forum/skins/default/templates/ask.html:113 -#: forum/skins/default/templates/ask_form.html:54 +#: skins/default/templates/ask.html:113 +#: skins/default/templates/ask_form.html:54 msgid "(required)" msgstr "" -#: forum/skins/default/templates/ask.html:120 -#: forum/skins/default/templates/ask_form.html:61 +#: skins/default/templates/ask.html:120 +#: skins/default/templates/ask_form.html:61 msgid "Login/signup to post your question" msgstr "Login/Signup to Post" -#: forum/skins/default/templates/ask.html:122 -#: forum/skins/default/templates/ask_form.html:63 +#: skins/default/templates/ask.html:122 +#: skins/default/templates/ask_form.html:63 msgid "Ask your question" msgstr "Ask Your Question" -#: forum/skins/default/templates/ask_form.html:15 +#: skins/default/templates/ask_form.html:15 #, python-format msgid "" "must have valid %(email)s to post, \n" @@ -2233,32 +2644,31 @@ msgstr "" "
You can submit your question now and validate email after that. Your " "question will saved as pending meanwhile. " -#: forum/skins/default/templates/badge.html:6 -#: forum/skins/default/templates/badge.html:17 +#: skins/default/templates/badge.html:6 skins/default/templates/badge.html:17 msgid "Badge" msgstr "" -#: forum/skins/default/templates/badge.html:26 +#: skins/default/templates/badge.html:26 msgid "user received this badge:" msgid_plural "users received this badge:" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/badges.html:6 +#: skins/default/templates/badges.html:6 msgid "Badges summary" msgstr "" -#: forum/skins/default/templates/badges.html:17 +#: skins/default/templates/badges.html:17 msgid "Badges" msgstr "" -#: forum/skins/default/templates/badges.html:21 +#: skins/default/templates/badges.html:21 msgid "Community gives you awards for your questions, answers and votes." msgstr "" "If your questions and answers are highly voted, your contribution to this " "Q&A community will be recognized with the variety of badges." -#: forum/skins/default/templates/badges.html:22 +#: skins/default/templates/badges.html:22 #, python-format msgid "" "Below is the list of available badges and number \n" @@ -2270,169 +2680,174 @@ msgstr "" " of times each type of badge has been awarded. Have ideas about fun " "badges? Please, give us your feedback" -#: forum/skins/default/templates/badges.html:51 +#: skins/default/templates/badges.html:51 msgid "Community badges" msgstr "Badge levels" -#: forum/skins/default/templates/badges.html:57 +#: skins/default/templates/badges.html:57 msgid "gold badge description" msgstr "" "Gold badge is the highest award in this community. To obtain it have to show " "profound knowledge and ability in addition to your active participation." -#: forum/skins/default/templates/badges.html:65 +#: skins/default/templates/badges.html:65 msgid "silver badge description" msgstr "" "Obtaining silver badge requires significant patience. If you have received " "one, that means you have greatly contributed to this community." -#: forum/skins/default/templates/badges.html:68 +#: skins/default/templates/badges.html:68 msgid "bronze badge: often given as a special honor" msgstr "" -#: forum/skins/default/templates/badges.html:72 +#: skins/default/templates/badges.html:72 msgid "bronze badge description" msgstr "" "If you are an active participant in this community, you will be recognized " "with this badge." -#: forum/skins/default/templates/book.html:7 +#: skins/default/templates/book.html:7 msgid "reading channel" msgstr "" -#: forum/skins/default/templates/book.html:26 +#: skins/default/templates/book.html:26 msgid "[author]" msgstr "" -#: forum/skins/default/templates/book.html:30 +#: skins/default/templates/book.html:30 msgid "[publisher]" msgstr "" -#: forum/skins/default/templates/book.html:34 +#: skins/default/templates/book.html:34 msgid "[publication date]" msgstr "" -#: forum/skins/default/templates/book.html:38 +#: skins/default/templates/book.html:38 msgid "[price]" msgstr "" -#: forum/skins/default/templates/book.html:39 +#: skins/default/templates/book.html:39 msgid "currency unit" msgstr "" -#: forum/skins/default/templates/book.html:42 +#: skins/default/templates/book.html:42 msgid "[pages]" msgstr "" -#: forum/skins/default/templates/book.html:43 +#: skins/default/templates/book.html:43 msgid "pages abbreviation" msgstr "" -#: forum/skins/default/templates/book.html:46 +#: skins/default/templates/book.html:46 msgid "[tags]" msgstr "" -#: forum/skins/default/templates/book.html:56 +#: skins/default/templates/book.html:56 msgid "author blog" msgstr "" -#: forum/skins/default/templates/book.html:62 +#: skins/default/templates/book.html:62 msgid "book directory" msgstr "" -#: forum/skins/default/templates/book.html:66 +#: skins/default/templates/book.html:66 msgid "buy online" msgstr "" -#: forum/skins/default/templates/book.html:79 +#: skins/default/templates/book.html:79 msgid "reader questions" msgstr "" -#: forum/skins/default/templates/book.html:82 +#: skins/default/templates/book.html:82 msgid "ask the author" msgstr "" -#: forum/skins/default/templates/book.html:88 -#: forum/skins/default/templates/book.html:93 -#: forum/skins/default/templates/users_questions.html:18 +#: skins/default/templates/book.html:88 skins/default/templates/book.html:93 +#: skins/default/templates/users_questions.html:18 msgid "this question was selected as favorite" msgstr "" -#: forum/skins/default/templates/book.html:88 -#: forum/skins/default/templates/book.html:93 -#: forum/skins/default/templates/users_questions.html:11 -#: forum/skins/default/templates/users_questions.html:18 +#: skins/default/templates/book.html:88 skins/default/templates/book.html:93 +#: skins/default/templates/users_questions.html:11 +#: skins/default/templates/users_questions.html:18 msgid "number of times" msgstr "" -#: forum/skins/default/templates/book.html:105 -#: forum/skins/default/templates/question_summary_list_roll.html:14 +#: skins/default/templates/book.html:105 +#: skins/default/templates/question_summary_list_roll.html:14 msgid "votes" msgstr "" -#: forum/skins/default/templates/book.html:108 +#: skins/default/templates/book.html:108 msgid "the answer has been accepted to be correct" msgstr "" -#: forum/skins/default/templates/book.html:115 -#: forum/skins/default/templates/question_summary_list_roll.html:15 +#: skins/default/templates/book.html:110 +#: skins/default/templates/questions.html:206 +msgid "answer" +msgstr "" + +#: skins/default/templates/book.html:115 +#: skins/default/templates/question_summary_list_roll.html:15 msgid "views" msgstr "" -#: forum/skins/default/templates/book.html:125 -#: forum/skins/default/templates/question.html:138 -#: forum/skins/default/templates/question_list.html:19 -#: forum/skins/default/templates/question_summary_list_roll.html:52 -#: forum/skins/default/templates/tags.html:50 -#: forum/skins/default/templates/users_questions.html:34 +#: skins/default/templates/book.html:125 +#: skins/default/templates/question.html:138 +#: skins/default/templates/question_list.html:64 +#: skins/default/templates/question_summary_list_roll.html:52 +#: skins/default/templates/questions.html:227 +#: skins/default/templates/tags.html:50 +#: skins/default/templates/users_questions.html:80 #, python-format msgid "see questions tagged '%(tag)s'" msgstr "" -#: forum/skins/default/templates/book.html:147 +#: skins/default/templates/book.html:147 msgid "subscribe to book RSS feed" msgstr "" -#: forum/skins/default/templates/book.html:147 +#: skins/default/templates/book.html:147 +#: skins/default/templates/questions.html:125 +#: skins/default/templates/questions.html:128 msgid "subscribe to the questions feed" msgstr "" -#: forum/skins/default/templates/close.html:6 -#: forum/skins/default/templates/close.html:16 +#: skins/default/templates/close.html:6 skins/default/templates/close.html:16 msgid "Close question" msgstr "" -#: forum/skins/default/templates/close.html:19 +#: skins/default/templates/close.html:19 msgid "Close the question" msgstr "" -#: forum/skins/default/templates/close.html:25 +#: skins/default/templates/close.html:25 msgid "Reasons" msgstr "" -#: forum/skins/default/templates/close.html:28 +#: skins/default/templates/close.html:28 msgid "OK to close" msgstr "" -#: forum/skins/default/templates/email_base.html:11 +#: skins/default/templates/email_base.html:11 msgid "home" msgstr "" -#: forum/skins/default/templates/faq.html:12 +#: skins/default/templates/faq.html:12 msgid "Frequently Asked Questions " msgstr "" -#: forum/skins/default/templates/faq.html:17 +#: skins/default/templates/faq.html:17 msgid "What kinds of questions can I ask here?" msgstr "" -#: forum/skins/default/templates/faq.html:18 +#: skins/default/templates/faq.html:18 msgid "" "Most importanly - questions should be relevant to this " "community." msgstr "" -#: forum/skins/default/templates/faq.html:19 +#: skins/default/templates/faq.html:19 msgid "" "Before asking the question - please make sure to use search to see whether " "your question has alredy been answered." @@ -2440,21 +2855,21 @@ msgstr "" "Before you ask - please make sure to search for a similar question. You can " "search questions by their title or tags." -#: forum/skins/default/templates/faq.html:22 +#: skins/default/templates/faq.html:22 msgid "What questions should I avoid asking?" msgstr "What kinds of questions should be avoided?" -#: forum/skins/default/templates/faq.html:23 +#: skins/default/templates/faq.html:23 msgid "" "Please avoid asking questions that are not relevant to this community, too " "subjective and argumentative." msgstr "" -#: forum/skins/default/templates/faq.html:28 +#: skins/default/templates/faq.html:28 msgid "What should I avoid in my answers?" msgstr "" -#: forum/skins/default/templates/faq.html:29 +#: skins/default/templates/faq.html:29 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 " @@ -2465,19 +2880,19 @@ msgstr "" "they tend to dilute the essense of questions and answers. For the brief " "discussions please use commenting facility." -#: forum/skins/default/templates/faq.html:33 +#: skins/default/templates/faq.html:33 msgid "Who moderates this community?" msgstr "" -#: forum/skins/default/templates/faq.html:34 +#: skins/default/templates/faq.html:34 msgid "The short answer is: you." msgstr "" -#: forum/skins/default/templates/faq.html:35 +#: skins/default/templates/faq.html:35 msgid "This website is moderated by the users." msgstr "" -#: forum/skins/default/templates/faq.html:36 +#: skins/default/templates/faq.html:36 msgid "" "The reputation system allows users earn the authorization to perform a " "variety of moderation tasks." @@ -2485,11 +2900,11 @@ msgstr "" "Karma system allows users to earn rights to perform a variety of moderation " "tasks" -#: forum/skins/default/templates/faq.html:41 +#: skins/default/templates/faq.html:41 msgid "How does reputation system work?" msgstr "How does karma system work?" -#: forum/skins/default/templates/faq.html:42 +#: skins/default/templates/faq.html:42 msgid "Rep system summary" msgstr "" "When a question or answer is upvoted, the user who posted them will gain " @@ -2497,7 +2912,7 @@ msgstr "" "rough measure of the community trust to him/her. Various moderation tasks " "are gradually assigned to the users based on those points." -#: forum/skins/default/templates/faq.html:43 +#: skins/default/templates/faq.html:43 #, python-format msgid "" "For example, if you ask an interesting question or give a helpful answer, " @@ -2510,49 +2925,49 @@ msgid "" "explains reputation point requirements for each type of moderation task." msgstr "" -#: forum/skins/default/templates/faq.html:53 -#: forum/skins/default/templates/user_votes.html:15 +#: skins/default/templates/faq.html:53 +#: skins/default/templates/user_votes.html:15 msgid "upvote" msgstr "" -#: forum/skins/default/templates/faq.html:58 +#: skins/default/templates/faq.html:58 msgid "use tags" msgstr "" -#: forum/skins/default/templates/faq.html:63 +#: skins/default/templates/faq.html:63 msgid "add comments" msgstr "" -#: forum/skins/default/templates/faq.html:67 -#: forum/skins/default/templates/user_votes.html:17 +#: skins/default/templates/faq.html:67 +#: skins/default/templates/user_votes.html:17 msgid "downvote" msgstr "" -#: forum/skins/default/templates/faq.html:70 +#: skins/default/templates/faq.html:70 msgid "open and close own questions" msgstr "" -#: forum/skins/default/templates/faq.html:74 +#: skins/default/templates/faq.html:74 msgid "retag questions" msgstr "" -#: forum/skins/default/templates/faq.html:79 +#: skins/default/templates/faq.html:79 msgid "edit community wiki questions" msgstr "" -#: forum/skins/default/templates/faq.html:84 +#: skins/default/templates/faq.html:84 msgid "edit any answer" msgstr "" -#: forum/skins/default/templates/faq.html:88 +#: skins/default/templates/faq.html:88 msgid "delete any comment" msgstr "" -#: forum/skins/default/templates/faq.html:95 +#: skins/default/templates/faq.html:95 msgid "how to validate email title" msgstr "How to validate email and why?" -#: forum/skins/default/templates/faq.html:97 +#: skins/default/templates/faq.html:97 #, python-format msgid "" "how to validate email info with %(send_email_key_url)s %(gravatar_faq_url)s" @@ -2570,11 +2985,11 @@ msgstr "" "Also, when you sign up for the first time - create a unique gravatar personal image.

" -#: forum/skins/default/templates/faq.html:102 +#: skins/default/templates/faq.html:102 msgid "what is gravatar" msgstr "How to change my picture (gravatar) and what is gravatar?" -#: forum/skins/default/templates/faq.html:103 +#: skins/default/templates/faq.html:103 msgid "gravatar faq info" msgstr "" "

The picture that appears on the users profiles is called " @@ -2591,44 +3006,44 @@ msgstr "" "be sure to use the same email address that you used to register with us). " "Default image that looks like a kitchen tile is generated automatically.

" -#: forum/skins/default/templates/faq.html:106 +#: skins/default/templates/faq.html:106 msgid "To register, do I need to create new password?" msgstr "" -#: forum/skins/default/templates/faq.html:107 +#: skins/default/templates/faq.html:107 msgid "" "No, you don't have to. You can login through any service that supports " "OpenID, e.g. Google, Yahoo, AOL, etc." msgstr "" -#: forum/skins/default/templates/faq.html:108 +#: skins/default/templates/faq.html:108 msgid "Login now!" msgstr "" -#: forum/skins/default/templates/faq.html:113 +#: skins/default/templates/faq.html:113 msgid "Why other people can edit my questions/answers?" msgstr "" -#: forum/skins/default/templates/faq.html:114 +#: skins/default/templates/faq.html:114 msgid "Goal of this site is..." msgstr "" -#: forum/skins/default/templates/faq.html:114 +#: skins/default/templates/faq.html:114 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 "" -#: forum/skins/default/templates/faq.html:115 +#: skins/default/templates/faq.html:115 msgid "If this approach is not for you, we respect your choice." msgstr "" -#: forum/skins/default/templates/faq.html:119 +#: skins/default/templates/faq.html:119 msgid "Still have questions?" msgstr "" -#: forum/skins/default/templates/faq.html:120 +#: skins/default/templates/faq.html:120 #, python-format msgid "" "Please ask your question at %(ask_question_url)s, help make our community " @@ -2637,24 +3052,23 @@ msgstr "" "Please ask your question, help make our " "community better!" -#: forum/skins/default/templates/faq.html:122 -#: forum/skins/default/templates/header.html:27 +#: skins/default/templates/faq.html:122 skins/default/templates/header.html:42 msgid "questions" msgstr "" -#: forum/skins/default/templates/faq.html:122 +#: skins/default/templates/faq.html:122 msgid "." msgstr "" -#: forum/skins/default/templates/feedback.html:6 +#: skins/default/templates/feedback.html:6 msgid "Feedback" msgstr "" -#: forum/skins/default/templates/feedback.html:11 +#: skins/default/templates/feedback.html:11 msgid "Give us your feedback!" msgstr "" -#: forum/skins/default/templates/feedback.html:17 +#: skins/default/templates/feedback.html:17 #, python-format msgid "" "\n" @@ -2664,7 +3078,7 @@ msgid "" " " msgstr "" -#: forum/skins/default/templates/feedback.html:24 +#: skins/default/templates/feedback.html:24 msgid "" "\n" " Dear visitor, we look forward to " @@ -2673,92 +3087,107 @@ msgid "" " " msgstr "" -#: forum/skins/default/templates/feedback.html:41 +#: skins/default/templates/feedback.html:41 msgid "(this field is required)" msgstr "" -#: forum/skins/default/templates/feedback.html:49 +#: skins/default/templates/feedback.html:49 msgid "Send Feedback" msgstr "" -#: forum/skins/default/templates/feedback_email.txt:3 +#: skins/default/templates/feedback_email.txt:3 #, python-format msgid "" "\n" "Hello, this is a %(site_title)s forum feedback message\n" msgstr "" -#: forum/skins/default/templates/feedback_email.txt:9 +#: skins/default/templates/feedback_email.txt:9 msgid "Sender is" msgstr "" -#: forum/skins/default/templates/feedback_email.txt:11 -#: forum/skins/default/templates/feedback_email.txt:14 +#: skins/default/templates/feedback_email.txt:11 +#: skins/default/templates/feedback_email.txt:14 msgid "email" msgstr "" -#: forum/skins/default/templates/feedback_email.txt:13 +#: skins/default/templates/feedback_email.txt:13 msgid "anonymous" msgstr "" -#: forum/skins/default/templates/feedback_email.txt:19 +#: skins/default/templates/feedback_email.txt:19 msgid "Message body:" msgstr "" -#: forum/skins/default/templates/footer.html:8 -#: forum/skins/default/templates/header.html:14 +#: skins/default/templates/footer.html:8 +#: skins/default/templates/header.html:29 msgid "about" msgstr "" -#: forum/skins/default/templates/footer.html:9 -#: forum/skins/default/templates/header.html:15 -#: forum/skins/default/templates/question_edit_tips.html:17 +#: skins/default/templates/footer.html:9 +#: skins/default/templates/header.html:30 +#: skins/default/templates/question_edit_tips.html:17 msgid "faq" msgstr "" -#: forum/skins/default/templates/footer.html:10 +#: skins/default/templates/footer.html:10 msgid "privacy policy" msgstr "" -#: forum/skins/default/templates/footer.html:19 +#: skins/default/templates/footer.html:19 msgid "give feedback" msgstr "" -#: forum/skins/default/templates/header.html:10 +#: skins/default/templates/header.html:13 +#, python-format +msgid "responses for %(username)s" +msgstr "" + +#: skins/default/templates/header.html:16 +#, python-format +msgid "you have a new response" +msgid_plural "you nave %(response_count)s new responses" +msgstr[0] "" +msgstr[1] "" + +#: skins/default/templates/header.html:19 +msgid "no new responses yet" +msgstr "" + +#: skins/default/templates/header.html:25 msgid "logout" msgstr "sign out" -#: forum/skins/default/templates/header.html:12 +#: skins/default/templates/header.html:27 msgid "login" msgstr "Hi, there! Please sign in" -#: forum/skins/default/templates/header.html:22 +#: skins/default/templates/header.html:37 msgid "back to home page" msgstr "" -#: forum/skins/default/templates/header.html:29 +#: skins/default/templates/header.html:44 msgid "users" msgstr "people" -#: forum/skins/default/templates/header.html:30 -#: forum/templatetags/extra_tags.py:177 forum/templatetags/extra_tags.py:206 +#: skins/default/templates/header.html:45 msgid "badges" msgstr "" -#: forum/skins/default/templates/header.html:31 +#: skins/default/templates/header.html:46 msgid "ask a question" msgstr "" -#: forum/skins/default/templates/input_bar.html:33 +#: skins/default/templates/input_bar.html:33 msgid "search" msgstr "" -#: forum/skins/default/templates/instant_notification.html:3 +#: skins/default/templates/instant_notification.html:3 #, python-format msgid "

Dear %(receiving_user_name)s,

" msgstr "" -#: forum/skins/default/templates/instant_notification.html:6 +#: skins/default/templates/instant_notification.html:5 #, python-format msgid "" "\n" @@ -2766,7 +3195,7 @@ msgid "" "for question \"%(origin_post_title)s\"

\n" msgstr "" -#: forum/skins/default/templates/instant_notification.html:12 +#: skins/default/templates/instant_notification.html:11 #, python-format msgid "" "\n" @@ -2774,7 +3203,7 @@ msgid "" " for an answer to question \"%(origin_post_title)s\"

\n" msgstr "" -#: forum/skins/default/templates/instant_notification.html:18 +#: skins/default/templates/instant_notification.html:17 #, python-format msgid "" "\n" @@ -2782,15 +3211,15 @@ msgid "" "%(origin_post_title)s

\n" msgstr "" -#: forum/skins/default/templates/instant_notification.html:24 +#: skins/default/templates/instant_notification.html:23 #, python-format msgid "" "\n" -"

%(update_author_name)s asked a question \n" +"

%(update_author_name)s posted a new question \n" "%(origin_post_title)s

\n" msgstr "" -#: forum/skins/default/templates/instant_notification.html:29 +#: skins/default/templates/instant_notification.html:29 #, python-format msgid "" "\n" @@ -2798,7 +3227,7 @@ msgid "" "%(origin_post_title)s

\n" msgstr "" -#: forum/skins/default/templates/instant_notification.html:34 +#: skins/default/templates/instant_notification.html:35 #, python-format msgid "" "\n" @@ -2806,25 +3235,26 @@ msgid "" "%(origin_post_title)s

\n" msgstr "" -#: forum/skins/default/templates/instant_notification.html:40 +#: skins/default/templates/instant_notification.html:41 #, python-format msgid "" "\n" "

Please note - you can easily change\n" -"how often you receive these notifications.

\n" +"how often you receive these notifications or unsubscribe. Thank you for your " +"interest in our forum!

\n" msgstr "" -#: forum/skins/default/templates/instant_notification.html:44 +#: skins/default/templates/instant_notification.html:45 msgid "

Sincerely,
Forum Administrator

" msgstr "" -#: forum/skins/default/templates/logout.html:6 -#: forum/skins/default/templates/logout.html:16 +#: skins/default/templates/logout.html:6 +#: skins/default/templates/logout.html:16 msgid "Logout" msgstr "" -#: forum/skins/default/templates/logout.html:19 +#: skins/default/templates/logout.html:19 msgid "" "As a registered user you can login with your OpenID, log out of the site or " "permanently remove your account." @@ -2833,150 +3263,154 @@ msgstr "" "sign you off from your OpenID provider.

If you wish to sign off " "completely - please make sure to log out from your OpenID provider as well." -#: forum/skins/default/templates/logout.html:20 +#: skins/default/templates/logout.html:20 msgid "Logout now" msgstr "Logout Now" -#: forum/skins/default/templates/notarobot.html:3 +#: skins/default/templates/notarobot.html:3 msgid "Please prove that you are a Human Being" msgstr "" -#: forum/skins/default/templates/notarobot.html:10 +#: skins/default/templates/notarobot.html:10 msgid "I am a Human Being" msgstr "" -#: forum/skins/default/templates/pagesize.html:6 +#: skins/default/templates/pagesize.html:6 msgid "posts per page" msgstr "" -#: forum/skins/default/templates/paginator.html:6 -#: forum/skins/default/templates/paginator.html:7 +#: skins/default/templates/paginator.html:6 +#: skins/default/templates/paginator.html:7 msgid "previous" msgstr "" -#: forum/skins/default/templates/paginator.html:19 +#: skins/default/templates/paginator.html:19 msgid "current page" msgstr "" -#: forum/skins/default/templates/paginator.html:22 -#: forum/skins/default/templates/paginator.html:29 +#: skins/default/templates/paginator.html:22 +#: skins/default/templates/paginator.html:29 #, python-format msgid "page number %(num)s" msgstr "page %(num)s" -#: forum/skins/default/templates/paginator.html:33 +#: skins/default/templates/paginator.html:33 msgid "next page" msgstr "" -#: forum/skins/default/templates/post_contributor_info.html:9 +#: skins/default/templates/post_contributor_info.html:9 #, python-format msgid "%(rev_count)s revision" msgid_plural "%(rev_count)s revisions" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/post_contributor_info.html:15 +#: skins/default/templates/post_contributor_info.html:15 msgid "asked" msgstr "" -#: forum/skins/default/templates/post_contributor_info.html:18 +#: skins/default/templates/post_contributor_info.html:18 msgid "answered" msgstr "" -#: forum/skins/default/templates/post_contributor_info.html:20 +#: skins/default/templates/post_contributor_info.html:20 msgid "posted" msgstr "" -#: forum/skins/default/templates/post_contributor_info.html:41 +#: skins/default/templates/post_contributor_info.html:41 msgid "updated" msgstr "" -#: forum/skins/default/templates/privacy.html:6 -#: forum/skins/default/templates/privacy.html:11 +#: skins/default/templates/privacy.html:6 +#: skins/default/templates/privacy.html:11 msgid "Privacy policy" msgstr "" -#: forum/skins/default/templates/question.html:80 -#: forum/skins/default/templates/question.html:81 -#: forum/skins/default/templates/question.html:97 -#: forum/skins/default/templates/question.html:99 +#: skins/default/templates/question.html:80 +#: skins/default/templates/question.html:81 +#: skins/default/templates/question.html:97 +#: skins/default/templates/question.html:99 msgid "i like this post (click again to cancel)" msgstr "" -#: forum/skins/default/templates/question.html:83 -#: forum/skins/default/templates/question.html:101 -#: forum/skins/default/templates/question.html:253 +#: skins/default/templates/question.html:83 +#: skins/default/templates/question.html:101 +#: skins/default/templates/question.html:261 msgid "current number of votes" msgstr "" -#: forum/skins/default/templates/question.html:92 -#: forum/skins/default/templates/question.html:93 -#: forum/skins/default/templates/question.html:106 -#: forum/skins/default/templates/question.html:107 +#: skins/default/templates/question.html:92 +#: skins/default/templates/question.html:93 +#: skins/default/templates/question.html:106 +#: skins/default/templates/question.html:107 msgid "i dont like this post (click again to cancel)" msgstr "" -#: forum/skins/default/templates/question.html:111 -#: forum/skins/default/templates/question.html:112 +#: skins/default/templates/question.html:111 +#: skins/default/templates/question.html:112 msgid "mark this question as favorite (click again to cancel)" msgstr "" -#: forum/skins/default/templates/question.html:118 -#: forum/skins/default/templates/question.html:119 +#: skins/default/templates/question.html:118 +#: skins/default/templates/question.html:119 msgid "remove favorite mark from this question (click again to restore mark)" msgstr "" -#: forum/skins/default/templates/question.html:143 -#: forum/skins/default/templates/question.html:290 -#: forum/skins/default/templates/revisions_answer.html:58 -#: forum/skins/default/templates/revisions_question.html:58 +#: skins/default/templates/question.html:144 +#: skins/default/templates/question.html:298 +#: skins/default/templates/revisions_answer.html:58 +#: skins/default/templates/revisions_question.html:58 msgid "edit" msgstr "" -#: forum/skins/default/templates/question.html:148 +#: skins/default/templates/question.html:149 +msgid "retag" +msgstr "" + +#: skins/default/templates/question.html:156 msgid "reopen" msgstr "" -#: forum/skins/default/templates/question.html:152 +#: skins/default/templates/question.html:160 msgid "close" msgstr "" -#: forum/skins/default/templates/question.html:158 -#: forum/skins/default/templates/question.html:295 +#: skins/default/templates/question.html:166 +#: skins/default/templates/question.html:303 msgid "" "report as offensive (i.e containing spam, advertising, malicious text, etc.)" msgstr "" -#: forum/skins/default/templates/question.html:159 -#: forum/skins/default/templates/question.html:296 +#: skins/default/templates/question.html:167 +#: skins/default/templates/question.html:304 msgid "flag offensive" msgstr "" -#: forum/skins/default/templates/question.html:167 -#: forum/skins/default/templates/question.html:307 +#: skins/default/templates/question.html:175 +#: skins/default/templates/question.html:315 msgid "delete" msgstr "" -#: forum/skins/default/templates/question.html:185 -#: forum/skins/default/templates/question.html:327 +#: skins/default/templates/question.html:193 +#: skins/default/templates/question.html:335 msgid "delete this comment" msgstr "" -#: forum/skins/default/templates/question.html:196 -#: forum/skins/default/templates/question.html:338 +#: skins/default/templates/question.html:204 +#: skins/default/templates/question.html:346 msgid "add comment" msgstr "post a comment" -#: forum/skins/default/templates/question.html:200 -#: forum/skins/default/templates/question.html:342 +#: skins/default/templates/question.html:208 +#: skins/default/templates/question.html:350 #, python-format msgid "see %(counter)s more" msgid_plural "see %(counter)s more" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/question.html:202 -#: forum/skins/default/templates/question.html:344 +#: skins/default/templates/question.html:210 +#: skins/default/templates/question.html:352 #, python-format msgid "see %(counter)s more comment" msgid_plural "" @@ -2985,18 +3419,18 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/question.html:215 +#: skins/default/templates/question.html:223 #, python-format msgid "" "The question has been closed for the following reason \"%(close_reason)s\" by" msgstr "" -#: forum/skins/default/templates/question.html:217 +#: skins/default/templates/question.html:225 #, python-format msgid "close date %(closed_at)s" msgstr "" -#: forum/skins/default/templates/question.html:225 +#: skins/default/templates/question.html:233 #, python-format msgid "" "\n" @@ -3009,75 +3443,75 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/question.html:233 +#: skins/default/templates/question.html:241 msgid "oldest answers will be shown first" msgstr "" -#: forum/skins/default/templates/question.html:233 +#: skins/default/templates/question.html:241 msgid "oldest answers" msgstr "oldest" -#: forum/skins/default/templates/question.html:235 +#: skins/default/templates/question.html:243 msgid "newest answers will be shown first" msgstr "" -#: forum/skins/default/templates/question.html:235 +#: skins/default/templates/question.html:243 msgid "newest answers" msgstr "newest" -#: forum/skins/default/templates/question.html:237 +#: skins/default/templates/question.html:245 msgid "most voted answers will be shown first" msgstr "" -#: forum/skins/default/templates/question.html:237 +#: skins/default/templates/question.html:245 msgid "popular answers" msgstr "most voted" -#: forum/skins/default/templates/question.html:251 -#: forum/skins/default/templates/question.html:252 +#: skins/default/templates/question.html:259 +#: skins/default/templates/question.html:260 msgid "i like this answer (click again to cancel)" msgstr "" -#: forum/skins/default/templates/question.html:258 -#: forum/skins/default/templates/question.html:259 +#: skins/default/templates/question.html:266 +#: skins/default/templates/question.html:267 msgid "i dont like this answer (click again to cancel)" msgstr "" -#: forum/skins/default/templates/question.html:264 -#: forum/skins/default/templates/question.html:265 +#: skins/default/templates/question.html:272 +#: skins/default/templates/question.html:273 msgid "mark this answer as favorite (click again to undo)" msgstr "" -#: forum/skins/default/templates/question.html:270 -#: forum/skins/default/templates/question.html:271 +#: skins/default/templates/question.html:278 +#: skins/default/templates/question.html:279 msgid "the author of the question has selected this answer as correct" msgstr "" -#: forum/skins/default/templates/question.html:284 +#: skins/default/templates/question.html:292 msgid "answer permanent link" msgstr "" -#: forum/skins/default/templates/question.html:285 +#: skins/default/templates/question.html:293 msgid "permanent link" msgstr "link" -#: forum/skins/default/templates/question.html:307 +#: skins/default/templates/question.html:315 msgid "undelete" msgstr "" -#: forum/skins/default/templates/question.html:366 -#: forum/skins/default/templates/question.html:369 +#: skins/default/templates/question.html:374 +#: skins/default/templates/question.html:377 msgid "Notify me once a day when there are any new answers" msgstr "" "Notify me once a day by email when there are any new " "answers or updates" -#: forum/skins/default/templates/question.html:372 +#: skins/default/templates/question.html:380 msgid "Notify me weekly when there are any new answers" msgstr "" "Notify me weekly when there are any new answers or updates" -#: forum/skins/default/templates/question.html:377 +#: skins/default/templates/question.html:385 #, python-format msgid "" "You can always adjust frequency of email updates from your %(profile_url)s" @@ -3085,21 +3519,21 @@ msgstr "" "(note: you can always change how often you receive updates)" -#: forum/skins/default/templates/question.html:382 +#: skins/default/templates/question.html:390 msgid "once you sign in you will be able to subscribe for any updates here" msgstr "" "Here (once you log in) you will be able to sign " "up for the periodic email updates about this question." -#: forum/skins/default/templates/question.html:393 +#: skins/default/templates/question.html:401 msgid "Your answer" msgstr "" -#: forum/skins/default/templates/question.html:395 +#: skins/default/templates/question.html:403 msgid "Be the first one to answer this question!" msgstr "" -#: forum/skins/default/templates/question.html:401 +#: skins/default/templates/question.html:409 msgid "you can answer anonymously and then login" msgstr "" "Please start posting your answer anonymously " @@ -3108,7 +3542,7 @@ msgstr "" "answer, for discussions, please use comments and " "please do remember to vote (after you log in)!" -#: forum/skins/default/templates/question.html:405 +#: skins/default/templates/question.html:413 msgid "answer your own question only to give an answer" msgstr "" "You are welcome to answer your own question, " @@ -3118,7 +3552,7 @@ msgstr "" "forget to vote :) for the answers that you liked (or perhaps did " "not like)! " -#: forum/skins/default/templates/question.html:407 +#: skins/default/templates/question.html:415 msgid "please only give an answer, no discussions" msgstr "" "Please try to give a substantial answer. If " @@ -3128,55 +3562,55 @@ msgstr "" "please don't forget to vote - it really helps to select the " "best questions and answers!" -#: forum/skins/default/templates/question.html:443 +#: skins/default/templates/question.html:451 msgid "Login/Signup to Post Your Answer" msgstr "" -#: forum/skins/default/templates/question.html:446 +#: skins/default/templates/question.html:454 msgid "Answer Your Own Question" msgstr "" -#: forum/skins/default/templates/question.html:448 +#: skins/default/templates/question.html:456 msgid "Answer the question" msgstr "Post Your Answer" -#: forum/skins/default/templates/question.html:462 +#: skins/default/templates/question.html:471 msgid "Question tags" msgstr "Tags" -#: forum/skins/default/templates/question.html:467 -#: forum/skins/default/templates/questions.html:261 -#: forum/skins/default/templates/tag_selector.html:11 -#: forum/skins/default/templates/tag_selector.html:28 +#: skins/default/templates/question.html:476 +#: skins/default/templates/questions.html:312 +#: skins/default/templates/tag_selector.html:11 +#: skins/default/templates/tag_selector.html:28 #, python-format msgid "see questions tagged '%(tag_name)s'" msgstr "" -#: forum/skins/default/templates/question.html:473 +#: skins/default/templates/question.html:482 msgid "question asked" msgstr "Asked" -#: forum/skins/default/templates/question.html:476 +#: skins/default/templates/question.html:485 msgid "question was seen" msgstr "Seen" -#: forum/skins/default/templates/question.html:476 +#: skins/default/templates/question.html:485 msgid "times" msgstr "" -#: forum/skins/default/templates/question.html:479 +#: skins/default/templates/question.html:488 msgid "last updated" msgstr "Last updated" -#: forum/skins/default/templates/question.html:485 +#: skins/default/templates/question.html:494 msgid "Related questions" msgstr "" -#: forum/skins/default/templates/question_counter_widget.html:6 +#: skins/default/templates/question_counter_widget.html:6 msgid "Please decide if you like this question or not by voting" msgstr "" -#: forum/skins/default/templates/question_counter_widget.html:12 +#: skins/default/templates/question_counter_widget.html:12 msgid "" "\n" " vote\n" @@ -3188,11 +3622,14 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/question_counter_widget.html:21 +#: skins/default/templates/question_counter_widget.html:21 +#: skins/default/templates/question_list.html:23 +#: skins/default/templates/questions.html:194 +#: skins/default/templates/users_questions.html:43 msgid "this answer has been accepted to be correct" msgstr "" -#: forum/skins/default/templates/question_counter_widget.html:27 +#: skins/default/templates/question_counter_widget.html:27 msgid "" "\n" " answer \n" @@ -3204,7 +3641,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/question_counter_widget.html:39 +#: skins/default/templates/question_counter_widget.html:39 msgid "" "\n" " view\n" @@ -3216,143 +3653,170 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/question_edit.html:5 -#: forum/skins/default/templates/question_edit.html:66 +#: skins/default/templates/question_edit.html:5 +#: skins/default/templates/question_edit.html:66 msgid "Edit question" msgstr "" -#: forum/skins/default/templates/question_edit_tips.html:4 +#: skins/default/templates/question_edit_tips.html:4 msgid "question tips" msgstr "Tips" -#: forum/skins/default/templates/question_edit_tips.html:7 +#: skins/default/templates/question_edit_tips.html:7 msgid "please ask a relevant question" msgstr "ask a question interesting to this community" -#: forum/skins/default/templates/question_edit_tips.html:10 +#: skins/default/templates/question_edit_tips.html:10 msgid "please try provide enough details" msgstr "provide enough details" -#: forum/skins/default/templates/question_retag.html:4 -#: forum/skins/default/templates/question_retag.html:53 +#: skins/default/templates/question_list.html:15 +#: skins/default/templates/users_questions.html:35 +msgid "" +"\n" +" vote\n" +" " +msgid_plural "" +"\n" +" votes\n" +" " +msgstr[0] "" +msgstr[1] "" + +#: skins/default/templates/question_list.html:35 +#: skins/default/templates/users_questions.html:55 +msgid "" +"\n" +" answer \n" +" " +msgid_plural "" +"\n" +" answers \n" +" " +msgstr[0] "" +msgstr[1] "" + +#: skins/default/templates/question_list.html:47 +#: skins/default/templates/users_questions.html:67 +msgid "" +"\n" +" view\n" +" " +msgid_plural "" +"\n" +" views\n" +" " +msgstr[0] "" +msgstr[1] "" + +#: skins/default/templates/question_retag.html:5 +#: skins/default/templates/question_retag.html:53 msgid "Change tags" msgstr "" -#: forum/skins/default/templates/question_retag.html:40 +#: skins/default/templates/question_retag.html:40 msgid "up to 5 tags, less than 20 characters each" msgstr "" -#: forum/skins/default/templates/question_retag.html:83 +#: skins/default/templates/question_retag.html:74 +msgid "Retag" +msgstr "" + +#: skins/default/templates/question_retag.html:83 msgid "Why use and modify tags?" msgstr "" -#: forum/skins/default/templates/question_retag.html:86 +#: skins/default/templates/question_retag.html:86 msgid "tags help us keep Questions organized" msgstr "" -#: forum/skins/default/templates/question_retag.html:94 +#: skins/default/templates/question_retag.html:94 msgid "tag editors receive special awards from the community" msgstr "" -#: forum/skins/default/templates/question_summary_list_roll.html:13 +#: skins/default/templates/question_summary_list_roll.html:13 msgid "answers" msgstr "" -#: forum/skins/default/templates/questions.html:8 +#: skins/default/templates/questions.html:9 msgid "Questions" msgstr "" -#: forum/skins/default/templates/questions.html:32 -msgid "Found by tags" -msgstr "Tagged questions" - -#: forum/skins/default/templates/questions.html:36 -msgid "Search results" -msgstr "" - -#: forum/skins/default/templates/questions.html:38 -msgid "Found by title" -msgstr "" - -#: forum/skins/default/templates/questions.html:42 -msgid "Unanswered questions" -msgstr "" - -#: forum/skins/default/templates/questions.html:44 -msgid "All questions" -msgstr "" - -#: forum/skins/default/templates/questions.html:51 +#: skins/default/templates/questions.html:33 msgid "In:" msgstr "" -#: forum/skins/default/templates/questions.html:53 +#: skins/default/templates/questions.html:35 msgid "see unanswered questions" msgstr "" -#: forum/skins/default/templates/questions.html:55 +#: skins/default/templates/questions.html:37 msgid "see your favorite questions" msgstr "" -#: forum/skins/default/templates/questions.html:59 +#: skins/default/templates/questions.html:41 msgid "Sort by:" msgstr "" -#: forum/skins/default/templates/questions.html:64 -#: forum/skins/default/templates/questions.html:75 +#: skins/default/templates/questions.html:46 +#: skins/default/templates/questions.html:57 msgid "click to see the newest questions" msgstr "" -#: forum/skins/default/templates/questions.html:70 +#: skins/default/templates/questions.html:52 msgid "click to see the oldest questions" msgstr "" -#: forum/skins/default/templates/questions.html:83 -#: forum/skins/default/templates/questions.html:94 +#: skins/default/templates/questions.html:65 +#: skins/default/templates/questions.html:76 msgid "click to see the most recently updated questions" msgstr "" -#: forum/skins/default/templates/questions.html:89 +#: skins/default/templates/questions.html:71 msgid "click to see the least recently updated questions" msgstr "" -#: forum/skins/default/templates/questions.html:102 -#: forum/skins/default/templates/questions.html:113 +#: skins/default/templates/questions.html:84 +#: skins/default/templates/questions.html:95 msgid "click to see hottest questions" msgstr "questions with most answers" -#: forum/skins/default/templates/questions.html:102 +#: skins/default/templates/questions.html:84 msgid "less answers" msgstr "" -#: forum/skins/default/templates/questions.html:108 +#: skins/default/templates/questions.html:90 msgid "click to see coldest questions" msgstr "questions with fewest answers" -#: forum/skins/default/templates/questions.html:108 -#: forum/skins/default/templates/questions.html:113 +#: skins/default/templates/questions.html:90 +#: skins/default/templates/questions.html:95 msgid "more answers" msgstr "" -#: forum/skins/default/templates/questions.html:121 -#: forum/skins/default/templates/questions.html:132 +#: skins/default/templates/questions.html:103 +#: skins/default/templates/questions.html:114 msgid "click to see most voted questions" msgstr "" -#: forum/skins/default/templates/questions.html:121 +#: skins/default/templates/questions.html:103 msgid "unpopular" msgstr "" -#: forum/skins/default/templates/questions.html:127 +#: skins/default/templates/questions.html:109 msgid "click to see least voted questions" msgstr "least voted questions" -#: forum/skins/default/templates/questions.html:127 -#: forum/skins/default/templates/questions.html:132 +#: skins/default/templates/questions.html:109 +#: skins/default/templates/questions.html:114 msgid "popular" msgstr "" -#: forum/skins/default/templates/questions.html:141 +#: skins/default/templates/questions.html:129 +msgid "rss feed" +msgstr "" + +#: skins/default/templates/questions.html:133 #, python-format msgid "" "\n" @@ -3365,226 +3829,246 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/questions.html:147 +#: skins/default/templates/questions.html:139 #, python-format msgid "%(q_num)s question" msgid_plural "%(q_num)s questions" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/questions.html:151 +#: skins/default/templates/questions.html:143 #, python-format msgid "with %(author_name)s's contributions" msgstr "" -#: forum/skins/default/templates/questions.html:155 +#: skins/default/templates/questions.html:147 msgid "tagged" msgstr "" -#: forum/skins/default/templates/questions.html:161 +#: skins/default/templates/questions.html:153 msgid "Search tips:" msgstr "" -#: forum/skins/default/templates/questions.html:165 +#: skins/default/templates/questions.html:157 msgid "reset author" msgstr "" -#: forum/skins/default/templates/questions.html:169 +#: skins/default/templates/questions.html:161 msgid "reset tags" msgstr "" -#: forum/skins/default/templates/questions.html:173 -#: forum/skins/default/templates/questions.html:177 +#: skins/default/templates/questions.html:165 +#: skins/default/templates/questions.html:169 msgid "start over" msgstr "" -#: forum/skins/default/templates/questions.html:179 +#: skins/default/templates/questions.html:171 msgid " - to expand, or dig in by adding more tags and revising the query." msgstr "" -#: forum/skins/default/templates/questions.html:182 +#: skins/default/templates/questions.html:174 msgid "Search tip:" msgstr "" -#: forum/skins/default/templates/questions.html:182 +#: skins/default/templates/questions.html:174 msgid "add tags and a query to focus your search" msgstr "" -#: forum/skins/default/templates/questions.html:194 +#: skins/default/templates/questions.html:190 +msgid "vote" +msgid_plural "votes" +msgstr[0] "" +msgstr[1] "" + +#: skins/default/templates/questions.html:214 +msgid "view" +msgid_plural "views" +msgstr[0] "" +msgstr[1] "" + +#: skins/default/templates/questions.html:238 msgid "There are no unanswered questions here" msgstr "" -#: forum/skins/default/templates/questions.html:197 +#: skins/default/templates/questions.html:241 msgid "No favorite questions here. " msgstr "" -#: forum/skins/default/templates/questions.html:198 +#: skins/default/templates/questions.html:242 msgid "Please start (bookmark) some questions when you visit them" msgstr "" -#: forum/skins/default/templates/questions.html:203 +#: skins/default/templates/questions.html:247 msgid "You can expand your search by " msgstr "" -#: forum/skins/default/templates/questions.html:207 +#: skins/default/templates/questions.html:251 msgid "resetting author" msgstr "" -#: forum/skins/default/templates/questions.html:211 +#: skins/default/templates/questions.html:255 msgid "resetting tags" msgstr "" -#: forum/skins/default/templates/questions.html:215 -#: forum/skins/default/templates/questions.html:219 +#: skins/default/templates/questions.html:259 +#: skins/default/templates/questions.html:263 msgid "starting over" msgstr "" -#: forum/skins/default/templates/questions.html:224 +#: skins/default/templates/questions.html:268 msgid "Please always feel free to ask your question!" msgstr "" -#: forum/skins/default/templates/questions.html:228 +#: skins/default/templates/questions.html:272 msgid "Did not find what you were looking for?" msgstr "" -#: forum/skins/default/templates/questions.html:229 +#: skins/default/templates/questions.html:273 msgid "Please, post your question!" msgstr "" -#: forum/skins/default/templates/questions.html:245 +#: skins/default/templates/questions.html:291 msgid "Contributors" msgstr "" -#: forum/skins/default/templates/questions.html:258 +#: skins/default/templates/questions.html:307 msgid "Related tags" msgstr "Tags" -#: forum/skins/default/templates/reopen.html:6 -#: forum/skins/default/templates/reopen.html:16 +#: skins/default/templates/reopen.html:6 +#: skins/default/templates/reopen.html:16 msgid "Reopen question" msgstr "" -#: forum/skins/default/templates/reopen.html:19 -msgid "Open the previously closed question" +#: skins/default/templates/reopen.html:19 +msgid "Title" msgstr "" -#: forum/skins/default/templates/reopen.html:22 -msgid "The question was closed for the following reason " +#: skins/default/templates/reopen.html:24 +#, python-format +msgid "" +"This question has been closed by \n" +" %(closed_by_username)s\n" +" " msgstr "" -#: forum/skins/default/templates/reopen.html:22 -msgid "reason - leave blank in english" +#: skins/default/templates/reopen.html:29 +msgid "Close reason:" msgstr "" -#: forum/skins/default/templates/reopen.html:22 -msgid "on " +#: skins/default/templates/reopen.html:32 +msgid "When:" msgstr "" -#: forum/skins/default/templates/reopen.html:22 -msgid "date closed" +#: skins/default/templates/reopen.html:35 +msgid "Reopen this question?" msgstr "" -#: forum/skins/default/templates/reopen.html:29 +#: skins/default/templates/reopen.html:39 msgid "Reopen this question" msgstr "" -#: forum/skins/default/templates/revisions_answer.html:7 -#: forum/skins/default/templates/revisions_answer.html:38 -#: forum/skins/default/templates/revisions_question.html:8 -#: forum/skins/default/templates/revisions_question.html:38 +#: skins/default/templates/revisions_answer.html:7 +#: skins/default/templates/revisions_answer.html:38 +#: skins/default/templates/revisions_question.html:8 +#: skins/default/templates/revisions_question.html:38 msgid "Revision history" msgstr "" -#: forum/skins/default/templates/revisions_answer.html:50 -#: forum/skins/default/templates/revisions_question.html:50 +#: skins/default/templates/revisions_answer.html:50 +#: skins/default/templates/revisions_question.html:50 msgid "click to hide/show revision" msgstr "" -#: forum/skins/default/templates/tag_selector.html:5 +#: skins/default/templates/tag_selector.html:5 msgid "Interesting tags" msgstr "" -#: forum/skins/default/templates/tag_selector.html:15 +#: skins/default/templates/tag_selector.html:15 #, python-format msgid "remove '%(tag_name)s' from the list of interesting tags" msgstr "" -#: forum/skins/default/templates/tag_selector.html:21 -#: forum/skins/default/templates/tag_selector.html:38 +#: skins/default/templates/tag_selector.html:21 +#: skins/default/templates/tag_selector.html:38 +#: skins/default/templates/user_moderate.html:31 msgid "Add" msgstr "" -#: forum/skins/default/templates/tag_selector.html:22 +#: skins/default/templates/tag_selector.html:22 msgid "Ignored tags" msgstr "" -#: forum/skins/default/templates/tag_selector.html:32 +#: skins/default/templates/tag_selector.html:32 #, python-format msgid "remove '%(tag_name)s' from the list of ignored tags" msgstr "" -#: forum/skins/default/templates/tag_selector.html:41 +#: skins/default/templates/tag_selector.html:41 msgid "keep ignored questions hidden" msgstr "" -#: forum/skins/default/templates/tags.html:6 -#: forum/skins/default/templates/tags.html:30 +#: skins/default/templates/tags.html:6 skins/default/templates/tags.html:30 msgid "Tag list" msgstr "" -#: forum/skins/default/templates/tags.html:32 +#: skins/default/templates/tags.html:32 msgid "sorted alphabetically" msgstr "" -#: forum/skins/default/templates/tags.html:32 +#: skins/default/templates/tags.html:32 msgid "by name" msgstr "" -#: forum/skins/default/templates/tags.html:33 +#: skins/default/templates/tags.html:33 msgid "sorted by frequency of tag use" msgstr "" -#: forum/skins/default/templates/tags.html:33 +#: skins/default/templates/tags.html:33 msgid "by popularity" msgstr "" -#: forum/skins/default/templates/tags.html:39 +#: skins/default/templates/tags.html:39 #, python-format msgid "" "All tags matching '%(stag)s'" msgstr "" -#: forum/skins/default/templates/tags.html:42 +#: skins/default/templates/tags.html:42 msgid "Nothing found" msgstr "" -#: forum/skins/default/templates/user_edit.html:6 +#: skins/default/templates/user.html:34 +#, python-format +msgid "%(username)s's profile" +msgstr "" + +#: skins/default/templates/user_edit.html:6 msgid "Edit user profile" msgstr "" -#: forum/skins/default/templates/user_edit.html:19 +#: skins/default/templates/user_edit.html:19 msgid "edit profile" msgstr "" -#: forum/skins/default/templates/user_edit.html:33 -#: forum/skins/default/templates/user_info.html:53 +#: skins/default/templates/user_edit.html:33 msgid "Registered user" msgstr "" -#: forum/skins/default/templates/user_edit.html:40 +#: skins/default/templates/user_edit.html:40 msgid "Screen Name" msgstr "" -#: forum/skins/default/templates/user_edit.html:89 -#: forum/skins/default/templates/user_email_subscriptions.html:20 +#: skins/default/templates/user_edit.html:88 +#: skins/default/templates/user_email_subscriptions.html:20 msgid "Update" msgstr "" -#: forum/skins/default/templates/user_email_subscriptions.html:8 +#: skins/default/templates/user_email_subscriptions.html:8 msgid "Email subscription settings" msgstr "" -#: forum/skins/default/templates/user_email_subscriptions.html:9 +#: skins/default/templates/user_email_subscriptions.html:9 msgid "email subscription settings info" msgstr "" "Adjust frequency of email updates. Receive " @@ -3593,242 +4077,272 @@ msgstr "" "receive emails - select 'no email' on all items below.
Updates are only " "sent when there is any new activity on selected items." -#: forum/skins/default/templates/user_email_subscriptions.html:21 +#: skins/default/templates/user_email_subscriptions.html:21 msgid "Stop sending email" msgstr "Stop Email" -#: forum/skins/default/templates/user_info.html:18 +#: skins/default/templates/user_info.html:15 msgid "change picture" msgstr "" -#: forum/skins/default/templates/user_info.html:25 -#: forum/skins/default/templates/users.html:26 forum/views/users.py:959 +#: skins/default/templates/user_info.html:22 +#: skins/default/templates/users.html:26 msgid "reputation" msgstr "karma" -#: forum/skins/default/templates/user_info.html:35 -msgid "Moderate this user" -msgstr "" - -#: forum/skins/default/templates/user_info.html:47 +#: skins/default/templates/user_info.html:33 msgid "update profile" msgstr "" -#: forum/skins/default/templates/user_info.html:57 +#: skins/default/templates/user_info.html:45 msgid "real name" msgstr "" -#: forum/skins/default/templates/user_info.html:62 +#: skins/default/templates/user_info.html:50 msgid "member for" msgstr "member since" -#: forum/skins/default/templates/user_info.html:67 +#: skins/default/templates/user_info.html:55 msgid "last seen" msgstr "" -#: forum/skins/default/templates/user_info.html:73 +#: skins/default/templates/user_info.html:61 msgid "user website" msgstr "" -#: forum/skins/default/templates/user_info.html:79 +#: skins/default/templates/user_info.html:67 msgid "location" msgstr "" -#: forum/skins/default/templates/user_info.html:86 +#: skins/default/templates/user_info.html:74 msgid "age" msgstr "" -#: forum/skins/default/templates/user_info.html:87 +#: skins/default/templates/user_info.html:75 msgid "age unit" msgstr "years old" -#: forum/skins/default/templates/user_info.html:93 +#: skins/default/templates/user_info.html:81 msgid "todays unused votes" msgstr "" -#: forum/skins/default/templates/user_info.html:94 +#: skins/default/templates/user_info.html:82 msgid "votes left" msgstr "" -#: forum/skins/default/templates/user_reputation.html:29 +#: skins/default/templates/user_moderate.html:7 +#, python-format +msgid "%(username)s's current status is \"%(status)s\"" +msgstr "" + +#: skins/default/templates/user_moderate.html:14 +msgid "Save" +msgstr "" + +#: skins/default/templates/user_moderate.html:20 +#, python-format +msgid "Your current reputation is %(reputation)s points" +msgstr "" + +#: skins/default/templates/user_moderate.html:22 +#, python-format +msgid "User's current reputation is %(reputation)s points" +msgstr "" + +#: skins/default/templates/user_moderate.html:30 +msgid "Subtract" +msgstr "" + +#: skins/default/templates/user_reputation.html:29 msgid "Your karma change log." msgstr "" -#: forum/skins/default/templates/user_reputation.html:31 +#: skins/default/templates/user_reputation.html:31 #, python-format msgid "%(user_name)s's karma change log" msgstr "" -#: forum/skins/default/templates/user_stats.html:11 +#: skins/default/templates/user_stats.html:11 #, python-format msgid "%(counter)s Question" msgid_plural "%(counter)s Questions" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/user_stats.html:16 +#: skins/default/templates/user_stats.html:16 #, python-format msgid "%(counter)s Answer" msgid_plural "%(counter)s Answers" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/user_stats.html:24 +#: skins/default/templates/user_stats.html:24 #, python-format msgid "the answer has been voted for %(answer_score)s times" msgstr "" -#: forum/skins/default/templates/user_stats.html:24 +#: skins/default/templates/user_stats.html:24 msgid "this answer has been selected as correct" msgstr "" -#: forum/skins/default/templates/user_stats.html:34 +#: skins/default/templates/user_stats.html:34 #, python-format msgid "(%(comment_count)s comment)" msgid_plural "the answer has been commented %(comment_count)s times" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/user_stats.html:44 +#: skins/default/templates/user_stats.html:44 #, python-format msgid "%(cnt)s Vote" msgid_plural "%(cnt)s Votes " msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/user_stats.html:50 +#: skins/default/templates/user_stats.html:50 msgid "thumb up" msgstr "" -#: forum/skins/default/templates/user_stats.html:51 +#: skins/default/templates/user_stats.html:51 msgid "user has voted up this many times" msgstr "" -#: forum/skins/default/templates/user_stats.html:55 +#: skins/default/templates/user_stats.html:55 msgid "thumb down" msgstr "" -#: forum/skins/default/templates/user_stats.html:56 +#: skins/default/templates/user_stats.html:56 msgid "user voted down this many times" msgstr "" -#: forum/skins/default/templates/user_stats.html:64 +#: skins/default/templates/user_stats.html:64 #, python-format msgid "%(counter)s Tag" msgid_plural "%(counter)s Tags" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/user_stats.html:72 +#: skins/default/templates/user_stats.html:72 #, python-format msgid "" "see other questions with %(view_user)s's contributions tagged '%(tag_name)s' " msgstr "" -#: forum/skins/default/templates/user_stats.html:86 +#: skins/default/templates/user_stats.html:86 #, python-format msgid "%(counter)s Badge" msgid_plural "%(counter)s Badges" msgstr[0] "" msgstr[1] "" -#: forum/skins/default/templates/user_tabs.html:7 +#: skins/default/templates/user_tabs.html:8 msgid "User profile" msgstr "" -#: forum/skins/default/templates/user_tabs.html:7 forum/views/users.py:933 +#: skins/default/templates/user_tabs.html:9 msgid "overview" msgstr "" -#: forum/skins/default/templates/user_tabs.html:9 forum/views/users.py:941 +#: skins/default/templates/user_tabs.html:11 msgid "recent activity" msgstr "" -#: forum/skins/default/templates/user_tabs.html:12 forum/views/users.py:951 +#: skins/default/templates/user_tabs.html:12 +msgid "activity" +msgstr "" + +#: skins/default/templates/user_tabs.html:15 views/users.py:740 msgid "comments and answers to others questions" msgstr "" -#: forum/skins/default/templates/user_tabs.html:13 forum/views/users.py:950 +#: skins/default/templates/user_tabs.html:16 msgid "responses" msgstr "" -#: forum/skins/default/templates/user_tabs.html:16 +#: skins/default/templates/user_tabs.html:19 msgid "graph of user reputation" msgstr "Graph of user karma" -#: forum/skins/default/templates/user_tabs.html:17 +#: skins/default/templates/user_tabs.html:20 msgid "reputation history" msgstr "karma history" -#: forum/skins/default/templates/user_tabs.html:20 forum/views/users.py:977 +#: skins/default/templates/user_tabs.html:23 views/users.py:804 msgid "user vote record" msgstr "" -#: forum/skins/default/templates/user_tabs.html:20 forum/views/users.py:976 +#: skins/default/templates/user_tabs.html:24 msgid "casted votes" msgstr "votes" -#: forum/skins/default/templates/user_tabs.html:23 +#: skins/default/templates/user_tabs.html:27 msgid "questions that user selected as his/her favorite" msgstr "" -#: forum/skins/default/templates/user_tabs.html:24 +#: skins/default/templates/user_tabs.html:28 msgid "favorites" msgstr "" -#: forum/skins/default/templates/user_tabs.html:27 forum/views/users.py:986 +#: skins/default/templates/user_tabs.html:31 views/users.py:929 msgid "email subscription settings" msgstr "" -#: forum/skins/default/templates/user_tabs.html:28 forum/views/users.py:985 -msgid "email subscriptions" -msgstr "subscriptions" +#: skins/default/templates/user_tabs.html:32 +msgid "subscriptions" +msgstr "" + +#: skins/default/templates/user_tabs.html:36 views/users.py:187 +msgid "moderate this user" +msgstr "" + +#: skins/default/templates/user_tabs.html:37 +msgid "moderation" +msgstr "" -#: forum/skins/default/templates/users.html:6 -#: forum/skins/default/templates/users.html:24 +#: skins/default/templates/users.html:6 skins/default/templates/users.html:24 msgid "Users" msgstr "" -#: forum/skins/default/templates/users.html:27 +#: skins/default/templates/users.html:27 msgid "recent" msgstr "" -#: forum/skins/default/templates/users.html:29 +#: skins/default/templates/users.html:29 msgid "by username" msgstr "" -#: forum/skins/default/templates/users.html:35 +#: skins/default/templates/users.html:35 #, python-format msgid "users matching query %(suser)s:" msgstr "" -#: forum/skins/default/templates/users.html:39 +#: skins/default/templates/users.html:39 msgid "Nothing found." msgstr "" -#: forum/skins/default/templates/users_questions.html:11 +#: skins/default/templates/users_questions.html:11 msgid "this questions was selected as favorite" msgstr "" -#: forum/skins/default/templates/users_questions.html:12 +#: skins/default/templates/users_questions.html:12 msgid "thumb-up on" msgstr "" -#: forum/skins/default/templates/users_questions.html:19 +#: skins/default/templates/users_questions.html:19 msgid "thumb-up off" msgstr "" -#: forum/skins/default/templates/authopenid/changeemail.html:3 -#: forum/skins/default/templates/authopenid/changeemail.html:9 -#: forum/skins/default/templates/authopenid/changeemail.html:38 +#: skins/default/templates/authopenid/changeemail.html:3 +#: skins/default/templates/authopenid/changeemail.html:9 +#: skins/default/templates/authopenid/changeemail.html:38 msgid "Change email" msgstr "Change Email" -#: forum/skins/default/templates/authopenid/changeemail.html:11 +#: skins/default/templates/authopenid/changeemail.html:11 msgid "Save your email address" msgstr "" -#: forum/skins/default/templates/authopenid/changeemail.html:16 +#: skins/default/templates/authopenid/changeemail.html:16 #, python-format msgid "change %(email)s info" msgstr "" @@ -3836,7 +4350,7 @@ msgstr "" "you'd like to use another email for update subscriptions." "
Currently you are using %(email)s" -#: forum/skins/default/templates/authopenid/changeemail.html:18 +#: skins/default/templates/authopenid/changeemail.html:18 #, python-format msgid "here is why email is required, see %(gravatar_faq_url)s" msgstr "" @@ -3847,26 +4361,26 @@ msgstr "" "(gravatar_faq_url)s'>gravatar image for your account. " "Email addresses are never shown or otherwise shared with anybody else." -#: forum/skins/default/templates/authopenid/changeemail.html:31 +#: skins/default/templates/authopenid/changeemail.html:31 msgid "Your new Email" msgstr "" "Your new Email: (will not be shown to " "anyone, must be valid)" -#: forum/skins/default/templates/authopenid/changeemail.html:31 +#: skins/default/templates/authopenid/changeemail.html:31 msgid "Your Email" msgstr "" "Your Email (must be valid, never shown to others)" -#: forum/skins/default/templates/authopenid/changeemail.html:38 +#: skins/default/templates/authopenid/changeemail.html:38 msgid "Save Email" msgstr "" -#: forum/skins/default/templates/authopenid/changeemail.html:49 +#: skins/default/templates/authopenid/changeemail.html:49 msgid "Validate email" msgstr "" -#: forum/skins/default/templates/authopenid/changeemail.html:52 +#: skins/default/templates/authopenid/changeemail.html:52 #, python-format msgid "validate %(email)s info or go to %(change_email_url)s" msgstr "" @@ -3877,11 +4391,11 @@ msgstr "" "another email, please change it again." -#: forum/skins/default/templates/authopenid/changeemail.html:57 +#: skins/default/templates/authopenid/changeemail.html:57 msgid "Email not changed" msgstr "" -#: forum/skins/default/templates/authopenid/changeemail.html:60 +#: skins/default/templates/authopenid/changeemail.html:60 #, python-format msgid "old %(email)s kept, if you like go to %(change_email_url)s" msgstr "" @@ -3890,11 +4404,11 @@ msgstr "" "it in your user profile or by using the previous form again." -#: forum/skins/default/templates/authopenid/changeemail.html:65 +#: skins/default/templates/authopenid/changeemail.html:65 msgid "Email changed" msgstr "" -#: forum/skins/default/templates/authopenid/changeemail.html:68 +#: skins/default/templates/authopenid/changeemail.html:68 #, python-format msgid "your current %(email)s can be used for this" msgstr "" @@ -3903,11 +4417,11 @@ msgstr "" "Email notifications are sent once a day or less frequently - only when there " "are any news." -#: forum/skins/default/templates/authopenid/changeemail.html:73 +#: skins/default/templates/authopenid/changeemail.html:73 msgid "Email verified" msgstr "" -#: forum/skins/default/templates/authopenid/changeemail.html:76 +#: skins/default/templates/authopenid/changeemail.html:76 msgid "thanks for verifying email" msgstr "" "Thank you for verifying your email! Now " @@ -3916,11 +4430,11 @@ msgstr "" "updates - then will be notified about changes once a day or less frequently." -#: forum/skins/default/templates/authopenid/changeemail.html:81 +#: skins/default/templates/authopenid/changeemail.html:81 msgid "email key not sent" msgstr "Validation email not sent" -#: forum/skins/default/templates/authopenid/changeemail.html:84 +#: skins/default/templates/authopenid/changeemail.html:84 #, python-format msgid "email key not sent %(email)s change email here %(change_link)s" msgstr "" @@ -3928,44 +4442,44 @@ msgstr "" "validated before so the new key was not sent. You can change email used for update subscriptions if necessary." -#: forum/skins/default/templates/authopenid/changeopenid.html:8 +#: skins/default/templates/authopenid/changeopenid.html:8 msgid "Account: change OpenID URL" msgstr "" -#: forum/skins/default/templates/authopenid/changeopenid.html:12 +#: skins/default/templates/authopenid/changeopenid.html:12 msgid "" "This is where you can change your OpenID URL. Make sure you remember it!" msgstr "" -#: forum/skins/default/templates/authopenid/changeopenid.html:14 -#: forum/skins/default/templates/authopenid/delete.html:14 -#: forum/skins/default/templates/authopenid/delete.html:24 +#: skins/default/templates/authopenid/changeopenid.html:14 +#: skins/default/templates/authopenid/delete.html:14 +#: skins/default/templates/authopenid/delete.html:24 msgid "Please correct errors below:" msgstr "" -#: forum/skins/default/templates/authopenid/changeopenid.html:29 +#: skins/default/templates/authopenid/changeopenid.html:29 msgid "OpenID URL:" msgstr "" -#: forum/skins/default/templates/authopenid/changepw.html:7 +#: skins/default/templates/authopenid/changepw.html:7 msgid "Account: change password" msgstr "Change your password" -#: forum/skins/default/templates/authopenid/changepw.html:8 +#: skins/default/templates/authopenid/changepw.html:8 msgid "This is where you can change your password. Make sure you remember it!" msgstr "" "To change your password please fill out and " "submit this form" -#: forum/skins/default/templates/authopenid/complete.html:19 +#: skins/default/templates/authopenid/complete.html:19 msgid "Connect your OpenID with this site" msgstr "New user signup" -#: forum/skins/default/templates/authopenid/complete.html:22 +#: skins/default/templates/authopenid/complete.html:22 msgid "Connect your OpenID with your account on this site" msgstr "New user signup" -#: forum/skins/default/templates/authopenid/complete.html:27 +#: skins/default/templates/authopenid/complete.html:27 #, python-format msgid "register new %(provider)s account info, see %(gravatar_faq_url)s" msgstr "" @@ -3976,7 +4490,7 @@ msgstr "" "questions and will be used to create and retrieve your unique avatar image - " "gravatar.

" -#: forum/skins/default/templates/authopenid/complete.html:31 +#: skins/default/templates/authopenid/complete.html:31 #, python-format msgid "" "%(username)s already exists, choose another name for \n" @@ -3993,7 +4507,7 @@ msgstr "" "updates on the interesting questions or entire forum by email. " "Email addresses are never shown or otherwise shared with anybody else.

" -#: forum/skins/default/templates/authopenid/complete.html:35 +#: skins/default/templates/authopenid/complete.html:35 #, python-format msgid "" "register new external %(provider)s account info, see %(gravatar_faq_url)s" @@ -4007,7 +4521,7 @@ msgstr "" "retrieve your unique avatar image - gravatar.

" -#: forum/skins/default/templates/authopenid/complete.html:38 +#: skins/default/templates/authopenid/complete.html:38 #, python-format msgid "register new Facebook connect account info, see %(gravatar_faq_url)s" msgstr "" @@ -4018,26 +4532,26 @@ msgstr "" "and will be used to create and retrieve your unique avatar image - gravatar.

" -#: forum/skins/default/templates/authopenid/complete.html:42 +#: skins/default/templates/authopenid/complete.html:42 msgid "This account already exists, please use another." msgstr "" -#: forum/skins/default/templates/authopenid/complete.html:57 +#: skins/default/templates/authopenid/complete.html:57 msgid "Sorry, looks like we have some errors:" msgstr "" -#: forum/skins/default/templates/authopenid/complete.html:82 +#: skins/default/templates/authopenid/complete.html:82 msgid "Screen name label" msgstr "Screen Name (will be shown to others)" -#: forum/skins/default/templates/authopenid/complete.html:89 +#: skins/default/templates/authopenid/complete.html:89 msgid "Email address label" msgstr "" "Email Address (will not be shared with " "anyone, must be valid)" -#: forum/skins/default/templates/authopenid/complete.html:95 -#: forum/skins/default/templates/authopenid/signup.html:18 +#: skins/default/templates/authopenid/complete.html:95 +#: skins/default/templates/authopenid/signup.html:18 msgid "receive updates motivational blurb" msgstr "" "Receive forum updates by email - this will help our " @@ -4046,64 +4560,64 @@ msgstr "" "week - only when there is anything new.
If you like, please " "adjust this now or any time later from your user account." -#: forum/skins/default/templates/authopenid/complete.html:99 -#: forum/skins/default/templates/authopenid/signup.html:22 +#: skins/default/templates/authopenid/complete.html:99 +#: skins/default/templates/authopenid/signup.html:22 msgid "please select one of the options above" msgstr "" -#: forum/skins/default/templates/authopenid/complete.html:102 +#: skins/default/templates/authopenid/complete.html:102 msgid "Tag filter tool will be your right panel, once you log in." msgstr "" -#: forum/skins/default/templates/authopenid/complete.html:103 +#: skins/default/templates/authopenid/complete.html:103 msgid "create account" msgstr "Signup" -#: forum/skins/default/templates/authopenid/complete.html:112 +#: skins/default/templates/authopenid/complete.html:112 msgid "Existing account" msgstr "" -#: forum/skins/default/templates/authopenid/complete.html:113 +#: skins/default/templates/authopenid/complete.html:113 msgid "user name" msgstr "" -#: forum/skins/default/templates/authopenid/complete.html:114 +#: skins/default/templates/authopenid/complete.html:114 msgid "password" msgstr "" -#: forum/skins/default/templates/authopenid/complete.html:121 +#: skins/default/templates/authopenid/complete.html:121 msgid "Register" msgstr "" -#: forum/skins/default/templates/authopenid/complete.html:122 -#: forum/skins/default/templates/authopenid/signin.html:168 +#: skins/default/templates/authopenid/complete.html:122 +#: skins/default/templates/authopenid/signin.html:168 msgid "Forgot your password?" msgstr "" -#: forum/skins/default/templates/authopenid/confirm_email.txt:2 +#: skins/default/templates/authopenid/confirm_email.txt:2 msgid "Thank you for registering at our Q&A forum!" msgstr "" -#: forum/skins/default/templates/authopenid/confirm_email.txt:4 +#: skins/default/templates/authopenid/confirm_email.txt:4 msgid "Your account details are:" msgstr "" -#: forum/skins/default/templates/authopenid/confirm_email.txt:6 +#: skins/default/templates/authopenid/confirm_email.txt:6 msgid "Username:" msgstr "" -#: forum/skins/default/templates/authopenid/confirm_email.txt:7 -#: forum/skins/default/templates/authopenid/delete.html:19 +#: skins/default/templates/authopenid/confirm_email.txt:7 +#: skins/default/templates/authopenid/delete.html:19 msgid "Password:" msgstr "" -#: forum/skins/default/templates/authopenid/confirm_email.txt:9 +#: skins/default/templates/authopenid/confirm_email.txt:9 msgid "Please sign in here:" msgstr "" -#: forum/skins/default/templates/authopenid/confirm_email.txt:12 -#: forum/skins/default/templates/authopenid/email_validation.txt:14 -#: forum/skins/default/templates/authopenid/sendpw_email.txt:8 +#: skins/default/templates/authopenid/confirm_email.txt:12 +#: skins/default/templates/authopenid/email_validation.txt:14 +#: skins/default/templates/authopenid/sendpw_email.txt:8 msgid "" "Sincerely,\n" "Forum Administrator" @@ -4111,73 +4625,73 @@ msgstr "" "Sincerely,\n" "Q&A Forum Administrator" -#: forum/skins/default/templates/authopenid/delete.html:8 +#: skins/default/templates/authopenid/delete.html:8 msgid "Account: delete account" msgstr "" -#: forum/skins/default/templates/authopenid/delete.html:12 +#: skins/default/templates/authopenid/delete.html:12 msgid "" "Note: After deleting your account, anyone will be able to register this " "username." msgstr "" -#: forum/skins/default/templates/authopenid/delete.html:16 +#: skins/default/templates/authopenid/delete.html:16 msgid "Check confirm box, if you want delete your account." msgstr "" -#: forum/skins/default/templates/authopenid/delete.html:31 +#: skins/default/templates/authopenid/delete.html:31 msgid "I am sure I want to delete my account." msgstr "" -#: forum/skins/default/templates/authopenid/delete.html:32 +#: skins/default/templates/authopenid/delete.html:32 msgid "Password/OpenID URL" msgstr "" -#: forum/skins/default/templates/authopenid/delete.html:32 +#: skins/default/templates/authopenid/delete.html:32 msgid "(required for your security)" msgstr "" -#: forum/skins/default/templates/authopenid/delete.html:34 +#: skins/default/templates/authopenid/delete.html:34 msgid "Delete account permanently" msgstr "" -#: forum/skins/default/templates/authopenid/email_validation.txt:2 +#: skins/default/templates/authopenid/email_validation.txt:2 msgid "Greetings from the Q&A forum" msgstr "" -#: forum/skins/default/templates/authopenid/email_validation.txt:4 +#: skins/default/templates/authopenid/email_validation.txt:4 msgid "To make use of the Forum, please follow the link below:" msgstr "" -#: forum/skins/default/templates/authopenid/email_validation.txt:8 +#: skins/default/templates/authopenid/email_validation.txt:8 msgid "Following the link above will help us verify your email address." msgstr "" -#: forum/skins/default/templates/authopenid/email_validation.txt:10 +#: skins/default/templates/authopenid/email_validation.txt:10 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 "" -#: forum/skins/default/templates/authopenid/external_legacy_login_info.html:4 -#: forum/skins/default/templates/authopenid/external_legacy_login_info.html:7 +#: skins/default/templates/authopenid/external_legacy_login_info.html:4 +#: skins/default/templates/authopenid/external_legacy_login_info.html:7 msgid "Traditional login information" msgstr "" -#: forum/skins/default/templates/authopenid/external_legacy_login_info.html:12 +#: skins/default/templates/authopenid/external_legacy_login_info.html:12 #, python-format msgid "" "how to login with password through external login website or use %" "(feedback_url)s" msgstr "" -#: forum/skins/default/templates/authopenid/sendpw.html:4 -#: forum/skins/default/templates/authopenid/sendpw.html:7 +#: skins/default/templates/authopenid/sendpw.html:4 +#: skins/default/templates/authopenid/sendpw.html:7 msgid "Send new password" msgstr "Recover password" -#: forum/skins/default/templates/authopenid/sendpw.html:10 +#: skins/default/templates/authopenid/sendpw.html:10 msgid "password recovery information" msgstr "" "Forgot you password? No problems - just get a new " @@ -4187,22 +4701,22 @@ msgstr "" "login with the suggested password
• at this you might want to " "change your password to something you can remember better" -#: forum/skins/default/templates/authopenid/sendpw.html:21 +#: skins/default/templates/authopenid/sendpw.html:21 msgid "Reset password" msgstr "Send me a new password" -#: forum/skins/default/templates/authopenid/sendpw.html:22 +#: skins/default/templates/authopenid/sendpw.html:22 msgid "return to login" msgstr "" -#: forum/skins/default/templates/authopenid/sendpw_email.txt:2 +#: skins/default/templates/authopenid/sendpw_email.txt:2 #, python-format msgid "" "Someone has requested to reset your password on %(site_url)s.\n" "If it were not you, it is safe to ignore this email." msgstr "" -#: forum/skins/default/templates/authopenid/sendpw_email.txt:5 +#: skins/default/templates/authopenid/sendpw_email.txt:5 #, python-format msgid "" "email explanation how to use new %(password)s for %(username)s\n" @@ -4213,12 +4727,12 @@ msgstr "" "* login with user name %(username)s and password %(password)s\n" "* go to your user profile and set the password to something you can remember" -#: forum/skins/default/templates/authopenid/signin.html:5 -#: forum/skins/default/templates/authopenid/signin.html:21 +#: skins/default/templates/authopenid/signin.html:5 +#: skins/default/templates/authopenid/signin.html:21 msgid "User login" msgstr "User login" -#: forum/skins/default/templates/authopenid/signin.html:28 +#: skins/default/templates/authopenid/signin.html:28 #, python-format msgid "" "\n" @@ -4231,7 +4745,7 @@ msgstr "" "strong> %(summary)s...\" is saved and will be " "posted once you log in." -#: forum/skins/default/templates/authopenid/signin.html:35 +#: skins/default/templates/authopenid/signin.html:35 #, python-format msgid "" "Your question \n" @@ -4242,7 +4756,7 @@ msgstr "" "strong> %(summary)s...\" is saved and will be " "posted once you log in." -#: forum/skins/default/templates/authopenid/signin.html:42 +#: skins/default/templates/authopenid/signin.html:42 msgid "Click to sign in through any of these services." msgstr "" "

Please select your favorite login method below." @@ -4260,14 +4774,14 @@ msgstr "" # "have to remember another one. " # "Askbot option requires your login name and " # "password entered here.

" -#: forum/skins/default/templates/authopenid/signin.html:144 +#: skins/default/templates/authopenid/signin.html:144 msgid "Enter your Provider user name" msgstr "" "Enter your Provider user name
(or " "select another login method above)" -#: forum/skins/default/templates/authopenid/signin.html:151 +#: skins/default/templates/authopenid/signin.html:151 msgid "" "Enter your OpenID " "web address" @@ -4276,68 +4790,68 @@ msgstr "" "openid.net\">OpenID web address

(or choose " "another login method above)" -#: forum/skins/default/templates/authopenid/signin.html:153 -#: forum/skins/default/templates/authopenid/signin.html:166 +#: skins/default/templates/authopenid/signin.html:153 +#: skins/default/templates/authopenid/signin.html:166 msgid "Login" msgstr "" -#: forum/skins/default/templates/authopenid/signin.html:157 +#: skins/default/templates/authopenid/signin.html:157 msgid "Enter your login name and password" msgstr "" "Enter your Askbot login and password
(or select your OpenID provider above)" -#: forum/skins/default/templates/authopenid/signin.html:161 +#: skins/default/templates/authopenid/signin.html:161 msgid "Login name" msgstr "" -#: forum/skins/default/templates/authopenid/signin.html:163 +#: skins/default/templates/authopenid/signin.html:163 msgid "Password" msgstr "" -#: forum/skins/default/templates/authopenid/signin.html:167 +#: skins/default/templates/authopenid/signin.html:167 msgid "Create account" msgstr "" -#: forum/skins/default/templates/authopenid/signin.html:178 +#: skins/default/templates/authopenid/signin.html:178 msgid "Why use OpenID?" msgstr "" -#: forum/skins/default/templates/authopenid/signin.html:181 +#: skins/default/templates/authopenid/signin.html:181 msgid "with openid it is easier" msgstr "With the OpenID you don't need to create new username and password." -#: forum/skins/default/templates/authopenid/signin.html:184 +#: skins/default/templates/authopenid/signin.html:184 msgid "reuse openid" msgstr "You can safely re-use the same login for all OpenID-enabled websites." -#: forum/skins/default/templates/authopenid/signin.html:187 +#: skins/default/templates/authopenid/signin.html:187 msgid "openid is widely adopted" msgstr "" "There are > 160,000,000 OpenID account in use. Over 10,000 sites are OpenID-" "enabled." -#: forum/skins/default/templates/authopenid/signin.html:190 +#: skins/default/templates/authopenid/signin.html:190 msgid "openid is supported open standard" msgstr "OpenID is based on an open standard, supported by many organizations." -#: forum/skins/default/templates/authopenid/signin.html:195 +#: skins/default/templates/authopenid/signin.html:195 msgid "Find out more" msgstr "" -#: forum/skins/default/templates/authopenid/signin.html:196 +#: skins/default/templates/authopenid/signin.html:196 msgid "Get OpenID" msgstr "" -#: forum/skins/default/templates/authopenid/signup.html:4 +#: skins/default/templates/authopenid/signup.html:4 msgid "Signup" msgstr "" -#: forum/skins/default/templates/authopenid/signup.html:8 +#: skins/default/templates/authopenid/signup.html:8 msgid "Create login name and password" msgstr "" -#: forum/skins/default/templates/authopenid/signup.html:10 +#: skins/default/templates/authopenid/signup.html:10 msgid "Traditional signup info" msgstr "" "If you prefer, create your forum login name and " @@ -4346,383 +4860,327 @@ msgstr "" "simply reuse your external login (e.g. Gmail or AOL) without ever sharing " "your login details with anyone and having to remember yet another password." -#: forum/skins/default/templates/authopenid/signup.html:25 +#: skins/default/templates/authopenid/signup.html:25 msgid "" "Please read and type in the two words below to help us prevent automated " "account creation." msgstr "" -#: forum/skins/default/templates/authopenid/signup.html:27 +#: skins/default/templates/authopenid/signup.html:27 msgid "Create Account" msgstr "" -#: forum/skins/default/templates/authopenid/signup.html:28 +#: skins/default/templates/authopenid/signup.html:28 msgid "or" msgstr "" -#: forum/skins/default/templates/authopenid/signup.html:29 +#: skins/default/templates/authopenid/signup.html:29 msgid "return to OpenID login" msgstr "" -#: forum/skins/default/templates/fbconnect/xd_receiver.html:5 +#: skins/default/templates/fbconnect/xd_receiver.html:5 #, python-format msgid "Connect to %(settings.APP_SHORT_NAME)s with Facebook!" msgstr "" -#: forum/templatetags/extra_filters.py:100 +#: templatetags/extra_filters.py:161 msgid "no items in counter" msgstr "no" -#: forum/templatetags/extra_tags.py:53 +#: templatetags/extra_tags.py:55 #, python-format msgid "%(username)s gravatar image" msgstr "" -#: forum/templatetags/extra_tags.py:178 forum/templatetags/extra_tags.py:205 +#: templatetags/extra_tags.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] "" + +#: templatetags/extra_tags.py:188 templatetags/extra_tags.py:235 +#: templatetags/extra_tags.py:239 msgid "reputation points" msgstr "karma" -#: forum/templatetags/extra_tags.py:265 +#: templatetags/extra_tags.py:231 +#, python-format +msgid "your karma is %(reputation)s" +msgstr "" + +#: templatetags/extra_tags.py:247 +msgid "badges: " +msgstr "" + +#: templatetags/extra_tags.py:318 +#, python-format +msgid "on %(date)s" +msgstr "" + +#: templatetags/extra_tags.py:322 msgid "2 days ago" msgstr "" -#: forum/templatetags/extra_tags.py:267 +#: templatetags/extra_tags.py:324 msgid "yesterday" msgstr "" -#: forum/templatetags/extra_tags.py:269 +#: templatetags/extra_tags.py:326 #, python-format msgid "%(hr)d hour ago" msgid_plural "%(hr)d hours ago" msgstr[0] "" msgstr[1] "" -#: forum/templatetags/extra_tags.py:271 +#: templatetags/extra_tags.py:328 #, python-format msgid "%(min)d min ago" msgid_plural "%(min)d mins ago" msgstr[0] "" msgstr[1] "" -#: forum/utils/forms.py:32 +#: utils/forms.py:32 msgid "this field is required" msgstr "" -#: forum/utils/forms.py:46 +#: utils/forms.py:46 msgid "choose a username" msgstr "Choose screen name" -#: forum/utils/forms.py:52 +#: utils/forms.py:52 msgid "user name is required" msgstr "" -#: forum/utils/forms.py:53 +#: utils/forms.py:53 msgid "sorry, this name is taken, please choose another" msgstr "" -#: forum/utils/forms.py:54 +#: utils/forms.py:54 msgid "sorry, this name is not allowed, please choose another" msgstr "" -#: forum/utils/forms.py:55 +#: utils/forms.py:55 msgid "sorry, there is no user with this name" msgstr "" -#: forum/utils/forms.py:56 +#: utils/forms.py:56 msgid "sorry, we have a serious error - user name is taken by several users" msgstr "" -#: forum/utils/forms.py:57 +#: utils/forms.py:57 msgid "user name can only consist of letters, empty space and underscore" msgstr "" -#: forum/utils/forms.py:118 +#: utils/forms.py:118 msgid "your email address" msgstr "Your email (never shared)" -#: forum/utils/forms.py:119 +#: utils/forms.py:119 msgid "email address is required" msgstr "" -#: forum/utils/forms.py:120 +#: utils/forms.py:120 msgid "please enter a valid email address" msgstr "" -#: forum/utils/forms.py:121 +#: utils/forms.py:121 msgid "this email is already used by someone else, please choose another" msgstr "" -#: forum/utils/forms.py:149 +#: utils/forms.py:149 msgid "choose password" msgstr "Password" -#: forum/utils/forms.py:150 +#: utils/forms.py:150 msgid "password is required" msgstr "" -#: forum/utils/forms.py:153 +#: utils/forms.py:153 msgid "retype password" msgstr "Password (please retype)" -#: forum/utils/forms.py:154 +#: utils/forms.py:154 msgid "please, retype your password" msgstr "" -#: forum/utils/forms.py:155 +#: utils/forms.py:155 msgid "sorry, entered passwords did not match, please try again" msgstr "" -#: forum/views/commands.py:218 +#: views/commands.py:40 +msgid "anonymous users cannot vote" +msgstr "Sorry, anonymous users cannot vote" + +#: views/commands.py:60 +msgid "Sorry you ran out of votes for today" +msgstr "" + +#: views/commands.py:66 +#, python-format +msgid "You have %(votes_left)s votes left for today" +msgstr "" + +#: views/commands.py:136 +msgid "Sorry, something is not right here..." +msgstr "" + +#: views/commands.py:151 +msgid "Sorry, but anonymous users cannot accept answers" +msgstr "" + +#: views/commands.py:232 #, python-format msgid "subscription saved, %(email)s needs validation, see %(details_url)s" msgstr "" "Your subscription is saved, but email address %(email)s needs to be " "validated, please see more details here" -#: forum/views/commands.py:226 +#: views/commands.py:240 msgid "email update frequency has been set to daily" msgstr "" -#: forum/views/meta.py:35 +#: views/meta.py:40 msgid "Q&A forum feedback" msgstr "" -#: forum/views/meta.py:36 +#: views/meta.py:41 msgid "Thanks for the feedback!" msgstr "" -#: forum/views/meta.py:44 +#: views/meta.py:49 msgid "We look forward to hearing your feedback! Please, give it next time :)" msgstr "" -#: forum/views/users.py:893 forum/views/users.py:897 -msgid "changes saved" +#: views/readers.py:291 +msgid "Sorry, this question has been deleted and is no longer accessible" msgstr "" -#: forum/views/users.py:903 -msgid "email updates canceled" +#: views/users.py:188 +msgid "moderate user" msgstr "" -#: forum/views/users.py:934 +#: views/users.py:390 msgid "user profile" msgstr "" -#: forum/views/users.py:935 +#: views/users.py:391 msgid "user profile overview" msgstr "" -#: forum/views/users.py:942 +#: views/users.py:673 msgid "recent user activity" msgstr "" -#: forum/views/users.py:943 +#: views/users.py:674 msgid "profile - recent activity" msgstr "" -#: forum/views/users.py:952 +#: views/users.py:741 msgid "profile - responses" msgstr "" -#: forum/views/users.py:960 +#: views/users.py:805 +msgid "profile - votes" +msgstr "" + +#: views/users.py:840 msgid "user reputation in the community" msgstr "user karma" -#: forum/views/users.py:961 +#: views/users.py:841 msgid "profile - user reputation" msgstr "Profile - User's Karma" -#: forum/views/users.py:967 -msgid "favorite questions" -msgstr "" - -#: forum/views/users.py:968 +#: views/users.py:892 msgid "users favorite questions" msgstr "" -#: forum/views/users.py:969 +#: views/users.py:893 msgid "profile - favorite questions" msgstr "" -#: forum/views/users.py:978 -msgid "profile - votes" +#: views/users.py:909 views/users.py:913 +msgid "changes saved" msgstr "" -#: forum/views/users.py:987 -msgid "profile - email subscriptions" +#: views/users.py:919 +msgid "email updates canceled" msgstr "" -#: forum/views/writers.py:67 -#, python-format -msgid "uploading images is limited to users with >%(min_rep)s reputation points" -msgstr "sorry, file uploading requires karma >%(min_rep)s" - -#: forum/views/writers.py:69 -#, python-format -msgid "allowed file types are '%(file_types)s'" +#: views/users.py:930 +msgid "profile - email subscriptions" msgstr "" -#: forum/views/writers.py:71 -#, python-format -msgid "maximum upload file size is %sK" +#: views/writers.py:52 +msgid "Sorry, anonymous users cannot upload files" msgstr "" -#: forum/views/writers.py:73 +#: views/writers.py:60 #, python-format -msgid "" -"Error uploading file. Please contact the site administrator. Thank you. %s" -msgstr "" - -#: forum_modules/authentication/auth.py:27 -msgid "Email Validation" -msgstr "" - -#: forum_modules/authentication/auth.py:38 -msgid "Thank you, your email is now validated." -msgstr "" - -#: forum_modules/authentication/auth.py:62 -msgid "Your password was changed" +msgid "allowed file types are '%(file_types)s'" msgstr "" -#: forum_modules/authentication/auth.py:64 -msgid "New password set" -msgstr "New password created" - -#: forum_modules/authentication/auth.py:130 +#: views/writers.py:83 #, python-format -msgid "Welcome back %s, you are now logged in" -msgstr "" - -#: forum_modules/books/urls.py:7 forum_modules/books/urls.py:8 -#: forum_modules/books/urls.py:9 -msgid "books/" -msgstr "" - -#: keyedcache/views.py:14 -msgid "Yes" -msgstr "" - -#: keyedcache/views.py:15 -msgid "No" -msgstr "" - -#: keyedcache/views.py:19 -msgid "Key to delete" -msgstr "" - -#: keyedcache/views.py:20 -msgid "Include Children?" -msgstr "" - -#: keyedcache/views.py:21 -msgid "Delete all keys?" -msgstr "" - -#: keyedcache/templates/keyedcache/delete.html:6 -#: keyedcache/templates/keyedcache/stats.html:6 -#: keyedcache/templates/keyedcache/view.html:6 -#: livesettings/templates/livesettings/group_settings.html:14 -#: livesettings/templates/livesettings/site_settings.html:26 -msgid "Home" -msgstr "" - -#: keyedcache/templates/keyedcache/delete.html:7 -#: keyedcache/templates/keyedcache/view.html:7 -msgid "Cache" -msgstr "" - -#: keyedcache/templates/keyedcache/delete.html:8 -msgid "Cache Delete" +msgid "maximum upload file size is %(file_size)sK" msgstr "" -#: keyedcache/templates/keyedcache/stats.html:7 -msgid "Cache Stats" +#: views/writers.py:91 +msgid "Error uploading file. Please contact the site administrator. Thank you." msgstr "" -#: keyedcache/templates/keyedcache/view.html:8 -msgid "Cache View" -msgstr "" - -#: livesettings/models.py:101 livesettings/models.py:140 -msgid "Site" -msgstr "" - -#: livesettings/values.py:103 -msgid "Base Settings" -msgstr "" - -#: livesettings/values.py:210 -msgid "Default value: \"\"" -msgstr "" - -#: livesettings/values.py:217 -msgid "Default value: " -msgstr "" - -#: livesettings/values.py:220 +#: views/writers.py:422 #, python-format -msgid "Default value: %s" -msgstr "" - -#: livesettings/templates/livesettings/_admin_site_views.html:4 -msgid "Sites" -msgstr "" - -#: livesettings/templates/livesettings/group_settings.html:11 -#: livesettings/templates/livesettings/site_settings.html:23 -msgid "Documentation" -msgstr "" - -#: livesettings/templates/livesettings/group_settings.html:11 -#: livesettings/templates/livesettings/site_settings.html:23 -msgid "Log out" -msgstr "" - -#: livesettings/templates/livesettings/group_settings.html:15 -msgid "Edit Group Settings" +msgid "" +"Sorry, you appear to be logged out and cannot post comments. Please sign in." msgstr "" -#: livesettings/templates/livesettings/group_settings.html:22 -#: livesettings/templates/livesettings/site_settings.html:50 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "" -msgstr[1] "" - -#: livesettings/templates/livesettings/group_settings.html:28 +#: views/writers.py:457 #, python-format -msgid "Settings included in %(name)s." -msgstr "" - -#: livesettings/templates/livesettings/group_settings.html:62 -#: livesettings/templates/livesettings/site_settings.html:97 -msgid "You don't have permission to edit values." -msgstr "" - -#: livesettings/templates/livesettings/group_settings.html:68 -msgid "Setting groups" +msgid "" +"Sorry, you appear to be logged out and cannot delete comments. Please sign in." msgstr "" -#: livesettings/templates/livesettings/site_settings.html:27 -msgid "Edit Site Settings" +#: views/writers.py:477 +msgid "sorry, we seem to have some technical difficulties" msgstr "" -#: livesettings/templates/livesettings/site_settings.html:43 -msgid "Livesettings are disabled for this site." -msgstr "" +#, fuzzy +#~ msgid "" +#~ "\n" +#~ " view\n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " views\n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "
%(q_num)s

question without an " +#~ "accepted answer

" +#~ msgstr[1] "" +#~ "\n" +#~ "
%(q_num)s

questions without an " +#~ "accepted answer

" -#: livesettings/templates/livesettings/site_settings.html:44 -msgid "All configuration options must be edited in the site settings.py file" -msgstr "" +#, fuzzy +#~ msgid "Sorry, to close own question " +#~ msgstr "" +#~ "You are welcome to start submitting your " +#~ "question anonymously. 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." -#: livesettings/templates/livesettings/site_settings.html:66 -#, python-format -msgid "Group settings: %(name)s" -msgstr "" +#~ msgid "Found by tags" +#~ msgstr "Tagged questions" -#: livesettings/templates/livesettings/site_settings.html:93 -msgid "Uncollapse all" -msgstr "" +#~ msgid "New password set" +#~ msgstr "New password created" #, fuzzy #~ msgid "user_subscriptions_url" @@ -4744,9 +5202,6 @@ msgstr "" #~ msgstr[0] "One question found" #~ msgstr[1] "" -#~ msgid "unanswered questions" -#~ msgstr "unanswered" - #~ msgid "general message about privacy" #~ msgstr "" #~ "Respecting users privacy is an important core principle of this Q&A " @@ -4830,20 +5285,3 @@ msgstr "" #~ msgid "avatar, see %(gravatar_faq_url)s" #~ msgstr "gravatar" - -#~ msgid "" -#~ "\n" -#~ " have total %(q_num)s unanswered questions\n" -#~ " " -#~ msgid_plural "" -#~ "\n" -#~ " have total %(q_num)s unanswered questions\n" -#~ " " -#~ msgstr[0] "" -#~ "\n" -#~ "
%(q_num)s

question without an " -#~ "accepted answer

" -#~ msgstr[1] "" -#~ "\n" -#~ "
%(q_num)s

questions without an " -#~ "accepted answer

" diff --git a/askbot/models/__init__.py b/askbot/models/__init__.py index 0b987ea0..9eaea23e 100644 --- a/askbot/models/__init__.py +++ b/askbot/models/__init__.py @@ -159,25 +159,25 @@ def user_assert_can_unaccept_best_answer(self, answer = None): assert(isinstance(answer, Answer)) if self.is_blocked(): error_message = _( - 'Sorry, you cannot accept or unaccept best answers ' + \ + 'Sorry, you cannot accept or unaccept best answers ' 'because your account is blocked' ) elif self.is_suspended(): error_message = _( - 'Sorry, you cannot accept or unaccept best answers ' + \ + 'Sorry, you cannot accept or unaccept best answers ' 'because your account is suspended' ) elif self == answer.question.get_owner(): if self == answer.get_owner(): error_message = _( - 'Sorry, you cannot accept or unaccept your own answer ' + \ + 'Sorry, you cannot accept or unaccept your own answer ' 'to your own question' ) else: return #assertion success else: error_message = _( - 'Sorry, only original author of the question ' + \ + 'Sorry, only original author of the question ' ' - %(username)s - can accept the best answer' ) % {'username': answer.get_owner().username} @@ -200,7 +200,7 @@ def user_assert_can_vote_for_post( """ if self == post.author: - raise django_exceptions.PermissionDenied('cannot vote for own posts') + raise django_exceptions.PermissionDenied(_('cannot vote for own posts')) blocked_error_message = _( 'Sorry your account appears to be blocked ' + @@ -242,7 +242,7 @@ def user_assert_can_upload_file(request_user): blocked_error_message = _('Sorry, blocked users cannot upload files') suspended_error_message = _('Sorry, suspended users cannot upload files') low_rep_error_message = _( - 'uploading images is limited to users ' + \ + 'uploading images is limited to users ' 'with >%(min_rep)s reputation points' ) % {'min_rep': askbot_settings.MIN_REP_TO_UPLOAD_FILES } @@ -280,12 +280,12 @@ def user_assert_can_post_comment(self, parent_post = None): """ suspended_error_message = _( - 'Sorry, since your account is suspended ' + \ + 'Sorry, since your account is suspended ' 'you can comment only your own posts' ) low_rep_error_message = _( - 'Sorry, to comment any post a minimum reputation of ' + \ - '%(min_rep)s points is required. You can still comment ' +\ + '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' ) % {'min_rep': askbot_settings.MIN_REP_TO_LEAVE_COMMENTS} @@ -307,8 +307,12 @@ def user_assert_can_post_comment(self, parent_post = None): def user_assert_can_see_deleted_post(self, post = None): + """attn: this assertion is independently coded in + Question.get_answers call + """ + error_message = _( - 'This post has been deleted and can be seen only ' + \ + 'This post has been deleted and can be seen only ' 'by post ownwers, site administrators and moderators' ) _assert_user_can( @@ -325,7 +329,7 @@ def user_assert_can_edit_deleted_post(self, post = None): self.assert_can_see_deleted_post(post) except django_exceptions.PermissionDenied, e: error_message = _( - 'Sorry, only moderators, site administrators ' + \ + 'Sorry, only moderators, site administrators ' 'and post owners can edit deleted posts' ) raise django_exceptions.PermissionDenied(error_message) @@ -340,23 +344,23 @@ def user_assert_can_edit_post(self, post = None): return blocked_error_message = _( - 'Sorry, since your account is blocked ' + \ + 'Sorry, since your account is blocked ' 'you cannot edit posts' ) suspended_error_message = _( - 'Sorry, since your account is suspended ' + \ + 'Sorry, since your account is suspended ' 'you can edit only your own posts' ) if post.wiki == True: low_rep_error_message = _( - 'Sorry, to edit wiki\' posts, a minimum ' + \ + 'Sorry, to edit wiki\' posts, a minimum ' 'reputation of %(min_rep)s is required' ) % \ {'min_rep': askbot_settings.MIN_REP_TO_EDIT_WIKI} min_rep_setting = askbot_settings.MIN_REP_TO_EDIT_WIKI else: low_rep_error_message = _( - 'Sorry, to edit other people\' posts, a minimum ' + \ + 'Sorry, to edit other people\' posts, a minimum ' 'reputation of %(min_rep)s is required' ) % \ {'min_rep': askbot_settings.MIN_REP_TO_EDIT_OTHERS_POSTS} @@ -419,9 +423,9 @@ def user_assert_can_delete_question(self, question = None): return else: msg = ungettext( - 'Sorry, cannot delete your question since it ' + \ + 'Sorry, cannot delete your question since it ' 'has an upvoted answer posted by someone else', - 'Sorry, cannot delete your question since it ' + \ + 'Sorry, cannot delete your question since it ' 'has some upvoted answers posted by other users', answer_count ) @@ -434,15 +438,15 @@ def user_assert_can_delete_answer(self, answer = None): assert on deleting question (in addition to some special rules) """ blocked_error_message = _( - 'Sorry, since your account is blocked ' + \ + 'Sorry, since your account is blocked ' 'you cannot delete posts' ) suspended_error_message = _( - 'Sorry, since your account is suspended ' + \ + 'Sorry, since your account is suspended ' 'you can delete only your own posts' ) low_rep_error_message = _( - 'Sorry, to deleted other people\' posts, a minimum ' + \ + 'Sorry, to deleted other people\' posts, a minimum ' 'reputation of %(min_rep)s is required' ) % \ {'min_rep': askbot_settings.MIN_REP_TO_DELETE_OTHERS_POSTS} @@ -462,15 +466,15 @@ def user_assert_can_delete_answer(self, answer = None): def user_assert_can_close_question(self, question = None): assert(isinstance(question, Question) == True) blocked_error_message = _( - 'Sorry, since your account is blocked ' + \ + 'Sorry, since your account is blocked ' 'you cannot close questions' ) suspended_error_message = _( - 'Sorry, since your account is suspended ' + \ + 'Sorry, since your account is suspended ' 'you cannot close questions' ) low_rep_error_message = _( - 'Sorry, to close other people\' posts, a minimum ' + \ + 'Sorry, to close other people\' posts, a minimum ' 'reputation of %(min_rep)s is required' ) % \ {'min_rep': askbot_settings.MIN_REP_TO_CLOSE_OTHERS_QUESTIONS} @@ -479,7 +483,7 @@ def user_assert_can_close_question(self, question = None): owner_min_rep_setting = askbot_settings.MIN_REP_TO_CLOSE_OWN_QUESTIONS owner_low_rep_error_message = _( - 'Sorry, to close own question ' + \ + 'Sorry, to close own question ' 'a minimum reputation of %(min_rep)s is required' ) % {'min_rep': owner_min_rep_setting} @@ -503,13 +507,13 @@ def user_assert_can_reopen_question(self, question = None): owner_min_rep_setting = askbot_settings.MIN_REP_TO_REOPEN_OWN_QUESTIONS general_error_message = _( - 'Sorry, only administrators, moderators ' + \ - 'or post owners with reputation > %(min_rep)s ' + \ + 'Sorry, only administrators, moderators ' + 'or post owners with reputation > %(min_rep)s ' 'can reopen questions.' ) % {'min_rep': owner_min_rep_setting } owner_low_rep_error_message = _( - 'Sorry, to reopen own question ' + \ + 'Sorry, to reopen own question ' 'a minimum reputation of %(min_rep)s is required' ) % {'min_rep': owner_min_rep_setting} @@ -574,22 +578,22 @@ def user_assert_can_retag_question(self, question = None): self.assert_can_edit_deleted_post(question) except django_exceptions.PermissionDenied: error_message = _( - 'Sorry, only question owners, ' + \ - 'site administrators and moderators ' + \ + 'Sorry, only question owners, ' + 'site administrators and moderators ' 'can retag deleted questions' ) raise django_exceptions.PermissionDenied(error_message) blocked_error_message = _( - 'Sorry, since your account is blocked ' + \ + 'Sorry, since your account is blocked ' 'you cannot retag questions' ) suspended_error_message = _( - 'Sorry, since your account is suspended ' + \ + 'Sorry, since your account is suspended ' 'you can retag only your own questions' ) low_rep_error_message = _( - 'Sorry, to retag questions a minimum ' + \ + 'Sorry, to retag questions a minimum ' 'reputation of %(min_rep)s is required' ) % \ {'min_rep': askbot_settings.MIN_REP_TO_RETAG_OTHERS_QUESTIONS} @@ -608,15 +612,15 @@ def user_assert_can_retag_question(self, question = None): def user_assert_can_delete_comment(self, comment = None): blocked_error_message = _( - 'Sorry, since your account is blocked ' + \ + 'Sorry, since your account is blocked ' 'you cannot delete comment' ) suspended_error_message = _( - 'Sorry, since your account is suspended ' + \ + 'Sorry, since your account is suspended ' 'you can delete only your own comments' ) low_rep_error_message = _( - 'Sorry, to delete comments ' + \ + 'Sorry, to delete comments ' 'reputation of %(min_rep)s is required' ) % \ {'min_rep': askbot_settings.MIN_REP_TO_DELETE_OTHERS_COMMENTS} @@ -734,8 +738,19 @@ def user_delete_answer( timestamp = None ): self.assert_can_delete_answer(answer = answer) - #todo - move onDeleted method where appropriate - auth.onDeleted(answer, self, timestamp = timestamp) + answer.deleted = True + answer.deleted_by = self + answer.deleted_at = timestamp + answer.save() + + Question.objects.update_answer_count(answer.question) + logging.debug('updated answer count to %d' % answer.question.answer_count) + + signals.delete_question_or_answer.send( + sender = answer.__class__, + instance = answer, + delete_by = self + ) @auto_now_timestamp def user_delete_question( @@ -744,8 +759,26 @@ def user_delete_question( timestamp = None ): self.assert_can_delete_question(question = question) - #todo - move onDeleted method to a fitting class - auth.onDeleted(question, self, timestamp = timestamp) + + question.deleted = True + question.deleted_by = self + question.deleted_at = timestamp + question.save() + + for tag in list(question.tags.all()): + if tag.used_count == 1: + tag.deleted = True + tag.deleted_by = self + tag.deleted_at = timestamp + else: + tag.used_count = tag.used_count - 1 + tag.save() + + signals.delete_question_or_answer.send( + sender = question.__class__, + instance = question, + delete_by = self + ) @auto_now_timestamp def user_close_question( @@ -797,9 +830,25 @@ def user_restore_post( post = None, timestamp = None ): + #here timestamp is not used, I guess added for consistency self.assert_can_restore_post(post) if isinstance(post, Question) or isinstance(post, Answer): - auth.onDeleteCanceled(self, post, timestamp) + post.deleted = False + post.deleted_by = None + post.deleted_at = None + post.save() + if isinstance(post, Answer): + Question.objects.update_answer_count(post.question) + elif isinstance(post, Question): + #todo: make sure that these tags actually exist + #some may have since been deleted for good + #or merged into others + for tag in list(post.tags.all()): + if tag.used_count == 1 and tag.deleted: + tag.deleted = False + tag.deleted_by = None + tag.deleted_at = None + tag.save() else: raise NotImplementedError() @@ -1563,9 +1612,12 @@ def notify_award_message(instance, created, **kwargs): if created: user = instance.user - msg = (u"Congratulations, you have received a badge '%s'. " \ - + u"Check out your profile.") \ - % (instance.badge.name, user.get_profile_url()) + msg = _(u"Congratulations, you have received a badge '%(badge_name)s'. " + u"Check out your profile.") \ + % { + 'badge_name':instance.badge.name, + 'user_profile':user.get_profile_url() + } user.message_set.create(message=msg) diff --git a/askbot/models/answer.py b/askbot/models/answer.py index 7bb006b1..1eb8ec42 100644 --- a/askbot/models/answer.py +++ b/askbot/models/answer.py @@ -68,20 +68,6 @@ class AnswerManager(models.Manager): authors.update(answer.get_author_list(**kwargs)) return list(authors) - #GET_ANSWERS_FROM_USER_QUESTIONS = u'SELECT answer.* FROM answer INNER JOIN question ON answer.question_id = question.id WHERE question.author_id =%s AND answer.author_id <> %s' - def get_answers_from_question(self, question, user=None): - """ - Retrieves visibile answers for the given question. Delete answers - are only visibile to the person who deleted them. - """ - #todo: there is this odd query used? - - if user is None or not user.is_authenticated(): - return self.filter(question=question, deleted=False) - else: - return self.filter(models.Q(question=question), - models.Q(deleted=False) | models.Q(deleted_by=user)) - #todo: I think this method is not being used anymore, I'll just comment it for now #def get_answers_from_questions(self, user_id): # """ diff --git a/askbot/models/question.py b/askbot/models/question.py index 044f8856..cdb5388c 100644 --- a/askbot/models/question.py +++ b/askbot/models/question.py @@ -247,12 +247,7 @@ class QuestionManager(models.Manager): Executes an UPDATE query to update denormalised data with the number of answers the given question has. """ - - # for some reasons, this Answer class failed to be imported, - # although we have imported all classes from models on top. - from askbot.models.answer import Answer - self.filter(id=question.id).update( - answer_count=Answer.objects.get_answers_from_question(question).filter(deleted=False).count()) + question.answer_count = question.get_answers().count() def update_view_count(self, question): """ @@ -331,6 +326,22 @@ class Question(content.Content, DeletableContent): except Exception: logging.debug('problem pinging google did you register you sitemap with google?') + def get_answers(self, user = None): + """returns query set for answers to this question + that may be shown to the given user + """ + + if user is None or user.is_anonymous(): + return self.answers.filter(deleted=False) + else: + if user.is_administrator() or user.is_moderator(): + return self.answers.all() + else: + return self.answers.filter( + models.Q(deleted = False) | models.Q(author = user) \ + | models.Q(deleted_by = user) + ) + def get_updated_activity_data(self, created = False): if created: return const.TYPE_ACTIVITY_ASK_QUESTION, self diff --git a/askbot/models/repute.py b/askbot/models/repute.py index 0f156d57..eef85b58 100644 --- a/askbot/models/repute.py +++ b/askbot/models/repute.py @@ -159,12 +159,12 @@ class Repute(models.Model): if delta > 0: link_title = _( '%(points)s points were added for %(username)s\'s ' - + 'contribution to question %(question_title)s' + 'contribution to question %(question_title)s' ) % link_title_data else: link_title = _( '%(points)s points were subtracted for %(username)s\'s ' - + 'contribution to question %(question_title)s' + 'contribution to question %(question_title)s' ) % link_title_data return '%(question_title)s' \ diff --git a/askbot/skins/default/media/js/com.cnprog.post.js b/askbot/skins/default/media/js/com.cnprog.post.js index 5ad07f5d..0cec8e51 100755 --- a/askbot/skins/default/media/js/com.cnprog.post.js +++ b/askbot/skins/default/media/js/com.cnprog.post.js @@ -55,7 +55,7 @@ var Vote = function(){ var acceptAnonymousMessage = $.i18n._('insufficient privilege'); var acceptOwnAnswerMessage = $.i18n._('cannot pick own answer as best'); - var pleaseLogin = "" + $.i18n._('please login') + ""; @@ -357,20 +357,15 @@ var Vote = function(){ var callback_remove = function(object, voteType, data){ if (data.success == "1"){ - if (voteType == VoteType.removeQuestion){ - window.location.href = scriptUrl + $.i18n._("questions/"); + if (removeActionType == 'delete'){ + postNode.addClass('deleted'); + postRemoveLink.innerHTML = $.i18n._('undelete'); + showMessage(object, deletedMessage); } - else { - if (removeActionType == 'delete'){ - postNode.addClass('deleted'); - postRemoveLink.innerHTML = $.i18n._('undelete'); - showMessage(object, deletedMessage); - } - else if (removeActionType == 'undelete') { - postNode.removeClass('deleted'); - postRemoveLink.innerHTML = $.i18n._('delete'); - showMessage(object, recoveredMessage); - } + else if (removeActionType == 'undelete') { + postNode.removeClass('deleted'); + postRemoveLink.innerHTML = $.i18n._('delete'); + showMessage(object, recoveredMessage); } } else { @@ -422,6 +417,7 @@ var Vote = function(){ questionSlug ) ); + return false; } // up and downvote processor if (voteType == VoteType.answerUpVote){ @@ -475,17 +471,17 @@ var Vote = function(){ var do_proceed = false; if (postType == 'answer'){ postNode = $('#answer-container-' + postId); - postRemoveLink = object; - if (postNode.hasClass('deleted')){ - removeActionType = 'undelete'; - do_proceed = true; - } - else { - removeActionType = 'delete'; - do_proceed = confirm(removeConfirmation); - } + } + else if (postType == 'question'){ + postNode = $('#question-table'); + } + postRemoveLink = object; + if (postNode.hasClass('deleted')){ + removeActionType = 'undelete'; + do_proceed = true; } else { + removeActionType = 'delete'; do_proceed = confirm(removeConfirmation); } if (do_proceed) { diff --git a/askbot/skins/default/templates/question.html b/askbot/skins/default/templates/question.html index cf4acc97..729f3e7c 100644 --- a/askbot/skins/default/templates/question.html +++ b/askbot/skins/default/templates/question.html @@ -266,7 +266,7 @@ alt="{% trans "i dont like this answer (click again to cancel)" %}" title="{% trans "i dont like this answer (click again to cancel)" %}" /> - {% ifequal request.user question.author %} + {% if request.user == question.author %} {% trans + alt="{% blocktrans with question.author.username as question_author %}{{question_author}} has selected this answer as correct{% endblocktrans %}" + title="{% blocktrans with question.author.username as question_author %}{{question_author}} has selected this answer as correct{% endblocktrans %}" {% endif %} - {% endifequal %} + {% endif %} diff --git a/askbot/skins/default/templates/questions.html b/askbot/skins/default/templates/questions.html index e2fdd3cf..2b1642d0 100644 --- a/askbot/skins/default/templates/questions.html +++ b/askbot/skins/default/templates/questions.html @@ -184,14 +184,14 @@
{{question.score|humanize_counter}}
- {% blocktrans count question.score as cnt %} - vote - {% plural %} - votes - {% endblocktrans %} + {% blocktrans count question.score as cnt %}vote{% plural %}votes{% endblocktrans %}
{% comment %} @@ -200,30 +200,30 @@
{{question.answer_count|humanize_counter}}
- {% blocktrans count question.answer_count as cnt %} - answer - {% plural %} - answers - {% endblocktrans %} + {% blocktrans count question.answer_count as cnt %}answer{% plural %}answers{% endblocktrans %}
{{question.view_count|humanize_counter}}
- {% blocktrans count question.view_count as cnt %} - view - {% plural %} - views - {% endblocktrans %} + {% blocktrans count question.view_count as cnt %}view{% plural %}views{% endblocktrans %}
diff --git a/askbot/templatetags/extra_filters.py b/askbot/templatetags/extra_filters.py index 14e3817e..e6339e11 100644 --- a/askbot/templatetags/extra_filters.py +++ b/askbot/templatetags/extra_filters.py @@ -99,6 +99,11 @@ can_retag_question = make_template_filter_from_permission_assertion( filter_name = 'can_retag_question' ) +can_accept_best_answer = make_template_filter_from_permission_assertion( + assertion_name = 'assert_can_accept_best_answer', + filter_name = 'can_accept_best_answer' + ) + @register.filter def can_see_offensive_flags(user, post): """Determines if a User can view offensive flag counts. @@ -123,14 +128,6 @@ def can_see_offensive_flags(user, post): else: return False -@register.filter -def can_lock_posts(user): - return auth.can_lock_posts(user) - -@register.filter -def can_accept_answer(user, question, answer): - return auth.can_accept_answer(user, question, answer) - @register.filter def can_view_user_edit(request_user, target_user): return auth.can_view_user_edit(request_user, target_user) diff --git a/askbot/tests/db_api_tests.py b/askbot/tests/db_api_tests.py index 0dbe4663..5cf26d66 100644 --- a/askbot/tests/db_api_tests.py +++ b/askbot/tests/db_api_tests.py @@ -4,6 +4,8 @@ functions that happen on behalf of users e.g. ``some_user.do_something(...)`` """ from askbot.tests.utils import AskbotTestCase +from askbot import models +import datetime class DBApiTests(AskbotTestCase): @@ -11,6 +13,28 @@ class DBApiTests(AskbotTestCase): self.create_user() self.create_user(username = 'other_user') self.question = self.post_question() + self.now = datetime.datetime.now() + + def post_answer(self, user = None, question = None): + if user is None: + user = self.user + if question is None: + question = self.question + + self.answer = super(DBApiTests, self).post_answer( + user = user, + question = question, + ) + + def assert_post_is_deleted(self, post): + self.assertTrue(post.deleted == True) + self.assertTrue(isinstance(post.deleted_by, models.User)) + self.assertTrue(post.deleted_at is not None) + + def assert_post_is_not_deleted(self, post): + self.assertTrue(post.deleted == False) + self.assertTrue(post.deleted_by == None) + self.assertTrue(post.deleted_at == None) def test_flag_question(self): self.user.set_status('m') @@ -21,17 +45,49 @@ class DBApiTests(AskbotTestCase): ) def test_flag_answer(self): - answer = self.post_answer(question = self.question) + self.post_answer() self.user.set_status('m') - self.user.flag_post(answer) + self.user.flag_post(self.answer) self.assertEquals( len(self.user.flaggeditems.all()), 1 ) def test_accept_best_answer(self): - answer = self.post_answer( - question = self.question, - user = self.other_user - ) - self.user.accept_best_answer(answer) + self.post_answer(user = self.other_user) + self.user.accept_best_answer(self.answer) + + def test_delete_question(self): + self.user.delete_question(self.question) + self.assert_post_is_deleted(self.question) + + def test_restore_question(self): + self.question.deleted = True + self.question.deleted_by = self.user + self.question.deleted_at = self.now + self.question.save() + self.user.restore_post(self.question) + self.assert_post_is_not_deleted(self.question) + + def test_delete_answer(self): + self.post_answer(question = self.question) + self.user.delete_answer(self.answer) + self.assert_post_is_deleted(self.answer) + + def test_restore_answer(self): + self.post_answer() + self.answer.deleted = True + self.answer.deleted_by = self.user + self.answer.deleted_at = self.now + self.answer.save() + self.user.restore_post(self.answer) + self.assert_post_is_not_deleted(self.answer) + + def test_delete_question_with_answer_by_other(self): + self.post_answer(user = self.other_user) + self.user.delete_question(self.question) + self.assert_post_is_deleted(self.question) + answer_count = self.question.get_answers(user = self.user).count() + answer = self.question.answers.all()[0] + self.assert_post_is_not_deleted(answer) + self.assertTrue(answer_count == 1) diff --git a/askbot/views/readers.py b/askbot/views/readers.py index 5bd67422..440b71f4 100644 --- a/askbot/views/readers.py +++ b/askbot/views/readers.py @@ -21,6 +21,7 @@ from django.utils.translation import ugettext as _ from django.template.defaultfilters import slugify from django.core.urlresolvers import reverse from django.views.decorators.cache import cache_page +from django.core import exceptions as django_exceptions from askbot.utils.html import sanitize_html from markdown2 import Markdown @@ -283,10 +284,21 @@ def question(request, id):#refactor - long subroutine. display question body, an except: return HttpResponseRedirect(question.get_absolute_url()) - if question.deleted and not auth.can_view_deleted_post(request.user, question): - raise Http404 + if question.deleted: + try: + if request.user.is_anonymous(): + msg = _( + 'Sorry, this question has been ' + 'deleted and is no longer accessible' + ) + raise django_exceptions.PermissionDenied(msg) + request.user.assert_can_see_deleted_post(question) + except django_exceptions.PermissionDenied, e: + request.user.message_set.create(message = str(e)) + return HttpResponseRedirect(reverse('index')) + answer_form = AnswerForm(question,request.user) - answers = Answer.objects.get_answers_from_question(question, request.user) + answers = question.get_answers(user = request.user) answers = answers.select_related(depth=1) favorited = question.has_favorite_by_user(request.user) diff --git a/askbot/views/writers.py b/askbot/views/writers.py index 8a9e7d80..7de8ea35 100644 --- a/askbot/views/writers.py +++ b/askbot/views/writers.py @@ -177,21 +177,6 @@ def ask(request):#view used to ask a new question 'email_validation_faq_url':reverse('faq') + '#validate', }, context_instance=RequestContext(request)) -@login_required -def old_edit_question(request, id):#edit or retag a question - """view to edit question - """ - question = get_object_or_404(models.Question, id=id) - - if question.deleted and not auth.can_view_deleted_post(request.user, question): - raise Http404 - if auth.can_edit_post(request.user, question): - return _edit_question(request, question) - elif auth.can_retag_questions(request.user): - return _retag_question(request, question) - else: - raise Http404 - @login_required def retag_question(request, id): """retag question view @@ -434,8 +419,8 @@ def __comments(request, obj):#non-view generic ajax handler to load comments to elif request.method == "POST": try: if user.is_anonymous(): - msg = _('Sorry, you appear to be logged out and ' + \ - 'cannot post comments. Please ' + \ + msg = _('Sorry, you appear to be logged out and ' + 'cannot post comments. Please ' 'sign in.') % \ {'sign_in_url': reverse('user_signin')} raise exceptions.PermissionDenied(msg) @@ -469,8 +454,8 @@ def delete_comment( try: if request.user.is_anonymous(): - msg = _('Sorry, you appear to be logged out and ' + \ - 'cannot delete comments. Please ' + \ + msg = _('Sorry, you appear to be logged out and ' + 'cannot delete comments. Please ' 'sign in.') % \ {'sign_in_url': reverse('user_signin')} raise exceptions.PermissionDenied(msg) -- cgit v1.2.3-1-g7c22