summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoulder Sprinters <boulder-sprinters@djangoproject.com>2007-04-25 18:20:25 +0000
committerBoulder Sprinters <boulder-sprinters@djangoproject.com>2007-04-25 18:20:25 +0000
commit61bef9bbfd20c252851df4f813db39a825c64b52 (patch)
tree6447760a3155d0f4bf350100496e686a63bb7c9f
parent62ba18d7506693592e45fff47eb81be467818de5 (diff)
downloaddjango-61bef9bbfd20c252851df4f813db39a825c64b52.tar.gz
boulder-oracle-sprint: Merged to [5078]
git-svn-id: http://code.djangoproject.com/svn/django/branches/boulder-oracle-sprint@5079 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--AUTHORS3
-rw-r--r--django/conf/global_settings.py6
-rw-r--r--django/conf/locale/fr/LC_MESSAGES/django.mobin41139 -> 46214 bytes
-rw-r--r--django/conf/locale/fr/LC_MESSAGES/django.po1235
-rw-r--r--django/conf/locale/ko/LC_MESSAGES/django.mobin41548 -> 42603 bytes
-rw-r--r--django/conf/locale/ko/LC_MESSAGES/django.po3378
-rw-r--r--django/contrib/admin/views/decorators.py2
-rw-r--r--django/contrib/auth/__init__.py4
-rw-r--r--django/contrib/auth/decorators.py9
-rw-r--r--django/contrib/auth/models.py6
-rw-r--r--django/contrib/auth/views.py15
-rw-r--r--django/contrib/comments/templates/comments/form.html2
-rw-r--r--django/contrib/comments/templatetags/comments.py2
-rw-r--r--django/core/serializers/base.py6
-rw-r--r--django/core/serializers/json.py13
-rw-r--r--django/db/__init__.py3
-rw-r--r--django/db/backends/ado_mssql/base.py1
-rw-r--r--django/db/backends/dummy/base.py3
-rw-r--r--django/db/backends/mysql/base.py1
-rw-r--r--django/db/backends/mysql_old/base.py1
-rw-r--r--django/db/backends/oracle/base.py1
-rw-r--r--django/db/backends/postgresql/base.py1
-rw-r--r--django/db/backends/postgresql_psycopg2/base.py1
-rw-r--r--django/db/backends/sqlite3/base.py1
-rw-r--r--django/newforms/widgets.py19
-rw-r--r--django/template/__init__.py6
-rw-r--r--django/template/defaulttags.py1
-rw-r--r--django/utils/cache.py2
-rw-r--r--django/utils/datastructures.py19
-rw-r--r--django/utils/synch.py15
-rw-r--r--django/utils/timesince.py8
-rw-r--r--docs/api_stability.txt4
-rw-r--r--docs/authentication.txt35
-rw-r--r--docs/db-api.txt6
-rw-r--r--docs/faq.txt2
-rw-r--r--docs/flatpages.txt4
-rw-r--r--docs/forms.txt2
-rw-r--r--docs/generic_views.txt2
-rw-r--r--docs/i18n.txt2
-rw-r--r--docs/model-api.txt23
-rw-r--r--docs/redirects.txt4
-rw-r--r--docs/request_response.txt1
-rw-r--r--docs/serialization.txt2
-rw-r--r--docs/settings.txt29
-rw-r--r--docs/sites.txt4
-rw-r--r--docs/syndication_feeds.txt2
-rw-r--r--docs/tutorial01.txt2
-rw-r--r--docs/tutorial04.txt2
-rw-r--r--tests/regressiontests/datastructures/tests.py2
-rw-r--r--tests/regressiontests/forms/tests.py26
-rw-r--r--tests/regressiontests/templates/tests.py2
51 files changed, 2717 insertions, 2203 deletions
diff --git a/AUTHORS b/AUTHORS
index 35f865c962..bd7ef7770d 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -49,6 +49,7 @@ answer newbie questions, and generally made Django that much better:
ant9000@netwise.it
David Ascher <http://ascher.ca/>
Arthur <avandorp@gmail.com>
+ axiak@mit.edu
Jiri Barton
Ned Batchelder <http://www.nedbatchelder.com/>
Shannon -jj Behrens <http://jjinux.blogspot.com/>
@@ -84,6 +85,7 @@ answer newbie questions, and generally made Django that much better:
Jeremy Dunck <http://dunck.us/>
Andy Dustman <farcepest@gmail.com>
Clint Ecker
+ enlight
Enrico <rico.bl@gmail.com>
Ludvig Ericson <ludvig.ericson@gmail.com>
Dirk Eschler <dirk.eschler@gmx.net>
@@ -108,6 +110,7 @@ answer newbie questions, and generally made Django that much better:
hipertracker@gmail.com
Ian Holsman <http://feh.holsman.net/>
Kieran Holland <http://www.kieranholland.com>
+ Sung-Jin Hong <serialx.net@gmail.com>
Robert Rock Howard <http://djangomojo.com/>
Jason Huggins <http://www.jrandolph.com/blog/>
Hyun Mi Ae
diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py
index dc869ebd02..521caedbd0 100644
--- a/django/conf/global_settings.py
+++ b/django/conf/global_settings.py
@@ -312,6 +312,12 @@ BANNED_IPS = ()
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
+LOGIN_URL = '/accounts/login/'
+
+LOGOUT_URL = '/accounts/logout/'
+
+LOGIN_REDIRECT_URL = '/accounts/profile/'
+
###########
# TESTING #
###########
diff --git a/django/conf/locale/fr/LC_MESSAGES/django.mo b/django/conf/locale/fr/LC_MESSAGES/django.mo
index 7250343b45..b96306cabd 100644
--- a/django/conf/locale/fr/LC_MESSAGES/django.mo
+++ b/django/conf/locale/fr/LC_MESSAGES/django.mo
Binary files differ
diff --git a/django/conf/locale/fr/LC_MESSAGES/django.po b/django/conf/locale/fr/LC_MESSAGES/django.po
index 14fc0083b8..2e525466b1 100644
--- a/django/conf/locale/fr/LC_MESSAGES/django.po
+++ b/django/conf/locale/fr/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-03-11 11:46+0100\n"
+"POT-Creation-Date: 2007-04-22 09:06+0200\n"
"PO-Revision-Date: 2006-05-08 15:12+0200\n"
"Last-Translator: Baptiste Goupil <baptiste.goupil_at_google_email.com>\n"
"Language-Team: français <fr@li.org>\n"
@@ -15,11 +15,11 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: oldforms/__init__.py:357 db/models/fields/__init__.py:116
-#: db/models/fields/__init__.py:273 db/models/fields/__init__.py:609
-#: db/models/fields/__init__.py:620 newforms/models.py:177
-#: newforms/fields.py:78 newforms/fields.py:374 newforms/fields.py:450
-#: newforms/fields.py:461
+#: oldforms/__init__.py:357 db/models/fields/__init__.py:114
+#: db/models/fields/__init__.py:271 db/models/fields/__init__.py:607
+#: db/models/fields/__init__.py:618 newforms/models.py:178
+#: newforms/fields.py:80 newforms/fields.py:376 newforms/fields.py:452
+#: newforms/fields.py:463
msgid "This field is required."
msgstr "Ce champ est obligatoire."
@@ -39,17 +39,17 @@ msgstr "Les retours à la ligne ne sont pas autorisés ici."
msgid "Select a valid choice; '%(data)s' is not in %(choices)s."
msgstr "Sélectionnez un choix valide ; '%(data)s' n'est pas dans %(choices)s."
-#: oldforms/__init__.py:577 newforms/widgets.py:170
+#: oldforms/__init__.py:577 newforms/widgets.py:180
#: contrib/admin/filterspecs.py:150
msgid "Unknown"
msgstr "Inconnu"
-#: oldforms/__init__.py:577 newforms/widgets.py:170
+#: oldforms/__init__.py:577 newforms/widgets.py:180
#: contrib/admin/filterspecs.py:143
msgid "Yes"
msgstr "Oui"
-#: oldforms/__init__.py:577 newforms/widgets.py:170
+#: oldforms/__init__.py:577 newforms/widgets.py:180
#: contrib/admin/filterspecs.py:143
msgid "No"
msgstr "Non"
@@ -74,62 +74,61 @@ msgstr "Entrez un nombre entier positif."
msgid "Enter a whole number between 0 and 32,767."
msgstr "Entrez un nombre entier entre 0 et 32 767."
-#: db/models/manipulators.py:307
+#: db/models/manipulators.py:302
#, python-format
msgid "%(object)s with this %(type)s already exists for the given %(field)s."
msgstr ""
-#: db/models/manipulators.py:308 contrib/admin/views/main.py:335
-#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339
+#: db/models/manipulators.py:303
msgid "and"
msgstr "et"
-#: db/models/fields/__init__.py:42
+#: db/models/fields/__init__.py:41
#, python-format
msgid "%(optname)s with this %(fieldname)s already exists."
msgstr "%(optname)s avec le champ %(fieldname)s existe déjà."
-#: db/models/fields/__init__.py:366
+#: db/models/fields/__init__.py:364
msgid "This value must be an integer."
msgstr "Cette valeur doit être un entier."
-#: db/models/fields/__init__.py:401
+#: db/models/fields/__init__.py:399
msgid "This value must be either True or False."
msgstr "Cette valeur doit être soit Vraie soit Fausse."
-#: db/models/fields/__init__.py:422
+#: db/models/fields/__init__.py:420
msgid "This field cannot be null."
msgstr "Ce champ ne peut pas être vide."
-#: db/models/fields/__init__.py:456 core/validators.py:148
+#: db/models/fields/__init__.py:454 core/validators.py:148
msgid "Enter a valid date in YYYY-MM-DD format."
msgstr "Entrez une date valide au format AAAA-MM-JJ."
-#: db/models/fields/__init__.py:525 core/validators.py:157
+#: db/models/fields/__init__.py:523 core/validators.py:157
msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
msgstr "Entrez une date et une heure valide au format AAAA-MM-JJ HH:MM."
-#: db/models/fields/__init__.py:629
+#: db/models/fields/__init__.py:627
msgid "Enter a valid filename."
msgstr "Entrez un nom de fichier valide."
+#: db/models/fields/__init__.py:748
+msgid "This value must be either None, True or False."
+msgstr "Cette valeur doit être Nulle, Vraie ou Fausse."
+
#: db/models/fields/related.py:53
#, python-format
msgid "Please enter a valid %s."
msgstr "Entrez un %s valide."
-#: db/models/fields/related.py:642
-msgid "Separate multiple IDs with commas."
-msgstr "Séparez les ID par des virgules."
-
-#: db/models/fields/related.py:644
+#: db/models/fields/related.py:624
msgid ""
"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
msgstr ""
"Maintenez \"Contrôle (ctrl)\", ou \"Commande (touche pomme)\" sur un Mac, "
"pour en sélectionner plusieurs."
-#: db/models/fields/related.py:691
+#: db/models/fields/related.py:668
#, python-format
msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid."
msgid_plural ""
@@ -239,54 +238,58 @@ msgid "Polish"
msgstr "Polonais"
#: conf/global_settings.py:64
+msgid "Portugese"
+msgstr ""
+
+#: conf/global_settings.py:65
msgid "Brazilian"
msgstr "Brésilien"
-#: conf/global_settings.py:65
+#: conf/global_settings.py:66
msgid "Romanian"
msgstr "Roumain"
-#: conf/global_settings.py:66
+#: conf/global_settings.py:67
msgid "Russian"
msgstr "Russe"
-#: conf/global_settings.py:67
+#: conf/global_settings.py:68
msgid "Slovak"
msgstr "Slovaque"
-#: conf/global_settings.py:68
+#: conf/global_settings.py:69
msgid "Slovenian"
msgstr "Slovaque"
-#: conf/global_settings.py:69
+#: conf/global_settings.py:70
msgid "Serbian"
msgstr "Serbe"
-#: conf/global_settings.py:70
+#: conf/global_settings.py:71
msgid "Swedish"
msgstr "Suédois"
-#: conf/global_settings.py:71
+#: conf/global_settings.py:72
msgid "Tamil"
msgstr "Tamoul"
-#: conf/global_settings.py:72
+#: conf/global_settings.py:73
msgid "Telugu"
msgstr "Télougou"
-#: conf/global_settings.py:73
+#: conf/global_settings.py:74
msgid "Turkish"
msgstr "Turc"
-#: conf/global_settings.py:74
+#: conf/global_settings.py:75
msgid "Ukrainian"
msgstr "Ukrainien"
-#: conf/global_settings.py:75
+#: conf/global_settings.py:76
msgid "Simplified Chinese"
msgstr "Chinois simplifié"
-#: conf/global_settings.py:76
+#: conf/global_settings.py:77
msgid "Traditional Chinese"
msgstr "Chinois traditionnel"
@@ -342,7 +345,7 @@ msgstr "Les caractères non numériques ne sont pas autorisés ici."
msgid "This value can't be comprised solely of digits."
msgstr "Cette valeur ne peut pas être composé uniquement de chiffres."
-#: core/validators.py:120 newforms/fields.py:126
+#: core/validators.py:120 newforms/fields.py:128
msgid "Enter a whole number."
msgstr "Entrez un nombre entier."
@@ -355,15 +358,15 @@ msgid "Year must be 1900 or later."
msgstr "L'année doit être supérieure à 1900."
#: core/validators.py:143
-#, fuzzy, python-format
+#, python-format
msgid "Invalid date: %s"
-msgstr "URL invalide : %s"
+msgstr "Date invalide&amp;nbsp;: %s"
#: core/validators.py:153
msgid "Enter a valid time in HH:MM format."
msgstr "Entrez une heure valide au format HH:MM."
-#: core/validators.py:162 newforms/fields.py:269
+#: core/validators.py:162 newforms/fields.py:271
msgid "Enter a valid e-mail address."
msgstr "Entrez une adresse de courriel valide."
@@ -402,18 +405,18 @@ msgid ""
"Valid HTML is required. Specific errors are:\n"
"%s"
msgstr ""
-"Du HTML valide est requis. Les erreurs sont les suivantes :\n"
+"Du HTML valide est requis. Les erreurs sont les suivantes&amp;nbsp;:\n"
"%s"
#: core/validators.py:222
#, python-format
msgid "Badly formed XML: %s"
-msgstr "XML mal formé : %s"
+msgstr "XML mal formé&amp;nbsp;: %s"
#: core/validators.py:239
#, python-format
msgid "Invalid URL: %s"
-msgstr "URL invalide : %s"
+msgstr "URL invalide&amp;nbsp;: %s"
#: core/validators.py:244 core/validators.py:246
#, python-format
@@ -460,17 +463,17 @@ msgid "Duplicate values are not allowed."
msgstr "Des valeurs identiques ne sont pas autorisées."
#: core/validators.py:367
-#, fuzzy, python-format
+#, python-format
msgid "This value must be between %(lower)s and %(upper)s."
-msgstr "Cette valeur doit être entre %(lower)s et %(upper)s."
+msgstr "Cette valeur doit être comprise entre %(lower)s et %(upper)s."
#: core/validators.py:369
-#, fuzzy, python-format
+#, python-format
msgid "This value must be at least %s."
msgstr "Cette valeur doit être au moins %s."
#: core/validators.py:371
-#, fuzzy, python-format
+#, python-format
msgid "This value must be no more than %s."
msgstr "Cette valeur ne doit pas dépasser %s."
@@ -612,135 +615,135 @@ msgstr "L'objet %(verbose_name)s a été mis à jour avec succès."
msgid "The %(verbose_name)s was deleted."
msgstr "L'objet %(verbose_name)s a été supprimé."
-#: newforms/models.py:164 newforms/fields.py:360
+#: newforms/models.py:165 newforms/fields.py:362
msgid "Select a valid choice. That choice is not one of the available choices."
msgstr ""
"Sélectionnez un choix valide. Ce choix ne fait pas partie de ceux "
"disponibles."
-#: newforms/models.py:181 newforms/fields.py:378 newforms/fields.py:454
+#: newforms/models.py:182 newforms/fields.py:380 newforms/fields.py:456
msgid "Enter a list of values."
msgstr "Entrez une liste de valeur."
-#: newforms/models.py:187 newforms/fields.py:387
+#: newforms/models.py:188 newforms/fields.py:389
#, python-format
msgid "Select a valid choice. %s is not one of the available choices."
msgstr "Sélectionnez un choix valide ; %s n'en fait pas partie."
-#: newforms/fields.py:101 newforms/fields.py:254
+#: newforms/fields.py:103 newforms/fields.py:256
#, python-format
msgid "Ensure this value has at most %d characters."
msgstr "Assurez-vous que cette valeur fait moins de %d caractère."
-#: newforms/fields.py:103 newforms/fields.py:256
+#: newforms/fields.py:105 newforms/fields.py:258
#, python-format
msgid "Ensure this value has at least %d characters."
msgstr "Assurez-vous que cette valeur fait au moins %d caractère."
-#: newforms/fields.py:128
+#: newforms/fields.py:130
#, python-format
msgid "Ensure this value is less than or equal to %s."
msgstr "Assurez-vous que cette valeur soit plus petite ou égale à %s."
-#: newforms/fields.py:130
+#: newforms/fields.py:132
#, python-format
msgid "Ensure this value is greater than or equal to %s."
msgstr "Assurez-vous que cette valeur soit plus grande ou égale à %s."
-#: newforms/fields.py:163
+#: newforms/fields.py:165
msgid "Enter a valid date."
msgstr "Entrez une date valide."
-#: newforms/fields.py:190
+#: newforms/fields.py:192
msgid "Enter a valid time."
msgstr "Entrez une heure valide."
-#: newforms/fields.py:226
+#: newforms/fields.py:228
msgid "Enter a valid date/time."
msgstr "Entrez une date et une heure valides."
-#: newforms/fields.py:240
+#: newforms/fields.py:242
msgid "Enter a valid value."
msgstr "Entrez une valeur valide."
-#: newforms/fields.py:287 newforms/fields.py:309
+#: newforms/fields.py:289 newforms/fields.py:311
msgid "Enter a valid URL."
msgstr "Entrez une URL valide."
-#: newforms/fields.py:311
+#: newforms/fields.py:313
msgid "This URL appears to be a broken link."
msgstr "L'URL est un lien cassé."
-#: contrib/humanize/templatetags/humanize.py:16
+#: contrib/humanize/templatetags/humanize.py:17
msgid "th"
msgstr "<sup>e</sup>"
-#: contrib/humanize/templatetags/humanize.py:16
+#: contrib/humanize/templatetags/humanize.py:17
msgid "st"
msgstr "<sup>er</sup>"
-#: contrib/humanize/templatetags/humanize.py:16
+#: contrib/humanize/templatetags/humanize.py:17
msgid "nd"
msgstr "<sup>d</sup>"
-#: contrib/humanize/templatetags/humanize.py:16
+#: contrib/humanize/templatetags/humanize.py:17
msgid "rd"
msgstr "<sup>e</sup>"
-#: contrib/humanize/templatetags/humanize.py:48
+#: contrib/humanize/templatetags/humanize.py:47
#, python-format
msgid "%(value).1f million"
msgid_plural "%(value).1f million"
msgstr[0] "%(value).1f million"
msgstr[1] "%(value).1f millions"
-#: contrib/humanize/templatetags/humanize.py:51
+#: contrib/humanize/templatetags/humanize.py:50
#, python-format
msgid "%(value).1f billion"
msgid_plural "%(value).1f billion"
msgstr[0] "%(value).1f milliard"
msgstr[1] "%(value).1f milliards"
-#: contrib/humanize/templatetags/humanize.py:54
+#: contrib/humanize/templatetags/humanize.py:53
#, python-format
msgid "%(value).1f trillion"
msgid_plural "%(value).1f trillion"
msgstr[0] "%(value).1f billion"
msgstr[1] "%(value).1f billions"
-#: contrib/humanize/templatetags/humanize.py:69
+#: contrib/humanize/templatetags/humanize.py:68
msgid "one"
msgstr "un"
-#: contrib/humanize/templatetags/humanize.py:69
+#: contrib/humanize/templatetags/humanize.py:68
msgid "two"
msgstr "deux"
-#: contrib/humanize/templatetags/humanize.py:69
+#: contrib/humanize/templatetags/humanize.py:68
msgid "three"
msgstr "trois"
-#: contrib/humanize/templatetags/humanize.py:69
+#: contrib/humanize/templatetags/humanize.py:68
msgid "four"
msgstr "quatre"
-#: contrib/humanize/templatetags/humanize.py:69
+#: contrib/humanize/templatetags/humanize.py:68
msgid "five"
msgstr "cinq"
-#: contrib/humanize/templatetags/humanize.py:69
+#: contrib/humanize/templatetags/humanize.py:68
msgid "six"
msgstr "six"
-#: contrib/humanize/templatetags/humanize.py:69
+#: contrib/humanize/templatetags/humanize.py:68
msgid "seven"
msgstr "sept"
-#: contrib/humanize/templatetags/humanize.py:69
+#: contrib/humanize/templatetags/humanize.py:68
msgid "eight"
msgstr "huit"
-#: contrib/humanize/templatetags/humanize.py:69
+#: contrib/humanize/templatetags/humanize.py:68
msgid "nine"
msgstr "neuf"
@@ -776,7 +779,7 @@ msgstr "redirige"
msgid "redirects"
msgstr "redirige"
-#: contrib/comments/models.py:67 contrib/comments/models.py:166
+#: contrib/comments/models.py:67 contrib/comments/models.py:156
msgid "object ID"
msgstr "ID de l'objet"
@@ -784,8 +787,8 @@ msgstr "ID de l'objet"
msgid "headline"
msgstr "titre"
-#: contrib/comments/models.py:69 contrib/comments/models.py:90
-#: contrib/comments/models.py:167
+#: contrib/comments/models.py:69 contrib/comments/models.py:91
+#: contrib/comments/models.py:157
msgid "comment"
msgstr "commentaire"
@@ -825,15 +828,15 @@ msgstr "vote n°8"
msgid "is valid rating"
msgstr "est un vote valide"
-#: contrib/comments/models.py:83 contrib/comments/models.py:169
+#: contrib/comments/models.py:83 contrib/comments/models.py:159
msgid "date/time submitted"
msgstr "date et heure soumises"
-#: contrib/comments/models.py:84 contrib/comments/models.py:170
+#: contrib/comments/models.py:84 contrib/comments/models.py:160
msgid "is public"
msgstr "est public"
-#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304
+#: contrib/comments/models.py:85 contrib/admindocs/views.py:304
msgid "IP address"
msgstr "adresse IP"
@@ -849,15 +852,15 @@ msgstr ""
"Cochez cette case si le commentaire est inadéquat. Un message type \"Ce "
"commentaire a été supprimé\" sera affiché en lieu et place de celui-ci."
-#: contrib/comments/models.py:91
+#: contrib/comments/models.py:92
msgid "comments"
msgstr "commentaires"
-#: contrib/comments/models.py:131 contrib/comments/models.py:207
+#: contrib/comments/models.py:121 contrib/comments/models.py:188
msgid "Content object"
msgstr "Type de contenu"
-#: contrib/comments/models.py:159
+#: contrib/comments/models.py:149
#, python-format
msgid ""
"Posted by %(user)s at %(date)s\n"
@@ -872,48 +875,48 @@ msgstr ""
"\n"
"http://%(domain)s%(url)s"
-#: contrib/comments/models.py:168
+#: contrib/comments/models.py:158
msgid "person's name"
msgstr "nom"
-#: contrib/comments/models.py:171
+#: contrib/comments/models.py:161
msgid "ip address"
msgstr "adresse IP"
-#: contrib/comments/models.py:173
+#: contrib/comments/models.py:163
msgid "approved by staff"
msgstr "approuvé par l'équipe"
-#: contrib/comments/models.py:176
+#: contrib/comments/models.py:167
msgid "free comment"
msgstr "commentaire libre"
-#: contrib/comments/models.py:177
+#: contrib/comments/models.py:168
msgid "free comments"
msgstr "commentaires libres"
-#: contrib/comments/models.py:233
+#: contrib/comments/models.py:214
msgid "score"
msgstr "evaluation"
-#: contrib/comments/models.py:234
+#: contrib/comments/models.py:215
msgid "score date"
msgstr "date d'évaluation"
-#: contrib/comments/models.py:237
+#: contrib/comments/models.py:219
msgid "karma score"
msgstr "point de Karma"
-#: contrib/comments/models.py:238
+#: contrib/comments/models.py:220
msgid "karma scores"
msgstr "points de Karma"
-#: contrib/comments/models.py:242
+#: contrib/comments/models.py:224
#, python-format
msgid "%(score)d rating by %(user)s"
msgstr "%(score)d évalué par %(user)s"
-#: contrib/comments/models.py:258
+#: contrib/comments/models.py:240
#, python-format
msgid ""
"This comment was flagged by %(user)s:\n"
@@ -924,36 +927,36 @@ msgstr ""
"\n"
"%(text)s"
-#: contrib/comments/models.py:265
+#: contrib/comments/models.py:247
msgid "flag date"
msgstr "date d'indicateur"
-#: contrib/comments/models.py:268
+#: contrib/comments/models.py:251
msgid "user flag"
msgstr "indicateur utilisateur"
-#: contrib/comments/models.py:269
+#: contrib/comments/models.py:252
msgid "user flags"
msgstr "indicateurs utilisateur"
-#: contrib/comments/models.py:273
+#: contrib/comments/models.py:256
#, python-format
msgid "Flag by %r"
msgstr "Indicateur par %r"
-#: contrib/comments/models.py:278
+#: contrib/comments/models.py:261
msgid "deletion date"
msgstr "date de suppression"
-#: contrib/comments/models.py:280
+#: contrib/comments/models.py:264
msgid "moderator deletion"
msgstr "suppression de modérateur"
-#: contrib/comments/models.py:281
+#: contrib/comments/models.py:265
msgid "moderator deletions"
msgstr "suppressions de modérateur"
-#: contrib/comments/models.py:285
+#: contrib/comments/models.py:269
#, python-format
msgid "Moderator deletion by %r"
msgstr "Suppression de modérateur par %r"
@@ -990,12 +993,12 @@ msgid_plural ""
"%(text)s"
msgstr[0] ""
"Ce commentaire a été posté par un utilisateur qui a posté moins de %(count)s "
-"commentaire :\n"
+"commentaire&amp;nbsp;:\n"
"\n"
"%(text)s"
msgstr[1] ""
"Ce commentaire a été posté par un utilisateur qui a posté moins de %(count)s "
-"commentaires :\n"
+"commentaires&amp;nbsp;:\n"
"\n"
"%(text)s"
@@ -1006,7 +1009,7 @@ msgid ""
"\n"
"%(text)s"
msgstr ""
-"Ce commentaire a été posté par un utilisateur imprécis :\n"
+"Ce commentaire a été posté par un utilisateur imprécis&amp;nbsp;:\n"
"\n"
"%(text)s"
@@ -1045,12 +1048,12 @@ msgstr ""
#: contrib/comments/templates/comments/freeform.html:4
msgid "Your name:"
-msgstr "Votre nom :"
+msgstr "Votre nom&amp;nbsp;:"
#: contrib/comments/templates/comments/freeform.html:5
#: contrib/comments/templates/comments/form.html:28
msgid "Comment:"
-msgstr "Commentaire :"
+msgstr "Commentaire&amp;nbsp;:"
#: contrib/comments/templates/comments/freeform.html:10
#: contrib/comments/templates/comments/form.html:35
@@ -1059,16 +1062,16 @@ msgstr "Prévisualisation du commentaire"
#: contrib/comments/templates/comments/form.html:6
#: contrib/comments/templates/comments/form.html:8
-#: contrib/admin/templates/admin/login.html:17
+#: contrib/admin/templates/admin/login.html:19
msgid "Username:"
msgstr "Nom d'utilisateur"
#: contrib/comments/templates/comments/form.html:6
-#: contrib/admin/templates/admin/object_history.html:3
-#: contrib/admin/templates/admin/change_list.html:5
-#: contrib/admin/templates/admin/change_form.html:10
+#: contrib/admin/templates/admin/object_history.html:4
+#: contrib/admin/templates/admin/change_list.html:8
+#: contrib/admin/templates/admin/change_form.html:16
#: contrib/admin/templates/admin/base.html:25
-#: contrib/admin/templates/admin/delete_confirmation.html:3
+#: contrib/admin/templates/admin/delete_confirmation.html:4
#: contrib/admin/templates/admin/auth/user/change_password.html:9
#: contrib/admin/templates/registration/password_change_done.html:3
#: contrib/admin/templates/registration/password_change_form.html:3
@@ -1086,7 +1089,7 @@ msgid "Log out"
msgstr "Déconnexion"
#: contrib/comments/templates/comments/form.html:8
-#: contrib/admin/templates/admin/login.html:20
+#: contrib/admin/templates/admin/login.html:22
msgid "Password:"
msgstr "Mot de passe"
@@ -1120,11 +1123,11 @@ msgstr "nom de domaine"
msgid "display name"
msgstr "nom à afficher"
-#: contrib/sites/models.py:15
+#: contrib/sites/models.py:16
msgid "site"
msgstr "site"
-#: contrib/sites/models.py:16
+#: contrib/sites/models.py:17
msgid "sites"
msgstr "sites"
@@ -1134,7 +1137,7 @@ msgid ""
"<h3>By %s:</h3>\n"
"<ul>\n"
msgstr ""
-"<h3>Par %s :</h3>\n"
+"<h3>Par %s&amp;nbsp;:</h3>\n"
"<ul>\n"
#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88
@@ -1162,6 +1165,66 @@ msgstr "Ce mois-ci"
msgid "This year"
msgstr "Cette année"
+#: contrib/admin/options.py:307 contrib/admin/views/auth.py:19
+#, python-format
+msgid "The %(name)s \"%(obj)s\" was added successfully."
+msgstr "L'objet %(name)s \"%(obj)s\" a été ajouté avec succès."
+
+#: contrib/admin/options.py:311 contrib/admin/options.py:363
+#: contrib/admin/views/auth.py:24
+msgid "You may edit it again below."
+msgstr "Vous pouvez continuez de l'éditez ci-dessous."
+
+#: contrib/admin/options.py:321 contrib/admin/options.py:372
+#, python-format
+msgid "You may add another %s below."
+msgstr "Vous pouvez ajouter un autre %s ci-dessous."
+
+#: contrib/admin/options.py:358
+msgid "No fields changed."
+msgstr "Aucun champ modifié."
+
+#: contrib/admin/options.py:361
+#, python-format
+msgid "The %(name)s \"%(obj)s\" was changed successfully."
+msgstr "L'objet %(name)s \"%(obj)s\" a été modifié avec succès."
+
+#: contrib/admin/options.py:369
+#, python-format
+msgid ""
+"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
+msgstr ""
+"L'objet %(name)s \"%(obj)s\" a été ajouté avec succès.Vous pouvez continuez "
+"de l'éditez ci-dessous."
+
+#: contrib/admin/options.py:408
+#, python-format
+msgid "Add %s"
+msgstr "Ajouter %s"
+
+#: contrib/admin/options.py:468
+#, python-format
+msgid "Change %s"
+msgstr "Changement %s"
+
+#: contrib/admin/options.py:494
+msgid "Database error"
+msgstr "Erreur de base de données"
+
+#: contrib/admin/options.py:539
+#, python-format
+msgid "The %(name)s \"%(obj)s\" was deleted successfully."
+msgstr "L'objet %(name)s \"%(obj)s\" a été supprimé avec succès."
+
+#: contrib/admin/options.py:542
+msgid "Are you sure?"
+msgstr "Êtes-vous sûr ?"
+
+#: contrib/admin/options.py:564
+#, python-format
+msgid "Change history: %s"
+msgstr "Historique des changements&amp;nbsp;: %s"
+
#: contrib/admin/models.py:16
msgid "action time"
msgstr "heure de l'action"
@@ -1190,11 +1253,16 @@ msgstr "entrée d'historique"
msgid "log entries"
msgstr "entrées d'historique"
-#: contrib/admin/templatetags/admin_list.py:247
-msgid "All dates"
-msgstr "Toutes les dates"
+#: contrib/admin/widgets.py:43
+msgid "Date:"
+msgstr "Date&amp;nbsp;:"
-#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:60
+#: contrib/admin/widgets.py:43
+msgid "Time:"
+msgstr "Heure&amp;nbsp;:"
+
+#: contrib/admin/sites.py:13 contrib/admin/views/decorators.py:10
+#: contrib/auth/forms.py:60
msgid ""
"Please enter a correct username and password. Note that both fields are case-"
"sensitive."
@@ -1203,12 +1271,12 @@ msgstr ""
"Remarquez que chacun de ces champs est sensible à la casse (différenciation "
"des majuscules/minuscules)."
-#: contrib/admin/views/decorators.py:24
-#: contrib/admin/templates/admin/login.html:25
+#: contrib/admin/sites.py:33 contrib/admin/views/decorators.py:24
+#: contrib/admin/templates/admin/login.html:27
msgid "Log in"
msgstr "Connectez-vous"
-#: contrib/admin/views/decorators.py:62
+#: contrib/admin/sites.py:186 contrib/admin/views/decorators.py:62
msgid ""
"Please log in again, because your session has expired. Don't worry: Your "
"submission has been saved."
@@ -1216,7 +1284,7 @@ msgstr ""
"Votre session a expiré, connectez-vous de nouveau s'il vous plaît. Ne vous "
"inquiétez pas, votre travail précédement éffectué a été sauvé."
-#: contrib/admin/views/decorators.py:69
+#: contrib/admin/sites.py:193 contrib/admin/views/decorators.py:69
msgid ""
"Looks like your browser isn't configured to accept cookies. Please enable "
"cookies, reload this page, and try again."
@@ -1224,283 +1292,70 @@ msgstr ""
"Il semblerait que votre navigateur n'accepte pas les cookies. Activez-les, "
"rechargez cette page et rééssayez s'il vous plaît."
-#: contrib/admin/views/decorators.py:83
+#: contrib/admin/sites.py:207 contrib/admin/views/decorators.py:83
msgid "Usernames cannot contain the '@' character."
msgstr "Les noms d'utilisateur ne peuvent contenir le caractère '@'"
-#: contrib/admin/views/decorators.py:85
+#: contrib/admin/sites.py:209 contrib/admin/views/decorators.py:85
#, python-format
msgid "Your e-mail address is not your username. Try '%s' instead."
msgstr ""
"Votre courriel n'est pas votre nom d'utilisateur. Essayez '%s' à la place."
-#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257
-#, python-format
-msgid "The %(name)s \"%(obj)s\" was added successfully."
-msgstr "L'objet %(name)s \"%(obj)s\" a été ajouté avec succès."
+#: contrib/admin/sites.py:263 contrib/admin/views/main.py:136
+msgid "Site administration"
+msgstr "Gestion du site"
-#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261
-#: contrib/admin/views/main.py:347
-msgid "You may edit it again below."
-msgstr "Vous pouvez continuez de l'éditez ci-dessous."
+#: contrib/admin/templatetags/admin_list.py:247
+msgid "All dates"
+msgstr "Toutes les dates"
#: contrib/admin/views/auth.py:30
-#, fuzzy
msgid "Add user"
-msgstr "Ajouter %s"
+msgstr "Ajouter l'utilisateur"
-#: contrib/admin/views/auth.py:57
-#, fuzzy
+#: contrib/admin/views/auth.py:55
msgid "Password changed successfully."
msgstr "Mot de passe modifié avec succés"
-#: contrib/admin/views/auth.py:64
-#, fuzzy, python-format
-msgid "Change password: %s"
-msgstr "Modifier votre mot de passe"
-
-#: contrib/admin/views/main.py:223
-msgid "Site administration"
-msgstr "Gestion du site"
-
-#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356
-#, python-format
-msgid "You may add another %s below."
-msgstr "Vous pouvez ajouter un autre %s ci-dessous."
-
-#: contrib/admin/views/main.py:289
+#: contrib/admin/views/auth.py:62
#, python-format
-msgid "Add %s"
-msgstr "Ajouter %s"
-
-#: contrib/admin/views/main.py:335
-#, python-format
-msgid "Added %s."
-msgstr "Ajouté %s."
-
-#: contrib/admin/views/main.py:337
-#, python-format
-msgid "Changed %s."
-msgstr "Modifié %s."
-
-#: contrib/admin/views/main.py:339
-#, python-format
-msgid "Deleted %s."
-msgstr "Supprimé %s."
-
-#: contrib/admin/views/main.py:342
-msgid "No fields changed."
-msgstr "Aucun champ modifié."
-
-#: contrib/admin/views/main.py:345
-#, python-format
-msgid "The %(name)s \"%(obj)s\" was changed successfully."
-msgstr "L'objet %(name)s \"%(obj)s\" a été modifié avec succès."
-
-#: contrib/admin/views/main.py:353
-#, python-format
-msgid ""
-"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
-msgstr ""
-"L'objet %(name)s \"%(obj)s\" a été ajouté avec succès.Vous pouvez continuez "
-"de l'éditez ci-dessous."
-
-#: contrib/admin/views/main.py:391
-#, python-format
-msgid "Change %s"
-msgstr "Changement %s"
+msgid "Change password: %s"
+msgstr "Modifier le mot de passe&amp;nbsp;: %s"
-#: contrib/admin/views/main.py:476
+#: contrib/admin/views/main.py:215
#, python-format
msgid "One or more %(fieldname)s in %(name)s: %(obj)s"
-msgstr "Un ou plusieurs %(fieldname)s dans %(name)s: %(obj)s"
+msgstr "Un ou plusieurs %(fieldname)s dans %(name)s&amp;nbsp;: %(obj)s"
-#: contrib/admin/views/main.py:481
+#: contrib/admin/views/main.py:220
#, python-format
msgid "One or more %(fieldname)s in %(name)s:"
-msgstr "Un ou plusieurs %(fieldname)s dans %(name)s:"
-
-#: contrib/admin/views/main.py:514
-#, python-format
-msgid "The %(name)s \"%(obj)s\" was deleted successfully."
-msgstr "L'objet %(name)s \"%(obj)s\" a été supprimé avec succès."
-
-#: contrib/admin/views/main.py:517
-msgid "Are you sure?"
-msgstr "Êtes-vous sûr ?"
-
-#: contrib/admin/views/main.py:539
-#, python-format
-msgid "Change history: %s"
-msgstr "Historique des changements : %s"
+msgstr "Un ou plusieurs %(fieldname)s dans %(name)s&amp;nbsp;: "
-#: contrib/admin/views/main.py:573
+#: contrib/admin/views/main.py:262
#, python-format
msgid "Select %s"
msgstr "Sélectionnez %s"
-#: contrib/admin/views/main.py:573
+#: contrib/admin/views/main.py:262
#, python-format
msgid "Select %s to change"
msgstr "Sélectionnez %s pour changer"
-#: contrib/admin/views/main.py:768
-msgid "Database error"
-msgstr "Erreur de base de données"
-
-#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48
-#: contrib/admin/views/doc.py:50
-msgid "tag:"
-msgstr "mot-clé :"
-
-#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79
-#: contrib/admin/views/doc.py:81
-msgid "filter:"
-msgstr "filtre :"
-
-#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137
-#: contrib/admin/views/doc.py:139
-msgid "view:"
-msgstr "vue :"
-
-#: contrib/admin/views/doc.py:164
-#, python-format
-msgid "App %r not found"
-msgstr "L'application %r n'a pas été trouvée."
-
-#: contrib/admin/views/doc.py:171
-#, python-format
-msgid "Model %(name)r not found in app %(label)r"
-msgstr "Le modèle %(name)r n'a pas été trouvé dans l'application %(label)r"
-
-#: contrib/admin/views/doc.py:183
-#, python-format
-msgid "the related `%(label)s.%(type)s` object"
-msgstr "l'objet `%(label)s.%(type)s en relation "
-
-#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205
-#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224
-msgid "model:"
-msgstr "modèle :"
-
-#: contrib/admin/views/doc.py:214
-#, python-format
-msgid "related `%(label)s.%(name)s` objects"
-msgstr "les objets `%(label)s.%(type)s en relation"
-
-#: contrib/admin/views/doc.py:219
-#, python-format
-msgid "all %s"
-msgstr "tous les %s"
-
-#: contrib/admin/views/doc.py:224
-#, python-format
-msgid "number of %s"
-msgstr "nombre de %s"
-
-#: contrib/admin/views/doc.py:229
-#, python-format
-msgid "Fields on %s objects"
-msgstr "Champs sur les objets %s"
-
-#: 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:310 contrib/admin/views/doc.py:312
-msgid "Integer"
-msgstr "Entier"
-
-#: contrib/admin/views/doc.py:292
-msgid "Boolean (Either True or False)"
-msgstr "Booléen (Vrai ou Faux)"
-
-#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311
-#, python-format
-msgid "String (up to %(maxlength)s)"
-msgstr "Chaîne de caractère (jusqu'à %(maxlength)s)"
-
-#: contrib/admin/views/doc.py:294
-msgid "Comma-separated integers"
-msgstr "Des entiers séparés par une virgule"
-
-#: contrib/admin/views/doc.py:295
-msgid "Date (without time)"
-msgstr "Date (sans l'heure)"
-
-#: contrib/admin/views/doc.py:296
-msgid "Date (with time)"
-msgstr "Date (avec l'heure)"
-
-#: contrib/admin/views/doc.py:297
-msgid "E-mail address"
-msgstr "Courriel :"
-
-#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299
-#: contrib/admin/views/doc.py:302
-msgid "File path"
-msgstr "Chemin vers le fichier"
-
-#: contrib/admin/views/doc.py:300
-msgid "Decimal number"
-msgstr "Nombre décimal"
-
-#: contrib/admin/views/doc.py:306
-msgid "Boolean (Either True, False or None)"
-msgstr "Booléen (Vrai, Faux ou None)"
-
-#: contrib/admin/views/doc.py:307
-msgid "Relation to parent model"
-msgstr "Relation au modèle parent"
-
-#: contrib/admin/views/doc.py:308
-msgid "Phone number"
-msgstr "Numéro de téléphone"
-
-#: contrib/admin/views/doc.py:313
-msgid "Text"
-msgstr "Texte"
-
-#: contrib/admin/views/doc.py:314
-msgid "Time"
-msgstr "Heure"
-
-#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7
-msgid "URL"
-msgstr "URL"
-
-#: contrib/admin/views/doc.py:316
-msgid "U.S. state (two uppercase letters)"
-msgstr "État U.S. (deux lettres majuscules)"
-
-#: contrib/admin/views/doc.py:317
-msgid "XML text"
-msgstr "Texte XML"
-
-#: contrib/admin/views/doc.py:343
-#, python-format
-msgid "%s does not appear to be a urlpattern object"
-msgstr "%s ne semble pas être un objet urlpattern"
-
#: contrib/admin/templates/widget/file.html:2
msgid "Currently:"
-msgstr "Actuellement :"
+msgstr "Actuellement&amp;nbsp;:"
#: contrib/admin/templates/widget/file.html:3
msgid "Change:"
-msgstr "Modification :"
-
-#: contrib/admin/templates/widget/date_time.html:3
-msgid "Date:"
-msgstr "Date :"
-
-#: contrib/admin/templates/widget/date_time.html:4
-msgid "Time:"
-msgstr "Heure :"
+msgstr "Modification&amp;nbsp;:"
-#: contrib/admin/templates/admin/object_history.html:3
-#: contrib/admin/templates/admin/change_list.html:5
-#: contrib/admin/templates/admin/change_form.html:10
+#: contrib/admin/templates/admin/object_history.html:4
+#: contrib/admin/templates/admin/change_list.html:8
+#: contrib/admin/templates/admin/change_form.html:16
#: contrib/admin/templates/admin/base.html:25
-#: contrib/admin/templates/admin/delete_confirmation.html:3
+#: contrib/admin/templates/admin/delete_confirmation.html:4
#: contrib/admin/templates/admin/auth/user/change_password.html:9
#: contrib/admin/templates/registration/password_change_done.html:3
#: contrib/admin/templates/registration/password_change_form.html:3
@@ -1508,11 +1363,11 @@ msgstr "Heure :"
msgid "Documentation"
msgstr "Documentation"
-#: contrib/admin/templates/admin/object_history.html:3
-#: contrib/admin/templates/admin/change_list.html:5
-#: contrib/admin/templates/admin/change_form.html:10
+#: contrib/admin/templates/admin/object_history.html:4
+#: contrib/admin/templates/admin/change_list.html:8
+#: contrib/admin/templates/admin/change_form.html:16
#: contrib/admin/templates/admin/base.html:25
-#: contrib/admin/templates/admin/delete_confirmation.html:3
+#: contrib/admin/templates/admin/delete_confirmation.html:4
#: contrib/admin/templates/admin/auth/user/change_password.html:9
#: contrib/admin/templates/admin/auth/user/change_password.html:15
#: contrib/admin/templates/admin/auth/user/change_password.html:46
@@ -1531,13 +1386,13 @@ msgstr "Documentation"
msgid "Change password"
msgstr "Modifier votre mot de passe"
-#: contrib/admin/templates/admin/object_history.html:5
-#: contrib/admin/templates/admin/change_list.html:6
+#: contrib/admin/templates/admin/object_history.html:7
+#: contrib/admin/templates/admin/change_list.html:10
#: contrib/admin/templates/admin/500.html:4
#: contrib/admin/templates/admin/invalid_setup.html:4
-#: contrib/admin/templates/admin/change_form.html:13
+#: contrib/admin/templates/admin/change_form.html:20
#: contrib/admin/templates/admin/base.html:30
-#: contrib/admin/templates/admin/delete_confirmation.html:6
+#: contrib/admin/templates/admin/delete_confirmation.html:8
#: contrib/admin/templates/admin/auth/user/change_password.html:12
#: contrib/admin/templates/registration/password_change_done.html:4
#: contrib/admin/templates/registration/password_reset_form.html:4
@@ -1548,8 +1403,8 @@ msgstr "Modifier votre mot de passe"
msgid "Home"
msgstr "Accueil"
-#: contrib/admin/templates/admin/object_history.html:5
-#: contrib/admin/templates/admin/change_form.html:21
+#: contrib/admin/templates/admin/object_history.html:7
+#: contrib/admin/templates/admin/change_form.html:29
msgid "History"
msgstr "Historique"
@@ -1569,7 +1424,7 @@ msgstr "Action"
msgid "DATE_WITH_TIME_FULL"
msgstr "j. N Y, H:i"
-#: contrib/admin/templates/admin/object_history.html:36
+#: contrib/admin/templates/admin/object_history.html:34
msgid ""
"This object doesn't have a change history. It probably wasn't added via this "
"admin site."
@@ -1577,11 +1432,15 @@ msgstr ""
"Cet objet n'a pas d'historique de modification. Il n'a probablement pas été "
"ajouté au moyen de ce site d'administration."
-#: contrib/admin/templates/admin/change_list.html:12
+#: contrib/admin/templates/admin/change_list.html:18
#, python-format
msgid "Add %(name)s"
msgstr "Ajouter %(name)s"
+#: contrib/admin/templates/admin/change_list.html:28
+msgid "Filter"
+msgstr "Filtre"
+
#: contrib/admin/templates/admin/filter.html:2
#, python-format
msgid " By %(filter_title)s "
@@ -1608,13 +1467,14 @@ msgstr ""
"administrateurs du site et sera corrigée dans les meilleurs délais. Merci "
"pour votre patience."
-#: contrib/admin/templates/admin/invalid_setup.html:8
+#: contrib/admin/templates/admin/invalid_setup.html:7
msgid ""
"Something's wrong with your database installation. Make sure the appropriate "
"database tables have been created, and make sure the database is readable by "
"the appropriate user."
-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."
+msgstr ""
+"Quelque chose ne va pas avec votre base de données. Vérifiez que lesbonnes "
+"bases ont été créées, et qu'elle est lisible par le bon utilisateur."
#: contrib/admin/templates/admin/search_form.html:8
msgid "Go"
@@ -1644,10 +1504,6 @@ msgstr "Site d'administration de Django"
msgid "Django administration"
msgstr "Administration de Django"
-#: contrib/admin/templates/admin/filters.html:4
-msgid "Filter"
-msgstr "Filtre"
-
#: contrib/admin/templates/admin/404.html:4
#: contrib/admin/templates/admin/404.html:8
msgid "Page not found"
@@ -1657,70 +1513,62 @@ msgstr "Cette page n'a pas été trouvée"
msgid "We're sorry, but the requested page could not be found."
msgstr "Nous sommes désolés, mais la page demandée est introuvable."
-#: contrib/admin/templates/admin/index.html:17
+#: contrib/admin/templates/admin/index.html:18
#, python-format
msgid "Models available in the %(name)s application."
msgstr "Modèles disponibles dans l'application %(name)s."
-#: contrib/admin/templates/admin/index.html:18
+#: contrib/admin/templates/admin/index.html:19
#, python-format
msgid "%(name)s"
msgstr "%(name)s"
-#: contrib/admin/templates/admin/index.html:28
-#: contrib/admin/templates/admin/change_form.html:15
+#: contrib/admin/templates/admin/index.html:29
+#: contrib/admin/templates/admin/change_form.html:22
msgid "Add"
msgstr "Ajouter"
-#: contrib/admin/templates/admin/index.html:34
+#: contrib/admin/templates/admin/index.html:35
msgid "Change"
msgstr "Modifier"
-#: contrib/admin/templates/admin/index.html:44
+#: contrib/admin/templates/admin/index.html:45
msgid "You don't have permission to edit anything."
msgstr "Vous n'avez pas la permission d'éditer quoi que ce soit."
-#: contrib/admin/templates/admin/index.html:52
+#: contrib/admin/templates/admin/index.html:53
msgid "Recent Actions"
msgstr "Actions récentes"
-#: contrib/admin/templates/admin/index.html:53
+#: contrib/admin/templates/admin/index.html:54
msgid "My Actions"
msgstr "Mes actions"
-#: contrib/admin/templates/admin/index.html:57
+#: contrib/admin/templates/admin/index.html:58
msgid "None available"
msgstr "Aucun(e) disponible"
-#: contrib/admin/templates/admin/change_form.html:22
+#: contrib/admin/templates/admin/change_form.html:30
msgid "View on site"
msgstr "Voir sur le site"
-#: contrib/admin/templates/admin/change_form.html:32
+#: contrib/admin/templates/admin/change_form.html:40
#: contrib/admin/templates/admin/auth/user/change_password.html:24
msgid "Please correct the error below."
msgid_plural "Please correct the errors below."
msgstr[0] "Veuillez corriger l'erreur ci-dessous."
msgstr[1] "Veuillez corriger les erreurs ci-dessous."
-#: contrib/admin/templates/admin/change_form.html:50
-msgid "Ordering"
-msgstr "Tri"
-
-#: contrib/admin/templates/admin/change_form.html:53
-msgid "Order:"
-msgstr "Ordre :"
-
#: contrib/admin/templates/admin/base.html:25
msgid "Welcome,"
msgstr "Bienvenue,"
-#: contrib/admin/templates/admin/delete_confirmation.html:9
+#: contrib/admin/templates/admin/delete_confirmation.html:11
#: contrib/admin/templates/admin/submit_line.html:3
msgid "Delete"
msgstr "Supprimer"
-#: contrib/admin/templates/admin/delete_confirmation.html:14
+#: contrib/admin/templates/admin/delete_confirmation.html:17
#, python-format
msgid ""
"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting "
@@ -1729,9 +1577,9 @@ msgid ""
msgstr ""
"Supprimer l'objet %(object_name)s '%(escaped_object)s' provoquerait la "
"suppression des objets qui lui sont liés mais votre compte ne possède pas la "
-"permission de supprimer les types d'objets suivants :"
+"permission de supprimer les types d'objets suivants&amp;nbsp;:"
-#: contrib/admin/templates/admin/delete_confirmation.html:21
+#: contrib/admin/templates/admin/delete_confirmation.html:24
#, python-format
msgid ""
"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? "
@@ -1739,9 +1587,9 @@ msgid ""
msgstr ""
"Êtes vous certain de vouloir supprimer l'objet %(object_name)s \"%"
"(escaped_object)s\" ? Les éléments suivant sont liés à celui-ci et seront "
-"aussi supprimés :"
+"aussi supprimés&amp;nbsp;:"
-#: contrib/admin/templates/admin/delete_confirmation.html:26
+#: contrib/admin/templates/admin/delete_confirmation.html:29
msgid "Yes, I'm sure"
msgstr "Oui, j'en suis certain"
@@ -1829,7 +1677,7 @@ msgstr ""
#: contrib/admin/templates/registration/password_reset_form.html:16
msgid "E-mail address:"
-msgstr "Courriel :"
+msgstr "Courriel&amp;nbsp;:"
#: contrib/admin/templates/registration/password_reset_form.html:16
msgid "Reset my password"
@@ -1867,11 +1715,11 @@ msgstr ""
#: contrib/admin/templates/registration/password_change_form.html:17
msgid "Old password:"
-msgstr "Ancien mot de passe :"
+msgstr "Ancien mot de passe&amp;nbsp;:"
#: contrib/admin/templates/registration/password_change_form.html:19
msgid "New password:"
-msgstr "Nouveau mot de passe :"
+msgstr "Nouveau mot de passe&amp;nbsp;:"
#: contrib/admin/templates/registration/password_change_form.html:21
msgid "Confirm password:"
@@ -1894,15 +1742,15 @@ msgstr "pour votre compte au site %(site_name)s"
#: contrib/admin/templates/registration/password_reset_email.html:5
#, python-format
msgid "Your new password is: %(new_password)s"
-msgstr "Votre nouveau mot de passe est : %(new_password)s"
+msgstr "Votre nouveau mot de passe est&amp;nbsp;: %(new_password)s"
#: contrib/admin/templates/registration/password_reset_email.html:7
msgid "Feel free to change this password by going to this page:"
-msgstr "Vous pouvez modifier ce mot de passe à l'adresse suivante :"
+msgstr "Vous pouvez modifier ce mot de passe à l'adresse suivante&amp;nbsp;:"
#: contrib/admin/templates/registration/password_reset_email.html:11
msgid "Your username, in case you've forgotten:"
-msgstr "Votre nom d'utilisateur, en cas d'oubli :"
+msgstr "Votre nom d'utilisateur, en cas d'oubli&amp;nbsp;:"
#: contrib/admin/templates/registration/password_reset_email.html:13
msgid "Thanks for using our site!"
@@ -1932,12 +1780,14 @@ msgid ""
"your computer is \"internal\").</p>\n"
msgstr ""
"\n"
-"<p class=\"help\">Pour installer des bookmarklets, faîtes glisser le lien vers\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"
+"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
msgid "Documentation for this page"
@@ -1981,15 +1831,15 @@ msgstr ""
"Comme ci-dessus, mais ouvre la page d'administration dans une nouvelle "
"fenêtre."
-#: contrib/contenttypes/models.py:26
+#: contrib/contenttypes/models.py:36
msgid "python model class name"
msgstr "nom du module python"
-#: contrib/contenttypes/models.py:29
+#: contrib/contenttypes/models.py:39
msgid "content type"
msgstr "type de contenu"
-#: contrib/contenttypes/models.py:30
+#: contrib/contenttypes/models.py:40
msgid "content types"
msgstr "types de contenu"
@@ -1997,7 +1847,7 @@ msgstr "types de contenu"
msgid "Logged out"
msgstr "Déconnecté"
-#: contrib/auth/models.py:38 contrib/auth/models.py:57
+#: contrib/auth/models.py:38 contrib/auth/models.py:58
msgid "name"
msgstr "nom"
@@ -2005,19 +1855,19 @@ msgstr "nom"
msgid "codename"
msgstr "nom de code"
-#: contrib/auth/models.py:42
+#: contrib/auth/models.py:43
msgid "permission"
msgstr "permission"
-#: contrib/auth/models.py:43 contrib/auth/models.py:58
+#: contrib/auth/models.py:44 contrib/auth/models.py:59
msgid "permissions"
msgstr "permissions"
-#: contrib/auth/models.py:60
+#: contrib/auth/models.py:62
msgid "group"
msgstr "groupe"
-#: contrib/auth/models.py:61 contrib/auth/models.py:100
+#: contrib/auth/models.py:63 contrib/auth/models.py:100
msgid "groups"
msgstr "groupes"
@@ -2110,34 +1960,38 @@ msgstr ""
msgid "user permissions"
msgstr "permissions de l'utilisateur"
-#: contrib/auth/models.py:105
+#: contrib/auth/models.py:106
msgid "user"
msgstr "utilisateur"
-#: contrib/auth/models.py:106
+#: contrib/auth/models.py:107
msgid "users"
msgstr "utilisateurs"
-#: contrib/auth/models.py:111
+#: contrib/auth/models.py:248
+msgid "message"
+msgstr "message"
+
+#: contrib/auth/models.py:261
+msgid "AnonymousUser"
+msgstr "Anonyme"
+
+#: contrib/auth/models.py:320
msgid "Personal info"
msgstr "Information personnelle"
-#: contrib/auth/models.py:112
+#: contrib/auth/models.py:321
msgid "Permissions"
msgstr "Permissions"
-#: contrib/auth/models.py:113
+#: contrib/auth/models.py:322
msgid "Important dates"
msgstr "Dates importantes"
-#: contrib/auth/models.py:114
+#: contrib/auth/models.py:323
msgid "Groups"
msgstr "Groupes"
-#: contrib/auth/models.py:258
-msgid "message"
-msgstr "message"
-
#: contrib/auth/forms.py:17 contrib/auth/forms.py:138
msgid "The two password fields didn't match."
msgstr "Les deux mots de passe ne correspondent pas."
@@ -2174,31 +2028,461 @@ msgstr "Les deux nouveaux mots de passe ne correspondent pas."
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Votre ancien mot de passe est incorrect. Veuillez le rectifier."
+#: contrib/admindocs/views.py:46 contrib/admindocs/views.py:48
+#: contrib/admindocs/views.py:50
+msgid "tag:"
+msgstr "mot-clé&amp;nbsp;:"
+
+#: contrib/admindocs/views.py:77 contrib/admindocs/views.py:79
+#: contrib/admindocs/views.py:81
+msgid "filter:"
+msgstr "filtre&amp;nbsp;:"
+
+#: contrib/admindocs/views.py:135 contrib/admindocs/views.py:137
+#: contrib/admindocs/views.py:139
+msgid "view:"
+msgstr "vue&amp;nbsp;:"
+
+#: contrib/admindocs/views.py:164
+#, python-format
+msgid "App %r not found"
+msgstr "L'application %r n'a pas été trouvée."
+
+#: contrib/admindocs/views.py:171
+#, python-format
+msgid "Model %(name)r not found in app %(app)r"
+msgstr "Le modèle %(name)r n'a pas été trouvé dans l'application %(app)r"
+
+#: contrib/admindocs/views.py:183
+#, python-format
+msgid "the related `%(app)s.%(type)s` object"
+msgstr "l'objet `%(app)s.%(type)s en relation "
+
+#: contrib/admindocs/views.py:183 contrib/admindocs/views.py:205
+#: contrib/admindocs/views.py:219 contrib/admindocs/views.py:224
+msgid "model:"
+msgstr "modèle&amp;nbsp;:"
+
+#: contrib/admindocs/views.py:214
+#, python-format
+msgid "related `%(app)s.%(name)s` objects"
+msgstr "les objets `%(app)s.%(name)s en relation"
+
+#: contrib/admindocs/views.py:219
+#, python-format
+msgid "all %s"
+msgstr "tous les %s"
+
+#: contrib/admindocs/views.py:224
+#, python-format
+msgid "number of %s"
+msgstr "nombre de %s"
+
+#: contrib/admindocs/views.py:229
+#, python-format
+msgid "Fields on %s objects"
+msgstr "Champs sur les objets %s"
+
+#: contrib/admindocs/views.py:291 contrib/admindocs/views.py:301
+#: contrib/admindocs/views.py:303 contrib/admindocs/views.py:309
+#: contrib/admindocs/views.py:310 contrib/admindocs/views.py:312
+msgid "Integer"
+msgstr "Entier"
+
+#: contrib/admindocs/views.py:292
+msgid "Boolean (Either True or False)"
+msgstr "Booléen (Vrai ou Faux)"
+
+#: contrib/admindocs/views.py:293 contrib/admindocs/views.py:311
+#, python-format
+msgid "String (up to %(maxlength)s)"
+msgstr "Chaîne de caractère (jusqu'à %(maxlength)s)"
+
+#: contrib/admindocs/views.py:294
+msgid "Comma-separated integers"
+msgstr "Des entiers séparés par une virgule"
+
+#: contrib/admindocs/views.py:295
+msgid "Date (without time)"
+msgstr "Date (sans l'heure)"
+
+#: contrib/admindocs/views.py:296
+msgid "Date (with time)"
+msgstr "Date (avec l'heure)"
+
+#: contrib/admindocs/views.py:297
+msgid "E-mail address"
+msgstr "Courriel&amp;nbsp;:"
+
+#: contrib/admindocs/views.py:298 contrib/admindocs/views.py:299
+#: contrib/admindocs/views.py:302
+msgid "File path"
+msgstr "Chemin vers le fichier"
+
+#: contrib/admindocs/views.py:300
+msgid "Decimal number"
+msgstr "Nombre décimal"
+
+#: contrib/admindocs/views.py:306
+msgid "Boolean (Either True, False or None)"
+msgstr "Booléen (Vrai, Faux ou None)"
+
+#: contrib/admindocs/views.py:307
+msgid "Relation to parent model"
+msgstr "Relation au modèle parent"
+
+#: contrib/admindocs/views.py:308
+msgid "Phone number"
+msgstr "Numéro de téléphone"
+
+#: contrib/admindocs/views.py:313
+msgid "Text"
+msgstr "Texte"
+
+#: contrib/admindocs/views.py:314
+msgid "Time"
+msgstr "Heure"
+
+#: contrib/admindocs/views.py:315 contrib/flatpages/models.py:7
+msgid "URL"
+msgstr "URL"
+
+#: contrib/admindocs/views.py:316
+msgid "U.S. state (two uppercase letters)"
+msgstr "État U.S. (deux lettres majuscules)"
+
+#: contrib/admindocs/views.py:317
+msgid "XML text"
+msgstr "Texte XML"
+
+#: contrib/admindocs/views.py:343
+#, python-format
+msgid "%s does not appear to be a urlpattern object"
+msgstr "%s ne semble pas être un objet urlpattern"
+
#: contrib/localflavor/uk/forms.py:18
msgid "Enter a postcode. A space is required between the two postcode parts."
msgstr ""
+"Entrez un code postal Anglais. Un espace est requis entre les deux parties."
-#: contrib/localflavor/usa/forms.py:17
-msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX."
+#: contrib/localflavor/au/forms.py:18
+msgid "Enter a 4 digit post code."
+msgstr "Entrez un code postal Australien (4 chiffres)."
+
+#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/de/forms.py:16
+#: contrib/localflavor/it/forms.py:14 contrib/localflavor/fi/forms.py:14
+msgid "Enter a zip code in the format XXXXX."
+msgstr "Entrez un code postal (format XXXXX)."
+
+#: contrib/localflavor/jp/forms.py:21
+msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX."
+msgstr "Entrez un code postal Japonais (format XXXXXXX ou XXX-XXXX)."
+
+#: contrib/localflavor/jp/jp_prefectures.py:4
+msgid "Hokkaido"
+msgstr "Hokkaidō"
+
+#: contrib/localflavor/jp/jp_prefectures.py:5
+msgid "Aomori"
+msgstr "Aomori"
+
+#: contrib/localflavor/jp/jp_prefectures.py:6
+msgid "Iwate"
+msgstr "Iwate"
+
+#: contrib/localflavor/jp/jp_prefectures.py:7
+msgid "Miyagi"
+msgstr "Miyagi"
+
+#: contrib/localflavor/jp/jp_prefectures.py:8
+msgid "Akita"
+msgstr "Akita"
+
+#: contrib/localflavor/jp/jp_prefectures.py:9
+msgid "Yamagata"
+msgstr "Yamagata"
+
+#: contrib/localflavor/jp/jp_prefectures.py:10
+msgid "Fukushima"
+msgstr "Fukushima"
+
+#: contrib/localflavor/jp/jp_prefectures.py:11
+msgid "Ibaraki"
+msgstr "Ibaraki"
+
+#: contrib/localflavor/jp/jp_prefectures.py:12
+msgid "Tochigi"
+msgstr "Tochigi"
+
+#: contrib/localflavor/jp/jp_prefectures.py:13
+msgid "Gunma"
+msgstr "Gunma"
+
+#: contrib/localflavor/jp/jp_prefectures.py:14
+msgid "Saitama"
+msgstr "Saitama"
+
+#: contrib/localflavor/jp/jp_prefectures.py:15
+msgid "Chiba"
+msgstr "Chiba"
+
+#: contrib/localflavor/jp/jp_prefectures.py:16
+msgid "Tokyo"
+msgstr "Tokyo"
+
+#: contrib/localflavor/jp/jp_prefectures.py:17
+msgid "Kanagawa"
+msgstr "Kanagawa"
+
+#: contrib/localflavor/jp/jp_prefectures.py:18
+msgid "Yamanashi"
+msgstr "Yamanashi"
+
+#: contrib/localflavor/jp/jp_prefectures.py:19
+msgid "Nagano"
+msgstr "Nagano"
+
+#: contrib/localflavor/jp/jp_prefectures.py:20
+msgid "Niigata"
+msgstr "Niigata"
+
+#: contrib/localflavor/jp/jp_prefectures.py:21
+msgid "Toyama"
+msgstr "Toyama"
+
+#: contrib/localflavor/jp/jp_prefectures.py:22
+msgid "Ishikawa"
+msgstr "Ishikawa"
+
+#: contrib/localflavor/jp/jp_prefectures.py:23
+msgid "Fukui"
+msgstr "Fukui"
+
+#: contrib/localflavor/jp/jp_prefectures.py:24
+msgid "Gifu"
+msgstr "Gifu"
+
+#: contrib/localflavor/jp/jp_prefectures.py:25
+msgid "Shizuoka"
+msgstr "Shizuoka"
+
+#: contrib/localflavor/jp/jp_prefectures.py:26
+msgid "Aichi"
+msgstr "Aichi"
+
+#: contrib/localflavor/jp/jp_prefectures.py:27
+msgid "Mie"
+msgstr "Mie"
+
+#: contrib/localflavor/jp/jp_prefectures.py:28
+msgid "Shiga"
+msgstr "Shiga"
+
+#: contrib/localflavor/jp/jp_prefectures.py:29
+msgid "Kyoto"
+msgstr "Kyōto"
+
+#: contrib/localflavor/jp/jp_prefectures.py:30
+msgid "Osaka"
+msgstr "Osaka"
+
+#: contrib/localflavor/jp/jp_prefectures.py:31
+msgid "Hyogo"
+msgstr "Hyōgo"
+
+#: contrib/localflavor/jp/jp_prefectures.py:32
+msgid "Nara"
+msgstr "Nara"
+
+#: contrib/localflavor/jp/jp_prefectures.py:33
+msgid "Wakayama"
+msgstr "Wakayama"
+
+#: contrib/localflavor/jp/jp_prefectures.py:34
+msgid "Tottori"
+msgstr "Tottori"
+
+#: contrib/localflavor/jp/jp_prefectures.py:35
+msgid "Shimane"
+msgstr "Shimane"
+
+#: contrib/localflavor/jp/jp_prefectures.py:36
+msgid "Okayama"
+msgstr "Okayama"
+
+#: contrib/localflavor/jp/jp_prefectures.py:37
+msgid "Hiroshima"
+msgstr "Hiroshima"
+
+#: contrib/localflavor/jp/jp_prefectures.py:38
+msgid "Yamaguchi"
+msgstr "Yamaguchi"
+
+#: contrib/localflavor/jp/jp_prefectures.py:39
+msgid "Tokushima"
+msgstr "Tokushima"
+
+#: contrib/localflavor/jp/jp_prefectures.py:40
+msgid "Kagawa"
+msgstr "Kagawa"
+
+#: contrib/localflavor/jp/jp_prefectures.py:41
+msgid "Ehime"
+msgstr "Ehime"
+
+#: contrib/localflavor/jp/jp_prefectures.py:42
+msgid "Kochi"
+msgstr "Kochi"
+
+#: contrib/localflavor/jp/jp_prefectures.py:43
+msgid "Fukuoka"
+msgstr "Fukuoka"
+
+#: contrib/localflavor/jp/jp_prefectures.py:44
+msgid "Saga"
+msgstr "Saga"
+
+#: contrib/localflavor/jp/jp_prefectures.py:45
+msgid "Nagasaki"
+msgstr "Nagasaki"
+
+#: contrib/localflavor/jp/jp_prefectures.py:46
+msgid "Kumamoto"
+msgstr "Kumamoto"
+
+#: contrib/localflavor/jp/jp_prefectures.py:47
+msgid "Oita"
+msgstr "Ōita"
+
+#: contrib/localflavor/jp/jp_prefectures.py:48
+msgid "Miyazaki"
+msgstr "Miyazaki"
+
+#: contrib/localflavor/jp/jp_prefectures.py:49
+msgid "Kagoshima"
+msgstr "Kagoshima"
+
+#: contrib/localflavor/jp/jp_prefectures.py:50
+msgid "Okinawa"
+msgstr "Okinawa"
+
+#: contrib/localflavor/br/forms.py:18
+msgid "Enter a zip code in the format XXXXX-XXX."
+msgstr "Entrez un code postal Brésilien (format XXXXX-XXX)."
+
+#: contrib/localflavor/br/forms.py:30
+msgid "Phone numbers must be in XX-XXXX-XXXX format."
+msgstr "Les numéros de téléphone doivent être au format XX-XXXX-XXXX."
+
+#: contrib/localflavor/de/de_states.py:5
+msgid "Baden-Wuerttemberg"
+msgstr "Bade-Wurtemberg"
+
+#: contrib/localflavor/de/de_states.py:6
+msgid "Bavaria"
+msgstr "Bavière"
+
+#: contrib/localflavor/de/de_states.py:7
+msgid "Berlin"
+msgstr "Berlin"
+
+#: contrib/localflavor/de/de_states.py:8
+msgid "Brandenburg"
+msgstr "Brandebourg"
+
+#: contrib/localflavor/de/de_states.py:9
+msgid "Bremen"
+msgstr "Brême"
+
+#: contrib/localflavor/de/de_states.py:10
+msgid "Hamburg"
+msgstr "Hambourg"
+
+#: contrib/localflavor/de/de_states.py:11
+msgid "Hessen"
+msgstr "Hess"
+
+#: contrib/localflavor/de/de_states.py:12
+msgid "Mecklenburg-Western Pomerania"
+msgstr "Mecklembourg-Poméranie occidentale"
+
+#: contrib/localflavor/de/de_states.py:13
+msgid "Lower Saxony"
+msgstr "Basse Saxe"
+
+#: contrib/localflavor/de/de_states.py:14
+msgid "North Rhine-Westphalia"
+msgstr "Rhénanie-du-Nord-Westphalie"
+
+#: contrib/localflavor/de/de_states.py:15
+msgid "Rhineland-Palatinate"
+msgstr "Rhénanie-Palatinat"
+
+#: contrib/localflavor/de/de_states.py:16
+msgid "Saarland"
+msgstr "Sarre"
+
+#: contrib/localflavor/de/de_states.py:17
+msgid "Saxony"
+msgstr "Saxe"
+
+#: contrib/localflavor/de/de_states.py:18
+msgid "Saxony-Anhalt"
+msgstr "Saxe-Anhalt"
+
+#: contrib/localflavor/de/de_states.py:19
+msgid "Schleswig-Holstein"
+msgstr "Schleswig-Holstein"
+
+#: contrib/localflavor/de/de_states.py:20
+msgid "Thuringia"
+msgstr "Thuringe"
+
+#: contrib/localflavor/de/forms.py:60
+msgid ""
+"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X "
+"format."
msgstr ""
+"Entrez un numéro de carte d'identité Allemand (format XXXXXXXXXXX-XXXXXXX-"
+"XXXXXXX-X)."
+
+#: contrib/localflavor/no/forms.py:15
+msgid "Enter a zip code in the format XXXX."
+msgstr "Entrez un code postal Norvégien (format XXXX)."
+
+#: contrib/localflavor/no/forms.py:36
+msgid "Enter a valid Norwegian social security number."
+msgstr "Entrez un numéro de sécurité sociale Norvégien."
+
+#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:46
+msgid "Enter a valid Finnish social security number."
+msgstr "Entrez un numéro de sécurité sociale Finlandais."
+
+#: contrib/localflavor/us/forms.py:18
+msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX."
+msgstr "Entrez un code postal Américain (format XXXXX ou XXXXX-XXXX)."
+
+#: contrib/localflavor/us/forms.py:51
+msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format."
+msgstr "Entrez un numéro de sécurité sociale Américain (format XXX-XX-XXXX)."
-#: contrib/sessions/models.py:51
+#: contrib/sessions/models.py:68
msgid "session key"
msgstr "clé de session"
-#: contrib/sessions/models.py:52
+#: contrib/sessions/models.py:69
msgid "session data"
msgstr "donnée de session"
-#: contrib/sessions/models.py:53
+#: contrib/sessions/models.py:70
msgid "expire date"
msgstr "date d'expiration"
-#: contrib/sessions/models.py:57
+#: contrib/sessions/models.py:74
msgid "session"
msgstr "session"
-#: contrib/sessions/models.py:58
+#: contrib/sessions/models.py:75
msgid "sessions"
msgstr "sessions"
@@ -2206,8 +2490,8 @@ msgstr "sessions"
msgid ""
"Example: '/about/contact/'. Make sure to have leading and trailing slashes."
msgstr ""
-"Par exemple : '/about/contact/'. Vérifiez la présence du caractère '/' en "
-"début et en fin de chaine."
+"Par exemple&amp;nbsp;: '/about/contact/'. Vérifiez la présence du caractère "
+"'/' en début et en fin de chaine."
#: contrib/flatpages/models.py:9
msgid "title"
@@ -2243,11 +2527,11 @@ msgstr ""
"Si coché, seuls les utilisateurs connectés auront la possibilité de voir "
"cette page."
-#: contrib/flatpages/models.py:18
+#: contrib/flatpages/models.py:19
msgid "flat page"
msgstr "page à plat"
-#: contrib/flatpages/models.py:19
+#: contrib/flatpages/models.py:20
msgid "flat pages"
msgstr "pages à plat"
@@ -2463,32 +2747,73 @@ msgstr "minuit"
msgid "noon"
msgstr "midi"
-#: utils/translation/trans_real.py:362
+#: utils/translation/trans_real.py:358
msgid "DATE_FORMAT"
msgstr "j F Y"
-#: utils/translation/trans_real.py:363
+#: utils/translation/trans_real.py:359
msgid "DATETIME_FORMAT"
msgstr "j F Y, G:i"
-#: utils/translation/trans_real.py:364
+#: utils/translation/trans_real.py:360
msgid "TIME_FORMAT"
msgstr "G:i:s"
-#: utils/translation/trans_real.py:380
-#, fuzzy
+#: utils/translation/trans_real.py:376
msgid "YEAR_MONTH_FORMAT"
-msgstr "j F Y"
+msgstr "F Y"
-#: utils/translation/trans_real.py:381
-#, fuzzy
+#: utils/translation/trans_real.py:377
msgid "MONTH_DAY_FORMAT"
-msgstr "j F Y"
+msgstr "j F"
#: template/defaultfilters.py:491
msgid "yes,no,maybe"
msgstr "oui,non,peut-être"
+#: template/defaultfilters.py:520
+#, python-format
+msgid "%(size)d byte"
+msgid_plural "%(size)d bytes"
+msgstr[0] "%(size)d octet"
+msgstr[1] "%(size)d octets"
+
+#: template/defaultfilters.py:522
+#, python-format
+msgid "%.1f KB"
+msgstr "%.1f Ko"
+
+#: template/defaultfilters.py:524
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f Mo"
+
+#: template/defaultfilters.py:525
+#, python-format
+msgid "%.1f GB"
+msgstr "%.1f Go"
+
+#~ msgid "One or more %(fieldname)s in %(name)s&amp;nbsp;:"
+#~ msgstr "Un ou plusieurs %(fieldname)s dans %(name)s&amp;nbsp;:"
+
+#~ msgid "Separate multiple IDs with commas."
+#~ msgstr "Séparez les ID par des virgules."
+
+#~ msgid "Added %s."
+#~ msgstr "Ajouté %s."
+
+#~ msgid "Changed %s."
+#~ msgstr "Modifié %s."
+
+#~ msgid "Deleted %s."
+#~ msgstr "Supprimé %s."
+
+#~ msgid "Ordering"
+#~ msgstr "Tri"
+
+#~ msgid "Order:"
+#~ msgstr "Ordre&amp;nbsp;:"
+
#~ msgid "%dth"
#~ msgstr "%de"
diff --git a/django/conf/locale/ko/LC_MESSAGES/django.mo b/django/conf/locale/ko/LC_MESSAGES/django.mo
index 5aed8c46c9..58e97b496e 100644
--- a/django/conf/locale/ko/LC_MESSAGES/django.mo
+++ b/django/conf/locale/ko/LC_MESSAGES/django.mo
Binary files differ
diff --git a/django/conf/locale/ko/LC_MESSAGES/django.po b/django/conf/locale/ko/LC_MESSAGES/django.po
index d834f3ab6e..476f7316ba 100644
--- a/django/conf/locale/ko/LC_MESSAGES/django.po
+++ b/django/conf/locale/ko/LC_MESSAGES/django.po
@@ -8,14 +8,90 @@ msgid ""
msgstr ""
"Project-Id-Version: Django 1.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-04-06 10:51+0900\n"
+"POT-Creation-Date: 2007-04-24 12:33+0900\n"
"PO-Revision-Date: 2007-04-06 11:04+0900\n"
-"Last-Translator: Hyun Mi Ae <happyhyun@gmail.com>\n"
+"Last-Translator: Sung-Jin Hong <serialx.net@gmail.com>\n"
"Language-Team: Korean\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+#: db/models/manipulators.py:307
+#, python-format
+msgid "%(object)s with this %(type)s already exists for the given %(field)s."
+msgstr "%(field)s 에 입력된 값은 %(type)s 의 %(object)s 에 이미 존재합니다."
+
+#: db/models/manipulators.py:308 contrib/admin/views/main.py:335
+#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339
+msgid "and"
+msgstr "또한"
+
+#: db/models/fields/__init__.py:42
+#, python-format
+msgid "%(optname)s with this %(fieldname)s already exists."
+msgstr "%(fieldname)s 의 %(optname)s (은)는 이미 존재합니다."
+
+#: db/models/fields/__init__.py:117 db/models/fields/__init__.py:274
+#: db/models/fields/__init__.py:610 db/models/fields/__init__.py:621
+#: newforms/fields.py:80 newforms/fields.py:376 newforms/fields.py:452
+#: newforms/fields.py:463 newforms/models.py:178 oldforms/__init__.py:357
+msgid "This field is required."
+msgstr "필수 항목입니다."
+
+#: db/models/fields/__init__.py:367
+msgid "This value must be an integer."
+msgstr "정수 값을 사용하세요."
+
+#: db/models/fields/__init__.py:402
+msgid "This value must be either True or False."
+msgstr "True 또는 False 값을 사용하세요."
+
+#: db/models/fields/__init__.py:423
+msgid "This field cannot be null."
+msgstr "이 필드는 null 값은 사용할 수 없습니다. "
+
+#: db/models/fields/__init__.py:457 core/validators.py:148
+msgid "Enter a valid date in YYYY-MM-DD format."
+msgstr "날짜는 YYYY-MM-DD 형식으로 입력하세요."
+
+#: db/models/fields/__init__.py:526 core/validators.py:157
+msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
+msgstr "날짜/시각을 YYYY-MM-DD HH:MM 형식으로 입력하세요."
+
+#: db/models/fields/__init__.py:630
+msgid "Enter a valid filename."
+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
+#, python-format
+msgid "Please enter a valid %s."
+msgstr "올바른 %s (을)를 입력하세요."
+
+#: db/models/fields/related.py:642
+msgid "Separate multiple IDs with commas."
+msgstr "복수 ID는 콤마로 구분해 주세요."
+
+#: db/models/fields/related.py:644
+msgid ""
+"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
+msgstr ""
+"복수 선택 시에는 \"Control\" 키를 누른 상태에서 선택해 주세요.(Mac은 "
+"\"Command\" 키)"
+
+#: db/models/fields/related.py:691
+#, python-format
+msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid."
+msgid_plural ""
+"Please enter valid %(self)s IDs. The values %(value)r are invalid."
+msgstr[0] ""
+"올바른 %(self)s ID를 입력해 주세요. %(value)r (은)는 적절치 않습니다."
+msgstr[1] ""
+"올바른 %(self)s ID를 입력해 주세요. %(value)r (은)는 적절치 않습니다."
+
#: conf/global_settings.py:39
msgid "Arabic"
msgstr "아랍어"
@@ -93,13 +169,13 @@ msgid "Japanese"
msgstr "일본어"
#: conf/global_settings.py:58
-msgid "Kannada"
-msgstr ""
-
-#: conf/global_settings.py:59
msgid "Korean"
msgstr "한국어"
+#: conf/global_settings.py:59
+msgid "Kannada"
+msgstr "칸나다어"
+
#: conf/global_settings.py:60
msgid "Latvian"
msgstr "라트비아어"
@@ -176,928 +252,728 @@ msgstr "중국어 간체"
msgid "Traditional Chinese"
msgstr "중국어 번체"
-#: contrib/admin/filterspecs.py:40
-#, python-format
-msgid ""
-"<h3>By %s:</h3>\n"
-"<ul>\n"
-msgstr ""
-"<h3>%s(으)로:</h3>\n"
-"<ul>\n"
-
-#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88
-#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169
-msgid "All"
-msgstr "모두"
-
-#: contrib/admin/filterspecs.py:109
-msgid "Any date"
-msgstr "언제나"
-
-#: contrib/admin/filterspecs.py:110
-msgid "Today"
-msgstr "오늘"
-
-#: contrib/admin/filterspecs.py:113
-msgid "Past 7 days"
-msgstr "지난 7일"
-
-#: contrib/admin/filterspecs.py:115
-msgid "This month"
-msgstr "이번 달"
+#: core/validators.py:64
+msgid "This value must contain only letters, numbers and underscores."
+msgstr "문자, 숫자, '_'만 가능합니다."
-#: contrib/admin/filterspecs.py:117
-msgid "This year"
-msgstr "이번 해"
+#: core/validators.py:68
+msgid ""
+"This value must contain only letters, numbers, underscores, dashes or "
+"slashes."
+msgstr "문자, 숫자, '_', '-', '/'만 가능합니다."
-#: contrib/admin/filterspecs.py:143 newforms/widgets.py:174
-#: oldforms/__init__.py:577
-msgid "Yes"
-msgstr "예"
+#: core/validators.py:72
+msgid "This value must contain only letters, numbers, underscores or hyphens."
+msgstr "문자, 숫자, '_', '-'만 가능합니다."
-#: contrib/admin/filterspecs.py:143 newforms/widgets.py:174
-#: oldforms/__init__.py:577
-msgid "No"
-msgstr "아니오"
+#: core/validators.py:76
+msgid "Uppercase letters are not allowed here."
+msgstr "대문자는 사용할 수 없습니다."
-#: contrib/admin/filterspecs.py:150 newforms/widgets.py:174
-#: oldforms/__init__.py:577
-msgid "Unknown"
-msgstr "알 수 없습니다."
+#: core/validators.py:80
+msgid "Lowercase letters are not allowed here."
+msgstr "소문자는 사용할 수 없습니다."
-#: contrib/admin/models.py:16
-msgid "action time"
-msgstr "액션 타임"
+#: core/validators.py:87
+msgid "Enter only digits separated by commas."
+msgstr "콤마로 구분된 숫자만 입력하세요."
-#: contrib/admin/models.py:19
-msgid "object id"
-msgstr "오브젝트 아이디"
+#: core/validators.py:99
+msgid "Enter valid e-mail addresses separated by commas."
+msgstr "콤마로 구분된 이메일 주소만 입력하세요."
-#: contrib/admin/models.py:20
-msgid "object repr"
-msgstr "오브젝트 표현"
+#: core/validators.py:103
+msgid "Please enter a valid IP address."
+msgstr "올바른 IP 주소를 입력하세요."
-#: contrib/admin/models.py:21
-msgid "action flag"
-msgstr "액션 플래그"
+#: core/validators.py:107
+msgid "Empty values are not allowed here."
+msgstr "반드시 입력하세요."
-#: contrib/admin/models.py:22
-msgid "change message"
-msgstr "메시지 변경"
+#: core/validators.py:111
+msgid "Non-numeric characters aren't allowed here."
+msgstr "숫자만 사용할 수 있습니다."
-#: contrib/admin/models.py:25
-msgid "log entry"
-msgstr "로그 엔트리"
+#: core/validators.py:115
+msgid "This value can't be comprised solely of digits."
+msgstr "숫자만 사용할 수는 없습니다."
-#: contrib/admin/models.py:26
-msgid "log entries"
-msgstr "로그 엔트리"
+#: core/validators.py:120 newforms/fields.py:128
+msgid "Enter a whole number."
+msgstr "정수를 입력하세요."
-#: contrib/admin/templates/admin/404.html:4
-#: contrib/admin/templates/admin/404.html:8
-msgid "Page not found"
-msgstr "해당 페이지가 없습니다."
+#: core/validators.py:124
+msgid "Only alphabetical characters are allowed here."
+msgstr "문자만 사용할 수 있습니다."
-#: contrib/admin/templates/admin/404.html:10
-msgid "We're sorry, but the requested page could not be found."
-msgstr "죄송합니다, 요청하신 페이지를 찾을 수 없습니다."
+#: core/validators.py:139
+msgid "Year must be 1900 or later."
+msgstr "1900년 이후의 연도만 가능"
-#: contrib/admin/templates/admin/500.html:4
-#: contrib/admin/templates/admin/base.html:30
-#: contrib/admin/templates/admin/change_form.html:13
-#: contrib/admin/templates/admin/change_list.html:6
-#: contrib/admin/templates/admin/delete_confirmation.html:6
-#: contrib/admin/templates/admin/invalid_setup.html:4
-#: contrib/admin/templates/admin/object_history.html:5
-#: contrib/admin/templates/admin/auth/user/change_password.html:12
-#: contrib/admin/templates/admin_doc/bookmarklets.html:3
-#: contrib/admin/templates/registration/logged_out.html:4
-#: contrib/admin/templates/registration/password_change_done.html:4
-#: contrib/admin/templates/registration/password_change_form.html:4
-#: contrib/admin/templates/registration/password_reset_done.html:4
-#: contrib/admin/templates/registration/password_reset_form.html:4
-msgid "Home"
-msgstr "홈"
+#: core/validators.py:143
+#, python-format
+msgid "Invalid date: %s"
+msgstr "날짜가 부적절합니다.: %s"
-#: contrib/admin/templates/admin/500.html:4
-msgid "Server error"
-msgstr "서버 오류"
+#: core/validators.py:153
+msgid "Enter a valid time in HH:MM format."
+msgstr "시각은 HH:MM 형식으로 입력하세요."
-#: contrib/admin/templates/admin/500.html:6
-msgid "Server error (500)"
-msgstr "서버 오류 (500)"
+#: core/validators.py:162 newforms/fields.py:271
+msgid "Enter a valid e-mail address."
+msgstr "올바른 이메일 주소를 입력하세요."
-#: contrib/admin/templates/admin/500.html:9
-msgid "Server Error <em>(500)</em>"
-msgstr "서버 오류 <em>(500)</em>"
+#: core/validators.py:174 core/validators.py:445 oldforms/__init__.py:672
+msgid "No file was submitted. Check the encoding type on the form."
+msgstr "등록된 파일이 없습니다. 인코딩 형식을 확인하세요."
-#: contrib/admin/templates/admin/500.html:10
+#: core/validators.py:178
msgid ""
-"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."
+"Upload a valid image. The file you uploaded was either not an image or a "
+"corrupted image."
msgstr ""
-"오류가 발생했습니다. 사이트 관리자에게 이메일로 에러를 보고 했습니다.조속히 "
-"수정하도록 하겠습니다. 고맙습니다."
-
-#: contrib/admin/templates/admin/base.html:25
-msgid "Welcome,"
-msgstr "환영합니다,"
-
-#: contrib/admin/templates/admin/base.html:25
-#: contrib/admin/templates/admin/change_form.html:10
-#: contrib/admin/templates/admin/change_list.html:5
-#: contrib/admin/templates/admin/delete_confirmation.html:3
-#: contrib/admin/templates/admin/object_history.html:3
-#: contrib/admin/templates/admin/auth/user/change_password.html:9
-#: contrib/admin/templates/admin_doc/bookmarklets.html:3
-#: contrib/admin/templates/registration/password_change_done.html:3
-#: contrib/admin/templates/registration/password_change_form.html:3
-msgid "Documentation"
-msgstr "문서"
-
-#: contrib/admin/templates/admin/base.html:25
-#: contrib/admin/templates/admin/change_form.html:10
-#: contrib/admin/templates/admin/change_list.html:5
-#: contrib/admin/templates/admin/delete_confirmation.html:3
-#: contrib/admin/templates/admin/object_history.html:3
-#: contrib/admin/templates/admin/auth/user/change_password.html:9
-#: contrib/admin/templates/admin/auth/user/change_password.html:15
-#: contrib/admin/templates/admin/auth/user/change_password.html:46
-#: contrib/admin/templates/admin_doc/bookmarklets.html:4
-#: contrib/admin/templates/admin_doc/index.html:4
-#: contrib/admin/templates/admin_doc/missing_docutils.html:4
-#: contrib/admin/templates/admin_doc/model_detail.html:3
-#: contrib/admin/templates/admin_doc/model_index.html:5
-#: contrib/admin/templates/admin_doc/template_detail.html:4
-#: contrib/admin/templates/admin_doc/template_filter_index.html:5
-#: contrib/admin/templates/admin_doc/template_tag_index.html:5
-#: contrib/admin/templates/admin_doc/view_detail.html:4
-#: contrib/admin/templates/admin_doc/view_index.html:5
-#: contrib/admin/templates/registration/password_change_done.html:3
-#: contrib/admin/templates/registration/password_change_form.html:3
-msgid "Change password"
-msgstr "비밀번호 변경"
-
-#: contrib/admin/templates/admin/base.html:25
-#: contrib/admin/templates/admin/change_form.html:10
-#: contrib/admin/templates/admin/change_list.html:5
-#: contrib/admin/templates/admin/delete_confirmation.html:3
-#: contrib/admin/templates/admin/object_history.html:3
-#: contrib/admin/templates/admin/auth/user/change_password.html:9
-#: contrib/admin/templates/admin_doc/bookmarklets.html:4
-#: contrib/admin/templates/admin_doc/index.html:4
-#: contrib/admin/templates/admin_doc/missing_docutils.html:4
-#: contrib/admin/templates/admin_doc/model_detail.html:3
-#: contrib/admin/templates/admin_doc/model_index.html:5
-#: contrib/admin/templates/admin_doc/template_detail.html:4
-#: contrib/admin/templates/admin_doc/template_filter_index.html:5
-#: contrib/admin/templates/admin_doc/template_tag_index.html:5
-#: contrib/admin/templates/admin_doc/view_detail.html:4
-#: contrib/admin/templates/admin_doc/view_index.html:5
-#: contrib/admin/templates/registration/password_change_done.html:3
-#: contrib/admin/templates/registration/password_change_form.html:3
-#: contrib/comments/templates/comments/form.html:6
-msgid "Log out"
-msgstr "로그아웃"
-
-#: contrib/admin/templates/admin/base_site.html:4
-msgid "Django site admin"
-msgstr "Django 사이트 관리"
-
-#: contrib/admin/templates/admin/base_site.html:7
-msgid "Django administration"
-msgstr "Django 관리"
-
-#: contrib/admin/templates/admin/change_form.html:15
-#: contrib/admin/templates/admin/index.html:28
-msgid "Add"
-msgstr "추가"
-
-#: contrib/admin/templates/admin/change_form.html:21
-#: contrib/admin/templates/admin/object_history.html:5
-msgid "History"
-msgstr "히스토리"
-
-#: contrib/admin/templates/admin/change_form.html:22
-msgid "View on site"
-msgstr "사이트에서 보기"
-
-#: contrib/admin/templates/admin/change_form.html:32
-#: contrib/admin/templates/admin/auth/user/change_password.html:24
-msgid "Please correct the error below."
-msgid_plural "Please correct the errors below."
-msgstr[0] "아래의 오류를 수정해 주세요."
-msgstr[1] "아래의 오류들을 수정해 주세요."
+"올바른 이미지를 업로드하세요.업로드하신 파일은 이미지 파일이 아니거나 파일이 "
+"깨져 있습니다."
-#: contrib/admin/templates/admin/change_form.html:50
-msgid "Ordering"
-msgstr "순서"
+#: core/validators.py:185
+#, python-format
+msgid "The URL %s does not point to a valid image."
+msgstr "해당 URL %s (은)는 올바른 이미지가 아닙니다."
-#: contrib/admin/templates/admin/change_form.html:53
-msgid "Order:"
-msgstr "순서:"
+#: core/validators.py:189
+#, python-format
+msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
+msgstr ""
+"전화번호는 xxx-xxx-xxxx 형식으로 입력하세요. \"%s\" (은)는 부적절합니다."
-#: contrib/admin/templates/admin/change_list.html:12
+#: core/validators.py:197
#, python-format
-msgid "Add %(name)s"
-msgstr "%(name)s 추가"
+msgid "The URL %s does not point to a valid QuickTime video."
+msgstr "해당 URL %s (은)는 올바른 QuickTime video가 아닙니다."
-#: contrib/admin/templates/admin/delete_confirmation.html:9
-#: contrib/admin/templates/admin/submit_line.html:3
-msgid "Delete"
-msgstr "삭제"
+#: core/validators.py:201
+msgid "A valid URL is required."
+msgstr "올바른 URL을 입력하세요."
-#: contrib/admin/templates/admin/delete_confirmation.html:14
+#: core/validators.py:215
#, python-format
msgid ""
-"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting "
-"related objects, but your account doesn't have permission to delete the "
-"following types of objects:"
+"Valid HTML is required. Specific errors are:\n"
+"%s"
msgstr ""
-"%(object_name)s \"%(escaped_object)s\" (을)를 삭제하면서관련 오브젝트를 제거"
-"하고자 했으나, 지금 사용하시는 계정은 다음 타입의 오브젝트를 제거할 권한이 없"
-"습니다. :"
+"올바른 HTML을 입력하세요. 오류:\n"
+"%s"
-#: contrib/admin/templates/admin/delete_confirmation.html:21
+#: core/validators.py:222
#, python-format
-msgid ""
-"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? "
-"All of the following related items will be deleted:"
-msgstr ""
-"정말로 %(object_name)s \"%(escaped_object)s\" (을)를 삭제하시겠습니까?다음의 "
-"관련 아이템들이 모두 삭제됩니다. :"
+msgid "Badly formed XML: %s"
+msgstr "잘못된 형식의 XML: %s"
-#: contrib/admin/templates/admin/delete_confirmation.html:26
-msgid "Yes, I'm sure"
-msgstr "네, 확실합니다."
+#: core/validators.py:239
+#, python-format
+msgid "Invalid URL: %s"
+msgstr "부적절한 URL: %s"
-#: contrib/admin/templates/admin/filter.html:2
+#: core/validators.py:244 core/validators.py:246
#, python-format
-msgid " By %(filter_title)s "
-msgstr "%(filter_title)s (으)로"
+msgid "The URL %s is a broken link."
+msgstr "해당 URL %s 링크가 깨졌습니다."
-#: contrib/admin/templates/admin/filters.html:4
-msgid "Filter"
-msgstr "필터"
+#: core/validators.py:252
+msgid "Enter a valid U.S. state abbreviation."
+msgstr "올바른 미국의 주의 약어를 입력하세요."
-#: contrib/admin/templates/admin/index.html:17
+#: core/validators.py:266
#, python-format
-msgid "Models available in the %(name)s application."
-msgstr "%(name)s 어플리케이션으로 이용 가능한 모델"
+msgid "Watch your mouth! The word %s is not allowed here."
+msgid_plural "Watch your mouth! The words %s are not allowed here."
+msgstr[0] "비속어/욕설입니다. %s (은)는 사용하실 수 없습니다."
+msgstr[1] "비속어/욕설입니다. %s (은)는 사용하실 수 없습니다."
-#: contrib/admin/templates/admin/index.html:18
+#: core/validators.py:273
#, python-format
-msgid "%(name)s"
-msgstr "%(name)s"
-
-#: contrib/admin/templates/admin/index.html:34
-msgid "Change"
-msgstr "변경"
-
-#: contrib/admin/templates/admin/index.html:44
-msgid "You don't have permission to edit anything."
-msgstr "수정할 권한이 없습니다."
+msgid "This field must match the '%s' field."
+msgstr "이 필드는 '%s' 필드와 일치해야 합니다."
-#: contrib/admin/templates/admin/index.html:52
-msgid "Recent Actions"
-msgstr "최근 액션"
+#: core/validators.py:292
+msgid "Please enter something for at least one field."
+msgstr "하나 이상의 필드에 입력해 주세요."
-#: contrib/admin/templates/admin/index.html:53
-msgid "My Actions"
-msgstr "나의 액션"
+#: core/validators.py:301 core/validators.py:312
+msgid "Please enter both fields or leave them both empty."
+msgstr "양쪽 필드에 모두 입력하시거나, 모두 빈칸으로 해 주십시오."
-#: contrib/admin/templates/admin/index.html:57
-msgid "None available"
-msgstr "이용할 수 없습니다."
+#: core/validators.py:320
+#, python-format
+msgid "This field must be given if %(field)s is %(value)s"
+msgstr "%(field)s (이)가 %(value)s 일 경우, 이 필드에 반드시 입력해 주세요."
-#: contrib/admin/templates/admin/invalid_setup.html:8
-msgid ""
-"Something's wrong with your database installation. Make sure the appropriate "
-"database tables have been created, and make sure the database is readable by "
-"the appropriate user."
+#: core/validators.py:333
+#, python-format
+msgid "This field must be given if %(field)s is not %(value)s"
msgstr ""
-"데이터베이스 설정에 문제가 발생했습니다. 해당 데이터베이스 테이블이 생성되었"
-"는지,해당 유저가 데이터베이스를 읽어 들일 수 있는지 확인하세요."
+"%(field)s (이)가 %(value)s (이)가 아닐 경우, 이 필드에 반드시 입력해 주세요."
-#: contrib/admin/templates/admin/login.html:17
-#: contrib/comments/templates/comments/form.html:6
-#: contrib/comments/templates/comments/form.html:8
-msgid "Username:"
-msgstr "사용자명"
+#: core/validators.py:352
+msgid "Duplicate values are not allowed."
+msgstr "중복해서 사용할 수 없습니다."
-#: contrib/admin/templates/admin/login.html:20
-#: contrib/comments/templates/comments/form.html:8
-msgid "Password:"
-msgstr "비밀번호"
+#: core/validators.py:367
+#, python-format
+msgid "This value must be between %(lower)s and %(upper)s."
+msgstr "%(lower)s 에서 %(upper)s 사이의 값을 사용해 주세요."
-#: contrib/admin/templates/admin/login.html:25
-#: contrib/admin/views/decorators.py:24
-msgid "Log in"
-msgstr "로그인"
+#: core/validators.py:369
+#, python-format
+msgid "This value must be at least %s."
+msgstr "%s 이상의 값을 사용해 주세요."
-#: contrib/admin/templates/admin/object_history.html:18
-msgid "Date/time"
-msgstr "날짜/시간"
+#: core/validators.py:371
+#, python-format
+msgid "This value must be no more than %s."
+msgstr "%s 이하의 값을 사용해 주세요."
-#: contrib/admin/templates/admin/object_history.html:19
-msgid "User"
-msgstr "사용자"
+#: core/validators.py:407
+#, python-format
+msgid "This value must be a power of %s."
+msgstr "%s 제곱의 값을 사용해 주세요."
-#: contrib/admin/templates/admin/object_history.html:20
-msgid "Action"
-msgstr "액션"
+#: core/validators.py:418
+msgid "Please enter a valid decimal number."
+msgstr "10진수를 사용해 주세요."
-#: contrib/admin/templates/admin/object_history.html:26
-msgid "DATE_WITH_TIME_FULL"
-msgstr "년/월/일 시:분:초"
+#: core/validators.py:422
+#, python-format
+msgid "Please enter a valid decimal number with at most %s total digit."
+msgid_plural ""
+"Please enter a valid decimal number with at most %s total digits."
+msgstr[0] "전체 %s 자리 이하의 10진수를 입력하세요."
+msgstr[1] "전체 %s 자리 이하의 10진수를 입력하세요."
-#: contrib/admin/templates/admin/object_history.html:36
+#: core/validators.py:425
+#, python-format
msgid ""
-"This object doesn't have a change history. It probably wasn't added via this "
-"admin site."
-msgstr ""
-"오브젝트에 변경사항이 없습니다.이 admin 사이트를 통해 추가된 사항이 아닙니다."
-
-#: contrib/admin/templates/admin/pagination.html:10
-msgid "Show all"
-msgstr "모두 표시"
-
-#: contrib/admin/templates/admin/search_form.html:8
-msgid "Go"
-msgstr "실행"
+"Please enter a valid decimal number with a whole part of at most %s digit."
+msgid_plural ""
+"Please enter a valid decimal number with a whole part of at most %s digits."
+msgstr[0] "정수부분이 %s 자리 이하인 10진수를 입력하세요."
+msgstr[1] "정수부분이 %s 자리 이하인 10진수를 입력하세요."
-#: contrib/admin/templates/admin/search_form.html:10
+#: core/validators.py:428
#, python-format
-msgid "1 result"
-msgid_plural "%(counter)s results"
-msgstr[0] "1건"
-msgstr[1] "%(counter)s 건"
+msgid "Please enter a valid decimal number with at most %s decimal place."
+msgid_plural ""
+"Please enter a valid decimal number with at most %s decimal places."
+msgstr[0] "소수부분이 %s 자리 이하인 10진수를 입력하세요."
+msgstr[1] "소수부분이 %s 자리 이하인 10진수를 입력하세요."
-#: contrib/admin/templates/admin/search_form.html:10
+#: core/validators.py:438
#, python-format
-msgid "%(full_result_count)s total"
-msgstr "모두 %(full_result_count)s 건"
+msgid "Make sure your uploaded file is at least %s bytes big."
+msgstr "업로드 파일은 %s bytes 이상입니다."
-#: contrib/admin/templates/admin/submit_line.html:4
-msgid "Save as new"
-msgstr "새로 저장"
+#: core/validators.py:439
+#, python-format
+msgid "Make sure your uploaded file is at most %s bytes big."
+msgstr "업로드 파일은 %s bytes 이하입니다."
-#: contrib/admin/templates/admin/submit_line.html:5
-msgid "Save and add another"
-msgstr "저장 및 다른 이름으로 추가"
+#: core/validators.py:456
+msgid "The format for this field is wrong."
+msgstr "이 필드의 형식이 잘못되었습니다."
-#: contrib/admin/templates/admin/submit_line.html:6
-msgid "Save and continue editing"
-msgstr "저장 및 편집 계속"
+#: core/validators.py:471
+msgid "This field is invalid."
+msgstr "필드가 올바르지 않습니다."
-#: contrib/admin/templates/admin/submit_line.html:7
-msgid "Save"
-msgstr "저장"
+#: core/validators.py:507
+#, python-format
+msgid "Could not retrieve anything from %s."
+msgstr "%s 에서 검색된 내용이 없습니다."
-#: contrib/admin/templates/admin/auth/user/add_form.html:6
+#: core/validators.py:510
+#, python-format
msgid ""
-"First, enter a username and password. Then, you'll be able to edit more user "
-"options."
+"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
msgstr ""
-"사용자명와 비밀번호를 입력하세요.더 많은 사용자 옵션을 사용하실 수 있습니다."
-
-#: contrib/admin/templates/admin/auth/user/add_form.html:12
-msgid "Username"
-msgstr "사용자명"
-
-#: contrib/admin/templates/admin/auth/user/add_form.html:18
-#: contrib/admin/templates/admin/auth/user/change_password.html:34
-msgid "Password"
-msgstr "비밀번호"
-
-#: contrib/admin/templates/admin/auth/user/add_form.html:23
-#: contrib/admin/templates/admin/auth/user/change_password.html:39
-msgid "Password (again)"
-msgstr "비밀번호 (확인)"
-
-#: contrib/admin/templates/admin/auth/user/add_form.html:24
-#: contrib/admin/templates/admin/auth/user/change_password.html:40
-msgid "Enter the same password as above, for verification."
-msgstr "확인을 위해 위와 동일한 비밀번호를 입력하세요. "
+"URL %(url)s (이)가 부적절한 Content-Type heade '%(contenttype)s' (을)를 반환"
+"했습니다."
-#: contrib/admin/templates/admin/auth/user/change_password.html:28
+#: core/validators.py:543
#, python-format
-msgid "Enter a new password for the user <strong>%(username)s</strong>."
-msgstr "<strong>%(username)s</strong> 새로운 비밀번호를 입력하세요."
-
-#: contrib/admin/templates/admin_doc/bookmarklets.html:3
-msgid "Bookmarklets"
-msgstr "북마크릿"
-
-#: contrib/admin/templates/admin_doc/bookmarklets.html:5
-msgid "Documentation bookmarklets"
-msgstr "문서 북마크릿"
+msgid ""
+"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with "
+"\"%(start)s\".)"
+msgstr ""
+"%(line)s 줄의 %(tag)s 태그가 닫히지 않았습니다.(시작줄 : \"%(start)s\")"
-#: contrib/admin/templates/admin_doc/bookmarklets.html:9
+#: core/validators.py:547
+#, python-format
msgid ""
-"\n"
-"<p class=\"help\">To install bookmarklets, drag the link to your bookmarks\n"
-"toolbar, or right-click the link and add it to your bookmarks. Now you can\n"
-"select the bookmarklet from any page in the site. Note that some of these\n"
-"bookmarklets require you to be viewing the site from a computer designated\n"
-"as \"internal\" (talk to your system administrator if you aren't sure if\n"
-"your computer is \"internal\").</p>\n"
+"Some text starting on line %(line)s is not allowed in that context. (Line "
+"starts with \"%(start)s\".)"
msgstr ""
-"\n"
-"<p class=\"help\"> 북마크릿을 설치하시려면 링크를 북마크 툴바로 드래그 하거"
-"나,\n"
-"오른쪽 클릭으로 해당 링크를 북마크에 추가하세요.\n"
-"이제 사이트 내의 모든 페이지에서 북마크릿 선택이 가능합니다.\n"
-"북마크릿에 따라 내부 네트워크 상의 컴퓨터로부터 이 사이트를 참조해야하는 경우"
-"가 있습니다.\n"
-"(내부 네트워크가 있는지 불명확한 경우 시스템 관리자에게 확인하시기 바랍니다.)"
-"</p>\n"
+"%(line)s 줄의 내용으로 시작하는 텍스트는 사용할 수 없습니다.(시작줄 : \"%"
+"(start)s\")"
-#: contrib/admin/templates/admin_doc/bookmarklets.html:19
-msgid "Documentation for this page"
-msgstr "이 페이지의 문서"
+#: core/validators.py:552
+#, python-format
+msgid ""
+"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%"
+"(start)s\".)"
+msgstr ""
+"%(line)s 줄의 \"%(attr)s\" (은)는 부적절한 속성입니다.(시작줄 : \"%(start)s"
+"\")"
-#: contrib/admin/templates/admin_doc/bookmarklets.html:20
+#: core/validators.py:557
+#, python-format
msgid ""
-"Jumps you from any page to the documentation for the view that generates "
-"that page."
-msgstr "각 페이지로에서 해당 페이지를 생성한 뷰의 문서로 갑니다."
+"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%"
+"(start)s\".)"
+msgstr ""
+"%(line)s 줄의 \"<%(tag)s>\" (은)는 부적절한 태그입니다.(시작줄 : \"%(start)s"
+"\")"
-#: contrib/admin/templates/admin_doc/bookmarklets.html:22
-msgid "Show object ID"
-msgstr "오브젝트 아이디 표시"
+#: core/validators.py:561
+#, python-format
+msgid ""
+"A tag on line %(line)s is missing one or more required attributes. (Line "
+"starts with \"%(start)s\".)"
+msgstr ""
+"%(line)s 줄의 태그는 하나 이상의 필수 속성이 생략되어 있습니다.(시작줄 : \"%"
+"(start)s\")"
-#: contrib/admin/templates/admin_doc/bookmarklets.html:23
+#: core/validators.py:566
+#, python-format
msgid ""
-"Shows the content-type and unique ID for pages that represent a single "
-"object."
-msgstr "단일 오브젝트 페이지의 고유 아이디와 컨텐츠 타입을 표시합니다."
+"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line "
+"starts with \"%(start)s\".)"
+msgstr ""
+"%(line)s 줄의 \"%(attr)s\" 속성의 값이 부적절합니다.(시작줄 : \"%(start)s\")"
-#: contrib/admin/templates/admin_doc/bookmarklets.html:25
-msgid "Edit this object (current window)"
-msgstr "오브젝트 편집(현재 창)"
+#: views/generic/create_update.py:43
+#, python-format
+msgid "The %(verbose_name)s was created successfully."
+msgstr "%(verbose_name)s (이)가 생성되었습니다."
-#: contrib/admin/templates/admin_doc/bookmarklets.html:26
-msgid "Jumps to the admin page for pages that represent a single object."
-msgstr "단일 오브젝트 페이지의 관리 페이지로 이동"
+#: views/generic/create_update.py:117
+#, python-format
+msgid "The %(verbose_name)s was updated successfully."
+msgstr "%(verbose_name)s (이)가 수정되었습니다."
-#: contrib/admin/templates/admin_doc/bookmarklets.html:28
-msgid "Edit this object (new window)"
-msgstr "오브젝트 편집(새로운 창)"
+#: views/generic/create_update.py:184
+#, python-format
+msgid "The %(verbose_name)s was deleted."
+msgstr "%(verbose_name)s (이)가 삭제되었습니다."
-#: contrib/admin/templates/admin_doc/bookmarklets.html:29
-msgid "As above, but opens the admin page in a new window."
-msgstr "위와 동일하며, 새로운 창에서 관리 페이지를 엽니다."
+#: utils/dates.py:6
+msgid "Monday"
+msgstr "월요일"
-#: contrib/admin/templates/registration/logged_out.html:8
-msgid "Thanks for spending some quality time with the Web site today."
-msgstr "사이트를 이용해 주셔서 고맙습니다."
+#: utils/dates.py:6
+msgid "Tuesday"
+msgstr "화요일"
-#: contrib/admin/templates/registration/logged_out.html:10
-msgid "Log in again"
-msgstr "다시 로그인하기"
+#: utils/dates.py:6
+msgid "Wednesday"
+msgstr "수요일"
-#: contrib/admin/templates/registration/password_change_done.html:4
-#: contrib/admin/templates/registration/password_change_form.html:4
-#: contrib/admin/templates/registration/password_change_form.html:6
-#: contrib/admin/templates/registration/password_change_form.html:10
-msgid "Password change"
-msgstr "비밀번호 변경"
+#: utils/dates.py:6
+msgid "Thursday"
+msgstr "목요일"
-#: contrib/admin/templates/registration/password_change_done.html:6
-#: contrib/admin/templates/registration/password_change_done.html:10
-msgid "Password change successful"
-msgstr "비밀번호를 변경하였습니다."
+#: utils/dates.py:6
+msgid "Friday"
+msgstr "금요일"
-#: contrib/admin/templates/registration/password_change_done.html:12
-msgid "Your password was changed."
-msgstr "비밀번호가 변경되었습니다."
+#: utils/dates.py:7
+msgid "Saturday"
+msgstr "토요일"
-#: contrib/admin/templates/registration/password_change_form.html:12
-msgid ""
-"Please enter your old password, for security's sake, and then enter your new "
-"password twice so we can verify you typed it in correctly."
-msgstr ""
-"보안상 필요하오니 기존에 사용하시던 비밀번호를 입력해 주세요.새로운 비밀번호"
-"는 정확히 입력했는지 확인할 수 있도록 두 번 입력하시기 바랍니다."
+#: utils/dates.py:7
+msgid "Sunday"
+msgstr "일요일"
-#: contrib/admin/templates/registration/password_change_form.html:17
-msgid "Old password:"
-msgstr "기존 비밀번호:"
+#: utils/dates.py:14
+msgid "January"
+msgstr "1월"
-#: contrib/admin/templates/registration/password_change_form.html:19
-msgid "New password:"
-msgstr "새로운 비밀번호:"
+#: utils/dates.py:14
+msgid "February"
+msgstr "2월"
-#: contrib/admin/templates/registration/password_change_form.html:21
-msgid "Confirm password:"
-msgstr "새로운 비밀번호(확인):"
+#: utils/dates.py:14 utils/dates.py:27
+msgid "March"
+msgstr "3월"
-#: contrib/admin/templates/registration/password_change_form.html:23
-msgid "Change my password"
-msgstr "비밀번호 변경"
+#: utils/dates.py:14 utils/dates.py:27
+msgid "April"
+msgstr "4월"
-#: contrib/admin/templates/registration/password_reset_done.html:4
-#: contrib/admin/templates/registration/password_reset_form.html:4
-#: contrib/admin/templates/registration/password_reset_form.html:6
-#: contrib/admin/templates/registration/password_reset_form.html:10
-msgid "Password reset"
-msgstr "비밀번호 초기화"
+#: utils/dates.py:14 utils/dates.py:27
+msgid "May"
+msgstr "5월"
-#: contrib/admin/templates/registration/password_reset_done.html:6
-#: contrib/admin/templates/registration/password_reset_done.html:10
-msgid "Password reset successful"
-msgstr "비밀번호가 초기화 되었습니다."
+#: utils/dates.py:14 utils/dates.py:27
+msgid "June"
+msgstr "6월"
-#: contrib/admin/templates/registration/password_reset_done.html:12
-msgid ""
-"We've e-mailed a new password to the e-mail address you submitted. You "
-"should be receiving it shortly."
-msgstr "새로운 비밀번호를 등록하신 이메일로 보내드렸습니다."
+#: utils/dates.py:15 utils/dates.py:27
+msgid "July"
+msgstr "7월"
-#: contrib/admin/templates/registration/password_reset_email.html:2
-msgid "You're receiving this e-mail because you requested a password reset"
-msgstr "비밀번호가 초기화 되었음을 알려드립니다."
+#: utils/dates.py:15
+msgid "August"
+msgstr "8월"
-#: contrib/admin/templates/registration/password_reset_email.html:3
-#, python-format
-msgid "for your user account at %(site_name)s"
-msgstr "%(site_name)s 의 사용자 비밀번호가 초기화 되었습니다."
+#: utils/dates.py:15
+msgid "September"
+msgstr "9월"
-#: contrib/admin/templates/registration/password_reset_email.html:5
-#, python-format
-msgid "Your new password is: %(new_password)s"
-msgstr "새로운 비밀번호는 %(new_password)s 입니다."
+#: utils/dates.py:15
+msgid "October"
+msgstr "10월"
-#: contrib/admin/templates/registration/password_reset_email.html:7
-msgid "Feel free to change this password by going to this page:"
-msgstr "해당 페이지에서 언제든지 비밀번호 변경이 가능합니다."
+#: utils/dates.py:15
+msgid "November"
+msgstr "11월"
-#: contrib/admin/templates/registration/password_reset_email.html:11
-msgid "Your username, in case you've forgotten:"
-msgstr "사용자명:"
+#: utils/dates.py:16
+msgid "December"
+msgstr "12월"
-#: contrib/admin/templates/registration/password_reset_email.html:13
-msgid "Thanks for using our site!"
-msgstr "사이트를 이용해 주셔서 고맙습니다."
+#: utils/dates.py:19
+msgid "jan"
+msgstr "1월"
-#: contrib/admin/templates/registration/password_reset_email.html:15
-#, python-format
-msgid "The %(site_name)s team"
-msgstr "%(site_name)s 팀"
+#: utils/dates.py:19
+msgid "feb"
+msgstr "2월"
-#: contrib/admin/templates/registration/password_reset_form.html:12
-msgid ""
-"Forgotten your password? Enter your e-mail address below, and we'll reset "
-"your password and e-mail the new one to you."
-msgstr ""
-"비밀번호를 잊으셨나요? 아래에 비밀번호를 입력하시면비밀전호를 초기화 한 후, "
-"새로운 비밀번호를 보내드리겠습니다."
+#: utils/dates.py:19
+msgid "mar"
+msgstr "3월"
-#: contrib/admin/templates/registration/password_reset_form.html:16
-msgid "E-mail address:"
-msgstr "이메일 주소:"
+#: utils/dates.py:19
+msgid "apr"
+msgstr "4월"
-#: contrib/admin/templates/registration/password_reset_form.html:16
-msgid "Reset my password"
-msgstr "비밀번호 초기화"
+#: utils/dates.py:19
+msgid "may"
+msgstr "5월"
-#: contrib/admin/templates/widget/date_time.html:3
-msgid "Date:"
-msgstr "날짜:"
+#: utils/dates.py:19
+msgid "jun"
+msgstr "6월"
-#: contrib/admin/templates/widget/date_time.html:4
-msgid "Time:"
-msgstr "시각:"
+#: utils/dates.py:20
+msgid "jul"
+msgstr "7월"
-#: contrib/admin/templates/widget/file.html:2
-msgid "Currently:"
-msgstr "현재:"
+#: utils/dates.py:20
+msgid "aug"
+msgstr "8월"
-#: contrib/admin/templates/widget/file.html:3
-msgid "Change:"
-msgstr "변경:"
+#: utils/dates.py:20
+msgid "sep"
+msgstr "9월"
-#: contrib/admin/templatetags/admin_list.py:247
-msgid "All dates"
-msgstr "언제나"
+#: utils/dates.py:20
+msgid "oct"
+msgstr "10월"
-#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257
-#, python-format
-msgid "The %(name)s \"%(obj)s\" was added successfully."
-msgstr "%(name)s \"%(obj)s\" (이)가 추가되었습니다."
+#: utils/dates.py:20
+msgid "nov"
+msgstr "11월"
-#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261
-#: contrib/admin/views/main.py:347
-msgid "You may edit it again below."
-msgstr "계속해서 편집하실 수 있습니다."
+#: utils/dates.py:20
+msgid "dec"
+msgstr "12월"
-#: contrib/admin/views/auth.py:30
-msgid "Add user"
-msgstr "사용자 추가"
+#: utils/dates.py:27
+msgid "Jan."
+msgstr "1월"
-#: contrib/admin/views/auth.py:57
-msgid "Password changed successfully."
-msgstr "비밀번호가 변경되었습니다."
+#: utils/dates.py:27
+msgid "Feb."
+msgstr "2월"
-#: contrib/admin/views/auth.py:64
-#, python-format
-msgid "Change password: %s"
-msgstr "비밀번호 변경: %s"
+#: utils/dates.py:28
+msgid "Aug."
+msgstr "8월"
-#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:60
-msgid ""
-"Please enter a correct username and password. Note that both fields are case-"
-"sensitive."
-msgstr "사용자명과 비밀번호를 입력하세요.(대, 소문자 구별)"
+#: utils/dates.py:28
+msgid "Sept."
+msgstr "9월"
-#: contrib/admin/views/decorators.py:62
-msgid ""
-"Please log in again, because your session has expired. Don't worry: Your "
-"submission has been saved."
-msgstr "로그인 세션이 끊겼습니다. 다시 로그인 하세요."
+#: utils/dates.py:28
+msgid "Oct."
+msgstr "10월"
-#: contrib/admin/views/decorators.py:69
-msgid ""
-"Looks like your browser isn't configured to accept cookies. Please enable "
-"cookies, reload this page, and try again."
-msgstr ""
-"사용하시는 브라우저가 쿠키 사용을 허가하고 있지 않습니다.쿠키 사용을 체크하시"
-"고 다시 시도해 주세요."
+#: utils/dates.py:28
+msgid "Nov."
+msgstr "11월"
-#: contrib/admin/views/decorators.py:83
-msgid "Usernames cannot contain the '@' character."
-msgstr "사용자명에는 '@'을 사용할 수 없습니다."
+#: utils/dates.py:28
+msgid "Dec."
+msgstr "12월"
-#: contrib/admin/views/decorators.py:85
-#, python-format
-msgid "Your e-mail address is not your username. Try '%s' instead."
-msgstr "이메일 주소와 사용자명은 다릅니다. '%s'를 사용하세요."
+#: utils/timesince.py:12
+msgid "year"
+msgid_plural "years"
+msgstr[0] "년"
+msgstr[1] "년"
-#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48
-#: contrib/admin/views/doc.py:50
-msgid "tag:"
-msgstr "태그:"
+#: utils/timesince.py:13
+msgid "month"
+msgid_plural "months"
+msgstr[0] "월"
+msgstr[1] "월"
-#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79
-#: contrib/admin/views/doc.py:81
-msgid "filter:"
-msgstr "필터:"
+#: utils/timesince.py:14
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "주"
+msgstr[1] "주"
-#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137
-#: contrib/admin/views/doc.py:139
-msgid "view:"
-msgstr "뷰:"
+#: utils/timesince.py:15
+msgid "day"
+msgid_plural "days"
+msgstr[0] "일"
+msgstr[1] "일"
-#: contrib/admin/views/doc.py:164
-#, python-format
-msgid "App %r not found"
-msgstr "어플리케이션 %r (이)가 없습니다."
+#: utils/timesince.py:16
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "시간"
+msgstr[1] "시간"
-#: contrib/admin/views/doc.py:171
-#, python-format
-msgid "Model %(name)r not found in app %(label)r"
-msgstr "모델 %(name)r (이)가 어플리케이션 %(label)r 에 없습니다."
+#: utils/timesince.py:17
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "분"
+msgstr[1] "분"
-#: contrib/admin/views/doc.py:183
+#: utils/timesince.py:40
#, python-format
-msgid "the related `%(label)s.%(type)s` object"
-msgstr "`%(label)s.%(type)s` 관련 오브젝트"
+msgid "%d milliseconds"
+msgstr "%d밀리초"
-#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205
-#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224
-msgid "model:"
-msgstr "모델:"
-
-#: contrib/admin/views/doc.py:214
+#: utils/timesince.py:41
#, python-format
-msgid "related `%(label)s.%(name)s` objects"
-msgstr "`%(label)s.%(name)s` 관련 오브젝트(들)"
+msgid "%(number)d %(type)s"
+msgstr "%(number)d%(type)s"
-#: contrib/admin/views/doc.py:219
+#: utils/timesince.py:47
#, python-format
-msgid "all %s"
-msgstr "모든 %s"
+msgid ", %(number)d %(type)s"
+msgstr ", %(number)d%(type)s"
-#: contrib/admin/views/doc.py:224
-#, python-format
-msgid "number of %s"
-msgstr "%s 의 수"
+#: utils/dateformat.py:40
+msgid "p.m."
+msgstr "오후"
-#: contrib/admin/views/doc.py:229
-#, python-format
-msgid "Fields on %s objects"
-msgstr "%s 오브젝트의 필드"
+#: utils/dateformat.py:41
+msgid "a.m."
+msgstr "오전"
-#: 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:310 contrib/admin/views/doc.py:312
-msgid "Integer"
-msgstr "정수"
+#: utils/dateformat.py:46
+msgid "PM"
+msgstr "오후"
-#: contrib/admin/views/doc.py:292
-msgid "Boolean (Either True or False)"
-msgstr "boolean(참 또는 거짓)"
+#: utils/dateformat.py:47
+msgid "AM"
+msgstr "오전"
-#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311
-#, python-format
-msgid "String (up to %(maxlength)s)"
-msgstr "문자열(%(maxlength)s 까지)"
+#: utils/dateformat.py:95
+msgid "midnight"
+msgstr "자정"
-#: contrib/admin/views/doc.py:294
-msgid "Comma-separated integers"
-msgstr "정수(콤마로 구분)"
+#: utils/dateformat.py:97
+msgid "noon"
+msgstr "정오"
-#: contrib/admin/views/doc.py:295
-msgid "Date (without time)"
-msgstr "날짜(시간 제외)"
+#: utils/translation/trans_real.py:358
+msgid "DATE_FORMAT"
+msgstr ""
-#: contrib/admin/views/doc.py:296
-msgid "Date (with time)"
-msgstr "날짜(시간 포함)"
+#: utils/translation/trans_real.py:359
+msgid "DATETIME_FORMAT"
+msgstr ""
-#: contrib/admin/views/doc.py:297
-msgid "E-mail address"
-msgstr "이메일 주소"
+#: utils/translation/trans_real.py:360
+msgid "TIME_FORMAT"
+msgstr ""
-#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299
-#: contrib/admin/views/doc.py:302
-msgid "File path"
-msgstr "파일 경로"
+#: utils/translation/trans_real.py:376
+msgid "YEAR_MONTH_FORMAT"
+msgstr ""
-#: contrib/admin/views/doc.py:300
-msgid "Decimal number"
-msgstr "10진수"
+#: utils/translation/trans_real.py:377
+msgid "MONTH_DAY_FORMAT"
+msgstr ""
-#: contrib/admin/views/doc.py:304 contrib/comments/models.py:85
-msgid "IP address"
-msgstr "IP 주소"
+#: newforms/fields.py:103 newforms/fields.py:256
+#, python-format
+msgid "Ensure this value has at most %d characters."
+msgstr "%d 자 이하로 입력해 주세요."
-#: contrib/admin/views/doc.py:306
-msgid "Boolean (Either True, False or None)"
-msgstr "boolean (참, 거짓 또는 none)"
+#: newforms/fields.py:105 newforms/fields.py:258
+#, python-format
+msgid "Ensure this value has at least %d characters."
+msgstr "%d 자 이상 입력해 주세요."
-#: contrib/admin/views/doc.py:307
-msgid "Relation to parent model"
-msgstr "부모(상위) 모델과 연계"
+#: newforms/fields.py:130
+#, python-format
+msgid "Ensure this value is less than or equal to %s."
+msgstr "%s 자 이하로 입력해 주세요."
-#: contrib/admin/views/doc.py:308
-msgid "Phone number"
-msgstr "전화번호"
+#: newforms/fields.py:132
+#, python-format
+msgid "Ensure this value is greater than or equal to %s."
+msgstr "%s 자 이상 입력해 주세요."
-#: contrib/admin/views/doc.py:313
-msgid "Text"
-msgstr "텍스트"
+#: newforms/fields.py:165
+msgid "Enter a valid date."
+msgstr "올바른 날짜를 입력하세요."
-#: contrib/admin/views/doc.py:314
-msgid "Time"
-msgstr "시각"
+#: newforms/fields.py:192
+msgid "Enter a valid time."
+msgstr "올바른 시각을 입력하세요."
-#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7
-msgid "URL"
-msgstr "URL"
+#: newforms/fields.py:228
+msgid "Enter a valid date/time."
+msgstr "올바른 날짜/시각을 입력하세요."
-#: contrib/admin/views/doc.py:316
-msgid "U.S. state (two uppercase letters)"
-msgstr ""
+#: newforms/fields.py:242
+msgid "Enter a valid value."
+msgstr "올바른 값을 입력하세요."
-#: contrib/admin/views/doc.py:317
-msgid "XML text"
-msgstr "XML 텍스트"
+#: newforms/fields.py:289 newforms/fields.py:311
+msgid "Enter a valid URL."
+msgstr "올바른 URL을 입력하세요."
-#: contrib/admin/views/doc.py:343
-#, python-format
-msgid "%s does not appear to be a urlpattern object"
-msgstr "%s (은)는 url 패턴의 오브젝트가 아닙니다."
+#: newforms/fields.py:313
+msgid "This URL appears to be a broken link."
+msgstr "해당 URL의 링크가 잘못 되어 있습니다."
-#: contrib/admin/views/main.py:223
-msgid "Site administration"
-msgstr "사이트 관리"
+#: newforms/fields.py:364 newforms/models.py:165
+msgid "Select a valid choice. That choice is not one of the available choices."
+msgstr "올바르게 선택해 주세요. 선택하신 것이 선택가능항목에 없습니다."
-#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356
-#, python-format
-msgid "You may add another %s below."
-msgstr "계속해서 다른 %s (을)를 추가하세요."
+#: newforms/fields.py:380 newforms/fields.py:456 newforms/models.py:182
+msgid "Enter a list of values."
+msgstr "리스트를 입력하세요."
-#: contrib/admin/views/main.py:289
+#: newforms/fields.py:389 newforms/models.py:188
#, python-format
-msgid "Add %s"
-msgstr "%s 추가"
+msgid "Select a valid choice. %s is not one of the available choices."
+msgstr "올바르게 선택해 주세요. %s (이)가 선택가능항목에 없습니다."
-#: contrib/admin/views/main.py:335
-#, python-format
-msgid "Added %s."
-msgstr "%s (이)가 추가되었습니다."
+#: newforms/widgets.py:180 contrib/admin/filterspecs.py:150
+#: oldforms/__init__.py:577
+msgid "Unknown"
+msgstr "알 수 없습니다."
-#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337
-#: contrib/admin/views/main.py:339 db/models/manipulators.py:308
-msgid "and"
-msgstr "또한"
+#: newforms/widgets.py:180 contrib/admin/filterspecs.py:143
+#: oldforms/__init__.py:577
+msgid "Yes"
+msgstr "예"
-#: contrib/admin/views/main.py:337
-#, python-format
-msgid "Changed %s."
-msgstr "%s (이)가 변경되었습니다."
+#: newforms/widgets.py:180 contrib/admin/filterspecs.py:143
+#: oldforms/__init__.py:577
+msgid "No"
+msgstr "아니오"
-#: contrib/admin/views/main.py:339
-#, python-format
-msgid "Deleted %s."
-msgstr "%s (이)가 삭제되었습니다."
+#: contrib/contenttypes/models.py:36
+msgid "python model class name"
+msgstr "python 모델 클래스 명"
-#: contrib/admin/views/main.py:342
-msgid "No fields changed."
-msgstr "변경된 필드가 없습니다."
+#: contrib/contenttypes/models.py:39
+msgid "content type"
+msgstr "콘텐츠 타입"
-#: contrib/admin/views/main.py:345
-#, python-format
-msgid "The %(name)s \"%(obj)s\" was changed successfully."
-msgstr "%(name)s \"%(obj)s\" (이)가 변경되었습니다."
+#: contrib/contenttypes/models.py:40
+msgid "content types"
+msgstr "콘텐츠 타입(들)"
-#: contrib/admin/views/main.py:353
-#, python-format
-msgid ""
-"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
-msgstr "%(name)s \"%(obj)s\" (이)가 추가되었습니다. 계속해서 편집하세요."
+#: contrib/humanize/templatetags/humanize.py:17
+msgid "th"
+msgstr "번째"
-#: contrib/admin/views/main.py:391
-#, python-format
-msgid "Change %s"
-msgstr "%s 변경"
+#: contrib/humanize/templatetags/humanize.py:17
+msgid "st"
+msgstr "번째"
-#: contrib/admin/views/main.py:476
-#, python-format
-msgid "One or more %(fieldname)s in %(name)s: %(obj)s"
-msgstr "%(name)s 에 %(fieldname)s (이)가 하나 이상 있는 %(obj)s"
+#: contrib/humanize/templatetags/humanize.py:17
+msgid "nd"
+msgstr "번째"
-#: contrib/admin/views/main.py:481
-#, python-format
-msgid "One or more %(fieldname)s in %(name)s:"
-msgstr "%(name)s 에 %(fieldname)s (이)가 하나 이상 있는"
+#: contrib/humanize/templatetags/humanize.py:17
+msgid "rd"
+msgstr "번째"
-#: contrib/admin/views/main.py:514
+#: contrib/humanize/templatetags/humanize.py:47
#, python-format
-msgid "The %(name)s \"%(obj)s\" was deleted successfully."
-msgstr "%(name)s \"%(obj)s\" (이)가 삭제되었습니다."
-
-#: contrib/admin/views/main.py:517
-msgid "Are you sure?"
-msgstr "확실합니까?"
+msgid "%(value).1f million"
+msgid_plural "%(value).1f million"
+msgstr[0] "(value).1f"
+msgstr[1] "(value).1f"
-#: contrib/admin/views/main.py:539
+#: contrib/humanize/templatetags/humanize.py:50
#, python-format
-msgid "Change history: %s"
-msgstr "변경 히스토리: %s"
+msgid "%(value).1f billion"
+msgid_plural "%(value).1f billion"
+msgstr[0] "%(value).1f"
+msgstr[1] "%(value).1f"
-#: contrib/admin/views/main.py:573
+#: contrib/humanize/templatetags/humanize.py:53
#, python-format
-msgid "Select %s"
-msgstr "%s 선택"
+msgid "%(value).1f trillion"
+msgid_plural "%(value).1f trillion"
+msgstr[0] "%(value).1f"
+msgstr[1] "%(value).1f"
-#: contrib/admin/views/main.py:573
-#, python-format
-msgid "Select %s to change"
-msgstr "변경할 %s 선택"
+#: contrib/humanize/templatetags/humanize.py:68
+msgid "one"
+msgstr "1"
-#: contrib/admin/views/main.py:768
-msgid "Database error"
-msgstr "데이터베이스 오류"
+#: contrib/humanize/templatetags/humanize.py:68
+msgid "two"
+msgstr "2"
-#: contrib/auth/forms.py:17 contrib/auth/forms.py:138
-msgid "The two password fields didn't match."
-msgstr "비밀번호가 일치하지 않습니다."
+#: contrib/humanize/templatetags/humanize.py:68
+msgid "three"
+msgstr "3"
-#: contrib/auth/forms.py:25
-msgid "A user with that username already exists."
-msgstr "해당 사용자명은 이미 존재합니다."
+#: contrib/humanize/templatetags/humanize.py:68
+msgid "four"
+msgstr "4"
-#: contrib/auth/forms.py:53
-msgid ""
-"Your Web browser doesn't appear to have cookies enabled. Cookies are "
-"required for logging in."
-msgstr ""
-"사용하시는 브라우저가 쿠키를 허용하지 않습니다.로그인하기 위해서는 쿠키 사용"
-"이 필요합니다."
+#: contrib/humanize/templatetags/humanize.py:68
+msgid "five"
+msgstr "5"
-#: contrib/auth/forms.py:62
-msgid "This account is inactive."
-msgstr "이 계정은 유효하지 않습니다."
+#: contrib/humanize/templatetags/humanize.py:68
+msgid "six"
+msgstr "6"
-#: contrib/auth/forms.py:85
-msgid ""
-"That e-mail address doesn't have an associated user account. Are you sure "
-"you've registered?"
-msgstr ""
-"이메일주소와 일치하는 사용자가 없습니다.이 이메일주소로 등록하셨습니까?"
+#: contrib/humanize/templatetags/humanize.py:68
+msgid "seven"
+msgstr "7"
-#: contrib/auth/forms.py:117
-msgid "The two 'new password' fields didn't match."
-msgstr "새로운 비밀번호가 일치하지 않습니다."
+#: contrib/humanize/templatetags/humanize.py:68
+msgid "eight"
+msgstr "8"
-#: contrib/auth/forms.py:124
-msgid "Your old password was entered incorrectly. Please enter it again."
-msgstr "기존 비밀번호를 잘못 입력하셨습니다. 다시 입력해 주세요."
+#: contrib/humanize/templatetags/humanize.py:68
+msgid "nine"
+msgstr "9"
+
+#: contrib/auth/views.py:39
+msgid "Logged out"
+msgstr "로그 아웃"
-#: contrib/auth/models.py:38 contrib/auth/models.py:57
+#: contrib/auth/models.py:38 contrib/auth/models.py:58
msgid "name"
msgstr "이름"
@@ -1105,132 +981,202 @@ msgstr "이름"
msgid "codename"
msgstr "코드명"
-#: contrib/auth/models.py:42
+#: contrib/auth/models.py:43
msgid "permission"
msgstr "허가"
-#: contrib/auth/models.py:43 contrib/auth/models.py:58
+#: contrib/auth/models.py:44 contrib/auth/models.py:59
msgid "permissions"
msgstr "허가"
-#: contrib/auth/models.py:60
+#: contrib/auth/models.py:62
msgid "group"
msgstr "그룹"
-#: contrib/auth/models.py:61 contrib/auth/models.py:100
+#: contrib/auth/models.py:63 contrib/auth/models.py:103
msgid "groups"
msgstr "그룹"
-#: contrib/auth/models.py:90
+#: contrib/auth/models.py:93
msgid "username"
msgstr "사용자명"
-#: contrib/auth/models.py:90
+#: contrib/auth/models.py:93
msgid ""
"Required. 30 characters or fewer. Alphanumeric characters only (letters, "
"digits and underscores)."
msgstr "필수항목입니다. 30자 이내로 입력하세요.(알파벳, 숫자, '_' 만 가능)"
-#: contrib/auth/models.py:91
+#: contrib/auth/models.py:94
msgid "first name"
msgstr "이름"
-#: contrib/auth/models.py:92
+#: contrib/auth/models.py:95
msgid "last name"
msgstr "성"
-#: contrib/auth/models.py:93
+#: contrib/auth/models.py:96
msgid "e-mail address"
msgstr "이메일 주소"
-#: contrib/auth/models.py:94
+#: contrib/auth/models.py:97
msgid "password"
msgstr "비밀번호"
-#: contrib/auth/models.py:94
+#: contrib/auth/models.py:97
msgid ""
"Use '[algo]$[salt]$[hexdigest]' or use the <a href=\"password/\">change "
"password form</a>."
msgstr ""
"'[algo]$[salt]$[hexdigest]' 또는 <a href=\"password/\">비밀번호 변경</a>"
-#: contrib/auth/models.py:95
+#: contrib/auth/models.py:98
msgid "staff status"
msgstr "스태프 권한"
-#: contrib/auth/models.py:95
+#: contrib/auth/models.py:98
msgid "Designates whether the user can log into this admin site."
msgstr "사용자가 관리사이트에 로그인이 가능한지를 나타냅니다."
-#: contrib/auth/models.py:96
+#: contrib/auth/models.py:99
msgid "active"
msgstr "활성"
-#: contrib/auth/models.py:96
+#: contrib/auth/models.py:99
msgid ""
"Designates whether this user can log into the Django admin. Unselect this "
"instead of deleting accounts."
msgstr "사용자가 'Django 관리'에 로그인이 가능한지를 나타냅니다."
-#: contrib/auth/models.py:97
+#: contrib/auth/models.py:100
msgid "superuser status"
msgstr "최상위 사용자 권한"
-#: contrib/auth/models.py:97
+#: contrib/auth/models.py:100
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr "해당 사용자에게 모든 권한을 허가합니다."
-#: contrib/auth/models.py:98
+#: contrib/auth/models.py:101
msgid "last login"
msgstr "마지막 로그인"
-#: contrib/auth/models.py:99
+#: contrib/auth/models.py:102
msgid "date joined"
msgstr "등록일"
-#: contrib/auth/models.py:101
+#: contrib/auth/models.py:104
msgid ""
"In addition to the permissions manually assigned, this user will also get "
"all permissions granted to each group he/she is in."
msgstr "해당 사용자에게 속해있는 그룹의 모든 권한을 허가합니다."
-#: contrib/auth/models.py:102
+#: contrib/auth/models.py:105
msgid "user permissions"
msgstr "사용자 권한"
-#: contrib/auth/models.py:105
+#: contrib/auth/models.py:109
msgid "user"
msgstr "사용자"
-#: contrib/auth/models.py:106
+#: contrib/auth/models.py:110
msgid "users"
msgstr "사용자(들)"
-#: contrib/auth/models.py:111
+#: contrib/auth/models.py:116
msgid "Personal info"
msgstr "개인정보"
-#: contrib/auth/models.py:112
+#: contrib/auth/models.py:117
msgid "Permissions"
msgstr "권한"
-#: contrib/auth/models.py:113
+#: contrib/auth/models.py:118
msgid "Important dates"
msgstr "중요한 일정"
-#: contrib/auth/models.py:114
+#: contrib/auth/models.py:119
msgid "Groups"
msgstr "그룹"
-#: contrib/auth/models.py:258
+#: contrib/auth/models.py:263
msgid "message"
msgstr "메시지"
-#: contrib/auth/views.py:39
-msgid "Logged out"
-msgstr "로그 아웃"
+#: contrib/auth/models.py:276
+#, fuzzy
+msgid "AnonymousUser"
+msgstr "익명사용자"
+
+#: contrib/auth/forms.py:17 contrib/auth/forms.py:138
+msgid "The two password fields didn't match."
+msgstr "비밀번호가 일치하지 않습니다."
+
+#: contrib/auth/forms.py:25
+msgid "A user with that username already exists."
+msgstr "해당 사용자명은 이미 존재합니다."
+
+#: contrib/auth/forms.py:53
+msgid ""
+"Your Web browser doesn't appear to have cookies enabled. Cookies are "
+"required for logging in."
+msgstr ""
+"사용하시는 브라우저가 쿠키를 허용하지 않습니다.로그인하기 위해서는 쿠키 사용"
+"이 필요합니다."
+
+#: contrib/auth/forms.py:60 contrib/admin/views/decorators.py:10
+msgid ""
+"Please enter a correct username and password. Note that both fields are case-"
+"sensitive."
+msgstr "사용자명과 비밀번호를 입력하세요.(대, 소문자 구별)"
+
+#: contrib/auth/forms.py:62
+msgid "This account is inactive."
+msgstr "이 계정은 유효하지 않습니다."
+
+#: contrib/auth/forms.py:85
+msgid ""
+"That e-mail address doesn't have an associated user account. Are you sure "
+"you've registered?"
+msgstr ""
+"이메일주소와 일치하는 사용자가 없습니다.이 이메일주소로 등록하셨습니까?"
+
+#: contrib/auth/forms.py:117
+msgid "The two 'new password' fields didn't match."
+msgstr "새로운 비밀번호가 일치하지 않습니다."
+
+#: contrib/auth/forms.py:124
+msgid "Your old password was entered incorrectly. Please enter it again."
+msgstr "기존 비밀번호를 잘못 입력하셨습니다. 다시 입력해 주세요."
+
+#: contrib/redirects/models.py:7
+msgid "redirect from"
+msgstr "에서 재전송"
+
+#: contrib/redirects/models.py:8
+msgid ""
+"This should be an absolute path, excluding the domain name. Example: '/"
+"events/search/'."
+msgstr "도메인명을 제외한 절대경로로 입력하세요. 예: '/events/search/'"
+
+#: contrib/redirects/models.py:9
+msgid "redirect to"
+msgstr "(으)로 재전송"
+
+#: contrib/redirects/models.py:10
+msgid ""
+"This can be either an absolute path (as above) or a full URL starting with "
+"'http://'."
+msgstr "절대경로와 URL('http://' 포함) 모두 가능합니다."
+
+#: contrib/redirects/models.py:13
+msgid "redirect"
+msgstr "재전송"
+
+#: contrib/redirects/models.py:14
+msgid "redirects"
+msgstr "재전송"
#: contrib/comments/models.py:67 contrib/comments/models.py:166
msgid "object ID"
@@ -1289,6 +1235,10 @@ msgstr "날짜/시간 확인"
msgid "is public"
msgstr "공개합니다."
+#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304
+msgid "IP address"
+msgstr "IP 주소"
+
#: contrib/comments/models.py:86
msgid "is removed"
msgstr "삭제합니다."
@@ -1410,41 +1360,17 @@ msgstr ""
msgid "Moderator deletion by %r"
msgstr ""
-#: contrib/comments/templates/comments/form.html:8
-msgid "Forgotten your password?"
-msgstr "비밀번호를 잊으셨습니까?"
-
-#: contrib/comments/templates/comments/form.html:12
-msgid "Ratings"
-msgstr "레이팅"
-
-#: contrib/comments/templates/comments/form.html:12
-#: contrib/comments/templates/comments/form.html:23
-msgid "Required"
-msgstr "필수항목"
-
-#: contrib/comments/templates/comments/form.html:12
-#: contrib/comments/templates/comments/form.html:23
-msgid "Optional"
-msgstr "옵션"
-
-#: contrib/comments/templates/comments/form.html:23
-msgid "Post a photo"
-msgstr "사진 등록"
-
-#: contrib/comments/templates/comments/form.html:28
-#: contrib/comments/templates/comments/freeform.html:5
-msgid "Comment:"
-msgstr "코멘트:"
+#: contrib/comments/views/karma.py:19
+msgid "Anonymous users cannot vote"
+msgstr "미등록 사용자는 투표할 수 없습니다."
-#: contrib/comments/templates/comments/form.html:35
-#: contrib/comments/templates/comments/freeform.html:10
-msgid "Preview comment"
-msgstr "코멘트 미리보기"
+#: contrib/comments/views/karma.py:23
+msgid "Invalid comment ID"
+msgstr "코멘트 ID가 부적절합니다."
-#: contrib/comments/templates/comments/freeform.html:4
-msgid "Your name:"
-msgstr "이름:"
+#: contrib/comments/views/karma.py:25
+msgid "No voting for yourself"
+msgstr "자신이 직접 투표할 수 없습니다."
#: contrib/comments/views/comments.py:27
msgid ""
@@ -1511,29 +1437,78 @@ msgstr ""
msgid "The comment form didn't provide either 'preview' or 'post'"
msgstr "해당 코멘트 폼은 '미리보기'와 'post' 기능을 제공하지 않습니다."
-#: contrib/comments/views/karma.py:19
-msgid "Anonymous users cannot vote"
-msgstr "미등록 사용자는 투표할 수 없습니다."
+#: contrib/comments/templates/comments/freeform.html:4
+msgid "Your name:"
+msgstr "이름:"
-#: contrib/comments/views/karma.py:23
-msgid "Invalid comment ID"
-msgstr "코멘트 ID가 부적절합니다."
+#: contrib/comments/templates/comments/freeform.html:5
+#: contrib/comments/templates/comments/form.html:28
+msgid "Comment:"
+msgstr "코멘트:"
-#: contrib/comments/views/karma.py:25
-msgid "No voting for yourself"
-msgstr "자신이 직접 투표할 수 없습니다."
+#: contrib/comments/templates/comments/freeform.html:10
+#: contrib/comments/templates/comments/form.html:35
+msgid "Preview comment"
+msgstr "코멘트 미리보기"
-#: contrib/contenttypes/models.py:36
-msgid "python model class name"
-msgstr "python 모델 클래스 명"
+#: contrib/comments/templates/comments/form.html:6
+#: contrib/comments/templates/comments/form.html:8
+#: contrib/admin/templates/admin/login.html:17
+msgid "Username:"
+msgstr "사용자명"
-#: contrib/contenttypes/models.py:39
-msgid "content type"
-msgstr "콘텐츠 타입"
+#: contrib/comments/templates/comments/form.html:6
+#: contrib/admin/templates/admin/object_history.html:3
+#: contrib/admin/templates/admin/change_list.html:5
+#: contrib/admin/templates/admin/change_form.html:10
+#: contrib/admin/templates/admin/base.html:25
+#: contrib/admin/templates/admin/delete_confirmation.html:3
+#: contrib/admin/templates/admin/auth/user/change_password.html:9
+#: contrib/admin/templates/registration/password_change_done.html:3
+#: contrib/admin/templates/registration/password_change_form.html:3
+#: contrib/admin/templates/admin_doc/bookmarklets.html:4
+#: contrib/admin/templates/admin_doc/view_detail.html:4
+#: contrib/admin/templates/admin_doc/template_tag_index.html:5
+#: contrib/admin/templates/admin_doc/template_detail.html:4
+#: contrib/admin/templates/admin_doc/template_filter_index.html:5
+#: contrib/admin/templates/admin_doc/missing_docutils.html:4
+#: contrib/admin/templates/admin_doc/view_index.html:5
+#: contrib/admin/templates/admin_doc/model_detail.html:3
+#: contrib/admin/templates/admin_doc/index.html:4
+#: contrib/admin/templates/admin_doc/model_index.html:5
+msgid "Log out"
+msgstr "로그아웃"
-#: contrib/contenttypes/models.py:40
-msgid "content types"
-msgstr "콘텐츠 타입(들)"
+#: contrib/comments/templates/comments/form.html:8
+#: contrib/admin/templates/admin/login.html:20
+msgid "Password:"
+msgstr "비밀번호"
+
+#: contrib/comments/templates/comments/form.html:8
+msgid "Forgotten your password?"
+msgstr "비밀번호를 잊으셨습니까?"
+
+#: contrib/comments/templates/comments/form.html:12
+msgid "Ratings"
+msgstr "레이팅"
+
+#: contrib/comments/templates/comments/form.html:12
+#: contrib/comments/templates/comments/form.html:23
+msgid "Required"
+msgstr "필수항목"
+
+#: contrib/comments/templates/comments/form.html:12
+#: contrib/comments/templates/comments/form.html:23
+msgid "Optional"
+msgstr "옵션"
+
+#: contrib/comments/templates/comments/form.html:23
+msgid "Post a photo"
+msgstr "사진 등록"
+
+#: contrib/flatpages/models.py:7 contrib/admin/views/doc.py:315
+msgid "URL"
+msgstr "URL"
#: contrib/flatpages/models.py:8
msgid ""
@@ -1580,172 +1555,874 @@ msgstr "플랫 페이지"
msgid "flat pages"
msgstr "플랫 페이지(들)"
-#: contrib/humanize/templatetags/humanize.py:17
-msgid "th"
-msgstr "번째"
+#: contrib/sessions/models.py:68
+msgid "session key"
+msgstr "세션 키"
-#: contrib/humanize/templatetags/humanize.py:17
-msgid "st"
-msgstr "번째"
+#: contrib/sessions/models.py:69
+msgid "session data"
+msgstr "세션 날짜"
-#: contrib/humanize/templatetags/humanize.py:17
-msgid "nd"
-msgstr "번째"
+#: contrib/sessions/models.py:70
+msgid "expire date"
+msgstr "유효날짜"
-#: contrib/humanize/templatetags/humanize.py:17
-msgid "rd"
-msgstr "번째"
+#: contrib/sessions/models.py:74
+msgid "session"
+msgstr "세션"
-#: contrib/humanize/templatetags/humanize.py:47
+#: contrib/sessions/models.py:75
+msgid "sessions"
+msgstr "세션"
+
+#: contrib/sites/models.py:10
+msgid "domain name"
+msgstr "도메인 명"
+
+#: contrib/sites/models.py:11
+msgid "display name"
+msgstr "표시명"
+
+#: contrib/sites/models.py:15
+msgid "site"
+msgstr "사이트"
+
+#: contrib/sites/models.py:16
+msgid "sites"
+msgstr "사이트(들)"
+
+#: contrib/admin/filterspecs.py:40
#, python-format
-msgid "%(value).1f million"
-msgid_plural "%(value).1f million"
-msgstr[0] "(value).1f"
-msgstr[1] "(value).1f"
+msgid ""
+"<h3>By %s:</h3>\n"
+"<ul>\n"
+msgstr ""
+"<h3>%s(으)로:</h3>\n"
+"<ul>\n"
-#: contrib/humanize/templatetags/humanize.py:50
+#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88
+#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169
+msgid "All"
+msgstr "모두"
+
+#: contrib/admin/filterspecs.py:109
+msgid "Any date"
+msgstr "언제나"
+
+#: contrib/admin/filterspecs.py:110
+msgid "Today"
+msgstr "오늘"
+
+#: contrib/admin/filterspecs.py:113
+msgid "Past 7 days"
+msgstr "지난 7일"
+
+#: contrib/admin/filterspecs.py:115
+msgid "This month"
+msgstr "이번 달"
+
+#: contrib/admin/filterspecs.py:117
+msgid "This year"
+msgstr "이번 해"
+
+#: contrib/admin/models.py:16
+msgid "action time"
+msgstr "액션 타임"
+
+#: contrib/admin/models.py:19
+msgid "object id"
+msgstr "오브젝트 아이디"
+
+#: contrib/admin/models.py:20
+msgid "object repr"
+msgstr "오브젝트 표현"
+
+#: contrib/admin/models.py:21
+msgid "action flag"
+msgstr "액션 플래그"
+
+#: contrib/admin/models.py:22
+msgid "change message"
+msgstr "메시지 변경"
+
+#: contrib/admin/models.py:25
+msgid "log entry"
+msgstr "로그 엔트리"
+
+#: contrib/admin/models.py:26
+msgid "log entries"
+msgstr "로그 엔트리"
+
+#: contrib/admin/templatetags/admin_list.py:247
+msgid "All dates"
+msgstr "언제나"
+
+#: contrib/admin/views/decorators.py:24
+#: contrib/admin/templates/admin/login.html:25
+msgid "Log in"
+msgstr "로그인"
+
+#: contrib/admin/views/decorators.py:62
+msgid ""
+"Please log in again, because your session has expired. Don't worry: Your "
+"submission has been saved."
+msgstr "로그인 세션이 끊겼습니다. 다시 로그인 하세요."
+
+#: contrib/admin/views/decorators.py:69
+msgid ""
+"Looks like your browser isn't configured to accept cookies. Please enable "
+"cookies, reload this page, and try again."
+msgstr ""
+"사용하시는 브라우저가 쿠키 사용을 허가하고 있지 않습니다.쿠키 사용을 체크하시"
+"고 다시 시도해 주세요."
+
+#: contrib/admin/views/decorators.py:83
+msgid "Usernames cannot contain the '@' character."
+msgstr "사용자명에는 '@'을 사용할 수 없습니다."
+
+#: contrib/admin/views/decorators.py:85
#, python-format
-msgid "%(value).1f billion"
-msgid_plural "%(value).1f billion"
-msgstr[0] "%(value).1f"
-msgstr[1] "%(value).1f"
+msgid "Your e-mail address is not your username. Try '%s' instead."
+msgstr "이메일 주소와 사용자명은 다릅니다. '%s'를 사용하세요."
-#: contrib/humanize/templatetags/humanize.py:53
+#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257
#, python-format
-msgid "%(value).1f trillion"
-msgid_plural "%(value).1f trillion"
-msgstr[0] "%(value).1f"
-msgstr[1] "%(value).1f"
+msgid "The %(name)s \"%(obj)s\" was added successfully."
+msgstr "%(name)s \"%(obj)s\" (이)가 추가되었습니다."
-#: contrib/humanize/templatetags/humanize.py:68
-msgid "one"
-msgstr "1"
+#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261
+#: contrib/admin/views/main.py:347
+msgid "You may edit it again below."
+msgstr "계속해서 편집하실 수 있습니다."
-#: contrib/humanize/templatetags/humanize.py:68
-msgid "two"
-msgstr "2"
+#: contrib/admin/views/auth.py:30
+msgid "Add user"
+msgstr "사용자 추가"
-#: contrib/humanize/templatetags/humanize.py:68
-msgid "three"
-msgstr "3"
+#: contrib/admin/views/auth.py:57
+msgid "Password changed successfully."
+msgstr "비밀번호가 변경되었습니다."
-#: contrib/humanize/templatetags/humanize.py:68
-msgid "four"
-msgstr "4"
+#: contrib/admin/views/auth.py:64
+#, python-format
+msgid "Change password: %s"
+msgstr "비밀번호 변경: %s"
-#: contrib/humanize/templatetags/humanize.py:68
-msgid "five"
-msgstr "5"
+#: contrib/admin/views/main.py:223
+msgid "Site administration"
+msgstr "사이트 관리"
-#: contrib/humanize/templatetags/humanize.py:68
-msgid "six"
-msgstr "6"
+#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356
+#, python-format
+msgid "You may add another %s below."
+msgstr "계속해서 다른 %s (을)를 추가하세요."
-#: contrib/humanize/templatetags/humanize.py:68
-msgid "seven"
-msgstr "7"
+#: contrib/admin/views/main.py:289
+#, python-format
+msgid "Add %s"
+msgstr "%s 추가"
-#: contrib/humanize/templatetags/humanize.py:68
-msgid "eight"
-msgstr "8"
+#: contrib/admin/views/main.py:335
+#, python-format
+msgid "Added %s."
+msgstr "%s (이)가 추가되었습니다."
-#: contrib/humanize/templatetags/humanize.py:68
-msgid "nine"
-msgstr "9"
+#: contrib/admin/views/main.py:337
+#, python-format
+msgid "Changed %s."
+msgstr "%s (이)가 변경되었습니다."
-#: contrib/localflavor/br/forms.py:18
-#, fuzzy
-msgid "Enter a zip code in the format XXXXX-XXX."
-msgstr "우편번호를 입력하세요.(xxx xxx)"
+#: contrib/admin/views/main.py:339
+#, python-format
+msgid "Deleted %s."
+msgstr "%s (이)가 삭제되었습니다."
-#: contrib/localflavor/br/forms.py:30
-#, fuzzy
-msgid "Phone numbers must be in XX-XXXX-XXXX format."
-msgstr ""
-"전화번호는 xxx-xxx-xxxx 형식으로 입력하세요. \"%s\" (은)는 부적절합니다."
+#: contrib/admin/views/main.py:342
+msgid "No fields changed."
+msgstr "변경된 필드가 없습니다."
-#: contrib/localflavor/de/de_states.py:5
-msgid "Baden-Wuerttemberg"
-msgstr ""
+#: contrib/admin/views/main.py:345
+#, python-format
+msgid "The %(name)s \"%(obj)s\" was changed successfully."
+msgstr "%(name)s \"%(obj)s\" (이)가 변경되었습니다."
-#: contrib/localflavor/de/de_states.py:6
-msgid "Bavaria"
-msgstr ""
+#: contrib/admin/views/main.py:353
+#, python-format
+msgid ""
+"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
+msgstr "%(name)s \"%(obj)s\" (이)가 추가되었습니다. 계속해서 편집하세요."
-#: contrib/localflavor/de/de_states.py:7
-#, fuzzy
-msgid "Berlin"
-msgstr "브라질어"
+#: contrib/admin/views/main.py:391
+#, python-format
+msgid "Change %s"
+msgstr "%s 변경"
-#: contrib/localflavor/de/de_states.py:8
-msgid "Brandenburg"
-msgstr ""
+#: contrib/admin/views/main.py:476
+#, python-format
+msgid "One or more %(fieldname)s in %(name)s: %(obj)s"
+msgstr "%(name)s 에 %(fieldname)s (이)가 하나 이상 있는 %(obj)s"
-#: contrib/localflavor/de/de_states.py:9
-msgid "Bremen"
-msgstr ""
+#: contrib/admin/views/main.py:481
+#, python-format
+msgid "One or more %(fieldname)s in %(name)s:"
+msgstr "%(name)s 에 %(fieldname)s (이)가 하나 이상 있는"
-#: contrib/localflavor/de/de_states.py:10
-msgid "Hamburg"
+#: contrib/admin/views/main.py:514
+#, python-format
+msgid "The %(name)s \"%(obj)s\" was deleted successfully."
+msgstr "%(name)s \"%(obj)s\" (이)가 삭제되었습니다."
+
+#: contrib/admin/views/main.py:517
+msgid "Are you sure?"
+msgstr "확실합니까?"
+
+#: contrib/admin/views/main.py:539
+#, python-format
+msgid "Change history: %s"
+msgstr "변경 히스토리: %s"
+
+#: contrib/admin/views/main.py:573
+#, python-format
+msgid "Select %s"
+msgstr "%s 선택"
+
+#: contrib/admin/views/main.py:573
+#, python-format
+msgid "Select %s to change"
+msgstr "변경할 %s 선택"
+
+#: contrib/admin/views/main.py:768
+msgid "Database error"
+msgstr "데이터베이스 오류"
+
+#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48
+#: contrib/admin/views/doc.py:50
+msgid "tag:"
+msgstr "태그:"
+
+#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79
+#: contrib/admin/views/doc.py:81
+msgid "filter:"
+msgstr "필터:"
+
+#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137
+#: contrib/admin/views/doc.py:139
+msgid "view:"
+msgstr "뷰:"
+
+#: contrib/admin/views/doc.py:164
+#, python-format
+msgid "App %r not found"
+msgstr "어플리케이션 %r (이)가 없습니다."
+
+#: contrib/admin/views/doc.py:171
+#, python-format
+msgid "Model %(name)r not found in app %(label)r"
+msgstr "모델 %(name)r (이)가 어플리케이션 %(label)r 에 없습니다."
+
+#: contrib/admin/views/doc.py:183
+#, python-format
+msgid "the related `%(label)s.%(type)s` object"
+msgstr "`%(label)s.%(type)s` 관련 오브젝트"
+
+#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205
+#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224
+msgid "model:"
+msgstr "모델:"
+
+#: contrib/admin/views/doc.py:214
+#, python-format
+msgid "related `%(label)s.%(name)s` objects"
+msgstr "`%(label)s.%(name)s` 관련 오브젝트(들)"
+
+#: contrib/admin/views/doc.py:219
+#, python-format
+msgid "all %s"
+msgstr "모든 %s"
+
+#: contrib/admin/views/doc.py:224
+#, python-format
+msgid "number of %s"
+msgstr "%s 의 수"
+
+#: contrib/admin/views/doc.py:229
+#, python-format
+msgid "Fields on %s objects"
+msgstr "%s 오브젝트의 필드"
+
+#: 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:310 contrib/admin/views/doc.py:312
+msgid "Integer"
+msgstr "정수"
+
+#: contrib/admin/views/doc.py:292
+msgid "Boolean (Either True or False)"
+msgstr "boolean(참 또는 거짓)"
+
+#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311
+#, python-format
+msgid "String (up to %(maxlength)s)"
+msgstr "문자열(%(maxlength)s 까지)"
+
+#: contrib/admin/views/doc.py:294
+msgid "Comma-separated integers"
+msgstr "정수(콤마로 구분)"
+
+#: contrib/admin/views/doc.py:295
+msgid "Date (without time)"
+msgstr "날짜(시간 제외)"
+
+#: contrib/admin/views/doc.py:296
+msgid "Date (with time)"
+msgstr "날짜(시간 포함)"
+
+#: contrib/admin/views/doc.py:297
+msgid "E-mail address"
+msgstr "이메일 주소"
+
+#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299
+#: contrib/admin/views/doc.py:302
+msgid "File path"
+msgstr "파일 경로"
+
+#: contrib/admin/views/doc.py:300
+msgid "Decimal number"
+msgstr "10진수"
+
+#: contrib/admin/views/doc.py:306
+msgid "Boolean (Either True, False or None)"
+msgstr "boolean (참, 거짓 또는 none)"
+
+#: contrib/admin/views/doc.py:307
+msgid "Relation to parent model"
+msgstr "부모(상위) 모델과 연계"
+
+#: contrib/admin/views/doc.py:308
+msgid "Phone number"
+msgstr "전화번호"
+
+#: contrib/admin/views/doc.py:313
+msgid "Text"
+msgstr "텍스트"
+
+#: contrib/admin/views/doc.py:314
+msgid "Time"
+msgstr "시각"
+
+#: contrib/admin/views/doc.py:316
+msgid "U.S. state (two uppercase letters)"
+msgstr "미국의 주 (두개의 대문자로)"
+
+#: contrib/admin/views/doc.py:317
+msgid "XML text"
+msgstr "XML 텍스트"
+
+#: contrib/admin/views/doc.py:343
+#, python-format
+msgid "%s does not appear to be a urlpattern object"
+msgstr "%s (은)는 url 패턴의 오브젝트가 아닙니다."
+
+#: contrib/admin/templates/widget/file.html:2
+msgid "Currently:"
+msgstr "현재:"
+
+#: contrib/admin/templates/widget/file.html:3
+msgid "Change:"
+msgstr "변경:"
+
+#: contrib/admin/templates/widget/date_time.html:3
+msgid "Date:"
+msgstr "날짜:"
+
+#: contrib/admin/templates/widget/date_time.html:4
+msgid "Time:"
+msgstr "시각:"
+
+#: contrib/admin/templates/admin/object_history.html:3
+#: contrib/admin/templates/admin/change_list.html:5
+#: contrib/admin/templates/admin/change_form.html:10
+#: contrib/admin/templates/admin/base.html:25
+#: contrib/admin/templates/admin/delete_confirmation.html:3
+#: contrib/admin/templates/admin/auth/user/change_password.html:9
+#: contrib/admin/templates/registration/password_change_done.html:3
+#: contrib/admin/templates/registration/password_change_form.html:3
+#: contrib/admin/templates/admin_doc/bookmarklets.html:3
+msgid "Documentation"
+msgstr "문서"
+
+#: contrib/admin/templates/admin/object_history.html:3
+#: contrib/admin/templates/admin/change_list.html:5
+#: contrib/admin/templates/admin/change_form.html:10
+#: contrib/admin/templates/admin/base.html:25
+#: contrib/admin/templates/admin/delete_confirmation.html:3
+#: contrib/admin/templates/admin/auth/user/change_password.html:9
+#: contrib/admin/templates/admin/auth/user/change_password.html:15
+#: contrib/admin/templates/admin/auth/user/change_password.html:46
+#: contrib/admin/templates/registration/password_change_done.html:3
+#: contrib/admin/templates/registration/password_change_form.html:3
+#: contrib/admin/templates/admin_doc/bookmarklets.html:4
+#: contrib/admin/templates/admin_doc/view_detail.html:4
+#: contrib/admin/templates/admin_doc/template_tag_index.html:5
+#: contrib/admin/templates/admin_doc/template_detail.html:4
+#: contrib/admin/templates/admin_doc/template_filter_index.html:5
+#: contrib/admin/templates/admin_doc/missing_docutils.html:4
+#: contrib/admin/templates/admin_doc/view_index.html:5
+#: contrib/admin/templates/admin_doc/model_detail.html:3
+#: contrib/admin/templates/admin_doc/index.html:4
+#: contrib/admin/templates/admin_doc/model_index.html:5
+msgid "Change password"
+msgstr "비밀번호 변경"
+
+#: contrib/admin/templates/admin/object_history.html:5
+#: contrib/admin/templates/admin/change_list.html:6
+#: contrib/admin/templates/admin/500.html:4
+#: contrib/admin/templates/admin/invalid_setup.html:4
+#: contrib/admin/templates/admin/change_form.html:13
+#: contrib/admin/templates/admin/base.html:30
+#: contrib/admin/templates/admin/delete_confirmation.html:6
+#: contrib/admin/templates/admin/auth/user/change_password.html:12
+#: contrib/admin/templates/registration/password_change_done.html:4
+#: contrib/admin/templates/registration/password_reset_form.html:4
+#: contrib/admin/templates/registration/logged_out.html:4
+#: contrib/admin/templates/registration/password_reset_done.html:4
+#: contrib/admin/templates/registration/password_change_form.html:4
+#: contrib/admin/templates/admin_doc/bookmarklets.html:3
+msgid "Home"
+msgstr "홈"
+
+#: contrib/admin/templates/admin/object_history.html:5
+#: contrib/admin/templates/admin/change_form.html:21
+msgid "History"
+msgstr "히스토리"
+
+#: contrib/admin/templates/admin/object_history.html:18
+msgid "Date/time"
+msgstr "날짜/시간"
+
+#: contrib/admin/templates/admin/object_history.html:19
+msgid "User"
+msgstr "사용자"
+
+#: contrib/admin/templates/admin/object_history.html:20
+msgid "Action"
+msgstr "액션"
+
+#: contrib/admin/templates/admin/object_history.html:26
+msgid "DATE_WITH_TIME_FULL"
+msgstr "년/월/일 시:분:초"
+
+#: contrib/admin/templates/admin/object_history.html:36
+msgid ""
+"This object doesn't have a change history. It probably wasn't added via this "
+"admin site."
msgstr ""
+"오브젝트에 변경사항이 없습니다.이 admin 사이트를 통해 추가된 사항이 아닙니다."
-#: contrib/localflavor/de/de_states.py:11
-#, fuzzy
-msgid "Hessen"
-msgstr "메시지"
+#: contrib/admin/templates/admin/change_list.html:12
+#, python-format
+msgid "Add %(name)s"
+msgstr "%(name)s 추가"
-#: contrib/localflavor/de/de_states.py:12
-msgid "Mecklenburg-Western Pomerania"
+#: contrib/admin/templates/admin/filter.html:2
+#, python-format
+msgid " By %(filter_title)s "
+msgstr "%(filter_title)s (으)로"
+
+#: contrib/admin/templates/admin/500.html:4
+msgid "Server error"
+msgstr "서버 오류"
+
+#: contrib/admin/templates/admin/500.html:6
+msgid "Server error (500)"
+msgstr "서버 오류 (500)"
+
+#: contrib/admin/templates/admin/500.html:9
+msgid "Server Error <em>(500)</em>"
+msgstr "서버 오류 <em>(500)</em>"
+
+#: contrib/admin/templates/admin/500.html:10
+msgid ""
+"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."
msgstr ""
+"오류가 발생했습니다. 사이트 관리자에게 이메일로 에러를 보고 했습니다.조속히 "
+"수정하도록 하겠습니다. 고맙습니다."
-#: contrib/localflavor/de/de_states.py:13
-msgid "Lower Saxony"
+#: contrib/admin/templates/admin/invalid_setup.html:8
+msgid ""
+"Something's wrong with your database installation. Make sure the appropriate "
+"database tables have been created, and make sure the database is readable by "
+"the appropriate user."
msgstr ""
+"데이터베이스 설정에 문제가 발생했습니다. 해당 데이터베이스 테이블이 생성되었"
+"는지,해당 유저가 데이터베이스를 읽어 들일 수 있는지 확인하세요."
-#: contrib/localflavor/de/de_states.py:14
-msgid "North Rhine-Westphalia"
+#: contrib/admin/templates/admin/search_form.html:8
+msgid "Go"
+msgstr "실행"
+
+#: contrib/admin/templates/admin/search_form.html:10
+#, python-format
+msgid "1 result"
+msgid_plural "%(counter)s results"
+msgstr[0] "1건"
+msgstr[1] "%(counter)s 건"
+
+#: contrib/admin/templates/admin/search_form.html:10
+#, python-format
+msgid "%(full_result_count)s total"
+msgstr "모두 %(full_result_count)s 건"
+
+#: contrib/admin/templates/admin/pagination.html:10
+msgid "Show all"
+msgstr "모두 표시"
+
+#: contrib/admin/templates/admin/base_site.html:4
+msgid "Django site admin"
+msgstr "Django 사이트 관리"
+
+#: contrib/admin/templates/admin/base_site.html:7
+msgid "Django administration"
+msgstr "Django 관리"
+
+#: contrib/admin/templates/admin/filters.html:4
+msgid "Filter"
+msgstr "필터"
+
+#: contrib/admin/templates/admin/404.html:4
+#: contrib/admin/templates/admin/404.html:8
+msgid "Page not found"
+msgstr "해당 페이지가 없습니다."
+
+#: contrib/admin/templates/admin/404.html:10
+msgid "We're sorry, but the requested page could not be found."
+msgstr "죄송합니다, 요청하신 페이지를 찾을 수 없습니다."
+
+#: contrib/admin/templates/admin/index.html:17
+#, python-format
+msgid "Models available in the %(name)s application."
+msgstr "%(name)s 어플리케이션으로 이용 가능한 모델"
+
+#: contrib/admin/templates/admin/index.html:18
+#, python-format
+msgid "%(name)s"
+msgstr "%(name)s"
+
+#: contrib/admin/templates/admin/index.html:28
+#: contrib/admin/templates/admin/change_form.html:15
+msgid "Add"
+msgstr "추가"
+
+#: contrib/admin/templates/admin/index.html:34
+msgid "Change"
+msgstr "변경"
+
+#: contrib/admin/templates/admin/index.html:44
+msgid "You don't have permission to edit anything."
+msgstr "수정할 권한이 없습니다."
+
+#: contrib/admin/templates/admin/index.html:52
+msgid "Recent Actions"
+msgstr "최근 액션"
+
+#: contrib/admin/templates/admin/index.html:53
+msgid "My Actions"
+msgstr "나의 액션"
+
+#: contrib/admin/templates/admin/index.html:57
+msgid "None available"
+msgstr "이용할 수 없습니다."
+
+#: contrib/admin/templates/admin/change_form.html:22
+msgid "View on site"
+msgstr "사이트에서 보기"
+
+#: contrib/admin/templates/admin/change_form.html:32
+#: contrib/admin/templates/admin/auth/user/change_password.html:24
+msgid "Please correct the error below."
+msgid_plural "Please correct the errors below."
+msgstr[0] "아래의 오류를 수정해 주세요."
+msgstr[1] "아래의 오류들을 수정해 주세요."
+
+#: contrib/admin/templates/admin/change_form.html:50
+msgid "Ordering"
+msgstr "순서"
+
+#: contrib/admin/templates/admin/change_form.html:53
+msgid "Order:"
+msgstr "순서:"
+
+#: contrib/admin/templates/admin/base.html:25
+msgid "Welcome,"
+msgstr "환영합니다,"
+
+#: contrib/admin/templates/admin/delete_confirmation.html:9
+#: contrib/admin/templates/admin/submit_line.html:3
+msgid "Delete"
+msgstr "삭제"
+
+#: contrib/admin/templates/admin/delete_confirmation.html:14
+#, python-format
+msgid ""
+"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting "
+"related objects, but your account doesn't have permission to delete the "
+"following types of objects:"
msgstr ""
+"%(object_name)s \"%(escaped_object)s\" (을)를 삭제하면서관련 오브젝트를 제거"
+"하고자 했으나, 지금 사용하시는 계정은 다음 타입의 오브젝트를 제거할 권한이 없"
+"습니다. :"
-#: contrib/localflavor/de/de_states.py:15
-msgid "Rhineland-Palatinate"
+#: contrib/admin/templates/admin/delete_confirmation.html:21
+#, python-format
+msgid ""
+"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? "
+"All of the following related items will be deleted:"
msgstr ""
+"정말로 %(object_name)s \"%(escaped_object)s\" (을)를 삭제하시겠습니까?다음의 "
+"관련 아이템들이 모두 삭제됩니다. :"
-#: contrib/localflavor/de/de_states.py:16
-#, fuzzy
-msgid "Saarland"
-msgstr "카탈로니아어"
+#: contrib/admin/templates/admin/delete_confirmation.html:26
+msgid "Yes, I'm sure"
+msgstr "네, 확실합니다."
-#: contrib/localflavor/de/de_states.py:17
-msgid "Saxony"
-msgstr ""
+#: contrib/admin/templates/admin/submit_line.html:4
+msgid "Save as new"
+msgstr "새로 저장"
-#: contrib/localflavor/de/de_states.py:18
-msgid "Saxony-Anhalt"
+#: contrib/admin/templates/admin/submit_line.html:5
+msgid "Save and add another"
+msgstr "저장 및 다른 이름으로 추가"
+
+#: contrib/admin/templates/admin/submit_line.html:6
+msgid "Save and continue editing"
+msgstr "저장 및 편집 계속"
+
+#: contrib/admin/templates/admin/submit_line.html:7
+msgid "Save"
+msgstr "저장"
+
+#: contrib/admin/templates/admin/auth/user/change_password.html:28
+#, python-format
+msgid "Enter a new password for the user <strong>%(username)s</strong>."
+msgstr "<strong>%(username)s</strong> 새로운 비밀번호를 입력하세요."
+
+#: contrib/admin/templates/admin/auth/user/change_password.html:34
+#: contrib/admin/templates/admin/auth/user/add_form.html:18
+msgid "Password"
+msgstr "비밀번호"
+
+#: contrib/admin/templates/admin/auth/user/change_password.html:39
+#: contrib/admin/templates/admin/auth/user/add_form.html:23
+msgid "Password (again)"
+msgstr "비밀번호 (확인)"
+
+#: contrib/admin/templates/admin/auth/user/change_password.html:40
+#: contrib/admin/templates/admin/auth/user/add_form.html:24
+msgid "Enter the same password as above, for verification."
+msgstr "확인을 위해 위와 동일한 비밀번호를 입력하세요. "
+
+#: contrib/admin/templates/admin/auth/user/add_form.html:6
+msgid ""
+"First, enter a username and password. Then, you'll be able to edit more user "
+"options."
msgstr ""
+"사용자명와 비밀번호를 입력하세요.더 많은 사용자 옵션을 사용하실 수 있습니다."
-#: contrib/localflavor/de/de_states.py:19
-msgid "Schleswig-Holstein"
+#: contrib/admin/templates/admin/auth/user/add_form.html:12
+msgid "Username"
+msgstr "사용자명"
+
+#: contrib/admin/templates/registration/password_change_done.html:4
+#: contrib/admin/templates/registration/password_change_form.html:4
+#: contrib/admin/templates/registration/password_change_form.html:6
+#: contrib/admin/templates/registration/password_change_form.html:10
+msgid "Password change"
+msgstr "비밀번호 변경"
+
+#: contrib/admin/templates/registration/password_change_done.html:6
+#: contrib/admin/templates/registration/password_change_done.html:10
+msgid "Password change successful"
+msgstr "비밀번호를 변경하였습니다."
+
+#: contrib/admin/templates/registration/password_change_done.html:12
+msgid "Your password was changed."
+msgstr "비밀번호가 변경되었습니다."
+
+#: contrib/admin/templates/registration/password_reset_form.html:4
+#: contrib/admin/templates/registration/password_reset_form.html:6
+#: contrib/admin/templates/registration/password_reset_form.html:10
+#: contrib/admin/templates/registration/password_reset_done.html:4
+msgid "Password reset"
+msgstr "비밀번호 초기화"
+
+#: contrib/admin/templates/registration/password_reset_form.html:12
+msgid ""
+"Forgotten your password? Enter your e-mail address below, and we'll reset "
+"your password and e-mail the new one to you."
msgstr ""
+"비밀번호를 잊으셨나요? 아래에 비밀번호를 입력하시면비밀전호를 초기화 한 후, "
+"새로운 비밀번호를 보내드리겠습니다."
-#: contrib/localflavor/de/de_states.py:20
-msgid "Thuringia"
+#: contrib/admin/templates/registration/password_reset_form.html:16
+msgid "E-mail address:"
+msgstr "이메일 주소:"
+
+#: contrib/admin/templates/registration/password_reset_form.html:16
+msgid "Reset my password"
+msgstr "비밀번호 초기화"
+
+#: contrib/admin/templates/registration/logged_out.html:8
+msgid "Thanks for spending some quality time with the Web site today."
+msgstr "사이트를 이용해 주셔서 고맙습니다."
+
+#: contrib/admin/templates/registration/logged_out.html:10
+msgid "Log in again"
+msgstr "다시 로그인하기"
+
+#: contrib/admin/templates/registration/password_reset_done.html:6
+#: contrib/admin/templates/registration/password_reset_done.html:10
+msgid "Password reset successful"
+msgstr "비밀번호가 초기화 되었습니다."
+
+#: contrib/admin/templates/registration/password_reset_done.html:12
+msgid ""
+"We've e-mailed a new password to the e-mail address you submitted. You "
+"should be receiving it shortly."
+msgstr "새로운 비밀번호를 등록하신 이메일로 보내드렸습니다."
+
+#: contrib/admin/templates/registration/password_change_form.html:12
+msgid ""
+"Please enter your old password, for security's sake, and then enter your new "
+"password twice so we can verify you typed it in correctly."
msgstr ""
+"보안상 필요하오니 기존에 사용하시던 비밀번호를 입력해 주세요.새로운 비밀번호"
+"는 정확히 입력했는지 확인할 수 있도록 두 번 입력하시기 바랍니다."
-#: contrib/localflavor/de/forms.py:16 contrib/localflavor/fi/forms.py:14
-#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/it/forms.py:14
-msgid "Enter a zip code in the format XXXXX."
-msgstr "우편번호를 입력하세요.(xxx xxx)"
+#: contrib/admin/templates/registration/password_change_form.html:17
+msgid "Old password:"
+msgstr "기존 비밀번호:"
-#: contrib/localflavor/de/forms.py:63
+#: contrib/admin/templates/registration/password_change_form.html:19
+msgid "New password:"
+msgstr "새로운 비밀번호:"
+
+#: contrib/admin/templates/registration/password_change_form.html:21
+msgid "Confirm password:"
+msgstr "새로운 비밀번호(확인):"
+
+#: contrib/admin/templates/registration/password_change_form.html:23
+msgid "Change my password"
+msgstr "비밀번호 변경"
+
+#: contrib/admin/templates/registration/password_reset_email.html:2
+msgid "You're receiving this e-mail because you requested a password reset"
+msgstr "비밀번호가 초기화 되었음을 알려드립니다."
+
+#: contrib/admin/templates/registration/password_reset_email.html:3
+#, python-format
+msgid "for your user account at %(site_name)s"
+msgstr "%(site_name)s 의 사용자 비밀번호가 초기화 되었습니다."
+
+#: contrib/admin/templates/registration/password_reset_email.html:5
+#, python-format
+msgid "Your new password is: %(new_password)s"
+msgstr "새로운 비밀번호는 %(new_password)s 입니다."
+
+#: contrib/admin/templates/registration/password_reset_email.html:7
+msgid "Feel free to change this password by going to this page:"
+msgstr "해당 페이지에서 언제든지 비밀번호 변경이 가능합니다."
+
+#: contrib/admin/templates/registration/password_reset_email.html:11
+msgid "Your username, in case you've forgotten:"
+msgstr "사용자명:"
+
+#: contrib/admin/templates/registration/password_reset_email.html:13
+msgid "Thanks for using our site!"
+msgstr "사이트를 이용해 주셔서 고맙습니다."
+
+#: contrib/admin/templates/registration/password_reset_email.html:15
+#, python-format
+msgid "The %(site_name)s team"
+msgstr "%(site_name)s 팀"
+
+#: contrib/admin/templates/admin_doc/bookmarklets.html:3
+msgid "Bookmarklets"
+msgstr "북마크릿"
+
+#: contrib/admin/templates/admin_doc/bookmarklets.html:5
+msgid "Documentation bookmarklets"
+msgstr "문서 북마크릿"
+
+#: contrib/admin/templates/admin_doc/bookmarklets.html:9
msgid ""
-"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X "
-"format"
+"\n"
+"<p class=\"help\">To install bookmarklets, drag the link to your bookmarks\n"
+"toolbar, or right-click the link and add it to your bookmarks. Now you can\n"
+"select the bookmarklet from any page in the site. Note that some of these\n"
+"bookmarklets require you to be viewing the site from a computer designated\n"
+"as \"internal\" (talk to your system administrator if you aren't sure if\n"
+"your computer is \"internal\").</p>\n"
msgstr ""
+"\n"
+"<p class=\"help\"> 북마크릿을 설치하시려면 링크를 북마크 툴바로 드래그 하거"
+"나,\n"
+"오른쪽 클릭으로 해당 링크를 북마크에 추가하세요.\n"
+"이제 사이트 내의 모든 페이지에서 북마크릿 선택이 가능합니다.\n"
+"북마크릿에 따라 내부 네트워크 상의 컴퓨터로부터 이 사이트를 참조해야하는 경우"
+"가 있습니다.\n"
+"(내부 네트워크가 있는지 불명확한 경우 시스템 관리자에게 확인하시기 바랍니다.)"
+"</p>\n"
-#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:46
-#, fuzzy
-msgid "Enter a valid Finnish social security number."
-msgstr "올바른 파일명을 입력하세요."
+#: contrib/admin/templates/admin_doc/bookmarklets.html:19
+msgid "Documentation for this page"
+msgstr "이 페이지의 문서"
+
+#: contrib/admin/templates/admin_doc/bookmarklets.html:20
+msgid ""
+"Jumps you from any page to the documentation for the view that generates "
+"that page."
+msgstr "각 페이지로에서 해당 페이지를 생성한 뷰의 문서로 갑니다."
+
+#: contrib/admin/templates/admin_doc/bookmarklets.html:22
+msgid "Show object ID"
+msgstr "오브젝트 아이디 표시"
+
+#: contrib/admin/templates/admin_doc/bookmarklets.html:23
+msgid ""
+"Shows the content-type and unique ID for pages that represent a single "
+"object."
+msgstr "단일 오브젝트 페이지의 고유 아이디와 컨텐츠 타입을 표시합니다."
+
+#: contrib/admin/templates/admin_doc/bookmarklets.html:25
+msgid "Edit this object (current window)"
+msgstr "오브젝트 편집(현재 창)"
+
+#: contrib/admin/templates/admin_doc/bookmarklets.html:26
+msgid "Jumps to the admin page for pages that represent a single object."
+msgstr "단일 오브젝트 페이지의 관리 페이지로 이동"
+
+#: contrib/admin/templates/admin_doc/bookmarklets.html:28
+msgid "Edit this object (new window)"
+msgstr "오브젝트 편집(새로운 창)"
+
+#: contrib/admin/templates/admin_doc/bookmarklets.html:29
+msgid "As above, but opens the admin page in a new window."
+msgstr "위와 동일하며, 새로운 창에서 관리 페이지를 엽니다."
+
+#: contrib/localflavor/au/forms.py:18
+#,
+msgid "Enter a 4 digit post code."
+msgstr "우편번호를 입력하세요. (xxxx)"
+
+#: contrib/localflavor/uk/forms.py:18
+msgid "Enter a postcode. A space is required between the two postcode parts."
+msgstr "우편번호를 입력하세요. (xxx xxx)"
+
+#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/fi/forms.py:14
+#: contrib/localflavor/de/forms.py:16
+msgid "Enter a zip code in the format XXXXX."
+msgstr "우편번호를 입력하세요.(xxx xxx)"
#: contrib/localflavor/jp/forms.py:21
msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX."
@@ -1939,6 +2616,37 @@ msgstr ""
msgid "Okinawa"
msgstr ""
+#: contrib/localflavor/it/forms.py:16
+#,
+msgid "Enter a valid zip code."
+msgstr "올바른 우편번호를 입력하세요."
+
+#: contrib/localflavor/it/forms.py:41
+#,
+msgid "Enter a valid Social Security number."
+msgstr "올바른 Social Security number를 입력하세요."
+
+#: contrib/localflavor/it/forms.py:68
+#,
+msgid "Enter a valid VAT number."
+msgstr "올바른 VAT번호를 입력하세요."
+
+#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45
+#,
+msgid "Enter a valid Finnish social security number."
+msgstr "올바른 핀란드 Social Security number를 입력하세요."
+
+#: contrib/localflavor/br/forms.py:18
+#,
+msgid "Enter a zip code in the format XXXXX-XXX."
+msgstr "우편번호는 XXXXX-XXX 형식으로 입력하세요."
+
+#: contrib/localflavor/br/forms.py:30
+#, fuzzy
+msgid "Phone numbers must be in XX-XXXX-XXXX format."
+msgstr ""
+"전화번호는 xx-xxxx-xxxx 형식으로 입력하세요."
+
#: contrib/localflavor/no/forms.py:15
#, fuzzy
msgid "Enter a zip code in the format XXXX."
@@ -1949,507 +2657,112 @@ msgstr "우편번호를 입력하세요.(xxx xxx)"
msgid "Enter a valid Norwegian social security number."
msgstr "10진수를 사용해 주세요."
-#: contrib/localflavor/uk/forms.py:18
-msgid "Enter a postcode. A space is required between the two postcode parts."
-msgstr "우편번호를 입력하세요. (xxx xxx)"
-
-#: contrib/localflavor/usa/forms.py:18
-msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX."
-msgstr "우변번호를 입력하세요.(xxxxxx 또는 xxx-xxx)"
-
-#: contrib/localflavor/usa/forms.py:51
-msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format."
+#: contrib/localflavor/de/de_states.py:5
+msgid "Baden-Wuerttemberg"
msgstr ""
-#: contrib/redirects/models.py:7
-msgid "redirect from"
-msgstr "에서 재전송"
-
-#: contrib/redirects/models.py:8
-msgid ""
-"This should be an absolute path, excluding the domain name. Example: '/"
-"events/search/'."
-msgstr "도메인명을 제외한 절대경로로 입력하세요. 예: '/events/search/'"
-
-#: contrib/redirects/models.py:9
-msgid "redirect to"
-msgstr "(으)로 재전송"
-
-#: contrib/redirects/models.py:10
-msgid ""
-"This can be either an absolute path (as above) or a full URL starting with "
-"'http://'."
-msgstr "절대경로와 URL('http://' 포함) 모두 가능합니다."
-
-#: contrib/redirects/models.py:13
-msgid "redirect"
-msgstr "재전송"
-
-#: contrib/redirects/models.py:14
-msgid "redirects"
-msgstr "재전송"
-
-#: contrib/sessions/models.py:68
-msgid "session key"
-msgstr "세션 키"
-
-#: contrib/sessions/models.py:69
-msgid "session data"
-msgstr "세션 날짜"
-
-#: contrib/sessions/models.py:70
-msgid "expire date"
-msgstr "유효날짜"
-
-#: contrib/sessions/models.py:74
-msgid "session"
-msgstr "세션"
-
-#: contrib/sessions/models.py:75
-msgid "sessions"
-msgstr "세션"
-
-#: contrib/sites/models.py:10
-msgid "domain name"
-msgstr "도메인 명"
-
-#: contrib/sites/models.py:11
-msgid "display name"
-msgstr "표시명"
-
-#: contrib/sites/models.py:15
-msgid "site"
-msgstr "사이트"
-
-#: contrib/sites/models.py:16
-msgid "sites"
-msgstr "사이트(들)"
-
-#: core/validators.py:64
-msgid "This value must contain only letters, numbers and underscores."
-msgstr "문자, 숫자, '_'만 가능합니다."
-
-#: core/validators.py:68
-msgid ""
-"This value must contain only letters, numbers, underscores, dashes or "
-"slashes."
-msgstr "문자, 숫자, '_', '-', '/'만 가능합니다."
-
-#: core/validators.py:72
-msgid "This value must contain only letters, numbers, underscores or hyphens."
-msgstr "문자, 숫자, '_', '-'만 가능합니다."
-
-#: core/validators.py:76
-msgid "Uppercase letters are not allowed here."
-msgstr "대문자는 사용할 수 없습니다."
-
-#: core/validators.py:80
-msgid "Lowercase letters are not allowed here."
-msgstr "소문자는 사용할 수 없습니다."
-
-#: core/validators.py:87
-msgid "Enter only digits separated by commas."
-msgstr "콤마로 구분된 숫자만 입력하세요."
-
-#: core/validators.py:99
-msgid "Enter valid e-mail addresses separated by commas."
-msgstr "콤마로 구분된 이메일 주소만 입력하세요."
-
-#: core/validators.py:103
-msgid "Please enter a valid IP address."
-msgstr "올바른 IP 주소를 입력하세요."
-
-#: core/validators.py:107
-msgid "Empty values are not allowed here."
-msgstr "반드시 입력하세요."
-
-#: core/validators.py:111
-msgid "Non-numeric characters aren't allowed here."
-msgstr "숫자만 사용할 수 있습니다."
-
-#: core/validators.py:115
-msgid "This value can't be comprised solely of digits."
-msgstr "숫자만 사용할 수는 없습니다."
-
-#: core/validators.py:120 newforms/fields.py:128
-msgid "Enter a whole number."
-msgstr "정수를 입력하세요."
-
-#: core/validators.py:124
-msgid "Only alphabetical characters are allowed here."
-msgstr "문자만 사용할 수 있습니다."
-
-#: core/validators.py:139
-msgid "Year must be 1900 or later."
-msgstr "1900년 이후의 연도만 가능"
-
-#: core/validators.py:143
-#, python-format
-msgid "Invalid date: %s"
-msgstr "날짜가 부적절합니다.: %s"
-
-#: core/validators.py:148 db/models/fields/__init__.py:457
-msgid "Enter a valid date in YYYY-MM-DD format."
-msgstr "날짜는 YYYY-MM-DD 형식으로 입력하세요."
-
-#: core/validators.py:153
-msgid "Enter a valid time in HH:MM format."
-msgstr "시각은 HH:MM 형식으로 입력하세요."
-
-#: core/validators.py:157 db/models/fields/__init__.py:526
-msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
-msgstr "날짜/시각을 YYYY-MM-DD HH:MM 형식으로 입력하세요."
-
-#: core/validators.py:162 newforms/fields.py:271
-msgid "Enter a valid e-mail address."
-msgstr "올바른 이메일 주소를 입력하세요."
-
-#: core/validators.py:174 core/validators.py:445 oldforms/__init__.py:672
-msgid "No file was submitted. Check the encoding type on the form."
-msgstr "등록된 파일이 없습니다. 인코딩 형식을 확인하세요."
-
-#: core/validators.py:178
-msgid ""
-"Upload a valid image. The file you uploaded was either not an image or a "
-"corrupted image."
+#: contrib/localflavor/de/de_states.py:6
+msgid "Bavaria"
msgstr ""
-"올바른 이미지를 업로드하세요.업로드하신 파일은 이미지 파일이 아니거나 파일이 "
-"깨져 있습니다."
-#: core/validators.py:185
-#, python-format
-msgid "The URL %s does not point to a valid image."
-msgstr "해당 URL %s (은)는 올바른 이미지가 아닙니다."
+#: contrib/localflavor/de/de_states.py:7
+#, fuzzy
+msgid "Berlin"
+msgstr "브라질어"
-#: core/validators.py:189
-#, python-format
-msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
+#: contrib/localflavor/de/de_states.py:8
+msgid "Brandenburg"
msgstr ""
-"전화번호는 xxx-xxx-xxxx 형식으로 입력하세요. \"%s\" (은)는 부적절합니다."
-#: core/validators.py:197
-#, python-format
-msgid "The URL %s does not point to a valid QuickTime video."
-msgstr "해당 URL %s (은)는 올바른 QuickTime video가 아닙니다."
-
-#: core/validators.py:201
-msgid "A valid URL is required."
-msgstr "올바른 URL을 입력하세요."
-
-#: core/validators.py:215
-#, python-format
-msgid ""
-"Valid HTML is required. Specific errors are:\n"
-"%s"
+#: contrib/localflavor/de/de_states.py:9
+msgid "Bremen"
msgstr ""
-"올바른 HTML을 입력하세요. 오류:\n"
-"%s"
-#: core/validators.py:222
-#, python-format
-msgid "Badly formed XML: %s"
-msgstr "잘못된 형식의 XML: %s"
-
-#: core/validators.py:239
-#, python-format
-msgid "Invalid URL: %s"
-msgstr "부적절한 URL: %s"
-
-#: core/validators.py:244 core/validators.py:246
-#, python-format
-msgid "The URL %s is a broken link."
-msgstr "해당 URL %s 링크가 깨졌습니다."
-
-#: core/validators.py:252
-msgid "Enter a valid U.S. state abbreviation."
+#: contrib/localflavor/de/de_states.py:10
+msgid "Hamburg"
msgstr ""
-#: core/validators.py:266
-#, python-format
-msgid "Watch your mouth! The word %s is not allowed here."
-msgid_plural "Watch your mouth! The words %s are not allowed here."
-msgstr[0] "비속어/욕설입니다. %s (은)는 사용하실 수 없습니다."
-msgstr[1] "비속어/욕설입니다. %s (은)는 사용하실 수 없습니다."
-
-#: core/validators.py:273
-#, python-format
-msgid "This field must match the '%s' field."
-msgstr "이 필드는 '%s' 필드와 일치해야 합니다."
-
-#: core/validators.py:292
-msgid "Please enter something for at least one field."
-msgstr "하나 이상의 필드에 입력해 주세요."
-
-#: core/validators.py:301 core/validators.py:312
-msgid "Please enter both fields or leave them both empty."
-msgstr "양쪽 필드에 모두 입력하시거나, 모두 빈칸으로 해 주십시오."
-
-#: core/validators.py:320
-#, python-format
-msgid "This field must be given if %(field)s is %(value)s"
-msgstr "%(field)s (이)가 %(value)s 일 경우, 이 필드에 반드시 입력해 주세요."
+#: contrib/localflavor/de/de_states.py:11
+#, fuzzy
+msgid "Hessen"
+msgstr "메시지"
-#: core/validators.py:333
-#, python-format
-msgid "This field must be given if %(field)s is not %(value)s"
+#: contrib/localflavor/de/de_states.py:12
+msgid "Mecklenburg-Western Pomerania"
msgstr ""
-"%(field)s (이)가 %(value)s (이)가 아닐 경우, 이 필드에 반드시 입력해 주세요."
-
-#: core/validators.py:352
-msgid "Duplicate values are not allowed."
-msgstr "중복해서 사용할 수 없습니다."
-
-#: core/validators.py:367
-#, python-format
-msgid "This value must be between %(lower)s and %(upper)s."
-msgstr "%(lower)s 에서 %(upper)s 사이의 값을 사용해 주세요."
-
-#: core/validators.py:369
-#, python-format
-msgid "This value must be at least %s."
-msgstr "%s 이상의 값을 사용해 주세요."
-
-#: core/validators.py:371
-#, python-format
-msgid "This value must be no more than %s."
-msgstr "%s 이하의 값을 사용해 주세요."
-
-#: core/validators.py:407
-#, python-format
-msgid "This value must be a power of %s."
-msgstr "%s 제곱의 값을 사용해 주세요."
-#: core/validators.py:418
-msgid "Please enter a valid decimal number."
-msgstr "10진수를 사용해 주세요."
-
-#: core/validators.py:422
-#, python-format
-msgid "Please enter a valid decimal number with at most %s total digit."
-msgid_plural ""
-"Please enter a valid decimal number with at most %s total digits."
-msgstr[0] "전체 %s 자리 이하의 10진수를 입력하세요."
-msgstr[1] "전체 %s 자리 이하의 10진수를 입력하세요."
-
-#: core/validators.py:425
-#, python-format
-msgid ""
-"Please enter a valid decimal number with a whole part of at most %s digit."
-msgid_plural ""
-"Please enter a valid decimal number with a whole part of at most %s digits."
-msgstr[0] "정수부분이 %s 자리 이하인 10진수를 입력하세요."
-msgstr[1] "정수부분이 %s 자리 이하인 10진수를 입력하세요."
-
-#: core/validators.py:428
-#, python-format
-msgid "Please enter a valid decimal number with at most %s decimal place."
-msgid_plural ""
-"Please enter a valid decimal number with at most %s decimal places."
-msgstr[0] "소수부분이 %s 자리 이하인 10진수를 입력하세요."
-msgstr[1] "소수부분이 %s 자리 이하인 10진수를 입력하세요."
-
-#: core/validators.py:438
-#, python-format
-msgid "Make sure your uploaded file is at least %s bytes big."
-msgstr "업로드 파일은 %s bytes 이상입니다."
-
-#: core/validators.py:439
-#, python-format
-msgid "Make sure your uploaded file is at most %s bytes big."
-msgstr "업로드 파일은 %s bytes 이하입니다."
-
-#: core/validators.py:456
-msgid "The format for this field is wrong."
-msgstr "이 필드의 형식이 잘못되었습니다."
-
-#: core/validators.py:471
-msgid "This field is invalid."
-msgstr "필드가 올바르지 않습니다."
-
-#: core/validators.py:507
-#, python-format
-msgid "Could not retrieve anything from %s."
-msgstr "%s 에서 검색된 내용이 없습니다."
+#: contrib/localflavor/de/de_states.py:13
+msgid "Lower Saxony"
+msgstr ""
-#: core/validators.py:510
-#, python-format
-msgid ""
-"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
+#: contrib/localflavor/de/de_states.py:14
+msgid "North Rhine-Westphalia"
msgstr ""
-"URL %(url)s (이)가 부적절한 Content-Type heade '%(contenttype)s' (을)를 반환"
-"했습니다."
-#: core/validators.py:543
-#, python-format
-msgid ""
-"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with "
-"\"%(start)s\".)"
+#: contrib/localflavor/de/de_states.py:15
+msgid "Rhineland-Palatinate"
msgstr ""
-"%(line)s 줄의 %(tag)s 태그가 닫히지 않았습니다.(시작줄 : \"%(start)s\")"
-#: core/validators.py:547
-#, python-format
-msgid ""
-"Some text starting on line %(line)s is not allowed in that context. (Line "
-"starts with \"%(start)s\".)"
+#: contrib/localflavor/de/de_states.py:16
+#, fuzzy
+msgid "Saarland"
+msgstr "카탈로니아어"
+
+#: contrib/localflavor/de/de_states.py:17
+msgid "Saxony"
msgstr ""
-"%(line)s 줄의 내용으로 시작하는 텍스트는 사용할 수 없습니다.(시작줄 : \"%"
-"(start)s\")"
-#: core/validators.py:552
-#, python-format
-msgid ""
-"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%"
-"(start)s\".)"
+#: contrib/localflavor/de/de_states.py:18
+msgid "Saxony-Anhalt"
msgstr ""
-"%(line)s 줄의 \"%(attr)s\" (은)는 부적절한 속성입니다.(시작줄 : \"%(start)s"
-"\")"
-#: core/validators.py:557
-#, python-format
-msgid ""
-"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%"
-"(start)s\".)"
+#: contrib/localflavor/de/de_states.py:19
+msgid "Schleswig-Holstein"
msgstr ""
-"%(line)s 줄의 \"<%(tag)s>\" (은)는 부적절한 태그입니다.(시작줄 : \"%(start)s"
-"\")"
-#: core/validators.py:561
-#, python-format
-msgid ""
-"A tag on line %(line)s is missing one or more required attributes. (Line "
-"starts with \"%(start)s\".)"
+#: contrib/localflavor/de/de_states.py:20
+msgid "Thuringia"
msgstr ""
-"%(line)s 줄의 태그는 하나 이상의 필수 속성이 생략되어 있습니다.(시작줄 : \"%"
-"(start)s\")"
-#: core/validators.py:566
-#, python-format
+#: contrib/localflavor/de/forms.py:60
msgid ""
-"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line "
-"starts with \"%(start)s\".)"
+"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X "
+"format."
msgstr ""
-"%(line)s 줄의 \"%(attr)s\" 속성의 값이 부적절합니다.(시작줄 : \"%(start)s\")"
-
-#: db/models/manipulators.py:307
-#, python-format
-msgid "%(object)s with this %(type)s already exists for the given %(field)s."
-msgstr "%(field)s 에 입력된 값은 %(type)s 의 %(object)s 에 이미 존재합니다."
-
-#: db/models/fields/__init__.py:42
-#, python-format
-msgid "%(optname)s with this %(fieldname)s already exists."
-msgstr "%(fieldname)s 의 %(optname)s (은)는 이미 존재합니다."
-
-#: db/models/fields/__init__.py:117 db/models/fields/__init__.py:274
-#: db/models/fields/__init__.py:610 db/models/fields/__init__.py:621
-#: newforms/fields.py:80 newforms/fields.py:376 newforms/fields.py:452
-#: newforms/fields.py:463 newforms/models.py:178 oldforms/__init__.py:357
-msgid "This field is required."
-msgstr "필수 항목입니다."
-
-#: db/models/fields/__init__.py:367
-msgid "This value must be an integer."
-msgstr "정수 값을 사용하세요."
-
-#: db/models/fields/__init__.py:402
-msgid "This value must be either True or False."
-msgstr "True 또는 False 값을 사용하세요."
-
-#: db/models/fields/__init__.py:423
-msgid "This field cannot be null."
-msgstr "이 필드는 null 값은 사용할 수 없습니다. "
-#: db/models/fields/__init__.py:630
-msgid "Enter a valid filename."
-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
-#, python-format
-msgid "Please enter a valid %s."
-msgstr "올바른 %s (을)를 입력하세요."
-
-#: db/models/fields/related.py:642
-msgid "Separate multiple IDs with commas."
-msgstr "복수 ID는 콤마로 구분해 주세요."
+#: contrib/localflavor/us/forms.py:18
+msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX."
+msgstr "우변번호를 입력하세요.(xxxxxx 또는 xxx-xxx)"
-#: db/models/fields/related.py:644
-msgid ""
-"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
+#: contrib/localflavor/us/forms.py:51
+msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format."
msgstr ""
-"복수 선택 시에는 \"Control\" 키를 누른 상태에서 선택해 주세요.(Mac은 "
-"\"Command\" 키)"
-#: db/models/fields/related.py:691
+#: template/defaultfilters.py:491
+msgid "yes,no,maybe"
+msgstr "예, 아니오, 아마도"
+
+#: template/defaultfilters.py:520
#, python-format
-msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid."
-msgid_plural ""
-"Please enter valid %(self)s IDs. The values %(value)r are invalid."
+msgid "%(size)d byte"
+msgid_plural "%(size)d bytes"
msgstr[0] ""
-"올바른 %(self)s ID를 입력해 주세요. %(value)r (은)는 적절치 않습니다."
msgstr[1] ""
-"올바른 %(self)s ID를 입력해 주세요. %(value)r (은)는 적절치 않습니다."
-
-#: newforms/fields.py:103 newforms/fields.py:256
-#, python-format
-msgid "Ensure this value has at most %d characters."
-msgstr "%d 자 이하로 입력해 주세요."
-
-#: newforms/fields.py:105 newforms/fields.py:258
-#, python-format
-msgid "Ensure this value has at least %d characters."
-msgstr "%d 자 이상 입력해 주세요."
-#: newforms/fields.py:130
+#: template/defaultfilters.py:522
#, python-format
-msgid "Ensure this value is less than or equal to %s."
-msgstr "%s 자 이하로 입력해 주세요."
+msgid "%.1f KB"
+msgstr ""
-#: newforms/fields.py:132
+#: template/defaultfilters.py:524
#, python-format
-msgid "Ensure this value is greater than or equal to %s."
-msgstr "%s 자 이상 입력해 주세요."
-
-#: newforms/fields.py:165
-msgid "Enter a valid date."
-msgstr "올바른 날짜를 입력하세요."
-
-#: newforms/fields.py:192
-msgid "Enter a valid time."
-msgstr "올바른 시각을 입력하세요."
-
-#: newforms/fields.py:228
-msgid "Enter a valid date/time."
-msgstr "올바른 날짜/시각을 입력하세요."
-
-#: newforms/fields.py:242
-msgid "Enter a valid value."
-msgstr "올바른 값을 입력하세요."
-
-#: newforms/fields.py:289 newforms/fields.py:311
-msgid "Enter a valid URL."
-msgstr "올바른 URL을 입력하세요."
-
-#: newforms/fields.py:313
-msgid "This URL appears to be a broken link."
-msgstr "해당 URL의 링크가 잘못 되어 있습니다."
-
-#: newforms/fields.py:362 newforms/models.py:165
-msgid "Select a valid choice. That choice is not one of the available choices."
-msgstr "올바르게 선택해 주세요. 선택하신 것이 선택가능항목에 없습니다."
-
-#: newforms/fields.py:380 newforms/fields.py:456 newforms/models.py:182
-msgid "Enter a list of values."
-msgstr "리스트를 입력하세요."
+msgid "%.1f MB"
+msgstr ""
-#: newforms/fields.py:389 newforms/models.py:188
+#: template/defaultfilters.py:525
#, python-format
-msgid "Select a valid choice. %s is not one of the available choices."
-msgstr "올바르게 선택해 주세요. %s (이)가 선택가능항목에 없습니다."
+msgid "%.1f GB"
+msgstr ""
#: oldforms/__init__.py:392
#, python-format
@@ -2482,254 +2795,3 @@ msgstr "양수를 입력하세요."
#: oldforms/__init__.py:750
msgid "Enter a whole number between 0 and 32,767."
msgstr "0 ~ 32,767 사이의 정수를 입력하세요."
-
-#: template/defaultfilters.py:491
-msgid "yes,no,maybe"
-msgstr "예, 아니오, 아마도"
-
-#: utils/dateformat.py:40
-msgid "p.m."
-msgstr "오후"
-
-#: utils/dateformat.py:41
-msgid "a.m."
-msgstr "오전"
-
-#: utils/dateformat.py:46
-msgid "PM"
-msgstr "오후"
-
-#: utils/dateformat.py:47
-msgid "AM"
-msgstr "오전"
-
-#: utils/dateformat.py:95
-msgid "midnight"
-msgstr "자정"
-
-#: utils/dateformat.py:97
-msgid "noon"
-msgstr "정오"
-
-#: utils/dates.py:6
-msgid "Monday"
-msgstr "월요일"
-
-#: utils/dates.py:6
-msgid "Tuesday"
-msgstr "화요일"
-
-#: utils/dates.py:6
-msgid "Wednesday"
-msgstr "수요일"
-
-#: utils/dates.py:6
-msgid "Thursday"
-msgstr "목요일"
-
-#: utils/dates.py:6
-msgid "Friday"
-msgstr "금요일"
-
-#: utils/dates.py:7
-msgid "Saturday"
-msgstr "토요일"
-
-#: utils/dates.py:7
-msgid "Sunday"
-msgstr "일요일"
-
-#: utils/dates.py:14
-msgid "January"
-msgstr "1월"
-
-#: utils/dates.py:14
-msgid "February"
-msgstr "2월"
-
-#: utils/dates.py:14 utils/dates.py:27
-msgid "March"
-msgstr "3월"
-
-#: utils/dates.py:14 utils/dates.py:27
-msgid "April"
-msgstr "4월"
-
-#: utils/dates.py:14 utils/dates.py:27
-msgid "May"
-msgstr "5월"
-
-#: utils/dates.py:14 utils/dates.py:27
-msgid "June"
-msgstr "6월"
-
-#: utils/dates.py:15 utils/dates.py:27
-msgid "July"
-msgstr "7월"
-
-#: utils/dates.py:15
-msgid "August"
-msgstr "8월"
-
-#: utils/dates.py:15
-msgid "September"
-msgstr "9월"
-
-#: utils/dates.py:15
-msgid "October"
-msgstr "10월"
-
-#: utils/dates.py:15
-msgid "November"
-msgstr "11월"
-
-#: utils/dates.py:16
-msgid "December"
-msgstr "12월"
-
-#: utils/dates.py:19
-msgid "jan"
-msgstr "1월"
-
-#: utils/dates.py:19
-msgid "feb"
-msgstr "2월"
-
-#: utils/dates.py:19
-msgid "mar"
-msgstr "3월"
-
-#: utils/dates.py:19
-msgid "apr"
-msgstr "4월"
-
-#: utils/dates.py:19
-msgid "may"
-msgstr "5월"
-
-#: utils/dates.py:19
-msgid "jun"
-msgstr "6월"
-
-#: utils/dates.py:20
-msgid "jul"
-msgstr "7월"
-
-#: utils/dates.py:20
-msgid "aug"
-msgstr "8월"
-
-#: utils/dates.py:20
-msgid "sep"
-msgstr "9월"
-
-#: utils/dates.py:20
-msgid "oct"
-msgstr "10월"
-
-#: utils/dates.py:20
-msgid "nov"
-msgstr "11월"
-
-#: utils/dates.py:20
-msgid "dec"
-msgstr "12월"
-
-#: utils/dates.py:27
-msgid "Jan."
-msgstr "1월"
-
-#: utils/dates.py:27
-msgid "Feb."
-msgstr "2월"
-
-#: utils/dates.py:28
-msgid "Aug."
-msgstr "8월"
-
-#: utils/dates.py:28
-msgid "Sept."
-msgstr "9월"
-
-#: utils/dates.py:28
-msgid "Oct."
-msgstr "10월"
-
-#: utils/dates.py:28
-msgid "Nov."
-msgstr "11월"
-
-#: utils/dates.py:28
-msgid "Dec."
-msgstr "12월"
-
-#: utils/timesince.py:12
-msgid "year"
-msgid_plural "years"
-msgstr[0] "년"
-msgstr[1] "년"
-
-#: utils/timesince.py:13
-msgid "month"
-msgid_plural "months"
-msgstr[0] "월"
-msgstr[1] "월"
-
-#: utils/timesince.py:14
-msgid "week"
-msgid_plural "weeks"
-msgstr[0] "주"
-msgstr[1] "주"
-
-#: utils/timesince.py:15
-msgid "day"
-msgid_plural "days"
-msgstr[0] "일"
-msgstr[1] "일"
-
-#: utils/timesince.py:16
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "시"
-msgstr[1] "시"
-
-#: utils/timesince.py:17
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "분"
-msgstr[1] "분"
-
-#: utils/translation/trans_real.py:358
-msgid "DATE_FORMAT"
-msgstr ""
-
-#: utils/translation/trans_real.py:359
-msgid "DATETIME_FORMAT"
-msgstr ""
-
-#: utils/translation/trans_real.py:360
-msgid "TIME_FORMAT"
-msgstr ""
-
-#: utils/translation/trans_real.py:376
-msgid "YEAR_MONTH_FORMAT"
-msgstr ""
-
-#: utils/translation/trans_real.py:377
-msgid "MONTH_DAY_FORMAT"
-msgstr ""
-
-#: views/generic/create_update.py:43
-#, python-format
-msgid "The %(verbose_name)s was created successfully."
-msgstr "%(verbose_name)s (이)가 생성되었습니다."
-
-#: views/generic/create_update.py:117
-#, python-format
-msgid "The %(verbose_name)s was updated successfully."
-msgstr "%(verbose_name)s (이)가 수정되었습니다."
-
-#: views/generic/create_update.py:184
-#, python-format
-msgid "The %(verbose_name)s was deleted."
-msgstr "%(verbose_name)s (이)가 삭제되었습니다."
diff --git a/django/contrib/admin/views/decorators.py b/django/contrib/admin/views/decorators.py
index 9dfe651fe6..bdd8257b2e 100644
--- a/django/contrib/admin/views/decorators.py
+++ b/django/contrib/admin/views/decorators.py
@@ -90,8 +90,6 @@ def staff_member_required(view_func):
if user.is_active and user.is_staff:
login(request, user)
# TODO: set last_login with an event.
- user.last_login = datetime.datetime.now()
- user.save()
if request.POST.has_key('post_data'):
post_data = _decode_post_data(request.POST['post_data'])
if post_data and not post_data.has_key(LOGIN_FORM_KEY):
diff --git a/django/contrib/auth/__init__.py b/django/contrib/auth/__init__.py
index dd3b8152e6..d37450805f 100644
--- a/django/contrib/auth/__init__.py
+++ b/django/contrib/auth/__init__.py
@@ -1,8 +1,8 @@
+import datetime
from django.core.exceptions import ImproperlyConfigured
SESSION_KEY = '_auth_user_id'
BACKEND_SESSION_KEY = '_auth_user_backend'
-LOGIN_URL = '/accounts/login/'
REDIRECT_FIELD_NAME = 'next'
def load_backend(path):
@@ -49,6 +49,8 @@ def login(request, user):
if user is None:
user = request.user
# TODO: It would be nice to support different login methods, like signed cookies.
+ user.last_login = datetime.datetime.now()
+ user.save()
request.session[SESSION_KEY] = user.id
request.session[BACKEND_SESSION_KEY] = user.backend
diff --git a/django/contrib/auth/decorators.py b/django/contrib/auth/decorators.py
index 37e948f8fe..2fb4a6f510 100644
--- a/django/contrib/auth/decorators.py
+++ b/django/contrib/auth/decorators.py
@@ -1,13 +1,16 @@
-from django.contrib.auth import LOGIN_URL, REDIRECT_FIELD_NAME
+from django.contrib.auth import REDIRECT_FIELD_NAME
from django.http import HttpResponseRedirect
from urllib import quote
-def user_passes_test(test_func, login_url=LOGIN_URL):
+def user_passes_test(test_func, login_url=None):
"""
Decorator for views that checks that the user passes the given test,
redirecting to the log-in page if necessary. The test should be a callable
that takes the user object and returns True if the user passes.
"""
+ if not login_url:
+ from django.conf import settings
+ login_url = settings.LOGIN_URL
def _dec(view_func):
def _checklogin(request, *args, **kwargs):
if test_func(request.user):
@@ -27,7 +30,7 @@ login_required.__doc__ = (
"""
)
-def permission_required(perm, login_url=LOGIN_URL):
+def permission_required(perm, login_url=None):
"""
Decorator for views that checks whether a user has a particular permission
enabled, redirecting to the log-in page if necessary.
diff --git a/django/contrib/auth/models.py b/django/contrib/auth/models.py
index 6fe781a041..9ebef0f524 100644
--- a/django/contrib/auth/models.py
+++ b/django/contrib/auth/models.py
@@ -17,6 +17,12 @@ def check_password(raw_password, enc_password):
elif algo == 'sha1':
import sha
return hsh == sha.new(salt+raw_password).hexdigest()
+ elif algo == 'crypt':
+ try:
+ import crypt
+ except ImportError:
+ raise ValueError, "Crypt password algorithm not supported in this environment."
+ return hsh == crypt.crypt(raw_password, salt)
raise ValueError, "Got unknown password algorithm type in password."
class SiteProfileNotAvailable(Exception):
diff --git a/django/contrib/auth/views.py b/django/contrib/auth/views.py
index fda17b91fb..77350b9a8f 100644
--- a/django/contrib/auth/views.py
+++ b/django/contrib/auth/views.py
@@ -6,7 +6,7 @@ from django.template import RequestContext
from django.contrib.sites.models import Site
from django.http import HttpResponseRedirect
from django.contrib.auth.decorators import login_required
-from django.contrib.auth import LOGIN_URL, REDIRECT_FIELD_NAME
+from django.contrib.auth import REDIRECT_FIELD_NAME
def login(request, template_name='registration/login.html'):
"Displays the login form and handles the login action."
@@ -17,7 +17,8 @@ def login(request, template_name='registration/login.html'):
if not errors:
# Light security check -- make sure redirect_to isn't garbage.
if not redirect_to or '://' in redirect_to or ' ' in redirect_to:
- redirect_to = '/accounts/profile/'
+ from django.conf import settings
+ redirect_to = settings.LOGIN_REDIRECT_URL
from django.contrib.auth import login
login(request, manipulator.get_user())
request.session.delete_test_cookie()
@@ -41,12 +42,18 @@ def logout(request, next_page=None, template_name='registration/logged_out.html'
# Redirect to this page until the session has been cleared.
return HttpResponseRedirect(next_page or request.path)
-def logout_then_login(request, login_url=LOGIN_URL):
+def logout_then_login(request, login_url=None):
"Logs out the user if he is logged in. Then redirects to the log-in page."
+ if not login_url:
+ from django.conf import settings
+ login_url = settings.LOGIN_URL
return logout(request, login_url)
-def redirect_to_login(next, login_url=LOGIN_URL):
+def redirect_to_login(next, login_url=None):
"Redirects the user to the login page, passing the given 'next' page"
+ if not login_url:
+ from django.conf import settings
+ login_url = settings.LOGIN_URL
return HttpResponseRedirect('%s?%s=%s' % (login_url, REDIRECT_FIELD_NAME, next))
def password_reset(request, is_admin_site=False, template_name='registration/password_reset_form.html',
diff --git a/django/contrib/comments/templates/comments/form.html b/django/contrib/comments/templates/comments/form.html
index c5aa7686a3..11eaa8d00d 100644
--- a/django/contrib/comments/templates/comments/form.html
+++ b/django/contrib/comments/templates/comments/form.html
@@ -3,7 +3,7 @@
<form {% if photos_optional or photos_required %}enctype="multipart/form-data" {% endif %}action="/comments/post/" method="post">
{% if user.is_authenticated %}
-<p>{% trans "Username:" %} <strong>{{ user.username }}</strong> (<a href="/accounts/logout/">{% trans "Log out" %}</a>)</p>
+<p>{% trans "Username:" %} <strong>{{ user.username }}</strong> (<a href="{{ logout_url }}">{% trans "Log out" %}</a>)</p>
{% else %}
<p><label for="id_username">{% trans "Username:" %}</label> <input type="text" name="username" id="id_username" /><br />{% trans "Password:" %} <input type="password" name="password" id="id_password" /> (<a href="/accounts/password_reset/">{% trans "Forgotten your password?" %}</a>)</p>
{% endif %}
diff --git a/django/contrib/comments/templatetags/comments.py b/django/contrib/comments/templatetags/comments.py
index c3a2fd40d8..80d4bf24ab 100644
--- a/django/contrib/comments/templatetags/comments.py
+++ b/django/contrib/comments/templatetags/comments.py
@@ -25,6 +25,7 @@ class CommentFormNode(template.Node):
self.is_public = is_public
def render(self, context):
+ from django.conf import settings
from django.utils.text import normalize_newlines
import base64
context.push()
@@ -64,6 +65,7 @@ class CommentFormNode(template.Node):
if self.rating_options:
context['rating_range'], context['rating_choices'] = Comment.objects.get_rating_options(self.rating_options)
context['hash'] = Comment.objects.get_security_hash(context['options'], context['photo_options'], context['rating_options'], context['target'])
+ context['logout_url'] = settings.LOGOUT_URL
default_form = loader.get_template(COMMENT_FORM)
output = default_form.render(context)
context.pop()
diff --git a/django/core/serializers/base.py b/django/core/serializers/base.py
index 8e610ad240..86d0037c17 100644
--- a/django/core/serializers/base.py
+++ b/django/core/serializers/base.py
@@ -105,9 +105,11 @@ class Serializer(object):
def getvalue(self):
"""
- Return the fully serialized queryset.
+ Return the fully serialized queryset (or None if the output stream is
+ not seekable).
"""
- return self.stream.getvalue()
+ if callable(getattr(self.stream, 'getvalue', None)):
+ return self.stream.getvalue()
class Deserializer(object):
"""
diff --git a/django/core/serializers/json.py b/django/core/serializers/json.py
index 15770f160e..7c029e7029 100644
--- a/django/core/serializers/json.py
+++ b/django/core/serializers/json.py
@@ -17,9 +17,10 @@ class Serializer(PythonSerializer):
"""
def end_serialization(self):
simplejson.dump(self.objects, self.stream, cls=DateTimeAwareJSONEncoder, **self.options)
-
+
def getvalue(self):
- return self.stream.getvalue()
+ if callable(getattr(self.stream, 'getvalue', None)):
+ return self.stream.getvalue()
def Deserializer(stream_or_string, **options):
"""
@@ -31,15 +32,15 @@ def Deserializer(stream_or_string, **options):
stream = stream_or_string
for obj in PythonDeserializer(simplejson.load(stream)):
yield obj
-
+
class DateTimeAwareJSONEncoder(simplejson.JSONEncoder):
"""
JSONEncoder subclass that knows how to encode date/time types
"""
-
- DATE_FORMAT = "%Y-%m-%d"
+
+ DATE_FORMAT = "%Y-%m-%d"
TIME_FORMAT = "%H:%M:%S"
-
+
def default(self, o):
if isinstance(o, datetime.datetime):
return o.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT))
diff --git a/django/db/__init__.py b/django/db/__init__.py
index 4176b5aa79..33223d200a 100644
--- a/django/db/__init__.py
+++ b/django/db/__init__.py
@@ -2,7 +2,7 @@ from django.conf import settings
from django.core import signals
from django.dispatch import dispatcher
-__all__ = ('backend', 'connection', 'DatabaseError')
+__all__ = ('backend', 'connection', 'DatabaseError', 'IntegrityError')
if not settings.DATABASE_ENGINE:
settings.DATABASE_ENGINE = 'dummy'
@@ -29,6 +29,7 @@ runshell = lambda: __import__('django.db.backends.%s.client' % settings.DATABASE
connection = backend.DatabaseWrapper(**settings.DATABASE_OPTIONS)
DatabaseError = backend.DatabaseError
+IntegrityError = backend.IntegrityError
# Register an event that closes the database connection
# when a Django request is finished.
diff --git a/django/db/backends/ado_mssql/base.py b/django/db/backends/ado_mssql/base.py
index 81c947206e..0deb6aae64 100644
--- a/django/db/backends/ado_mssql/base.py
+++ b/django/db/backends/ado_mssql/base.py
@@ -17,6 +17,7 @@ except ImportError:
mx = None
DatabaseError = Database.DatabaseError
+IntegrityError = Database.IntegrityError
# We need to use a special Cursor class because adodbapi expects question-mark
# param style, but Django expects "%s". This cursor converts question marks to
diff --git a/django/db/backends/dummy/base.py b/django/db/backends/dummy/base.py
index ddcbd0d484..5dd1e378bb 100644
--- a/django/db/backends/dummy/base.py
+++ b/django/db/backends/dummy/base.py
@@ -15,6 +15,9 @@ def complain(*args, **kwargs):
class DatabaseError(Exception):
pass
+class IntegrityError(DatabaseError):
+ pass
+
class DatabaseWrapper:
cursor = complain
_commit = complain
diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py
index 36076de016..c44f86b348 100644
--- a/django/db/backends/mysql/base.py
+++ b/django/db/backends/mysql/base.py
@@ -25,6 +25,7 @@ import types
import re
DatabaseError = Database.DatabaseError
+IntegrityError = Database.IntegrityError
# MySQLdb-1.2.1 supports the Python boolean type, and only uses datetime
# module for time-related columns; older versions could have used mx.DateTime
diff --git a/django/db/backends/mysql_old/base.py b/django/db/backends/mysql_old/base.py
index ded0b6cbcb..01eff22641 100644
--- a/django/db/backends/mysql_old/base.py
+++ b/django/db/backends/mysql_old/base.py
@@ -16,6 +16,7 @@ import types
import re
DatabaseError = Database.DatabaseError
+IntegrityError = Database.IntegrityError
django_conversions = conversions.copy()
django_conversions.update({
diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py
index 082a5ac37c..006683e801 100644
--- a/django/db/backends/oracle/base.py
+++ b/django/db/backends/oracle/base.py
@@ -16,6 +16,7 @@ from django.utils.datastructures import SortedDict
DatabaseError = Database.Error
+IntegrityError = Database.IntegrityError
try:
# Only exists in Python 2.4+
diff --git a/django/db/backends/postgresql/base.py b/django/db/backends/postgresql/base.py
index f490427002..be9c1db543 100644
--- a/django/db/backends/postgresql/base.py
+++ b/django/db/backends/postgresql/base.py
@@ -12,6 +12,7 @@ except ImportError, e:
raise ImproperlyConfigured, "Error loading psycopg module: %s" % e
DatabaseError = Database.DatabaseError
+IntegrityError = Database.IntegrityError
try:
# Only exists in Python 2.4+
diff --git a/django/db/backends/postgresql_psycopg2/base.py b/django/db/backends/postgresql_psycopg2/base.py
index 7cc954c920..c85504bfaa 100644
--- a/django/db/backends/postgresql_psycopg2/base.py
+++ b/django/db/backends/postgresql_psycopg2/base.py
@@ -12,6 +12,7 @@ except ImportError, e:
raise ImproperlyConfigured, "Error loading psycopg2 module: %s" % e
DatabaseError = Database.DatabaseError
+IntegrityError = Database.IntegrityError
try:
# Only exists in Python 2.4+
diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py
index abd32a28d0..9330fb182c 100644
--- a/django/db/backends/sqlite3/base.py
+++ b/django/db/backends/sqlite3/base.py
@@ -18,6 +18,7 @@ except ImportError, e:
raise ImproperlyConfigured, "Error loading %s module: %s" % (module, e)
DatabaseError = Database.DatabaseError
+IntegrityError = Database.IntegrityError
Database.register_converter("bool", lambda s: str(s) == '1')
Database.register_converter("time", util.typecast_time)
diff --git a/django/newforms/widgets.py b/django/newforms/widgets.py
index f701faa35d..d50b1921ea 100644
--- a/django/newforms/widgets.py
+++ b/django/newforms/widgets.py
@@ -260,8 +260,8 @@ class RadioSelect(Select):
"Returns a RadioFieldRenderer instance rather than a Unicode string."
if value is None: value = ''
str_value = smart_unicode(value) # Normalize to string.
- attrs = attrs or {}
- return RadioFieldRenderer(name, str_value, attrs, list(chain(self.choices, choices)))
+ final_attrs = self.build_attrs(attrs)
+ return RadioFieldRenderer(name, str_value, final_attrs, list(chain(self.choices, choices)))
def id_for_label(self, id_):
# RadioSelect is represented by multiple <input type="radio"> fields,
@@ -327,14 +327,25 @@ class MultiWidget(Widget):
if not isinstance(value, list):
value = self.decompress(value)
output = []
+ final_attrs = self.build_attrs(attrs)
+ id_ = final_attrs.get('id', None)
for i, widget in enumerate(self.widgets):
try:
widget_value = value[i]
- except KeyError:
+ except IndexError:
widget_value = None
- output.append(widget.render(name + '_%s' % i, widget_value, attrs))
+ if id_:
+ final_attrs = dict(final_attrs, id='%s_%s' % (id_, i))
+ output.append(widget.render(name + '_%s' % i, widget_value, final_attrs))
return self.format_output(output)
+ def id_for_label(self, id_):
+ # See the comment for RadioSelect.id_for_label()
+ if id_:
+ id_ += '_0'
+ return id_
+ id_for_label = classmethod(id_for_label)
+
def value_from_datadict(self, data, name):
return [data.get(name + '_%s' % i) for i in range(len(self.widgets))]
diff --git a/django/template/__init__.py b/django/template/__init__.py
index 0d8990a42b..a32b3f5a0b 100644
--- a/django/template/__init__.py
+++ b/django/template/__init__.py
@@ -123,10 +123,10 @@ class VariableDoesNotExist(Exception):
def __init__(self, msg, params=()):
self.msg = msg
self.params = params
-
+
def __str__(self):
return self.msg % self.params
-
+
class InvalidTemplateLibrary(Exception):
pass
@@ -555,7 +555,7 @@ class FilterExpression(object):
filters.append( (filter_func,args))
upto = match.end()
if upto != len(token):
- raise TemplateSyntaxError, "Could not parse the remainder: %s" % token[upto:]
+ raise TemplateSyntaxError, "Could not parse the remainder: '%s' from '%s'" % (token[upto:], token)
self.var, self.filters = var, filters
def resolve(self, context, ignore_failures=False):
diff --git a/django/template/defaulttags.py b/django/template/defaulttags.py
index d997d20077..2deae6d403 100644
--- a/django/template/defaulttags.py
+++ b/django/template/defaulttags.py
@@ -956,6 +956,7 @@ def url(parser, token):
for arg in bits[2].split(','):
if '=' in arg:
k, v = arg.split('=', 1)
+ k = k.strip()
kwargs[k] = parser.compile_filter(v)
else:
args.append(parser.compile_filter(arg))
diff --git a/django/utils/cache.py b/django/utils/cache.py
index 5eba302ebe..c8031a409a 100644
--- a/django/utils/cache.py
+++ b/django/utils/cache.py
@@ -86,7 +86,7 @@ def patch_response_headers(response, cache_timeout=None):
def add_never_cache_headers(response):
"""
- Add headers to a response to indicate that
+ Add headers to a response to indicate that
a page should never be cached.
"""
patch_response_headers(response, cache_timeout=-1)
diff --git a/django/utils/datastructures.py b/django/utils/datastructures.py
index dbf8660c75..cca30b462d 100644
--- a/django/utils/datastructures.py
+++ b/django/utils/datastructures.py
@@ -16,9 +16,9 @@ class MergeDict(object):
def __contains__(self, key):
return self.has_key(key)
-
- def __copy__(self):
- return self.__class__(*self.dicts)
+
+ def __copy__(self):
+ return self.__class__(*self.dicts)
def get(self, key, default=None):
try:
@@ -45,9 +45,9 @@ class MergeDict(object):
if dict.has_key(key):
return True
return False
-
- def copy(self):
- """ returns a copy of this object"""
+
+ def copy(self):
+ """ returns a copy of this object"""
return self.__copy__()
class SortedDict(dict):
@@ -99,6 +99,13 @@ class SortedDict(dict):
obj.keyOrder = self.keyOrder
return obj
+ def __repr__(self):
+ """
+ Replaces the normal dict.__repr__ with a version that returns the keys
+ in their sorted order.
+ """
+ return '{%s}' % ', '.join(['%r: %r' % (k, v) for k, v in self.items()])
+
class MultiValueDictKeyError(KeyError):
pass
diff --git a/django/utils/synch.py b/django/utils/synch.py
index 6fcd81390e..2e808c1e01 100644
--- a/django/utils/synch.py
+++ b/django/utils/synch.py
@@ -1,6 +1,6 @@
"""
Synchronization primitives:
-
+
- reader-writer lock (preference to writers)
(Contributed to Django by eugene@lazutkin.com)
@@ -14,17 +14,16 @@ except ImportError:
class RWLock:
"""
Classic implementation of reader-writer lock with preference to writers.
-
+
Readers can access a resource simultaneously.
Writers get an exclusive access.
-
+
API is self-descriptive:
reader_enters()
reader_leaves()
writer_enters()
writer_leaves()
"""
-
def __init__(self):
self.mutex = threading.RLock()
self.can_read = threading.Semaphore(0)
@@ -33,7 +32,7 @@ class RWLock:
self.active_writers = 0
self.waiting_readers = 0
self.waiting_writers = 0
-
+
def reader_enters(self):
self.mutex.acquire()
try:
@@ -45,7 +44,7 @@ class RWLock:
finally:
self.mutex.release()
self.can_read.acquire()
-
+
def reader_leaves(self):
self.mutex.acquire()
try:
@@ -56,7 +55,7 @@ class RWLock:
self.can_write.release()
finally:
self.mutex.release()
-
+
def writer_enters(self):
self.mutex.acquire()
try:
@@ -68,7 +67,7 @@ class RWLock:
finally:
self.mutex.release()
self.can_write.acquire()
-
+
def writer_leaves(self):
self.mutex.acquire()
try:
diff --git a/django/utils/timesince.py b/django/utils/timesince.py
index e69c45c8c1..394f818395 100644
--- a/django/utils/timesince.py
+++ b/django/utils/timesince.py
@@ -1,6 +1,6 @@
import datetime, math, time
from django.utils.tzinfo import LocalTimezone
-from django.utils.translation import ngettext
+from django.utils.translation import ngettext, gettext
def timesince(d, now=None):
"""
@@ -37,14 +37,14 @@ def timesince(d, now=None):
if count != 0:
break
if count < 0:
- return '%d milliseconds' % math.floor((now - d).microseconds / 1000)
- s = '%d %s' % (count, name(count))
+ return gettext('%d milliseconds') % math.floor((now - d).microseconds / 1000)
+ s = gettext('%(number)d %(type)s') % {'number': count, 'type': name(count)}
if i + 1 < len(chunks):
# Now get the second item
seconds2, name2 = chunks[i + 1]
count2 = (since - (seconds * count)) / seconds2
if count2 != 0:
- s += ', %d %s' % (count2, name2(count2))
+ s += gettext(', %(number)d %(type)s') % {'number': count2, 'type': name2(count2)}
return s
def timeuntil(d, now=None):
diff --git a/docs/api_stability.txt b/docs/api_stability.txt
index 3fd793b0fd..cfaffeac6b 100644
--- a/docs/api_stability.txt
+++ b/docs/api_stability.txt
@@ -100,14 +100,14 @@ change:
.. _caching: ../cache/
.. _custom template tags and libraries: ../templates_python/
-.. _database lookup: ../db_api/
+.. _database lookup: ../db-api/
.. _django-admin utility: ../django-admin/
.. _fastcgi integration: ../fastcgi/
.. _flatpages: ../flatpages/
.. _generic views: ../generic_views/
.. _internationalization: ../i18n/
.. _legacy database integration: ../legacy_databases/
-.. _model definition: ../model_api/
+.. _model definition: ../model-api/
.. _mod_python integration: ../modpython/
.. _redirects: ../redirects/
.. _request/response objects: ../request_response/
diff --git a/docs/authentication.txt b/docs/authentication.txt
index aff336f67a..14ca581877 100644
--- a/docs/authentication.txt
+++ b/docs/authentication.txt
@@ -144,7 +144,7 @@ custom methods:
Raises ``django.contrib.auth.models.SiteProfileNotAvailable`` if the current site
doesn't allow profiles.
-.. _Django model: ../model_api/
+.. _Django model: ../model-api/
.. _DEFAULT_FROM_EMAIL: ../settings/#default-from-email
Manager functions
@@ -204,9 +204,11 @@ The ``password`` attribute of a ``User`` object is a string in this format::
That's hashtype, salt and hash, separated by the dollar-sign character.
-Hashtype is either ``sha1`` (default) or ``md5`` -- the algorithm used to
-perform a one-way hash of the password. Salt is a random string used to salt
-the raw password to create the hash.
+Hashtype is either ``sha1`` (default), ``md5`` or ``crypt`` -- the algorithm
+used to perform a one-way hash of the password. Salt is a random string used
+to salt the raw password to create the hash. Note that the ``crypt`` method is
+only supported on platforms that have the standard Python ``crypt`` module
+available.
For example::
@@ -387,14 +389,15 @@ introduced in Python 2.4::
``login_required`` does the following:
- * If the user isn't logged in, redirect to ``/accounts/login/``, passing
- the current absolute URL in the query string as ``next``. For example:
+ * If the user isn't logged in, redirect to ``settings.LOGIN_URL``
+ (``/accounts/login/`` by default), passing the current absolute URL
+ in the query string as ``next``. For example:
``/accounts/login/?next=/polls/3/``.
* If the user is logged in, execute the view normally. The view code is
free to assume the user is logged in.
-Note that you'll need to map the appropriate Django view to ``/accounts/login/``.
-To do this, add the following line to your URLconf::
+Note that you'll need to map the appropriate Django view to ``settings.LOGIN_URL``.
+For example, using the defaults, add the following line to your URLconf::
(r'^accounts/login/$', 'django.contrib.auth.views.login'),
@@ -405,9 +408,9 @@ Here's what ``django.contrib.auth.views.login`` does:
* If called via ``POST``, it tries to log the user in. If login is
successful, the view redirects to the URL specified in ``next``. If
- ``next`` isn't provided, it redirects to ``/accounts/profile/`` (which is
- currently hard-coded). If login isn't successful, it redisplays the login
- form.
+ ``next`` isn't provided, it redirects to ``settings.LOGIN_REDIRECT_URL``
+ (which defaults to ``/accounts/profile/``). If login isn't successful,
+ it redisplays the login form.
It's your responsibility to provide the login form in a template called
``registration/login.html`` by default. This template gets passed three
@@ -487,7 +490,7 @@ Logs a user out, then redirects to the login page.
**Optional arguments:**
* ``login_url``: The URL of the login page to redirect to. This
- will default to ``/accounts/login/`` if not supplied.
+ will default to ``settings.LOGIN_URL`` if not supplied.
``django.contrib.auth.views.password_change``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -569,7 +572,7 @@ successful login.
**Optional arguments:**
* ``login_url``: The URL of the login page to redirect to. This
- will default to ``/accounts/login/`` if not supplied.
+ will default to ``settings.LOGIN_URL`` if not supplied.
Built-in manipulators
---------------------
@@ -636,7 +639,7 @@ Note that ``user_passes_test`` does not automatically check that the ``User``
is not anonymous.
``user_passes_test()`` takes an optional ``login_url`` argument, which lets you
-specify the URL for your login page (``/accounts/login/`` by default).
+specify the URL for your login page (``settings.LOGIN_URL`` by default).
Example in Python 2.3 syntax::
@@ -680,7 +683,7 @@ parameter. Example::
my_view = permission_required('polls.can_vote', login_url='/loginpage/')(my_view)
As in the ``login_required`` decorator, ``login_url`` defaults to
-``'/accounts/login/'``.
+``settings.LOGIN_URL``.
Limiting access to generic views
--------------------------------
@@ -757,7 +760,7 @@ This example model creates three custom permissions::
The only thing this does is create those extra permissions when you run
``syncdb``.
-.. _model Meta attribute: ../model_api/#meta-options
+.. _model Meta attribute: ../model-api/#meta-options
API reference
-------------
diff --git a/docs/db-api.txt b/docs/db-api.txt
index 64db3def96..d2aa6b8bb3 100644
--- a/docs/db-api.txt
+++ b/docs/db-api.txt
@@ -6,7 +6,7 @@ Once you've created your `data models`_, Django automatically gives you a
database-abstraction API that lets you create, retrieve, update and delete
objects. This document explains that API.
-.. _`data models`: ../model_api/
+.. _`data models`: ../model-api/
Throughout this reference, we'll refer to the following models, which comprise
a weblog application::
@@ -85,7 +85,7 @@ There's no way to tell what the value of an ID will be before you call
unless you explicitly specify ``primary_key=True`` on a field. See the
`AutoField documentation`_.)
-.. _AutoField documentation: ../model_api/#autofield
+.. _AutoField documentation: ../model-api/#autofield
Explicitly specifying auto-primary-key values
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1801,4 +1801,4 @@ interface to your database. You can access your database via other tools,
programming languages or database frameworks; there's nothing Django-specific
about your database.
-.. _Executing custom SQL: ../model_api/#executing-custom-sql
+.. _Executing custom SQL: ../model-api/#executing-custom-sql
diff --git a/docs/faq.txt b/docs/faq.txt
index f61af9cd92..d7d8f41146 100644
--- a/docs/faq.txt
+++ b/docs/faq.txt
@@ -513,7 +513,7 @@ type, create an initial data file and put something like this in it::
As explained in the `SQL initial data file`_ documentation, this SQL file can
contain arbitrary SQL, so you can make any sorts of changes you need to make.
-.. _SQL initial data file: ../model_api/#providing-initial-sql-data
+.. _SQL initial data file: ../model-api/#providing-initial-sql-data
Why is Django leaking memory?
-----------------------------
diff --git a/docs/flatpages.txt b/docs/flatpages.txt
index cb910e812d..1422f16b6b 100644
--- a/docs/flatpages.txt
+++ b/docs/flatpages.txt
@@ -84,9 +84,9 @@ Flatpages are represented by a standard `Django model`_, which lives in
`django/contrib/flatpages/models.py`_. You can access flatpage objects via the
`Django database API`_.
-.. _Django model: ../model_api/
+.. _Django model: ../model-api/
.. _django/contrib/flatpages/models.py: http://code.djangoproject.com/browser/django/trunk/django/contrib/flatpages/models.py
-.. _Django database API: ../db_api/
+.. _Django database API: ../db-api/
Flatpage templates
==================
diff --git a/docs/forms.txt b/docs/forms.txt
index ce1010235f..144b70f13b 100644
--- a/docs/forms.txt
+++ b/docs/forms.txt
@@ -691,5 +691,5 @@ fails. If no message is passed in, a default message is used.
document for more details).
.. _`generic views`: ../generic_views/
-.. _`models API`: ../model_api/
+.. _`models API`: ../model-api/
.. _settings: ../settings/
diff --git a/docs/generic_views.txt b/docs/generic_views.txt
index 5f7a669652..bb5f7320f6 100644
--- a/docs/generic_views.txt
+++ b/docs/generic_views.txt
@@ -71,7 +71,7 @@ are first evaluated, so if you want to pass in a QuerySet via
``extra_context`` that is always fresh you need to wrap it in a function or
lambda that returns the QuerySet.
-.. _database API docs: ../db_api/
+.. _database API docs: ../db-api/
"Simple" generic views
======================
diff --git a/docs/i18n.txt b/docs/i18n.txt
index 4a05e53ddf..56e6f7e02c 100644
--- a/docs/i18n.txt
+++ b/docs/i18n.txt
@@ -175,7 +175,7 @@ class, though::
verbose_name = _('my thing')
verbose_name_plural = _('mythings')
-.. _Django models: ../model_api/
+.. _Django models: ../model-api/
Pluralization
~~~~~~~~~~~~~
diff --git a/docs/model-api.txt b/docs/model-api.txt
index b71668e37f..a14c469661 100644
--- a/docs/model-api.txt
+++ b/docs/model-api.txt
@@ -194,14 +194,23 @@ This doesn't accept ``maxlength``; its ``maxlength`` is automatically set to
``FileField``
~~~~~~~~~~~~~
-A file-upload field.
+A file-upload field. Has one **required** argument:
-Has an extra required argument, ``upload_to``, a local filesystem path to
-which files should be upload. This path may contain `strftime formatting`_,
-which will be replaced by the date/time of the file upload (so that
-uploaded files don't fill up the given directory).
+ ====================== ===================================================
+ Argument Description
+ ====================== ===================================================
+ ``upload_to`` A local filesystem path that will be appended to
+ your ``MEDIA_ROOT`` setting to determine the
+ output of the ``get_<fieldname>_url()`` helper
+ function.
+ ====================== ===================================================
+
+This path may contain `strftime formatting`_, which will be replaced by the
+date/time of the file upload (so that uploaded files don't fill up the given
+directory).
-The admin represents this as an ``<input type="file">`` (a file-upload widget).
+The admin represents this field as an ``<input type="file">`` (a file-upload
+widget).
Using a ``FileField`` or an ``ImageField`` (see below) in a model takes a few
steps:
@@ -246,7 +255,7 @@ visiting its URL on your site. Don't allow that.
A field whose choices are limited to the filenames in a certain directory
on the filesystem. Has three special arguments, of which the first is
-required:
+**required**:
====================== ===================================================
Argument Description
diff --git a/docs/redirects.txt b/docs/redirects.txt
index 5f84f28097..4df60d473f 100644
--- a/docs/redirects.txt
+++ b/docs/redirects.txt
@@ -66,6 +66,6 @@ Redirects are represented by a standard `Django model`_, which lives in
`django/contrib/redirects/models.py`_. You can access redirect
objects via the `Django database API`_.
-.. _Django model: ../model_api/
+.. _Django model: ../model-api/
.. _django/contrib/redirects/models.py: http://code.djangoproject.com/browser/django/trunk/django/contrib/redirects/models.py
-.. _Django database API: ../db_api/
+.. _Django database API: ../db-api/
diff --git a/docs/request_response.txt b/docs/request_response.txt
index c0272461ca..0b985d563b 100644
--- a/docs/request_response.txt
+++ b/docs/request_response.txt
@@ -93,6 +93,7 @@ All attributes except ``session`` should be considered read-only.
* ``CONTENT_TYPE``
* ``HTTP_ACCEPT_ENCODING``
* ``HTTP_ACCEPT_LANGUAGE``
+ * ``HTTP_HOST`` -- The HTTP Host header sent by the client.
* ``HTTP_REFERER`` -- The referring page, if any.
* ``HTTP_USER_AGENT`` -- The client's user-agent string.
* ``QUERY_STRING`` -- The query string, as a single (unparsed) string.
diff --git a/docs/serialization.txt b/docs/serialization.txt
index 48ab46f0f9..8af4da26a8 100644
--- a/docs/serialization.txt
+++ b/docs/serialization.txt
@@ -27,7 +27,7 @@ data to (see `Serialization formats`_) and a QuerySet_ to serialize.
(Actually, the second argument can be any iterator that yields Django objects,
but it'll almost always be a QuerySet).
-.. _QuerySet: ../db_api/#retrieving-objects
+.. _QuerySet: ../db-api/#retrieving-objects
You can also use a serializer object directly::
diff --git a/docs/settings.txt b/docs/settings.txt
index 9ade249f24..5315c683c7 100644
--- a/docs/settings.txt
+++ b/docs/settings.txt
@@ -562,6 +562,21 @@ strings for translation, but the translation won't happen at runtime -- so
you'll have to remember to wrap the languages in the *real* ``gettext()`` in
any code that uses ``LANGUAGES`` at runtime.
+LOGIN_URL
+---------
+
+Default: ``'/accounts/login/'``
+
+The URL where requests are redirected for login, specially when using the
+`@login_required`_ decorator.
+
+LOGOUT_URL
+----------
+
+Default: ``'/accounts/logout/'``
+
+LOGIN_URL counterpart.
+
MANAGERS
--------
@@ -620,6 +635,16 @@ locales have different formats. For example, U.S. English would say
See `allowed date format strings`_. See also DATE_FORMAT, DATETIME_FORMAT,
TIME_FORMAT and YEAR_MONTH_FORMAT.
+LOGIN_REDIRECT_URL
+------------------
+
+Default: ``'/accounts/profile/'``
+
+The URL where requests are redirected after login when the
+``contrib.auth.login`` view gets no ``next`` parameter.
+
+This is used by the `@login_required`_ decorator, for example.
+
PREPEND_WWW
-----------
@@ -874,7 +899,7 @@ Default: ``Django/<version> (http://www.djangoproject.com/)``
The string to use as the ``User-Agent`` header when checking to see if URLs
exist (see the ``verify_exists`` option on URLField_).
-.. _URLField: ../model_api/#urlfield
+.. _URLField: ../model-api/#urlfield
USE_ETAGS
---------
@@ -1012,6 +1037,8 @@ Also, it's an error to call ``configure()`` more than once, or to call
It boils down to this: Use exactly one of either ``configure()`` or
``DJANGO_SETTINGS_MODULE``. Not both, and not neither.
+.. _@login_required: ../authentication/#the-login-required-decorator
+
Error reporting via e-mail
==========================
diff --git a/docs/sites.txt b/docs/sites.txt
index 7497d7dd80..12259b04c3 100644
--- a/docs/sites.txt
+++ b/docs/sites.txt
@@ -276,8 +276,8 @@ you want your admin site to have access to all objects (not just site-specific
ones), put ``objects = models.Manager()`` in your model, before you define
``CurrentSiteManager``.
-.. _manager: ../model_api/#managers
-.. _manager documentation: ../model_api/#managers
+.. _manager: ../model-api/#managers
+.. _manager documentation: ../model-api/#managers
How Django uses the sites framework
===================================
diff --git a/docs/syndication_feeds.txt b/docs/syndication_feeds.txt
index 2a09307e09..c3b02b5d3f 100644
--- a/docs/syndication_feeds.txt
+++ b/docs/syndication_feeds.txt
@@ -159,7 +159,7 @@ put into those elements.
{{ obj.description }}
.. _chicagocrime.org: http://www.chicagocrime.org/
-.. _object-relational mapper: ../db_api/
+.. _object-relational mapper: ../db-api/
.. _Django templates: ../templates/
A complex example
diff --git a/docs/tutorial01.txt b/docs/tutorial01.txt
index 7657bc7bf7..c40b051b19 100644
--- a/docs/tutorial01.txt
+++ b/docs/tutorial01.txt
@@ -577,5 +577,5 @@ For full details on the database API, see our `Database API reference`_.
When you're comfortable with the API, read `part 2 of this tutorial`_ to get
Django's automatic admin working.
-.. _Database API reference: ../db_api/
+.. _Database API reference: ../db-api/
.. _part 2 of this tutorial: ../tutorial02/
diff --git a/docs/tutorial04.txt b/docs/tutorial04.txt
index e3d5d4dfc5..6fee842f8b 100644
--- a/docs/tutorial04.txt
+++ b/docs/tutorial04.txt
@@ -219,7 +219,7 @@ template. Note that we use ``dict()`` to return an altered dictionary in place.
If you'd like to know more about how that works, The Django database API
documentation `explains the lazy nature of QuerySet objects`_.
-.. _explains the lazy nature of QuerySet objects: ../db_api/#querysets-are-lazy
+.. _explains the lazy nature of QuerySet objects: ../db-api/#querysets-are-lazy
In previous parts of the tutorial, the templates have been provided with a context
that contains the ``poll`` and ``latest_poll_list`` context variables. However,
diff --git a/tests/regressiontests/datastructures/tests.py b/tests/regressiontests/datastructures/tests.py
index e008c255f1..18eb4fcccd 100644
--- a/tests/regressiontests/datastructures/tests.py
+++ b/tests/regressiontests/datastructures/tests.py
@@ -52,6 +52,8 @@
'not one'
>>> d.keys() == d.copy().keys()
True
+>>> print repr(d)
+{'one': 'not one', 'two': 'two', 'three': 'three'}
### DotExpandedDict ############################################################
diff --git a/tests/regressiontests/forms/tests.py b/tests/regressiontests/forms/tests.py
index 4521d17d7f..8f8b3c828a 100644
--- a/tests/regressiontests/forms/tests.py
+++ b/tests/regressiontests/forms/tests.py
@@ -658,10 +658,31 @@ Traceback (most recent call last):
...
IndexError: list index out of range
+# Unicode choices are correctly rendered as HTML
>>> w = RadioSelect()
>>> unicode(w.render('email', 'ŠĐĆŽćžšđ', choices=[('ŠĐĆŽćžšđ', 'ŠĐabcĆŽćžšđ'), ('ćžšđ', 'abcćžšđ')]))
u'<ul>\n<li><label><input checked="checked" type="radio" name="email" value="\u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111" /> \u0160\u0110abc\u0106\u017d\u0107\u017e\u0161\u0111</label></li>\n<li><label><input type="radio" name="email" value="\u0107\u017e\u0161\u0111" /> abc\u0107\u017e\u0161\u0111</label></li>\n</ul>'
+# Attributes provided at instantiation are passed to the constituent inputs
+>>> w = RadioSelect(attrs={'id':'foo'})
+>>> print w.render('beatle', 'J', choices=(('J', 'John'), ('P', 'Paul'), ('G', 'George'), ('R', 'Ringo')))
+<ul>
+<li><label><input checked="checked" type="radio" id="foo_0" value="J" name="beatle" /> John</label></li>
+<li><label><input type="radio" id="foo_1" value="P" name="beatle" /> Paul</label></li>
+<li><label><input type="radio" id="foo_2" value="G" name="beatle" /> George</label></li>
+<li><label><input type="radio" id="foo_3" value="R" name="beatle" /> Ringo</label></li>
+</ul>
+
+# Attributes provided at render-time are passed to the constituent inputs
+>>> w = RadioSelect()
+>>> print w.render('beatle', 'J', choices=(('J', 'John'), ('P', 'Paul'), ('G', 'George'), ('R', 'Ringo')), attrs={'id':'bar'})
+<ul>
+<li><label><input checked="checked" type="radio" id="bar_0" value="J" name="beatle" /> John</label></li>
+<li><label><input type="radio" id="bar_1" value="P" name="beatle" /> Paul</label></li>
+<li><label><input type="radio" id="bar_2" value="G" name="beatle" /> George</label></li>
+<li><label><input type="radio" id="bar_3" value="R" name="beatle" /> Ringo</label></li>
+</ul>
+
# CheckboxSelectMultiple Widget ###############################################
>>> w = CheckboxSelectMultiple()
@@ -783,6 +804,11 @@ u'<ul>\n<li><label><input type="checkbox" name="nums" value="1" /> 1</label></li
u'<input type="text" class="big" value="john" name="name_0" /><br /><input type="text" class="small" value="lennon" name="name_1" />'
>>> w.render('name', 'john__lennon')
u'<input type="text" class="big" value="john" name="name_0" /><br /><input type="text" class="small" value="lennon" name="name_1" />'
+>>> w.render('name', 'john__lennon', attrs={'id':'foo'})
+u'<input id="foo_0" type="text" class="big" value="john" name="name_0" /><br /><input id="foo_1" type="text" class="small" value="lennon" name="name_1" />'
+>>> w = MyMultiWidget(widgets=(TextInput(attrs={'class': 'big'}), TextInput(attrs={'class': 'small'})), attrs={'id': 'bar'})
+>>> w.render('name', ['john', 'lennon'])
+u'<input id="bar_0" type="text" class="big" value="john" name="name_0" /><br /><input id="bar_1" type="text" class="small" value="lennon" name="name_1" />'
# SplitDateTimeWidget #########################################################
diff --git a/tests/regressiontests/templates/tests.py b/tests/regressiontests/templates/tests.py
index 93fb1ecb4d..f996f63049 100644
--- a/tests/regressiontests/templates/tests.py
+++ b/tests/regressiontests/templates/tests.py
@@ -694,7 +694,7 @@ class Templates(unittest.TestCase):
### URL TAG ########################################################
# Successes
'url01' : ('{% url regressiontests.templates.views.client client.id %}', {'client': {'id': 1}}, '/url_tag/client/1/'),
- 'url02' : ('{% url regressiontests.templates.views.client_action client.id,action="update" %}', {'client': {'id': 1}}, '/url_tag/client/1/update/'),
+ 'url02' : ('{% url regressiontests.templates.views.client_action client.id, action="update" %}', {'client': {'id': 1}}, '/url_tag/client/1/update/'),
'url03' : ('{% url regressiontests.templates.views.index %}', {}, '/url_tag/'),
'url04' : ('{% url named-client client.id %}', {'client': {'id': 1}}, '/url_tag/named-client/1/'),