From 84e573c204b24fe06d4edba03bf4b4696da3339a Mon Sep 17 00:00:00 2001
From: Adolfo Fitoria
示例:
http://www.example.com/image.jpg \"我的截图\""
+
+#: skins/common/media/js/wmd/wmd.js:54
+msgid "enter url"
+msgstr "输入Web地址
示例:
http://www.cnprog.com/ \"我的网站\"
Ctrl-."; - var toolbar_code_label = $.i18n._('preformatted text') + "Ctrl-K"; - var toolbar_image_label = $.i18n._('image') + " Ctrl-G"; - var toolbar_attachment_label = $.i18n._('attachment') + " Ctrl-F"; - var toolbar_numbered_label = $.i18n._('numbered list') + "
Ctrl-O"; - var toolbar_bulleted_label = $.i18n._('bulleted list') + "
Ctrl-U"; - var toolbar_heading_label = $.i18n._('heading') + "
/
Ctrl-H"; - var toolbar_horizontal_label = $.i18n._('horizontal bar') + "
Ctrl-R"; - var toolbar_undo_label = $.i18n._('undo') + " Ctrl-Z"; - var toolbar_redo_label = $.i18n._('redo') + " Ctrl-Y"; + var toolbar_strong_label = gettext('bold') + " Ctrl-B"; + var toolbar_emphasis_label = gettext('italic') + " Ctrl-I"; + var toolbar_hyperlink_label = gettext('link') + " Ctrl-L"; + var toolbar_blockquote_label = gettext('quote') + "Ctrl-."; + var toolbar_code_label = gettext('preformatted text') + "Ctrl-K"; + var toolbar_image_label = gettext('image') + " Ctrl-G"; + var toolbar_attachment_label = gettext('attachment') + " Ctrl-F"; + var toolbar_numbered_label = gettext('numbered list') + "
Ctrl-O"; + var toolbar_bulleted_label = gettext('bulleted list') + "
Ctrl-U"; + var toolbar_heading_label = gettext('heading') + "
/
Ctrl-H"; + var toolbar_horizontal_label = gettext('horizontal bar') + "
Ctrl-R"; + var toolbar_undo_label = gettext('undo') + " Ctrl-Z"; + var toolbar_redo_label = gettext('redo') + " Ctrl-Y"; // ------------------------------------------------------------------- // YOUR CHANGES GO HERE @@ -50,9 +50,9 @@ Attacklab.wmdBase = function(){ // The text that appears on the upper part of the dialog box when // entering links. - var imageDialogText = "" + $.i18n._('enter image url') + '
'; - var linkDialogText = "" + $.i18n._('enter url') + '
'; - var fileDialogText = "" + $.i18n._('upload file attachment') + '
'; + var imageDialogText = "" + gettext('enter image url') + '
'; + var linkDialogText = "" + gettext('enter url') + '
'; + var fileDialogText = "" + gettext('upload file attachment') + '
'; // The default text that appears in the dialog input box when entering // links. var imageDefaultText = "http://"; @@ -1113,7 +1113,7 @@ util.prompt = function(text, defaultInputText, makeLinkMarkdown, dialogType){ } else { // mac and other non-Windows platforms - redoButton.title = $.i18n._('redo') + " - Ctrl+Shift+Z"; + redoButton.title = gettext('redo') + " - Ctrl+Shift+Z"; } redoButton.XShift = "-240px"; redoButton.execute = function(manager){ @@ -1775,14 +1775,14 @@ util.prompt = function(text, defaultInputText, makeLinkMarkdown, dialogType){ if (!chunk.selection) { if (itemType == 'image') { - chunk.selection = $.i18n._("image description"); + chunk.selection = gettext("image description"); } else if (itemType == 'file'){ - chunk.selection = localUploadFileName || $.i18n._("file name"); + chunk.selection = localUploadFileName || gettext("file name"); localUploadFileName = null; } else { - chunk.selection = $.i18n._("link text"); + chunk.selection = gettext("link text"); } } } diff --git a/askbot/skins/default/templates/meta/html_head_javascript.html b/askbot/skins/default/templates/meta/html_head_javascript.html index f960d11d..900b1191 100644 --- a/askbot/skins/default/templates/meta/html_head_javascript.html +++ b/askbot/skins/default/templates/meta/html_head_javascript.html @@ -5,6 +5,7 @@ askbot['settings'] = {}; askbot['messages'] = {}; + {% block forejs %} {% endblock %} {# avoid adding javascript here so that pages load faster #} diff --git a/askbot/urls.py b/askbot/urls.py index 8c1e3c3a..a45a530f 100644 --- a/askbot/urls.py +++ b/askbot/urls.py @@ -280,7 +280,7 @@ urlpatterns = patterns('', url( r'^jsi18n/$', 'django.views.i18n.javascript_catalog', - {'packages': ('askbot',)}, + {'domain': 'djangojs','packages': ('askbot',)}, name = 'askbot_jsi18n' ), ) -- cgit v1.2.3-1-g7c22 From 52441036f659ac40cd6f1cbd82510a5f53a61134 Mon Sep 17 00:00:00 2001 From: Rosandra CuelloDate: Wed, 28 Sep 2011 08:32:41 -0700 Subject: i18n.js messages moved to .po files --- askbot/locale/de/LC_MESSAGES/djangojs.mo | Bin 408 -> 2686 bytes askbot/locale/de/LC_MESSAGES/djangojs.po | 120 +++++++------- askbot/locale/en/LC_MESSAGES/djangojs.mo | Bin 407 -> 2128 bytes askbot/locale/en/LC_MESSAGES/djangojs.po | 42 ++--- askbot/locale/es/LC_MESSAGES/djangojs.mo | Bin 408 -> 2815 bytes askbot/locale/es/LC_MESSAGES/djangojs.po | 120 +++++++------- askbot/locale/fi/LC_MESSAGES/djangojs.mo | Bin 408 -> 1658 bytes askbot/locale/fi/LC_MESSAGES/djangojs.po | 28 ++-- askbot/locale/fr/LC_MESSAGES/djangojs.mo | Bin 407 -> 2763 bytes askbot/locale/fr/LC_MESSAGES/djangojs.po | 118 +++++++------- askbot/locale/it/LC_MESSAGES/djangojs.mo | Bin 408 -> 2849 bytes askbot/locale/it/LC_MESSAGES/djangojs.po | 120 +++++++------- askbot/locale/ja/LC_MESSAGES/djangojs.mo | Bin 401 -> 401 bytes askbot/locale/ko/LC_MESSAGES/djangojs.mo | Bin 401 -> 401 bytes askbot/locale/pt_BR/LC_MESSAGES/djangojs.mo | Bin 407 -> 407 bytes askbot/locale/ro/LC_MESSAGES/djangojs.mo | Bin 472 -> 472 bytes askbot/locale/ru/LC_MESSAGES/djangojs.mo | Bin 1407 -> 7106 bytes askbot/locale/ru/LC_MESSAGES/djangojs.po | 173 +++++++++++---------- askbot/locale/sr/LC_MESSAGES/djangojs.mo | Bin 482 -> 482 bytes askbot/locale/tr/LC_MESSAGES/djangojs.mo | Bin 407 -> 2683 bytes askbot/locale/tr/LC_MESSAGES/djangojs.po | 120 +++++++------- askbot/locale/vi/LC_MESSAGES/djangojs.mo | Bin 401 -> 401 bytes askbot/locale/zh-tw/LC_MESSAGES/djangojs.mo | Bin 402 -> 2543 bytes askbot/locale/zh-tw/LC_MESSAGES/djangojs.po | 72 ++++----- askbot/locale/zh_CN/LC_MESSAGES/djangojs.mo | Bin 401 -> 2645 bytes askbot/locale/zh_CN/LC_MESSAGES/djangojs.po | 2 +- .../default/templates/meta/bottom_scripts.html | 1 - 27 files changed, 492 insertions(+), 424 deletions(-) diff --git a/askbot/locale/de/LC_MESSAGES/djangojs.mo b/askbot/locale/de/LC_MESSAGES/djangojs.mo index 7e87fdc8..71a9a6cb 100644 Binary files a/askbot/locale/de/LC_MESSAGES/djangojs.mo and b/askbot/locale/de/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/de/LC_MESSAGES/djangojs.po b/askbot/locale/de/LC_MESSAGES/djangojs.po index b890fa9f..6d48c0bb 100644 --- a/askbot/locale/de/LC_MESSAGES/djangojs.po +++ b/askbot/locale/de/LC_MESSAGES/djangojs.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: 0.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-09-28 00:32-0700\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2011-09-28 04:28-0800\n" +"Last-Translator: Rosandra Cuello \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" @@ -27,9 +27,7 @@ msgid "Please add one or more login methods." msgstr "" #: skins/common/media/jquery-openid/jquery.openid.js:93 -msgid "" -"You don't have a method to log in right now, please add one or more by " -"clicking any of the icons below." +msgid "You don't have a method to log in right now, please add one or more by clicking any of the icons below." msgstr "" #: skins/common/media/jquery-openid/jquery.openid.js:135 @@ -73,39 +71,41 @@ msgstr "" #: skins/common/media/js/post.js:28 msgid "loading..." -msgstr "" +msgstr "Lade..." -#: skins/common/media/js/post.js:127 skins/common/media/js/post.js.c:856 +#: skins/common/media/js/post.js:127 +#: skins/common/media/js/post.js.c:856 msgid "tags cannot be empty" -msgstr "" +msgstr "Tags dürfen nicht leer sein" #: skins/common/media/js/post.js:133 msgid "content cannot be empty" -msgstr "" +msgstr "Inhalt darf nicht leer sein" #: skins/common/media/js/post.js:134 msgid "content minchars" -msgstr "" +msgstr "Bitte mindestens {0} Zeichen eingeben" #: skins/common/media/js/post.js:137 msgid "please enter title" -msgstr "" +msgstr "Bitte Titel eingeben" -#: skins/common/media/js/post.js:138 skins/common/media/js/post.js.c:981 +#: skins/common/media/js/post.js:138 +#: skins/common/media/js/post.js.c:981 msgid "title minchars" -msgstr "" +msgstr "Bitte mindestens {0} Zeichen eingeben" #: skins/common/media/js/post.js:281 msgid "insufficient privilege" -msgstr "" +msgstr "nicht genügend Rechte" #: skins/common/media/js/post.js:282 msgid "cannot pick own answer as best" -msgstr "" +msgstr "Eigene Antworten können nicht als die korrekte akzeptiert werden" #: skins/common/media/js/post.js:287 msgid "please login" -msgstr "" +msgstr "Bitte einloggen" #: skins/common/media/js/post.js:289 msgid "anonymous users cannot follow questions" @@ -117,62 +117,67 @@ msgstr "" #: skins/common/media/js/post.js:291 msgid "anonymous users cannot vote" -msgstr "" +msgstr "Gastbenutzer können nicht abstimmen " #: skins/common/media/js/post.js:293 msgid "please confirm offensive" -msgstr "" +msgstr "Bitte beleidigenden/regelwidrigen Beitrag bestätigen" #: skins/common/media/js/post.js:294 msgid "anonymous users cannot flag offensive posts" -msgstr "" +msgstr "Gastbenutzer können Beiträge nicht melden" #: skins/common/media/js/post.js:295 msgid "confirm delete" -msgstr "" +msgstr "Löschen bestätigen" #: skins/common/media/js/post.js:296 msgid "anonymous users cannot delete/undelete" -msgstr "" +msgstr "Gastbenutzer können Beiträge nicht löschen oder wiederherstellen" #: skins/common/media/js/post.js:297 msgid "post recovered" -msgstr "" +msgstr "Beitrag wiederhergestellt" #: skins/common/media/js/post.js:298 msgid "post deleted" -msgstr "" +msgstr "Beitrag gelöscht" -#: skins/common/media/js/post.js:536 skins/default/media/js/post.js:535 +#: skins/common/media/js/post.js:536 +#: skins/default/media/js/post.js:535 #: skins/old/media/js/post.js:535 msgid "Follow" msgstr "" -#: skins/common/media/js/post.js:545 skins/common/media/js/post.js.c:554 -#: skins/default/media/js/post.js:544 skins/default/media/js/post.js.c:553 -#: skins/old/media/js/post.js:544 skins/old/media/js/post.js.c:553 +#: skins/common/media/js/post.js:545 +#: skins/common/media/js/post.js.c:554 +#: skins/default/media/js/post.js:544 +#: skins/default/media/js/post.js.c:553 +#: skins/old/media/js/post.js:544 +#: skins/old/media/js/post.js.c:553 #, c-format msgid "%s follower" msgid_plural "%s followers" msgstr[0] "" msgstr[1] "" -#: skins/common/media/js/post.js:550 skins/default/media/js/post.js:549 +#: skins/common/media/js/post.js:550 +#: skins/default/media/js/post.js:549 #: skins/old/media/js/post.js:549 msgid " FollowingUnfollow" msgstr "" #: skins/common/media/js/post.js:612 msgid "undelete" -msgstr "" +msgstr "wiederherstellen" #: skins/common/media/js/post.js:617 msgid "delete" -msgstr "" +msgstr "löschen" #: skins/common/media/js/post.js:954 msgid "add comment" -msgstr "" +msgstr "OK" #: skins/common/media/js/post.js:957 msgid "save comment" @@ -185,7 +190,7 @@ msgstr "" #: skins/common/media/js/post.js:989 #, c-format msgid "%s characters left" -msgstr "" +msgstr "%s characters left" #: skins/common/media/js/post.js:1060 msgid "cancel" @@ -197,13 +202,14 @@ msgstr "" #: skins/common/media/js/post.js:1177 msgid "delete this comment" -msgstr "" +msgstr "Diesen Kommentar löschen" #: skins/common/media/js/post.js:1381 msgid "confirm delete comment" -msgstr "" +msgstr "Löschen des Kommentars bestätigen" -#: skins/common/media/js/post.js:1622 skins/default/media/js/post.js:1621 +#: skins/common/media/js/post.js:1622 +#: skins/default/media/js/post.js:1621 #: skins/old/media/js/post.js:1621 msgid "Please enter question title (>10 characters)" msgstr "" @@ -231,24 +237,28 @@ msgid_plural "Delete these notifications?" msgstr[0] "" msgstr[1] "" -#: skins/common/media/js/user.js:125 skins/default/media/js/user.js:129 +#: skins/common/media/js/user.js:125 +#: skins/default/media/js/user.js:129 #: skins/old/media/js/user.js:129 msgid "Please signin to follow %(username)s" msgstr "" -#: skins/common/media/js/user.js:157 skins/default/media/js/user.js:161 +#: skins/common/media/js/user.js:157 +#: skins/default/media/js/user.js:161 #: skins/old/media/js/user.js:161 #, c-format msgid "unfollow %s" msgstr "" -#: skins/common/media/js/user.js:160 skins/default/media/js/user.js:164 +#: skins/common/media/js/user.js:160 +#: skins/default/media/js/user.js:164 #: skins/old/media/js/user.js:164 #, c-format msgid "following %s" msgstr "" -#: skins/common/media/js/user.js:166 skins/default/media/js/user.js:170 +#: skins/common/media/js/user.js:166 +#: skins/default/media/js/user.js:170 #: skins/old/media/js/user.js:170 #, c-format msgid "follow %s" @@ -273,27 +283,27 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:30 msgid "bold" -msgstr "" +msgstr "Fett" #: skins/common/media/js/wmd/wmd.js:31 msgid "italic" -msgstr "" +msgstr "Kursiv" #: skins/common/media/js/wmd/wmd.js:32 msgid "link" -msgstr "" +msgstr "Link" #: skins/common/media/js/wmd/wmd.js:33 msgid "quote" -msgstr "" +msgstr "Zitat" #: skins/common/media/js/wmd/wmd.js:34 msgid "preformatted text" -msgstr "" +msgstr "Vorformatierter Text" #: skins/common/media/js/wmd/wmd.js:35 msgid "image" -msgstr "" +msgstr "Bild" #: skins/common/media/js/wmd/wmd.js:36 msgid "attachment" @@ -301,35 +311,36 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:37 msgid "numbered list" -msgstr "" +msgstr "Nummerierte Liste" #: skins/common/media/js/wmd/wmd.js:38 msgid "bulleted list" -msgstr "" +msgstr "Liste" #: skins/common/media/js/wmd/wmd.js:39 msgid "heading" -msgstr "" +msgstr "Titel" #: skins/common/media/js/wmd/wmd.js:40 msgid "horizontal bar" -msgstr "" +msgstr "horizontaler Balken" #: skins/common/media/js/wmd/wmd.js:41 msgid "undo" -msgstr "" +msgstr "Rückgängig" -#: skins/common/media/js/wmd/wmd.js:42 skins/common/media/js/wmd/wmd.js:1116 +#: skins/common/media/js/wmd/wmd.js:42 +#: skins/common/media/js/wmd/wmd.js:1116 msgid "redo" -msgstr "" +msgstr "Wiederholen" #: skins/common/media/js/wmd/wmd.js:53 msgid "enter image url" -msgstr "" +msgstr "Bild-URL eingeben, zum Beispiel
http://www.ihredomain.de/bildname.jpg" #: skins/common/media/js/wmd/wmd.js:54 msgid "enter url" -msgstr "" +msgstr "URL eingeben, zum Beispiel
http://www.askbot.org/ " #: skins/common/media/js/wmd/wmd.js:55 msgid "upload file attachment" @@ -346,3 +357,4 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:1785 msgid "link text" msgstr "" + diff --git a/askbot/locale/en/LC_MESSAGES/djangojs.mo b/askbot/locale/en/LC_MESSAGES/djangojs.mo index 674f4542..2ff7a404 100644 Binary files a/askbot/locale/en/LC_MESSAGES/djangojs.mo and b/askbot/locale/en/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/en/LC_MESSAGES/djangojs.po b/askbot/locale/en/LC_MESSAGES/djangojs.po index 8ec58477..783a1d82 100644 --- a/askbot/locale/en/LC_MESSAGES/djangojs.po +++ b/askbot/locale/en/LC_MESSAGES/djangojs.po @@ -77,7 +77,7 @@ msgstr "" #: skins/common/media/js/post.js:127 skins/common/media/js/post.js.c:856 msgid "tags cannot be empty" -msgstr "" +msgstr "please enter at least one tag" #: skins/common/media/js/post.js:133 msgid "content cannot be empty" @@ -85,7 +85,7 @@ msgstr "" #: skins/common/media/js/post.js:134 msgid "content minchars" -msgstr "" +msgstr "please enter more than {0} characters" #: skins/common/media/js/post.js:137 msgid "please enter title" @@ -93,7 +93,7 @@ msgstr "" #: skins/common/media/js/post.js:138 skins/common/media/js/post.js.c:981 msgid "title minchars" -msgstr "" +msgstr "please enter at least {0} characters" #: skins/common/media/js/post.js:281 msgid "insufficient privilege" @@ -101,7 +101,7 @@ msgstr "" #: skins/common/media/js/post.js:282 msgid "cannot pick own answer as best" -msgstr "" +msgstr "sorry, you cannot accept your own answer" #: skins/common/media/js/post.js:287 msgid "please login" @@ -117,11 +117,11 @@ msgstr "" #: skins/common/media/js/post.js:291 msgid "anonymous users cannot vote" -msgstr "" +msgstr "sorry, anonymous users cannot vote " #: skins/common/media/js/post.js:293 msgid "please confirm offensive" -msgstr "" +msgstr "are you sure this post is offensive, contains spam, advertising, malicious remarks, etc.?" #: skins/common/media/js/post.js:294 msgid "anonymous users cannot flag offensive posts" @@ -129,24 +129,24 @@ msgstr "" #: skins/common/media/js/post.js:295 msgid "confirm delete" -msgstr "" +msgstr "are you sure you want to delete this?" #: skins/common/media/js/post.js:296 msgid "anonymous users cannot delete/undelete" -msgstr "" +msgstr "sorry, anonymous users cannot delete or undelete posts" #: skins/common/media/js/post.js:297 msgid "post recovered" -msgstr "" +msgstr "your post is now restored!" #: skins/common/media/js/post.js:298 msgid "post deleted" -msgstr "" +msgstr "your post has been deleted" #: skins/common/media/js/post.js:536 skins/default/media/js/post.js:535 #: skins/old/media/js/post.js:535 msgid "Follow" -msgstr "" +msgstr "Follow" #: skins/common/media/js/post.js:545 skins/common/media/js/post.js.c:554 #: skins/default/media/js/post.js:544 skins/default/media/js/post.js.c:553 @@ -160,7 +160,7 @@ msgstr[1] "" #: skins/common/media/js/post.js:550 skins/default/media/js/post.js:549 #: skins/old/media/js/post.js:549 msgid "FollowingUnfollow" -msgstr "" +msgstr "FollowingUnfollow" #: skins/common/media/js/post.js:612 msgid "undelete" @@ -176,11 +176,11 @@ msgstr "" #: skins/common/media/js/post.js:957 msgid "save comment" -msgstr "" +msgstr "save comment" #: skins/common/media/js/post.js:984 msgid "enter more characters" -msgstr "" +msgstr "please enter at least {0} more characters" #: skins/common/media/js/post.js:989 #, c-format @@ -193,7 +193,7 @@ msgstr "" #: skins/common/media/js/post.js:1103 msgid "confirm abandon comment" -msgstr "" +msgstr "Are you sure you do not want to post this comment?" #: skins/common/media/js/post.js:1177 msgid "delete this comment" @@ -201,7 +201,7 @@ msgstr "" #: skins/common/media/js/post.js:1381 msgid "confirm delete comment" -msgstr "" +msgstr "do you really want to delete this comment?" #: skins/common/media/js/post.js:1622 skins/default/media/js/post.js:1621 #: skins/old/media/js/post.js:1621 @@ -260,11 +260,11 @@ msgstr "" #: skins/common/media/js/utils.js:214 msgid "click to edit this comment" -msgstr "" +msgstr "click to edit this comment" #: skins/common/media/js/utils.js:215 msgid "edit" -msgstr "" +msgstr "edit" #: skins/common/media/js/utils.js:369 #, c-format @@ -325,15 +325,15 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:53 msgid "enter image url" -msgstr "" +msgstr "enter URL of the image, e.g. http://www.example.com/image.jpg or upload an image file" #: skins/common/media/js/wmd/wmd.js:54 msgid "enter url" -msgstr "" +msgstr "enter Web address, e.g. http://www.example.com \"page title\"" #: skins/common/media/js/wmd/wmd.js:55 msgid "upload file attachment" -msgstr "" +msgstr "Please choose and upload a file:" #: skins/common/media/js/wmd/wmd.js:1778 msgid "image description" diff --git a/askbot/locale/es/LC_MESSAGES/djangojs.mo b/askbot/locale/es/LC_MESSAGES/djangojs.mo index 462417d2..b6e2eb66 100644 Binary files a/askbot/locale/es/LC_MESSAGES/djangojs.mo and b/askbot/locale/es/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/es/LC_MESSAGES/djangojs.po b/askbot/locale/es/LC_MESSAGES/djangojs.po index 97370910..a5dc9d4c 100644 --- a/askbot/locale/es/LC_MESSAGES/djangojs.po +++ b/askbot/locale/es/LC_MESSAGES/djangojs.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: 0.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-09-28 00:33-0700\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME\n" +"PO-Revision-Date: 2011-09-28 04:20-0800\n" +"Last-Translator: Rosandra Cuello \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" @@ -27,9 +27,7 @@ msgid "Please add one or more login methods." msgstr "" #: skins/common/media/jquery-openid/jquery.openid.js:93 -msgid "" -"You don't have a method to log in right now, please add one or more by " -"clicking any of the icons below." +msgid "You don't have a method to log in right now, please add one or more by clicking any of the icons below." msgstr "" #: skins/common/media/jquery-openid/jquery.openid.js:135 @@ -73,39 +71,41 @@ msgstr "" #: skins/common/media/js/post.js:28 msgid "loading..." -msgstr "" +msgstr "cargando..." -#: skins/common/media/js/post.js:127 skins/common/media/js/post.js.c:856 +#: skins/common/media/js/post.js:127 +#: skins/common/media/js/post.js.c:856 msgid "tags cannot be empty" -msgstr "" +msgstr "las etiquetas no pueden estar vacías" #: skins/common/media/js/post.js:133 msgid "content cannot be empty" -msgstr "" +msgstr "el contenido no puede estar vacío" #: skins/common/media/js/post.js:134 msgid "content minchars" -msgstr "" +msgstr "por favor introduzca mas de {0} caracteres" #: skins/common/media/js/post.js:137 msgid "please enter title" -msgstr "" +msgstr "por favor ingrese un título" -#: skins/common/media/js/post.js:138 skins/common/media/js/post.js.c:981 +#: skins/common/media/js/post.js:138 +#: skins/common/media/js/post.js.c:981 msgid "title minchars" -msgstr "" +msgstr "por favor introduzca al menos {0} caracteres" #: skins/common/media/js/post.js:281 msgid "insufficient privilege" -msgstr "" +msgstr "privilegio insuficiente" #: skins/common/media/js/post.js:282 msgid "cannot pick own answer as best" -msgstr "" +msgstr "no puede escoger su propia respuesta como la mejor" #: skins/common/media/js/post.js:287 msgid "please login" -msgstr "" +msgstr "por favor inicie sesión" #: skins/common/media/js/post.js:289 msgid "anonymous users cannot follow questions" @@ -117,62 +117,67 @@ msgstr "" #: skins/common/media/js/post.js:291 msgid "anonymous users cannot vote" -msgstr "" +msgstr "usuarios anónimos no pueden votar" #: skins/common/media/js/post.js:293 msgid "please confirm offensive" -msgstr "" +msgstr "por favor confirme ofensiva" #: skins/common/media/js/post.js:294 msgid "anonymous users cannot flag offensive posts" -msgstr "" +msgstr "usuarios anónimos no pueden marcar publicaciones como ofensivas" #: skins/common/media/js/post.js:295 msgid "confirm delete" -msgstr "" +msgstr "¿Está seguro que desea borrar esto?" #: skins/common/media/js/post.js:296 msgid "anonymous users cannot delete/undelete" -msgstr "" +msgstr "usuarios anónimos no pueden borrar o recuperar publicaciones" #: skins/common/media/js/post.js:297 msgid "post recovered" -msgstr "" +msgstr "publicación recuperada" #: skins/common/media/js/post.js:298 msgid "post deleted" -msgstr "" +msgstr "publicación borrada。" -#: skins/common/media/js/post.js:536 skins/default/media/js/post.js:535 +#: skins/common/media/js/post.js:536 +#: skins/default/media/js/post.js:535 #: skins/old/media/js/post.js:535 msgid "Follow" msgstr "" -#: skins/common/media/js/post.js:545 skins/common/media/js/post.js.c:554 -#: skins/default/media/js/post.js:544 skins/default/media/js/post.js.c:553 -#: skins/old/media/js/post.js:544 skins/old/media/js/post.js.c:553 +#: skins/common/media/js/post.js:545 +#: skins/common/media/js/post.js.c:554 +#: skins/default/media/js/post.js:544 +#: skins/default/media/js/post.js.c:553 +#: skins/old/media/js/post.js:544 +#: skins/old/media/js/post.js.c:553 #, c-format msgid "%s follower" msgid_plural "%s followers" msgstr[0] "" msgstr[1] "" -#: skins/common/media/js/post.js:550 skins/default/media/js/post.js:549 +#: skins/common/media/js/post.js:550 +#: skins/default/media/js/post.js:549 #: skins/old/media/js/post.js:549 msgid " FollowingUnfollow" msgstr "" #: skins/common/media/js/post.js:612 msgid "undelete" -msgstr "" +msgstr "recuperar" #: skins/common/media/js/post.js:617 msgid "delete" -msgstr "" +msgstr "borrar" #: skins/common/media/js/post.js:954 msgid "add comment" -msgstr "" +msgstr "agregar comentario" #: skins/common/media/js/post.js:957 msgid "save comment" @@ -185,7 +190,7 @@ msgstr "" #: skins/common/media/js/post.js:989 #, c-format msgid "%s characters left" -msgstr "" +msgstr "%s caracteres faltantes" #: skins/common/media/js/post.js:1060 msgid "cancel" @@ -197,13 +202,14 @@ msgstr "" #: skins/common/media/js/post.js:1177 msgid "delete this comment" -msgstr "" +msgstr "borrar este comentario" #: skins/common/media/js/post.js:1381 msgid "confirm delete comment" -msgstr "" +msgstr "¿Realmente desea borrar este comentario?" -#: skins/common/media/js/post.js:1622 skins/default/media/js/post.js:1621 +#: skins/common/media/js/post.js:1622 +#: skins/default/media/js/post.js:1621 #: skins/old/media/js/post.js:1621 msgid "Please enter question title (>10 characters)" msgstr "" @@ -231,24 +237,28 @@ msgid_plural "Delete these notifications?" msgstr[0] "" msgstr[1] "" -#: skins/common/media/js/user.js:125 skins/default/media/js/user.js:129 +#: skins/common/media/js/user.js:125 +#: skins/default/media/js/user.js:129 #: skins/old/media/js/user.js:129 msgid "Please signin to follow %(username)s" msgstr "" -#: skins/common/media/js/user.js:157 skins/default/media/js/user.js:161 +#: skins/common/media/js/user.js:157 +#: skins/default/media/js/user.js:161 #: skins/old/media/js/user.js:161 #, c-format msgid "unfollow %s" msgstr "" -#: skins/common/media/js/user.js:160 skins/default/media/js/user.js:164 +#: skins/common/media/js/user.js:160 +#: skins/default/media/js/user.js:164 #: skins/old/media/js/user.js:164 #, c-format msgid "following %s" msgstr "" -#: skins/common/media/js/user.js:166 skins/default/media/js/user.js:170 +#: skins/common/media/js/user.js:166 +#: skins/default/media/js/user.js:170 #: skins/old/media/js/user.js:170 #, c-format msgid "follow %s" @@ -273,27 +283,27 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:30 msgid "bold" -msgstr "" +msgstr "negrita" #: skins/common/media/js/wmd/wmd.js:31 msgid "italic" -msgstr "" +msgstr "cursiva" #: skins/common/media/js/wmd/wmd.js:32 msgid "link" -msgstr "" +msgstr "enlace" #: skins/common/media/js/wmd/wmd.js:33 msgid "quote" -msgstr "" +msgstr "citar" #: skins/common/media/js/wmd/wmd.js:34 msgid "preformatted text" -msgstr "" +msgstr "texto preformateado" #: skins/common/media/js/wmd/wmd.js:35 msgid "image" -msgstr "" +msgstr "imagen" #: skins/common/media/js/wmd/wmd.js:36 msgid "attachment" @@ -301,35 +311,36 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:37 msgid "numbered list" -msgstr "" +msgstr "lista numerada" #: skins/common/media/js/wmd/wmd.js:38 msgid "bulleted list" -msgstr "" +msgstr "lista no numerada" #: skins/common/media/js/wmd/wmd.js:39 msgid "heading" -msgstr "" +msgstr "encabezado" #: skins/common/media/js/wmd/wmd.js:40 msgid "horizontal bar" -msgstr "" +msgstr "barra horizontal" #: skins/common/media/js/wmd/wmd.js:41 msgid "undo" -msgstr "" +msgstr "deshacer" -#: skins/common/media/js/wmd/wmd.js:42 skins/common/media/js/wmd/wmd.js:1116 +#: skins/common/media/js/wmd/wmd.js:42 +#: skins/common/media/js/wmd/wmd.js:1116 msgid "redo" -msgstr "" +msgstr "rehacer" #: skins/common/media/js/wmd/wmd.js:53 msgid "enter image url" -msgstr "" +msgstr "introduzca la URL de la imagen, por ejemplo:
http://www.example.com/image.jpg \"titulo de imagen\"" #: skins/common/media/js/wmd/wmd.js:54 msgid "enter url" -msgstr "" +msgstr "introduzca direcciones web, ejemplo:
http://www.cnprog.com/ \"titulo del enlace\"" #: skins/common/media/js/wmd/wmd.js:55 msgid "upload file attachment" @@ -346,3 +357,4 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:1785 msgid "link text" msgstr "" + diff --git a/askbot/locale/fi/LC_MESSAGES/djangojs.mo b/askbot/locale/fi/LC_MESSAGES/djangojs.mo index 0be0e2e5..ec5b9631 100644 Binary files a/askbot/locale/fi/LC_MESSAGES/djangojs.mo and b/askbot/locale/fi/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/fi/LC_MESSAGES/djangojs.po b/askbot/locale/fi/LC_MESSAGES/djangojs.po index 97370910..d98fb20e 100644 --- a/askbot/locale/fi/LC_MESSAGES/djangojs.po +++ b/askbot/locale/fi/LC_MESSAGES/djangojs.po @@ -77,7 +77,7 @@ msgstr "" #: skins/common/media/js/post.js:127 skins/common/media/js/post.js.c:856 msgid "tags cannot be empty" -msgstr "" +msgstr "anna vähintään yksi tagi" #: skins/common/media/js/post.js:133 msgid "content cannot be empty" @@ -85,7 +85,7 @@ msgstr "" #: skins/common/media/js/post.js:134 msgid "content minchars" -msgstr "" +msgstr "syötä vähintään {0} merkkiä" #: skins/common/media/js/post.js:137 msgid "please enter title" @@ -93,7 +93,7 @@ msgstr "" #: skins/common/media/js/post.js:138 skins/common/media/js/post.js.c:981 msgid "title minchars" -msgstr "" +msgstr "syötä vähintään {0} merkkiä" #: skins/common/media/js/post.js:281 msgid "insufficient privilege" @@ -101,7 +101,7 @@ msgstr "" #: skins/common/media/js/post.js:282 msgid "cannot pick own answer as best" -msgstr "" +msgstr "et voi hyväksyä omaa vastaustasi parhaaksi" #: skins/common/media/js/post.js:287 msgid "please login" @@ -117,11 +117,11 @@ msgstr "" #: skins/common/media/js/post.js:291 msgid "anonymous users cannot vote" -msgstr "" +msgstr "kirjaudu sisään, jotta voit käyttää tätä ominaisuutta " #: skins/common/media/js/post.js:293 msgid "please confirm offensive" -msgstr "" +msgstr "oletko varma, että tämä on roskaposti, loukkaava tai muuta hyväksymätöntä?" #: skins/common/media/js/post.js:294 msgid "anonymous users cannot flag offensive posts" @@ -129,19 +129,19 @@ msgstr "" #: skins/common/media/js/post.js:295 msgid "confirm delete" -msgstr "" +msgstr "oletko varma, että haluat poistaa tämän?" #: skins/common/media/js/post.js:296 msgid "anonymous users cannot delete/undelete" -msgstr "" +msgstr "kirjaudu sisään, jotta voit käyttää tätä ominaisuutta" #: skins/common/media/js/post.js:297 msgid "post recovered" -msgstr "" +msgstr "postauksesi on palautettu!" #: skins/common/media/js/post.js:298 msgid "post deleted" -msgstr "" +msgstr "postauksesi on poistettu" #: skins/common/media/js/post.js:536 skins/default/media/js/post.js:535 #: skins/old/media/js/post.js:535 @@ -185,7 +185,7 @@ msgstr "" #: skins/common/media/js/post.js:989 #, c-format msgid "%s characters left" -msgstr "" +msgstr "%s merkkiä jäljellä" #: skins/common/media/js/post.js:1060 msgid "cancel" @@ -201,7 +201,7 @@ msgstr "" #: skins/common/media/js/post.js:1381 msgid "confirm delete comment" -msgstr "" +msgstr "oletko varma, että haluat poistaa tämän kommentin?" #: skins/common/media/js/post.js:1622 skins/default/media/js/post.js:1621 #: skins/old/media/js/post.js:1621 @@ -325,11 +325,11 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:53 msgid "enter image url" -msgstr "" +msgstr "Anna kuvan URL-osoite, esim. http://www.example.com/image.jpg \"kuvan otsikko\"" #: skins/common/media/js/wmd/wmd.js:54 msgid "enter url" -msgstr "" +msgstr "Anna URL-osoite, esim. http://www.example.com \"sivun otsikko\"" #: skins/common/media/js/wmd/wmd.js:55 msgid "upload file attachment" diff --git a/askbot/locale/fr/LC_MESSAGES/djangojs.mo b/askbot/locale/fr/LC_MESSAGES/djangojs.mo index 386cff64..0a8cfd17 100644 Binary files a/askbot/locale/fr/LC_MESSAGES/djangojs.mo and b/askbot/locale/fr/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/fr/LC_MESSAGES/djangojs.po b/askbot/locale/fr/LC_MESSAGES/djangojs.po index cba62186..52594fab 100644 --- a/askbot/locale/fr/LC_MESSAGES/djangojs.po +++ b/askbot/locale/fr/LC_MESSAGES/djangojs.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: 0.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-09-28 00:33-0700\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME\n" +"PO-Revision-Date: 2011-09-28 08:12-0800\n" +"Last-Translator: Rosandra Cuello \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" @@ -27,9 +27,7 @@ msgid "Please add one or more login methods." msgstr "" #: skins/common/media/jquery-openid/jquery.openid.js:93 -msgid "" -"You don't have a method to log in right now, please add one or more by " -"clicking any of the icons below." +msgid "You don't have a method to log in right now, please add one or more by clicking any of the icons below." msgstr "" #: skins/common/media/jquery-openid/jquery.openid.js:135 @@ -73,39 +71,41 @@ msgstr "" #: skins/common/media/js/post.js:28 msgid "loading..." -msgstr "" +msgstr "Chargement en cours..." -#: skins/common/media/js/post.js:127 skins/common/media/js/post.js.c:856 +#: skins/common/media/js/post.js:127 +#: skins/common/media/js/post.js.c:856 msgid "tags cannot be empty" -msgstr "" +msgstr "Les mots-clés ne doivent pas être vides" #: skins/common/media/js/post.js:133 msgid "content cannot be empty" -msgstr "" +msgstr "Le contenu ne doit pas être vide" #: skins/common/media/js/post.js:134 msgid "content minchars" -msgstr "" +msgstr "Veuillez saisir au moins {0} caractères" #: skins/common/media/js/post.js:137 msgid "please enter title" -msgstr "" +msgstr "Veuillez saisir un titre" -#: skins/common/media/js/post.js:138 skins/common/media/js/post.js.c:981 +#: skins/common/media/js/post.js:138 +#: skins/common/media/js/post.js.c:981 msgid "title minchars" -msgstr "" +msgstr "Veuillez saisir au moins {0} caractères" #: skins/common/media/js/post.js:281 msgid "insufficient privilege" -msgstr "" +msgstr "Privilèges insuffisants" #: skins/common/media/js/post.js:282 msgid "cannot pick own answer as best" -msgstr "" +msgstr "Vous ne pouvez pas désigner une de vos propres réponses comme étant la meilleure réponse" #: skins/common/media/js/post.js:287 msgid "please login" -msgstr "" +msgstr "Veuillez vous authentifier" #: skins/common/media/js/post.js:289 msgid "anonymous users cannot follow questions" @@ -117,62 +117,67 @@ msgstr "" #: skins/common/media/js/post.js:291 msgid "anonymous users cannot vote" -msgstr "" +msgstr "les utilisateurs anonyment ne peuvent pas voter " #: skins/common/media/js/post.js:293 msgid "please confirm offensive" -msgstr "" +msgstr "Veuillez confirmer que le contenu est abusif" #: skins/common/media/js/post.js:294 msgid "anonymous users cannot flag offensive posts" -msgstr "" +msgstr "Les utilisateurs anonymes ne peuvent pas signaler les messages à contenu abusif" #: skins/common/media/js/post.js:295 msgid "confirm delete" -msgstr "" +msgstr "Confirmer la suppression" #: skins/common/media/js/post.js:296 msgid "anonymous users cannot delete/undelete" -msgstr "" +msgstr "Les utilisateurs anonymes ne peuvent pas supprimer/restaurer" #: skins/common/media/js/post.js:297 msgid "post recovered" -msgstr "" +msgstr "Message restauré" #: skins/common/media/js/post.js:298 msgid "post deleted" -msgstr "" +msgstr "Message supprimé" -#: skins/common/media/js/post.js:536 skins/default/media/js/post.js:535 +#: skins/common/media/js/post.js:536 +#: skins/default/media/js/post.js:535 #: skins/old/media/js/post.js:535 msgid "Follow" msgstr "" -#: skins/common/media/js/post.js:545 skins/common/media/js/post.js.c:554 -#: skins/default/media/js/post.js:544 skins/default/media/js/post.js.c:553 -#: skins/old/media/js/post.js:544 skins/old/media/js/post.js.c:553 +#: skins/common/media/js/post.js:545 +#: skins/common/media/js/post.js.c:554 +#: skins/default/media/js/post.js:544 +#: skins/default/media/js/post.js.c:553 +#: skins/old/media/js/post.js:544 +#: skins/old/media/js/post.js.c:553 #, c-format msgid "%s follower" msgid_plural "%s followers" msgstr[0] "" msgstr[1] "" -#: skins/common/media/js/post.js:550 skins/default/media/js/post.js:549 +#: skins/common/media/js/post.js:550 +#: skins/default/media/js/post.js:549 #: skins/old/media/js/post.js:549 msgid " FollowingUnfollow" msgstr "" #: skins/common/media/js/post.js:612 msgid "undelete" -msgstr "" +msgstr "Restaurer" #: skins/common/media/js/post.js:617 msgid "delete" -msgstr "" +msgstr "supprimer" #: skins/common/media/js/post.js:954 msgid "add comment" -msgstr "" +msgstr "OK" #: skins/common/media/js/post.js:957 msgid "save comment" @@ -197,13 +202,14 @@ msgstr "" #: skins/common/media/js/post.js:1177 msgid "delete this comment" -msgstr "" +msgstr "supprimer ce commentaire" #: skins/common/media/js/post.js:1381 msgid "confirm delete comment" -msgstr "" +msgstr "Confirmer la suppression du commentaire" -#: skins/common/media/js/post.js:1622 skins/default/media/js/post.js:1621 +#: skins/common/media/js/post.js:1622 +#: skins/default/media/js/post.js:1621 #: skins/old/media/js/post.js:1621 msgid "Please enter question title (>10 characters)" msgstr "" @@ -231,24 +237,28 @@ msgid_plural "Delete these notifications?" msgstr[0] "" msgstr[1] "" -#: skins/common/media/js/user.js:125 skins/default/media/js/user.js:129 +#: skins/common/media/js/user.js:125 +#: skins/default/media/js/user.js:129 #: skins/old/media/js/user.js:129 msgid "Please signin to follow %(username)s" msgstr "" -#: skins/common/media/js/user.js:157 skins/default/media/js/user.js:161 +#: skins/common/media/js/user.js:157 +#: skins/default/media/js/user.js:161 #: skins/old/media/js/user.js:161 #, c-format msgid "unfollow %s" msgstr "" -#: skins/common/media/js/user.js:160 skins/default/media/js/user.js:164 +#: skins/common/media/js/user.js:160 +#: skins/default/media/js/user.js:164 #: skins/old/media/js/user.js:164 #, c-format msgid "following %s" msgstr "" -#: skins/common/media/js/user.js:166 skins/default/media/js/user.js:170 +#: skins/common/media/js/user.js:166 +#: skins/default/media/js/user.js:170 #: skins/old/media/js/user.js:170 #, c-format msgid "follow %s" @@ -273,27 +283,27 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:30 msgid "bold" -msgstr "" +msgstr "gras" #: skins/common/media/js/wmd/wmd.js:31 msgid "italic" -msgstr "" +msgstr "italique" #: skins/common/media/js/wmd/wmd.js:32 msgid "link" -msgstr "" +msgstr "lien" #: skins/common/media/js/wmd/wmd.js:33 msgid "quote" -msgstr "" +msgstr "Citer" #: skins/common/media/js/wmd/wmd.js:34 msgid "preformatted text" -msgstr "" +msgstr "Texte préformaté" #: skins/common/media/js/wmd/wmd.js:35 msgid "image" -msgstr "" +msgstr "Image" #: skins/common/media/js/wmd/wmd.js:36 msgid "attachment" @@ -301,35 +311,36 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:37 msgid "numbered list" -msgstr "" +msgstr "liste numérotée" #: skins/common/media/js/wmd/wmd.js:38 msgid "bulleted list" -msgstr "" +msgstr "liste" #: skins/common/media/js/wmd/wmd.js:39 msgid "heading" -msgstr "" +msgstr "Titre" #: skins/common/media/js/wmd/wmd.js:40 msgid "horizontal bar" -msgstr "" +msgstr "Barre horizontale" #: skins/common/media/js/wmd/wmd.js:41 msgid "undo" -msgstr "" +msgstr "Annuler" -#: skins/common/media/js/wmd/wmd.js:42 skins/common/media/js/wmd/wmd.js:1116 +#: skins/common/media/js/wmd/wmd.js:42 +#: skins/common/media/js/wmd/wmd.js:1116 msgid "redo" -msgstr "" +msgstr "Rétablir" #: skins/common/media/js/wmd/wmd.js:53 msgid "enter image url" -msgstr "" +msgstr "Veuillez saisir une URL menant à une image, par exemple
http://www.votre-domaine.com/nom-image.jpg" #: skins/common/media/js/wmd/wmd.js:54 msgid "enter url" -msgstr "" +msgstr "Entrez une URL, par exemple
http://www.askbot.org/ " #: skins/common/media/js/wmd/wmd.js:55 msgid "upload file attachment" @@ -346,3 +357,4 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:1785 msgid "link text" msgstr "" + diff --git a/askbot/locale/it/LC_MESSAGES/djangojs.mo b/askbot/locale/it/LC_MESSAGES/djangojs.mo index e51c1286..cd794c2b 100644 Binary files a/askbot/locale/it/LC_MESSAGES/djangojs.mo and b/askbot/locale/it/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/it/LC_MESSAGES/djangojs.po b/askbot/locale/it/LC_MESSAGES/djangojs.po index 97370910..8077b936 100644 --- a/askbot/locale/it/LC_MESSAGES/djangojs.po +++ b/askbot/locale/it/LC_MESSAGES/djangojs.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: 0.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-09-28 00:33-0700\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME\n" +"PO-Revision-Date: 2011-09-28 08:20-0800\n" +"Last-Translator: Rosandra Cuello \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" @@ -27,9 +27,7 @@ msgid "Please add one or more login methods." msgstr "" #: skins/common/media/jquery-openid/jquery.openid.js:93 -msgid "" -"You don't have a method to log in right now, please add one or more by " -"clicking any of the icons below." +msgid "You don't have a method to log in right now, please add one or more by clicking any of the icons below." msgstr "" #: skins/common/media/jquery-openid/jquery.openid.js:135 @@ -73,39 +71,41 @@ msgstr "" #: skins/common/media/js/post.js:28 msgid "loading..." -msgstr "" +msgstr "Caricamento..." -#: skins/common/media/js/post.js:127 skins/common/media/js/post.js.c:856 +#: skins/common/media/js/post.js:127 +#: skins/common/media/js/post.js.c:856 msgid "tags cannot be empty" -msgstr "" +msgstr "Il campo Tags non può essere vuoto" #: skins/common/media/js/post.js:133 msgid "content cannot be empty" -msgstr "" +msgstr "il contenuto non può essere vuoto" #: skins/common/media/js/post.js:134 msgid "content minchars" -msgstr "" +msgstr "per favore inserisci più di {0} caratteri" #: skins/common/media/js/post.js:137 msgid "please enter title" -msgstr "" +msgstr "Per favore inserisci il titolo" -#: skins/common/media/js/post.js:138 skins/common/media/js/post.js.c:981 +#: skins/common/media/js/post.js:138 +#: skins/common/media/js/post.js.c:981 msgid "title minchars" -msgstr "" +msgstr "per favore inserisci almeno {0} caratteri" #: skins/common/media/js/post.js:281 msgid "insufficient privilege" -msgstr "" +msgstr "privilegi non sufficienti" #: skins/common/media/js/post.js:282 msgid "cannot pick own answer as best" -msgstr "" +msgstr "non è possibile assegnare come miglior risposta ad una propria domanda una propria risposta" #: skins/common/media/js/post.js:287 msgid "please login" -msgstr "" +msgstr "Per favore effettua il login" #: skins/common/media/js/post.js:289 msgid "anonymous users cannot follow questions" @@ -117,62 +117,67 @@ msgstr "" #: skins/common/media/js/post.js:291 msgid "anonymous users cannot vote" -msgstr "" +msgstr "Gli utenti anonimi non possono votare " #: skins/common/media/js/post.js:293 msgid "please confirm offensive" -msgstr "" +msgstr "sei certo che questo post sia offensivo, contenga spam, pubblicità, osservazioni poco idonee, ecc.?" #: skins/common/media/js/post.js:294 msgid "anonymous users cannot flag offensive posts" -msgstr "" +msgstr "Gli utenti anonimi non possono flaggare come offensivo questo post" #: skins/common/media/js/post.js:295 msgid "confirm delete" -msgstr "" +msgstr "conferma la cancellazione" #: skins/common/media/js/post.js:296 msgid "anonymous users cannot delete/undelete" -msgstr "" +msgstr "Gli utenti anonimi non possono cancellare/annullare la cancellazione" #: skins/common/media/js/post.js:297 msgid "post recovered" -msgstr "" +msgstr "Post recuperato" #: skins/common/media/js/post.js:298 msgid "post deleted" -msgstr "" +msgstr "Post eliminato" -#: skins/common/media/js/post.js:536 skins/default/media/js/post.js:535 +#: skins/common/media/js/post.js:536 +#: skins/default/media/js/post.js:535 #: skins/old/media/js/post.js:535 msgid "Follow" msgstr "" -#: skins/common/media/js/post.js:545 skins/common/media/js/post.js.c:554 -#: skins/default/media/js/post.js:544 skins/default/media/js/post.js.c:553 -#: skins/old/media/js/post.js:544 skins/old/media/js/post.js.c:553 +#: skins/common/media/js/post.js:545 +#: skins/common/media/js/post.js.c:554 +#: skins/default/media/js/post.js:544 +#: skins/default/media/js/post.js.c:553 +#: skins/old/media/js/post.js:544 +#: skins/old/media/js/post.js.c:553 #, c-format msgid "%s follower" msgid_plural "%s followers" msgstr[0] "" msgstr[1] "" -#: skins/common/media/js/post.js:550 skins/default/media/js/post.js:549 +#: skins/common/media/js/post.js:550 +#: skins/default/media/js/post.js:549 #: skins/old/media/js/post.js:549 msgid " FollowingUnfollow" msgstr "" #: skins/common/media/js/post.js:612 msgid "undelete" -msgstr "" +msgstr "elimina" #: skins/common/media/js/post.js:617 msgid "delete" -msgstr "" +msgstr "elimina" #: skins/common/media/js/post.js:954 msgid "add comment" -msgstr "" +msgstr "OK" #: skins/common/media/js/post.js:957 msgid "save comment" @@ -185,7 +190,7 @@ msgstr "" #: skins/common/media/js/post.js:989 #, c-format msgid "%s characters left" -msgstr "" +msgstr "%s caratteri rimanenti" #: skins/common/media/js/post.js:1060 msgid "cancel" @@ -197,13 +202,14 @@ msgstr "" #: skins/common/media/js/post.js:1177 msgid "delete this comment" -msgstr "" +msgstr "Elimina questo commento" #: skins/common/media/js/post.js:1381 msgid "confirm delete comment" -msgstr "" +msgstr "Vuoi davvero cancellare il commento?" -#: skins/common/media/js/post.js:1622 skins/default/media/js/post.js:1621 +#: skins/common/media/js/post.js:1622 +#: skins/default/media/js/post.js:1621 #: skins/old/media/js/post.js:1621 msgid "Please enter question title (>10 characters)" msgstr "" @@ -231,24 +237,28 @@ msgid_plural "Delete these notifications?" msgstr[0] "" msgstr[1] "" -#: skins/common/media/js/user.js:125 skins/default/media/js/user.js:129 +#: skins/common/media/js/user.js:125 +#: skins/default/media/js/user.js:129 #: skins/old/media/js/user.js:129 msgid "Please signin to follow %(username)s" msgstr "" -#: skins/common/media/js/user.js:157 skins/default/media/js/user.js:161 +#: skins/common/media/js/user.js:157 +#: skins/default/media/js/user.js:161 #: skins/old/media/js/user.js:161 #, c-format msgid "unfollow %s" msgstr "" -#: skins/common/media/js/user.js:160 skins/default/media/js/user.js:164 +#: skins/common/media/js/user.js:160 +#: skins/default/media/js/user.js:164 #: skins/old/media/js/user.js:164 #, c-format msgid "following %s" msgstr "" -#: skins/common/media/js/user.js:166 skins/default/media/js/user.js:170 +#: skins/common/media/js/user.js:166 +#: skins/default/media/js/user.js:170 #: skins/old/media/js/user.js:170 #, c-format msgid "follow %s" @@ -273,27 +283,27 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:30 msgid "bold" -msgstr "" +msgstr "grassetto" #: skins/common/media/js/wmd/wmd.js:31 msgid "italic" -msgstr "" +msgstr "corsivo" #: skins/common/media/js/wmd/wmd.js:32 msgid "link" -msgstr "" +msgstr "Link" #: skins/common/media/js/wmd/wmd.js:33 msgid "quote" -msgstr "" +msgstr "cita" #: skins/common/media/js/wmd/wmd.js:34 msgid "preformatted text" -msgstr "" +msgstr "Testo preformattato" #: skins/common/media/js/wmd/wmd.js:35 msgid "image" -msgstr "" +msgstr "Immagine" #: skins/common/media/js/wmd/wmd.js:36 msgid "attachment" @@ -301,35 +311,36 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:37 msgid "numbered list" -msgstr "" +msgstr "Lista numerata" #: skins/common/media/js/wmd/wmd.js:38 msgid "bulleted list" -msgstr "" +msgstr "Lista" #: skins/common/media/js/wmd/wmd.js:39 msgid "heading" -msgstr "" +msgstr "Titolo" #: skins/common/media/js/wmd/wmd.js:40 msgid "horizontal bar" -msgstr "" +msgstr "barra orizzontale" #: skins/common/media/js/wmd/wmd.js:41 msgid "undo" -msgstr "" +msgstr "annulla" -#: skins/common/media/js/wmd/wmd.js:42 skins/common/media/js/wmd/wmd.js:1116 +#: skins/common/media/js/wmd/wmd.js:42 +#: skins/common/media/js/wmd/wmd.js:1116 msgid "redo" -msgstr "" +msgstr "Esegui nuovamente" #: skins/common/media/js/wmd/wmd.js:53 msgid "enter image url" -msgstr "" +msgstr "inserisci l'URL dell'immagine, es. http://www.example.com/immagine.jpg \"titolo immagine\"" #: skins/common/media/js/wmd/wmd.js:54 msgid "enter url" -msgstr "" +msgstr "inserisci l'indirizzo web, e.g.
http://www.askbot.org/ " #: skins/common/media/js/wmd/wmd.js:55 msgid "upload file attachment" @@ -346,3 +357,4 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:1785 msgid "link text" msgstr "" + diff --git a/askbot/locale/ja/LC_MESSAGES/djangojs.mo b/askbot/locale/ja/LC_MESSAGES/djangojs.mo index a0e8222d..7bb76233 100644 Binary files a/askbot/locale/ja/LC_MESSAGES/djangojs.mo and b/askbot/locale/ja/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/ko/LC_MESSAGES/djangojs.mo b/askbot/locale/ko/LC_MESSAGES/djangojs.mo index 94448970..ac9345ee 100644 Binary files a/askbot/locale/ko/LC_MESSAGES/djangojs.mo and b/askbot/locale/ko/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/pt_BR/LC_MESSAGES/djangojs.mo b/askbot/locale/pt_BR/LC_MESSAGES/djangojs.mo index 1b7fa761..673ea50c 100644 Binary files a/askbot/locale/pt_BR/LC_MESSAGES/djangojs.mo and b/askbot/locale/pt_BR/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/ro/LC_MESSAGES/djangojs.mo b/askbot/locale/ro/LC_MESSAGES/djangojs.mo index 6701db6d..06702fae 100644 Binary files a/askbot/locale/ro/LC_MESSAGES/djangojs.mo and b/askbot/locale/ro/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/ru/LC_MESSAGES/djangojs.mo b/askbot/locale/ru/LC_MESSAGES/djangojs.mo index a4408153..80e49dd0 100644 Binary files a/askbot/locale/ru/LC_MESSAGES/djangojs.mo and b/askbot/locale/ru/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/ru/LC_MESSAGES/djangojs.po b/askbot/locale/ru/LC_MESSAGES/djangojs.po index e41757f3..a4709cf8 100644 --- a/askbot/locale/ru/LC_MESSAGES/djangojs.po +++ b/askbot/locale/ru/LC_MESSAGES/djangojs.po @@ -8,106 +8,105 @@ msgstr "" "Project-Id-Version: 0.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-09-28 00:32-0700\n" -"PO-Revision-Date: 2011-09-05 09:02\n" -"Last-Translator:\n" +"PO-Revision-Date: 2011-09-28 08:02-0800\n" +"Last-Translator: Rosandra Cuello \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n" "X-Translated-Using: django-rosetta 0.6.2\n" #: skins/common/media/jquery-openid/jquery.openid.js:73 #, c-format msgid "Are you sure you want to remove your %s login?" -msgstr "" +msgstr "Вы действительно хотите удалить логин через %s?" #: skins/common/media/jquery-openid/jquery.openid.js:90 msgid "Please add one or more login methods." -msgstr "" +msgstr "Пожалуйста, добавьте хотя бы один постоянный метод для авторизации." #: skins/common/media/jquery-openid/jquery.openid.js:93 -msgid "" -"You don't have a method to log in right now, please add one or more by " -"clicking any of the icons below." -msgstr "" +msgid "You don't have a method to log in right now, please add one or more by clicking any of the icons below." +msgstr "У Вас сейчас нет постоянного метода авторизации, пожалуйста выберите хотя бы один, нажав на любую из предложеных ниже кнопок." #: skins/common/media/jquery-openid/jquery.openid.js:135 msgid "passwords do not match" -msgstr "" +msgstr "пароли не совпадают" #: skins/common/media/jquery-openid/jquery.openid.js:162 msgid "Show/change current login methods" -msgstr "" +msgstr "Просмотреть, изменить существующие методы авторизации." #: skins/common/media/jquery-openid/jquery.openid.js:223 #, c-format msgid "Please enter your %s, then proceed" -msgstr "" +msgstr "Чтобы продолжить, пожалуйста введите %s" #: skins/common/media/jquery-openid/jquery.openid.js:225 msgid "Connect your %(provider_name)s account to %(site)s" -msgstr "" +msgstr "Соедините %(site)s с Вашим аккаунтом от %(provider_name)s" #: skins/common/media/jquery-openid/jquery.openid.js:319 #, c-format msgid "Change your %s password" -msgstr "" +msgstr "Измените Ваш пароль для %s" #: skins/common/media/jquery-openid/jquery.openid.js:320 msgid "Change password" -msgstr "" +msgstr "Изменить пароль" #: skins/common/media/jquery-openid/jquery.openid.js:323 #, c-format msgid "Create a password for %s" -msgstr "" +msgstr "Создать пароль для %s" #: skins/common/media/jquery-openid/jquery.openid.js:324 msgid "Create password" -msgstr "" +msgstr "Создать пароль" #: skins/common/media/jquery-openid/jquery.openid.js:340 msgid "Create a password-protected account" -msgstr "" +msgstr "Создать аккаунт, защищенный паролем" #: skins/common/media/js/post.js:28 msgid "loading..." -msgstr "" +msgstr "загрузка..." -#: skins/common/media/js/post.js:127 skins/common/media/js/post.js.c:856 +#: skins/common/media/js/post.js:127 +#: skins/common/media/js/post.js.c:856 msgid "tags cannot be empty" -msgstr "" +msgstr "введите теги" #: skins/common/media/js/post.js:133 msgid "content cannot be empty" -msgstr "" +msgstr "пожалуйста, добавьте содержание" #: skins/common/media/js/post.js:134 msgid "content minchars" -msgstr "" +msgstr "содержание должно быть более {0} символов" #: skins/common/media/js/post.js:137 msgid "please enter title" -msgstr "" +msgstr "пожалуйста, введите заголовок" -#: skins/common/media/js/post.js:138 skins/common/media/js/post.js.c:981 +#: skins/common/media/js/post.js:138 +#: skins/common/media/js/post.js.c:981 msgid "title minchars" -msgstr "" +msgstr "заголовок должен быть более {0} символов" #: skins/common/media/js/post.js:281 msgid "insufficient privilege" -msgstr "" +msgstr "недостаточно прав" #: skins/common/media/js/post.js:282 msgid "cannot pick own answer as best" -msgstr "" +msgstr "Извините, выбрать собственный ответ в качестве лучшего не разрешается" #: skins/common/media/js/post.js:287 msgid "please login" -msgstr "" +msgstr "введите логин" #: skins/common/media/js/post.js:289 msgid "anonymous users cannot follow questions" @@ -119,40 +118,44 @@ msgstr "" #: skins/common/media/js/post.js:291 msgid "anonymous users cannot vote" -msgstr "" +msgstr "Извините, но для того чтобы голосовать, " #: skins/common/media/js/post.js:293 msgid "please confirm offensive" -msgstr "" +msgstr "Вы уверены что это сообщение неуместно?" #: skins/common/media/js/post.js:294 msgid "anonymous users cannot flag offensive posts" -msgstr "" +msgstr "Извините, но для того чтобы пожаловаться на сообщение, " #: skins/common/media/js/post.js:295 msgid "confirm delete" -msgstr "" +msgstr "Удалить?" #: skins/common/media/js/post.js:296 msgid "anonymous users cannot delete/undelete" -msgstr "" +msgstr "неавторизированные пользователи не могут восстанавливать и удалять сообщения " #: skins/common/media/js/post.js:297 msgid "post recovered" -msgstr "" +msgstr "восстановить сообщение" #: skins/common/media/js/post.js:298 msgid "post deleted" -msgstr "" +msgstr "сообщение удалено" -#: skins/common/media/js/post.js:536 skins/default/media/js/post.js:535 +#: skins/common/media/js/post.js:536 +#: skins/default/media/js/post.js:535 #: skins/old/media/js/post.js:535 msgid "Follow" msgstr "Добавить закладку" -#: skins/common/media/js/post.js:545 skins/common/media/js/post.js.c:554 -#: skins/default/media/js/post.js:544 skins/default/media/js/post.js.c:553 -#: skins/old/media/js/post.js:544 skins/old/media/js/post.js.c:553 +#: skins/common/media/js/post.js:545 +#: skins/common/media/js/post.js.c:554 +#: skins/default/media/js/post.js:544 +#: skins/default/media/js/post.js.c:553 +#: skins/old/media/js/post.js:544 +#: skins/old/media/js/post.js.c:553 #, c-format msgid "%s follower" msgid_plural "%s followers" @@ -160,35 +163,36 @@ msgstr[0] "%s закладка" msgstr[1] "%s закладки" msgstr[2] "%s закладок" -#: skins/common/media/js/post.js:550 skins/default/media/js/post.js:549 +#: skins/common/media/js/post.js:550 +#: skins/default/media/js/post.js:549 #: skins/old/media/js/post.js:549 msgid " FollowingUnfollow" msgstr "Есть закладка!Убрать закладку" #: skins/common/media/js/post.js:612 msgid "undelete" -msgstr "" +msgstr "восстановить" #: skins/common/media/js/post.js:617 msgid "delete" -msgstr "" +msgstr "удалить" #: skins/common/media/js/post.js:954 msgid "add comment" -msgstr "" +msgstr "добавить комментарий" #: skins/common/media/js/post.js:957 msgid "save comment" -msgstr "" +msgstr "сохранить комментарий" #: skins/common/media/js/post.js:984 msgid "enter more characters" -msgstr "" +msgstr "недостаточно символов, пожалуйста, добавьте ещё {0}" #: skins/common/media/js/post.js:989 #, c-format msgid "%s characters left" -msgstr "" +msgstr "осталось место для %s символов" #: skins/common/media/js/post.js:1060 msgid "cancel" @@ -200,13 +204,14 @@ msgstr "" #: skins/common/media/js/post.js:1177 msgid "delete this comment" -msgstr "" +msgstr "удалить этот комментарий" #: skins/common/media/js/post.js:1381 msgid "confirm delete comment" -msgstr "" +msgstr "Удалить комментарий?" -#: skins/common/media/js/post.js:1622 skins/default/media/js/post.js:1621 +#: skins/common/media/js/post.js:1622 +#: skins/default/media/js/post.js:1621 #: skins/old/media/js/post.js:1621 msgid "Please enter question title (>10 characters)" msgstr "Пожалуйста, добавьте заглавие к вопросу (>10 букв)" @@ -226,35 +231,37 @@ msgstr "и ещё %s, не показано..." #: skins/common/media/js/user.js:14 msgid "Please select at least one item" -msgstr "" +msgstr "Пожалуйста, отметьте хотя бы одно извещение" #: skins/common/media/js/user.js:58 msgid "Delete this notification?" msgid_plural "Delete these notifications?" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Удалить это извещение?" +msgstr[1] "Удалить эти извещения?" +msgstr[2] "Удалить эти извещения?" -#: skins/common/media/js/user.js:125 skins/default/media/js/user.js:129 +#: skins/common/media/js/user.js:125 +#: skins/default/media/js/user.js:129 #: skins/old/media/js/user.js:129 msgid "Please signin to follow %(username)s" -msgstr "" -"Пожалуйста авторизуйтесь чтобы отметить " -"профиль %(username)s" +msgstr "Пожалуйста авторизуйтесь чтобы отметить профиль %(username)s" -#: skins/common/media/js/user.js:157 skins/default/media/js/user.js:161 +#: skins/common/media/js/user.js:157 +#: skins/default/media/js/user.js:161 #: skins/old/media/js/user.js:161 #, c-format msgid "unfollow %s" msgstr "" -#: skins/common/media/js/user.js:160 skins/default/media/js/user.js:164 +#: skins/common/media/js/user.js:160 +#: skins/default/media/js/user.js:164 #: skins/old/media/js/user.js:164 #, c-format msgid "following %s" msgstr "" -#: skins/common/media/js/user.js:166 skins/default/media/js/user.js:170 +#: skins/common/media/js/user.js:166 +#: skins/default/media/js/user.js:170 #: skins/old/media/js/user.js:170 #, c-format msgid "follow %s" @@ -266,40 +273,40 @@ msgstr "" #: skins/common/media/js/utils.js:214 msgid "click to edit this comment" -msgstr "" +msgstr "нажмите здесь, чтобы отредактировать этот комментарий" #: skins/common/media/js/utils.js:215 msgid "edit" -msgstr "" +msgstr "редактировать" #: skins/common/media/js/utils.js:369 #, c-format msgid "see questions tagged '%s'" -msgstr "" +msgstr "смотрите вопросы, помеченные '%s'" #: skins/common/media/js/wmd/wmd.js:30 msgid "bold" -msgstr "" +msgstr "жирный" #: skins/common/media/js/wmd/wmd.js:31 msgid "italic" -msgstr "" +msgstr "курсив" #: skins/common/media/js/wmd/wmd.js:32 msgid "link" -msgstr "" +msgstr "ссылка" #: skins/common/media/js/wmd/wmd.js:33 msgid "quote" -msgstr "" +msgstr "цитата" #: skins/common/media/js/wmd/wmd.js:34 msgid "preformatted text" -msgstr "" +msgstr "форматирование текста" #: skins/common/media/js/wmd/wmd.js:35 msgid "image" -msgstr "" +msgstr "изображение" #: skins/common/media/js/wmd/wmd.js:36 msgid "attachment" @@ -307,39 +314,40 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:37 msgid "numbered list" -msgstr "" +msgstr "пронумерованный список" #: skins/common/media/js/wmd/wmd.js:38 msgid "bulleted list" -msgstr "" +msgstr "маркированный список" #: skins/common/media/js/wmd/wmd.js:39 msgid "heading" -msgstr "" +msgstr "заголовок" #: skins/common/media/js/wmd/wmd.js:40 msgid "horizontal bar" -msgstr "" +msgstr "горизонтальная полоса" #: skins/common/media/js/wmd/wmd.js:41 msgid "undo" -msgstr "" +msgstr "отменить" -#: skins/common/media/js/wmd/wmd.js:42 skins/common/media/js/wmd/wmd.js:1116 +#: skins/common/media/js/wmd/wmd.js:42 +#: skins/common/media/js/wmd/wmd.js:1116 msgid "redo" -msgstr "" +msgstr "повторить" #: skins/common/media/js/wmd/wmd.js:53 msgid "enter image url" -msgstr "" +msgstr "введите url изображения, например:
http://www.domain.ru/kartinka.gif" #: skins/common/media/js/wmd/wmd.js:54 msgid "enter url" -msgstr "" +msgstr "введите url, например:
http://www.domain.ru/ " #: skins/common/media/js/wmd/wmd.js:55 msgid "upload file attachment" -msgstr "" +msgstr "загрузить файл" #: skins/common/media/js/wmd/wmd.js:1778 msgid "image description" @@ -347,13 +355,14 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:1781 msgid "file name" -msgstr "" +msgstr "название файла" #: skins/common/media/js/wmd/wmd.js:1785 msgid "link text" msgstr "" #~ msgid "%(q_num)s question" + #~ msgid_plural "%(q_num)s questions" #~ msgstr[0] "%(q_num)s вопрос" #~ msgstr[1] "%(q_num)s вопроса" diff --git a/askbot/locale/sr/LC_MESSAGES/djangojs.mo b/askbot/locale/sr/LC_MESSAGES/djangojs.mo index 2c8ecbcf..4880c727 100644 Binary files a/askbot/locale/sr/LC_MESSAGES/djangojs.mo and b/askbot/locale/sr/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/tr/LC_MESSAGES/djangojs.mo b/askbot/locale/tr/LC_MESSAGES/djangojs.mo index 36a5bdfa..6545f119 100644 Binary files a/askbot/locale/tr/LC_MESSAGES/djangojs.mo and b/askbot/locale/tr/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/tr/LC_MESSAGES/djangojs.po b/askbot/locale/tr/LC_MESSAGES/djangojs.po index 8ec58477..22e96e6c 100644 --- a/askbot/locale/tr/LC_MESSAGES/djangojs.po +++ b/askbot/locale/tr/LC_MESSAGES/djangojs.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: 0.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-09-28 00:33-0700\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME\n" +"PO-Revision-Date: 2011-09-28 04:13-0800\n" +"Last-Translator: Rosandra Cuello \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" @@ -27,9 +27,7 @@ msgid "Please add one or more login methods." msgstr "" #: skins/common/media/jquery-openid/jquery.openid.js:93 -msgid "" -"You don't have a method to log in right now, please add one or more by " -"clicking any of the icons below." +msgid "You don't have a method to log in right now, please add one or more by clicking any of the icons below." msgstr "" #: skins/common/media/jquery-openid/jquery.openid.js:135 @@ -73,39 +71,41 @@ msgstr "" #: skins/common/media/js/post.js:28 msgid "loading..." -msgstr "" +msgstr "yükleniyor..." -#: skins/common/media/js/post.js:127 skins/common/media/js/post.js.c:856 +#: skins/common/media/js/post.js:127 +#: skins/common/media/js/post.js.c:856 msgid "tags cannot be empty" -msgstr "" +msgstr "etiketler boş olamaz" #: skins/common/media/js/post.js:133 msgid "content cannot be empty" -msgstr "" +msgstr "içerik boş olamaz" #: skins/common/media/js/post.js:134 msgid "content minchars" -msgstr "" +msgstr "Lütfen en az (0) karakter girin" #: skins/common/media/js/post.js:137 msgid "please enter title" -msgstr "" +msgstr "lütfen bir başlık yazın" -#: skins/common/media/js/post.js:138 skins/common/media/js/post.js.c:981 +#: skins/common/media/js/post.js:138 +#: skins/common/media/js/post.js.c:981 msgid "title minchars" -msgstr "" +msgstr "Lütfen en az (0) karakter girin" #: skins/common/media/js/post.js:281 msgid "insufficient privilege" -msgstr "" +msgstr "buna yetkiniz yoktur" #: skins/common/media/js/post.js:282 msgid "cannot pick own answer as best" -msgstr "" +msgstr "en cevap olarak kendi cevabınızı seçemezsiniz" #: skins/common/media/js/post.js:287 msgid "please login" -msgstr "" +msgstr "lütfen üye girişi yapınız" #: skins/common/media/js/post.js:289 msgid "anonymous users cannot follow questions" @@ -117,62 +117,67 @@ msgstr "" #: skins/common/media/js/post.js:291 msgid "anonymous users cannot vote" -msgstr "" +msgstr "üye girişi yapmadan oy kullanamazsınız" #: skins/common/media/js/post.js:293 msgid "please confirm offensive" -msgstr "" +msgstr "şikayetinizi onaylayın" #: skins/common/media/js/post.js:294 msgid "anonymous users cannot flag offensive posts" -msgstr "" +msgstr "üye girişi yapmadan şikayet gönderemezsiniz" #: skins/common/media/js/post.js:295 msgid "confirm delete" -msgstr "" +msgstr "Bunu silmek istediğinizden emin misiniz?" #: skins/common/media/js/post.js:296 msgid "anonymous users cannot delete/undelete" -msgstr "" +msgstr "üye girişi yapmadan yazı silemez yada geri alamazsınız" #: skins/common/media/js/post.js:297 msgid "post recovered" -msgstr "" +msgstr "yazı geri alındı" #: skins/common/media/js/post.js:298 msgid "post deleted" -msgstr "" +msgstr "yazı silindi" -#: skins/common/media/js/post.js:536 skins/default/media/js/post.js:535 +#: skins/common/media/js/post.js:536 +#: skins/default/media/js/post.js:535 #: skins/old/media/js/post.js:535 msgid "Follow" msgstr "" -#: skins/common/media/js/post.js:545 skins/common/media/js/post.js.c:554 -#: skins/default/media/js/post.js:544 skins/default/media/js/post.js.c:553 -#: skins/old/media/js/post.js:544 skins/old/media/js/post.js.c:553 +#: skins/common/media/js/post.js:545 +#: skins/common/media/js/post.js.c:554 +#: skins/default/media/js/post.js:544 +#: skins/default/media/js/post.js.c:553 +#: skins/old/media/js/post.js:544 +#: skins/old/media/js/post.js.c:553 #, c-format msgid "%s follower" msgid_plural "%s followers" msgstr[0] "" msgstr[1] "" -#: skins/common/media/js/post.js:550 skins/default/media/js/post.js:549 +#: skins/common/media/js/post.js:550 +#: skins/default/media/js/post.js:549 #: skins/old/media/js/post.js:549 msgid " FollowingUnfollow" msgstr "" #: skins/common/media/js/post.js:612 msgid "undelete" -msgstr "" +msgstr "geri al" #: skins/common/media/js/post.js:617 msgid "delete" -msgstr "" +msgstr "sil" #: skins/common/media/js/post.js:954 msgid "add comment" -msgstr "" +msgstr "yorum ekle" #: skins/common/media/js/post.js:957 msgid "save comment" @@ -185,7 +190,7 @@ msgstr "" #: skins/common/media/js/post.js:989 #, c-format msgid "%s characters left" -msgstr "" +msgstr "yazılabilir %s karakter eksik" #: skins/common/media/js/post.js:1060 msgid "cancel" @@ -197,13 +202,14 @@ msgstr "" #: skins/common/media/js/post.js:1177 msgid "delete this comment" -msgstr "" +msgstr "bu yorumu sil" #: skins/common/media/js/post.js:1381 msgid "confirm delete comment" -msgstr "" +msgstr "yorumu silmek istediğinizden emin misiniz?" -#: skins/common/media/js/post.js:1622 skins/default/media/js/post.js:1621 +#: skins/common/media/js/post.js:1622 +#: skins/default/media/js/post.js:1621 #: skins/old/media/js/post.js:1621 msgid "Please enter question title (>10 characters)" msgstr "" @@ -231,24 +237,28 @@ msgid_plural "Delete these notifications?" msgstr[0] "" msgstr[1] "" -#: skins/common/media/js/user.js:125 skins/default/media/js/user.js:129 +#: skins/common/media/js/user.js:125 +#: skins/default/media/js/user.js:129 #: skins/old/media/js/user.js:129 msgid "Please signin to follow %(username)s" msgstr "" -#: skins/common/media/js/user.js:157 skins/default/media/js/user.js:161 +#: skins/common/media/js/user.js:157 +#: skins/default/media/js/user.js:161 #: skins/old/media/js/user.js:161 #, c-format msgid "unfollow %s" msgstr "" -#: skins/common/media/js/user.js:160 skins/default/media/js/user.js:164 +#: skins/common/media/js/user.js:160 +#: skins/default/media/js/user.js:164 #: skins/old/media/js/user.js:164 #, c-format msgid "following %s" msgstr "" -#: skins/common/media/js/user.js:166 skins/default/media/js/user.js:170 +#: skins/common/media/js/user.js:166 +#: skins/default/media/js/user.js:170 #: skins/old/media/js/user.js:170 #, c-format msgid "follow %s" @@ -273,27 +283,27 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:30 msgid "bold" -msgstr "" +msgstr "kalın" #: skins/common/media/js/wmd/wmd.js:31 msgid "italic" -msgstr "" +msgstr "italik" #: skins/common/media/js/wmd/wmd.js:32 msgid "link" -msgstr "" +msgstr "link" #: skins/common/media/js/wmd/wmd.js:33 msgid "quote" -msgstr "" +msgstr "alıntı" #: skins/common/media/js/wmd/wmd.js:34 msgid "preformatted text" -msgstr "" +msgstr "hazır metin" #: skins/common/media/js/wmd/wmd.js:35 msgid "image" -msgstr "" +msgstr "resimler" #: skins/common/media/js/wmd/wmd.js:36 msgid "attachment" @@ -301,35 +311,36 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:37 msgid "numbered list" -msgstr "" +msgstr "numaralı liste" #: skins/common/media/js/wmd/wmd.js:38 msgid "bulleted list" -msgstr "" +msgstr "işaretli liste" #: skins/common/media/js/wmd/wmd.js:39 msgid "heading" -msgstr "" +msgstr "Başlık" #: skins/common/media/js/wmd/wmd.js:40 msgid "horizontal bar" -msgstr "" +msgstr "yatay bar" #: skins/common/media/js/wmd/wmd.js:41 msgid "undo" -msgstr "" +msgstr "geri" -#: skins/common/media/js/wmd/wmd.js:42 skins/common/media/js/wmd/wmd.js:1116 +#: skins/common/media/js/wmd/wmd.js:42 +#: skins/common/media/js/wmd/wmd.js:1116 msgid "redo" -msgstr "" +msgstr "yeniden" #: skins/common/media/js/wmd/wmd.js:53 msgid "enter image url" -msgstr "" +msgstr "örnek resmin URLsini girin:
http://www.example.com/image.jpg \"resim başlığı\"" #: skins/common/media/js/wmd/wmd.js:54 msgid "enter url" -msgstr "" +msgstr "web adresini girin:
http://www.cnprog.com/ \"başlık bağlantısı\"" #: skins/common/media/js/wmd/wmd.js:55 msgid "upload file attachment" @@ -346,3 +357,4 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:1785 msgid "link text" msgstr "" + diff --git a/askbot/locale/vi/LC_MESSAGES/djangojs.mo b/askbot/locale/vi/LC_MESSAGES/djangojs.mo index 497e70f5..ac9345ee 100644 Binary files a/askbot/locale/vi/LC_MESSAGES/djangojs.mo and b/askbot/locale/vi/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/zh-tw/LC_MESSAGES/djangojs.mo b/askbot/locale/zh-tw/LC_MESSAGES/djangojs.mo index 496607ae..4d81cbf2 100644 Binary files a/askbot/locale/zh-tw/LC_MESSAGES/djangojs.mo and b/askbot/locale/zh-tw/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/zh-tw/LC_MESSAGES/djangojs.po b/askbot/locale/zh-tw/LC_MESSAGES/djangojs.po index 4bc00569..dbd7b604 100644 --- a/askbot/locale/zh-tw/LC_MESSAGES/djangojs.po +++ b/askbot/locale/zh-tw/LC_MESSAGES/djangojs.po @@ -73,39 +73,39 @@ msgstr "" #: skins/common/media/js/post.js:28 msgid "loading..." -msgstr "" +msgstr "讀取中..." #: skins/common/media/js/post.js:127 skins/common/media/js/post.js.c:856 msgid "tags cannot be empty" -msgstr "" +msgstr "標籤不能為空白" #: skins/common/media/js/post.js:133 msgid "content cannot be empty" -msgstr "" +msgstr "內容不能為空白" #: skins/common/media/js/post.js:134 msgid "content minchars" -msgstr "" +msgstr "請輸入至少 {0} 字符。" #: skins/common/media/js/post.js:137 msgid "please enter title" -msgstr "" +msgstr "請輸入標題。" #: skins/common/media/js/post.js:138 skins/common/media/js/post.js.c:981 msgid "title minchars" -msgstr "" +msgstr "請輸入至少 {0} 字符。" #: skins/common/media/js/post.js:281 msgid "insufficient privilege" -msgstr "" +msgstr "權限不足" #: skins/common/media/js/post.js:282 msgid "cannot pick own answer as best" -msgstr "" +msgstr "不能蔽掃自珍" #: skins/common/media/js/post.js:287 msgid "please login" -msgstr "" +msgstr "請先登錄" #: skins/common/media/js/post.js:289 msgid "anonymous users cannot follow questions" @@ -121,27 +121,27 @@ msgstr "" #: skins/common/media/js/post.js:293 msgid "please confirm offensive" -msgstr "" +msgstr "確定要歸類該帖為廣告、人身攻擊、惡意言論嗎?" #: skins/common/media/js/post.js:294 msgid "anonymous users cannot flag offensive posts" -msgstr "" +msgstr "匿名用戶不能操作" #: skins/common/media/js/post.js:295 msgid "confirm delete" -msgstr "" +msgstr "確定刪除" #: skins/common/media/js/post.js:296 msgid "anonymous users cannot delete/undelete" -msgstr "" +msgstr "匿名用戶不能刪除或恢復帖子" #: skins/common/media/js/post.js:297 msgid "post recovered" -msgstr "" +msgstr "操作成功!該帖子已被恢複。" #: skins/common/media/js/post.js:298 msgid "post deleted" -msgstr "" +msgstr "操作成功!該帖子已刪除。" #: skins/common/media/js/post.js:536 skins/default/media/js/post.js:535 #: skins/old/media/js/post.js:535 @@ -164,15 +164,15 @@ msgstr "" #: skins/common/media/js/post.js:612 msgid "undelete" -msgstr "" +msgstr "取消" #: skins/common/media/js/post.js:617 msgid "delete" -msgstr "" +msgstr "刪除" #: skins/common/media/js/post.js:954 msgid "add comment" -msgstr "" +msgstr "添加評論" #: skins/common/media/js/post.js:957 msgid "save comment" @@ -185,7 +185,7 @@ msgstr "" #: skins/common/media/js/post.js:989 #, c-format msgid "%s characters left" -msgstr "" +msgstr "還可寫%s字" #: skins/common/media/js/post.js:1060 msgid "cancel" @@ -197,11 +197,11 @@ msgstr "" #: skins/common/media/js/post.js:1177 msgid "delete this comment" -msgstr "" +msgstr "刪除此評論" #: skins/common/media/js/post.js:1381 msgid "confirm delete comment" -msgstr "" +msgstr "刪除評論確認" #: skins/common/media/js/post.js:1622 skins/default/media/js/post.js:1621 #: skins/old/media/js/post.js:1621 @@ -255,7 +255,7 @@ msgstr "" #: skins/common/media/js/utils.js:43 msgid "click to close" -msgstr "" +msgstr "點擊消息框關閉" #: skins/common/media/js/utils.js:214 msgid "click to edit this comment" @@ -272,27 +272,27 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:30 msgid "bold" -msgstr "" +msgstr "粗體" #: skins/common/media/js/wmd/wmd.js:31 msgid "italic" -msgstr "" +msgstr "斜體" #: skins/common/media/js/wmd/wmd.js:32 msgid "link" -msgstr "" +msgstr "超連接" #: skins/common/media/js/wmd/wmd.js:33 msgid "quote" -msgstr "" +msgstr "引用" #: skins/common/media/js/wmd/wmd.js:34 msgid "preformatted text" -msgstr "" +msgstr "代碼" #: skins/common/media/js/wmd/wmd.js:35 msgid "image" -msgstr "" +msgstr "圖片" #: skins/common/media/js/wmd/wmd.js:36 msgid "attachment" @@ -300,35 +300,35 @@ msgstr "" #: skins/common/media/js/wmd/wmd.js:37 msgid "numbered list" -msgstr "" +msgstr "數字編號列表" #: skins/common/media/js/wmd/wmd.js:38 msgid "bulleted list" -msgstr "" +msgstr "項目符號列表" #: skins/common/media/js/wmd/wmd.js:39 msgid "heading" -msgstr "" +msgstr "標題" #: skins/common/media/js/wmd/wmd.js:40 msgid "horizontal bar" -msgstr "" +msgstr "水平線" #: skins/common/media/js/wmd/wmd.js:41 msgid "undo" -msgstr "" +msgstr "撤銷" #: skins/common/media/js/wmd/wmd.js:42 skins/common/media/js/wmd/wmd.js:1116 msgid "redo" -msgstr "" +msgstr "重做" #: skins/common/media/js/wmd/wmd.js:53 msgid "enter image url" -msgstr "" +msgstr "輸入圖片地址示例:
http://www.example.com/image.jpg \"我的截圖\"" #: skins/common/media/js/wmd/wmd.js:54 msgid "enter url" -msgstr "" +msgstr "輸入Web地址示例:
" #: skins/common/media/js/wmd/wmd.js:55 msgid "upload file attachment" diff --git a/askbot/locale/zh_CN/LC_MESSAGES/djangojs.mo b/askbot/locale/zh_CN/LC_MESSAGES/djangojs.mo index 497e70f5..594e1f99 100644 Binary files a/askbot/locale/zh_CN/LC_MESSAGES/djangojs.mo and b/askbot/locale/zh_CN/LC_MESSAGES/djangojs.mo differ diff --git a/askbot/locale/zh_CN/LC_MESSAGES/djangojs.po b/askbot/locale/zh_CN/LC_MESSAGES/djangojs.po index b35c902e..895e57fe 100644 --- a/askbot/locale/zh_CN/LC_MESSAGES/djangojs.po +++ b/askbot/locale/zh_CN/LC_MESSAGES/djangojs.po @@ -328,7 +328,7 @@ msgstr "输入图片地址
http://www.cnprog.com/ \"我的網站\"示例:
http://www.example.com/im #: skins/common/media/js/wmd/wmd.js:54 msgid "enter url" -msgstr "输入Web地址示例:
"" +msgstr "输入Web地址
http://www.cnprog.com/ \"我的网站\"示例:
" #: skins/common/media/js/wmd/wmd.js:55 msgid "upload file attachment" diff --git a/askbot/skins/default/templates/meta/bottom_scripts.html b/askbot/skins/default/templates/meta/bottom_scripts.html index 1f63b468..0693a3e4 100644 --- a/askbot/skins/default/templates/meta/bottom_scripts.html +++ b/askbot/skins/default/templates/meta/bottom_scripts.html @@ -39,7 +39,6 @@ > - {% if settings.ENABLE_MATHJAX %} -- cgit v1.2.3-1-g7c22 From 646659eedcb6658f8b59302ed526e48e27d3ce36 Mon Sep 17 00:00:00 2001 From: Adolfo Fitoria
http://www.cnprog.com/ \"我的网站\"Date: Fri, 30 Sep 2011 11:05:48 -0300 Subject: added better documentation to the setup command --- askbot/doc/source/initial-configuration.rst | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/askbot/doc/source/initial-configuration.rst b/askbot/doc/source/initial-configuration.rst index 7c4ba969..340324a1 100644 --- a/askbot/doc/source/initial-configuration.rst +++ b/askbot/doc/source/initial-configuration.rst @@ -29,18 +29,36 @@ There may be an error message; ignore it. `askbot-setup` adds those files to the directory you select (and some more things specific to Askbot). -.. versionadded:: 0.7.23 +.. versionadded:: 0.7.24 `askbot-setup` also have command line arguments such as folder name(name), database name, database password and database user also added verbosity support. You can also specify a local settings file to append it's contents to the deployment settings file. + +----------------------------------+------------------------------------------------------------+ + | Parameter | Purpose | + +==================================+============================================================+ + | -n | Name of the instance, this is the name that the | + | | folder will use. | + +----------------------------------+------------------------------------------------------------+ + | -d | The database name that the instance will use. | + +----------------------------------+------------------------------------------------------------+ + | -u | The database user that the instance will use. | + +----------------------------------+------------------------------------------------------------+ + | -p | The database password for the user. | + +----------------------------------+------------------------------------------------------------+ + | --domain= | Domain name for the application. | + +----------------------------------+------------------------------------------------------------+ + | --append-settings= | Allows to append a setting file content to the | + | | settings file, the parameter is the file to use. | + +----------------------------------+------------------------------------------------------------+ + + .. note:: `askbot-setup` command line arguments detail parameter is available when you type: askbot-setup --h. Note that if you already have a Django site you will not want to use `askbot-setup`, because you don't want to just overwrite your existing settings.py. See below for instructions. -.. deprecated:: 0.7.23 - Another thing you have to do if you are creating a brand new Django project is edit the file `settings.py`_. At the very minimum, you will need to provide the correct values to some settings. +Another thing you have to do if you are creating a brand new Django project is edit the file `settings.py`_. At the very minimum, you will need to provide the correct values to some settings. All values must be enclosed in single quotes, as shown below:: -- cgit v1.2.3-1-g7c22 From 24754038efc3ca4978a4d5f072d4d16bdc632e9b Mon Sep 17 00:00:00 2001 From: Adolfo Fitoria Date: Tue, 18 Oct 2011 17:01:50 -0300 Subject: added force parameter --- askbot/deployment/__init__.py | 30 ++++++++++++++++++++---------- askbot/deployment/path_utils.py | 16 ++++++++++------ 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/askbot/deployment/__init__.py b/askbot/deployment/__init__.py index d7dbe92b..c20e168f 100644 --- a/askbot/deployment/__init__.py +++ b/askbot/deployment/__init__.py @@ -15,7 +15,7 @@ def askbot_setup(): Django project """ parser = OptionParser(usage="%prog [options]") - + parser.add_option("-v", "--verbose", dest="verbosity", type="int", @@ -23,10 +23,10 @@ def askbot_setup(): help="verbosity level available values 0, 1, 2." ) - parser.add_option("-n", + parser.add_option("-n", "--dir-name", dest="name", default=None, - help="Destination name" + help="Directory where you want to install." ) parser.add_option("-d", "--db-name", @@ -59,8 +59,15 @@ def askbot_setup(): help="Extra settings file to append custom settings" ) + parser.add_option("--force", + dest="force", + action='store_true', + help="Force overwrite settings.py file" + ) + + (options, args) = parser.parse_args() - #ask + #ask if options.verbosity >= 1: print messages.DEPLOY_PREAMBLE @@ -82,7 +89,7 @@ def askbot_setup(): if path_utils.has_existing_django_project(directory): message = messages.SHOULD_ADD_APP_HERE % \ { - 'path': directory + 'path': directory } should_add_app = console.choice_dialog( message, @@ -115,9 +122,9 @@ def askbot_setup(): continue else: #creates dir - message = messages.format_msg_create(directory) + message = messages.format_msg_create(directory) should_create_new = console.choice_dialog( - message, + message, choices = ['yes','no'], invalid_phrase = messages.INVALID_INPUT ) @@ -178,7 +185,7 @@ def deploy_askbot(directory, create_new, options): 'database_password': options.database_password, 'database_user': options.database_user, 'domain_name': options.domain_name, - 'local_settings': options.local_settings + 'local_settings': options.local_settings, } for key in context.keys(): if context[key] == None: @@ -186,14 +193,17 @@ def deploy_askbot(directory, create_new, options): new_value = raw_input(input_message) context[key] = new_value + if options.force: + create_new = options.force + if create_new: path_utils.create_path(directory) - path_utils.deploy_into(directory, new_project = True, + path_utils.deploy_into(directory, new_project = True, verbosity = options.verbosity, context = context) if options.verbosity >= 1: print messages.HOW_TO_DEPLOY_NEW % {'help_file': help_file} else: - path_utils.deploy_into(directory, new_project = False, + path_utils.deploy_into(directory, new_project = False, verbosity = options.verbosity, context = context) if options.verbosity >= 1: print messages.HOW_TO_ADD_ASKBOT_TO_DJANGO % {'help_file': help_file} diff --git a/askbot/deployment/path_utils.py b/askbot/deployment/path_utils.py index ad289798..676f8bf8 100644 --- a/askbot/deployment/path_utils.py +++ b/askbot/deployment/path_utils.py @@ -1,5 +1,5 @@ """utilities in addition to os.path -that +that * help to test existing paths on usability for the installation * create necessary directories * install deployment files @@ -48,7 +48,7 @@ def directory_is_writable(directory): def can_create_path(directory): - """returns True if user can write file into + """returns True if user can write file into directory even if it does not exist yet and False otherwise """ @@ -139,9 +139,13 @@ def deploy_into(directory, new_project = None, verbosity=1, context=None): if file_name in blank_files: continue else: - if verbosity >=1: - print '* %s' % file_name, - print "- you already have one, please add contents of %s" % src + if file_name == 'urls.py' and new_project: + #overwrite urls.py + shutil.copy(src, directory) + else: + if verbosity >=1: + print '* %s' % file_name, + print "- you already have one, please add contents of %s" % src else: if verbosity >=1: print '* %s ' % file_name @@ -157,7 +161,7 @@ def deploy_into(directory, new_project = None, verbosity=1, context=None): print "Creating settings file" settings_contents = SettingsTemplate(context).render() settings_path = os.path.join(directory, 'settings.py') - if os.path.exists(settings_path): + if os.path.exists(settings_path) and new_project==False: if verbosity>=1: print "* you already have a settings file please merge the contents" else: -- cgit v1.2.3-1-g7c22 From 60650359067d5f1e684ff5bf4e59e7d43f118c50 Mon Sep 17 00:00:00 2001 From: Adolfo Fitoria Date: Wed, 19 Oct 2011 11:19:48 -0300 Subject: adding pystache to requirements --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 71ed2abb..253f9db9 100644 --- a/setup.py +++ b/setup.py @@ -25,6 +25,7 @@ install_requires = [ 'django-followit', 'django-recaptcha-works', 'python-openid', + 'pystache==0.3.1', ] import askbot -- cgit v1.2.3-1-g7c22 From 93928e09df2be2cd51cb4e14df4205e52b4e01fc Mon Sep 17 00:00:00 2001 From: Adolfo Fitoria Date: Wed, 19 Oct 2011 11:43:35 -0300 Subject: updated settings.mustache --- askbot/setup_templates/settings.py | 6 +++--- askbot/setup_templates/settings.py.mustache | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/askbot/setup_templates/settings.py b/askbot/setup_templates/settings.py index a97402aa..83fe9997 100644 --- a/askbot/setup_templates/settings.py +++ b/askbot/setup_templates/settings.py @@ -40,7 +40,7 @@ EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' #go to the site's live settings and enable the feature #"Email settings" -> "allow asking by email" # -# WARNING: command post_emailed_questions DELETES all +# WARNING: command post_emailed_questions DELETES all # emails from the mailbox each time # do not use your personal mail box here!!! # @@ -78,7 +78,7 @@ PROJECT_ROOT = os.path.dirname(__file__) ADMIN_MEDIA_PREFIX = '/admin/media/' # Make up some unique string, and don't share it with anybody. -SECRET_KEY = 'sdljdfjkldsflsdjkhsjkldgjlsdgfs s ' +SECRET_KEY = 'sdljdfjkldsflsdjkhsjkldgjlsdgfs s ' # List of callables that know how to import templates from various sources. TEMPLATE_LOADERS = ( @@ -116,7 +116,7 @@ ROOT_URLCONF = os.path.basename(os.path.dirname(__file__)) + '.urls' #UPLOAD SETTINGS FILE_UPLOAD_TEMP_DIR = os.path.join( - os.path.dirname(__file__), + os.path.dirname(__file__), 'tmp' ).replace('\\','/') diff --git a/askbot/setup_templates/settings.py.mustache b/askbot/setup_templates/settings.py.mustache index 9a115077..ad954734 100644 --- a/askbot/setup_templates/settings.py.mustache +++ b/askbot/setup_templates/settings.py.mustache @@ -85,7 +85,7 @@ TEMPLATE_LOADERS = ( 'django.template.loaders.filesystem.load_template_source', 'django.template.loaders.app_directories.load_template_source', #below is askbot stuff for this tuple - 'askbot.skins.loaders.load_template_source', + 'askbot.skins.loaders.filesystem_load_template_source', #'django.template.loaders.eggs.load_template_source', ) -- cgit v1.2.3-1-g7c22 From 42e5c889ec4e91b2e71d315d33f8015ac9aafeb2 Mon Sep 17 00:00:00 2001 From: Adolfo Fitoria Date: Thu, 20 Oct 2011 14:38:48 -0300 Subject: added DOMAIN_NAME to settings --- askbot/setup_templates/settings.py.mustache | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/askbot/setup_templates/settings.py.mustache b/askbot/setup_templates/settings.py.mustache index ad954734..18f9ac94 100644 --- a/askbot/setup_templates/settings.py.mustache +++ b/askbot/setup_templates/settings.py.mustache @@ -212,6 +212,7 @@ CELERY_ALWAYS_EAGER = True import djcelery djcelery.setup_loader() +DOMAIN_NAME = '{{domain_name}}' -CSRF_COOKIE_NAME = '{{domain_name}}_scrf' -CSRF_COOKIE_DOMAIN = '{{domain_name}}'#enter domain name here - e.g. example.com +CSRF_COOKIE_NAME = '{{domain_name}}_csrf' +CSRF_COOKIE_DOMAIN = DOMAIN_NAME -- cgit v1.2.3-1-g7c22 From 1ff1bf97acd3e9ccb4ffe529095ba75b3399e4fd Mon Sep 17 00:00:00 2001 From: Evgeny Fadeev Date: Thu, 20 Oct 2011 16:23:38 -0300 Subject: broken intermediate commit - refactoring the deployment function to make it more understandable --- askbot/deployment/__init__.py | 288 +++++++++++++++------------------------- askbot/deployment/assertions.py | 3 +- askbot/deployment/messages.py | 6 +- askbot/deployment/path_utils.py | 87 +++++++++--- 4 files changed, 180 insertions(+), 204 deletions(-) diff --git a/askbot/deployment/__init__.py b/askbot/deployment/__init__.py index c20e168f..1ddf24ca 100644 --- a/askbot/deployment/__init__.py +++ b/askbot/deployment/__init__.py @@ -2,6 +2,7 @@ module for deploying askbot """ import os.path +import sys from optparse import OptionParser from askbot.utils import console from askbot.deployment import messages @@ -16,205 +17,124 @@ def askbot_setup(): """ parser = OptionParser(usage="%prog [options]") - parser.add_option("-v", "--verbose", - dest="verbosity", - type="int", - default=1, - help="verbosity level available values 0, 1, 2." - ) - - parser.add_option("-n", "--dir-name", - dest="name", - default=None, - help="Directory where you want to install." - ) - - parser.add_option("-d", "--db-name", - dest="database_name", - default=None, - help="The database name" - ) - - parser.add_option("-u", "--db-user", - dest="database_user", - default=None, - help="The database user" - ) - - parser.add_option("-p", "--db-password", - dest="database_password", - default=None, - help="the database password" - ) - - parser.add_option("--domain", - dest="domain_name", - default=None, - help="the domain name of the instance" - ) - - parser.add_option("--append-settings", - dest="local_settings", - default='', - help="Extra settings file to append custom settings" - ) - - parser.add_option("--force", - dest="force", - action='store_true', - help="Force overwrite settings.py file" - ) - + parser.add_option( + "-v", "--verbose", + dest = "verbosity", + type = "int", + default = 1, + help = "verbosity level available values 0, 1, 2." + ) + + parser.add_option( + "-n", "--dir-name", + dest = "dir_name", + default = None, + help = "Directory where you want to install." + ) + + parser.add_option( + "-d", "--db-name", + dest="database_name", + default=None, + help="The database name" + ) + + parser.add_option( + "-u", "--db-user", + dest="database_user", + default=None, + help="The database user" + ) + + parser.add_option( + "-p", "--db-password", + dest="database_password", + default=None, + help="the database password" + ) + + parser.add_option( + "--domain", + dest="domain_name", + default=None, + help="the domain name of the instance" + ) + + parser.add_option( + "--append-settings", + dest="local_settings", + default='', + help="Extra settings file to append custom settings" + ) + + parser.add_option( + "--force", + dest="force", + action='store_true', + help="Force overwrite settings.py file" + ) (options, args) = parser.parse_args() #ask if options.verbosity >= 1: print messages.DEPLOY_PREAMBLE - directory = options.name #directory where to put stuff + directory = path_utils.clean_directory(options.dir_name) + if options.verbosity >= 1 and directory is None: + print messages.CANT_INSTALL_INTO_FILE % {'path':directory} + sys.exit(1) + create_new = False #create new django project or not - where_to_deploy_msg = messages.WHERE_TO_DEPLOY - - if directory == None: - while directory is None: - where_to_deploy_msg = messages.WHERE_TO_DEPLOY_QUIT - directory = raw_input(where_to_deploy_msg + ' ') - directory = check_directory(directory, options) - if not directory: - continue - - if path_utils.can_create_path(directory): - if os.path.exists(directory): - if path_utils.path_is_clean_for_django(directory): - if path_utils.has_existing_django_project(directory): - message = messages.SHOULD_ADD_APP_HERE % \ - { - 'path': directory - } - should_add_app = console.choice_dialog( - message, - choices = ['yes','no'], - invalid_phrase = messages.INVALID_INPUT - ) - if should_add_app == 'yes': - assert(create_new == False) - if path_utils.dir_name_acceptable(directory): - break - else: - print messages.format_msg_bad_dir_name(directory) - directory = None - continue - else: - directory = None - continue - else: - assert(directory != None) - if path_utils.dir_name_acceptable(directory): - create_new = True - break - else: - print messages.format_msg_bad_dir_name(directory) - directory = None - continue - else: - print messages.format_msg_dir_unclean_django(directory) - directory = None - continue - else: - #creates dir - message = messages.format_msg_create(directory) - should_create_new = console.choice_dialog( - message, - choices = ['yes','no'], - invalid_phrase = messages.INVALID_INPUT - ) - if should_create_new == 'yes': - if path_utils.dir_name_acceptable(directory): - create_new = True - break - else: - print messages.format_msg_bad_dir_name(directory) - directory = None - continue - else: - directory = None - continue - else: - print messages.format_msg_dir_not_writable(directory) - directory = None - continue - - deploy_askbot(directory, create_new, options) - else: - directory = check_directory(directory, options) - create_new = True - if directory==None: - raise Exception("the directory you choosed is invalid") - #TODO middle steps! - if path_utils.can_create_path(directory): - if os.path.exists(directory): - if path_utils.path_is_clean_for_django(directory): - if path_utils.has_existing_django_project(directory): - if options.verbosity >= 1: - print "Integrating askbot to your current app" - create_new=False - else: - assert(directory != None) - if path_utils.dir_name_acceptable(directory): - pass - else: - raise Exception(messages.format_msg_bad_dir_name(directory)) - else: - raise Exception(messages.format_msg_dir_unclean_django(directory)) - else: - if path_utils.dir_name_acceptable(directory): - pass - else: - raise Exception(messages.format_msg_bad_dir_name(directory)) - else: - raise Exception(messages.format_msg_dir_not_writable(directory)) - - deploy_askbot(directory, create_new, options) + while directory is None: + directory = get_install_directory(force = options.force) + + deploy_askbot(directory, create_new_project, options) + #separated all the directory creation process to make it more useful -def deploy_askbot(directory, create_new, options): - '''function that copies the templates''' +def deploy_askbot(directory, create_new_project, options): + """function that creates django project files, + all the neccessary directories for askbot, + and the log file + """ + help_file = path_utils.get_path_to_help_file() - context = {'database_name': options.database_name, - 'database_password': options.database_password, - 'database_user': options.database_user, - 'domain_name': options.domain_name, - 'local_settings': options.local_settings, - } + context = { + 'database_name': options.database_name, + 'database_password': options.database_password, + 'database_user': options.database_user, + 'domain_name': options.domain_name, + 'local_settings': options.local_settings, + } for key in context.keys(): if context[key] == None: input_message = 'Please enter a value for %s:' % (key.replace('_', ' ')) new_value = raw_input(input_message) context[key] = new_value - if options.force: - create_new = options.force - - if create_new: - path_utils.create_path(directory) - path_utils.deploy_into(directory, new_project = True, - verbosity = options.verbosity, context = context) - if options.verbosity >= 1: - print messages.HOW_TO_DEPLOY_NEW % {'help_file': help_file} + path_utils.create_path(directory) + + create_new_project = False + if os.path.exists(directory): + if path_utils + + create_new_project or options.force + + path_utils.deploy_into( + directory, + new_project = create_new_project, + verbosity = options.verbosity, + context = context + ) + + if create_new_project: + print_message( + messages.HOW_TO_DEPLOY_NEW % {'help_file': help_file}, + options.verbosity + ) else: - path_utils.deploy_into(directory, new_project = False, - verbosity = options.verbosity, context = context) - if options.verbosity >= 1: - print messages.HOW_TO_ADD_ASKBOT_TO_DJANGO % {'help_file': help_file} - -def check_directory(directory, options): - directory = os.path.normpath(directory) - directory = os.path.abspath(directory) - - if os.path.isfile(directory): - directory = None - if options.verbosity >= 1: - print messages.CANT_INSTALL_INTO_FILE % {'path':directory} - - return directory + print_message( + messages.HOW_TO_ADD_ASKBOT_TO_DJANGO % {'help_file': help_file}, + options.verbosity + ) diff --git a/askbot/deployment/assertions.py b/askbot/deployment/assertions.py index 0db62b84..d8dee828 100644 --- a/askbot/deployment/assertions.py +++ b/askbot/deployment/assertions.py @@ -12,7 +12,8 @@ def assert_package_compatibility(): """raises an exception if any known incompatibilities are found """ - (django_major, django_minor, django_micro) = package_utils.get_django_version() + (django_major, django_minor, django_micro) = \ + package_utils.get_django_version() if django_major < 1: raise DeploymentError('Django version < 1.0 is not supported by askbot') diff --git a/askbot/deployment/messages.py b/askbot/deployment/messages.py index 1569de6c..a108d927 100644 --- a/askbot/deployment/messages.py +++ b/askbot/deployment/messages.py @@ -9,9 +9,9 @@ Problems installing? -> please email admin@askbot.org To CANCEL - hit Ctr-C at any time""" -WHERE_TO_DEPLOY = 'Where to deploy (in which directory)?' +WHERE_TO_DEPLOY = 'In which directory to deploy the forum?' -WHERE_TO_DEPLOY_QUIT = 'Where deploy forum (directory)? (Ctrl-C to quit)' +WHERE_TO_DEPLOY_QUIT = 'Where deploy the forum (directory)? Ctrl-C to quit.' CANT_INSTALL_INTO_FILE = '%(path)s is a file\ncannot install there' @@ -78,7 +78,7 @@ def format_msg_dir_unclean_django(directory): directories contains a django project so that users don't create nested projects """ - parent_django_dir = path_utils.find_parent_dir_with_django(directory) + return path_utils.find_parent_dir_with_django(directory) def format_msg_bad_dir_name(directory): """directory name must be bad - i.e. taken by other python module diff --git a/askbot/deployment/path_utils.py b/askbot/deployment/path_utils.py index 676f8bf8..806fa80c 100644 --- a/askbot/deployment/path_utils.py +++ b/askbot/deployment/path_utils.py @@ -13,6 +13,7 @@ import shutil import imp from askbot.deployment.template_loader import SettingsTemplate + def split_at_break_point(directory): """splits directory path into two pieces first that exists and secon - that does not @@ -29,6 +30,17 @@ def split_at_break_point(directory): tail_bits.insert(0, tail) return head, os.path.join(*tail_bits) +def clean_directory(directory): + """Returns normalized absolute path to the directory + regardless of whether it exists or not + or None - if the path is a file""" + directory = os.path.normpath(directory) + directory = os.path.abspath(directory) + + if os.path.isfile(directory): + return None + return directory + def directory_is_writable(directory): """returns True if directory exists @@ -66,7 +78,8 @@ def has_existing_django_project(directory): """returns True is any of the .py files in a given directory imports anything from django """ - file_list = glob.glob(directory + '*.py') + directory = os.path.normpath(directory) + file_list = glob.glob(directory + os.path.sep + '*.py') for file_name in file_list: py_file = open(file_name) for line in py_file: @@ -124,10 +137,10 @@ def get_path_to_help_file(): """returns path to the main plain text help file""" return os.path.join(SOURCE_DIR, 'doc', 'INSTALL') -def deploy_into(directory, new_project = None, verbosity=1, context=None): +def deploy_into(directory, new_project = None, verbosity = 1, context = None): """will copy necessary files into the directory """ - assert(new_project is not None) + assert(isinstance(new_project, bool)) if new_project: copy_files = ('__init__.py', 'manage.py', 'urls.py') blank_files = ('__init__.py', 'manage.py') @@ -143,11 +156,11 @@ def deploy_into(directory, new_project = None, verbosity=1, context=None): #overwrite urls.py shutil.copy(src, directory) else: - if verbosity >=1: + if verbosity >= 1: print '* %s' % file_name, print "- you already have one, please add contents of %s" % src else: - if verbosity >=1: + if verbosity >= 1: print '* %s ' % file_name shutil.copy(src, directory) #copy log directory @@ -157,14 +170,14 @@ def deploy_into(directory, new_project = None, verbosity=1, context=None): touch(os.path.join(log_dir, 'askbot.log')) #creating settings file from template - if verbosity>=1: + if verbosity >= 1: print "Creating settings file" settings_contents = SettingsTemplate(context).render() settings_path = os.path.join(directory, 'settings.py') - if os.path.exists(settings_path) and new_project==False: - if verbosity>=1: + if os.path.exists(settings_path) and new_project == False: + if verbosity >= 1: print "* you already have a settings file please merge the contents" - else: + elif new_project == True: settings_file = open(settings_path, 'w+') settings_file.write(settings_contents) #Grab the file! @@ -174,10 +187,10 @@ def deploy_into(directory, new_project = None, verbosity=1, context=None): settings_file.write(local_settings) settings_file.close() - if verbosity>=1: + if verbosity >= 1: print "settings file created" - if verbosity >=1: + if verbosity >= 1: print '' app_dir = os.path.join(directory, 'askbot') @@ -188,21 +201,21 @@ def deploy_into(directory, new_project = None, verbosity=1, context=None): dst = os.path.join(app_dir, dir_name) if os.path.abspath(src) != os.path.abspath(dst): if dirs_copied == 0: - if verbosity >=1: + if verbosity >= 1: print 'copying directories: ', - if verbosity >=1: + if verbosity >= 1: print '* ' + dir_name if os.path.exists(dst): if os.path.isdir(dst): - if verbosity >=1: + if verbosity >= 1: print 'Directory %s not empty - skipped' % dst else: - if verbosity >=1: + if verbosity >= 1: print 'File %s already exists - skipped' % dst continue shutil.copytree(src, dst) dirs_copied += 1 - if verbosity >=1: + if verbosity >= 1: print '' def dir_name_acceptable(directory): @@ -213,3 +226,45 @@ def dir_name_acceptable(directory): return False except ImportError: return True + +def get_install_directory(force = False): + """returns a directory where a new django app/project + can be installed. + If ``force`` is ``True`` - will permit + using a directory with an existing django project. + """ + + where_to_deploy_msg = messages.WHERE_TO_DEPLOY_QUIT + directory = raw_input(where_to_deploy_msg + ' ') + directory = clean_directory(directory) + + if directory is None: + return None + + if can_create_path(directory) == False: + print messages.format_msg_dir_not_writable(directory) + return None + + if os.path.exists(directory): + if path_is_clean_for_django(directory): + if has_existing_django_project(directory): + if force == False: + print messages.CANNOT_OVERWRITE_EXISTING_DJANGO_PROJECT + return None + else: + print messages.format_msg_dir_unclean_django(directory) + return None + elif force == False: + message = messages.format_msg_create(directory) + should_create_new = console.choice_dialog( + message, + choices = ['yes','no'], + invalid_phrase = messages.INVALID_INPUT + ) + if should_create_new == 'no': + return None + + if not dir_name_acceptable(directory): + print messages.format_msg_bad_dir_name(directory) + return None + -- cgit v1.2.3-1-g7c22 From 7a339c065c5f7b549d2e838d849459163514f807 Mon Sep 17 00:00:00 2001 From: Evgeny Fadeev Date: Thu, 20 Oct 2011 18:33:11 -0300 Subject: finished refactoring of the deployment script --- askbot/deployment/__init__.py | 88 +++++++++++++++++++++-------------------- askbot/deployment/messages.py | 8 ++++ askbot/deployment/path_utils.py | 25 ++++++++---- 3 files changed, 71 insertions(+), 50 deletions(-) diff --git a/askbot/deployment/__init__.py b/askbot/deployment/__init__.py index 1ddf24ca..f4844083 100644 --- a/askbot/deployment/__init__.py +++ b/askbot/deployment/__init__.py @@ -6,6 +6,7 @@ import sys from optparse import OptionParser from askbot.utils import console from askbot.deployment import messages +from askbot.deployment.messages import print_message from askbot.deployment import path_utils def askbot_setup(): @@ -15,7 +16,7 @@ def askbot_setup(): or gives hints on how to add askbot to an existing Django project """ - parser = OptionParser(usage="%prog [options]") + parser = OptionParser(usage = "%prog [options]") parser.add_option( "-v", "--verbose", @@ -34,66 +35,65 @@ def askbot_setup(): parser.add_option( "-d", "--db-name", - dest="database_name", - default=None, - help="The database name" + dest = "database_name", + default = None, + help = "The database name" ) parser.add_option( "-u", "--db-user", - dest="database_user", - default=None, - help="The database user" + dest = "database_user", + default = None, + help = "The database user" ) parser.add_option( "-p", "--db-password", - dest="database_password", - default=None, - help="the database password" + dest = "database_password", + default = None, + help = "the database password" ) parser.add_option( "--domain", - dest="domain_name", - default=None, - help="the domain name of the instance" + dest = "domain_name", + default = None, + help = "the domain name of the instance" ) parser.add_option( "--append-settings", - dest="local_settings", - default='', - help="Extra settings file to append custom settings" + dest = "local_settings", + default = '', + help = "Extra settings file to append custom settings" ) parser.add_option( "--force", - dest="force", - action='store_true', - help="Force overwrite settings.py file" + dest = "force", + action = 'store_true', + help = "Force overwrite settings.py file" ) - (options, args) = parser.parse_args() - #ask - if options.verbosity >= 1: - print messages.DEPLOY_PREAMBLE - - directory = path_utils.clean_directory(options.dir_name) - if options.verbosity >= 1 and directory is None: - print messages.CANT_INSTALL_INTO_FILE % {'path':directory} - sys.exit(1) + try: + options = parser.parse_args()[0] + #ask + if options.verbosity >= 1: + print messages.DEPLOY_PREAMBLE - create_new = False #create new django project or not - while directory is None: - directory = get_install_directory(force = options.force) + directory = path_utils.clean_directory(options.dir_name) + while directory is None: + directory = path_utils.get_install_directory(force = options.force) - deploy_askbot(directory, create_new_project, options) + deploy_askbot(directory, options) + except KeyboardInterrupt: + print "\n\nAborted." + sys.exit(1) #separated all the directory creation process to make it more useful -def deploy_askbot(directory, create_new_project, options): +def deploy_askbot(directory, options): """function that creates django project files, all the neccessary directories for askbot, and the log file @@ -107,19 +107,21 @@ def deploy_askbot(directory, create_new_project, options): 'domain_name': options.domain_name, 'local_settings': options.local_settings, } - for key in context.keys(): - if context[key] == None: - input_message = 'Please enter a value for %s:' % (key.replace('_', ' ')) - new_value = raw_input(input_message) - context[key] = new_value - - path_utils.create_path(directory) + if not options.force: + for key in context.keys(): + if context[key] == None: + input_message = 'Please enter a value for %s:' \ + % (key.replace('_', ' ')) + new_value = raw_input(input_message) + context[key] = new_value create_new_project = False if os.path.exists(directory): - if path_utils - - create_new_project or options.force + create_new_project = bool(options.force) + else: + create_new_project = True + + path_utils.create_path(directory) path_utils.deploy_into( directory, diff --git a/askbot/deployment/messages.py b/askbot/deployment/messages.py index a108d927..44dde979 100644 --- a/askbot/deployment/messages.py +++ b/askbot/deployment/messages.py @@ -32,6 +32,10 @@ but %(existing_prefix)s is not writable""" CONFIRM_DIR_CREATION = """Adding new directories:\n%(existing_prefix)s <-/%(non_existing_tail)s Accept?""" +CANNOT_OVERWRITE_DJANGO_PROJECT = """Directory %(directory)s +already has a django project. If you want to overwrite +settings.py and urls.py files, use parameter --force""" + INVALID_INPUT = 'Please type one of: %(opt_string)s ' \ + '(or hit Ctrl-C to quit)' @@ -89,3 +93,7 @@ def format_msg_bad_dir_name(directory): return DIR_NAME_TAKEN_BY_ASKBOT else: return DIR_NAME_TAKEN_BY_PYTHON % {'dir': dir_name} + +def print_message(message, verbosity): + if verbosity >= 1: + print message diff --git a/askbot/deployment/path_utils.py b/askbot/deployment/path_utils.py index 806fa80c..d0b0a011 100644 --- a/askbot/deployment/path_utils.py +++ b/askbot/deployment/path_utils.py @@ -11,6 +11,7 @@ import re import glob import shutil import imp +from askbot.utils import console from askbot.deployment.template_loader import SettingsTemplate @@ -33,11 +34,19 @@ def split_at_break_point(directory): def clean_directory(directory): """Returns normalized absolute path to the directory regardless of whether it exists or not - or None - if the path is a file""" + or ``None`` - if the path is a file or if ``directory`` + parameter is ``None``""" + if directory is None: + return None + directory = os.path.normpath(directory) directory = os.path.abspath(directory) if os.path.isfile(directory): + if options.verbosity >= 1 and os.path.isfile(directory): + print messages.CANT_INSTALL_INTO_FILE % {'path':directory} + sys.exit(1) + return None return directory @@ -68,7 +77,7 @@ def can_create_path(directory): if not os.path.isdir(directory): return False else: - directory, junk = split_at_break_point(directory) + directory = split_at_break_point(directory)[0] return directory_is_writable(directory) @@ -137,14 +146,14 @@ def get_path_to_help_file(): """returns path to the main plain text help file""" return os.path.join(SOURCE_DIR, 'doc', 'INSTALL') -def deploy_into(directory, new_project = None, verbosity = 1, context = None): +def deploy_into(directory, new_project = False, verbosity = 1, context = None): """will copy necessary files into the directory """ assert(isinstance(new_project, bool)) if new_project: copy_files = ('__init__.py', 'manage.py', 'urls.py') blank_files = ('__init__.py', 'manage.py') - if verbosity >=1: + if verbosity >= 1: print 'Copying files: ' for file_name in copy_files: src = os.path.join(SOURCE_DIR, 'setup_templates', file_name) @@ -233,7 +242,7 @@ def get_install_directory(force = False): If ``force`` is ``True`` - will permit using a directory with an existing django project. """ - + from askbot.deployment import messages where_to_deploy_msg = messages.WHERE_TO_DEPLOY_QUIT directory = raw_input(where_to_deploy_msg + ' ') directory = clean_directory(directory) @@ -248,8 +257,9 @@ def get_install_directory(force = False): if os.path.exists(directory): if path_is_clean_for_django(directory): if has_existing_django_project(directory): - if force == False: - print messages.CANNOT_OVERWRITE_EXISTING_DJANGO_PROJECT + if not force: + print messages.CANNOT_OVERWRITE_DJANGO_PROJECT % \ + {'directory': directory} return None else: print messages.format_msg_dir_unclean_django(directory) @@ -268,3 +278,4 @@ def get_install_directory(force = False): print messages.format_msg_bad_dir_name(directory) return None + return directory -- cgit v1.2.3-1-g7c22 From 1aa50bbe284c2fbc092636f6d114e1a76760f01e Mon Sep 17 00:00:00 2001 From: Adolfo Fitoria Date: Fri, 21 Oct 2011 10:13:14 -0300 Subject: changed celery broker setting name --- askbot/setup_templates/settings.py | 4 ++-- askbot/setup_templates/settings.py.mustache | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/askbot/setup_templates/settings.py b/askbot/setup_templates/settings.py index 83fe9997..dcdcb8a4 100644 --- a/askbot/setup_templates/settings.py +++ b/askbot/setup_templates/settings.py @@ -208,11 +208,11 @@ ALLOW_UNICODE_SLUGS = False ASKBOT_USE_STACKEXCHANGE_URLS = False #mimic url scheme of stackexchange #Celery Settings -BROKER_BACKEND = "djkombu.transport.DatabaseTransport" +BROKER_TRANSPORT = "djkombu.transport.DatabaseTransport" CELERY_ALWAYS_EAGER = True import djcelery djcelery.setup_loader() -CSRF_COOKIE_NAME = 'askbot_scrf' +CSRF_COOKIE_NAME = 'askbot_csrf' CSRF_COOKIE_DOMAIN = ''#enter domain name here - e.g. example.com diff --git a/askbot/setup_templates/settings.py.mustache b/askbot/setup_templates/settings.py.mustache index 18f9ac94..82d42377 100644 --- a/askbot/setup_templates/settings.py.mustache +++ b/askbot/setup_templates/settings.py.mustache @@ -207,7 +207,7 @@ ALLOW_UNICODE_SLUGS = False ASKBOT_USE_STACKEXCHANGE_URLS = False #mimic url scheme of stackexchange #Celery Settings -BROKER_BACKEND = "djkombu.transport.DatabaseTransport" +BROKER_TRANSPORT= "djkombu.transport.DatabaseTransport" CELERY_ALWAYS_EAGER = True import djcelery -- cgit v1.2.3-1-g7c22 From e709b7bf9a63b3abd6912e57c9ded21eeab99ebb Mon Sep 17 00:00:00 2001 From: Adolfo Fitoria Date: Fri, 21 Oct 2011 16:59:38 -0300 Subject: temporal commit --- askbot/skins/common/templates/widgets/search_bar.html | 10 +++++++--- askbot/skins/default/media/style/style.css | 12 +++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/askbot/skins/common/templates/widgets/search_bar.html b/askbot/skins/common/templates/widgets/search_bar.html index 5efe3860..7cc76ec4 100644 --- a/askbot/skins/common/templates/widgets/search_bar.html +++ b/askbot/skins/common/templates/widgets/search_bar.html @@ -21,10 +21,14 @@ {% endif %} {# class was searchInput #} Date: Sat, 22 Oct 2011 11:09:52 -0300 Subject: added test for the celery setup --- askbot/startup_procedures.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/askbot/startup_procedures.py b/askbot/startup_procedures.py index 94d9b852..08b91e7a 100644 --- a/askbot/startup_procedures.py +++ b/askbot/startup_procedures.py @@ -184,6 +184,14 @@ def test_template_loader(): "in the TEMPLATE_LOADERS of your settings.py file" ) +def test_celery(): + """Tests celery settings""" + if hasattr(django_settings, 'BROKER_BACKEND'): + raise ImproperlyConfigured(PREAMBLE + \ + "\nPlease rename setting BROKER_BACKEND to BROKER_TRANSPORT\n" + "in your settings.py file" + ) + def run_startup_tests(): """function that runs all startup tests, mainly checking settings config so far @@ -197,6 +205,7 @@ def run_startup_tests(): test_i18n() test_postgres() test_middleware() + test_celery() @transaction.commit_manually def run(): -- cgit v1.2.3-1-g7c22 From a554391ad4ce8ab9c9349f509b950a06479fdfcc Mon Sep 17 00:00:00 2001 From: Byron Date: Sun, 23 Oct 2011 11:31:27 -0600 Subject: Some changes in question sidebar --- askbot/skins/default/media/style/style.css | 26 ++++++++++++++++++- .../skins/default/templates/question/sidebar.html | 29 +++------------------- 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/askbot/skins/default/media/style/style.css b/askbot/skins/default/media/style/style.css index 23972142..e5c38294 100644 --- a/askbot/skins/default/media/style/style.css +++ b/askbot/skins/default/media/style/style.css @@ -451,7 +451,7 @@ h1 { width: 950px; } -/* ----- Sidebar Widgets Box, check main_page/sidebar.html ----- */ +/* ----- Sidebar Widgets Box, check main_page/sidebar.html or question/sidebar.html ----- */ .box { background: #fff; @@ -540,6 +540,30 @@ h1 { background:url(../images/small-button-blue.png) repeat-x bottom; } } + +/* widgets for question template */ + + a.follow{ + background: url(../images/medium-button.png) top repeat-x; + height:34px; + line-height:34px; + text-align:center; + border:0; + font-family:@yanone; + color:@button-label; + font-weight:normal; + font-size:21px; + margin-top:3px; + display:block; + width:150px; + .rounded-corners(4px); + .box-shadow(1px, 1px, 2px, #636363); + } + a.follow:hover{ + text-decoration:none; + background: url(../images/medium-button.png) bottom repeat-x; + .text-shadow(0px, 1px, 0px, #c6d9dd); + } } diff --git a/askbot/skins/default/templates/question/sidebar.html b/askbot/skins/default/templates/question/sidebar.html index ab3a9ace..61339b08 100644 --- a/askbot/skins/default/templates/question/sidebar.html +++ b/askbot/skins/default/templates/question/sidebar.html @@ -1,9 +1,9 @@ {% import "macros.html" as macros %} {{ settings.SIDEBAR_QUESTION_HEADER }} - {% cache 0 "questions_tags" questions_tags question.id language_code %} -{% if settings.SIDEBAR_QUESTION_SHOW_TAGS %} -- --{% endif %} + {% if settings.SIDEBAR_QUESTION_SHOW_META %}- {% trans %}Question tags{% endtrans %}: -
- --- cgit v1.2.3-1-g7c22 From 362f3a6eb5f9577f91609b3e20893784aa58fa69 Mon Sep 17 00:00:00 2001 From: Byron-- cgit v1.2.3-1-g7c22 From 6b2ca2f6ea0b1e9674084d3f1206f6a701da0013 Mon Sep 17 00:00:00 2001 From: Evgeny FadeevDate: Sun, 23 Oct 2011 17:13:14 -0600 Subject: Finished style for sidebar elements on question template --- askbot/skins/default/media/style/lib_style.less | 2 +- askbot/skins/default/media/style/style.css | 137 +++++++++------------ .../skins/default/templates/question/sidebar.html | 10 +- .../templates/widgets/question_edit_tips.html | 4 + 4 files changed, 70 insertions(+), 83 deletions(-) diff --git a/askbot/skins/default/media/style/lib_style.less b/askbot/skins/default/media/style/lib_style.less index 34710137..cd8aa5d9 100644 --- a/askbot/skins/default/media/style/lib_style.less +++ b/askbot/skins/default/media/style/lib_style.less @@ -7,7 +7,7 @@ @question-link:#464646; @button-label:#4a757f; @section-title:#7ea9b3; -@info-text:#8d8d8d; +@info-text:#707070; @info-text-dark:#6b6b6b; /* Variables for fonts*/ diff --git a/askbot/skins/default/media/style/style.css b/askbot/skins/default/media/style/style.css index e5c38294..ded24542 100644 --- a/askbot/skins/default/media/style/style.css +++ b/askbot/skins/default/media/style/style.css @@ -490,7 +490,11 @@ h1 { } label { - color: #333; + color: @info-text; + font-size:15px; + display: block; + float: right; + width: 172px; } ul { @@ -541,9 +545,13 @@ h1 { } } + img.gravatar { + margin:1px; + } + /* widgets for question template */ - a.follow{ + a.followed, a.follow{ background: url(../images/medium-button.png) top repeat-x; height:34px; line-height:34px; @@ -555,22 +563,62 @@ h1 { font-size:21px; margin-top:3px; display:block; - width:150px; + width:120px; + text-decoration:none; .rounded-corners(4px); .box-shadow(1px, 1px, 2px, #636363); } - a.follow:hover{ + + a.followed:hover, a.follow:hover{ text-decoration:none; background: url(../images/medium-button.png) bottom repeat-x; .text-shadow(0px, 1px, 0px, #c6d9dd); } -} + a.followed div.unfollow{ + display:none; + } + + a.followed:hover div{ + display:none; + } + a.followed:hover div.unfollow{ + display:inline; + color:#a05736; + } + + .favorite-number { + padding: 5px 0 0 5px; + font-size: 100%; + font-family: Arial; + font-weight: bold; + color: #777; + text-align: left; + } -img.gravatar { - margin:1px; } +.statsWidget p{ + color:@info-text; + font-size:16px; + border-bottom:#cccccc 1px solid; + + strong{ + float:right; + padding-right:10px; + } +} +.questions-related { + word-wrap: break-word; + + p { + line-height: 20px; + padding: 4px 0px 4px 0px; + font-size: 16px; + font-weight:normal; + border-bottom:#cccccc 1px solid; + } +} /* tips and markdown help are widgets for ask template */ #tips{ @@ -594,6 +642,7 @@ img.gravatar { } } + /* ----- Sorting top Tab, check main_page/tab_bar.html ------*/ .tabBar { @@ -1310,11 +1359,13 @@ span.delete-icon:hover { float:none; clear:both; padding: 3px 0 0 1px; - font-size: 14px; + font-size: 15px; + width:110px; + } p.rss a { - padding-left: 18px; + font-family:@yanone; vertical-align: top; } } @@ -1435,16 +1486,6 @@ a:hover.medal { border-right: 1px solid #D1CA3D; } -.questions-related { - font-weight: 700; - word-wrap: break-word; -} - -.questions-related p { - line-height: 20px; - margin-bottom: 10px; - font-size: 100%; -} .question-status { margin-top: 10px; @@ -1468,56 +1509,6 @@ a:hover.medal { cursor: pointer; } -.vote-buttons .button{ - -moz-border-radius: 10px; - margin-top: 20px; - border-radius: 10px; - height: 20px; - width: 80px; - border-style: solid; - border-width: 1px; - padding: 8px; - float:left; -} - -.vote-buttons .followed{ - font-color: #000; - font-style:normal; - background: #cccccc; -} - -.vote-buttons .followed div{ - font-weight: normal; -} - -.vote-buttons .followed div.unfollow{ - display:none; -} - -.vote-buttons .followed:hover{ - color: #fff; - background: #8b0000; -} - -.vote-buttons .followed:hover div{ - display:none; -} - -.vote-buttons .followed:hover div.unfollow{ - display:inline; - font-weight: bold; -} - -.vote-buttons .follow{ - background: #cccccc; -} - -.vote-buttons .follow:hover{ - background: #234f32; - color: #fff; - font-weight: bold; -} - .vote-number { font-family: Arial; padding: 0px 0 3px 0; @@ -1545,14 +1536,6 @@ a:hover.medal { background: url(../images/vote-favorite-on.png) } -.favorite-number { - padding: 5px 0 0 10px; - font-size: 100%; - font-family: Arial; - font-weight: bold; - color: #777; - text-align: left; -} .notify-me { float: left; diff --git a/askbot/skins/default/templates/question/sidebar.html b/askbot/skins/default/templates/question/sidebar.html index 61339b08..d011d562 100644 --- a/askbot/skins/default/templates/question/sidebar.html +++ b/askbot/skins/default/templates/question/sidebar.html @@ -1,15 +1,15 @@ {% import "macros.html" as macros %} {{ settings.SIDEBAR_QUESTION_HEADER }} - +{% else %} + -- cgit v1.2.3-1-g7c22 From cfa983321297e0aaa425e5bfedde56effb76c247 Mon Sep 17 00:00:00 2001 From: ByronDate: Tue, 25 Oct 2011 00:52:53 -0600 Subject: Style for comments form and comment list, on question template --- .../templates/question/question_vote_buttons.html | 12 +- .../default/media/images/comment-background.png | Bin 0 -> 250 bytes askbot/skins/default/media/images/comment.png | Bin 0 -> 606 bytes .../default/media/images/small-button-cancel.png | Bin 0 -> 211 bytes .../default/media/images/vote-arrow-down-new.png | Bin 0 -> 1458 bytes .../media/images/vote-arrow-down-on-new.png | Bin 0 -> 980 bytes .../default/media/images/vote-arrow-up-new.png | Bin 0 -> 979 bytes .../default/media/images/vote-arrow-up-on-new.png | Bin 0 -> 1029 bytes askbot/skins/default/media/style/style.css | 337 ++++++++++++--------- .../default/templates/question/question_card.html | 1 + 10 files changed, 194 insertions(+), 156 deletions(-) create mode 100644 askbot/skins/default/media/images/comment-background.png create mode 100644 askbot/skins/default/media/images/comment.png create mode 100644 askbot/skins/default/media/images/small-button-cancel.png create mode 100644 askbot/skins/default/media/images/vote-arrow-down-new.png create mode 100644 askbot/skins/default/media/images/vote-arrow-down-on-new.png create mode 100644 askbot/skins/default/media/images/vote-arrow-up-new.png create mode 100644 askbot/skins/default/media/images/vote-arrow-up-on-new.png diff --git a/askbot/skins/common/templates/question/question_vote_buttons.html b/askbot/skins/common/templates/question/question_vote_buttons.html index b3db504f..5403c0f8 100644 --- a/askbot/skins/common/templates/question/question_vote_buttons.html +++ b/askbot/skins/common/templates/question/question_vote_buttons.html @@ -1,9 +1,9 @@ {% if question_vote %} @@ -13,23 +13,23 @@ {{ question.score }}{% endif %} diff --git a/askbot/skins/default/media/images/comment-background.png b/askbot/skins/default/media/images/comment-background.png new file mode 100644 index 00000000..4299b847 Binary files /dev/null and b/askbot/skins/default/media/images/comment-background.png differ diff --git a/askbot/skins/default/media/images/comment.png b/askbot/skins/default/media/images/comment.png new file mode 100644 index 00000000..9dcc4c66 Binary files /dev/null and b/askbot/skins/default/media/images/comment.png differ diff --git a/askbot/skins/default/media/images/small-button-cancel.png b/askbot/skins/default/media/images/small-button-cancel.png new file mode 100644 index 00000000..79a87497 Binary files /dev/null and b/askbot/skins/default/media/images/small-button-cancel.png differ diff --git a/askbot/skins/default/media/images/vote-arrow-down-new.png b/askbot/skins/default/media/images/vote-arrow-down-new.png new file mode 100644 index 00000000..f2a28aea Binary files /dev/null and b/askbot/skins/default/media/images/vote-arrow-down-new.png differ diff --git a/askbot/skins/default/media/images/vote-arrow-down-on-new.png b/askbot/skins/default/media/images/vote-arrow-down-on-new.png new file mode 100644 index 00000000..2127bf7d Binary files /dev/null and b/askbot/skins/default/media/images/vote-arrow-down-on-new.png differ diff --git a/askbot/skins/default/media/images/vote-arrow-up-new.png b/askbot/skins/default/media/images/vote-arrow-up-new.png new file mode 100644 index 00000000..cb9ea8b6 Binary files /dev/null and b/askbot/skins/default/media/images/vote-arrow-up-new.png differ diff --git a/askbot/skins/default/media/images/vote-arrow-up-on-new.png b/askbot/skins/default/media/images/vote-arrow-up-on-new.png new file mode 100644 index 00000000..ef895206 Binary files /dev/null and b/askbot/skins/default/media/images/vote-arrow-up-on-new.png differ diff --git a/askbot/skins/default/media/style/style.css b/askbot/skins/default/media/style/style.css index 5145d4ae..a6934629 100644 --- a/askbot/skins/default/media/style/style.css +++ b/askbot/skins/default/media/style/style.css @@ -1347,6 +1347,10 @@ span.delete-icon:hover { .question-page{ + h1{ + padding-top:0px; + } + h1 a{ color:@question-link; font-size:30px; @@ -1514,169 +1518,214 @@ span.delete-icon:hover { font-family:@yanone; line-height:15px; } - - div.comments { - padding: 0; + .question-img-upvote:hover { + background: url(../images/vote-arrow-up-on-new.png) } - .comments .button { - color: black; - font-size: 11px; - background: #eeeeee; - padding: 3px; - cursor: pointer; + .question-img-downvote:hover { + background: url(../images/vote-arrow-down-on-new.png) } - .comment a { - background-color: inherit; - color: blue; - padding: 0; + .question-img-favorite:hover { + background: url(../images/vote-favorite-on.png) } - - .comment a.author, a.author:hover { - background-color: inherit; - color: blue; + div.comments { padding: 0; } - - .comment a.author:hover { - text-decoration: underline; + #comment-title{ + font-weight:bold; + font-size:23px; + color:@section-title; + width:200px; + float:left; } - .comments { - font-size: 12px; - width: 650px; + font-size: 12px; clear: both; - } - - .comments .comment { - border-top: 1px dotted #cccccc; - margin: 0; - overflow: auto; - } - - .comments .content { - margin-bottom: 7px; - } - - .comments div.comment { - min-height: 25px; - } - - .comments div.comment:hover { - background-color: #eee; - } - - div.comment .comment-votes { - float: left; - width: 37px; - line-height: 130%; - padding: 6px 5px 6px 3px; - } + + div.controls { + clear: both; + float:left; + width: 100%; + margin: 3px 0 20px 5px; + } + + .controls a { + color: #988e4c; + padding: 0 3px 2px 22px; + font-family:@trebuchet; + font-size:13px; + background:url(../images/comment.png) no-repeat center left; + } - div.comment .comment-body { - line-height: 140%; - margin: 3px 26px 0 46px; - padding: 5px 3px; - color: #666; - } + .controls a:hover { + background-color: #f5f0c9; + text-decoration: none; + } - div.comment .comment-body p{ - font-size:inherit; - margin-bottom: 3px; - padding: 0; - } + .button { + color: #988e4c; + font-size: 11px; + padding: 3px; + cursor: pointer; + } + a { + background-color: inherit; + color: @link; + padding: 0; + } + + form.post-comments { + margin: 3px 30px 4px 5px; + } - div.comment .comment-delete { - float: right; - width: 14px; - line-height: 130%; - padding: 8px 6px; - } + textarea { + height: 42px; + width:100%; + margin: 12px 0 5px 1px; + font-family: @trebuchet; + outline: none; + overflow:auto; + font-size: 12px; + line-height: 140%; + padding-left:2px; + padding-top:4px; + border:#cce6ec 3px solid; + } - div.comment .upvote { - margin: 0px; - padding-right: 17px; - padding-top: 2px; - text-align: right; - height: 20px; - font-size: 13px; - font-weight: bold; - color: #777; - } + input { + margin-left: 10px; + margin-top: 1px; + vertical-align: top; + width: 100px; + } + button{ + background:url(../images/small-button-blue.png) repeat-x top; + border:0; + color:@button-label; + font-size:12px; + width:95px; + font-weight:bold; + height:24px; + margin-top:-2px; + cursor:pointer; + .rounded-corners(4px); + .text-shadow(0px,1px,0px,#E6F6FA); + .box-shadow(1px, 1px, 2px, #808080); + float:left; + } + button:hover{ + background: url(../images/small-button-blue.png) bottom repeat-x; + .text-shadow(0px, 1px, 0px, #c6d9dd); + } + .counter { + display: inline-block; + width: 245px; + float:right; + color:#b6a475 !important; + vertical-align: top; + font-family:@trebuchet; + float:right; + text-align:right; + } + .comment { + border-bottom: 1px solid #edeeeb; + margin: 0; + margin-top:8px; + padding-bottom:4px; + overflow: auto; + font-family:@trebuchet; + font-size:11px; + min-height: 25px; + background:url(../images/comment-background.png) bottom repeat-x; + .rounded-corners(5px); + } + div.comment:hover { + background-color: #efefef; + } + a.author{ + background-color: inherit; + color: @link; + padding: 0; + } - div.comment .upvote.upvoted { - color: #d64000; - } + a.author:hover { + text-decoration: underline; + } + span.delete-icon{ + background:url(../images/close-small.png) no-repeat; + } + span.delete-icon:hover{ + border:#BC564B 2px solid; + .rounded-corners(10px); + + } + .content { + margin-bottom: 7px; + } + + .comment-votes { + float: left; + width: 37px; + line-height: 130%; + padding: 6px 5px 6px 3px; + } - div.comment .upvote.hover { - background: url(../images/go-up-grey.png) no-repeat; - background-position: right 1px; - } + .comment-body { + line-height: 140%; + margin: 3px 26px 0 46px; + padding: 5px 3px; + color: #666; + } - div.comment .upvote:hover { - background: url(../images/go-up-orange.png) no-repeat; - background-position: right 1px; - } + .comment-body p{ + font-size:inherit; + margin-bottom: 3px; + padding: 0; + } - .comments div.controls { - clear: both; - background: url(../images/gray-up-arrow-h18px.png) no-repeat; - width: 100%; - padding-left: 12px; - margin: 3px 0 20px 5px; - } + .comment-delete { + float: right; + width: 14px; + line-height: 130%; + padding: 8px 6px; + } - .comments form.post-comments { - width: 560px; - margin: 3px 30px 4px 45px; - } + .upvote { + margin: 0px; + padding-right: 17px; + padding-top: 2px; + text-align: right; + height: 20px; + font-size: 13px; + font-weight: bold; + color: #777; + } - .comments textarea { - display: block; - height: 42px; - width: 572px; - margin: 6px 0 5px 1px; - font-family: sans-serif; - outline: none; - overflow:auto; - font-size: 12px; - line-height: 140%; - padding-left:2px; - } - - .comments input { - margin-left: 10px; - margin-top: 1px; - vertical-align: top; - width: 100px; - } + .upvote.upvoted { + color: #d64000; + } - .comments .counter { - display: inline-block; - width: 245px; - vertical-align: top; - } + .upvote.hover { + background: url(../images/go-up-grey.png) no-repeat; + background-position: right 1px; + } - .comments .controls a { - color: #888888; - padding: 0 3px 2px; - } + .upvote:hover { + background: url(../images/go-up-orange.png) no-repeat; + background-position: right 1px; + } - .comments .controls a:hover { - background-color: #777777; - color: white; - text-decoration: none; + .help-text{ + float: right; + text-align:right; + color: gray; + margin-bottom: 0px; + margin-top: 0px; + line-height: 50%; + } } - .comments .help-text{ - float: right; - text-align:right; - color: gray; - margin-bottom: 0px; - margin-top: 0px; - line-height: 50%; - } } #questionTools { @@ -1723,18 +1772,6 @@ span.delete-icon:hover { vertical-align: top; } -.question-img-upvote:hover { - background: url(../images/vote-arrow-up-on.png) -} - -.question-img-downvote:hover { - background: url(../images/vote-arrow-down-on.png) -} - -.question-img-favorite:hover { - background: url(../images/vote-favorite-on.png) -} - /* ----- Footer links , check blocks/footer.html----- */ diff --git a/askbot/skins/default/templates/question/question_card.html b/askbot/skins/default/templates/question/question_card.html index b1fa1743..b5cde475 100644 --- a/askbot/skins/default/templates/question/question_card.html +++ b/askbot/skins/default/templates/question/question_card.html @@ -16,6 +16,7 @@{% include "question/question_controls.html" %}+Comments
{% include "question/question_comments.html" %}Date: Tue, 25 Oct 2011 11:19:19 -0300 Subject: fixed bug reported at http://askbot.org/en/question/689/ unable to install into distribution directory --- askbot/deployment/__init__.py | 5 ++++- askbot/deployment/path_utils.py | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/askbot/deployment/__init__.py b/askbot/deployment/__init__.py index f4844083..6f7a86f6 100644 --- a/askbot/deployment/__init__.py +++ b/askbot/deployment/__init__.py @@ -117,7 +117,10 @@ def deploy_askbot(directory, options): create_new_project = False if os.path.exists(directory): - create_new_project = bool(options.force) + if path_utils.has_existing_django_project(directory): + create_new_project = bool(options.force) + else: + create_new_project = True else: create_new_project = True diff --git a/askbot/deployment/path_utils.py b/askbot/deployment/path_utils.py index d0b0a011..e0704a96 100644 --- a/askbot/deployment/path_utils.py +++ b/askbot/deployment/path_utils.py @@ -90,6 +90,9 @@ def has_existing_django_project(directory): directory = os.path.normpath(directory) file_list = glob.glob(directory + os.path.sep + '*.py') for file_name in file_list: + if file_name.endswith(os.path.sep + 'manage.py'): + #a hack allowing to install into the distro directory + continue py_file = open(file_name) for line in py_file: if IMPORT_RE1.match(line) or IMPORT_RE2.match(line): -- cgit v1.2.3-1-g7c22 From 2ab7904ba1ce8011970aaff3c7a8e98ec0c4dc6b Mon Sep 17 00:00:00 2001 From: Byron Date: Tue, 25 Oct 2011 21:54:43 -0600 Subject: back to old vote buttons, will be change later --- .../common/templates/question/question_vote_buttons.html | 12 ++++++------ askbot/skins/default/media/style/style.css | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/askbot/skins/common/templates/question/question_vote_buttons.html b/askbot/skins/common/templates/question/question_vote_buttons.html index 5403c0f8..b3db504f 100644 --- a/askbot/skins/common/templates/question/question_vote_buttons.html +++ b/askbot/skins/common/templates/question/question_vote_buttons.html @@ -1,9 +1,9 @@ {% if question_vote %} @@ -13,23 +13,23 @@ {% else %} {{ question.score }}{% endif %} diff --git a/askbot/skins/default/media/style/style.css b/askbot/skins/default/media/style/style.css index a6934629..745f4a22 100644 --- a/askbot/skins/default/media/style/style.css +++ b/askbot/skins/default/media/style/style.css @@ -1519,11 +1519,11 @@ span.delete-icon:hover { line-height:15px; } .question-img-upvote:hover { - background: url(../images/vote-arrow-up-on-new.png) + background: url(../images/vote-arrow-up-on.png) } .question-img-downvote:hover { - background: url(../images/vote-arrow-down-on-new.png) + background: url(../images/vote-arrow-down-on.png) } .question-img-favorite:hover { -- cgit v1.2.3-1-g7c22 From 1334d0dd4ca66da248f98cc2d8f1e8829005eb4b Mon Sep 17 00:00:00 2001 From: ByronDate: Wed, 26 Oct 2011 01:02:18 -0600 Subject: Style for Answers list and answer form in Question template --- .../common/templates/question/answer_controls.html | 2 +- askbot/skins/default/media/images/link.png | Bin 0 -> 601 bytes askbot/skins/default/media/style/style.css | 248 +++++++++++---------- .../default/templates/question/answer_card.html | 5 +- .../default/templates/question/answer_tab_bar.html | 1 - .../default/templates/question/question_card.html | 1 + 6 files changed, 137 insertions(+), 120 deletions(-) create mode 100644 askbot/skins/default/media/images/link.png diff --git a/askbot/skins/common/templates/question/answer_controls.html b/askbot/skins/common/templates/question/answer_controls.html index 87c39066..4d26ffb9 100644 --- a/askbot/skins/common/templates/question/answer_controls.html +++ b/askbot/skins/common/templates/question/answer_controls.html @@ -1,6 +1,6 @@ {% set pipe=joiner('|') %} {{ pipe() }} - {% trans %}permanent link{% endtrans %} diff --git a/askbot/skins/default/media/images/link.png b/askbot/skins/default/media/images/link.png new file mode 100644 index 00000000..6ad60f5e Binary files /dev/null and b/askbot/skins/default/media/images/link.png differ diff --git a/askbot/skins/default/media/style/style.css b/askbot/skins/default/media/style/style.css index 745f4a22..0b5bc70f 100644 --- a/askbot/skins/default/media/style/style.css +++ b/askbot/skins/default/media/style/style.css @@ -438,6 +438,7 @@ h1 { width: 730px; float: left; position: relative; + padding-bottom:10px; } #ContentRight { @@ -1248,6 +1249,7 @@ span.delete-icon:hover { font-size: 15px; } +#fmanswer input.submit, .ask-page input.submit, .edit-question-page input.submit { float: left; @@ -1262,6 +1264,8 @@ span.delete-icon:hover { .rounded-corners(4px); .box-shadow(1px, 1px, 2px, #636363); } + +#fmanswer input.submit:hover, .ask-page input.submit:hover, .edit-question-page input.submit:hover{ text-decoration:none; @@ -1292,6 +1296,13 @@ span.delete-icon:hover { background-color: #F5F5F5; min-height: 20px; overflow: auto; + font-size:13px; + font-family:@trebuchet; + + p{ + font-size:13px; + margin-bottom:14px; + } } .wmd-preview pre { @@ -1371,10 +1382,11 @@ span.delete-icon:hover { font-family:@yanone; vertical-align: top; } - + .question-content{ float:right; width:690px; + margin-bottom:10px; } #question-table{ @@ -1384,19 +1396,19 @@ span.delete-icon:hover { #question-table, .answer-table { - margin: 6px 0 10px 0; + margin: 6px 0 0px 0; border-spacing: 0px; width: 100%; } .answer-table { - border-bottom: 1px solid #bbb; + border-bottom: 1px solid #D4D4D4; clear: both; } .answer-table td, #question-table td { - width:30px; + width:20px; vertical-align:top; } .question-body, .answer-body { @@ -1410,6 +1422,14 @@ span.delete-icon:hover { line-height:1.4; font-size:13px; } + + a { + color:@link; + } + + li { + margin-bottom:0.7em; + } } .question-body IMG, .answer-body IMG { @@ -1474,7 +1494,7 @@ span.delete-icon:hover { text-decoration: none; height:18px; display:block; - float:left; + float:right; line-height:18px; margin-top:-2px; margin-left:4px; @@ -1486,12 +1506,12 @@ span.delete-icon:hover { } .sep { color: #ccc; - float:left; + float:right; height:18px; font-size:18px; } } - .post-controls,.answer-controls{ + .post-controls, .answer-controls{ .question-delete{ background: url(../images/delete.png) no-repeat center left; padding-left:16px; @@ -1508,6 +1528,9 @@ span.delete-icon:hover { .question-close{ background: url(../images/close.png) no-repeat center left; } + .permant-link{ + background: url(../images/link.png) no-repeat center left; + } } .tabBar{ width:100%; @@ -1725,54 +1748,117 @@ span.delete-icon:hover { line-height: 50%; } } + #questionTools { + font-size: 22px; + margin-top: 11px; + text-align: left; + } -} + .question-status { + margin-top: 10px; + margin-bottom:15px + padding: 20px; + background-color: #F5F5F5; + text-align: center; + } -#questionTools { - font-size: 22px; - margin-top: 11px; - text-align: left; -} + .question-status h3 { + font-size: 125%; + } + .vote-buttons { + float: left; + text-align: center; + padding-top: 2px; + } -.question-status { - margin-top: 10px; - margin-bottom:15px - padding: 20px; - background-color: #F5F5F5; - text-align: center; -} + .vote-buttons IMG { + cursor: pointer; + } -.question-status h3 { - font-size: 125%; -} + .vote-number { + font-family: @yanone; + padding: 0px 0 5px 0; + font-size: 25px; + font-weight: bold; + color: #777; + } -.vote-buttons { - float: left; - text-align: center; - padding-top: 2px; -} + .vote-buttons .notify-sidebar { + text-align: left; + } + .vote-buttons .notify-sidebar label { + vertical-align: top; + } + .accepted-answer { + background-color: #f7fecc; + border-bottom-color: #9BD59B; + + .vote-buttons { + width:27px; + } + } -.vote-buttons IMG { - cursor: pointer; -} + .answer .post-update-info a{ + color:#444444; + } + + .accepted-answer .comments { + background-color: #f1f6d4; + } -.vote-number { - font-family: Arial; - padding: 0px 0 3px 0; - font-size: 140%; - font-weight: bold; - color: #777; -} + .answered { + background: #CCC; + color: #999; + } + + .answered-accepted { + background: #DCDCDC; + color: #763333; + + strong { + color: #E1E818; + } + } + + .answered-by-owner { + background: #F1F1FF; + + .comments .button { + background-color: #E6ECFF; + } + .comments { + background-color: #E6ECFF; + } + } + + .answer-img-accept:hover { + background: url(../images/vote-accepted-on.png) + } + .answer-body a { + color:@link; + } + .answer-body li { + margin-bottom:0.7em; + } + + #fmanswer{ + color:@info-text; + font-size:16px; + line-height:1.2; + margin-top:10px; + } + .message { + padding: 5px; + margin: 10px 0 10px 0; + + } -.vote-buttons .notify-sidebar { - text-align: left; -} -.vote-buttons .notify-sidebar label { - vertical-align: top; } + + /* ----- Footer links , check blocks/footer.html----- */ #ground { @@ -1853,19 +1939,6 @@ a:hover.medal { } -.linksopt a { - color: #777; - padding: 3px; - cursor: pointer; -} - -.linksopt a:hover { - background-color: #777; - text-decoration: none; - color: #fff; -} - - span.text-counter { margin-right: 20px; } @@ -1881,48 +1954,7 @@ p.form-item { } -.accepted-answer { - background-color: #EBFFE6; - border-bottom-color: #9BD59B; -} - -.accepted-answer .comments .button { - background-color: #CCFFBF; -} - -.accepted-answer .comments { - background-color: #CCFFBF; -} - -.answered { - background: #CCC; - color: #999; -} - -.answered-accepted { - background: #CCC; - color: #763333; -} - -.answered-by-owner { - background: #E9E9FF; -} - -.answered-by-owner .comments .button { - background-color: #E6ECFF; -} - -.answered-by-owner .comments { - background-color: #E6ECFF; -} - -.answered-accepted strong { - color: #E1E818; -} -.answer-img-accept:hover { - background: url(../images/vote-accepted-on.png) -} .deleted { background: #F4E7E7 none repeat scroll 0 0; @@ -2348,13 +2380,6 @@ a.offensive { display: inline; } -.message { - padding: 5px; - margin: 10px 0 10px 0; - background-color: #eee; - border: 1px solid #aaaaaa; -} - .message h1 { padding-top: 0px; font-size: 15px; @@ -2640,20 +2665,9 @@ p.signup_p { } /* a workaround to set link colors correctly */ -.answer-body a { - color:#0000ff; -} -.question-body a { - color:#0000ff; -} -.question-body li { - margin-bottom:0.7em; -} -.answer-body li { - margin-bottom:0.7em; -} + .wmd-preview a { - color:#0000ff; + color:@link; } .wmd-preview li { margin-bottom:0.7em; diff --git a/askbot/skins/default/templates/question/answer_card.html b/askbot/skins/default/templates/question/answer_card.html index f2786e54..f623294f 100644 --- a/askbot/skins/default/templates/question/answer_card.html +++ b/askbot/skins/default/templates/question/answer_card.html @@ -17,10 +17,13 @@ {{ answer.html }} + + {% include "question/answer_controls.html" %}- + +Comments
{% include "question/answer_comments.html" %} diff --git a/askbot/skins/default/templates/question/answer_tab_bar.html b/askbot/skins/default/templates/question/answer_tab_bar.html index ebb4dec5..04584bbd 100644 --- a/askbot/skins/default/templates/question/answer_tab_bar.html +++ b/askbot/skins/default/templates/question/answer_tab_bar.html @@ -7,7 +7,6 @@ {% endtrans %}- Sort by » diff --git a/askbot/skins/default/templates/question/question_card.html b/askbot/skins/default/templates/question/question_card.html index b5cde475..215f6766 100644 --- a/askbot/skins/default/templates/question/question_card.html +++ b/askbot/skins/default/templates/question/question_card.html @@ -16,6 +16,7 @@-- cgit v1.2.3-1-g7c22 From 348c42303f03f193dacfbe792c88a13647a65af7 Mon Sep 17 00:00:00 2001 From: Evgeny Fadeev{% include "question/question_controls.html" %}+Comments
{% include "question/question_comments.html" %}Date: Thu, 27 Oct 2011 15:51:04 -0300 Subject: moved post vote buttons to css background, simplified the vote button handler javascript --- askbot/models/meta.py | 4 +++ askbot/skins/common/media/js/post.js | 34 ++++++++----------- .../templates/question/answer_vote_buttons.html | 24 +++---------- .../templates/question/question_vote_buttons.html | 39 +++------------------- askbot/skins/default/media/style/style.css | 21 ++++++++++-- askbot/skins/default/templates/macros.html | 26 +++++++++++++++ askbot/views/readers.py | 26 +++++++-------- 7 files changed, 83 insertions(+), 91 deletions(-) diff --git a/askbot/models/meta.py b/askbot/models/meta.py index 9022a7ec..cbec7d33 100644 --- a/askbot/models/meta.py +++ b/askbot/models/meta.py @@ -49,6 +49,10 @@ class Vote(base.MetaContent, base.UserContent): def __unicode__(self): return '[%s] voted at %s: %s' %(self.user, self.voted_at, self.vote) + def __int__(self): + """1 if upvote -1 if downvote""" + return self.vote + def is_upvote(self): return self.vote == self.VOTE_UP diff --git a/askbot/skins/common/media/js/post.js b/askbot/skins/common/media/js/post.js index 52772cc0..82f76bc8 100644 --- a/askbot/skins/common/media/js/post.js +++ b/askbot/skins/common/media/js/post.js @@ -321,27 +321,27 @@ var Vote = function(){ return $(favoriteNumber); }; var getQuestionVoteUpButton = function(){ - var questionVoteUpButton = 'div.'+ voteContainerId +' img[id^='+ imgIdPrefixQuestionVoteup +']'; + var questionVoteUpButton = 'div.'+ voteContainerId +' div[id^='+ imgIdPrefixQuestionVoteup +']'; return $(questionVoteUpButton); }; var getQuestionVoteDownButton = function(){ - var questionVoteDownButton = 'div.'+ voteContainerId +' img[id^='+ imgIdPrefixQuestionVotedown +']'; + var questionVoteDownButton = 'div.'+ voteContainerId +' div[id^='+ imgIdPrefixQuestionVotedown +']'; return $(questionVoteDownButton); }; var getAnswerVoteUpButtons = function(){ - var answerVoteUpButton = 'div.'+ voteContainerId +' img[id^='+ imgIdPrefixAnswerVoteup +']'; + var answerVoteUpButton = 'div.'+ voteContainerId +' div[id^='+ imgIdPrefixAnswerVoteup +']'; return $(answerVoteUpButton); }; var getAnswerVoteDownButtons = function(){ - var answerVoteDownButton = 'div.'+ voteContainerId +' img[id^='+ imgIdPrefixAnswerVotedown +']'; + var answerVoteDownButton = 'div.'+ voteContainerId +' div[id^='+ imgIdPrefixAnswerVotedown +']'; return $(answerVoteDownButton); }; var getAnswerVoteUpButton = function(id){ - var answerVoteUpButton = 'div.'+ voteContainerId +' img[id='+ imgIdPrefixAnswerVoteup + id + ']'; + var answerVoteUpButton = 'div.'+ voteContainerId +' div[id='+ imgIdPrefixAnswerVoteup + id + ']'; return $(answerVoteUpButton); }; var getAnswerVoteDownButton = function(id){ - var answerVoteDownButton = 'div.'+ voteContainerId +' img[id='+ imgIdPrefixAnswerVotedown + id + ']'; + var answerVoteDownButton = 'div.'+ voteContainerId +' div[id='+ imgIdPrefixAnswerVotedown + id + ']'; return $(answerVoteDownButton); }; @@ -373,22 +373,13 @@ var Vote = function(){ return $(removeAnswerLinks); }; - var setVoteImage = function(voteType, undo, object){ - var flag = undo ? "" : "-on"; - var arrow = (voteType == VoteType.questionUpVote || voteType == VoteType.answerUpVote) ? "up" : "down"; - object.attr("src", mediaUrl("media/images/vote-arrow-"+ arrow + flag +".png")); - - // if undo voting, then undo the pair of arrows. - if(undo){ - if(voteType == VoteType.questionUpVote || voteType == VoteType.questionDownVote){ - $(getQuestionVoteUpButton()).attr("src", mediaUrl("media/images/vote-arrow-up.png")); - $(getQuestionVoteDownButton()).attr("src", mediaUrl("media/images/vote-arrow-down.png")); - } - else{ - $(getAnswerVoteUpButton(postId)).attr("src", mediaUrl("media/images/vote-arrow-up.png")); - $(getAnswerVoteDownButton(postId)).attr("src", mediaUrl("media/images/vote-arrow-down.png")); - } + var setVoteImage = function(voteType, undo, elem){ + elem.siblings('.post-vote').removeClass('on'); + if (undo){ + elem.removeClass('on'); + return; } + elem.addClass('on'); }; var setVoteNumber = function(object, number){ @@ -566,6 +557,7 @@ var Vote = function(){ } else { if (data.status == '1'){ + //cancel vote setVoteImage(voteType, true, object); } else { diff --git a/askbot/skins/common/templates/question/answer_vote_buttons.html b/askbot/skins/common/templates/question/answer_vote_buttons.html index bef26b75..841fe55a 100644 --- a/askbot/skins/common/templates/question/answer_vote_buttons.html +++ b/askbot/skins/common/templates/question/answer_vote_buttons.html @@ -1,22 +1,8 @@ - - - {{ answer.score }} -- +{{ macros.post_vote_buttons( + post = answer, + visitor_vote = user_answer_votes[answer.id] + ) +}} {% if request.user == question.author %} -- {{ question.score }} -- -{% else %} - -- {{ question.score }} -- -{% endif %} +{{ macros.post_vote_buttons( + post = question, + visitor_vote = user_question_vote) +}} diff --git a/askbot/skins/default/media/style/style.css b/askbot/skins/default/media/style/style.css index 0b5bc70f..90674331 100644 --- a/askbot/skins/default/media/style/style.css +++ b/askbot/skins/default/media/style/style.css @@ -1541,11 +1541,28 @@ span.delete-icon:hover { font-family:@yanone; line-height:15px; } - .question-img-upvote:hover { + + .question-img-upvote, .question-img-downvote, + .answer-img-upvote, .answer-img-downvote { + width: 25px; + height: 25px; + } + + .question-img-upvote, .answer-img-upvote { + background: url(../images/vote-arrow-up.png) + } + + .question-img-downvote, .answer-img-downvote { + background: url(../images/vote-arrow-down.png) + } + + .question-img-upvote:hover, .question-img-upvote.on, + .answer-img-upvote:hover, .answer-img-upvote.on { background: url(../images/vote-arrow-up-on.png) } - .question-img-downvote:hover { + .question-img-downvote:hover, .question-img-downvote.on, + .answer-img-downvote:hover, .answer-img-downvote.on { background: url(../images/vote-arrow-down-on.png) } diff --git a/askbot/skins/default/templates/macros.html b/askbot/skins/default/templates/macros.html index c90458a1..23111514 100644 --- a/askbot/skins/default/templates/macros.html +++ b/askbot/skins/default/templates/macros.html @@ -21,6 +21,32 @@ {%- endmacro -%} +{%- macro post_vote_buttons(post = None, visitor_vote = None) -%} + +{{ post.score }}+ +{%- endmacro -%} + {%- macro post_contributor_avatar_and_credentials(post, user) -%} {% if post.is_anonymous %} diff --git a/askbot/views/readers.py b/askbot/views/readers.py index eabef3c8..8df07874 100644 --- a/askbot/views/readers.py +++ b/askbot/views/readers.py @@ -428,13 +428,11 @@ def question(request, id):#refactor - long subroutine. display question body, an answers = answers.select_related(depth=1) user_answer_votes = {} - for answer in answers: - vote = answer.get_user_vote(request.user) - if vote is not None and not user_answer_votes.has_key(answer.id): - vote_value = -1 - if vote.is_upvote(): - vote_value = 1 - user_answer_votes[answer.id] = vote_value + if request.user.is_authenticated(): + for answer in answers: + vote = answer.get_user_vote(request.user) + if vote is not None and not answer.id in user_answer_votes: + user_answer_votes[answer.id] = int(vote) view_dic = {"latest":"-added_at", "oldest":"added_at", "votes":"-score" } orderby = view_dic[answer_sort_method] @@ -515,19 +513,19 @@ def question(request, id):#refactor - long subroutine. display question body, an paginator_context = extra_tags.cnprog_paginator(paginator_data) favorited = question.has_favorite_by_user(request.user) + user_question_vote = 0 if request.user.is_authenticated(): - question_vote = question.votes.select_related().filter(user=request.user) - else: - question_vote = None #is this correct? - if question_vote is not None and question_vote.count() > 0: - question_vote = question_vote[0] - + votes = question.votes.select_related().filter(user=request.user) + if votes.count() > 0: + user_question_vote = int(votes[0]) + else: + user_question_vote = 0 data = { 'page_class': 'question-page', 'active_tab': 'questions', 'question' : question, - 'question_vote' : question_vote, + 'user_question_vote' : user_question_vote, 'question_comment_count':question.comments.count(), 'answer' : AnswerForm(question,request.user), 'answers' : page_objects.object_list, -- cgit v1.2.3-1-g7c22 From 431e69b51055e799805f20d221f4e3c3a7575ea2 Mon Sep 17 00:00:00 2001 From: Evgeny FadeevDate: Thu, 27 Oct 2011 16:13:04 -0300 Subject: changed table, tr and td elements in the answer_card.html to div - most functions seem to work, but did not test accept best answer --- askbot/skins/default/templates/question/answer_card.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/askbot/skins/default/templates/question/answer_card.html b/askbot/skins/default/templates/question/answer_card.html index f623294f..9b759a20 100644 --- a/askbot/skins/default/templates/question/answer_card.html +++ b/askbot/skins/default/templates/question/answer_card.html @@ -2,14 +2,14 @@ -+ + -- cgit v1.2.3-1-g7c22 From a707ee16bde652462d8ed43e6ad10851e24cdfa6 Mon Sep 17 00:00:00 2001 From: Evgeny Fadeev-
+- -+ -++-+ + -@@ -26,7 +26,7 @@-Comments
{% include "question/answer_comments.html" %}Date: Thu, 27 Oct 2011 16:54:31 -0300 Subject: added title "Comments" to the post_comment_widget macro --- askbot/skins/default/templates/macros.html | 3 ++ .../default/templates/question/answer_card.html | 32 ++++++++-------------- .../default/templates/question/question_card.html | 2 -- 3 files changed, 14 insertions(+), 23 deletions(-) diff --git a/askbot/skins/default/templates/macros.html b/askbot/skins/default/templates/macros.html index 23111514..e9181ed7 100644 --- a/askbot/skins/default/templates/macros.html +++ b/askbot/skins/default/templates/macros.html @@ -326,6 +326,9 @@ for the purposes of the AJAX comment editor #} ) -%} {% spaceless %} + {% if post.comment_count > 0 %} + Comments
+ {% endif %} {% set widget_id = 'comments-for-' + post.post_type + '-' + post.id|string %}
Comments
- {% include "question/answer_comments.html" %} -Comments
{% include "question/question_comments.html" %}{% trans close_reason=question.get_close_reason_display() %}The question has been closed for the following reason "{{ close_reason }}" by{% endtrans %} -{{ question.closed_by.username }} +
{% trans close_reason=question.get_close_reason_display() %}The question has been closed for the following reason "{{ close_reason }}" by{% endtrans %} +{{ question.closed_by.username }}
{% trans closed_at=question.closed_at %}close date {{closed_at}}{% endtrans %}
{% trans %}Edit question{% endtrans %} [{% trans %}back{% endtrans %}]
+{% trans %}You have successfully logged out{% endtrans %}
+{% trans %}You have successfully logged out{% endtrans %}
{% if have_federated_login_methods %}{% trans %}However, you still may be logged in to your OpenID provider. Please logout of your provider if you wish to do so.{% endtrans %}
{% if settings.FACEBOOK_KEY and settings.FACEBOOK_SECRET %} diff --git a/askbot/skins/common/templates/authopenid/signin.html b/askbot/skins/common/templates/authopenid/signin.html index f10d0cd0..4c894aa3 100644 --- a/askbot/skins/common/templates/authopenid/signin.html +++ b/askbot/skins/common/templates/authopenid/signin.html @@ -7,7 +7,7 @@ {% endblock %} {% block content %} {% if have_buttons or view_subtype == 'email_sent' %} -{{page_title}}
+{{page_title}}
{% endif %} {% if answer %}