mirror of
https://github.com/django/django.git
synced 2025-07-04 17:59:13 +00:00
[full-history]
svnmerge: merging in revision(s) 4816,4818-4823,4825-4835,4837,4844-4850,4856-4868 from "http://code.djangoproject.com/svn/django/trunk" git-svn-id: http://code.djangoproject.com/svn/django/branches/full-history@4869 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
77518506b5
commit
8661608a84
3
AUTHORS
3
AUTHORS
@ -44,6 +44,7 @@ answer newbie questions, and generally made Django that much better:
|
|||||||
adurdin@gmail.com
|
adurdin@gmail.com
|
||||||
Andreas
|
Andreas
|
||||||
andy@jadedplanet.net
|
andy@jadedplanet.net
|
||||||
|
Fabrice Aneche <akh@nobugware.com>
|
||||||
ant9000@netwise.it
|
ant9000@netwise.it
|
||||||
David Ascher <http://ascher.ca/>
|
David Ascher <http://ascher.ca/>
|
||||||
Arthur <avandorp@gmail.com>
|
Arthur <avandorp@gmail.com>
|
||||||
@ -66,6 +67,7 @@ answer newbie questions, and generally made Django that much better:
|
|||||||
Ian Clelland <clelland@gmail.com>
|
Ian Clelland <clelland@gmail.com>
|
||||||
crankycoder@gmail.com
|
crankycoder@gmail.com
|
||||||
Matt Croydon <http://www.postneo.com/>
|
Matt Croydon <http://www.postneo.com/>
|
||||||
|
flavio.curella@gmail.com
|
||||||
Jure Cuhalev <gandalf@owca.info>
|
Jure Cuhalev <gandalf@owca.info>
|
||||||
dackze+django@gmail.com
|
dackze+django@gmail.com
|
||||||
Dirk Datzert <dummy@habmalnefrage.de>
|
Dirk Datzert <dummy@habmalnefrage.de>
|
||||||
@ -182,6 +184,7 @@ answer newbie questions, and generally made Django that much better:
|
|||||||
Radek Švarz <http://www.svarz.cz/translate/>
|
Radek Švarz <http://www.svarz.cz/translate/>
|
||||||
Swaroop C H <http://www.swaroopch.info>
|
Swaroop C H <http://www.swaroopch.info>
|
||||||
Aaron Swartz <http://www.aaronsw.com/>
|
Aaron Swartz <http://www.aaronsw.com/>
|
||||||
|
Ville Säävuori <http://www.unessa.net/>
|
||||||
Tyson Tate <tyson@fallingbullets.com>
|
Tyson Tate <tyson@fallingbullets.com>
|
||||||
Tom Tobin
|
Tom Tobin
|
||||||
Joe Topjian <http://joe.terrarum.net/geek/code/python/django/>
|
Joe Topjian <http://joe.terrarum.net/geek/code/python/django/>
|
||||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -673,19 +673,19 @@ msgstr "L'URL est un lien cassé."
|
|||||||
|
|
||||||
#: contrib/humanize/templatetags/humanize.py:16
|
#: contrib/humanize/templatetags/humanize.py:16
|
||||||
msgid "th"
|
msgid "th"
|
||||||
msgstr "e"
|
msgstr "<sup>e</sup>"
|
||||||
|
|
||||||
#: contrib/humanize/templatetags/humanize.py:16
|
#: contrib/humanize/templatetags/humanize.py:16
|
||||||
msgid "st"
|
msgid "st"
|
||||||
msgstr "er"
|
msgstr "<sup>er</sup>"
|
||||||
|
|
||||||
#: contrib/humanize/templatetags/humanize.py:16
|
#: contrib/humanize/templatetags/humanize.py:16
|
||||||
msgid "nd"
|
msgid "nd"
|
||||||
msgstr "d"
|
msgstr "<sup>d</sup>"
|
||||||
|
|
||||||
#: contrib/humanize/templatetags/humanize.py:16
|
#: contrib/humanize/templatetags/humanize.py:16
|
||||||
msgid "rd"
|
msgid "rd"
|
||||||
msgstr "e"
|
msgstr "<sup>e</sup>"
|
||||||
|
|
||||||
#: contrib/humanize/templatetags/humanize.py:48
|
#: contrib/humanize/templatetags/humanize.py:48
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -1346,7 +1346,7 @@ msgstr "Sélectionnez %s pour changer"
|
|||||||
|
|
||||||
#: contrib/admin/views/main.py:768
|
#: contrib/admin/views/main.py:768
|
||||||
msgid "Database error"
|
msgid "Database error"
|
||||||
msgstr ""
|
msgstr "Erreur de base de données"
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48
|
#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48
|
||||||
#: contrib/admin/views/doc.py:50
|
#: contrib/admin/views/doc.py:50
|
||||||
@ -1391,7 +1391,7 @@ msgstr "les objets `%(label)s.%(type)s en relation"
|
|||||||
#: contrib/admin/views/doc.py:219
|
#: contrib/admin/views/doc.py:219
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "all %s"
|
msgid "all %s"
|
||||||
msgstr ""
|
msgstr "tous les %s"
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:224
|
#: contrib/admin/views/doc.py:224
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -1401,7 +1401,7 @@ msgstr "nombre de %s"
|
|||||||
#: contrib/admin/views/doc.py:229
|
#: contrib/admin/views/doc.py:229
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Fields on %s objects"
|
msgid "Fields on %s objects"
|
||||||
msgstr ""
|
msgstr "Champs sur les objets %s"
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301
|
#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301
|
||||||
#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309
|
#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309
|
||||||
@ -1613,7 +1613,8 @@ msgid ""
|
|||||||
"Something's wrong with your database installation. Make sure the appropriate "
|
"Something's wrong with your database installation. Make sure the appropriate "
|
||||||
"database tables have been created, and make sure the database is readable by "
|
"database tables have been created, and make sure the database is readable by "
|
||||||
"the appropriate user."
|
"the appropriate user."
|
||||||
msgstr ""
|
msgstr "Quelque chose ne va pas avec votre base de données. Vérifiez que les"
|
||||||
|
"bonnes bases ont été créées, et qu'elle est lisible par le bon utilisateur."
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/search_form.html:8
|
#: contrib/admin/templates/admin/search_form.html:8
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
@ -1930,6 +1931,13 @@ msgid ""
|
|||||||
"as \"internal\" (talk to your system administrator if you aren't sure if\n"
|
"as \"internal\" (talk to your system administrator if you aren't sure if\n"
|
||||||
"your computer is \"internal\").</p>\n"
|
"your computer is \"internal\").</p>\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"<p class=\"help\">Pour installer des bookmarklets, faîtes glisser le lien vers\n"
|
||||||
|
"votre barre de marques-pages, ou cliquez droit dessus et ajoutez-y le.\n"
|
||||||
|
"Maintenant vous pouvez le sélectionner depuis n'importe quelle page\n"
|
||||||
|
"du site. Notez que certains d'entre eux nécessitent que vous visionniez\n"
|
||||||
|
"le site depuis un ordinateur dit \"interne\" (veuillez contacter votre\n"
|
||||||
|
"administrateur système si vous n'êtes pas sûr que votre ordinateur le soit).</p>\n"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:19
|
#: contrib/admin/templates/admin_doc/bookmarklets.html:19
|
||||||
msgid "Documentation for this page"
|
msgid "Documentation for this page"
|
||||||
|
Binary file not shown.
@ -1,5 +1,5 @@
|
|||||||
# Translation of django.po to japanese.
|
# Translation of django.po to japanese.
|
||||||
# Copyright (C) 2005,2006 THE PACKAGE'S COPYRIGHT HOLDER
|
# Copyright (C) 2005,2006,2007 makoto tsuyuki
|
||||||
# This file is distributed under the same license as the PACKAGE package.
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
# makoto tsuyuki <mtsuyuki@gmail.com>, 2005,2006,2007.
|
# makoto tsuyuki <mtsuyuki@gmail.com>, 2005,2006,2007.
|
||||||
#
|
#
|
||||||
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Django 1.0\n"
|
"Project-Id-Version: Django 1.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2007-02-15 23:43+0900\n"
|
"POT-Creation-Date: 2007-03-26 22:51+0900\n"
|
||||||
"PO-Revision-Date: 2006-05-18 00:28+0900\n"
|
"PO-Revision-Date: 2006-05-18 00:28+0900\n"
|
||||||
"Last-Translator: makoto tsuyuki <mtsuyuki@gmail.com>\n"
|
"Last-Translator: makoto tsuyuki <mtsuyuki@gmail.com>\n"
|
||||||
"Language-Team: Japanese <django-ja@googlegroups.com>\n"
|
"Language-Team: Japanese <django-ja@googlegroups.com>\n"
|
||||||
@ -92,70 +92,82 @@ msgid "Japanese"
|
|||||||
msgstr "日本語"
|
msgstr "日本語"
|
||||||
|
|
||||||
#: conf/global_settings.py:58
|
#: conf/global_settings.py:58
|
||||||
|
msgid "Kannada"
|
||||||
|
msgstr "カンナダ語"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:59
|
||||||
msgid "Latvian"
|
msgid "Latvian"
|
||||||
msgstr "ラトビア語"
|
msgstr "ラトビア語"
|
||||||
|
|
||||||
#: conf/global_settings.py:59
|
#: conf/global_settings.py:60
|
||||||
msgid "Macedonian"
|
msgid "Macedonian"
|
||||||
msgstr "マケドニア語"
|
msgstr "マケドニア語"
|
||||||
|
|
||||||
#: conf/global_settings.py:60
|
#: conf/global_settings.py:61
|
||||||
msgid "Dutch"
|
msgid "Dutch"
|
||||||
msgstr "オランダ語"
|
msgstr "オランダ語"
|
||||||
|
|
||||||
#: conf/global_settings.py:61
|
#: conf/global_settings.py:62
|
||||||
msgid "Norwegian"
|
msgid "Norwegian"
|
||||||
msgstr "ノルウェー語"
|
msgstr "ノルウェー語"
|
||||||
|
|
||||||
#: conf/global_settings.py:62
|
#: conf/global_settings.py:63
|
||||||
msgid "Polish"
|
msgid "Polish"
|
||||||
msgstr "ポーランド語"
|
msgstr "ポーランド語"
|
||||||
|
|
||||||
#: conf/global_settings.py:63
|
#: conf/global_settings.py:64
|
||||||
|
msgid "Portugese"
|
||||||
|
msgstr "ポルトガル語"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:65
|
||||||
msgid "Brazilian"
|
msgid "Brazilian"
|
||||||
msgstr "ブラジル語"
|
msgstr "ブラジル語"
|
||||||
|
|
||||||
#: conf/global_settings.py:64
|
#: conf/global_settings.py:66
|
||||||
msgid "Romanian"
|
msgid "Romanian"
|
||||||
msgstr "ルーマニア語"
|
msgstr "ルーマニア語"
|
||||||
|
|
||||||
#: conf/global_settings.py:65
|
#: conf/global_settings.py:67
|
||||||
msgid "Russian"
|
msgid "Russian"
|
||||||
msgstr "ロシア語"
|
msgstr "ロシア語"
|
||||||
|
|
||||||
#: conf/global_settings.py:66
|
#: conf/global_settings.py:68
|
||||||
msgid "Slovak"
|
msgid "Slovak"
|
||||||
msgstr "スロバキア語"
|
msgstr "スロバキア語"
|
||||||
|
|
||||||
#: conf/global_settings.py:67
|
#: conf/global_settings.py:69
|
||||||
msgid "Slovenian"
|
msgid "Slovenian"
|
||||||
msgstr "スロヴェニア語"
|
msgstr "スロヴェニア語"
|
||||||
|
|
||||||
#: conf/global_settings.py:68
|
#: conf/global_settings.py:70
|
||||||
msgid "Serbian"
|
msgid "Serbian"
|
||||||
msgstr "セルビア語"
|
msgstr "セルビア語"
|
||||||
|
|
||||||
#: conf/global_settings.py:69
|
#: conf/global_settings.py:71
|
||||||
msgid "Swedish"
|
msgid "Swedish"
|
||||||
msgstr "スウェーデン語"
|
msgstr "スウェーデン語"
|
||||||
|
|
||||||
#: conf/global_settings.py:70
|
#: conf/global_settings.py:72
|
||||||
msgid "Tamil"
|
msgid "Tamil"
|
||||||
msgstr "タミル語"
|
msgstr "タミル語"
|
||||||
|
|
||||||
#: conf/global_settings.py:71
|
#: conf/global_settings.py:73
|
||||||
|
msgid "Telugu"
|
||||||
|
msgstr "テルグ語"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:74
|
||||||
msgid "Turkish"
|
msgid "Turkish"
|
||||||
msgstr "トルコ語"
|
msgstr "トルコ語"
|
||||||
|
|
||||||
#: conf/global_settings.py:72
|
#: conf/global_settings.py:75
|
||||||
msgid "Ukrainian"
|
msgid "Ukrainian"
|
||||||
msgstr "ウクライナ語"
|
msgstr "ウクライナ語"
|
||||||
|
|
||||||
#: conf/global_settings.py:73
|
#: conf/global_settings.py:76
|
||||||
msgid "Simplified Chinese"
|
msgid "Simplified Chinese"
|
||||||
msgstr "簡体字中国語"
|
msgstr "簡体字中国語"
|
||||||
|
|
||||||
#: conf/global_settings.py:74
|
#: conf/global_settings.py:77
|
||||||
msgid "Traditional Chinese"
|
msgid "Traditional Chinese"
|
||||||
msgstr "繁体字中国語"
|
msgstr "繁体字中国語"
|
||||||
|
|
||||||
@ -194,17 +206,17 @@ msgid "This year"
|
|||||||
msgstr "今年"
|
msgstr "今年"
|
||||||
|
|
||||||
#: contrib/admin/filterspecs.py:143 newforms/widgets.py:170
|
#: contrib/admin/filterspecs.py:143 newforms/widgets.py:170
|
||||||
#: oldforms/__init__.py:572
|
#: oldforms/__init__.py:577
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr "はい"
|
msgstr "はい"
|
||||||
|
|
||||||
#: contrib/admin/filterspecs.py:143 newforms/widgets.py:170
|
#: contrib/admin/filterspecs.py:143 newforms/widgets.py:170
|
||||||
#: oldforms/__init__.py:572
|
#: oldforms/__init__.py:577
|
||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr "いいえ"
|
msgstr "いいえ"
|
||||||
|
|
||||||
#: contrib/admin/filterspecs.py:150 newforms/widgets.py:170
|
#: contrib/admin/filterspecs.py:150 newforms/widgets.py:170
|
||||||
#: oldforms/__init__.py:572
|
#: oldforms/__init__.py:577
|
||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "不明"
|
msgstr "不明"
|
||||||
|
|
||||||
@ -568,7 +580,8 @@ msgstr "確認のため、再度パスワードを入力してください。"
|
|||||||
#: contrib/admin/templates/admin/auth/user/change_password.html:28
|
#: contrib/admin/templates/admin/auth/user/change_password.html:28
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Enter a new password for the user <strong>%(username)s</strong>."
|
msgid "Enter a new password for the user <strong>%(username)s</strong>."
|
||||||
msgstr "<strong>%(username)s</strong>さんの新しいパスワードを入力してください。"
|
msgstr ""
|
||||||
|
"<strong>%(username)s</strong>さんの新しいパスワードを入力してください。"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:3
|
#: contrib/admin/templates/admin_doc/bookmarklets.html:3
|
||||||
msgid "Bookmarklets"
|
msgid "Bookmarklets"
|
||||||
@ -602,7 +615,6 @@ msgstr ""
|
|||||||
msgid "Documentation for this page"
|
msgid "Documentation for this page"
|
||||||
msgstr "このページのドキュメント"
|
msgstr "このページのドキュメント"
|
||||||
|
|
||||||
# TODO
|
|
||||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:20
|
#: contrib/admin/templates/admin_doc/bookmarklets.html:20
|
||||||
msgid ""
|
msgid ""
|
||||||
"Jumps you from any page to the documentation for the view that generates "
|
"Jumps you from any page to the documentation for the view that generates "
|
||||||
@ -769,7 +781,7 @@ msgstr "現在:"
|
|||||||
msgid "Change:"
|
msgid "Change:"
|
||||||
msgstr "変更:"
|
msgstr "変更:"
|
||||||
|
|
||||||
#: contrib/admin/templatetags/admin_list.py:238
|
#: contrib/admin/templatetags/admin_list.py:247
|
||||||
msgid "All dates"
|
msgid "All dates"
|
||||||
msgstr "いつでも"
|
msgstr "いつでも"
|
||||||
|
|
||||||
@ -850,13 +862,13 @@ msgstr "アプリケーション %r が見つかりません"
|
|||||||
|
|
||||||
#: contrib/admin/views/doc.py:171
|
#: contrib/admin/views/doc.py:171
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Model %r not found in app %r"
|
msgid "Model %(name)r not found in app %(label)r"
|
||||||
msgstr "モデル %r が %r アプリケーションに見つかりません"
|
msgstr "モデル %(name)r が %(label)r アプリケーションに見つかりません"
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:183
|
#: contrib/admin/views/doc.py:183
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "the related `%s.%s` object"
|
msgid "the related `%(label)s.%(type)s` object"
|
||||||
msgstr "`%s.%s` (関連オブジェクト)"
|
msgstr "`%(label)s.%(type)s` (関連オブジェクト)"
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205
|
#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205
|
||||||
#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224
|
#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224
|
||||||
@ -865,8 +877,8 @@ msgstr "モデル :"
|
|||||||
|
|
||||||
#: contrib/admin/views/doc.py:214
|
#: contrib/admin/views/doc.py:214
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "related `%s.%s` objects"
|
msgid "related `%(label)s.%(name)s` objects"
|
||||||
msgstr "`%s.%s` (関連オブジェクト)"
|
msgstr "`%(label)s.%(name)s` (関連オブジェクト)"
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:219
|
#: contrib/admin/views/doc.py:219
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -984,7 +996,7 @@ msgid "Added %s."
|
|||||||
msgstr "%s を追加しました。"
|
msgstr "%s を追加しました。"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337
|
#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337
|
||||||
#: contrib/admin/views/main.py:339 db/models/manipulators.py:306
|
#: contrib/admin/views/main.py:339 db/models/manipulators.py:308
|
||||||
msgid "and"
|
msgid "and"
|
||||||
msgstr "と"
|
msgstr "と"
|
||||||
|
|
||||||
@ -1018,41 +1030,41 @@ msgstr "%(name)s \"%(obj)s\" を追加しました。続けて編集できます
|
|||||||
msgid "Change %s"
|
msgid "Change %s"
|
||||||
msgstr "%s を変更"
|
msgstr "%s を変更"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:473
|
#: contrib/admin/views/main.py:476
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "One or more %(fieldname)s in %(name)s: %(obj)s"
|
msgid "One or more %(fieldname)s in %(name)s: %(obj)s"
|
||||||
msgstr "%(name)s に %(fieldname)s が一つ以上あります: %(obj)s"
|
msgstr "%(name)s に %(fieldname)s が一つ以上あります: %(obj)s"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:478
|
#: contrib/admin/views/main.py:481
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "One or more %(fieldname)s in %(name)s:"
|
msgid "One or more %(fieldname)s in %(name)s:"
|
||||||
msgstr "%(name)s に %(fieldname)s が一つ以上あります:"
|
msgstr "%(name)s に %(fieldname)s が一つ以上あります:"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:511
|
#: contrib/admin/views/main.py:514
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(name)s \"%(obj)s\" was deleted successfully."
|
msgid "The %(name)s \"%(obj)s\" was deleted successfully."
|
||||||
msgstr "%(name)s \"%(obj)s\" を削除しました。"
|
msgstr "%(name)s \"%(obj)s\" を削除しました。"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:514
|
#: contrib/admin/views/main.py:517
|
||||||
msgid "Are you sure?"
|
msgid "Are you sure?"
|
||||||
msgstr "よろしいですか?"
|
msgstr "よろしいですか?"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:536
|
#: contrib/admin/views/main.py:539
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Change history: %s"
|
msgid "Change history: %s"
|
||||||
msgstr "変更履歴: %s"
|
msgstr "変更履歴: %s"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:570
|
#: contrib/admin/views/main.py:573
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Select %s"
|
msgid "Select %s"
|
||||||
msgstr "%s を選択"
|
msgstr "%s を選択"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:570
|
#: contrib/admin/views/main.py:573
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Select %s to change"
|
msgid "Select %s to change"
|
||||||
msgstr "変更する %s を選択"
|
msgstr "変更する %s を選択"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:758
|
#: contrib/admin/views/main.py:768
|
||||||
msgid "Database error"
|
msgid "Database error"
|
||||||
msgstr "データベースエラー"
|
msgstr "データベースエラー"
|
||||||
|
|
||||||
@ -1147,8 +1159,8 @@ msgid ""
|
|||||||
"Use '[algo]$[salt]$[hexdigest]' or use the <a href=\"password/\">change "
|
"Use '[algo]$[salt]$[hexdigest]' or use the <a href=\"password/\">change "
|
||||||
"password form</a>."
|
"password form</a>."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"'[algo]$[salt]$[hexdigest]'形式か、"
|
"'[algo]$[salt]$[hexdigest]'形式か、<a href=\"password/\">パスワード変更フォー"
|
||||||
"<a href=\"password/\">パスワード変更フォーム</a>を使ってください。"
|
"ム</a>を使ってください。"
|
||||||
|
|
||||||
#: contrib/auth/models.py:95
|
#: contrib/auth/models.py:95
|
||||||
msgid "staff status"
|
msgid "staff status"
|
||||||
@ -1517,15 +1529,15 @@ msgstr "コメント ID が不正です"
|
|||||||
msgid "No voting for yourself"
|
msgid "No voting for yourself"
|
||||||
msgstr "自分には投票できません。"
|
msgstr "自分には投票できません。"
|
||||||
|
|
||||||
#: contrib/contenttypes/models.py:26
|
#: contrib/contenttypes/models.py:36
|
||||||
msgid "python model class name"
|
msgid "python model class name"
|
||||||
msgstr "Python モデルクラス名"
|
msgstr "Python モデルクラス名"
|
||||||
|
|
||||||
#: contrib/contenttypes/models.py:29
|
#: contrib/contenttypes/models.py:39
|
||||||
msgid "content type"
|
msgid "content type"
|
||||||
msgstr "コンテンツタイプ"
|
msgstr "コンテンツタイプ"
|
||||||
|
|
||||||
#: contrib/contenttypes/models.py:30
|
#: contrib/contenttypes/models.py:40
|
||||||
msgid "content types"
|
msgid "content types"
|
||||||
msgstr "コンテンツタイプ"
|
msgstr "コンテンツタイプ"
|
||||||
|
|
||||||
@ -1575,7 +1587,281 @@ msgstr "フラットページ"
|
|||||||
msgid "flat pages"
|
msgid "flat pages"
|
||||||
msgstr "フラットページ"
|
msgstr "フラットページ"
|
||||||
|
|
||||||
#: contrib/localflavor/usa/forms.py:13
|
#: contrib/humanize/templatetags/humanize.py:17
|
||||||
|
msgid "th"
|
||||||
|
msgstr "番目"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:17
|
||||||
|
msgid "st"
|
||||||
|
msgstr "番目"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:17
|
||||||
|
msgid "nd"
|
||||||
|
msgstr "番目"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:17
|
||||||
|
msgid "rd"
|
||||||
|
msgstr "番目"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:47
|
||||||
|
#, python-format
|
||||||
|
msgid "%(value).1f million"
|
||||||
|
msgid_plural "%(value).1f million"
|
||||||
|
msgstr[0] "%(value).1f 百万"
|
||||||
|
msgstr[1] "%(value).1f 百万"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:50
|
||||||
|
#, python-format
|
||||||
|
msgid "%(value).1f billion"
|
||||||
|
msgid_plural "%(value).1f billion"
|
||||||
|
msgstr[0] "%(value).1f 十億"
|
||||||
|
msgstr[1] "%(value).1f 十億"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:53
|
||||||
|
#, python-format
|
||||||
|
msgid "%(value).1f trillion"
|
||||||
|
msgid_plural "%(value).1f trillion"
|
||||||
|
msgstr[0] "%(value).1f 兆"
|
||||||
|
msgstr[1] "%(value).1f 兆"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:68
|
||||||
|
msgid "one"
|
||||||
|
msgstr "1"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:68
|
||||||
|
msgid "two"
|
||||||
|
msgstr "2"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:68
|
||||||
|
msgid "three"
|
||||||
|
msgstr "3"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:68
|
||||||
|
msgid "four"
|
||||||
|
msgstr "4"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:68
|
||||||
|
msgid "five"
|
||||||
|
msgstr "5"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:68
|
||||||
|
msgid "six"
|
||||||
|
msgstr "6"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:68
|
||||||
|
msgid "seven"
|
||||||
|
msgstr "7"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:68
|
||||||
|
msgid "eight"
|
||||||
|
msgstr "8"
|
||||||
|
|
||||||
|
#: contrib/humanize/templatetags/humanize.py:68
|
||||||
|
msgid "nine"
|
||||||
|
msgstr "9"
|
||||||
|
|
||||||
|
#: contrib/localflavor/fr/forms.py:17
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Enter a zip code in the format XXXXX."
|
||||||
|
msgstr "XXXXXの形式でZipコードを入力してください。"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/forms.py:21
|
||||||
|
msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX."
|
||||||
|
msgstr "XXXXXか、XXXXX-XXXXの形式で郵便番号を入力してください。"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:4
|
||||||
|
msgid "Hokkaido"
|
||||||
|
msgstr "北海道"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:5
|
||||||
|
msgid "Aomori"
|
||||||
|
msgstr "青森県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:6
|
||||||
|
msgid "Iwate"
|
||||||
|
msgstr "岩手県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:7
|
||||||
|
msgid "Miyagi"
|
||||||
|
msgstr "宮城県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:8
|
||||||
|
msgid "Akita"
|
||||||
|
msgstr "秋田県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:9
|
||||||
|
msgid "Yamagata"
|
||||||
|
msgstr "山形県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:10
|
||||||
|
msgid "Fukushima"
|
||||||
|
msgstr "福島県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:11
|
||||||
|
msgid "Ibaraki"
|
||||||
|
msgstr "茨城県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:12
|
||||||
|
msgid "Tochigi"
|
||||||
|
msgstr "栃木県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:13
|
||||||
|
msgid "Gunma"
|
||||||
|
msgstr "群馬県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:14
|
||||||
|
msgid "Saitama"
|
||||||
|
msgstr "埼玉県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:15
|
||||||
|
msgid "Chiba"
|
||||||
|
msgstr "千葉県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:16
|
||||||
|
msgid "Tokyo"
|
||||||
|
msgstr "東京都"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:17
|
||||||
|
msgid "Kanagawa"
|
||||||
|
msgstr "神奈川県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:18
|
||||||
|
msgid "Yamanashi"
|
||||||
|
msgstr "山梨県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:19
|
||||||
|
msgid "Nagano"
|
||||||
|
msgstr "長野県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:20
|
||||||
|
msgid "Niigata"
|
||||||
|
msgstr "新潟県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:21
|
||||||
|
msgid "Toyama"
|
||||||
|
msgstr "富山県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:22
|
||||||
|
msgid "Ishikawa"
|
||||||
|
msgstr "石川県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:23
|
||||||
|
msgid "Fukui"
|
||||||
|
msgstr "福井県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:24
|
||||||
|
msgid "Gifu"
|
||||||
|
msgstr "岐阜県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:25
|
||||||
|
msgid "Shizuoka"
|
||||||
|
msgstr "静岡県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:26
|
||||||
|
msgid "Aichi"
|
||||||
|
msgstr "愛知県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:27
|
||||||
|
msgid "Mie"
|
||||||
|
msgstr "三重県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:28
|
||||||
|
msgid "Shiga"
|
||||||
|
msgstr "滋賀県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:29
|
||||||
|
msgid "Kyoto"
|
||||||
|
msgstr "京都府"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:30
|
||||||
|
msgid "Osaka"
|
||||||
|
msgstr "大阪府"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:31
|
||||||
|
msgid "Hyogo"
|
||||||
|
msgstr "兵庫県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:32
|
||||||
|
msgid "Nara"
|
||||||
|
msgstr "奈良県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:33
|
||||||
|
msgid "Wakayama"
|
||||||
|
msgstr "和歌山県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:34
|
||||||
|
msgid "Tottori"
|
||||||
|
msgstr "鳥取県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:35
|
||||||
|
msgid "Shimane"
|
||||||
|
msgstr "島根県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:36
|
||||||
|
msgid "Okayama"
|
||||||
|
msgstr "岡山県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:37
|
||||||
|
msgid "Hiroshima"
|
||||||
|
msgstr "広島県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:38
|
||||||
|
msgid "Yamaguchi"
|
||||||
|
msgstr "山口県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:39
|
||||||
|
msgid "Tokushima"
|
||||||
|
msgstr "徳島県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:40
|
||||||
|
msgid "Kagawa"
|
||||||
|
msgstr "香川県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:41
|
||||||
|
msgid "Ehime"
|
||||||
|
msgstr "愛媛県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:42
|
||||||
|
msgid "Kochi"
|
||||||
|
msgstr "高知県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:43
|
||||||
|
msgid "Fukuoka"
|
||||||
|
msgstr "福岡県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:44
|
||||||
|
msgid "Saga"
|
||||||
|
msgstr "佐賀県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:45
|
||||||
|
msgid "Nagasaki"
|
||||||
|
msgstr "長崎県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:46
|
||||||
|
msgid "Kumamoto"
|
||||||
|
msgstr "熊本県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:47
|
||||||
|
msgid "Oita"
|
||||||
|
msgstr "大分県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:48
|
||||||
|
msgid "Miyazaki"
|
||||||
|
msgstr "宮崎県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:49
|
||||||
|
msgid "Kagoshima"
|
||||||
|
msgstr "鹿児島県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/jp/jp_prefectures.py:50
|
||||||
|
msgid "Okinawa"
|
||||||
|
msgstr "沖縄県"
|
||||||
|
|
||||||
|
#: contrib/localflavor/uk/forms.py:18
|
||||||
|
msgid "Enter a postcode. A space is required between the two postcode parts."
|
||||||
|
msgstr "ポスタルコードを入力してください。コードとコードの間は半角のスペースで区切ってください。"
|
||||||
|
|
||||||
|
#: contrib/localflavor/usa/forms.py:17
|
||||||
msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX."
|
msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX."
|
||||||
msgstr "XXXXXか、XXXXX-XXXXの形式で郵便番号を入力してください。"
|
msgstr "XXXXXか、XXXXX-XXXXの形式で郵便番号を入力してください。"
|
||||||
|
|
||||||
@ -1607,23 +1893,23 @@ msgstr "リダイレクト"
|
|||||||
msgid "redirects"
|
msgid "redirects"
|
||||||
msgstr "リダイレクト"
|
msgstr "リダイレクト"
|
||||||
|
|
||||||
#: contrib/sessions/models.py:51
|
#: contrib/sessions/models.py:68
|
||||||
msgid "session key"
|
msgid "session key"
|
||||||
msgstr "セッションキー"
|
msgstr "セッションキー"
|
||||||
|
|
||||||
#: contrib/sessions/models.py:52
|
#: contrib/sessions/models.py:69
|
||||||
msgid "session data"
|
msgid "session data"
|
||||||
msgstr "セッションデータ"
|
msgstr "セッションデータ"
|
||||||
|
|
||||||
#: contrib/sessions/models.py:53
|
#: contrib/sessions/models.py:70
|
||||||
msgid "expire date"
|
msgid "expire date"
|
||||||
msgstr "有効期限"
|
msgstr "有効期限"
|
||||||
|
|
||||||
#: contrib/sessions/models.py:57
|
#: contrib/sessions/models.py:74
|
||||||
msgid "session"
|
msgid "session"
|
||||||
msgstr "セッション"
|
msgstr "セッション"
|
||||||
|
|
||||||
#: contrib/sessions/models.py:58
|
#: contrib/sessions/models.py:75
|
||||||
msgid "sessions"
|
msgid "sessions"
|
||||||
msgstr "セッション"
|
msgstr "セッション"
|
||||||
|
|
||||||
@ -1704,31 +1990,31 @@ msgstr "1900年以降を指定してください。"
|
|||||||
|
|
||||||
#: core/validators.py:143
|
#: core/validators.py:143
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invalid date: %s."
|
msgid "Invalid date: %s"
|
||||||
msgstr "無効な日付: %s"
|
msgstr "無効な日付: %s"
|
||||||
|
|
||||||
#: core/validators.py:147 db/models/fields/__init__.py:454
|
#: core/validators.py:148 db/models/fields/__init__.py:457
|
||||||
msgid "Enter a valid date in YYYY-MM-DD format."
|
msgid "Enter a valid date in YYYY-MM-DD format."
|
||||||
msgstr "YYYY-MM-DD形式で日付を入力してください。"
|
msgstr "YYYY-MM-DD形式で日付を入力してください。"
|
||||||
|
|
||||||
#: core/validators.py:152
|
#: core/validators.py:153
|
||||||
msgid "Enter a valid time in HH:MM format."
|
msgid "Enter a valid time in HH:MM format."
|
||||||
msgstr "HH:MM形式で時刻を入力してください。"
|
msgstr "HH:MM形式で時刻を入力してください。"
|
||||||
|
|
||||||
#: core/validators.py:156 db/models/fields/__init__.py:521
|
#: core/validators.py:157 db/models/fields/__init__.py:526
|
||||||
msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
|
msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
|
||||||
msgstr "YYYY-MM-DD HH:MM形式で日時を入力してください。"
|
msgstr "YYYY-MM-DD HH:MM形式で日時を入力してください。"
|
||||||
|
|
||||||
#: core/validators.py:161 newforms/fields.py:269
|
#: core/validators.py:162 newforms/fields.py:269
|
||||||
msgid "Enter a valid e-mail address."
|
msgid "Enter a valid e-mail address."
|
||||||
msgstr "有効なメールアドレスを入力してください。"
|
msgstr "有効なメールアドレスを入力してください。"
|
||||||
|
|
||||||
#: core/validators.py:173 core/validators.py:442 oldforms/__init__.py:667
|
#: core/validators.py:174 core/validators.py:445 oldforms/__init__.py:672
|
||||||
msgid "No file was submitted. Check the encoding type on the form."
|
msgid "No file was submitted. Check the encoding type on the form."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"ファイルが取得できませんでした。formのencoding typeを確認してください。"
|
"ファイルが取得できませんでした。formのencoding typeを確認してください。"
|
||||||
|
|
||||||
#: core/validators.py:177
|
#: core/validators.py:178
|
||||||
msgid ""
|
msgid ""
|
||||||
"Upload a valid image. The file you uploaded was either not an image or a "
|
"Upload a valid image. The file you uploaded was either not an image or a "
|
||||||
"corrupted image."
|
"corrupted image."
|
||||||
@ -1736,26 +2022,26 @@ msgstr ""
|
|||||||
"画像をアップロードしてください。アップロードした画像は画像でないか、または壊"
|
"画像をアップロードしてください。アップロードした画像は画像でないか、または壊"
|
||||||
"れています。"
|
"れています。"
|
||||||
|
|
||||||
#: core/validators.py:184
|
#: core/validators.py:185
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The URL %s does not point to a valid image."
|
msgid "The URL %s does not point to a valid image."
|
||||||
msgstr "URL ( %s ) は画像ではありません。"
|
msgstr "URL ( %s ) は画像ではありません。"
|
||||||
|
|
||||||
#: core/validators.py:188
|
#: core/validators.py:189
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
|
msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
|
||||||
msgstr "電話番号は XXX-XXX-XXXX 形式で入力してください。\"%s\" は無効です。"
|
msgstr "電話番号は XXX-XXX-XXXX 形式で入力してください。\"%s\" は無効です。"
|
||||||
|
|
||||||
#: core/validators.py:196
|
#: core/validators.py:197
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The URL %s does not point to a valid QuickTime video."
|
msgid "The URL %s does not point to a valid QuickTime video."
|
||||||
msgstr "URL ( %s ) は QuickTime ビデオではありません。"
|
msgstr "URL ( %s ) は QuickTime ビデオではありません。"
|
||||||
|
|
||||||
#: core/validators.py:200
|
#: core/validators.py:201
|
||||||
msgid "A valid URL is required."
|
msgid "A valid URL is required."
|
||||||
msgstr "正しい URL を入力してください。"
|
msgstr "正しい URL を入力してください。"
|
||||||
|
|
||||||
#: core/validators.py:214
|
#: core/validators.py:215
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Valid HTML is required. Specific errors are:\n"
|
"Valid HTML is required. Specific errors are:\n"
|
||||||
@ -1764,86 +2050,86 @@ msgstr ""
|
|||||||
"有効な HTML を入力してください。エラー:\n"
|
"有効な HTML を入力してください。エラー:\n"
|
||||||
"%s"
|
"%s"
|
||||||
|
|
||||||
#: core/validators.py:221
|
#: core/validators.py:222
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Badly formed XML: %s"
|
msgid "Badly formed XML: %s"
|
||||||
msgstr "不正な XML です: %s"
|
msgstr "不正な XML です: %s"
|
||||||
|
|
||||||
#: core/validators.py:238
|
#: core/validators.py:239
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invalid URL: %s"
|
msgid "Invalid URL: %s"
|
||||||
msgstr "無効なURL: %s"
|
msgstr "無効なURL: %s"
|
||||||
|
|
||||||
#: core/validators.py:243 core/validators.py:245
|
#: core/validators.py:244 core/validators.py:246
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The URL %s is a broken link."
|
msgid "The URL %s is a broken link."
|
||||||
msgstr "URL ( %s ) はリンクが壊れています。"
|
msgstr "URL ( %s ) はリンクが壊れています。"
|
||||||
|
|
||||||
#: core/validators.py:251
|
#: core/validators.py:252
|
||||||
msgid "Enter a valid U.S. state abbreviation."
|
msgid "Enter a valid U.S. state abbreviation."
|
||||||
msgstr "正しい米州略称を入力してください。"
|
msgstr "正しい米州略称を入力してください。"
|
||||||
|
|
||||||
#: core/validators.py:265
|
#: core/validators.py:266
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Watch your mouth! The word %s is not allowed here."
|
msgid "Watch your mouth! The word %s is not allowed here."
|
||||||
msgid_plural "Watch your mouth! The words %s are not allowed here."
|
msgid_plural "Watch your mouth! The words %s are not allowed here."
|
||||||
msgstr[0] "言葉使いに気を付けて! %s という言葉は使えません。"
|
msgstr[0] "言葉使いに気を付けて! %s という言葉は使えません。"
|
||||||
msgstr[1] "言葉使いに気を付けて! %s という言葉は使えません。"
|
msgstr[1] "言葉使いに気を付けて! %s という言葉は使えません。"
|
||||||
|
|
||||||
#: core/validators.py:272
|
#: core/validators.py:273
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This field must match the '%s' field."
|
msgid "This field must match the '%s' field."
|
||||||
msgstr "このフィールドは '%s' フィールドと一致せねばなりません。"
|
msgstr "このフィールドは '%s' フィールドと一致せねばなりません。"
|
||||||
|
|
||||||
#: core/validators.py:291
|
#: core/validators.py:292
|
||||||
msgid "Please enter something for at least one field."
|
msgid "Please enter something for at least one field."
|
||||||
msgstr "少なくとも一つのフィールドに何か入力してください。"
|
msgstr "少なくとも一つのフィールドに何か入力してください。"
|
||||||
|
|
||||||
#: core/validators.py:300 core/validators.py:311
|
#: core/validators.py:301 core/validators.py:312
|
||||||
msgid "Please enter both fields or leave them both empty."
|
msgid "Please enter both fields or leave them both empty."
|
||||||
msgstr "両方のフィールドに入力するか、両方とも未入力にしてください。"
|
msgstr "両方のフィールドに入力するか、両方とも未入力にしてください。"
|
||||||
|
|
||||||
#: core/validators.py:318
|
#: core/validators.py:320
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This field must be given if %(field)s is %(value)s"
|
msgid "This field must be given if %(field)s is %(value)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%(field)s を %(value)s にするのなら、このフィールドに必ず入力してください。"
|
"%(field)s を %(value)s にするのなら、このフィールドに必ず入力してください。"
|
||||||
|
|
||||||
#: core/validators.py:330
|
#: core/validators.py:333
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This field must be given if %(field)s is not %(value)s"
|
msgid "This field must be given if %(field)s is not %(value)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%(field)s を %(value)s にしないのなら、このフィールドに必ず入力してください。"
|
"%(field)s を %(value)s にしないのなら、このフィールドに必ず入力してください。"
|
||||||
|
|
||||||
#: core/validators.py:349
|
#: core/validators.py:352
|
||||||
msgid "Duplicate values are not allowed."
|
msgid "Duplicate values are not allowed."
|
||||||
msgstr "重複する値は認められません。"
|
msgstr "重複する値は認められません。"
|
||||||
|
|
||||||
#: core/validators.py:364
|
#: core/validators.py:367
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This value must be between %s and %s."
|
msgid "This value must be between %(lower)s and %(upper)s."
|
||||||
msgstr "この値は %s から %s の間でなければなりません。"
|
msgstr "この値は %(lower)s から %(upper)s の間でなければなりません。"
|
||||||
|
|
||||||
#: core/validators.py:366
|
#: core/validators.py:369
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This value must be at least %s."
|
msgid "This value must be at least %s."
|
||||||
msgstr "この値は %s 以上でなければなりません。"
|
msgstr "この値は %s 以上でなければなりません。"
|
||||||
|
|
||||||
#: core/validators.py:368
|
#: core/validators.py:371
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This value must be no more than %s."
|
msgid "This value must be no more than %s."
|
||||||
msgstr "この値は %s より小さくなければなりません。"
|
msgstr "この値は %s より小さくなければなりません。"
|
||||||
|
|
||||||
#: core/validators.py:404
|
#: core/validators.py:407
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This value must be a power of %s."
|
msgid "This value must be a power of %s."
|
||||||
msgstr "この値は %s の累乗でなければなりません。"
|
msgstr "この値は %s の累乗でなければなりません。"
|
||||||
|
|
||||||
#: core/validators.py:415
|
#: core/validators.py:418
|
||||||
msgid "Please enter a valid decimal number."
|
msgid "Please enter a valid decimal number."
|
||||||
msgstr "有効な 10 進数を入力してください。"
|
msgstr "有効な 10 進数を入力してください。"
|
||||||
|
|
||||||
#: core/validators.py:419
|
#: core/validators.py:422
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Please enter a valid decimal number with at most %s total digit."
|
msgid "Please enter a valid decimal number with at most %s total digit."
|
||||||
msgid_plural ""
|
msgid_plural ""
|
||||||
@ -1851,7 +2137,7 @@ msgid_plural ""
|
|||||||
msgstr[0] "全体で %s 文字以下の数字を入力してください。"
|
msgstr[0] "全体で %s 文字以下の数字を入力してください。"
|
||||||
msgstr[1] "全体で %s 文字以下の数字を入力してください。"
|
msgstr[1] "全体で %s 文字以下の数字を入力してください。"
|
||||||
|
|
||||||
#: core/validators.py:422
|
#: core/validators.py:425
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter a valid decimal number with a whole part of at most %s digit."
|
"Please enter a valid decimal number with a whole part of at most %s digit."
|
||||||
@ -1860,7 +2146,7 @@ msgid_plural ""
|
|||||||
msgstr[0] "整数部は %s 文字以下の数字を入力してください。"
|
msgstr[0] "整数部は %s 文字以下の数字を入力してください。"
|
||||||
msgstr[1] "整数部は %s 文字以下の数字を入力してください。"
|
msgstr[1] "整数部は %s 文字以下の数字を入力してください。"
|
||||||
|
|
||||||
#: core/validators.py:425
|
#: core/validators.py:428
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Please enter a valid decimal number with at most %s decimal place."
|
msgid "Please enter a valid decimal number with at most %s decimal place."
|
||||||
msgid_plural ""
|
msgid_plural ""
|
||||||
@ -1868,37 +2154,37 @@ msgid_plural ""
|
|||||||
msgstr[0] "小数部は %s 文字以下の数字を入力してください。"
|
msgstr[0] "小数部は %s 文字以下の数字を入力してください。"
|
||||||
msgstr[1] "小数部は %s 文字以下の数字を入力してください。"
|
msgstr[1] "小数部は %s 文字以下の数字を入力してください。"
|
||||||
|
|
||||||
#: core/validators.py:435
|
#: core/validators.py:438
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Make sure your uploaded file is at least %s bytes big."
|
msgid "Make sure your uploaded file is at least %s bytes big."
|
||||||
msgstr "アップロードするファイルの大きさは %s バイト以上にしてください。"
|
msgstr "アップロードするファイルの大きさは %s バイト以上にしてください。"
|
||||||
|
|
||||||
#: core/validators.py:436
|
#: core/validators.py:439
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Make sure your uploaded file is at most %s bytes big."
|
msgid "Make sure your uploaded file is at most %s bytes big."
|
||||||
msgstr "アップロードするファイルの大きさは %s 最大バイトまでです。"
|
msgstr "アップロードするファイルの大きさは %s 最大バイトまでです。"
|
||||||
|
|
||||||
#: core/validators.py:453
|
#: core/validators.py:456
|
||||||
msgid "The format for this field is wrong."
|
msgid "The format for this field is wrong."
|
||||||
msgstr "フィールドの形式が正しくありません。"
|
msgstr "フィールドの形式が正しくありません。"
|
||||||
|
|
||||||
#: core/validators.py:468
|
#: core/validators.py:471
|
||||||
msgid "This field is invalid."
|
msgid "This field is invalid."
|
||||||
msgstr "このフィールドは無効です。"
|
msgstr "このフィールドは無効です。"
|
||||||
|
|
||||||
#: core/validators.py:504
|
#: core/validators.py:507
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Could not retrieve anything from %s."
|
msgid "Could not retrieve anything from %s."
|
||||||
msgstr "%s から何も検索できませんでした。"
|
msgstr "%s から何も検索できませんでした。"
|
||||||
|
|
||||||
#: core/validators.py:507
|
#: core/validators.py:510
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
|
"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"URL %(url)s は無効なコンテンツタイプヘッダ '%(contenttype)s' を返しました。"
|
"URL %(url)s は無効なコンテンツタイプヘッダ '%(contenttype)s' を返しました。"
|
||||||
|
|
||||||
#: core/validators.py:540
|
#: core/validators.py:543
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with "
|
"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with "
|
||||||
@ -1907,7 +2193,7 @@ msgstr ""
|
|||||||
"%(line)s 行目から始まる %(tag)s タグを閉じてください (\"%(start)s\" で始まる"
|
"%(line)s 行目から始まる %(tag)s タグを閉じてください (\"%(start)s\" で始まる"
|
||||||
"行です)。"
|
"行です)。"
|
||||||
|
|
||||||
#: core/validators.py:544
|
#: core/validators.py:547
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Some text starting on line %(line)s is not allowed in that context. (Line "
|
"Some text starting on line %(line)s is not allowed in that context. (Line "
|
||||||
@ -1916,7 +2202,7 @@ msgstr ""
|
|||||||
"%(line)s 行目から始まるテキストはこのコンテキストでは使えません。 (\"%(start)"
|
"%(line)s 行目から始まるテキストはこのコンテキストでは使えません。 (\"%(start)"
|
||||||
"s\" で始まる行です)。"
|
"s\" で始まる行です)。"
|
||||||
|
|
||||||
#: core/validators.py:549
|
#: core/validators.py:552
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%"
|
"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%"
|
||||||
@ -1925,7 +2211,7 @@ msgstr ""
|
|||||||
"%(line)s 行目の \"%(attr)s\" は無効なアトリビュートです (\"%(start)s\" で始ま"
|
"%(line)s 行目の \"%(attr)s\" は無効なアトリビュートです (\"%(start)s\" で始ま"
|
||||||
"る行です)。"
|
"る行です)。"
|
||||||
|
|
||||||
#: core/validators.py:554
|
#: core/validators.py:557
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%"
|
"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%"
|
||||||
@ -1934,7 +2220,7 @@ msgstr ""
|
|||||||
"%(line)s 行目の \"<%(tag)s>\" は無効なタグです( \"%(start)s\" で始まる行で"
|
"%(line)s 行目の \"<%(tag)s>\" は無効なタグです( \"%(start)s\" で始まる行で"
|
||||||
"す)。"
|
"す)。"
|
||||||
|
|
||||||
#: core/validators.py:558
|
#: core/validators.py:561
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"A tag on line %(line)s is missing one or more required attributes. (Line "
|
"A tag on line %(line)s is missing one or more required attributes. (Line "
|
||||||
@ -1943,7 +2229,7 @@ msgstr ""
|
|||||||
"%(line)s 行目のタグは必須アトリビュートが未入力です( \"%(start)s\" で始まる行"
|
"%(line)s 行目のタグは必須アトリビュートが未入力です( \"%(start)s\" で始まる行"
|
||||||
"です)。"
|
"です)。"
|
||||||
|
|
||||||
#: core/validators.py:563
|
#: core/validators.py:566
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line "
|
"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line "
|
||||||
@ -1952,7 +2238,7 @@ msgstr ""
|
|||||||
"%(line)s 行目の \"%(attr)s\" アトリビュートの値が正しくありません (\"%(start)"
|
"%(line)s 行目の \"%(attr)s\" アトリビュートの値が正しくありません (\"%(start)"
|
||||||
"s\" で始まる行です) 。"
|
"s\" で始まる行です) 。"
|
||||||
|
|
||||||
#: db/models/manipulators.py:305
|
#: db/models/manipulators.py:307
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(object)s with this %(type)s already exists for the given %(field)s."
|
msgid "%(object)s with this %(type)s already exists for the given %(field)s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1963,29 +2249,33 @@ msgstr ""
|
|||||||
msgid "%(optname)s with this %(fieldname)s already exists."
|
msgid "%(optname)s with this %(fieldname)s already exists."
|
||||||
msgstr "%(fieldname)s に %(optname)s は既に存在します。"
|
msgstr "%(fieldname)s に %(optname)s は既に存在します。"
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:116 db/models/fields/__init__.py:273
|
#: db/models/fields/__init__.py:117 db/models/fields/__init__.py:274
|
||||||
#: db/models/fields/__init__.py:605 db/models/fields/__init__.py:616
|
#: db/models/fields/__init__.py:610 db/models/fields/__init__.py:621
|
||||||
#: newforms/fields.py:78 newforms/fields.py:373 newforms/fields.py:449
|
#: newforms/fields.py:78 newforms/fields.py:374 newforms/fields.py:450
|
||||||
#: newforms/fields.py:460 oldforms/__init__.py:352
|
#: newforms/fields.py:461 newforms/models.py:177 oldforms/__init__.py:357
|
||||||
msgid "This field is required."
|
msgid "This field is required."
|
||||||
msgstr "このフィールドは必須です。"
|
msgstr "このフィールドは必須です。"
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:366
|
#: db/models/fields/__init__.py:367
|
||||||
msgid "This value must be an integer."
|
msgid "This value must be an integer."
|
||||||
msgstr "値は整数でなければなりません。"
|
msgstr "値は整数でなければなりません。"
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:401
|
#: db/models/fields/__init__.py:402
|
||||||
msgid "This value must be either True or False."
|
msgid "This value must be either True or False."
|
||||||
msgstr "値は真: True または偽: False でなければなりません。"
|
msgstr "値は真: True または偽: False でなければなりません。"
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:422
|
#: db/models/fields/__init__.py:423
|
||||||
msgid "This field cannot be null."
|
msgid "This field cannot be null."
|
||||||
msgstr "このフィールドには NULL を指定できません。"
|
msgstr "このフィールドには NULL を指定できません。"
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:625
|
#: db/models/fields/__init__.py:630
|
||||||
msgid "Enter a valid filename."
|
msgid "Enter a valid filename."
|
||||||
msgstr "正しいファイル名を入力してください。"
|
msgstr "正しいファイル名を入力してください。"
|
||||||
|
|
||||||
|
#: db/models/fields/__init__.py:751
|
||||||
|
msgid "This value must be either None, True or False."
|
||||||
|
msgstr "値は、空: None、真: True または偽: False でなければなりません。"
|
||||||
|
|
||||||
#: db/models/fields/related.py:53
|
#: db/models/fields/related.py:53
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Please enter a valid %s."
|
msgid "Please enter a valid %s."
|
||||||
@ -2054,55 +2344,79 @@ msgstr "URLを正しく入力してください。"
|
|||||||
msgid "This URL appears to be a broken link."
|
msgid "This URL appears to be a broken link."
|
||||||
msgstr "このURLはリンクが壊れています。"
|
msgstr "このURLはリンクが壊れています。"
|
||||||
|
|
||||||
#: newforms/fields.py:359
|
#: newforms/fields.py:360 newforms/models.py:164
|
||||||
msgid "Select a valid choice. That choice is not one of the available choices."
|
msgid "Select a valid choice. That choice is not one of the available choices."
|
||||||
msgstr "正しく選択してください。選択したものは候補にありません。"
|
msgstr "正しく選択してください。選択したものは候補にありません。"
|
||||||
|
|
||||||
#: newforms/fields.py:377 newforms/fields.py:453
|
#: newforms/fields.py:378 newforms/fields.py:454 newforms/models.py:181
|
||||||
msgid "Enter a list of values."
|
msgid "Enter a list of values."
|
||||||
msgstr "リストを入力してください。"
|
msgstr "リストを入力してください。"
|
||||||
|
|
||||||
#: newforms/fields.py:386
|
#: newforms/fields.py:387 newforms/models.py:187
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Select a valid choice. %s is not one of the available choices."
|
msgid "Select a valid choice. %s is not one of the available choices."
|
||||||
msgstr "正しく選択してください。 %s は候補にありません。"
|
msgstr "正しく選択してください。 %s は候補にありません。"
|
||||||
|
|
||||||
#: oldforms/__init__.py:387
|
#: oldforms/__init__.py:392
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Ensure your text is less than %s character."
|
msgid "Ensure your text is less than %s character."
|
||||||
msgid_plural "Ensure your text is less than %s characters."
|
msgid_plural "Ensure your text is less than %s characters."
|
||||||
msgstr[0] "%s 字以下で入力してください。"
|
msgstr[0] "%s 字以下で入力してください。"
|
||||||
msgstr[1] "%s 字以下で入力してください。"
|
msgstr[1] "%s 字以下で入力してください。"
|
||||||
|
|
||||||
#: oldforms/__init__.py:392
|
#: oldforms/__init__.py:397
|
||||||
msgid "Line breaks are not allowed here."
|
msgid "Line breaks are not allowed here."
|
||||||
msgstr "改行はできません。"
|
msgstr "改行はできません。"
|
||||||
|
|
||||||
#: oldforms/__init__.py:493 oldforms/__init__.py:566 oldforms/__init__.py:605
|
#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Select a valid choice; '%(data)s' is not in %(choices)s."
|
msgid "Select a valid choice; '%(data)s' is not in %(choices)s."
|
||||||
msgstr "正しく選択してください。; '%(data)s' は %(choices)s にありません。"
|
msgstr "正しく選択してください。; '%(data)s' は %(choices)s にありません。"
|
||||||
|
|
||||||
#: oldforms/__init__.py:669
|
#: oldforms/__init__.py:674
|
||||||
msgid "The submitted file is empty."
|
msgid "The submitted file is empty."
|
||||||
msgstr "入力されたファイルは空です。"
|
msgstr "入力されたファイルは空です。"
|
||||||
|
|
||||||
#: oldforms/__init__.py:725
|
#: oldforms/__init__.py:730
|
||||||
msgid "Enter a whole number between -32,768 and 32,767."
|
msgid "Enter a whole number between -32,768 and 32,767."
|
||||||
msgstr "-32,768 から 32,767 までの整数を入力してください。"
|
msgstr "-32,768 から 32,767 までの整数を入力してください。"
|
||||||
|
|
||||||
#: oldforms/__init__.py:735
|
#: oldforms/__init__.py:740
|
||||||
msgid "Enter a positive number."
|
msgid "Enter a positive number."
|
||||||
msgstr "正の数を入力してください。"
|
msgstr "正の数を入力してください。"
|
||||||
|
|
||||||
#: oldforms/__init__.py:745
|
#: oldforms/__init__.py:750
|
||||||
msgid "Enter a whole number between 0 and 32,767."
|
msgid "Enter a whole number between 0 and 32,767."
|
||||||
msgstr "0 から 32,767 までの整数を入力してください。"
|
msgstr "0 から 32,767 までの整数を入力してください。"
|
||||||
|
|
||||||
#: template/defaultfilters.py:436
|
#: template/defaultfilters.py:491
|
||||||
msgid "yes,no,maybe"
|
msgid "yes,no,maybe"
|
||||||
msgstr "はい,いいえ,たぶん"
|
msgstr "はい,いいえ,たぶん"
|
||||||
|
|
||||||
|
#: utils/dateformat.py:40
|
||||||
|
msgid "p.m."
|
||||||
|
msgstr "p.m."
|
||||||
|
|
||||||
|
#: utils/dateformat.py:41
|
||||||
|
msgid "a.m."
|
||||||
|
msgstr "a.m."
|
||||||
|
|
||||||
|
#: utils/dateformat.py:46
|
||||||
|
msgid "PM"
|
||||||
|
msgstr "PM"
|
||||||
|
|
||||||
|
#: utils/dateformat.py:47
|
||||||
|
msgid "AM"
|
||||||
|
msgstr "AM"
|
||||||
|
|
||||||
|
#: utils/dateformat.py:95
|
||||||
|
msgid "midnight"
|
||||||
|
msgstr "0時"
|
||||||
|
|
||||||
|
#: utils/dateformat.py:97
|
||||||
|
msgid "noon"
|
||||||
|
msgstr "12時"
|
||||||
|
|
||||||
#: utils/dates.py:6
|
#: utils/dates.py:6
|
||||||
msgid "Monday"
|
msgid "Monday"
|
||||||
msgstr "月曜日"
|
msgstr "月曜日"
|
||||||
|
Binary file not shown.
@ -1,14 +1,12 @@
|
|||||||
# SOME DESCRIPTIVE TITLE.
|
# Japanese translation for js.
|
||||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
# Copyright (C) 2005 makoto tsuyuki
|
||||||
# This file is distributed under the same license as the PACKAGE package.
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
# makoto tsuyuki <mtsuyuki@gmail.com>, 2005.
|
||||||
#
|
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Django 1.0\n"
|
"Project-Id-Version: Django 1.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2006-10-06 00:30+0900\n"
|
"POT-Creation-Date: 2007-03-26 23:41+0900\n"
|
||||||
"PO-Revision-Date: 2006-05-08 13:39+0900\n"
|
"PO-Revision-Date: 2006-05-08 13:39+0900\n"
|
||||||
"Last-Translator: makoto tsuyuki <mtsuyuki@gmail.com>\n"
|
"Last-Translator: makoto tsuyuki <mtsuyuki@gmail.com>\n"
|
||||||
"Language-Team: Japanese <django-ja@googlegroups.com>\n"
|
"Language-Team: Japanese <django-ja@googlegroups.com>\n"
|
||||||
@ -85,7 +83,7 @@ msgstr "時間を選択"
|
|||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
|
||||||
msgid "Midnight"
|
msgid "Midnight"
|
||||||
msgstr "夜中"
|
msgstr "0時"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
|
||||||
msgid "6 a.m."
|
msgid "6 a.m."
|
||||||
@ -93,7 +91,7 @@ msgstr "午前 6 時"
|
|||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84
|
||||||
msgid "Noon"
|
msgid "Noon"
|
||||||
msgstr "正午"
|
msgstr "12時"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183
|
||||||
|
Binary file not shown.
@ -163,11 +163,11 @@ msgstr "ఫ్లాగ్ తేది "
|
|||||||
|
|
||||||
#: contrib/comments/models.py:268
|
#: contrib/comments/models.py:268
|
||||||
msgid "user flag"
|
msgid "user flag"
|
||||||
msgstr "యూఙర్ ఫ్లాగ్"
|
msgstr "యూజర్ ఫ్లాగ్"
|
||||||
|
|
||||||
#: contrib/comments/models.py:269
|
#: contrib/comments/models.py:269
|
||||||
msgid "user flags"
|
msgid "user flags"
|
||||||
msgstr "యూఙర్ ఫ్లాగులు"
|
msgstr "యూజర్ ఫ్లాగులు"
|
||||||
|
|
||||||
#: contrib/comments/models.py:273
|
#: contrib/comments/models.py:273
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -193,7 +193,7 @@ msgstr "మొదరేటర్ తీసివేసిన %r"
|
|||||||
|
|
||||||
#: contrib/comments/views/karma.py:19
|
#: contrib/comments/views/karma.py:19
|
||||||
msgid "Anonymous users cannot vote"
|
msgid "Anonymous users cannot vote"
|
||||||
msgstr "అపరిచిత యూఙరులు వోటు వేయలేరు"
|
msgstr "అపరిచిత యూజర్లు వోటు వేయలేరు"
|
||||||
|
|
||||||
#: contrib/comments/views/karma.py:23
|
#: contrib/comments/views/karma.py:23
|
||||||
msgid "Invalid comment ID"
|
msgid "Invalid comment ID"
|
||||||
@ -220,12 +220,12 @@ msgid_plural ""
|
|||||||
"\n"
|
"\n"
|
||||||
"%(text)s"
|
"%(text)s"
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
"ఈ వ్యాఖ్యానము చేసిన యూఙర్ %(count)లు కన్న తక్కువ సమర్పించాడు "
|
"ఈ వ్యాఖ్యానము చేసిన యూజర్ %(count)లు కన్న తక్కువ సమర్పించాడు "
|
||||||
"వ్యాఖ్యానము:\n"
|
"వ్యాఖ్యానము:\n"
|
||||||
"\n"
|
"\n"
|
||||||
"%(text)s"
|
"%(text)s"
|
||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
"ఈ వ్యాఖ్యానము చేసిన యూఙర్ %(count)లు కన్న తక్కువ సమర్పించాడు"
|
"ఈ వ్యాఖ్యానము చేసిన యూజర్ %(count)లు కన్న తక్కువ సమర్పించాడు"
|
||||||
"వ్యాఖ్యానములు:\n"
|
"వ్యాఖ్యానములు:\n"
|
||||||
"\n"
|
"\n"
|
||||||
"%(text)s"
|
"%(text)s"
|
||||||
@ -237,7 +237,7 @@ msgid ""
|
|||||||
"\n"
|
"\n"
|
||||||
"%(text)s"
|
"%(text)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"ఈ వ్యాఖ్యానము స్కెచి యూఙర్ చేసాడు :\n"
|
"ఈ వ్యాఖ్యానము స్కెచి యూజర్ చేసాడు :\n"
|
||||||
"\n"
|
"\n"
|
||||||
"%(text)s"
|
"%(text)s"
|
||||||
|
|
||||||
@ -274,7 +274,7 @@ msgstr "వ్యాఖ్యానము ఫార్మ్ లో 'ప్ర
|
|||||||
#: contrib/comments/templates/comments/form.html:8
|
#: contrib/comments/templates/comments/form.html:8
|
||||||
#: contrib/admin/templates/admin/login.html:17
|
#: contrib/admin/templates/admin/login.html:17
|
||||||
msgid "Username:"
|
msgid "Username:"
|
||||||
msgstr "యూఙర్ పేరు"
|
msgstr "యూజర్ పేరు"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:6
|
#: contrib/comments/templates/comments/form.html:6
|
||||||
#: contrib/admin/templates/admin/object_history.html:3
|
#: contrib/admin/templates/admin/object_history.html:3
|
||||||
@ -353,15 +353,15 @@ msgstr "అన్నీ"
|
|||||||
|
|
||||||
#: contrib/admin/filterspecs.py:109
|
#: contrib/admin/filterspecs.py:109
|
||||||
msgid "Any date"
|
msgid "Any date"
|
||||||
msgstr "ఏ రోఙైన"
|
msgstr "ఏ రోజైన"
|
||||||
|
|
||||||
#: contrib/admin/filterspecs.py:110
|
#: contrib/admin/filterspecs.py:110
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "ఈ రోఙు"
|
msgstr "ఈ రోజు"
|
||||||
|
|
||||||
#: contrib/admin/filterspecs.py:113
|
#: contrib/admin/filterspecs.py:113
|
||||||
msgid "Past 7 days"
|
msgid "Past 7 days"
|
||||||
msgstr "గత 7 రోఙుల గా"
|
msgstr "గత 7 రోజుల గా"
|
||||||
|
|
||||||
#: contrib/admin/filterspecs.py:115
|
#: contrib/admin/filterspecs.py:115
|
||||||
msgid "This month"
|
msgid "This month"
|
||||||
@ -413,13 +413,13 @@ msgstr "లాగ్ ఎంట్రీలు"
|
|||||||
|
|
||||||
#: contrib/admin/templatetags/admin_list.py:230
|
#: contrib/admin/templatetags/admin_list.py:230
|
||||||
msgid "All dates"
|
msgid "All dates"
|
||||||
msgstr "అన్నీ రోఙులు"
|
msgstr "అన్నీ రోజులు"
|
||||||
|
|
||||||
#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:59
|
#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:59
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter a correct username and password. Note that both fields are case-"
|
"Please enter a correct username and password. Note that both fields are case-"
|
||||||
"sensitive."
|
"sensitive."
|
||||||
msgstr "దయచేసి సరైన యూఙర్ పేరు పాస్ వర్డ్ ఇవ్వండి"
|
msgstr "దయచేసి సరైన యూజర్ పేరు పాస్ వర్డ్ ఇవ్వండి"
|
||||||
|
|
||||||
#: contrib/admin/views/decorators.py:24
|
#: contrib/admin/views/decorators.py:24
|
||||||
#: contrib/admin/templates/admin/login.html:25
|
#: contrib/admin/templates/admin/login.html:25
|
||||||
@ -430,22 +430,22 @@ msgstr "లాగ్ ఇన్"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Please log in again, because your session has expired. Don't worry: Your "
|
"Please log in again, because your session has expired. Don't worry: Your "
|
||||||
"submission has been saved."
|
"submission has been saved."
|
||||||
msgstr "దయచేసి మళీ లాగ్ ఇన్ అవ్వండి ఎందుకంటే మీ సేస్సన్ ముగిసింది . బాధపడకండి మీ సమర్పన దాచిపెట్టాము"
|
msgstr "దయచేసి మళ్ళీ లాగ్ ఇన్ అవ్వండి ఎందుకంటే మీ సేస్సన్ ముగిసింది . బాధపడకండి మీ సమర్పన దాచిపెట్టాము"
|
||||||
|
|
||||||
#: contrib/admin/views/decorators.py:69
|
#: contrib/admin/views/decorators.py:69
|
||||||
msgid ""
|
msgid ""
|
||||||
"Looks like your browser isn't configured to accept cookies. Please enable "
|
"Looks like your browser isn't configured to accept cookies. Please enable "
|
||||||
"cookies, reload this page, and try again."
|
"cookies, reload this page, and try again."
|
||||||
msgstr "మీ బ్రౌఙర్ పై కుకీస్ అంగీకరించబడేటట్లు చేయలేదు . దయ చేసి కుకీస్ ఎనేబల్ చేసి ,మళ్ళీ ట్రై చేయండి"
|
msgstr "మీ బ్రౌజర్ పై కుకీస్ అంగీకరించేటట్లు చేయలేదు . దయ చేసి కుకీస్ ఎనేబల్ చేసి ,మళ్ళీ ట్రై చేయండి"
|
||||||
|
|
||||||
#: contrib/admin/views/decorators.py:83
|
#: contrib/admin/views/decorators.py:83
|
||||||
msgid "Usernames cannot contain the '@' character."
|
msgid "Usernames cannot contain the '@' character."
|
||||||
msgstr "యూఙర్ పేరు లో '@' అక్షరము ఉందకూడడు"
|
msgstr "యూజర్ పేరు లో '@' అక్షరము ఉందకూడడు"
|
||||||
|
|
||||||
#: contrib/admin/views/decorators.py:85
|
#: contrib/admin/views/decorators.py:85
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your e-mail address is not your username. Try '%s' instead."
|
msgid "Your e-mail address is not your username. Try '%s' instead."
|
||||||
msgstr "మీ ఈ మెయిల్ అడ్రస్ మీ యూఙర్ పేరు కాదు . '%s' ఇచ్చి చూడండి "
|
msgstr "మీ ఈ మెయిల్ అడ్రస్ మీ యూజర్ పేరు కాదు . '%s' ఇచ్చి చూడండి "
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:223
|
#: contrib/admin/views/main.py:223
|
||||||
msgid "Site administration"
|
msgid "Site administration"
|
||||||
@ -454,7 +454,7 @@ msgstr "సైట్ నిర్వాహన"
|
|||||||
#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:17
|
#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:17
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(name)s \"%(obj)s\" was added successfully."
|
msgid "The %(name)s \"%(obj)s\" was added successfully."
|
||||||
msgstr "%(name)s \"%(obj)s\"ఙయప్రదంగా కలపబడ్డడి"
|
msgstr "%(name)s \"%(obj)s\"జయప్రదంగా కలపబడ్డడి"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347
|
#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347
|
||||||
#: contrib/admin/views/auth.py:22
|
#: contrib/admin/views/auth.py:22
|
||||||
@ -464,12 +464,12 @@ msgstr "మీరు మళ్ళీ దీనినీ క్రింద మ
|
|||||||
#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356
|
#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "You may add another %s below."
|
msgid "You may add another %s below."
|
||||||
msgstr "మీరు ఇంకొక %s ని క్రింద ఙత చేయొచ్చు"
|
msgstr "మీరు ఇంకొక %s ని క్రింద జత చేయొచ్చు"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:289
|
#: contrib/admin/views/main.py:289
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Add %s"
|
msgid "Add %s"
|
||||||
msgstr "%s ని ఙత చేయండి "
|
msgstr "%s ని జత చేయండి "
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:335
|
#: contrib/admin/views/main.py:335
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -493,17 +493,17 @@ msgstr "%s తీసివేయబడ్డడి"
|
|||||||
|
|
||||||
#: contrib/admin/views/main.py:342
|
#: contrib/admin/views/main.py:342
|
||||||
msgid "No fields changed."
|
msgid "No fields changed."
|
||||||
msgstr "మార్చబడలేదు"
|
msgstr "ఫీల్డ్స్ ఏమి మార్చబడలేదు"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:345
|
#: contrib/admin/views/main.py:345
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(name)s \"%(obj)s\" was changed successfully."
|
msgid "The %(name)s \"%(obj)s\" was changed successfully."
|
||||||
msgstr "%(name)s \"%(obj)s\" ఙయప్రదంగా మార్చబడిండి"
|
msgstr "%(name)s \"%(obj)s\" జయప్రదంగా మార్చబడిండి"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:353
|
#: contrib/admin/views/main.py:353
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
|
msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
|
||||||
msgstr "%(name)s \"%(obj)s\" ఙయప్రదంగా కలపబడ్డడి .మీరు మళ్ళీ దీనినీ క్రింద మార్చవచ్చు"
|
msgstr "%(name)s \"%(obj)s\" జయప్రదంగా కలపబడ్డడి .మీరు మళ్ళీ దీనినీ క్రింద మార్చవచ్చు"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:391
|
#: contrib/admin/views/main.py:391
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -523,7 +523,7 @@ msgstr "ఒకటి కాని ,అంత కన్నఎక్కువ %(
|
|||||||
#: contrib/admin/views/main.py:511
|
#: contrib/admin/views/main.py:511
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(name)s \"%(obj)s\" was deleted successfully."
|
msgid "The %(name)s \"%(obj)s\" was deleted successfully."
|
||||||
msgstr "%(name)లు \"%(obj)s\"ఙయప్రదంగా తీసివేయబడ్డడి"
|
msgstr "%(name)లు \"%(obj)s\"జయప్రదంగా తీసివేయబడ్డడి"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:514
|
#: contrib/admin/views/main.py:514
|
||||||
msgid "Are you sure?"
|
msgid "Are you sure?"
|
||||||
@ -601,7 +601,7 @@ msgstr ""
|
|||||||
#: contrib/admin/views/doc.py:229
|
#: contrib/admin/views/doc.py:229
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Fields on %s objects"
|
msgid "Fields on %s objects"
|
||||||
msgstr "వస్తువు"
|
msgstr "%s వస్తువులలో ఫీల్డ్స్ "
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301
|
#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301
|
||||||
#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309
|
#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309
|
||||||
@ -682,7 +682,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: contrib/admin/views/auth.py:28
|
#: contrib/admin/views/auth.py:28
|
||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "యూఙర్"
|
msgstr "యూజర్ ని జత చేయండి"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/object_history.html:3
|
#: contrib/admin/templates/admin/object_history.html:3
|
||||||
#: contrib/admin/templates/admin/change_list.html:5
|
#: contrib/admin/templates/admin/change_list.html:5
|
||||||
@ -742,7 +742,7 @@ msgstr "తేది/వేళ"
|
|||||||
|
|
||||||
#: contrib/admin/templates/admin/object_history.html:19
|
#: contrib/admin/templates/admin/object_history.html:19
|
||||||
msgid "User"
|
msgid "User"
|
||||||
msgstr "యూఙర్"
|
msgstr "యూజర్"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/object_history.html:20
|
#: contrib/admin/templates/admin/object_history.html:20
|
||||||
msgid "Action"
|
msgid "Action"
|
||||||
@ -760,11 +760,11 @@ msgstr ""
|
|||||||
|
|
||||||
#: contrib/admin/templates/admin/base_site.html:4
|
#: contrib/admin/templates/admin/base_site.html:4
|
||||||
msgid "Django site admin"
|
msgid "Django site admin"
|
||||||
msgstr "డ్ఙాంగొ యొక్క నిర్వాహనదారులు"
|
msgstr "డ్జాంగొ యొక్క నిర్వాహనదారులు"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/base_site.html:7
|
#: contrib/admin/templates/admin/base_site.html:7
|
||||||
msgid "Django administration"
|
msgid "Django administration"
|
||||||
msgstr "డ్ఙాంగొ నిర్వాహన"
|
msgstr "డ్జాంగొ నిర్వాహన"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/500.html:4
|
#: contrib/admin/templates/admin/500.html:4
|
||||||
msgid "Server error"
|
msgid "Server error"
|
||||||
@ -782,16 +782,16 @@ msgstr "సర్వర్ తప్పు <em>(500)</em>"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"There's been an error. It's been reported to the site administrators via e-"
|
"There's been an error. It's been reported to the site administrators via e-"
|
||||||
"mail and should be fixed shortly. Thanks for your patience."
|
"mail and should be fixed shortly. Thanks for your patience."
|
||||||
msgstr "తప్పు ఙరిగిండి . దానిని నిర్వాహనాధికారులు కి ఈ మెయిల్ చేయబడ్డడి,మీ ఓపిక కి ధన్యవాదములు"
|
msgstr "తప్పు జరిగిండి . దానిని నిర్వాహనాధికారులు కి ఈ మెయిల్ చేయబడ్డడి,మీ ఓపిక కి ధన్యవాదములు"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/404.html:4
|
#: contrib/admin/templates/admin/404.html:4
|
||||||
#: contrib/admin/templates/admin/404.html:8
|
#: contrib/admin/templates/admin/404.html:8
|
||||||
msgid "Page not found"
|
msgid "Page not found"
|
||||||
msgstr "పేఙి దొరకలేదు"
|
msgstr "పేజి దొరకలేదు"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/404.html:10
|
#: contrib/admin/templates/admin/404.html:10
|
||||||
msgid "We're sorry, but the requested page could not be found."
|
msgid "We're sorry, but the requested page could not be found."
|
||||||
msgstr "క్షమించండి మీరు కోరిన పేఙి దొరకలేడు"
|
msgstr "క్షమించండి మీరు కోరిన పేజి దొరకలేడు"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/index.html:17
|
#: contrib/admin/templates/admin/index.html:17
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -801,12 +801,12 @@ msgstr "మొడల్ లు %(name)లో దొరికే అప్ప్
|
|||||||
#: contrib/admin/templates/admin/index.html:18
|
#: contrib/admin/templates/admin/index.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(name)s"
|
msgid "%(name)s"
|
||||||
msgstr ""
|
msgstr "%(name)లు"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/index.html:28
|
#: contrib/admin/templates/admin/index.html:28
|
||||||
#: contrib/admin/templates/admin/change_form.html:15
|
#: contrib/admin/templates/admin/change_form.html:15
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr "ఙత చేయి"
|
msgstr "జత చేయి"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/index.html:34
|
#: contrib/admin/templates/admin/index.html:34
|
||||||
msgid "Change"
|
msgid "Change"
|
||||||
@ -831,7 +831,7 @@ msgstr "ఏమి దొరకలేదు"
|
|||||||
#: contrib/admin/templates/admin/change_list.html:11
|
#: contrib/admin/templates/admin/change_list.html:11
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Add %(name)s"
|
msgid "Add %(name)s"
|
||||||
msgstr "%(name)లు ఙత చేయు"
|
msgstr "%(name)లు జత చేయు"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/login.html:22
|
#: contrib/admin/templates/admin/login.html:22
|
||||||
msgid "Have you <a href=\"/password_reset/\">forgotten your password</a>?"
|
msgid "Have you <a href=\"/password_reset/\">forgotten your password</a>?"
|
||||||
@ -943,7 +943,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: contrib/admin/templates/admin/auth/user/add_form.html:12
|
#: contrib/admin/templates/admin/auth/user/add_form.html:12
|
||||||
msgid "Username"
|
msgid "Username"
|
||||||
msgstr "యూఙర్ పేరు"
|
msgstr "యూజర్ పేరు"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/auth/user/add_form.html:18
|
#: contrib/admin/templates/admin/auth/user/add_form.html:18
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
@ -967,7 +967,7 @@ msgstr "పాస్ వర్డ్ మార్పు"
|
|||||||
#: contrib/admin/templates/registration/password_change_done.html:6
|
#: contrib/admin/templates/registration/password_change_done.html:6
|
||||||
#: contrib/admin/templates/registration/password_change_done.html:10
|
#: contrib/admin/templates/registration/password_change_done.html:10
|
||||||
msgid "Password change successful"
|
msgid "Password change successful"
|
||||||
msgstr "పాస్ వర్డ్ మార్పు ఙయప్రదమైండి "
|
msgstr "పాస్ వర్డ్ మార్పు జయప్రదమైండి "
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_change_done.html:12
|
#: contrib/admin/templates/registration/password_change_done.html:12
|
||||||
msgid "Your password was changed."
|
msgid "Your password was changed."
|
||||||
@ -1005,7 +1005,7 @@ msgstr "మళ్ళీ లాగ్ ఇన్ అవ్వండి"
|
|||||||
#: contrib/admin/templates/registration/password_reset_done.html:6
|
#: contrib/admin/templates/registration/password_reset_done.html:6
|
||||||
#: contrib/admin/templates/registration/password_reset_done.html:10
|
#: contrib/admin/templates/registration/password_reset_done.html:10
|
||||||
msgid "Password reset successful"
|
msgid "Password reset successful"
|
||||||
msgstr "పాస్ వర్డ్ రీసెట్ ఙయప్రదమైండి"
|
msgstr "పాస్ వర్డ్ రీసెట్ జయప్రదమైండి"
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_done.html:12
|
#: contrib/admin/templates/registration/password_reset_done.html:12
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -1051,11 +1051,11 @@ msgstr "మీ కొత్త పాస్ వర్డ్ : %(new_password)s
|
|||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_email.html:7
|
#: contrib/admin/templates/registration/password_reset_email.html:7
|
||||||
msgid "Feel free to change this password by going to this page:"
|
msgid "Feel free to change this password by going to this page:"
|
||||||
msgstr "నిస్సందేహము గా ఈ పేఙి క్ కి వెళ్ళి పాస్ వర్డ్ మార్చుకోండి "
|
msgstr "నిస్సందేహము గా ఈ పేజి క్ కి వెళ్ళి పాస్ వర్డ్ మార్చుకోండి "
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_email.html:11
|
#: contrib/admin/templates/registration/password_reset_email.html:11
|
||||||
msgid "Your username, in case you've forgotten:"
|
msgid "Your username, in case you've forgotten:"
|
||||||
msgstr "మీ యూఙర్ పేరు, ఒక వేళ మర్చిపోయి ఉంటే "
|
msgstr "మీ యూజర్ పేరు, ఒక వేళ మర్చిపోయి ఉంటే "
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_email.html:13
|
#: contrib/admin/templates/registration/password_reset_email.html:13
|
||||||
msgid "Thanks for using our site!"
|
msgid "Thanks for using our site!"
|
||||||
@ -1103,19 +1103,19 @@ msgstr "వస్తువు ఇడి చూడండి"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Shows the content-type and unique ID for pages that represent a single "
|
"Shows the content-type and unique ID for pages that represent a single "
|
||||||
"object."
|
"object."
|
||||||
msgstr "వస్తువు"
|
msgstr ""
|
||||||
|
|
||||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:25
|
#: contrib/admin/templates/admin_doc/bookmarklets.html:25
|
||||||
msgid "Edit this object (current window)"
|
msgid "Edit this object (current window)"
|
||||||
msgstr "వస్తువు"
|
msgstr "వస్తువు ని మార్చండి (ప్రస్తుత విండొ)"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:26
|
#: contrib/admin/templates/admin_doc/bookmarklets.html:26
|
||||||
msgid "Jumps to the admin page for pages that represent a single object."
|
msgid "Jumps to the admin page for pages that represent a single object."
|
||||||
msgstr "వస్తువు"
|
msgstr ""
|
||||||
|
|
||||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:28
|
#: contrib/admin/templates/admin_doc/bookmarklets.html:28
|
||||||
msgid "Edit this object (new window)"
|
msgid "Edit this object (new window)"
|
||||||
msgstr "వస్తువు"
|
msgstr "వస్తువు ని మార్చండి(కొత్త విండొ) "
|
||||||
|
|
||||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:29
|
#: contrib/admin/templates/admin_doc/bookmarklets.html:29
|
||||||
msgid "As above, but opens the admin page in a new window."
|
msgid "As above, but opens the admin page in a new window."
|
||||||
@ -1197,7 +1197,7 @@ msgstr "నమొదు చేయటము అవసరం"
|
|||||||
|
|
||||||
#: contrib/flatpages/models.py:14
|
#: contrib/flatpages/models.py:14
|
||||||
msgid "If this is checked, only logged-in users will be able to view the page."
|
msgid "If this is checked, only logged-in users will be able to view the page."
|
||||||
msgstr "ఇది చెక్ చేసి ఉంటే కేవలం లాగ్గడ్ ఇన్ యూఙర్లు పేఙి చూడలేస్తారు"
|
msgstr "ఇది చెక్ చేసి ఉంటే కేవలం లాగ్గడ్ ఇన్ యూజర్లు పేజి చూడలేస్తారు"
|
||||||
|
|
||||||
#: contrib/flatpages/models.py:18
|
#: contrib/flatpages/models.py:18
|
||||||
msgid "flat page"
|
msgid "flat page"
|
||||||
@ -1237,7 +1237,7 @@ msgstr "గుంపులు"
|
|||||||
|
|
||||||
#: contrib/auth/models.py:90
|
#: contrib/auth/models.py:90
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr "యూఙర్ పేరు"
|
msgstr "యూజర్ పేరు"
|
||||||
|
|
||||||
#: contrib/auth/models.py:90
|
#: contrib/auth/models.py:90
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -1309,15 +1309,15 @@ msgstr ""
|
|||||||
|
|
||||||
#: contrib/auth/models.py:102
|
#: contrib/auth/models.py:102
|
||||||
msgid "user permissions"
|
msgid "user permissions"
|
||||||
msgstr "యూఙర్ అనుమతులు"
|
msgstr "యూజర్ అనుమతులు"
|
||||||
|
|
||||||
#: contrib/auth/models.py:105
|
#: contrib/auth/models.py:105
|
||||||
msgid "user"
|
msgid "user"
|
||||||
msgstr "యూఙర్"
|
msgstr "యూజర్"
|
||||||
|
|
||||||
#: contrib/auth/models.py:106
|
#: contrib/auth/models.py:106
|
||||||
msgid "users"
|
msgid "users"
|
||||||
msgstr "యూఙర్లు"
|
msgstr "యూజర్లు"
|
||||||
|
|
||||||
#: contrib/auth/models.py:111
|
#: contrib/auth/models.py:111
|
||||||
msgid "Personal info"
|
msgid "Personal info"
|
||||||
@ -1427,7 +1427,7 @@ msgstr "ఆదివారము"
|
|||||||
|
|
||||||
#: utils/dates.py:14
|
#: utils/dates.py:14
|
||||||
msgid "January"
|
msgid "January"
|
||||||
msgstr "ఙాన్వరి "
|
msgstr "జాన్వరి "
|
||||||
|
|
||||||
#: utils/dates.py:14
|
#: utils/dates.py:14
|
||||||
msgid "February"
|
msgid "February"
|
||||||
@ -1447,11 +1447,11 @@ msgstr "మే"
|
|||||||
|
|
||||||
#: utils/dates.py:14 utils/dates.py:27
|
#: utils/dates.py:14 utils/dates.py:27
|
||||||
msgid "June"
|
msgid "June"
|
||||||
msgstr "ఙూను"
|
msgstr "జూను"
|
||||||
|
|
||||||
#: utils/dates.py:15 utils/dates.py:27
|
#: utils/dates.py:15 utils/dates.py:27
|
||||||
msgid "July"
|
msgid "July"
|
||||||
msgstr "ఙులై"
|
msgstr "జులై"
|
||||||
|
|
||||||
#: utils/dates.py:15
|
#: utils/dates.py:15
|
||||||
msgid "August"
|
msgid "August"
|
||||||
@ -1475,7 +1475,7 @@ msgstr "డిసెంబర్"
|
|||||||
|
|
||||||
#: utils/dates.py:19
|
#: utils/dates.py:19
|
||||||
msgid "jan"
|
msgid "jan"
|
||||||
msgstr "ఙాన్"
|
msgstr "జాన్"
|
||||||
|
|
||||||
#: utils/dates.py:19
|
#: utils/dates.py:19
|
||||||
msgid "feb"
|
msgid "feb"
|
||||||
@ -1495,11 +1495,11 @@ msgstr "మే"
|
|||||||
|
|
||||||
#: utils/dates.py:19
|
#: utils/dates.py:19
|
||||||
msgid "jun"
|
msgid "jun"
|
||||||
msgstr "ఙూన్"
|
msgstr "జూన్"
|
||||||
|
|
||||||
#: utils/dates.py:20
|
#: utils/dates.py:20
|
||||||
msgid "jul"
|
msgid "jul"
|
||||||
msgstr "ఙుల్"
|
msgstr "జుల్"
|
||||||
|
|
||||||
#: utils/dates.py:20
|
#: utils/dates.py:20
|
||||||
msgid "aug"
|
msgid "aug"
|
||||||
@ -1523,7 +1523,7 @@ msgstr "డిస్"
|
|||||||
|
|
||||||
#: utils/dates.py:27
|
#: utils/dates.py:27
|
||||||
msgid "Jan."
|
msgid "Jan."
|
||||||
msgstr "ఙాన్"
|
msgstr "జాన్"
|
||||||
|
|
||||||
#: utils/dates.py:27
|
#: utils/dates.py:27
|
||||||
msgid "Feb."
|
msgid "Feb."
|
||||||
@ -1570,8 +1570,8 @@ msgstr[1] "వారాలు"
|
|||||||
#: utils/timesince.py:15
|
#: utils/timesince.py:15
|
||||||
msgid "day"
|
msgid "day"
|
||||||
msgid_plural "days"
|
msgid_plural "days"
|
||||||
msgstr[0] "రోఙు"
|
msgstr[0] "రోజు"
|
||||||
msgstr[1] "రోఙులు"
|
msgstr[1] "రోజులు"
|
||||||
|
|
||||||
#: utils/timesince.py:16
|
#: utils/timesince.py:16
|
||||||
msgid "hour"
|
msgid "hour"
|
||||||
@ -1615,7 +1615,7 @@ msgstr "బెంగాలి"
|
|||||||
|
|
||||||
#: conf/global_settings.py:41
|
#: conf/global_settings.py:41
|
||||||
msgid "Czech"
|
msgid "Czech"
|
||||||
msgstr "క్ఙెఖ్"
|
msgstr "క్జెఖ్"
|
||||||
|
|
||||||
#: conf/global_settings.py:42
|
#: conf/global_settings.py:42
|
||||||
msgid "Welsh"
|
msgid "Welsh"
|
||||||
@ -1627,7 +1627,7 @@ msgstr "డానిశ్"
|
|||||||
|
|
||||||
#: conf/global_settings.py:44
|
#: conf/global_settings.py:44
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "ఙెర్మన్"
|
msgstr "జెర్మన్"
|
||||||
|
|
||||||
#: conf/global_settings.py:45
|
#: conf/global_settings.py:45
|
||||||
msgid "Greek"
|
msgid "Greek"
|
||||||
@ -1643,7 +1643,7 @@ msgstr "స్పానిష్"
|
|||||||
|
|
||||||
#: conf/global_settings.py:48
|
#: conf/global_settings.py:48
|
||||||
msgid "Argentinean Spanish"
|
msgid "Argentinean Spanish"
|
||||||
msgstr "అర్ఙంటీనా స్పానిష్"
|
msgstr "అర్జంటీనా స్పానిష్"
|
||||||
|
|
||||||
#: conf/global_settings.py:49
|
#: conf/global_settings.py:49
|
||||||
msgid "Finnish"
|
msgid "Finnish"
|
||||||
@ -1675,7 +1675,7 @@ msgstr "ఇటాలియవ్"
|
|||||||
|
|
||||||
#: conf/global_settings.py:56
|
#: conf/global_settings.py:56
|
||||||
msgid "Japanese"
|
msgid "Japanese"
|
||||||
msgstr "ఙపనీస్"
|
msgstr "జపనీస్"
|
||||||
|
|
||||||
#: conf/global_settings.py:57
|
#: conf/global_settings.py:57
|
||||||
msgid "Dutch"
|
msgid "Dutch"
|
||||||
@ -1683,11 +1683,11 @@ msgstr "డట్చ్"
|
|||||||
|
|
||||||
#: conf/global_settings.py:58
|
#: conf/global_settings.py:58
|
||||||
msgid "Norwegian"
|
msgid "Norwegian"
|
||||||
msgstr "నార్వీఙియన్"
|
msgstr "నార్వీజియన్"
|
||||||
|
|
||||||
#: conf/global_settings.py:59
|
#: conf/global_settings.py:59
|
||||||
msgid "Brazilian"
|
msgid "Brazilian"
|
||||||
msgstr "బ్రఙీలియన్"
|
msgstr "బ్రజీలియన్"
|
||||||
|
|
||||||
#: conf/global_settings.py:60
|
#: conf/global_settings.py:60
|
||||||
msgid "Romanian"
|
msgid "Romanian"
|
||||||
@ -1865,7 +1865,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: core/validators.py:242
|
#: core/validators.py:242
|
||||||
msgid "Enter a valid U.S. state abbreviation."
|
msgid "Enter a valid U.S. state abbreviation."
|
||||||
msgstr "దయచేసి సరైన అగ్ర రాఙ్య సంక్షేపము చేసిన రాష్ట్రము పేరు ఇవ్వండి"
|
msgstr "దయచేసి సరైన అగ్ర రాజ్య సంక్షేపము చేసిన రాష్ట్రము పేరు ఇవ్వండి"
|
||||||
|
|
||||||
#: core/validators.py:256
|
#: core/validators.py:256
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -2004,12 +2004,12 @@ msgstr ""
|
|||||||
#: views/generic/create_update.py:43
|
#: views/generic/create_update.py:43
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(verbose_name)s was created successfully."
|
msgid "The %(verbose_name)s was created successfully."
|
||||||
msgstr "%(verbose_name)లు ఙయప్రదంగా తయారయింది"
|
msgstr "%(verbose_name)లు జయప్రదంగా తయారయింది"
|
||||||
|
|
||||||
#: views/generic/create_update.py:117
|
#: views/generic/create_update.py:117
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(verbose_name)s was updated successfully."
|
msgid "The %(verbose_name)s was updated successfully."
|
||||||
msgstr "%(verbose_name)లు ఙయప్రదంగా @@"
|
msgstr "%(verbose_name)లు జయప్రదంగా @@"
|
||||||
|
|
||||||
#: views/generic/create_update.py:184
|
#: views/generic/create_update.py:184
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -45,7 +45,7 @@ class Permission(models.Model):
|
|||||||
ordering = ('content_type', 'codename')
|
ordering = ('content_type', 'codename')
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "%s | %s" % (self.content_type, self.name)
|
return "%s | %s | %s" % (self.content_type.app_label, self.content_type, self.name)
|
||||||
|
|
||||||
class Group(models.Model):
|
class Group(models.Model):
|
||||||
"""Groups are a generic way of categorizing users to apply permissions, or some other label, to those users. A user can belong to any number of groups.
|
"""Groups are a generic way of categorizing users to apply permissions, or some other label, to those users. A user can belong to any number of groups.
|
||||||
|
@ -4,7 +4,7 @@ from django.contrib.sites.models import Site
|
|||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
class FlatPage(models.Model):
|
class FlatPage(models.Model):
|
||||||
url = models.CharField(_('URL'), maxlength=100, validator_list=[validators.isAlphaNumericURL],
|
url = models.CharField(_('URL'), maxlength=100, validator_list=[validators.isAlphaNumericURL], db_index=True,
|
||||||
help_text=_("Example: '/about/contact/'. Make sure to have leading and trailing slashes."))
|
help_text=_("Example: '/about/contact/'. Make sure to have leading and trailing slashes."))
|
||||||
title = models.CharField(_('title'), maxlength=200)
|
title = models.CharField(_('title'), maxlength=200)
|
||||||
content = models.TextField(_('content'))
|
content = models.TextField(_('content'))
|
||||||
|
@ -43,7 +43,7 @@ def intword(value):
|
|||||||
if value < 1000000:
|
if value < 1000000:
|
||||||
return value
|
return value
|
||||||
if value < 1000000000:
|
if value < 1000000000:
|
||||||
new_value = value / 1000000.0
|
new_value = value / 1000000.0
|
||||||
return ngettext('%(value).1f million', '%(value).1f million', new_value) % {'value': new_value}
|
return ngettext('%(value).1f million', '%(value).1f million', new_value) % {'value': new_value}
|
||||||
if value < 1000000000000:
|
if value < 1000000000000:
|
||||||
new_value = value / 1000000000.0
|
new_value = value / 1000000000.0
|
||||||
|
0
django/contrib/localflavor/fi/__init__.py
Normal file
0
django/contrib/localflavor/fi/__init__.py
Normal file
427
django/contrib/localflavor/fi/fi_municipalities.py
Normal file
427
django/contrib/localflavor/fi/fi_municipalities.py
Normal file
@ -0,0 +1,427 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
|
An alphabetical list of Finnish municipalities for use as `choices` in a
|
||||||
|
formfield.
|
||||||
|
|
||||||
|
This exists in this standalone file so that it's only imported into memory
|
||||||
|
when explicitly needed.
|
||||||
|
"""
|
||||||
|
|
||||||
|
MUNICIPALITY_CHOICES = (
|
||||||
|
('akaa', u"Akaa"),
|
||||||
|
('alaharma', u"Alahärmä"),
|
||||||
|
('alajarvi', u"Alajärvi"),
|
||||||
|
('alastaro', u"Alastaro"),
|
||||||
|
('alavieska', u"Alavieska"),
|
||||||
|
('alavus', u"Alavus"),
|
||||||
|
('anjalankoski', u"Anjalankoski"),
|
||||||
|
('artjarvi', u"Artjärvi"),
|
||||||
|
('asikkala', u"Asikkala"),
|
||||||
|
('askainen', u"Askainen"),
|
||||||
|
('askola', u"Askola"),
|
||||||
|
('aura', u"Aura"),
|
||||||
|
('brando', u"Brändö"),
|
||||||
|
('dragsfjard', u"Dragsfjärd"),
|
||||||
|
('eckero', u"Eckerö"),
|
||||||
|
('elimaki', u"Elimäki"),
|
||||||
|
('eno', u"Eno"),
|
||||||
|
('enonkoski', u"Enonkoski"),
|
||||||
|
('enontekio', u"Enontekiö"),
|
||||||
|
('espoo', u"Espoo"),
|
||||||
|
('eura', u"Eura"),
|
||||||
|
('eurajoki', u"Eurajoki"),
|
||||||
|
('evijarvi', u"Evijärvi"),
|
||||||
|
('finstrom', u"Finström"),
|
||||||
|
('forssa', u"Forssa"),
|
||||||
|
('foglo', u"Föglö"),
|
||||||
|
('geta', u"Geta"),
|
||||||
|
('haapajarvi', u"Haapajärvi"),
|
||||||
|
('haapavesi', u"Haapavesi"),
|
||||||
|
('hailuoto', u"Hailuoto"),
|
||||||
|
('halikko', u"Halikko"),
|
||||||
|
('halsua', u"Halsua"),
|
||||||
|
('hamina', u"Hamina"),
|
||||||
|
('hammarland', u"Hammarland"),
|
||||||
|
('hankasalmi', u"Hankasalmi"),
|
||||||
|
('hanko', u"Hanko"),
|
||||||
|
('harjavalta', u"Harjavalta"),
|
||||||
|
('hartola', u"Hartola"),
|
||||||
|
('hattula', u"Hattula"),
|
||||||
|
('hauho', u"Hauho"),
|
||||||
|
('haukipudas', u"Haukipudas"),
|
||||||
|
('hausjarvi', u"Hausjärvi"),
|
||||||
|
('heinola', u"Heinola"),
|
||||||
|
('heinavesi', u"Heinävesi"),
|
||||||
|
('helsinki', u"Helsinki"),
|
||||||
|
('himanka', u"Himanka"),
|
||||||
|
('hirvensalmi', u"Hirvensalmi"),
|
||||||
|
('hollola', u"Hollola"),
|
||||||
|
('honkajoki', u"Honkajoki"),
|
||||||
|
('houtskari', u"Houtskari"),
|
||||||
|
('huittinen', u"Huittinen"),
|
||||||
|
('humppila', u"Humppila"),
|
||||||
|
('hyrynsalmi', u"Hyrynsalmi"),
|
||||||
|
('hyvinkaa', u"Hyvinkää"),
|
||||||
|
('hameenkoski', u"Hämeenkoski"),
|
||||||
|
('hameenkyro', u"Hämeenkyrö"),
|
||||||
|
('hameenlinna', u"Hämeenlinna"),
|
||||||
|
('ii', u"Ii"),
|
||||||
|
('iisalmi', u"Iisalmi"),
|
||||||
|
('iitti', u"Iitti"),
|
||||||
|
('ikaalinen', u"Ikaalinen"),
|
||||||
|
('ilmajoki', u"Ilmajoki"),
|
||||||
|
('ilomantsi', u"Ilomantsi"),
|
||||||
|
('imatra', u"Imatra"),
|
||||||
|
('inari', u"Inari"),
|
||||||
|
('inio', u"Iniö"),
|
||||||
|
('inkoo', u"Inkoo"),
|
||||||
|
('isojoki', u"Isojoki"),
|
||||||
|
('isokyro', u"Isokyrö"),
|
||||||
|
('jaala', u"Jaala"),
|
||||||
|
('jalasjarvi', u"Jalasjärvi"),
|
||||||
|
('janakkala', u"Janakkala"),
|
||||||
|
('joensuu', u"Joensuu"),
|
||||||
|
('jokioinen', u"Jokioinen"),
|
||||||
|
('jomala', u"Jomala"),
|
||||||
|
('joroinen', u"Joroinen"),
|
||||||
|
('joutsa', u"Joutsa"),
|
||||||
|
('joutseno', u"Joutseno"),
|
||||||
|
('juankoski', u"Juankoski"),
|
||||||
|
('jurva', u"Jurva"),
|
||||||
|
('juuka', u"Juuka"),
|
||||||
|
('juupajoki', u"Juupajoki"),
|
||||||
|
('juva', u"Juva"),
|
||||||
|
('jyvaskyla', u"Jyväskylä"),
|
||||||
|
('jyvaskylan_mlk', u"Jyväskylän maalaiskunta"),
|
||||||
|
('jamijarvi', u"Jämijärvi"),
|
||||||
|
('jamsa', u"Jämsä"),
|
||||||
|
('jamsankoski', u"Jämsänkoski"),
|
||||||
|
('jarvenpaa', u"Järvenpää"),
|
||||||
|
('kaarina', u"Kaarina"),
|
||||||
|
('kaavi', u"Kaavi"),
|
||||||
|
('kajaani', u"Kajaani"),
|
||||||
|
('kalajoki', u"Kalajoki"),
|
||||||
|
('kalvola', u"Kalvola"),
|
||||||
|
('kangasala', u"Kangasala"),
|
||||||
|
('kangasniemi', u"Kangasniemi"),
|
||||||
|
('kankaanpaa', u"Kankaanpää"),
|
||||||
|
('kannonkoski', u"Kannonkoski"),
|
||||||
|
('kannus', u"Kannus"),
|
||||||
|
('karijoki', u"Karijoki"),
|
||||||
|
('karjaa', u"Karjaa"),
|
||||||
|
('karjalohja', u"Karjalohja"),
|
||||||
|
('karkkila', u"Karkkila"),
|
||||||
|
('karstula', u"Karstula"),
|
||||||
|
('karttula', u"Karttula"),
|
||||||
|
('karvia', u"Karvia"),
|
||||||
|
('kaskinen', u"Kaskinen"),
|
||||||
|
('kauhajoki', u"Kauhajoki"),
|
||||||
|
('kauhava', u"Kauhava"),
|
||||||
|
('kauniainen', u"Kauniainen"),
|
||||||
|
('kaustinen', u"Kaustinen"),
|
||||||
|
('keitele', u"Keitele"),
|
||||||
|
('kemi', u"Kemi"),
|
||||||
|
('kemijarvi', u"Kemijärvi"),
|
||||||
|
('keminmaa', u"Keminmaa"),
|
||||||
|
('kemio', u"Kemiö"),
|
||||||
|
('kempele', u"Kempele"),
|
||||||
|
('kerava', u"Kerava"),
|
||||||
|
('kerimaki', u"Kerimäki"),
|
||||||
|
('kestila', u"Kestilä"),
|
||||||
|
('kesalahti', u"Kesälahti"),
|
||||||
|
('keuruu', u"Keuruu"),
|
||||||
|
('kihnio', u"Kihniö"),
|
||||||
|
('kiikala', u"Kiikala"),
|
||||||
|
('kiikoinen', u"Kiikoinen"),
|
||||||
|
('kiiminki', u"Kiiminki"),
|
||||||
|
('kinnula', u"Kinnula"),
|
||||||
|
('kirkkonummi', u"Kirkkonummi"),
|
||||||
|
('kisko', u"Kisko"),
|
||||||
|
('kitee', u"Kitee"),
|
||||||
|
('kittila', u"Kittilä"),
|
||||||
|
('kiukainen', u"Kiukainen"),
|
||||||
|
('kiuruvesi', u"Kiuruvesi"),
|
||||||
|
('kivijarvi', u"Kivijärvi"),
|
||||||
|
('kokemaki', u"Kokemäki"),
|
||||||
|
('kokkola', u"Kokkola"),
|
||||||
|
('kolari', u"Kolari"),
|
||||||
|
('konnevesi', u"Konnevesi"),
|
||||||
|
('kontiolahti', u"Kontiolahti"),
|
||||||
|
('korpilahti', u"Korpilahti"),
|
||||||
|
('korppoo', u"Korppoo"),
|
||||||
|
('korsnas', u"Korsnäs"),
|
||||||
|
('kortesjarvi', u"Kortesjärvi"),
|
||||||
|
('koskitl', u"KoskiTl"),
|
||||||
|
('kotka', u"Kotka"),
|
||||||
|
('kouvola', u"Kouvola"),
|
||||||
|
('kristiinankaupunki', u"Kristiinankaupunki"),
|
||||||
|
('kruunupyy', u"Kruunupyy"),
|
||||||
|
('kuhmalahti', u"Kuhmalahti"),
|
||||||
|
('kuhmo', u"Kuhmo"),
|
||||||
|
('kuhmoinen', u"Kuhmoinen"),
|
||||||
|
('kumlinge', u"Kumlinge"),
|
||||||
|
('kuopio', u"Kuopio"),
|
||||||
|
('kuortane', u"Kuortane"),
|
||||||
|
('kurikka', u"Kurikka"),
|
||||||
|
('kuru', u"Kuru"),
|
||||||
|
('kustavi', u"Kustavi"),
|
||||||
|
('kuusamo', u"Kuusamo"),
|
||||||
|
('kuusankoski', u"Kuusankoski"),
|
||||||
|
('kuusjoki', u"Kuusjoki"),
|
||||||
|
('kylmakoski', u"Kylmäkoski"),
|
||||||
|
('kyyjarvi', u"Kyyjärvi"),
|
||||||
|
('kalvia', u"Kälviä"),
|
||||||
|
('karkola', u"Kärkölä"),
|
||||||
|
('karsamaki', u"Kärsämäki"),
|
||||||
|
('kokar', u"Kökar"),
|
||||||
|
('koylio', u"Köyliö"),
|
||||||
|
('lahti', u"Lahti"),
|
||||||
|
('laihia', u"Laihia"),
|
||||||
|
('laitila', u"Laitila"),
|
||||||
|
('lammi', u"Lammi"),
|
||||||
|
('lapinjarvi', u"Lapinjärvi"),
|
||||||
|
('lapinlahti', u"Lapinlahti"),
|
||||||
|
('lappajarvi', u"Lappajärvi"),
|
||||||
|
('lappeenranta', u"Lappeenranta"),
|
||||||
|
('lappi', u"Lappi"),
|
||||||
|
('lapua', u"Lapua"),
|
||||||
|
('laukaa', u"Laukaa"),
|
||||||
|
('lavia', u"Lavia"),
|
||||||
|
('lehtimaki', u"Lehtimäki"),
|
||||||
|
('leivonmaki', u"Leivonmäki"),
|
||||||
|
('lemi', u"Lemi"),
|
||||||
|
('lemland', u"Lemland"),
|
||||||
|
('lempaala', u"Lempäälä"),
|
||||||
|
('lemu', u"Lemu"),
|
||||||
|
('leppavirta', u"Leppävirta"),
|
||||||
|
('lestijarvi', u"Lestijärvi"),
|
||||||
|
('lieksa', u"Lieksa"),
|
||||||
|
('lieto', u"Lieto"),
|
||||||
|
('liljendal', u"Liljendal"),
|
||||||
|
('liminka', u"Liminka"),
|
||||||
|
('liperi', u"Liperi"),
|
||||||
|
('lohja', u"Lohja"),
|
||||||
|
('lohtaja', u"Lohtaja"),
|
||||||
|
('loimaa', u"Loimaa"),
|
||||||
|
('loppi', u"Loppi"),
|
||||||
|
('loviisa', u"Loviisa"),
|
||||||
|
('luhanka', u"Luhanka"),
|
||||||
|
('lumijoki', u"Lumijoki"),
|
||||||
|
('lumparland', u"Lumparland"),
|
||||||
|
('luoto', u"Luoto"),
|
||||||
|
('luumaki', u"Luumäki"),
|
||||||
|
('luvia', u"Luvia"),
|
||||||
|
('maalahti', u"Maalahti"),
|
||||||
|
('maaninka', u"Maaninka"),
|
||||||
|
('maarianhamina', u"Maarianhamina"),
|
||||||
|
('marttila', u"Marttila"),
|
||||||
|
('masku', u"Masku"),
|
||||||
|
('mellila', u"Mellilä"),
|
||||||
|
('merijarvi', u"Merijärvi"),
|
||||||
|
('merikarvia', u"Merikarvia"),
|
||||||
|
('merimasku', u"Merimasku"),
|
||||||
|
('miehikkala', u"Miehikkälä"),
|
||||||
|
('mikkeli', u"Mikkeli"),
|
||||||
|
('mouhijarvi', u"Mouhijärvi"),
|
||||||
|
('muhos', u"Muhos"),
|
||||||
|
('multia', u"Multia"),
|
||||||
|
('muonio', u"Muonio"),
|
||||||
|
('mustasaari', u"Mustasaari"),
|
||||||
|
('muurame', u"Muurame"),
|
||||||
|
('muurla', u"Muurla"),
|
||||||
|
('mynamaki', u"Mynämäki"),
|
||||||
|
('myrskyla', u"Myrskylä"),
|
||||||
|
('mantsala', u"Mäntsälä"),
|
||||||
|
('mantta', u"Mänttä"),
|
||||||
|
('mantyharju', u"Mäntyharju"),
|
||||||
|
('naantali', u"Naantali"),
|
||||||
|
('nakkila', u"Nakkila"),
|
||||||
|
('nastola', u"Nastola"),
|
||||||
|
('nauvo', u"Nauvo"),
|
||||||
|
('nilsia', u"Nilsiä"),
|
||||||
|
('nivala', u"Nivala"),
|
||||||
|
('nokia', u"Nokia"),
|
||||||
|
('noormarkku', u"Noormarkku"),
|
||||||
|
('nousiainen', u"Nousiainen"),
|
||||||
|
('nummi-pusula', u"Nummi-Pusula"),
|
||||||
|
('nurmes', u"Nurmes"),
|
||||||
|
('nurmijarvi', u"Nurmijärvi"),
|
||||||
|
('nurmo', u"Nurmo"),
|
||||||
|
('narpio', u"Närpiö"),
|
||||||
|
('oravainen', u"Oravainen"),
|
||||||
|
('orimattila', u"Orimattila"),
|
||||||
|
('oripaa', u"Oripää"),
|
||||||
|
('orivesi', u"Orivesi"),
|
||||||
|
('oulainen', u"Oulainen"),
|
||||||
|
('oulu', u"Oulu"),
|
||||||
|
('oulunsalo', u"Oulunsalo"),
|
||||||
|
('outokumpu', u"Outokumpu"),
|
||||||
|
('padasjoki', u"Padasjoki"),
|
||||||
|
('paimio', u"Paimio"),
|
||||||
|
('paltamo', u"Paltamo"),
|
||||||
|
('parainen', u"Parainen"),
|
||||||
|
('parikkala', u"Parikkala"),
|
||||||
|
('parkano', u"Parkano"),
|
||||||
|
('pedersore', u"Pedersöre"),
|
||||||
|
('pelkosenniemi', u"Pelkosenniemi"),
|
||||||
|
('pello', u"Pello"),
|
||||||
|
('perho', u"Perho"),
|
||||||
|
('pernaja', u"Pernaja"),
|
||||||
|
('pernio', u"Perniö"),
|
||||||
|
('pertteli', u"Pertteli"),
|
||||||
|
('pertunmaa', u"Pertunmaa"),
|
||||||
|
('petajavesi', u"Petäjävesi"),
|
||||||
|
('pieksamaki', u"Pieksämäki"),
|
||||||
|
('pielavesi', u"Pielavesi"),
|
||||||
|
('pietarsaari', u"Pietarsaari"),
|
||||||
|
('pihtipudas', u"Pihtipudas"),
|
||||||
|
('piikkio', u"Piikkiö"),
|
||||||
|
('piippola', u"Piippola"),
|
||||||
|
('pirkkala', u"Pirkkala"),
|
||||||
|
('pohja', u"Pohja"),
|
||||||
|
('polvijarvi', u"Polvijärvi"),
|
||||||
|
('pomarkku', u"Pomarkku"),
|
||||||
|
('pori', u"Pori"),
|
||||||
|
('pornainen', u"Pornainen"),
|
||||||
|
('porvoo', u"Porvoo"),
|
||||||
|
('posio', u"Posio"),
|
||||||
|
('pudasjarvi', u"Pudasjärvi"),
|
||||||
|
('pukkila', u"Pukkila"),
|
||||||
|
('pulkkila', u"Pulkkila"),
|
||||||
|
('punkaharju', u"Punkaharju"),
|
||||||
|
('punkalaidun', u"Punkalaidun"),
|
||||||
|
('puolanka', u"Puolanka"),
|
||||||
|
('puumala', u"Puumala"),
|
||||||
|
('pyhtaa', u"Pyhtää"),
|
||||||
|
('pyhajoki', u"Pyhäjoki"),
|
||||||
|
('pyhajarvi', u"Pyhäjärvi"),
|
||||||
|
('pyhanta', u"Pyhäntä"),
|
||||||
|
('pyharanta', u"Pyhäranta"),
|
||||||
|
('pyhaselka', u"Pyhäselkä"),
|
||||||
|
('pylkonmaki', u"Pylkönmäki"),
|
||||||
|
('palkane', u"Pälkäne"),
|
||||||
|
('poytya', u"Pöytyä"),
|
||||||
|
('raahe', u"Raahe"),
|
||||||
|
('raisio', u"Raisio"),
|
||||||
|
('rantasalmi', u"Rantasalmi"),
|
||||||
|
('rantsila', u"Rantsila"),
|
||||||
|
('ranua', u"Ranua"),
|
||||||
|
('rauma', u"Rauma"),
|
||||||
|
('rautalampi', u"Rautalampi"),
|
||||||
|
('rautavaara', u"Rautavaara"),
|
||||||
|
('rautjarvi', u"Rautjärvi"),
|
||||||
|
('reisjarvi', u"Reisjärvi"),
|
||||||
|
('renko', u"Renko"),
|
||||||
|
('riihimaki', u"Riihimäki"),
|
||||||
|
('ristiina', u"Ristiina"),
|
||||||
|
('ristijarvi', u"Ristijärvi"),
|
||||||
|
('rovaniemi', u"Rovaniemi"),
|
||||||
|
('ruokolahti', u"Ruokolahti"),
|
||||||
|
('ruotsinpyhtaa', u"Ruotsinpyhtää"),
|
||||||
|
('ruovesi', u"Ruovesi"),
|
||||||
|
('rusko', u"Rusko"),
|
||||||
|
('rymattyla', u"Rymättylä"),
|
||||||
|
('raakkyla', u"Rääkkylä"),
|
||||||
|
('saarijarvi', u"Saarijärvi"),
|
||||||
|
('salla', u"Salla"),
|
||||||
|
('salo', u"Salo"),
|
||||||
|
('saltvik', u"Saltvik"),
|
||||||
|
('sammatti', u"Sammatti"),
|
||||||
|
('sauvo', u"Sauvo"),
|
||||||
|
('savitaipale', u"Savitaipale"),
|
||||||
|
('savonlinna', u"Savonlinna"),
|
||||||
|
('savonranta', u"Savonranta"),
|
||||||
|
('savukoski', u"Savukoski"),
|
||||||
|
('seinajoki', u"Seinäjoki"),
|
||||||
|
('sievi', u"Sievi"),
|
||||||
|
('siikainen', u"Siikainen"),
|
||||||
|
('siikajoki', u"Siikajoki"),
|
||||||
|
('siilinjarvi', u"Siilinjärvi"),
|
||||||
|
('simo', u"Simo"),
|
||||||
|
('sipoo', u"Sipoo"),
|
||||||
|
('siuntio', u"Siuntio"),
|
||||||
|
('sodankyla', u"Sodankylä"),
|
||||||
|
('soini', u"Soini"),
|
||||||
|
('somero', u"Somero"),
|
||||||
|
('sonkajarvi', u"Sonkajärvi"),
|
||||||
|
('sotkamo', u"Sotkamo"),
|
||||||
|
('sottunga', u"Sottunga"),
|
||||||
|
('sulkava', u"Sulkava"),
|
||||||
|
('sund', u"Sund"),
|
||||||
|
('suomenniemi', u"Suomenniemi"),
|
||||||
|
('suomusjarvi', u"Suomusjärvi"),
|
||||||
|
('suomussalmi', u"Suomussalmi"),
|
||||||
|
('suonenjoki', u"Suonenjoki"),
|
||||||
|
('sysma', u"Sysmä"),
|
||||||
|
('sakyla', u"Säkylä"),
|
||||||
|
('sarkisalo', u"Särkisalo"),
|
||||||
|
('taipalsaari', u"Taipalsaari"),
|
||||||
|
('taivalkoski', u"Taivalkoski"),
|
||||||
|
('taivassalo', u"Taivassalo"),
|
||||||
|
('tammela', u"Tammela"),
|
||||||
|
('tammisaari', u"Tammisaari"),
|
||||||
|
('tampere', u"Tampere"),
|
||||||
|
('tarvasjoki', u"Tarvasjoki"),
|
||||||
|
('tervo', u"Tervo"),
|
||||||
|
('tervola', u"Tervola"),
|
||||||
|
('teuva', u"Teuva"),
|
||||||
|
('tohmajarvi', u"Tohmajärvi"),
|
||||||
|
('toholampi', u"Toholampi"),
|
||||||
|
('toivakka', u"Toivakka"),
|
||||||
|
('tornio', u"Tornio"),
|
||||||
|
('turku', u"Turku"),
|
||||||
|
('tuulos', u"Tuulos"),
|
||||||
|
('tuusniemi', u"Tuusniemi"),
|
||||||
|
('tuusula', u"Tuusula"),
|
||||||
|
('tyrnava', u"Tyrnävä"),
|
||||||
|
('toysa', u"Töysä"),
|
||||||
|
('ullava', u"Ullava"),
|
||||||
|
('ulvila', u"Ulvila"),
|
||||||
|
('urjala', u"Urjala"),
|
||||||
|
('utajarvi', u"Utajärvi"),
|
||||||
|
('utsjoki', u"Utsjoki"),
|
||||||
|
('uurainen', u"Uurainen"),
|
||||||
|
('uusikaarlepyy', u"Uusikaarlepyy"),
|
||||||
|
('uusikaupunki', u"Uusikaupunki"),
|
||||||
|
('vaala', u"Vaala"),
|
||||||
|
('vaasa', u"Vaasa"),
|
||||||
|
('vahto', u"Vahto"),
|
||||||
|
('valkeakoski', u"Valkeakoski"),
|
||||||
|
('valkeala', u"Valkeala"),
|
||||||
|
('valtimo', u"Valtimo"),
|
||||||
|
('vammala', u"Vammala"),
|
||||||
|
('vampula', u"Vampula"),
|
||||||
|
('vantaa', u"Vantaa"),
|
||||||
|
('varkaus', u"Varkaus"),
|
||||||
|
('varpaisjarvi', u"Varpaisjärvi"),
|
||||||
|
('vehmaa', u"Vehmaa"),
|
||||||
|
('velkua', u"Velkua"),
|
||||||
|
('vesanto', u"Vesanto"),
|
||||||
|
('vesilahti', u"Vesilahti"),
|
||||||
|
('veteli', u"Veteli"),
|
||||||
|
('vierema', u"Vieremä"),
|
||||||
|
('vihanti', u"Vihanti"),
|
||||||
|
('vihti', u"Vihti"),
|
||||||
|
('viitasaari', u"Viitasaari"),
|
||||||
|
('vilppula', u"Vilppula"),
|
||||||
|
('vimpeli', u"Vimpeli"),
|
||||||
|
('virolahti', u"Virolahti"),
|
||||||
|
('virrat', u"Virrat"),
|
||||||
|
('vardo', u"Vårdö"),
|
||||||
|
('vahakyro', u"Vähäkyrö"),
|
||||||
|
('vastanfjard', u"Västanfjärd"),
|
||||||
|
('voyri-maksamaa', u"Vöyri-Maksamaa"),
|
||||||
|
('yliharma', u"Ylihärmä"),
|
||||||
|
('yli-ii', u"Yli-Ii"),
|
||||||
|
('ylikiiminki', u"Ylikiiminki"),
|
||||||
|
('ylistaro', u"Ylistaro"),
|
||||||
|
('ylitornio', u"Ylitornio"),
|
||||||
|
('ylivieska', u"Ylivieska"),
|
||||||
|
('ylamaa', u"Ylämaa"),
|
||||||
|
('ylane', u"Yläne"),
|
||||||
|
('ylojarvi', u"Ylöjärvi"),
|
||||||
|
('ypaja', u"Ypäjä"),
|
||||||
|
('aetsa', u"Äetsä"),
|
||||||
|
('ahtari', u"Ähtäri"),
|
||||||
|
('aanekoski', u"Äänekoski")
|
||||||
|
)
|
47
django/contrib/localflavor/fi/forms.py
Normal file
47
django/contrib/localflavor/fi/forms.py
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
"""
|
||||||
|
FI-specific Form helpers
|
||||||
|
"""
|
||||||
|
|
||||||
|
import re
|
||||||
|
from django.newforms import ValidationError
|
||||||
|
from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES
|
||||||
|
from django.utils.translation import gettext
|
||||||
|
|
||||||
|
class FIZipCodeField(RegexField):
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(FIZipCodeField, self).__init__(r'^\d{5}$',
|
||||||
|
max_length=None, min_length=None,
|
||||||
|
error_message=gettext(u'Enter a zip code in the format XXXXX.'),
|
||||||
|
*args, **kwargs)
|
||||||
|
|
||||||
|
class FIMunicipalitySelect(Select):
|
||||||
|
"""
|
||||||
|
A Select widget that uses a list of Finnish municipalities as its choices.
|
||||||
|
"""
|
||||||
|
def __init__(self, attrs=None):
|
||||||
|
from fi_municipalities import MUNICIPALITY_CHOICES # relative import
|
||||||
|
super(FIMunicipalitySelect, self).__init__(attrs, choices=MUNICIPALITY_CHOICES)
|
||||||
|
|
||||||
|
class FISocialSecurityNumber(Field):
|
||||||
|
def clean(self, value):
|
||||||
|
super(FISocialSecurityNumber, self).clean(value)
|
||||||
|
if value in EMPTY_VALUES:
|
||||||
|
return u''
|
||||||
|
|
||||||
|
checkmarks = "0123456789ABCDEFHJKLMNPRSTUVWXY"
|
||||||
|
result = re.match(r"""^
|
||||||
|
(?P<date>([0-2]\d|3[01])
|
||||||
|
(0\d|1[012])
|
||||||
|
(\d{2}))
|
||||||
|
[A+-]
|
||||||
|
(?P<serial>(\d{3}))
|
||||||
|
(?P<chechsum>[%s])$""" % checkmarks, value, re.VERBOSE | re.IGNORECASE)
|
||||||
|
if not result:
|
||||||
|
raise ValidationError(gettext(u'Enter a valid Finnish social security number.'))
|
||||||
|
checksum = int(result.groupdict()['date'] + result.groupdict()['serial'])
|
||||||
|
|
||||||
|
if checkmarks[checksum % len(checkmarks)] == result.groupdict()['chechsum'].upper():
|
||||||
|
return u'%s' % value.upper()
|
||||||
|
|
||||||
|
raise ValidationError(gettext(u'Enter a valid Finnish social security number.'))
|
||||||
|
|
0
django/contrib/localflavor/fr/__init__.py
Normal file
0
django/contrib/localflavor/fr/__init__.py
Normal file
44
django/contrib/localflavor/fr/forms.py
Normal file
44
django/contrib/localflavor/fr/forms.py
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
"""
|
||||||
|
FR-specific Form helpers
|
||||||
|
"""
|
||||||
|
|
||||||
|
from django.newforms import ValidationError
|
||||||
|
from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES
|
||||||
|
from django.newforms.util import smart_unicode
|
||||||
|
from django.utils.translation import gettext
|
||||||
|
import re
|
||||||
|
|
||||||
|
phone_digits_re = re.compile(r'^0\d(\s|\.)?(\d{2}(\s|\.)?){3}\d{2}$')
|
||||||
|
|
||||||
|
class FRZipCodeField(RegexField):
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(FRZipCodeField, self).__init__(r'^\d{5}$',
|
||||||
|
max_length=None, min_length=None,
|
||||||
|
error_message=gettext(u'Enter a zip code in the format XXXXX.'),
|
||||||
|
*args, **kwargs)
|
||||||
|
|
||||||
|
class FRPhoneNumberField(Field):
|
||||||
|
"""
|
||||||
|
Validate local French phone number (not international ones)
|
||||||
|
The correct format is '0X XX XX XX XX'.
|
||||||
|
'0X.XX.XX.XX.XX' and '0XXXXXXXXX' validate but are corrected to
|
||||||
|
'0X XX XX XX XX'.
|
||||||
|
"""
|
||||||
|
def clean(self, value):
|
||||||
|
super(FRPhoneNumberField, self).clean(value)
|
||||||
|
if value in EMPTY_VALUES:
|
||||||
|
return u''
|
||||||
|
value = re.sub('(\.|\s)', '', smart_unicode(value))
|
||||||
|
m = phone_digits_re.search(value)
|
||||||
|
if m:
|
||||||
|
return u'%s %s %s %s %s' % (value[0:2], value[2:4], value[4:6], value[6:8], value[8:10])
|
||||||
|
raise ValidationError(u'Phone numbers must be in 0X XX XX XX XX format.')
|
||||||
|
|
||||||
|
class FRDepartmentSelect(Select):
|
||||||
|
"""
|
||||||
|
A Select widget that uses a list of FR departments as its choices.
|
||||||
|
"""
|
||||||
|
def __init__(self, attrs=None):
|
||||||
|
from fr_department import DEPARTMENT_ASCII_CHOICES # relative import
|
||||||
|
super(FRDepartmentSelect, self).__init__(attrs, choices=DEPARTMENT_ASCII_CHOICES)
|
||||||
|
|
112
django/contrib/localflavor/fr/fr_department.py
Normal file
112
django/contrib/localflavor/fr/fr_department.py
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
DEPARTMENT_ASCII_CHOICES = (
|
||||||
|
('01', '01 - Ain'),
|
||||||
|
('02', '02 - Aisne'),
|
||||||
|
('03', '03 - Allier'),
|
||||||
|
('04', '04 - Alpes-de-Haute-Provence'),
|
||||||
|
('05', '05 - Hautes-Alpes'),
|
||||||
|
('06', '06 - Alpes-Maritimes'),
|
||||||
|
('07', '07 - Ardeche'),
|
||||||
|
('08', '08 - Ardennes'),
|
||||||
|
('09', '09 - Ariege'),
|
||||||
|
('10', '10 - Aube'),
|
||||||
|
('11', '11 - Aude'),
|
||||||
|
('12', '12 - Aveyron'),
|
||||||
|
('13', '13 - Bouches-du-Rhone'),
|
||||||
|
('14', '14 - Calvados'),
|
||||||
|
('15', '15 - Cantal'),
|
||||||
|
('16', '16 - Charente'),
|
||||||
|
('17', '17 - Charente-Maritime'),
|
||||||
|
('18', '18 - Cher'),
|
||||||
|
('19', '19 - Correze'),
|
||||||
|
('21', '21 - Cote-d\'Or'),
|
||||||
|
('22', '22 - Cotes-d\'Armor'),
|
||||||
|
('23', '23 - Creuse'),
|
||||||
|
('24', '24 - Dordogne'),
|
||||||
|
('25', '25 - Doubs'),
|
||||||
|
('26', '26 - Drome'),
|
||||||
|
('27', '27 - Eure'),
|
||||||
|
('28', '28 - Eure-et-Loire'),
|
||||||
|
('29', '29 - Finistere'),
|
||||||
|
('2A', '2A - Corse-du-Sud'),
|
||||||
|
('2B', '2B - Haute-Corse'),
|
||||||
|
('30', '30 - Gard'),
|
||||||
|
('31', '31 - Haute-Garonne'),
|
||||||
|
('32', '32 - Gers'),
|
||||||
|
('33', '33 - Gironde'),
|
||||||
|
('34', '34 - Herault'),
|
||||||
|
('35', '35 - Ille-et-Vilaine'),
|
||||||
|
('36', '36 - Indre'),
|
||||||
|
('37', '37 - Indre-et-Loire'),
|
||||||
|
('38', '38 - Isere'),
|
||||||
|
('39', '39 - Jura'),
|
||||||
|
('40', '40 - Landes'),
|
||||||
|
('41', '41 - Loir-et-Cher'),
|
||||||
|
('42', '42 - Loire'),
|
||||||
|
('43', '43 - Haute-Loire'),
|
||||||
|
('44', '44 - Loire-Atlantique'),
|
||||||
|
('45', '45 - Loiret'),
|
||||||
|
('46', '46 - Lot'),
|
||||||
|
('47', '47 - Lot-et-Garonne'),
|
||||||
|
('48', '48 - Lozere'),
|
||||||
|
('49', '49 - Maine-et-Loire'),
|
||||||
|
('50', '50 - Manche'),
|
||||||
|
('51', '51 - Marne'),
|
||||||
|
('52', '52 - Haute-Marne'),
|
||||||
|
('53', '53 - Mayenne'),
|
||||||
|
('54', '54 - Meurthe-et-Moselle'),
|
||||||
|
('55', '55 - Meuse'),
|
||||||
|
('56', '56 - Morbihan'),
|
||||||
|
('57', '57 - Moselle'),
|
||||||
|
('58', '58 - Nievre'),
|
||||||
|
('59', '59 - Nord'),
|
||||||
|
('60', '60 - Oise'),
|
||||||
|
('61', '61 - Orne'),
|
||||||
|
('62', '62 - Pas-de-Calais'),
|
||||||
|
('63', '63 - Puy-de-Dome'),
|
||||||
|
('64', '64 - Pyrenees-Atlantiques'),
|
||||||
|
('65', '65 - Hautes-Pyrenees'),
|
||||||
|
('66', '66 - Pyrenees-Orientales'),
|
||||||
|
('67', '67 - Bas-Rhin'),
|
||||||
|
('68', '68 - Haut-Rhin'),
|
||||||
|
('69', '69 - Rhone'),
|
||||||
|
('70', '70 - Haute-Saone'),
|
||||||
|
('71', '71 - Saone-et-Loire'),
|
||||||
|
('72', '72 - Sarthe'),
|
||||||
|
('73', '73 - Savoie'),
|
||||||
|
('74', '74 - Haute-Savoie'),
|
||||||
|
('75', '75 - Paris'),
|
||||||
|
('76', '76 - Seine-Maritime'),
|
||||||
|
('77', '77 - Seine-et-Marne'),
|
||||||
|
('78', '78 - Yvelines'),
|
||||||
|
('79', '79 - Deux-Sevres'),
|
||||||
|
('80', '80 - Somme'),
|
||||||
|
('81', '81 - Tarn'),
|
||||||
|
('82', '82 - Tarn-et-Garonne'),
|
||||||
|
('83', '83 - Var'),
|
||||||
|
('84', '84 - Vaucluse'),
|
||||||
|
('85', '85 - Vendee'),
|
||||||
|
('86', '86 - Vienne'),
|
||||||
|
('87', '87 - Haute-Vienne'),
|
||||||
|
('88', '88 - Vosges'),
|
||||||
|
('89', '89 - Yonne'),
|
||||||
|
('90', '90 - Territoire de Belfort'),
|
||||||
|
('91', '91 - Essonne'),
|
||||||
|
('92', '92 - Hauts-de-Seine'),
|
||||||
|
('93', '93 - Seine-Saint-Denis'),
|
||||||
|
('94', '94 - Val-de-Marne'),
|
||||||
|
('95', '95 - Val-d\'Oise'),
|
||||||
|
('2A', '2A - Corse du sud'),
|
||||||
|
('2B', '2B - Haute Corse'),
|
||||||
|
('971', '971 - Guadeloupe'),
|
||||||
|
('972', '972 - Martinique'),
|
||||||
|
('973', '973 - Guyane'),
|
||||||
|
('974', '974 - La Reunion'),
|
||||||
|
('975', '975 - Saint-Pierre-et-Miquelon'),
|
||||||
|
('976', '976 - Mayotte'),
|
||||||
|
('984', '984 - Terres Australes et Antarctiques'),
|
||||||
|
('986', '986 - Wallis et Futuna'),
|
||||||
|
('987', '987 - Polynesie Francaise'),
|
||||||
|
('988', '988 - Nouvelle-Caledonie'),
|
||||||
|
)
|
0
django/contrib/localflavor/it/__init__.py
Normal file
0
django/contrib/localflavor/it/__init__.py
Normal file
32
django/contrib/localflavor/it/forms.py
Normal file
32
django/contrib/localflavor/it/forms.py
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
"""
|
||||||
|
IT-specific Form helpers
|
||||||
|
"""
|
||||||
|
|
||||||
|
from django.newforms import ValidationError
|
||||||
|
from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES
|
||||||
|
from django.newforms.util import smart_unicode
|
||||||
|
from django.utils.translation import gettext
|
||||||
|
import re
|
||||||
|
|
||||||
|
class ITZipCodeField(RegexField):
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(ITZipCodeField, self).__init__(r'^\d{5}$',
|
||||||
|
max_length=None, min_length=None,
|
||||||
|
error_message=gettext(u'Enter a zip code in the format XXXXX.'),
|
||||||
|
*args, **kwargs)
|
||||||
|
|
||||||
|
class ITRegionSelect(Select):
|
||||||
|
"""
|
||||||
|
A Select widget that uses a list of IT regions as its choices.
|
||||||
|
"""
|
||||||
|
def __init__(self, attrs=None):
|
||||||
|
from it_region import REGION_CHOICES # relative import
|
||||||
|
super(ITRegionSelect, self).__init__(attrs, choices=REGION_CHOICES)
|
||||||
|
|
||||||
|
class ITProvinceSelect(Select):
|
||||||
|
"""
|
||||||
|
A Select widget that uses a list of IT regions as its choices.
|
||||||
|
"""
|
||||||
|
def __init__(self, attrs=None):
|
||||||
|
from it_province import PROVINCE_CHOICES # relative import
|
||||||
|
super(ITProvinceSelect, self).__init__(attrs, choices=PROVINCE_CHOICES)
|
114
django/contrib/localflavor/it/it_province.py
Normal file
114
django/contrib/localflavor/it/it_province.py
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
# -*- coding: utf-8 -*
|
||||||
|
|
||||||
|
PROVINCE_CHOICES = (
|
||||||
|
('AG', 'Agrigento'),
|
||||||
|
('AL', 'Alessandria'),
|
||||||
|
('AN', 'Ancona'),
|
||||||
|
('AO', 'Aosta'),
|
||||||
|
('AR', 'Arezzo'),
|
||||||
|
('AP', 'Ascoli Piceno'),
|
||||||
|
('AT', 'Asti'),
|
||||||
|
('AV', 'Avellino'),
|
||||||
|
('BA', 'Bari'),
|
||||||
|
# ('BT', 'Barletta-Andria-Trani'), # active starting from 2009
|
||||||
|
('BL', 'Belluno'),
|
||||||
|
('BN', 'Benevento'),
|
||||||
|
('BG', 'Bergamo'),
|
||||||
|
('BI', 'Biella'),
|
||||||
|
('BO', 'Bologna'),
|
||||||
|
('BZ', 'Bolzano/Bozen'),
|
||||||
|
('BS', 'Brescia'),
|
||||||
|
('BR', 'Brindisi'),
|
||||||
|
('CA', 'Cagliari'),
|
||||||
|
('CL', 'Caltanissetta'),
|
||||||
|
('CB', 'Campobasso'),
|
||||||
|
('CI', 'Carbonia-Iglesias'),
|
||||||
|
('CE', 'Caserta'),
|
||||||
|
('CT', 'Catania'),
|
||||||
|
('CZ', 'Catanzaro'),
|
||||||
|
('CH', 'Chieti'),
|
||||||
|
('CO', 'Como'),
|
||||||
|
('CS', 'Cosenza'),
|
||||||
|
('CR', 'Cremona'),
|
||||||
|
('KR', 'Crotone'),
|
||||||
|
('CN', 'Cuneo'),
|
||||||
|
('EN', 'Enna'),
|
||||||
|
# ('FM', 'Fermo'), # active starting from 2009
|
||||||
|
('FE', 'Ferrara'),
|
||||||
|
('FI', 'Firenze'),
|
||||||
|
('FG', 'Foggia'),
|
||||||
|
('FC', 'Forlì-Cesena'),
|
||||||
|
('FR', 'Frosinone'),
|
||||||
|
('GE', 'Genova'),
|
||||||
|
('GO', 'Gorizia'),
|
||||||
|
('GR', 'Grosseto'),
|
||||||
|
('IM', 'Imperia'),
|
||||||
|
('IS', 'Isernia'),
|
||||||
|
('SP', 'La Spezia'),
|
||||||
|
('AQ', u'L’Acquila'),
|
||||||
|
('LT', 'Latina'),
|
||||||
|
('LE', 'Lecce'),
|
||||||
|
('LC', 'Lecco'),
|
||||||
|
('LI', 'Livorno'),
|
||||||
|
('LO', 'Lodi'),
|
||||||
|
('LU', 'Lucca'),
|
||||||
|
('MC', 'Macerata'),
|
||||||
|
('MN', 'Mantova'),
|
||||||
|
('MS', 'Massa-Carrara'),
|
||||||
|
('MT', 'Matera'),
|
||||||
|
('VS', 'Medio Campidano'),
|
||||||
|
('ME', 'Messina'),
|
||||||
|
('MI', 'Milano'),
|
||||||
|
('MO', 'Modena'),
|
||||||
|
# ('MB', 'Monza e Brianza'), # active starting from 2009
|
||||||
|
('NA', 'Napoli'),
|
||||||
|
('NO', 'Novara'),
|
||||||
|
('NU', 'Nuoro'),
|
||||||
|
('OG', 'Ogliastra'),
|
||||||
|
('OT', 'Olbia-Tempio'),
|
||||||
|
('OR', 'Oristano'),
|
||||||
|
('PD', 'Padova'),
|
||||||
|
('PA', 'Palermo'),
|
||||||
|
('PR', 'Parma'),
|
||||||
|
('PV', 'Pavia'),
|
||||||
|
('PG', 'Perugia'),
|
||||||
|
('PU', 'Pesaro e Urbino'),
|
||||||
|
('PE', 'Pescara'),
|
||||||
|
('PC', 'Piacenza'),
|
||||||
|
('PI', 'Pisa'),
|
||||||
|
('PT', 'Pistoia'),
|
||||||
|
('PN', 'Pordenone'),
|
||||||
|
('PZ', 'Potenza'),
|
||||||
|
('PO', 'Prato'),
|
||||||
|
('RG', 'Ragusa'),
|
||||||
|
('RA', 'Ravenna'),
|
||||||
|
('RC', 'Reggio Calabria'),
|
||||||
|
('RE', 'Reggio Emilia'),
|
||||||
|
('RI', 'Rieti'),
|
||||||
|
('RN', 'Rimini')
|
||||||
|
('RM', 'Roma'),
|
||||||
|
('RO', 'Rovigo'),
|
||||||
|
('SA', 'Salerno'),
|
||||||
|
('SS', 'Sassari'),
|
||||||
|
('SV', 'Savona'),
|
||||||
|
('SI', 'Siena'),
|
||||||
|
('SR', 'Siracusa'),
|
||||||
|
('SO', 'Sondrio'),
|
||||||
|
('TA', 'Taranto'),
|
||||||
|
('TE', 'Teramo'),
|
||||||
|
('TR', 'Terni'),
|
||||||
|
('TO', 'Torino'),
|
||||||
|
('TP', 'Trapani'),
|
||||||
|
('TN', 'Trento'),
|
||||||
|
('TV', 'Treviso'),
|
||||||
|
('TS', 'Trieste'),
|
||||||
|
('UD', 'Udine'),
|
||||||
|
('VA', 'Varese'),
|
||||||
|
('VE', 'Venezia'),
|
||||||
|
('VB', 'Verbano Cusio Ossola'),
|
||||||
|
('VC', 'Vercelli'),
|
||||||
|
('VR', 'Verona'),
|
||||||
|
('VV', 'Vibo Valentia'),
|
||||||
|
('VI', 'Vicenza'),
|
||||||
|
('VT', 'Viterbo'),
|
||||||
|
)
|
24
django/contrib/localflavor/it/it_region.py
Normal file
24
django/contrib/localflavor/it/it_region.py
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# -*- coding: utf-8 -*
|
||||||
|
|
||||||
|
REGION_CHOICES = (
|
||||||
|
('ABR', 'Abruzzo'),
|
||||||
|
('BAS', 'Basilicata'),
|
||||||
|
('CAL', 'Calabria'),
|
||||||
|
('CAM', 'Campania'),
|
||||||
|
('EMR', 'Emilia-Romagna'),
|
||||||
|
('FVG', 'Friuli-Venezia Giulia'),
|
||||||
|
('LAZ', 'Lazio'),
|
||||||
|
('LIG', 'Liguria'),
|
||||||
|
('LOM', 'Lombardia'),
|
||||||
|
('MAR', 'Marche'),
|
||||||
|
('MOL', 'Molise'),
|
||||||
|
('PMN', 'Piemonte'),
|
||||||
|
('PUG', 'Puglia'),
|
||||||
|
('SAR', 'Sardegna'),
|
||||||
|
('SIC', 'Sicilia'),
|
||||||
|
('TOS', 'Toscana'),
|
||||||
|
('TAA', 'Trentino-Alto Adige'),
|
||||||
|
('UMB', 'Umbria'),
|
||||||
|
('VAO', u'Valle d’Aosta'),
|
||||||
|
('VEN', 'Veneto'),
|
||||||
|
)
|
0
django/contrib/localflavor/jp/__init__.py
Normal file
0
django/contrib/localflavor/jp/__init__.py
Normal file
38
django/contrib/localflavor/jp/forms.py
Normal file
38
django/contrib/localflavor/jp/forms.py
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
"""
|
||||||
|
JP-specific Form helpers
|
||||||
|
"""
|
||||||
|
|
||||||
|
from django.core import validators
|
||||||
|
from django.newforms import ValidationError
|
||||||
|
from django.utils.translation import gettext
|
||||||
|
from django.newforms.fields import RegexField, Select
|
||||||
|
|
||||||
|
import re
|
||||||
|
|
||||||
|
class JPPostalCodeField(RegexField):
|
||||||
|
"""
|
||||||
|
A form field that validates its input is a Japanese postcode.
|
||||||
|
|
||||||
|
Accepts 7 digits, with or without a hyphen.
|
||||||
|
"""
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(JPPostalCodeField, self).__init__(r'^\d{3}-\d{4}$|^\d{7}$',
|
||||||
|
max_length=None, min_length=None,
|
||||||
|
error_message=gettext(u'Enter a postal code in the format XXXXXXX or XXX-XXXX.'),
|
||||||
|
*args, **kwargs)
|
||||||
|
|
||||||
|
def clean(self, value):
|
||||||
|
"""
|
||||||
|
Validates the input and returns a string that contains only numbers.
|
||||||
|
Returns an empty string for empty values.
|
||||||
|
"""
|
||||||
|
v = super(JPPostalCodeField, self).clean(value)
|
||||||
|
return v.replace('-', '')
|
||||||
|
|
||||||
|
class JPPrefectureSelect(Select):
|
||||||
|
"""
|
||||||
|
A Select widget that uses a list of Japanese prefectures as its choices.
|
||||||
|
"""
|
||||||
|
def __init__(self, attrs=None):
|
||||||
|
from jp_prefectures import JP_PREFECTURES
|
||||||
|
super(JPPrefectureSelect, self).__init__(attrs, choices=JP_PREFECTURES)
|
51
django/contrib/localflavor/jp/jp_prefectures.py
Normal file
51
django/contrib/localflavor/jp/jp_prefectures.py
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
from django.utils.translation import gettext_lazy as gettext_lazy
|
||||||
|
|
||||||
|
JP_PREFECTURES = (
|
||||||
|
('hokkaido', gettext_lazy('Hokkaido'),),
|
||||||
|
('aomori', gettext_lazy('Aomori'),),
|
||||||
|
('iwate', gettext_lazy('Iwate'),),
|
||||||
|
('miyagi', gettext_lazy('Miyagi'),),
|
||||||
|
('akita', gettext_lazy('Akita'),),
|
||||||
|
('yamagata', gettext_lazy('Yamagata'),),
|
||||||
|
('fukushima', gettext_lazy('Fukushima'),),
|
||||||
|
('ibaraki', gettext_lazy('Ibaraki'),),
|
||||||
|
('tochigi', gettext_lazy('Tochigi'),),
|
||||||
|
('gunma', gettext_lazy('Gunma'),),
|
||||||
|
('saitama', gettext_lazy('Saitama'),),
|
||||||
|
('chiba', gettext_lazy('Chiba'),),
|
||||||
|
('tokyo', gettext_lazy('Tokyo'),),
|
||||||
|
('kanagawa', gettext_lazy('Kanagawa'),),
|
||||||
|
('yamanashi', gettext_lazy('Yamanashi'),),
|
||||||
|
('nagano', gettext_lazy('Nagano'),),
|
||||||
|
('niigata', gettext_lazy('Niigata'),),
|
||||||
|
('toyama', gettext_lazy('Toyama'),),
|
||||||
|
('ishikawa', gettext_lazy('Ishikawa'),),
|
||||||
|
('fukui', gettext_lazy('Fukui'),),
|
||||||
|
('gifu', gettext_lazy('Gifu'),),
|
||||||
|
('shizuoka', gettext_lazy('Shizuoka'),),
|
||||||
|
('aichi', gettext_lazy('Aichi'),),
|
||||||
|
('mie', gettext_lazy('Mie'),),
|
||||||
|
('shiga', gettext_lazy('Shiga'),),
|
||||||
|
('kyoto', gettext_lazy('Kyoto'),),
|
||||||
|
('osaka', gettext_lazy('Osaka'),),
|
||||||
|
('hyogo', gettext_lazy('Hyogo'),),
|
||||||
|
('nara', gettext_lazy('Nara'),),
|
||||||
|
('wakayama', gettext_lazy('Wakayama'),),
|
||||||
|
('tottori', gettext_lazy('Tottori'),),
|
||||||
|
('shimane', gettext_lazy('Shimane'),),
|
||||||
|
('okayama', gettext_lazy('Okayama'),),
|
||||||
|
('hiroshima', gettext_lazy('Hiroshima'),),
|
||||||
|
('yamaguchi', gettext_lazy('Yamaguchi'),),
|
||||||
|
('tokushima', gettext_lazy('Tokushima'),),
|
||||||
|
('kagawa', gettext_lazy('Kagawa'),),
|
||||||
|
('ehime', gettext_lazy('Ehime'),),
|
||||||
|
('kochi', gettext_lazy('Kochi'),),
|
||||||
|
('fukuoka', gettext_lazy('Fukuoka'),),
|
||||||
|
('saga', gettext_lazy('Saga'),),
|
||||||
|
('nagasaki', gettext_lazy('Nagasaki'),),
|
||||||
|
('kumamoto', gettext_lazy('Kumamoto'),),
|
||||||
|
('oita', gettext_lazy('Oita'),),
|
||||||
|
('miyazaki', gettext_lazy('Miyazaki'),),
|
||||||
|
('kagoshima', gettext_lazy('Kagoshima'),),
|
||||||
|
('okinawa', gettext_lazy('Okinawa'),),
|
||||||
|
)
|
0
django/contrib/webdesign/__init__.py
Normal file
0
django/contrib/webdesign/__init__.py
Normal file
66
django/contrib/webdesign/lorem_ipsum.py
Normal file
66
django/contrib/webdesign/lorem_ipsum.py
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
"""
|
||||||
|
Utility functions for generating "lorem ipsum" Latin text.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import random
|
||||||
|
|
||||||
|
COMMON_P = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'
|
||||||
|
WORDS = ('exercitationem', 'perferendis', 'perspiciatis', 'laborum', 'eveniet', 'sunt', 'iure', 'nam', 'nobis', 'eum', 'cum', 'officiis', 'excepturi', 'odio', 'consectetur', 'quasi', 'aut', 'quisquam', 'vel', 'eligendi', 'itaque', 'non', 'odit', 'tempore', 'quaerat', 'dignissimos', 'facilis', 'neque', 'nihil', 'expedita', 'vitae', 'vero', 'ipsum', 'nisi', 'animi', 'cumque', 'pariatur', 'velit', 'modi', 'natus', 'iusto', 'eaque', 'sequi', 'illo', 'sed', 'ex', 'et', 'voluptatibus', 'tempora', 'veritatis', 'ratione', 'assumenda', 'incidunt', 'nostrum', 'placeat', 'aliquid', 'fuga', 'provident', 'praesentium', 'rem', 'necessitatibus', 'suscipit', 'adipisci', 'quidem', 'possimus', 'voluptas', 'debitis', 'sint', 'accusantium', 'unde', 'sapiente', 'voluptate', 'qui', 'aspernatur', 'laudantium', 'soluta', 'amet', 'quo', 'aliquam', 'saepe', 'culpa', 'libero', 'ipsa', 'dicta', 'reiciendis', 'nesciunt', 'doloribus', 'autem', 'impedit', 'minima', 'maiores', 'repudiandae', 'ipsam', 'obcaecati', 'ullam', 'enim', 'totam', 'delectus', 'ducimus', 'quis', 'voluptates', 'dolores', 'molestiae', 'harum', 'dolorem', 'quia', 'voluptatem', 'molestias', 'magni', 'distinctio', 'omnis', 'illum', 'dolorum', 'voluptatum', 'ea', 'quas', 'quam', 'corporis', 'quae', 'blanditiis', 'atque', 'deserunt', 'laboriosam', 'earum', 'consequuntur', 'hic', 'cupiditate', 'quibusdam', 'accusamus', 'ut', 'rerum', 'error', 'minus', 'eius', 'ab', 'ad', 'nemo', 'fugit', 'officia', 'at', 'in', 'id', 'quos', 'reprehenderit', 'numquam', 'iste', 'fugiat', 'sit', 'inventore', 'beatae', 'repellendus', 'magnam', 'recusandae', 'quod', 'explicabo', 'doloremque', 'aperiam', 'consequatur', 'asperiores', 'commodi', 'optio', 'dolor', 'labore', 'temporibus', 'repellat', 'veniam', 'architecto', 'est', 'esse', 'mollitia', 'nulla', 'a', 'similique', 'eos', 'alias', 'dolore', 'tenetur', 'deleniti', 'porro', 'facere', 'maxime', 'corrupti')
|
||||||
|
COMMON_WORDS = ('lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur', 'adipisicing', 'elit', 'sed', 'do', 'eiusmod', 'tempor', 'incididunt', 'ut', 'labore', 'et', 'dolore', 'magna', 'aliqua')
|
||||||
|
|
||||||
|
def sentence():
|
||||||
|
"""
|
||||||
|
Returns a randomly generated sentence of lorem ipsum text.
|
||||||
|
|
||||||
|
The first word is capitalized, and the sentence ends in either a period or
|
||||||
|
question mark. Commas are added at random.
|
||||||
|
"""
|
||||||
|
# Determine the number of comma-separated sections and number of words in
|
||||||
|
# each section for this sentence.
|
||||||
|
sections = [' '.join(random.sample(WORDS, random.randint(3, 12))) for i in range(random.randint(1, 5))]
|
||||||
|
s = ', '.join(sections)
|
||||||
|
# Convert to sentence case and add end punctuation.
|
||||||
|
return '%s%s%s' % (s[0].upper(), s[1:], random.choice('?.'))
|
||||||
|
|
||||||
|
def paragraph():
|
||||||
|
"""
|
||||||
|
Returns a randomly generated paragraph of lorem ipsum text.
|
||||||
|
|
||||||
|
The paragraph consists of between 1 and 4 sentences, inclusive.
|
||||||
|
"""
|
||||||
|
return ' '.join([sentence() for i in range(random.randint(1, 4))])
|
||||||
|
|
||||||
|
def paragraphs(count, common=True):
|
||||||
|
"""
|
||||||
|
Returns a list of paragraphs as returned by paragraph().
|
||||||
|
|
||||||
|
If `common` is True, then the first paragraph will be the standard
|
||||||
|
'lorem ipsum' paragraph. Otherwise, the first paragraph will be random
|
||||||
|
Latin text. Either way, subsequent paragraphs will be random Latin text.
|
||||||
|
"""
|
||||||
|
paras = []
|
||||||
|
for i in range(count):
|
||||||
|
if common and i == 0:
|
||||||
|
paras.append(COMMON_P)
|
||||||
|
else:
|
||||||
|
paras.append(paragraph())
|
||||||
|
return paras
|
||||||
|
|
||||||
|
def words(count, common=True):
|
||||||
|
"""
|
||||||
|
Returns a string of `count` lorem ipsum words separated by a single space.
|
||||||
|
|
||||||
|
If `common` is True, then the first 19 words will be the standard
|
||||||
|
'lorem ipsum' words. Otherwise, all words will be selected randomly.
|
||||||
|
"""
|
||||||
|
if common:
|
||||||
|
word_list = list(COMMON_WORDS)
|
||||||
|
else:
|
||||||
|
word_list = []
|
||||||
|
c = len(word_list)
|
||||||
|
if count > c:
|
||||||
|
count = min(count - c, len(WORDS))
|
||||||
|
word_list += random.sample(WORDS, count - c)
|
||||||
|
else:
|
||||||
|
word_list = word_list[:count]
|
||||||
|
return ' '.join(word_list)
|
0
django/contrib/webdesign/templatetags/__init__.py
Normal file
0
django/contrib/webdesign/templatetags/__init__.py
Normal file
67
django/contrib/webdesign/templatetags/webdesign.py
Normal file
67
django/contrib/webdesign/templatetags/webdesign.py
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
from django.contrib.webdesign.lorem_ipsum import words, paragraphs
|
||||||
|
from django import template
|
||||||
|
|
||||||
|
register = template.Library()
|
||||||
|
|
||||||
|
class LoremNode(template.Node):
|
||||||
|
def __init__(self, count, method, common):
|
||||||
|
self.count, self.method, self.common = count, method, common
|
||||||
|
|
||||||
|
def render(self, context):
|
||||||
|
try:
|
||||||
|
count = int(self.count.resolve(context))
|
||||||
|
except (ValueError, TypeError):
|
||||||
|
count = 1
|
||||||
|
if self.method == 'w':
|
||||||
|
return words(count, common=self.common)
|
||||||
|
else:
|
||||||
|
paras = paragraphs(count, common=self.common)
|
||||||
|
if self.method == 'p':
|
||||||
|
paras = ['<p>%s</p>' % p for p in paras]
|
||||||
|
return '\n\n'.join(paras)
|
||||||
|
|
||||||
|
#@register.tag
|
||||||
|
def lorem(parser, token):
|
||||||
|
"""
|
||||||
|
Creates random Latin text useful for providing test data in templates.
|
||||||
|
|
||||||
|
Usage format::
|
||||||
|
|
||||||
|
{% lorem [count] [method] [random] %}
|
||||||
|
|
||||||
|
``count`` is a number (or variable) containing the number of paragraphs or
|
||||||
|
words to generate (default is 1).
|
||||||
|
|
||||||
|
``method`` is either ``w`` for words, ``p`` for HTML paragraphs, ``b`` for
|
||||||
|
plain-text paragraph blocks (default is ``b``).
|
||||||
|
|
||||||
|
``random`` is the word ``random``, which if given, does not use the common
|
||||||
|
paragraph (starting "Lorem ipsum dolor sit amet, consectetuer...").
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
* ``{% lorem %}`` will output the common "lorem ipsum" paragraph
|
||||||
|
* ``{% lorem 3 p %}`` will output the common "lorem ipsum" paragraph
|
||||||
|
and two random paragraphs each wrapped in HTML ``<p>`` tags
|
||||||
|
* ``{% lorem 2 w random %}`` will output two random latin words
|
||||||
|
"""
|
||||||
|
bits = list(token.split_contents())
|
||||||
|
tagname = bits[0]
|
||||||
|
# Random bit
|
||||||
|
common = bits[-1] != 'random'
|
||||||
|
if not common:
|
||||||
|
bits.pop()
|
||||||
|
# Method bit
|
||||||
|
if bits[-1] in ('w', 'p', 'b'):
|
||||||
|
method = bits.pop()
|
||||||
|
else:
|
||||||
|
method = 'b'
|
||||||
|
# Count bit
|
||||||
|
if len(bits) > 1:
|
||||||
|
count = bits.pop()
|
||||||
|
else:
|
||||||
|
count = '1'
|
||||||
|
count = parser.compile_filter(count)
|
||||||
|
if len(bits) != 1:
|
||||||
|
raise TemplateSyntaxError("Incorrect format for %r tag" % tagname)
|
||||||
|
return LoremNode(count, method, common)
|
||||||
|
lorem = register.tag(lorem)
|
7
django/core/cache/backends/memcached.py
vendored
7
django/core/cache/backends/memcached.py
vendored
@ -3,9 +3,12 @@
|
|||||||
from django.core.cache.backends.base import BaseCache, InvalidCacheBackendError
|
from django.core.cache.backends.base import BaseCache, InvalidCacheBackendError
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import memcache
|
import cmemcache as memcache
|
||||||
except ImportError:
|
except ImportError:
|
||||||
raise InvalidCacheBackendError, "Memcached cache backend requires the 'memcache' library"
|
try:
|
||||||
|
import memcache
|
||||||
|
except:
|
||||||
|
raise InvalidCacheBackendError("Memcached cache backend requires either the 'memcache' or 'cmemcache' library")
|
||||||
|
|
||||||
class CacheClass(BaseCache):
|
class CacheClass(BaseCache):
|
||||||
def __init__(self, server, params):
|
def __init__(self, server, params):
|
||||||
|
@ -186,7 +186,7 @@ def _get_sql_model_create(model, known_models=set()):
|
|||||||
if f.rel.to in known_models:
|
if f.rel.to in known_models:
|
||||||
field_output.append(style.SQL_KEYWORD('REFERENCES') + ' ' + \
|
field_output.append(style.SQL_KEYWORD('REFERENCES') + ' ' + \
|
||||||
style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)) + ' (' + \
|
style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)) + ' (' + \
|
||||||
style.SQL_FIELD(backend.quote_name(f.rel.to._meta.get_field(f.rel.field_name).column)) + ')' +
|
style.SQL_FIELD(backend.quote_name(f.rel.to._meta.get_field(f.rel.field_name).column)) + ')' +
|
||||||
backend.get_deferrable_sql()
|
backend.get_deferrable_sql()
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
@ -232,7 +232,7 @@ def _get_sql_for_pending_references(model, pending_references):
|
|||||||
r_name = '%s_refs_%s_%x' % (r_col, col, abs(hash((r_table, table))))
|
r_name = '%s_refs_%s_%x' % (r_col, col, abs(hash((r_table, table))))
|
||||||
final_output.append(style.SQL_KEYWORD('ALTER TABLE') + ' %s ADD CONSTRAINT %s FOREIGN KEY (%s) REFERENCES %s (%s)%s;' % \
|
final_output.append(style.SQL_KEYWORD('ALTER TABLE') + ' %s ADD CONSTRAINT %s FOREIGN KEY (%s) REFERENCES %s (%s)%s;' % \
|
||||||
(backend.quote_name(r_table), r_name,
|
(backend.quote_name(r_table), r_name,
|
||||||
backend.quote_name(r_col), backend.quote_name(table), backend.quote_name(col),
|
backend.quote_name(r_col), backend.quote_name(table), backend.quote_name(col),
|
||||||
backend.get_deferrable_sql()))
|
backend.get_deferrable_sql()))
|
||||||
del pending_references[model]
|
del pending_references[model]
|
||||||
return final_output
|
return final_output
|
||||||
@ -456,7 +456,7 @@ def get_sql_indexes_for_model(model):
|
|||||||
unique = f.unique and 'UNIQUE ' or ''
|
unique = f.unique and 'UNIQUE ' or ''
|
||||||
output.append(
|
output.append(
|
||||||
style.SQL_KEYWORD('CREATE %sINDEX' % unique) + ' ' + \
|
style.SQL_KEYWORD('CREATE %sINDEX' % unique) + ' ' + \
|
||||||
style.SQL_TABLE('%s_%s' % (model._meta.db_table, f.column)) + ' ' + \
|
style.SQL_TABLE(backend.quote_name('%s_%s' % (model._meta.db_table, f.column))) + ' ' + \
|
||||||
style.SQL_KEYWORD('ON') + ' ' + \
|
style.SQL_KEYWORD('ON') + ' ' + \
|
||||||
style.SQL_TABLE(backend.quote_name(model._meta.db_table)) + ' ' + \
|
style.SQL_TABLE(backend.quote_name(model._meta.db_table)) + ' ' + \
|
||||||
"(%s);" % style.SQL_FIELD(backend.quote_name(f.column))
|
"(%s);" % style.SQL_FIELD(backend.quote_name(f.column))
|
||||||
@ -554,7 +554,7 @@ def syncdb(verbosity=1, interactive=True):
|
|||||||
# to do at this point.
|
# to do at this point.
|
||||||
_emit_post_sync_signal(created_models, verbosity, interactive)
|
_emit_post_sync_signal(created_models, verbosity, interactive)
|
||||||
|
|
||||||
# Install custom SQL for the app (but only if this
|
# Install custom SQL for the app (but only if this
|
||||||
# is a model we've just created)
|
# is a model we've just created)
|
||||||
for app in models.get_apps():
|
for app in models.get_apps():
|
||||||
for model in models.get_models(app):
|
for model in models.get_models(app):
|
||||||
@ -696,7 +696,7 @@ def flush(verbosity=1, interactive=True):
|
|||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.db import connection, transaction, models
|
from django.db import connection, transaction, models
|
||||||
from django.dispatch import dispatcher
|
from django.dispatch import dispatcher
|
||||||
|
|
||||||
disable_termcolors()
|
disable_termcolors()
|
||||||
|
|
||||||
# First, try validating the models.
|
# First, try validating the models.
|
||||||
@ -709,7 +709,7 @@ def flush(verbosity=1, interactive=True):
|
|||||||
__import__(app_name + '.management', {}, {}, [''])
|
__import__(app_name + '.management', {}, {}, [''])
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
sql_list = get_sql_flush()
|
sql_list = get_sql_flush()
|
||||||
|
|
||||||
if interactive:
|
if interactive:
|
||||||
@ -743,10 +743,10 @@ The full error: """ % settings.DATABASE_NAME + style.ERROR_OUTPUT(str(e)) + '\n'
|
|||||||
# applications to respond as if the database had been
|
# applications to respond as if the database had been
|
||||||
# sync'd from scratch.
|
# sync'd from scratch.
|
||||||
_emit_post_sync_signal(models.get_models(), verbosity, interactive)
|
_emit_post_sync_signal(models.get_models(), verbosity, interactive)
|
||||||
|
|
||||||
# Reinstall the initial_data fixture
|
# Reinstall the initial_data fixture
|
||||||
load_data(['initial_data'], verbosity=verbosity)
|
load_data(['initial_data'], verbosity=verbosity)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print "Flush cancelled."
|
print "Flush cancelled."
|
||||||
flush.help_doc = "Executes ``sqlflush`` on the current database."
|
flush.help_doc = "Executes ``sqlflush`` on the current database."
|
||||||
@ -1325,7 +1325,7 @@ def test(app_labels, verbosity=1):
|
|||||||
failures = test_runner(app_list, verbosity)
|
failures = test_runner(app_list, verbosity)
|
||||||
if failures:
|
if failures:
|
||||||
sys.exit(failures)
|
sys.exit(failures)
|
||||||
|
|
||||||
test.help_doc = 'Runs the test suite for the specified applications, or the entire site if no apps are specified'
|
test.help_doc = 'Runs the test suite for the specified applications, or the entire site if no apps are specified'
|
||||||
test.args = '[--verbosity] ' + APP_ARGS
|
test.args = '[--verbosity] ' + APP_ARGS
|
||||||
|
|
||||||
@ -1336,37 +1336,45 @@ def load_data(fixture_labels, verbosity=1):
|
|||||||
from django.db import connection, transaction
|
from django.db import connection, transaction
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
# Keep a count of the installed objects and fixtures
|
# Keep a count of the installed objects and fixtures
|
||||||
count = [0,0]
|
count = [0,0]
|
||||||
|
|
||||||
humanize = lambda dirname: dirname and "'%s'" % dirname or 'absolute path'
|
humanize = lambda dirname: dirname and "'%s'" % dirname or 'absolute path'
|
||||||
|
|
||||||
# Get a cursor (even though we don't need one yet). This has
|
# Get a cursor (even though we don't need one yet). This has
|
||||||
# the side effect of initializing the test database (if
|
# the side effect of initializing the test database (if
|
||||||
# it isn't already initialized).
|
# it isn't already initialized).
|
||||||
cursor = connection.cursor()
|
cursor = connection.cursor()
|
||||||
|
|
||||||
# Start transaction management. All fixtures are installed in a
|
# Start transaction management. All fixtures are installed in a
|
||||||
# single transaction to ensure that all references are resolved.
|
# single transaction to ensure that all references are resolved.
|
||||||
transaction.commit_unless_managed()
|
transaction.commit_unless_managed()
|
||||||
transaction.enter_transaction_management()
|
transaction.enter_transaction_management()
|
||||||
transaction.managed(True)
|
transaction.managed(True)
|
||||||
|
|
||||||
app_fixtures = [os.path.join(os.path.dirname(app.__file__),'fixtures') for app in get_apps()]
|
app_fixtures = [os.path.join(os.path.dirname(app.__file__),'fixtures') for app in get_apps()]
|
||||||
for fixture_label in fixture_labels:
|
for fixture_label in fixture_labels:
|
||||||
|
parts = fixture_label.split('.')
|
||||||
|
if len(parts) == 1:
|
||||||
|
fixture_name = fixture_label
|
||||||
|
formats = serializers.get_serializer_formats()
|
||||||
|
else:
|
||||||
|
fixture_name, format = '.'.join(parts[:-1]), parts[-1]
|
||||||
|
if format in serializers.get_serializer_formats():
|
||||||
|
formats = [format]
|
||||||
|
else:
|
||||||
|
formats = []
|
||||||
|
|
||||||
if verbosity > 0:
|
if verbosity > 0:
|
||||||
print "Loading '%s' fixtures..." % fixture_label
|
if formats:
|
||||||
|
print "Loading '%s' fixtures..." % fixture_name
|
||||||
|
else:
|
||||||
|
print "Skipping fixture '%s': %s is not a known serialization format" % (fixture_name, format)
|
||||||
|
|
||||||
for fixture_dir in app_fixtures + list(settings.FIXTURE_DIRS) + ['']:
|
for fixture_dir in app_fixtures + list(settings.FIXTURE_DIRS) + ['']:
|
||||||
if verbosity > 1:
|
if verbosity > 1:
|
||||||
print "Checking %s for fixtures..." % humanize(fixture_dir)
|
print "Checking %s for fixtures..." % humanize(fixture_dir)
|
||||||
parts = fixture_label.split('.')
|
|
||||||
if len(parts) == 1:
|
|
||||||
fixture_name = fixture_label
|
|
||||||
formats = serializers.get_serializer_formats()
|
|
||||||
else:
|
|
||||||
fixture_name, format = '.'.join(parts[:-1]), parts[-1]
|
|
||||||
formats = [format]
|
|
||||||
|
|
||||||
label_found = False
|
label_found = False
|
||||||
for format in formats:
|
for format in formats:
|
||||||
@ -1379,7 +1387,7 @@ def load_data(fixture_labels, verbosity=1):
|
|||||||
fixture = open(full_path, 'r')
|
fixture = open(full_path, 'r')
|
||||||
if label_found:
|
if label_found:
|
||||||
fixture.close()
|
fixture.close()
|
||||||
print style.ERROR("Multiple fixtures named '%s' in %s. Aborting." %
|
print style.ERROR("Multiple fixtures named '%s' in %s. Aborting." %
|
||||||
(fixture_name, humanize(fixture_dir)))
|
(fixture_name, humanize(fixture_dir)))
|
||||||
transaction.rollback()
|
transaction.rollback()
|
||||||
transaction.leave_transaction_management()
|
transaction.leave_transaction_management()
|
||||||
@ -1398,7 +1406,7 @@ def load_data(fixture_labels, verbosity=1):
|
|||||||
except Exception, e:
|
except Exception, e:
|
||||||
fixture.close()
|
fixture.close()
|
||||||
sys.stderr.write(
|
sys.stderr.write(
|
||||||
style.ERROR("Problem installing fixture '%s': %s\n" %
|
style.ERROR("Problem installing fixture '%s': %s\n" %
|
||||||
(full_path, str(e))))
|
(full_path, str(e))))
|
||||||
transaction.rollback()
|
transaction.rollback()
|
||||||
transaction.leave_transaction_management()
|
transaction.leave_transaction_management()
|
||||||
@ -1416,27 +1424,27 @@ def load_data(fixture_labels, verbosity=1):
|
|||||||
print "Installed %d object(s) from %d fixture(s)" % tuple(count)
|
print "Installed %d object(s) from %d fixture(s)" % tuple(count)
|
||||||
transaction.commit()
|
transaction.commit()
|
||||||
transaction.leave_transaction_management()
|
transaction.leave_transaction_management()
|
||||||
|
|
||||||
load_data.help_doc = 'Installs the named fixture(s) in the database'
|
load_data.help_doc = 'Installs the named fixture(s) in the database'
|
||||||
load_data.args = "[--verbosity] fixture, fixture, ..."
|
load_data.args = "[--verbosity] fixture, fixture, ..."
|
||||||
|
|
||||||
def dump_data(app_labels, format='json', indent=None):
|
def dump_data(app_labels, format='json', indent=None):
|
||||||
"Output the current contents of the database as a fixture of the given format"
|
"Output the current contents of the database as a fixture of the given format"
|
||||||
from django.db.models import get_app, get_apps, get_models
|
from django.db.models import get_app, get_apps, get_models
|
||||||
from django.core import serializers
|
from django.core import serializers
|
||||||
|
|
||||||
if len(app_labels) == 0:
|
if len(app_labels) == 0:
|
||||||
app_list = get_apps()
|
app_list = get_apps()
|
||||||
else:
|
else:
|
||||||
app_list = [get_app(app_label) for app_label in app_labels]
|
app_list = [get_app(app_label) for app_label in app_labels]
|
||||||
|
|
||||||
# Check that the serialization format exists; this is a shortcut to
|
# Check that the serialization format exists; this is a shortcut to
|
||||||
# avoid collating all the objects and _then_ failing.
|
# avoid collating all the objects and _then_ failing.
|
||||||
try:
|
try:
|
||||||
serializers.get_serializer(format)
|
serializers.get_serializer(format)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
sys.stderr.write(style.ERROR("Unknown serialization format: %s\n" % format))
|
sys.stderr.write(style.ERROR("Unknown serialization format: %s\n" % format))
|
||||||
|
|
||||||
objects = []
|
objects = []
|
||||||
for app in app_list:
|
for app in app_list:
|
||||||
for model in get_models(app):
|
for model in get_models(app):
|
||||||
@ -1531,7 +1539,7 @@ def execute_from_command_line(action_mapping=DEFAULT_ACTION_MAPPING, argv=None):
|
|||||||
parser.add_option('--noreload', action='store_false', dest='use_reloader', default=True,
|
parser.add_option('--noreload', action='store_false', dest='use_reloader', default=True,
|
||||||
help='Tells Django to NOT use the auto-reloader when running the development server.')
|
help='Tells Django to NOT use the auto-reloader when running the development server.')
|
||||||
parser.add_option('--format', default='json', dest='format',
|
parser.add_option('--format', default='json', dest='format',
|
||||||
help='Specifies the output serialization format for fixtures')
|
help='Specifies the output serialization format for fixtures')
|
||||||
parser.add_option('--indent', default=None, dest='indent',
|
parser.add_option('--indent', default=None, dest='indent',
|
||||||
type='int', help='Specifies the indent level to use when pretty-printing output')
|
type='int', help='Specifies the indent level to use when pretty-printing output')
|
||||||
parser.add_option('--verbosity', action='store', dest='verbosity', default='1',
|
parser.add_option('--verbosity', action='store', dest='verbosity', default='1',
|
||||||
|
@ -155,6 +155,9 @@ def parse_cookie(cookie):
|
|||||||
|
|
||||||
class HttpResponse(object):
|
class HttpResponse(object):
|
||||||
"A basic HTTP response, with content and dictionary-accessed headers"
|
"A basic HTTP response, with content and dictionary-accessed headers"
|
||||||
|
|
||||||
|
status_code = 200
|
||||||
|
|
||||||
def __init__(self, content='', mimetype=None):
|
def __init__(self, content='', mimetype=None):
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
self._charset = settings.DEFAULT_CHARSET
|
self._charset = settings.DEFAULT_CHARSET
|
||||||
@ -168,7 +171,6 @@ class HttpResponse(object):
|
|||||||
self._is_string = True
|
self._is_string = True
|
||||||
self.headers = {'Content-Type': mimetype}
|
self.headers = {'Content-Type': mimetype}
|
||||||
self.cookies = SimpleCookie()
|
self.cookies = SimpleCookie()
|
||||||
self.status_code = 200
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
"Full HTTP message, including headers"
|
"Full HTTP message, including headers"
|
||||||
@ -254,47 +256,49 @@ class HttpResponse(object):
|
|||||||
return sum([len(chunk) for chunk in self._container])
|
return sum([len(chunk) for chunk in self._container])
|
||||||
|
|
||||||
class HttpResponseRedirect(HttpResponse):
|
class HttpResponseRedirect(HttpResponse):
|
||||||
|
status_code = 302
|
||||||
|
|
||||||
def __init__(self, redirect_to):
|
def __init__(self, redirect_to):
|
||||||
HttpResponse.__init__(self)
|
HttpResponse.__init__(self)
|
||||||
self['Location'] = quote(redirect_to, safe=RESERVED_CHARS)
|
self['Location'] = quote(redirect_to, safe=RESERVED_CHARS)
|
||||||
self.status_code = 302
|
|
||||||
|
|
||||||
class HttpResponsePermanentRedirect(HttpResponse):
|
class HttpResponsePermanentRedirect(HttpResponse):
|
||||||
|
status_code = 301
|
||||||
|
|
||||||
def __init__(self, redirect_to):
|
def __init__(self, redirect_to):
|
||||||
HttpResponse.__init__(self)
|
HttpResponse.__init__(self)
|
||||||
self['Location'] = quote(redirect_to, safe=RESERVED_CHARS)
|
self['Location'] = quote(redirect_to, safe=RESERVED_CHARS)
|
||||||
self.status_code = 301
|
|
||||||
|
|
||||||
class HttpResponseNotModified(HttpResponse):
|
class HttpResponseNotModified(HttpResponse):
|
||||||
def __init__(self):
|
status_code = 304
|
||||||
HttpResponse.__init__(self)
|
|
||||||
self.status_code = 304
|
class HttpResponseBadRequest(HttpResponse):
|
||||||
|
status_code = 400
|
||||||
|
|
||||||
class HttpResponseNotFound(HttpResponse):
|
class HttpResponseNotFound(HttpResponse):
|
||||||
def __init__(self, *args, **kwargs):
|
status_code = 404
|
||||||
HttpResponse.__init__(self, *args, **kwargs)
|
|
||||||
self.status_code = 404
|
|
||||||
|
|
||||||
class HttpResponseForbidden(HttpResponse):
|
class HttpResponseForbidden(HttpResponse):
|
||||||
def __init__(self, *args, **kwargs):
|
status_code = 403
|
||||||
HttpResponse.__init__(self, *args, **kwargs)
|
|
||||||
self.status_code = 403
|
|
||||||
|
|
||||||
class HttpResponseNotAllowed(HttpResponse):
|
class HttpResponseNotAllowed(HttpResponse):
|
||||||
|
status_code = 405
|
||||||
|
|
||||||
def __init__(self, permitted_methods):
|
def __init__(self, permitted_methods):
|
||||||
HttpResponse.__init__(self)
|
HttpResponse.__init__(self)
|
||||||
self['Allow'] = ', '.join(permitted_methods)
|
self['Allow'] = ', '.join(permitted_methods)
|
||||||
self.status_code = 405
|
|
||||||
|
|
||||||
class HttpResponseGone(HttpResponse):
|
class HttpResponseGone(HttpResponse):
|
||||||
|
status_code = 410
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
HttpResponse.__init__(self, *args, **kwargs)
|
HttpResponse.__init__(self, *args, **kwargs)
|
||||||
self.status_code = 410
|
|
||||||
|
|
||||||
class HttpResponseServerError(HttpResponse):
|
class HttpResponseServerError(HttpResponse):
|
||||||
|
status_code = 500
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
HttpResponse.__init__(self, *args, **kwargs)
|
HttpResponse.__init__(self, *args, **kwargs)
|
||||||
self.status_code = 500
|
|
||||||
|
|
||||||
def get_host(request):
|
def get_host(request):
|
||||||
"Gets the HTTP host from the environment or request headers."
|
"Gets the HTTP host from the environment or request headers."
|
||||||
|
@ -10,7 +10,7 @@ class CacheMiddleware(object):
|
|||||||
Only parameter-less GET or HEAD-requests with status code 200 are cached.
|
Only parameter-less GET or HEAD-requests with status code 200 are cached.
|
||||||
|
|
||||||
If CACHE_MIDDLEWARE_ANONYMOUS_ONLY is set to True, only anonymous requests
|
If CACHE_MIDDLEWARE_ANONYMOUS_ONLY is set to True, only anonymous requests
|
||||||
(i.e., those node made by a logged-in user) will be cached. This is a
|
(i.e., those not made by a logged-in user) will be cached. This is a
|
||||||
simple and effective way of avoiding the caching of the Django admin (and
|
simple and effective way of avoiding the caching of the Django admin (and
|
||||||
any other user-specific content).
|
any other user-specific content).
|
||||||
|
|
||||||
|
@ -140,7 +140,7 @@ class IfChangedNode(Node):
|
|||||||
else:
|
else:
|
||||||
compare_to = self.nodelist.render(context)
|
compare_to = self.nodelist.render(context)
|
||||||
except VariableDoesNotExist:
|
except VariableDoesNotExist:
|
||||||
compare_to = None
|
compare_to = None
|
||||||
|
|
||||||
if compare_to != self._last_seen:
|
if compare_to != self._last_seen:
|
||||||
firstloop = (self._last_seen == None)
|
firstloop = (self._last_seen == None)
|
||||||
@ -320,7 +320,7 @@ class URLNode(Node):
|
|||||||
self.view_name = view_name
|
self.view_name = view_name
|
||||||
self.args = args
|
self.args = args
|
||||||
self.kwargs = kwargs
|
self.kwargs = kwargs
|
||||||
|
|
||||||
def render(self, context):
|
def render(self, context):
|
||||||
from django.core.urlresolvers import reverse, NoReverseMatch
|
from django.core.urlresolvers import reverse, NoReverseMatch
|
||||||
args = [arg.resolve(context) for arg in self.args]
|
args = [arg.resolve(context) for arg in self.args]
|
||||||
@ -354,6 +354,23 @@ class WidthRatioNode(Node):
|
|||||||
return ''
|
return ''
|
||||||
return str(int(round(ratio)))
|
return str(int(round(ratio)))
|
||||||
|
|
||||||
|
class WithNode(Node):
|
||||||
|
def __init__(self, var, name, nodelist):
|
||||||
|
self.var = var
|
||||||
|
self.name = name
|
||||||
|
self.nodelist = nodelist
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return "<WithNode>"
|
||||||
|
|
||||||
|
def render(self, context):
|
||||||
|
val = self.var.resolve(context)
|
||||||
|
context.push()
|
||||||
|
context[self.name] = val
|
||||||
|
output = self.nodelist.render(context)
|
||||||
|
context.pop()
|
||||||
|
return output
|
||||||
|
|
||||||
#@register.tag
|
#@register.tag
|
||||||
def comment(parser, token):
|
def comment(parser, token):
|
||||||
"""
|
"""
|
||||||
@ -595,8 +612,8 @@ def do_if(parser, token):
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
{% if althlete_list %}
|
{% if athlete_list %}
|
||||||
Number of athletes: {{ althete_list|count }}
|
Number of athletes: {{ athlete_list|count }}
|
||||||
{% else %}
|
{% else %}
|
||||||
No athletes.
|
No athletes.
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -899,12 +916,12 @@ templatetag = register.tag(templatetag)
|
|||||||
|
|
||||||
def url(parser, token):
|
def url(parser, token):
|
||||||
"""
|
"""
|
||||||
Returns an absolute URL matching given view with its parameters.
|
Returns an absolute URL matching given view with its parameters.
|
||||||
|
|
||||||
This is a way to define links that aren't tied to a particular URL configuration::
|
This is a way to define links that aren't tied to a particular URL configuration::
|
||||||
|
|
||||||
{% url path.to.some_view arg1,arg2,name1=value1 %}
|
{% url path.to.some_view arg1,arg2,name1=value1 %}
|
||||||
|
|
||||||
The first argument is a path to a view. It can be an absolute python path
|
The first argument is a path to a view. It can be an absolute python path
|
||||||
or just ``app_name.view_name`` without the project name if the view is
|
or just ``app_name.view_name`` without the project name if the view is
|
||||||
located inside the project. Other arguments are comma-separated values
|
located inside the project. Other arguments are comma-separated values
|
||||||
@ -913,18 +930,18 @@ def url(parser, token):
|
|||||||
|
|
||||||
For example if you have a view ``app_name.client`` taking client's id and
|
For example if you have a view ``app_name.client`` taking client's id and
|
||||||
the corresponding line in a URLconf looks like this::
|
the corresponding line in a URLconf looks like this::
|
||||||
|
|
||||||
('^client/(\d+)/$', 'app_name.client')
|
('^client/(\d+)/$', 'app_name.client')
|
||||||
|
|
||||||
and this app's URLconf is included into the project's URLconf under some
|
and this app's URLconf is included into the project's URLconf under some
|
||||||
path::
|
path::
|
||||||
|
|
||||||
('^clients/', include('project_name.app_name.urls'))
|
('^clients/', include('project_name.app_name.urls'))
|
||||||
|
|
||||||
then in a template you can create a link for a certain client like this::
|
then in a template you can create a link for a certain client like this::
|
||||||
|
|
||||||
{% url app_name.client client.id %}
|
{% url app_name.client client.id %}
|
||||||
|
|
||||||
The URL will look like ``/clients/client/123/``.
|
The URL will look like ``/clients/client/123/``.
|
||||||
"""
|
"""
|
||||||
bits = token.contents.split(' ', 2)
|
bits = token.contents.split(' ', 2)
|
||||||
@ -967,3 +984,23 @@ def widthratio(parser, token):
|
|||||||
return WidthRatioNode(parser.compile_filter(this_value_expr),
|
return WidthRatioNode(parser.compile_filter(this_value_expr),
|
||||||
parser.compile_filter(max_value_expr), max_width)
|
parser.compile_filter(max_value_expr), max_width)
|
||||||
widthratio = register.tag(widthratio)
|
widthratio = register.tag(widthratio)
|
||||||
|
|
||||||
|
#@register.tag
|
||||||
|
def do_with(parser, token):
|
||||||
|
"""
|
||||||
|
Add a value to the context (inside of this block) for caching and easy
|
||||||
|
access. For example::
|
||||||
|
|
||||||
|
{% with person.some_sql_method as total %}
|
||||||
|
{{ total }} object{{ total|pluralize }}
|
||||||
|
{% endwith %}
|
||||||
|
"""
|
||||||
|
bits = list(token.split_contents())
|
||||||
|
if len(bits) != 4 or bits[2] != "as":
|
||||||
|
raise TemplateSyntaxError, "%r expected format is 'value as name'" % tagname
|
||||||
|
var = parser.compile_filter(bits[1])
|
||||||
|
name = bits[3]
|
||||||
|
nodelist = parser.parse(('endwith',))
|
||||||
|
parser.delete_first_token()
|
||||||
|
return WithNode(var, name, nodelist)
|
||||||
|
do_with = register.tag('with', do_with)
|
||||||
|
@ -84,5 +84,5 @@ def run_tests(module_list, verbosity=1, extra_tests=[]):
|
|||||||
|
|
||||||
teardown_test_environment()
|
teardown_test_environment()
|
||||||
|
|
||||||
return len(result.failures)
|
return len(result.failures) + len(result.errors)
|
||||||
|
|
@ -9,6 +9,13 @@ problems.
|
|||||||
This code lives in ``django/contrib`` in the Django distribution. Here's a
|
This code lives in ``django/contrib`` in the Django distribution. Here's a
|
||||||
rundown of the packages in ``contrib``:
|
rundown of the packages in ``contrib``:
|
||||||
|
|
||||||
|
.. admonition:: Note
|
||||||
|
|
||||||
|
For most of these add-ons -- specifically, the add-ons that include either
|
||||||
|
models or template tags -- you'll need to add the package name (e.g.,
|
||||||
|
``'django.contrib.admin'``) to your ``INSTALLED_APPS`` setting and re-run
|
||||||
|
``manage.py syncdb``.
|
||||||
|
|
||||||
.. _"batteries included" philosophy: http://docs.python.org/tut/node12.html#batteries-included
|
.. _"batteries included" philosophy: http://docs.python.org/tut/node12.html#batteries-included
|
||||||
|
|
||||||
admin
|
admin
|
||||||
@ -147,13 +154,20 @@ contains a ``USZipCodeField`` that you can use to validate U.S. zip codes.
|
|||||||
markup
|
markup
|
||||||
======
|
======
|
||||||
|
|
||||||
A collection of template filters that implement these common markup languages:
|
A collection of template filters that implement common markup languages:
|
||||||
|
|
||||||
* `Textile`_
|
* ``textile`` -- implements `Textile`_
|
||||||
* `Markdown`_
|
* ``markdown`` -- implements `Markdown`_
|
||||||
* `ReST (ReStructured Text)`_
|
* ``restructuredtext`` -- implements `ReST (ReStructured Text)`_
|
||||||
|
|
||||||
For documentation, read the source code in django/contrib/markup/templatetags/markup.py.
|
In each case, the filter expects formatted markup as a string and returns a
|
||||||
|
string representing the marked-up text. For example, the ``textile`` filter
|
||||||
|
converts text that is marked-up in Textile format to HTML.
|
||||||
|
|
||||||
|
To activate these filters, add ``'django.contrib.markup'`` to your
|
||||||
|
``INSTALLED_APPS`` setting. Once you've done that, use ``{% load markup %}`` in
|
||||||
|
a template, and you'll have access to these filters. For more documentation,
|
||||||
|
read the source code in django/contrib/markup/templatetags/markup.py.
|
||||||
|
|
||||||
.. _Textile: http://en.wikipedia.org/wiki/Textile_%28markup_language%29
|
.. _Textile: http://en.wikipedia.org/wiki/Textile_%28markup_language%29
|
||||||
.. _Markdown: http://en.wikipedia.org/wiki/Markdown
|
.. _Markdown: http://en.wikipedia.org/wiki/Markdown
|
||||||
|
@ -66,10 +66,19 @@ deleting arbitrary data in the cache. All data is stored directly in memory,
|
|||||||
so there's no overhead of database or filesystem usage.
|
so there's no overhead of database or filesystem usage.
|
||||||
|
|
||||||
After installing Memcached itself, you'll need to install the Memcached Python
|
After installing Memcached itself, you'll need to install the Memcached Python
|
||||||
bindings. They're in a single Python module, memcache.py, available at
|
bindings. Two versions of this are available. Choose and install *one* of the
|
||||||
ftp://ftp.tummy.com/pub/python-memcached/ . If that URL is no longer valid,
|
following modules:
|
||||||
just go to the Memcached Web site (http://www.danga.com/memcached/) and get the
|
|
||||||
Python bindings from the "Client APIs" section.
|
* The fastest available option is a module called ``cmemcache``, available
|
||||||
|
at http://gijsbert.org/cmemcache/ . (This module is only compatible with
|
||||||
|
the Django development version. Django 0.96 is only compatible with the
|
||||||
|
second option, below.)
|
||||||
|
|
||||||
|
* If you can't install ``cmemcache``, you can install ``python-memcached``,
|
||||||
|
available at ftp://ftp.tummy.com/pub/python-memcached/ . If that URL is
|
||||||
|
no longer valid, just go to the Memcached Web site
|
||||||
|
(http://www.danga.com/memcached/) and get the Python bindings from the
|
||||||
|
"Client APIs" section.
|
||||||
|
|
||||||
To use Memcached with Django, set ``CACHE_BACKEND`` to
|
To use Memcached with Django, set ``CACHE_BACKEND`` to
|
||||||
``memcached://ip:port/``, where ``ip`` is the IP address of the Memcached
|
``memcached://ip:port/``, where ``ip`` is the IP address of the Memcached
|
||||||
|
@ -342,7 +342,7 @@ Prints the custom SQL statements for the given appnames.
|
|||||||
For each model in each specified app, this command looks for the file
|
For each model in each specified app, this command looks for the file
|
||||||
``<appname>/sql/<modelname>.sql``, where ``<appname>`` is the given appname and
|
``<appname>/sql/<modelname>.sql``, where ``<appname>`` is the given appname and
|
||||||
``<modelname>`` is the model's name in lowercase. For example, if you have an
|
``<modelname>`` is the model's name in lowercase. For example, if you have an
|
||||||
app ``news`` that includes a ``Story`` model, ``sqlinitialdata`` will attempt
|
app ``news`` that includes a ``Story`` model, ``sqlcustom`` will attempt
|
||||||
to read a file ``news/sql/story.sql`` and append it to the output of this
|
to read a file ``news/sql/story.sql`` and append it to the output of this
|
||||||
command.
|
command.
|
||||||
|
|
||||||
|
@ -37,7 +37,8 @@ Then edit your ``httpd.conf`` file and add the following::
|
|||||||
PythonDebug On
|
PythonDebug On
|
||||||
</Location>
|
</Location>
|
||||||
|
|
||||||
...and replace ``mysite.settings`` with the Python path to your settings file.
|
...and replace ``mysite.settings`` with the Python import path to your Django
|
||||||
|
project's settings file.
|
||||||
|
|
||||||
This tells Apache: "Use mod_python for any URL at or under '/mysite/', using the
|
This tells Apache: "Use mod_python for any URL at or under '/mysite/', using the
|
||||||
Django mod_python handler." It passes the value of ``DJANGO_SETTINGS_MODULE``
|
Django mod_python handler." It passes the value of ``DJANGO_SETTINGS_MODULE``
|
||||||
|
@ -860,6 +860,16 @@ level and at the form instance level, and the latter gets precedence::
|
|||||||
<tr><th>Url:</th><td><input type="text" name="url" /></td></tr>
|
<tr><th>Url:</th><td><input type="text" name="url" /></td></tr>
|
||||||
<tr><th>Comment:</th><td><input type="text" name="comment" /></td></tr>
|
<tr><th>Comment:</th><td><input type="text" name="comment" /></td></tr>
|
||||||
|
|
||||||
|
Creating custom fields
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
If the built-in ``Field`` classes don't meet your needs, you can easily create
|
||||||
|
custom ``Field`` classes. To do this, just create a subclass of
|
||||||
|
``django.newforms.Field``. Its only requirements are that it implement a
|
||||||
|
``clean()`` method and that its ``__init__()`` method accept the core arguments
|
||||||
|
mentioned above (``required``, ``label``, ``initial``, ``widget``,
|
||||||
|
``help_text``).
|
||||||
|
|
||||||
More coming soon
|
More coming soon
|
||||||
================
|
================
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ Database constraint names changed
|
|||||||
The format of the constraint names Django generates for foreign key
|
The format of the constraint names Django generates for foreign key
|
||||||
references have changed slightly. These names are generally only used
|
references have changed slightly. These names are generally only used
|
||||||
when it is not possible to put the reference directly on the affected
|
when it is not possible to put the reference directly on the affected
|
||||||
column, so they is not always visible.
|
column, so they are not always visible.
|
||||||
|
|
||||||
The effect of this change is that running ``manage.py reset`` and
|
The effect of this change is that running ``manage.py reset`` and
|
||||||
similar commands against an existing database may generate SQL with
|
similar commands against an existing database may generate SQL with
|
||||||
@ -261,4 +261,4 @@ all their hard work:
|
|||||||
that went into 0.96 -- but everyone who's contributed to Django is listed
|
that went into 0.96 -- but everyone who's contributed to Django is listed
|
||||||
in AUTHORS_.
|
in AUTHORS_.
|
||||||
|
|
||||||
.. _AUTHORS: http://code.djangoproject.com/browser/django/trunk/AUTHORS
|
.. _AUTHORS: http://code.djangoproject.com/browser/django/trunk/AUTHORS
|
||||||
|
@ -158,7 +158,7 @@ is defined in ``django/contrib/sessions/models.py``. Because it's a normal
|
|||||||
model, you can access sessions using the normal Django database API::
|
model, you can access sessions using the normal Django database API::
|
||||||
|
|
||||||
>>> from django.contrib.sessions.models import Session
|
>>> from django.contrib.sessions.models import Session
|
||||||
>>> s = Session.objects.get_object(pk='2b1189a188b44ad18c35e113ac6ceead')
|
>>> s = Session.objects.get(pk='2b1189a188b44ad18c35e113ac6ceead')
|
||||||
>>> s.expire_date
|
>>> s.expire_date
|
||||||
datetime.datetime(2005, 8, 20, 13, 35, 12)
|
datetime.datetime(2005, 8, 20, 13, 35, 12)
|
||||||
|
|
||||||
|
@ -737,6 +737,7 @@ The following snippet of template code would accomplish this dubious task::
|
|||||||
<li>{{ item }}</li>
|
<li>{{ item }}</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@ -872,6 +873,23 @@ Above, if ``this_value`` is 175 and ``max_value`` is 200, the the image in the
|
|||||||
above example will be 88 pixels wide (because 175/200 = .875; .875 * 100 = 87.5
|
above example will be 88 pixels wide (because 175/200 = .875; .875 * 100 = 87.5
|
||||||
which is rounded up to 88).
|
which is rounded up to 88).
|
||||||
|
|
||||||
|
with
|
||||||
|
~~~~
|
||||||
|
|
||||||
|
**New in Django development version**
|
||||||
|
|
||||||
|
Caches a complex variable under a simpler name. This is useful when accessing
|
||||||
|
an "expensive" method (e.g., one that hits the database) multiple times.
|
||||||
|
|
||||||
|
For example::
|
||||||
|
|
||||||
|
{% with business.employees.count as total %}
|
||||||
|
{{ total }} employee{{ total|pluralize }}
|
||||||
|
{% endwith %}
|
||||||
|
|
||||||
|
The populated variable (in the example above, ``total``) is only available
|
||||||
|
between the ``{% with %}`` and ``{% endwith %}`` tags.
|
||||||
|
|
||||||
Built-in filter reference
|
Built-in filter reference
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
@ -970,7 +988,7 @@ place -- but only if there's a decimal part to be displayed. For example:
|
|||||||
* ``36.15`` gets converted to ``36.2``
|
* ``36.15`` gets converted to ``36.2``
|
||||||
* ``36`` gets converted to ``36``
|
* ``36`` gets converted to ``36``
|
||||||
|
|
||||||
If used with a numeric integer argument, ``floatformat`` rounds a number to that
|
If used with a numeric integer argument, ``floatformat`` rounds a number to that
|
||||||
many decimal places. For example:
|
many decimal places. For example:
|
||||||
|
|
||||||
* ``36.1234`` with floatformat:3 gets converted to ``36.123``
|
* ``36.1234`` with floatformat:3 gets converted to ``36.123``
|
||||||
@ -983,7 +1001,7 @@ For example:
|
|||||||
* ``36.1234`` with floatformat:-3 gets converted to ``36.123``
|
* ``36.1234`` with floatformat:-3 gets converted to ``36.123``
|
||||||
* ``36`` with floatformat:-4 gets converted to ``36``
|
* ``36`` with floatformat:-4 gets converted to ``36``
|
||||||
|
|
||||||
Using ``floatformat`` with no argument is equivalent to using ``floatformat`` with
|
Using ``floatformat`` with no argument is equivalent to using ``floatformat`` with
|
||||||
an argument of ``-1``.
|
an argument of ``-1``.
|
||||||
|
|
||||||
get_digit
|
get_digit
|
||||||
|
@ -276,7 +276,7 @@ for testing purposes:
|
|||||||
``status_code`` The HTTP status of the response. See RFC2616_ for a
|
``status_code`` The HTTP status of the response. See RFC2616_ for a
|
||||||
full list of HTTP status codes.
|
full list of HTTP status codes.
|
||||||
|
|
||||||
``content`` The body of the response. The is the final page
|
``content`` The body of the response. This is the final page
|
||||||
content as rendered by the view, or any error message
|
content as rendered by the view, or any error message
|
||||||
(such as the URL for a 302 redirect).
|
(such as the URL for a 302 redirect).
|
||||||
|
|
||||||
@ -468,7 +468,8 @@ failed::
|
|||||||
|
|
||||||
FAILED (failures=1)
|
FAILED (failures=1)
|
||||||
|
|
||||||
The return code for the script will indicate the number of tests that failed.
|
The return code for the script is the total number of failed and erroneous
|
||||||
|
tests. If all the tests pass, the return code is 0.
|
||||||
|
|
||||||
Regardless of whether the tests pass or fail, the test database is destroyed when
|
Regardless of whether the tests pass or fail, the test database is destroyed when
|
||||||
all the tests have been executed.
|
all the tests have been executed.
|
||||||
|
@ -133,8 +133,8 @@ Now, edit ``settings.py``. It's a normal Python module with module-level
|
|||||||
variables representing Django settings. Change these settings to match your
|
variables representing Django settings. Change these settings to match your
|
||||||
database's connection parameters:
|
database's connection parameters:
|
||||||
|
|
||||||
* ``DATABASE_ENGINE`` -- Either 'postgresql', 'mysql' or 'sqlite3'.
|
* ``DATABASE_ENGINE`` -- Either 'postgresql_psycopg2', 'mysql' or 'sqlite3'.
|
||||||
More coming soon.
|
Other backends are `also available`_.
|
||||||
* ``DATABASE_NAME`` -- The name of your database, or the full (absolute)
|
* ``DATABASE_NAME`` -- The name of your database, or the full (absolute)
|
||||||
path to the database file if you're using SQLite.
|
path to the database file if you're using SQLite.
|
||||||
* ``DATABASE_USER`` -- Your database username (not used for SQLite).
|
* ``DATABASE_USER`` -- Your database username (not used for SQLite).
|
||||||
@ -143,6 +143,8 @@ database's connection parameters:
|
|||||||
empty string if your database server is on the same physical machine
|
empty string if your database server is on the same physical machine
|
||||||
(not used for SQLite).
|
(not used for SQLite).
|
||||||
|
|
||||||
|
.. _also available: ../settings/
|
||||||
|
|
||||||
.. admonition:: Note
|
.. admonition:: Note
|
||||||
|
|
||||||
If you're using PostgreSQL or MySQL, make sure you've created a database by
|
If you're using PostgreSQL or MySQL, make sure you've created a database by
|
||||||
@ -319,7 +321,8 @@ Now Django knows ``mysite`` includes the ``polls`` app. Let's run another comman
|
|||||||
|
|
||||||
python manage.py sql polls
|
python manage.py sql polls
|
||||||
|
|
||||||
You should see the following (the CREATE TABLE SQL statements for the polls app)::
|
You should see something similar to the following (the CREATE TABLE SQL statements
|
||||||
|
for the polls app)::
|
||||||
|
|
||||||
BEGIN;
|
BEGIN;
|
||||||
CREATE TABLE "polls_poll" (
|
CREATE TABLE "polls_poll" (
|
||||||
@ -337,6 +340,8 @@ You should see the following (the CREATE TABLE SQL statements for the polls app)
|
|||||||
|
|
||||||
Note the following:
|
Note the following:
|
||||||
|
|
||||||
|
* The exact output will vary depending on the database you are using.
|
||||||
|
|
||||||
* Table names are automatically generated by combining the name of the app
|
* Table names are automatically generated by combining the name of the app
|
||||||
(``polls``) and the lowercase name of the model -- ``poll`` and
|
(``polls``) and the lowercase name of the model -- ``poll`` and
|
||||||
``choice``. (You can override this behavior.)
|
``choice``. (You can override this behavior.)
|
||||||
@ -365,8 +370,9 @@ If you're interested, also run the following commands:
|
|||||||
* ``python manage.py validate polls`` -- Checks for any errors in the
|
* ``python manage.py validate polls`` -- Checks for any errors in the
|
||||||
construction of your models.
|
construction of your models.
|
||||||
|
|
||||||
* ``python manage.py sqlinitialdata polls`` -- Outputs any initial data
|
* ``python manage.py sqlcustom polls`` -- Outputs any custom SQL statements
|
||||||
required for Django's admin framework and your models.
|
(such as table modifications or constraints) that are defined for the
|
||||||
|
application.
|
||||||
|
|
||||||
* ``python manage.py sqlclear polls`` -- Outputs the necessary ``DROP
|
* ``python manage.py sqlclear polls`` -- Outputs the necessary ``DROP
|
||||||
TABLE`` statements for this app, according to which tables already exist
|
TABLE`` statements for this app, according to which tables already exist
|
||||||
|
53
docs/webdesign.txt
Normal file
53
docs/webdesign.txt
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
========================
|
||||||
|
django.contrib.webdesign
|
||||||
|
========================
|
||||||
|
|
||||||
|
The ``django.contrib.webdesign`` package, part of the `"django.contrib" add-ons`_,
|
||||||
|
provides various Django helpers that are particularly useful to Web *designers*
|
||||||
|
(as opposed to developers).
|
||||||
|
|
||||||
|
At present, the package contains only a single template tag. If you have ideas
|
||||||
|
for Web-designer-friendly functionality in Django, please `suggest them`_.
|
||||||
|
|
||||||
|
.. _"django.contrib" add-ons: ../add_ons/
|
||||||
|
.. _suggest them: ../contributing/
|
||||||
|
|
||||||
|
Template tags
|
||||||
|
=============
|
||||||
|
|
||||||
|
To use these template tags, add ``'django.contrib.webdesign'`` to your
|
||||||
|
``INSTALLED_APPS`` setting. Once you've done that, use
|
||||||
|
``{% load webdesign %}`` in a template to give your template access to the tags.
|
||||||
|
|
||||||
|
|
||||||
|
lorem
|
||||||
|
=====
|
||||||
|
|
||||||
|
Displays random "lorem ipsum" Latin text. This is useful for providing sample
|
||||||
|
data in templates.
|
||||||
|
|
||||||
|
Usage::
|
||||||
|
|
||||||
|
{% lorem [count] [method] [random] %}
|
||||||
|
|
||||||
|
The ``{% lorem %}`` tag can be used with zero, one, two or three arguments.
|
||||||
|
The arguments are:
|
||||||
|
|
||||||
|
=========== =============================================================
|
||||||
|
Argument Description
|
||||||
|
=========== =============================================================
|
||||||
|
``count`` A number (or variable) containing the number of paragraphs or
|
||||||
|
words to generate (default is 1).
|
||||||
|
``method`` Either ``w`` for words, ``p`` for HTML paragraphs or ``b``
|
||||||
|
for plain-text paragraph blocks (default is ``b``).
|
||||||
|
``random`` The word ``random``, which if given, does not use the common
|
||||||
|
paragraph ("Lorem ipsum dolor sit amet...") when generating
|
||||||
|
text.
|
||||||
|
=========== =============================================================
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
* ``{% lorem %}`` will output the common "lorem ipsum" paragraph.
|
||||||
|
* ``{% lorem 3 p %}`` will output the common "lorem ipsum" paragraph
|
||||||
|
and two random paragraphs each wrapped in HTML ``<p>`` tags.
|
||||||
|
* ``{% lorem 2 w random %}`` will output two random Latin words.
|
File diff suppressed because one or more lines are too long
@ -149,7 +149,7 @@ class Templates(unittest.TestCase):
|
|||||||
|
|
||||||
# Dictionary lookup wins out when there is a string and int version of the key.
|
# Dictionary lookup wins out when there is a string and int version of the key.
|
||||||
'list-index07': ("{{ var.1 }}", {"var": {'1': "hello", 1: "world"}}, "hello"),
|
'list-index07': ("{{ var.1 }}", {"var": {'1': "hello", 1: "world"}}, "hello"),
|
||||||
|
|
||||||
# Basic filter usage
|
# Basic filter usage
|
||||||
'basic-syntax21': ("{{ var|upper }}", {"var": "Django is the greatest!"}, "DJANGO IS THE GREATEST!"),
|
'basic-syntax21': ("{{ var|upper }}", {"var": "Django is the greatest!"}, "DJANGO IS THE GREATEST!"),
|
||||||
|
|
||||||
@ -650,6 +650,10 @@ class Templates(unittest.TestCase):
|
|||||||
'widthratio09': ('{% widthratio a b %}', {'a':50,'b':100}, template.TemplateSyntaxError),
|
'widthratio09': ('{% widthratio a b %}', {'a':50,'b':100}, template.TemplateSyntaxError),
|
||||||
'widthratio10': ('{% widthratio a b 100.0 %}', {'a':50,'b':100}, template.TemplateSyntaxError),
|
'widthratio10': ('{% widthratio a b 100.0 %}', {'a':50,'b':100}, template.TemplateSyntaxError),
|
||||||
|
|
||||||
|
### WITH TAG ########################################################
|
||||||
|
'with01': ('{% with dict.key as key %}{{ key }}{% endwith %}', {'dict': {'key':50}}, '50'),
|
||||||
|
'with02': ('{{ key }}{% with dict.key as key %}{{ key }}-{{ dict.key }}-{{ key }}{% endwith %}{{ key }}', {'dict': {'key':50}}, ('50-50-50', 'INVALID50-50-50INVALID')),
|
||||||
|
|
||||||
### NOW TAG ########################################################
|
### NOW TAG ########################################################
|
||||||
# Simple case
|
# Simple case
|
||||||
'now01' : ('{% now "j n Y"%}', {}, str(datetime.now().day) + ' ' + str(datetime.now().month) + ' ' + str(datetime.now().year)),
|
'now01' : ('{% now "j n Y"%}', {}, str(datetime.now().day) + ' ' + str(datetime.now().month) + ' ' + str(datetime.now().year)),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user