From 368c62b96a13d4fc340c67bbfc4048e227269070 Mon Sep 17 00:00:00 2001
From: Evgeny Fadeev Dear %(name)s,
Dear %(name)s,
The following %(num)d questions have been updated on the Q&A forum:
" +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:172 +msgid "new question" +msgstr "" + +#: forum/management/commands/send_email_alerts.py:182 +#, python-format +msgid "There is also one question which was recently " +msgid_plural "" +"There are also %(num)d more questions which were recently updated " +msgstr[0] "" +msgstr[1] "" + +#: forum/management/commands/send_email_alerts.py:187 +msgid "" +"Perhaps you could look up previously sent forum reminders in your mailbox." +msgstr "" -#: forum/management/commands/send_email_alerts.py:81 +#: forum/management/commands/send_email_alerts.py:191 #, python-format msgid "" "go to %(link)s to change frequency of email updates or %(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 %(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 %(email)s.
Sincerely,
Your friendly Q&A forum " +"server.
" -#: forum/templatetags/extra_tags.py:160 forum/templatetags/extra_tags.py:189 -#: templates/header.html:34 +#: forum/templatetags/extra_tags.py:163 forum/templatetags/extra_tags.py:192 +#: templates/header.html:33 msgid "badges" msgstr "" -#: forum/templatetags/extra_tags.py:161 forum/templatetags/extra_tags.py:188 +#: forum/templatetags/extra_tags.py:164 forum/templatetags/extra_tags.py:191 msgid "reputation points" msgstr "karma" -#: forum/templatetags/extra_tags.py:244 +#: forum/templatetags/extra_tags.py:247 msgid "%b %d at %H:%M" msgstr "" -#: forum/templatetags/extra_tags.py:246 +#: forum/templatetags/extra_tags.py:249 msgid "%b %d '%y at %H:%M" msgstr "" -#: forum/templatetags/extra_tags.py:248 +#: forum/templatetags/extra_tags.py:251 msgid "2 days ago" msgstr "" -#: forum/templatetags/extra_tags.py:250 +#: forum/templatetags/extra_tags.py:253 msgid "yesterday" msgstr "" -#: forum/templatetags/extra_tags.py:252 +#: forum/templatetags/extra_tags.py:255 #, python-format msgid "%(hr)d hour ago" msgid_plural "%(hr)d hours ago" msgstr[0] "" msgstr[1] "" -#: forum/templatetags/extra_tags.py:254 +#: forum/templatetags/extra_tags.py:257 #, python-format msgid "%(min)d min ago" msgid_plural "%(min)d mins ago" msgstr[0] "" msgstr[1] "" +#: middleware/anon_user.py:33 +#, python-format +msgid "first time greeting with %(url)s" +msgstr "" + #: templates/404.html:24 msgid "Sorry, could not find the page you requested." msgstr "" @@ -1035,13 +1121,46 @@ msgstr "" msgid "About" msgstr "" +#: templates/about.html:21 +msgid "" +"CNPROG Q&A is a " +"collaboratively edited question\n" +" and answer site created for the CNPROG " +"community.\n" +" " +msgstr "" + +#: templates/about.html:25 +msgid "" +"Here you can ask and answer questions, " +"comment\n" +" and vote for the questions of others and their answers. " +"Both questions and answers\n" +" can be revised and improved. Questions can be " +"tagged with\n" +" the relevant keywords to simplify future access and organize the " +"accumulated material." +msgstr "" + +#: templates/about.html:31 +msgid "" +"This Q&A site is moderated by its members, " +"hopefully - including yourself!\n" +" Moderation rights are gradually assigned to the site users based on the " +"accumulated \"reputation\"\n" +" points. These points are added to the users account when others vote for " +"his/her questions or answers.\n" +" These points (very) roughly reflect the level of trust of the community." +msgstr "" + #: templates/answer_edit.html:5 templates/answer_edit.html.py:48 msgid "Edit answer" msgstr "" #: templates/answer_edit.html:25 templates/answer_edit.html.py:28 #: templates/ask.html:26 templates/ask.html.py:29 templates/question.html:45 -#: templates/question.html.py:48 templates/question_edit.html:28 +#: templates/question.html.py:48 templates/question_edit.html:25 +#: templates/question_edit.html.py:28 msgid "hide preview" msgstr "" @@ -1051,13 +1170,13 @@ msgid "show preview" msgstr "" #: templates/answer_edit.html:48 templates/question_edit.html:66 -#: templates/question_retag.html:53 templates/revisions_answer.html:36 -#: templates/revisions_question.html:36 +#: templates/question_retag.html:53 templates/revisions_answer.html:38 +#: templates/revisions_question.html:38 msgid "back" msgstr "" #: templates/answer_edit.html:53 templates/question_edit.html:71 -#: templates/revisions_answer.html:50 templates/revisions_question.html:50 +#: templates/revisions_answer.html:52 templates/revisions_question.html:52 msgid "revision" msgstr "" @@ -1083,7 +1202,7 @@ msgstr "" #: templates/answer_edit.html:73 templates/close.html:29 #: templates/feedback.html:50 templates/question_edit.html:119 #: templates/question_retag.html:75 templates/reopen.html:30 -#: templates/user_edit.html:83 templates/authopenid/changeemail.html:40 +#: templates/user_edit.html:87 templates/authopenid/changeemail.html:40 msgid "Cancel" msgstr "" @@ -1315,8 +1434,8 @@ msgstr "" msgid "number of times" msgstr "" -#: templates/book.html:105 templates/index.html:47 -#: templates/question_summary_list_roll.html:14 templates/questions.html:47 +#: templates/book.html:105 templates/index.html:49 +#: templates/question_summary_list_roll.html:14 templates/questions.html:80 #: templates/unanswered.html:39 templates/users_questions.html:32 msgid "votes" msgstr "" @@ -1325,17 +1444,17 @@ msgstr "" msgid "the answer has been accepted to be correct" msgstr "" -#: templates/book.html:115 templates/index.html:48 -#: templates/question_summary_list_roll.html:15 templates/questions.html:48 +#: templates/book.html:115 templates/index.html:50 +#: templates/question_summary_list_roll.html:15 templates/questions.html:81 #: templates/unanswered.html:40 templates/users_questions.html:40 msgid "views" msgstr "" -#: templates/book.html:125 templates/index.html:103 +#: templates/book.html:125 templates/index.html:105 #: templates/question.html:480 templates/question_summary_list_roll.html:52 -#: templates/questions.html:103 templates/questions.html.py:171 -#: templates/tags.html:49 templates/unanswered.html:95 -#: templates/unanswered.html.py:122 templates/users_questions.html:52 +#: templates/questions.html:136 templates/tags.html:49 +#: templates/unanswered.html:95 templates/unanswered.html.py:122 +#: templates/users_questions.html:52 msgid "using tags" msgstr "" @@ -1343,7 +1462,7 @@ msgstr "" msgid "subscribe to book RSS feed" msgstr "" -#: templates/book.html:147 templates/index.html:152 +#: templates/book.html:147 templates/index.html:156 msgid "subscribe to the questions feed" msgstr "" @@ -1453,7 +1572,7 @@ msgid "" "type of moderation task." msgstr "" -#: templates/faq.html:53 templates/user_votes.html:14 +#: templates/faq.html:53 templates/user_votes.html:15 msgid "upvote" msgstr "" @@ -1465,7 +1584,7 @@ msgstr "" msgid "add comments" msgstr "" -#: templates/faq.html:66 templates/user_votes.html:16 +#: templates/faq.html:66 templates/user_votes.html:17 msgid "downvote" msgstr "" @@ -1580,11 +1699,11 @@ msgstr "" "Please ask your question, help make our " "community better!" -#: templates/faq.html:128 templates/header.html:28 templates/header.html.py:62 +#: templates/faq.html:128 templates/header.html:27 templates/header.html.py:61 msgid "questions" msgstr "" -#: templates/faq.html:128 templates/index.html:157 +#: templates/faq.html:128 templates/index.html:161 msgid "." msgstr "" @@ -1646,32 +1765,28 @@ msgstr "" msgid "Message body:" msgstr "" -#: templates/footer.html:8 templates/header.html:14 templates/index.html:117 +#: templates/footer.html:8 templates/header.html:13 templates/index.html:119 msgid "about" msgstr "" -#: templates/footer.html:9 templates/header.html:15 templates/index.html:118 +#: templates/footer.html:9 templates/header.html:14 templates/index.html:120 #: templates/question_edit_tips.html:17 msgid "faq" msgstr "" #: templates/footer.html:10 -msgid "wiki" -msgstr "" - -#: templates/footer.html:11 msgid "blog" msgstr "" -#: templates/footer.html:12 +#: templates/footer.html:11 msgid "contact us" msgstr "" -#: templates/footer.html:13 +#: templates/footer.html:12 msgid "privacy policy" msgstr "" -#: templates/footer.html:22 +#: templates/footer.html:21 msgid "give feedback" msgstr "" @@ -1683,31 +1798,31 @@ msgstr "" msgid "login" msgstr "" -#: templates/header.html:22 +#: templates/header.html:21 msgid "back to home page" msgstr "" -#: templates/header.html:30 templates/header.html.py:64 +#: templates/header.html:29 templates/header.html.py:63 msgid "users" msgstr "" -#: templates/header.html:32 +#: templates/header.html:31 msgid "books" msgstr "" -#: templates/header.html:35 +#: templates/header.html:34 msgid "unanswered questions" msgstr "unanswered" -#: templates/header.html:39 +#: templates/header.html:38 msgid "my profile" msgstr "" -#: templates/header.html:43 +#: templates/header.html:42 msgid "ask a question" msgstr "" -#: templates/header.html:58 +#: templates/header.html:57 msgid "search" msgstr "" @@ -1715,115 +1830,114 @@ msgstr "" msgid "Home" msgstr "" -#: templates/index.html:23 templates/questions.html:8 +#: templates/index.html:25 templates/questions.html:8 msgid "Questions" msgstr "" -#: templates/index.html:25 +#: templates/index.html:27 msgid "last updated questions" msgstr "" -#: templates/index.html:25 templates/questions.html:26 +#: templates/index.html:27 templates/questions.html:47 #: templates/unanswered.html:21 msgid "newest" msgstr "" -#: templates/index.html:26 templates/questions.html:28 +#: templates/index.html:28 templates/questions.html:49 msgid "hottest questions" msgstr "" -#: templates/index.html:26 templates/questions.html:28 +#: templates/index.html:28 templates/questions.html:49 msgid "hottest" msgstr "" -#: templates/index.html:27 templates/questions.html:29 +#: templates/index.html:29 templates/questions.html:50 msgid "most voted questions" msgstr "" -#: templates/index.html:27 templates/questions.html:29 +#: templates/index.html:29 templates/questions.html:50 msgid "most voted" msgstr "" -#: templates/index.html:28 +#: templates/index.html:30 msgid "all questions" msgstr "" -#: templates/index.html:46 templates/question_summary_list_roll.html:13 -#: templates/questions.html:46 templates/unanswered.html:38 +#: templates/index.html:48 templates/question_summary_list_roll.html:13 +#: templates/questions.html:79 templates/unanswered.html:38 #: templates/users_questions.html:36 msgid "answers" msgstr "" -#: templates/index.html:78 templates/index.html.py:92 -#: templates/questions.html:78 templates/questions.html.py:92 +#: templates/index.html:80 templates/index.html.py:94 +#: templates/questions.html:111 templates/questions.html.py:125 #: templates/unanswered.html:70 templates/unanswered.html.py:84 msgid "Posted:" msgstr "" -#: templates/index.html:81 templates/index.html.py:86 -#: templates/questions.html:81 templates/questions.html.py:86 +#: templates/index.html:83 templates/index.html.py:88 +#: templates/questions.html:114 templates/questions.html.py:119 #: templates/unanswered.html:73 templates/unanswered.html.py:78 msgid "Updated:" msgstr "" -#: templates/index.html:103 templates/question.html:480 -#: templates/question_summary_list_roll.html:52 templates/questions.html:103 -#: templates/questions.html.py:171 templates/tags.html:49 -#: templates/unanswered.html:95 templates/unanswered.html.py:122 -#: templates/users_questions.html:52 +#: templates/index.html:105 templates/question.html:480 +#: templates/question_summary_list_roll.html:52 templates/questions.html:136 +#: templates/tags.html:49 templates/unanswered.html:95 +#: templates/unanswered.html.py:122 templates/users_questions.html:52 msgid "see questions tagged" msgstr "" -#: templates/index.html:114 +#: templates/index.html:116 msgid "welcome to website" msgstr "Welcome to Q&A forum" -#: templates/index.html:123 +#: templates/index.html:127 msgid "Recent tags" msgstr "" -#: templates/index.html:128 templates/question.html:135 +#: templates/index.html:132 templates/question.html:135 #, python-format msgid "see questions tagged '%(tagname)s'" msgstr "" -#: templates/index.html:131 templates/index.html.py:157 +#: templates/index.html:135 templates/index.html.py:161 msgid "popular tags" msgstr "tags" -#: templates/index.html:136 +#: templates/index.html:140 msgid "Recent awards" msgstr "Recent badges" -#: templates/index.html:142 +#: templates/index.html:146 msgid "given to" msgstr "" -#: templates/index.html:147 +#: templates/index.html:151 msgid "all awards" msgstr "all badges" -#: templates/index.html:152 +#: templates/index.html:156 msgid "subscribe to last 30 questions by RSS" msgstr "" -#: templates/index.html:157 +#: templates/index.html:161 msgid "Still looking for more? See" msgstr "" -#: templates/index.html:157 +#: templates/index.html:161 msgid "complete list of questions" msgstr "list of all questions" -#: templates/index.html:157 templates/authopenid/signup.html:18 +#: templates/index.html:161 templates/authopenid/signup.html:18 msgid "or" msgstr "" -#: templates/index.html:157 +#: templates/index.html:161 msgid "Please help us answer" msgstr "" -#: templates/index.html:157 +#: templates/index.html:161 msgid "list of unanswered questions" msgstr "unanswered questions" @@ -1836,8 +1950,8 @@ msgid "" "As a registered user you can login with your OpenID, log out of the site or " "permanently remove your account." msgstr "" -"Clicking Logout will log you out from the forum" -"but will not sign you off from your OpenID provider.If you wish to sign off " +"Clicking Logout will log you out from the forumbut will not " +"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." #: templates/logout.html:20 @@ -1881,17 +1995,19 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: templates/post_contributor_info.html:19 templates/revisions_answer.html:66 -#: templates/revisions_question.html:66 +#: templates/post_contributor_info.html:19 msgid "asked" msgstr "" -#: templates/post_contributor_info.html:21 +#: templates/post_contributor_info.html:22 msgid "answered" msgstr "" -#: templates/post_contributor_info.html:37 templates/revisions_answer.html:68 -#: templates/revisions_question.html:68 +#: templates/post_contributor_info.html:24 +msgid "posted" +msgstr "" + +#: templates/post_contributor_info.html:45 msgid "updated" msgstr "" @@ -1902,10 +2018,9 @@ msgstr "" #: templates/privacy.html:15 msgid "general message about privacy" msgstr "" -"Respecting users privacy is an important core principle " -"of this Q&A forum. " -"Information on this page details how this forum protects your privacy, " -"and what type of information is collected." +"Respecting users privacy is an important core principle of this Q&A " +"forum. Information on this page details how this forum protects your " +"privacy, and what type of information is collected." #: templates/privacy.html:18 msgid "Site Visitors" @@ -1914,9 +2029,9 @@ msgstr "" #: templates/privacy.html:20 msgid "what technical information is collected about visitors" msgstr "" -"Information on question views, revisions of questions and answers - both times " -"and content are recorded for each user in order to correctly count number of views, " -"maintain data integrity and report relevant updates." +"Information on question views, revisions of questions and answers - both " +"times and content are recorded for each user in order to correctly count " +"number of views, maintain data integrity and report relevant updates." #: templates/privacy.html:23 msgid "Personal Information" @@ -1925,8 +2040,8 @@ msgstr "" #: templates/privacy.html:25 msgid "details on personal information policies" msgstr "" -"Members of this community may choose to display personally identifiable information " -"in their profiles. Forum will never display such information " +"Members of this community may choose to display personally identifiable " +"information in their profiles. Forum will never display such information " "without a request from the user." #: templates/privacy.html:28 @@ -1936,15 +2051,15 @@ msgstr "" #: templates/privacy.html:30 msgid "details on sharing data with third parties" msgstr "" -"None of the data that is not openly shown on the forum by the choice of the user " -"is shared with any third party." +"None of the data that is not openly shown on the forum by the choice of the " +"user is shared with any third party." #: templates/privacy.html:35 msgid "cookie policy details" msgstr "" -"Forum software relies on the internet cookie technology to " -"keep track of user sessions. Cookies must be enabled " -"in your browser so that forum can work for you." +"Forum software relies on the internet cookie technology to keep track of " +"user sessions. Cookies must be enabled in your browser so that forum can " +"work for you." #: templates/privacy.html:37 msgid "Policy Changes" @@ -1953,9 +2068,9 @@ msgstr "" #: templates/privacy.html:38 msgid "how privacy policies can be changed" msgstr "" -"These policies may be adjusted to improve protection of " -"user's privacy. Whenever such changes occur, users will be " -"notified via the internal messaging system. " +"These policies may be adjusted to improve protection of user's privacy. " +"Whenever such changes occur, users will be notified via the internal " +"messaging system. " #: templates/question.html:77 templates/question.html.py:78 #: templates/question.html:94 templates/question.html.py:96 @@ -1981,31 +2096,31 @@ msgid "remove favorite mark from this question (click again to restore mark)" msgstr "" #: templates/question.html:140 templates/question.html.py:294 -#: templates/revisions_answer.html:56 templates/revisions_question.html:56 +#: templates/revisions_answer.html:58 templates/revisions_question.html:58 msgid "edit" msgstr "" -#: templates/question.html:144 templates/question.html.py:301 -msgid "delete" -msgstr "" - -#: templates/question.html:149 +#: templates/question.html:145 msgid "reopen" msgstr "" -#: templates/question.html:153 +#: templates/question.html:149 msgid "close" msgstr "" -#: templates/question.html:159 templates/question.html.py:308 +#: templates/question.html:155 templates/question.html.py:299 msgid "" "report as offensive (i.e containing spam, advertising, malicious text, etc.)" msgstr "" -#: templates/question.html:160 templates/question.html.py:309 +#: templates/question.html:156 templates/question.html.py:300 msgid "flag offensive" msgstr "" +#: templates/question.html:164 templates/question.html.py:311 +msgid "delete" +msgstr "" + #: templates/question.html:182 templates/question.html.py:331 msgid "delete this comment" msgstr "" @@ -2115,7 +2230,7 @@ msgstr "" msgid "permanent link" msgstr "link" -#: templates/question.html:301 +#: templates/question.html:311 msgid "undelete" msgstr "" @@ -2287,40 +2402,61 @@ msgstr "" msgid "tag editors receive special awards from the community" msgstr "" -#: templates/questions.html:24 +#: templates/questions.html:29 msgid "Found by tags" msgstr "Tagged questions" -#: templates/questions.html:24 +#: templates/questions.html:33 +msgid "Search results" +msgstr "" + +#: templates/questions.html:35 msgid "Found by title" msgstr "" -#: templates/questions.html:24 +#: templates/questions.html:39 templates/unanswered.html:8 +#: templates/unanswered.html.py:19 +msgid "Unanswered questions" +msgstr "" + +#: templates/questions.html:41 msgid "All questions" msgstr "" -#: templates/questions.html:26 templates/unanswered.html:21 +#: templates/questions.html:47 templates/unanswered.html:21 msgid "most recently asked questions" msgstr "" -#: templates/questions.html:27 +#: templates/questions.html:48 msgid "most recently updated questions" msgstr "" -#: templates/questions.html:27 +#: templates/questions.html:48 msgid "active" msgstr "" -#: templates/questions.html:126 +#: templates/questions.html:144 +msgid "Did not find anything?" +msgstr "" + +#: templates/questions.html:147 +msgid "Did not find what you were looking for?" +msgstr "" + +#: templates/questions.html:149 +msgid "Please, post your question!" +msgstr "" + +#: templates/questions.html:163 #, python-format msgid "" "\n" -"\t\t\thave total %(q_num)s questions tagged %(tagname)s\n" -"\t\t\t" +" have total %(q_num)s questions tagged %(tagname)s\n" +" " msgid_plural "" "\n" -"\t\t\thave total %(q_num)s questions tagged %(tagname)s\n" -"\t\t\t" +" have total %(q_num)s questions tagged %(tagname)s\n" +" " msgstr[0] "" "\n" "
question tagged
%(q_num)s questions tagged question "
+"containing %(searchtitle)s"
+"p>"
+msgstr[1] ""
+"\n"
+" questions "
+"containing %(searchtitle)s"
+"p>"
+
+#: templates/questions.html:177
+#, python-format
+msgid ""
+"\n"
+" have total %(q_num)s questions containing %(searchtitle)"
+"s\n"
+" "
+msgid_plural ""
+"\n"
+" have total %(q_num)s questions containing %(searchtitle)"
+"s\n"
+" "
msgstr[0] ""
"\n"
" question with title "
@@ -2351,55 +2512,80 @@ msgstr[1] ""
"containing %(searchtitle)s"
"p>"
-#: templates/questions.html:139
+#: templates/questions.html:185
+#, python-format
+msgid ""
+"\n"
+" have total %(q_num)s unanswered questions\n"
+" "
+msgid_plural ""
+"\n"
+" have total %(q_num)s unanswered questions\n"
+" "
+msgstr[0] ""
+"\n"
+" question without an "
+"accepted answer questions without an "
+"accepted answer question questions questions "
-#: templates/questions.html:148
+#: templates/questions.html:201
msgid "latest questions info"
msgstr "Newest questions are shown first."
-#: templates/questions.html:152
+#: templates/questions.html:205
msgid "Questions are sorted by the time of last update."
msgstr ""
-#: templates/questions.html:153
+#: templates/questions.html:206
msgid "Most recently answered ones are shown first."
msgstr "Most recently answered questions are shown first."
-#: templates/questions.html:157
+#: templates/questions.html:210
msgid "Questions sorted by number of responses."
msgstr "Questions sorted by the number of answers."
-#: templates/questions.html:158
+#: templates/questions.html:211
msgid "Most answered questions are shown first."
msgstr " "
-#: templates/questions.html:162
+#: templates/questions.html:215
msgid "Questions are sorted by the number of votes."
msgstr ""
-#: templates/questions.html:163
+#: templates/questions.html:216
msgid "Most voted questions are shown first."
msgstr ""
-#: templates/questions.html:168 templates/unanswered.html:118
+#: templates/questions.html:224 templates/unanswered.html:118
msgid "Related tags"
msgstr "Tags"
+#: templates/questions.html:227 templates/tag_selector.html:10
+#: templates/tag_selector.html.py:27
+#, python-format
+msgid "see questions tagged '%(tag_name)s'"
+msgstr ""
+
#: templates/reopen.html:6 templates/reopen.html.py:16
msgid "Reopen question"
msgstr ""
@@ -2428,15 +2614,41 @@ msgstr ""
msgid "Reopen this question"
msgstr ""
-#: templates/revisions_answer.html:7 templates/revisions_answer.html.py:36
-#: templates/revisions_question.html:8 templates/revisions_question.html:36
+#: templates/revisions_answer.html:7 templates/revisions_answer.html.py:38
+#: templates/revisions_question.html:8 templates/revisions_question.html:38
msgid "Revision history"
msgstr ""
-#: templates/revisions_answer.html:48 templates/revisions_question.html:48
+#: templates/revisions_answer.html:50 templates/revisions_question.html:50
msgid "click to hide/show revision"
msgstr ""
+#: templates/tag_selector.html:4
+msgid "Interesting tags"
+msgstr ""
+
+#: templates/tag_selector.html:14
+#, python-format
+msgid "remove '%(tag_name)s' from the list of interesting tags"
+msgstr ""
+
+#: templates/tag_selector.html:20 templates/tag_selector.html.py:37
+msgid "Add"
+msgstr ""
+
+#: templates/tag_selector.html:21
+msgid "Ignored tags"
+msgstr ""
+
+#: templates/tag_selector.html:31
+#, python-format
+msgid "remove '%(tag_name)s' from the list of ignored tags"
+msgstr ""
+
+#: templates/tag_selector.html:40
+msgid "keep ingored questions hidden"
+msgstr ""
+
#: templates/tags.html:6 templates/tags.html.py:30
msgid "Tag list"
msgstr ""
@@ -2469,10 +2681,6 @@ msgstr ""
msgid "Nothing found"
msgstr ""
-#: templates/unanswered.html:8 templates/unanswered.html.py:19
-msgid "Unanswered questions"
-msgstr ""
-
#: templates/unanswered.html:114
#, python-format
msgid "have %(num_q)s unanswered questions"
@@ -2501,7 +2709,7 @@ msgstr "gravatar"
msgid "Registered user"
msgstr ""
-#: templates/user_edit.html:82 templates/user_email_subscriptions.html:17
+#: templates/user_edit.html:86 templates/user_email_subscriptions.html:20
msgid "Update"
msgstr ""
@@ -2518,7 +2726,7 @@ msgstr ""
"receive emails - select 'no email' on all items below. Oops... looks like screen name %(username)s is "
-"already used in another account. Please choose another screen name "
-"to use with your %(provider)s login. Also, a valid email address is "
-"required on the Q&A forum. Your "
-"email is used to create a unique gravatar image for your account. If you like, "
-"you can receive updates on the interesting questions or "
-"entire forum by email. Email addresses are never shown or otherwise shared "
-"with anybody else. Please choose another screen "
+"name to use with your %(provider)s login. Also, a valid email address is "
+"required on the Q&A forum. Your email is "
+"used to create a unique gravatar"
+"strong> image for your account. If you like, you can receive "
+"updates on the interesting questions or entire forum by email. "
+"Email addresses are never shown or otherwise shared with anybody else. question questions
Updates are only "
"sent when there is any new activity on selected items."
-#: templates/user_email_subscriptions.html:18
+#: templates/user_email_subscriptions.html:21
msgid "Stop sending email"
msgstr "Stop Email"
@@ -2662,10 +2870,11 @@ msgstr[1] ""
#: templates/user_stats.html:100
#, python-format
-msgid "see other questions tagged '%(tag)s' "
+msgid ""
+"see other questions with %(view_user)s's contributions tagged '%(tag_name)s' "
msgstr ""
-#: templates/user_stats.html:114
+#: templates/user_stats.html:115
#, python-format
msgid ""
"\n"
@@ -2762,12 +2971,11 @@ msgstr ""
msgid "here is why email is required, see %(gravatar_faq_url)s"
msgstr ""
"Please enter your email address in the box below."
-"span> Valid email address is required on this Q&"
-"A forum. If you like, you can receive updates on "
-"interesting questions or entire forum via email. Also, your email is used to "
-"create a unique gravatar "
-"image for your account. Email addresses are never shown or otherwise shared "
-"with anybody else."
+"span> Valid email address is required on this Q&A forum. If you like, "
+"you can receive updates on interesting questions or entire "
+"forum via email. Also, your email is used to create a unique gravatar image for your account. "
+"Email addresses are never shown or otherwise shared with anybody else."
#: templates/authopenid/changeemail.html:31
msgid "Your new Email"
@@ -2795,8 +3003,8 @@ msgstr ""
"An email with a validation link has been sent to %"
"(email)s. Please follow the emailed link with your "
"web browser. Email validation is necessary to help insure the proper use of "
-"email on Q&A. If you would like "
-"to use another email, please change it again."
#: templates/authopenid/changeemail.html:57
@@ -2917,14 +3125,13 @@ msgid ""
" "
msgstr ""
"
By default "
-"Q&A forum sends up to one "
-"email digest per week - only when there is anything new.
If "
-"you like, please adjust this now or any time later from your user account."
+"community grow and become more useful.
By default Q&A forum sends up to one email digest per "
+"week - only when there is anything new.
If you like, please "
+"adjust this now or any time later from your user account."
#: templates/authopenid/complete.html:91
+msgid "Tag filter tool will be your right panel, once you log in."
+msgstr ""
+
+#: templates/authopenid/complete.html:92
msgid "create account"
msgstr "Signup"
-#: templates/authopenid/complete.html:100
+#: templates/authopenid/complete.html:101
msgid "Existing account"
msgstr ""
-#: templates/authopenid/complete.html:101
+#: templates/authopenid/complete.html:102
msgid "user name"
msgstr ""
-#: templates/authopenid/complete.html:102
+#: templates/authopenid/complete.html:103
msgid "password"
msgstr ""
-#: templates/authopenid/complete.html:107
+#: templates/authopenid/complete.html:108
msgid "Register"
msgstr ""
-#: templates/authopenid/complete.html:108 templates/authopenid/signin.html:140
+#: templates/authopenid/complete.html:109 templates/authopenid/signin.html:140
msgid "Forgot your password?"
msgstr ""
@@ -3080,6 +3291,10 @@ msgstr ""
msgid "Traditional login information"
msgstr ""
+#: templates/authopenid/external_legacy_login_info.html:12
+msgid "how to login with password through external login website"
+msgstr ""
+
#: templates/authopenid/sendpw.html:4 templates/authopenid/sendpw.html.py:7
msgid "Send new password"
msgstr "Recover password"
@@ -3274,3 +3489,18 @@ msgstr ""
#: templates/authopenid/signup.html:19
msgid "return to OpenID login"
msgstr ""
+
+#~ msgid ""
+#~ "\n"
+#~ "\t\t\t\thave total %(q_num)s questions\n"
+#~ "\t\t\t\t"
+#~ msgid_plural ""
+#~ "\n"
+#~ "\t\t\t\thave total %(q_num)s questions\n"
+#~ "\t\t\t\t"
+#~ msgstr[0] ""
+#~ "\n"
+#~ "');
- del_link.addClass('delete-icon');
- del_link.attr('src', scriptUrl + 'content/images/close-small-dark.png');
-
- setupTagDeleteEvents(del_link, to_target, tagname, reason, true);
-
- new_tag.append(tag_link);
- new_tag.append(del_link);
- to_tag_container.append(new_tag);
-
- to_target[tagname] = new_tag;
- });
- }
- }
-
- var collectPickedTags = function(){
- var good_prefix = 'interesting-tag-';
- var bad_prefix = 'ignored-tag-';
- var good_re = RegExp('^' + good_prefix);
- var bad_re = RegExp('^' + bad_prefix);
- interestingTags = {};
- ignoredTags = {};
- $('.deletable-tag').each(
- function(i,item){
- item_id = $(item).attr('id')
- if (good_re.test(item_id)){
- tag_name = item_id.replace(good_prefix,'');
- tag_store = interestingTags;
- reason = 'good';
- }
- else if (bad_re.test(item_id)){
- tag_name = item_id.replace(bad_prefix,'');
- tag_store = ignoredTags;
- reason = 'bad';
- }
- else {
- return;
- }
- tag_store[tag_name] = $(item);
- setupTagDeleteEvents($(item).find('img'),tag_store,tag_name,reason,true)
- }
- );
- }
-
- var setupHideIgnoredQuestionsControl = function(){
- $('#hideIgnoredTagsCb').unbind('click').click(function(){
- $.ajax({
- type: 'POST',
- dataType: 'json',
- cache: false,
- url: scriptUrl + $.i18n._('command/'),
- data: {command:'toggle-ignored-questions'}
- });
- });
- }
- return {
- init: function(){
- collectPickedTags();
- setupHideIgnoredQuestionsControl();
- $("#interestingTagInput, #ignoredTagInput").autocomplete(tags, {
- minChars: 1,
- matchContains: true,
- max: 20,
- multiple: true,
- multipleSeparator: " ",
- formatItem: function(row, i, max) {
- return row.n + " ("+ row.c +")";
- },
- formatResult: function(row, i, max){
- return row.n;
- }
-
- });
- $("#interestingTagAdd").click(function(){handlePickedTag(this,'good')});
- $("#ignoredTagAdd").click(function(){handlePickedTag(this,'bad')});
- }
- };
-}
-
var questionComments = createComments('question');
var answerComments = createComments('answer');
$().ready(function() {
questionComments.init();
answerComments.init();
- pickedTags().init();
});
var commentsFactory = {'question' : questionComments, 'answer' : answerComments};
diff --git a/templates/content/js/com.cnprog.tag_selector.js b/templates/content/js/com.cnprog.tag_selector.js
new file mode 100644
index 00000000..f6c16c9c
--- /dev/null
+++ b/templates/content/js/com.cnprog.tag_selector.js
@@ -0,0 +1,168 @@
+function pickedTags(){
+
+ var sendAjax = function(tagname, reason, action, callback){
+ url = scriptUrl;
+ if (action == 'add'){
+ url += $.i18n._('mark-tag/');
+ if (reason == 'good'){
+ url += $.i18n._('interesting/');
+ }
+ else {
+ url += $.i18n._('ignored/');
+ }
+ }
+ else {
+ url += $.i18n._('unmark-tag/');
+ }
+ url = url + tagname + '/';
+
+ call_settings = {
+ type:'POST',
+ url:url
+ }
+ if (callback != false){
+ call_settings['success'] = callback;
+ }
+ $.ajax(call_settings);
+ }
+
+
+ var unpickTag = function(from_target ,tagname, reason, send_ajax){
+ //send ajax request to delete tag
+ var deleteTagLocally = function(){
+ from_target[tagname].remove();
+ delete from_target[tagname];
+ }
+ if (send_ajax){
+ sendAjax(tagname,reason,'remove',deleteTagLocally);
+ }
+ else {
+ deleteTagLocally();
+ }
+
+ }
+
+ var setupTagDeleteEvents = function(obj,tag_store,tagname,reason,send_ajax){
+ obj.unbind('mouseover').bind('mouseover', function(){
+ $(this).attr('src', scriptUrl + 'content/images/close-small-hover.png');
+ });
+ obj.unbind('mouseout').bind('mouseout', function(){
+ $(this).attr('src', scriptUrl + 'content/images/close-small-dark.png');
+ });
+ obj.click( function(){
+ unpickTag(tag_store,tagname,reason,send_ajax);
+ });
+ }
+
+ var handlePickedTag = function(obj,reason){
+ var tagname = $.trim($(obj).prev().attr('value'));
+ to_target = interestingTags;
+ from_target = ignoredTags;
+ if (reason == 'bad'){
+ to_target = ignoredTags;
+ from_target = interestingTags;
+ to_tag_container = $('div .tags.ignored');
+ }
+ else if (reason != 'good'){
+ return;
+ }
+ else {
+ to_tag_container = $('div .tags.interesting');
+ }
+
+ if (tagname in from_target){
+ unpickTag(from_target,tagname,reason,false);
+ }
+
+ if (!(tagname in to_target)){
+ //send ajax request to pick this tag
+
+ sendAjax(tagname,reason,'add',function(){
+ new_tag = $('');
+ new_tag.addClass('deletable-tag');
+ tag_link = $('');
+ tag_link.attr('rel','tag');
+ tag_link.attr('href', scriptUrl + $.i18n._('tags/') + tagname);
+ tag_link.html(tagname);
+ del_link = $('
');
+ del_link.addClass('delete-icon');
+ del_link.attr('src', scriptUrl + 'content/images/close-small-dark.png');
+
+ setupTagDeleteEvents(del_link, to_target, tagname, reason, true);
+
+ new_tag.append(tag_link);
+ new_tag.append(del_link);
+ to_tag_container.append(new_tag);
+
+ to_target[tagname] = new_tag;
+ });
+ }
+ }
+
+ var collectPickedTags = function(){
+ var good_prefix = 'interesting-tag-';
+ var bad_prefix = 'ignored-tag-';
+ var good_re = RegExp('^' + good_prefix);
+ var bad_re = RegExp('^' + bad_prefix);
+ interestingTags = {};
+ ignoredTags = {};
+ $('.deletable-tag').each(
+ function(i,item){
+ item_id = $(item).attr('id')
+ if (good_re.test(item_id)){
+ tag_name = item_id.replace(good_prefix,'');
+ tag_store = interestingTags;
+ reason = 'good';
+ }
+ else if (bad_re.test(item_id)){
+ tag_name = item_id.replace(bad_prefix,'');
+ tag_store = ignoredTags;
+ reason = 'bad';
+ }
+ else {
+ return;
+ }
+ tag_store[tag_name] = $(item);
+ setupTagDeleteEvents($(item).find('img'),tag_store,tag_name,reason,true)
+ }
+ );
+ }
+
+ var setupHideIgnoredQuestionsControl = function(){
+ $('#hideIgnoredTagsCb').unbind('click').click(function(){
+ $.ajax({
+ type: 'POST',
+ dataType: 'json',
+ cache: false,
+ url: scriptUrl + $.i18n._('command/'),
+ data: {command:'toggle-ignored-questions'}
+ });
+ });
+ }
+ return {
+ init: function(){
+ collectPickedTags();
+ setupHideIgnoredQuestionsControl();
+ $("#interestingTagInput, #ignoredTagInput").autocomplete(tags, {
+ minChars: 1,
+ matchContains: true,
+ max: 20,
+ multiple: true,
+ multipleSeparator: " ",
+ formatItem: function(row, i, max) {
+ return row.n + " ("+ row.c +")";
+ },
+ formatResult: function(row, i, max){
+ return row.n;
+ }
+
+ });
+ $("#interestingTagAdd").click(function(){handlePickedTag(this,'good')});
+ $("#ignoredTagAdd").click(function(){handlePickedTag(this,'bad')});
+ }
+ };
+}
+
+$(document).ready( function(){
+ pickedTags().init();
+});
diff --git a/templates/index.html b/templates/index.html
index 68a13197..4041b863 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -18,7 +18,7 @@
});
-
+
{% endblock %}
{% block content %}