mirror of
https://github.com/django/django.git
synced 2025-07-04 09:49:12 +00:00
boulder-oracle-sprint: Merged to [4077] of trunk.
git-svn-id: http://code.djangoproject.com/svn/django/branches/boulder-oracle-sprint@4083 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
1b0d6b942c
commit
8154294a0f
Binary file not shown.
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Django 1.0\n"
|
"Project-Id-Version: Django 1.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2006-09-25 16:04+0200\n"
|
"POT-Creation-Date: 2006-11-15 18:35+0100\n"
|
||||||
"PO-Revision-Date: 2005-10-08 00:03+0200\n"
|
"PO-Revision-Date: 2005-10-08 00:03+0200\n"
|
||||||
"Last-Translator: Georg Bauer <gb@bofh.ms>\n"
|
"Last-Translator: Georg Bauer <gb@bofh.ms>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -452,7 +452,7 @@ msgid ""
|
|||||||
"Looks like your browser isn't configured to accept cookies. Please enable "
|
"Looks like your browser isn't configured to accept cookies. Please enable "
|
||||||
"cookies, reload this page, and try again."
|
"cookies, reload this page, and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Es sieht danach aus, das der Browser keine Cookies akzeptiert. Bitte im "
|
"Es sieht danach aus, dass der Browser keine Cookies akzeptiert. Bitte im "
|
||||||
"Browser Cookies aktivieren und diese Seite neu laden."
|
"Browser Cookies aktivieren und diese Seite neu laden."
|
||||||
|
|
||||||
#: contrib/admin/views/decorators.py:83
|
#: contrib/admin/views/decorators.py:83
|
||||||
@ -470,13 +470,13 @@ msgstr ""
|
|||||||
msgid "Site administration"
|
msgid "Site administration"
|
||||||
msgstr "Website Verwaltung"
|
msgstr "Website Verwaltung"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:17
|
#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(name)s \"%(obj)s\" was added successfully."
|
msgid "The %(name)s \"%(obj)s\" was added successfully."
|
||||||
msgstr "%(name)s \"%(obj)s\" wurde erfolgreich hinzugefügt."
|
msgstr "%(name)s \"%(obj)s\" wurde erfolgreich hinzugefügt."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347
|
#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347
|
||||||
#: contrib/admin/views/auth.py:22
|
#: contrib/admin/views/auth.py:23
|
||||||
msgid "You may edit it again below."
|
msgid "You may edit it again below."
|
||||||
msgstr "Das Element kann jetzt weiter geändert werden."
|
msgstr "Das Element kann jetzt weiter geändert werden."
|
||||||
|
|
||||||
@ -496,7 +496,7 @@ msgid "Added %s."
|
|||||||
msgstr "%s hinzugefügt."
|
msgstr "%s hinzugefügt."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337
|
#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337
|
||||||
#: contrib/admin/views/main.py:339
|
#: contrib/admin/views/main.py:339 db/models/manipulators.py:306
|
||||||
msgid "and"
|
msgid "and"
|
||||||
msgstr "und"
|
msgstr "und"
|
||||||
|
|
||||||
@ -702,7 +702,7 @@ msgstr "XML Text"
|
|||||||
msgid "%s does not appear to be a urlpattern object"
|
msgid "%s does not appear to be a urlpattern object"
|
||||||
msgstr "%s ist scheinbar kein urlpattern Objekt"
|
msgstr "%s ist scheinbar kein urlpattern Objekt"
|
||||||
|
|
||||||
#: contrib/admin/views/auth.py:28
|
#: contrib/admin/views/auth.py:29
|
||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Benutzer zufügen"
|
msgstr "Benutzer zufügen"
|
||||||
|
|
||||||
@ -861,10 +861,6 @@ msgstr "Keine vorhanden"
|
|||||||
msgid "Add %(name)s"
|
msgid "Add %(name)s"
|
||||||
msgstr "%(name)s zufügen"
|
msgstr "%(name)s zufügen"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/login.html:22
|
|
||||||
msgid "Have you <a href=\"/password_reset/\">forgotten your password</a>?"
|
|
||||||
msgstr "Haben Sie <a href=\"/password_reset/\">ihr Passwort vergessen</a>?"
|
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/base.html:25
|
#: contrib/admin/templates/admin/base.html:25
|
||||||
msgid "Welcome,"
|
msgid "Welcome,"
|
||||||
msgstr "Willkommen,"
|
msgstr "Willkommen,"
|
||||||
@ -891,7 +887,7 @@ msgid ""
|
|||||||
"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? "
|
"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? "
|
||||||
"All of the following related items will be deleted:"
|
"All of the following related items will be deleted:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Sind Sie sicher, das Sie %(object_name)s \"%(escaped_object)s\" löschen "
|
"Sind Sie sicher, dass Sie %(object_name)s \"%(escaped_object)s\" löschen "
|
||||||
"wollen? Es werden zusätzlich die folgenden abhängigen Daten mit gelöscht:"
|
"wollen? Es werden zusätzlich die folgenden abhängigen Daten mit gelöscht:"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/delete_confirmation.html:26
|
#: contrib/admin/templates/admin/delete_confirmation.html:26
|
||||||
@ -1061,7 +1057,7 @@ msgid ""
|
|||||||
"password twice so we can verify you typed it in correctly."
|
"password twice so we can verify you typed it in correctly."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Bitte geben Sie aus Sicherheitsgründen erst Ihr altes Kennwort und darunter "
|
"Bitte geben Sie aus Sicherheitsgründen erst Ihr altes Kennwort und darunter "
|
||||||
"dann zweimal (um sicherzustellen, das Sie es korrekt eingegeben haben) das "
|
"dann zweimal (um sicherzustellen, dass Sie es korrekt eingegeben haben) das "
|
||||||
"neue Kennwort ein."
|
"neue Kennwort ein."
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_change_form.html:17
|
#: contrib/admin/templates/registration/password_change_form.html:17
|
||||||
@ -1087,7 +1083,7 @@ msgstr "Sie erhalten diese Mail, weil Sie ein neues Kennwort"
|
|||||||
#: contrib/admin/templates/registration/password_reset_email.html:3
|
#: contrib/admin/templates/registration/password_reset_email.html:3
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "for your user account at %(site_name)s"
|
msgid "for your user account at %(site_name)s"
|
||||||
msgstr "für ihren Benutzer bei %(site_name)s angefordert haben."
|
msgstr "für Ihren Benutzer bei %(site_name)s angefordert haben."
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_email.html:5
|
#: contrib/admin/templates/registration/password_reset_email.html:5
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -1104,7 +1100,7 @@ msgstr "Ihr Benutzername, falls Sie ihn vergessen haben:"
|
|||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_email.html:13
|
#: contrib/admin/templates/registration/password_reset_email.html:13
|
||||||
msgid "Thanks for using our site!"
|
msgid "Thanks for using our site!"
|
||||||
msgstr "Vielen Dank, das Sie unsere Seiten benutzen!"
|
msgstr "Vielen Dank, dass Sie unsere Seiten benutzen!"
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_email.html:15
|
#: contrib/admin/templates/registration/password_reset_email.html:15
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -1367,7 +1363,7 @@ msgid ""
|
|||||||
"Designates that this user has all permissions without explicitly assigning "
|
"Designates that this user has all permissions without explicitly assigning "
|
||||||
"them."
|
"them."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Bestimmt, das dieser Benutzer alle Berechtigungen hat, ohne diese einzeln "
|
"Bestimmt, dass dieser Benutzer alle Berechtigungen hat, ohne diese einzeln "
|
||||||
"zuweisen zu müssen."
|
"zuweisen zu müssen."
|
||||||
|
|
||||||
#: contrib/auth/models.py:98
|
#: contrib/auth/models.py:98
|
||||||
@ -1414,10 +1410,18 @@ msgstr "Wichtige Daten"
|
|||||||
msgid "Groups"
|
msgid "Groups"
|
||||||
msgstr "Gruppen"
|
msgstr "Gruppen"
|
||||||
|
|
||||||
#: contrib/auth/models.py:256
|
#: contrib/auth/models.py:258
|
||||||
msgid "message"
|
msgid "message"
|
||||||
msgstr "Mitteilung"
|
msgstr "Mitteilung"
|
||||||
|
|
||||||
|
#: contrib/auth/forms.py:16
|
||||||
|
msgid "The two password fields didn't match."
|
||||||
|
msgstr "Die zwei Passwörter sind nicht gleich."
|
||||||
|
|
||||||
|
#: contrib/auth/forms.py:24
|
||||||
|
msgid "A user with that username already exists."
|
||||||
|
msgstr "Ein Benutzer mit diesem Namen existiert bereits."
|
||||||
|
|
||||||
#: contrib/auth/forms.py:52
|
#: contrib/auth/forms.py:52
|
||||||
msgid ""
|
msgid ""
|
||||||
"Your Web browser doesn't appear to have cookies enabled. Cookies are "
|
"Your Web browser doesn't appear to have cookies enabled. Cookies are "
|
||||||
@ -1432,10 +1436,10 @@ msgstr "Dieser Benutzer ist inaktiv."
|
|||||||
|
|
||||||
#: contrib/auth/forms.py:84
|
#: contrib/auth/forms.py:84
|
||||||
msgid ""
|
msgid ""
|
||||||
"That e-mail address doesn't have an associated user acount. Are you sure "
|
"That e-mail address doesn't have an associated user account. Are you sure "
|
||||||
"you've registered?"
|
"you've registered?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Die Email-Adresse hat keinen Benutzer zugeordnet. Sicher, das die Adresse "
|
"Die Email-Adresse hat keinen Benutzer zugeordnet. Sicher, dass die Adresse "
|
||||||
"hier angemeldet ist?"
|
"hier angemeldet ist?"
|
||||||
|
|
||||||
#: contrib/auth/forms.py:116
|
#: contrib/auth/forms.py:116
|
||||||
@ -1783,58 +1787,62 @@ msgid "Norwegian"
|
|||||||
msgstr "Norwegisch"
|
msgstr "Norwegisch"
|
||||||
|
|
||||||
#: conf/global_settings.py:59
|
#: conf/global_settings.py:59
|
||||||
|
msgid "Polish"
|
||||||
|
msgstr "Polnisch"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:60
|
||||||
msgid "Brazilian"
|
msgid "Brazilian"
|
||||||
msgstr "Brasilianisch"
|
msgstr "Brasilianisch"
|
||||||
|
|
||||||
#: conf/global_settings.py:60
|
#: conf/global_settings.py:61
|
||||||
msgid "Romanian"
|
msgid "Romanian"
|
||||||
msgstr "Rumänisch"
|
msgstr "Rumänisch"
|
||||||
|
|
||||||
#: conf/global_settings.py:61
|
#: conf/global_settings.py:62
|
||||||
msgid "Russian"
|
msgid "Russian"
|
||||||
msgstr "Russisch"
|
msgstr "Russisch"
|
||||||
|
|
||||||
#: conf/global_settings.py:62
|
#: conf/global_settings.py:63
|
||||||
msgid "Slovak"
|
msgid "Slovak"
|
||||||
msgstr "Slowakisch"
|
msgstr "Slowakisch"
|
||||||
|
|
||||||
#: conf/global_settings.py:63
|
#: conf/global_settings.py:64
|
||||||
msgid "Slovenian"
|
msgid "Slovenian"
|
||||||
msgstr "Slowenisch"
|
msgstr "Slowenisch"
|
||||||
|
|
||||||
#: conf/global_settings.py:64
|
#: conf/global_settings.py:65
|
||||||
msgid "Serbian"
|
msgid "Serbian"
|
||||||
msgstr "Serbisch"
|
msgstr "Serbisch"
|
||||||
|
|
||||||
#: conf/global_settings.py:65
|
#: conf/global_settings.py:66
|
||||||
msgid "Swedish"
|
msgid "Swedish"
|
||||||
msgstr "Schwedisch"
|
msgstr "Schwedisch"
|
||||||
|
|
||||||
#: conf/global_settings.py:66
|
#: conf/global_settings.py:67
|
||||||
msgid "Tamil"
|
msgid "Tamil"
|
||||||
msgstr "Tamilisch"
|
msgstr "Tamilisch"
|
||||||
|
|
||||||
#: conf/global_settings.py:67
|
#: conf/global_settings.py:68
|
||||||
msgid "Turkish"
|
msgid "Turkish"
|
||||||
msgstr "Türkisch"
|
msgstr "Türkisch"
|
||||||
|
|
||||||
#: conf/global_settings.py:68
|
#: conf/global_settings.py:69
|
||||||
msgid "Ukrainian"
|
msgid "Ukrainian"
|
||||||
msgstr "Ukrainisch"
|
msgstr "Ukrainisch"
|
||||||
|
|
||||||
#: conf/global_settings.py:69
|
#: conf/global_settings.py:70
|
||||||
msgid "Simplified Chinese"
|
msgid "Simplified Chinese"
|
||||||
msgstr "Vereinfachtes Chinesisch"
|
msgstr "Vereinfachtes Chinesisch"
|
||||||
|
|
||||||
#: conf/global_settings.py:70
|
#: conf/global_settings.py:71
|
||||||
msgid "Traditional Chinese"
|
msgid "Traditional Chinese"
|
||||||
msgstr "Traditionelles Chinesisch"
|
msgstr "Traditionelles Chinesisch"
|
||||||
|
|
||||||
#: core/validators.py:63
|
#: core/validators.py:64
|
||||||
msgid "This value must contain only letters, numbers and underscores."
|
msgid "This value must contain only letters, numbers and underscores."
|
||||||
msgstr "Dieser Wert darf nur Buchstaben, Ziffern und Unterstriche enthalten."
|
msgstr "Dieser Wert darf nur Buchstaben, Ziffern und Unterstriche enthalten."
|
||||||
|
|
||||||
#: core/validators.py:67
|
#: core/validators.py:68
|
||||||
msgid ""
|
msgid ""
|
||||||
"This value must contain only letters, numbers, underscores, dashes or "
|
"This value must contain only letters, numbers, underscores, dashes or "
|
||||||
"slashes."
|
"slashes."
|
||||||
@ -1842,85 +1850,85 @@ msgstr ""
|
|||||||
"Dieser Wert darf nur Buchstaben, Ziffern, Unterstriche und Schrägstriche "
|
"Dieser Wert darf nur Buchstaben, Ziffern, Unterstriche und Schrägstriche "
|
||||||
"enthalten."
|
"enthalten."
|
||||||
|
|
||||||
#: core/validators.py:71
|
#: core/validators.py:72
|
||||||
msgid "This value must contain only letters, numbers, underscores or hyphens."
|
msgid "This value must contain only letters, numbers, underscores or hyphens."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Dieser Wert darf nur Buchstaben, Ziffern, Unterstriche und Bindestriche "
|
"Dieser Wert darf nur Buchstaben, Ziffern, Unterstriche und Bindestriche "
|
||||||
"enthalten."
|
"enthalten."
|
||||||
|
|
||||||
#: core/validators.py:75
|
#: core/validators.py:76
|
||||||
msgid "Uppercase letters are not allowed here."
|
msgid "Uppercase letters are not allowed here."
|
||||||
msgstr "Großbuchstaben sind hier nicht erlaubt."
|
msgstr "Großbuchstaben sind hier nicht erlaubt."
|
||||||
|
|
||||||
#: core/validators.py:79
|
#: core/validators.py:80
|
||||||
msgid "Lowercase letters are not allowed here."
|
msgid "Lowercase letters are not allowed here."
|
||||||
msgstr "Kleinbuchstaben sind hier nicht erlaubt."
|
msgstr "Kleinbuchstaben sind hier nicht erlaubt."
|
||||||
|
|
||||||
#: core/validators.py:86
|
#: core/validators.py:87
|
||||||
msgid "Enter only digits separated by commas."
|
msgid "Enter only digits separated by commas."
|
||||||
msgstr "Hier sind nur durch Komma getrennte Ziffern erlaubt."
|
msgstr "Hier sind nur durch Komma getrennte Ziffern erlaubt."
|
||||||
|
|
||||||
#: core/validators.py:98
|
#: core/validators.py:99
|
||||||
msgid "Enter valid e-mail addresses separated by commas."
|
msgid "Enter valid e-mail addresses separated by commas."
|
||||||
msgstr "Bitte mit Komma getrennte, gültige eMail-Adressen eingeben."
|
msgstr "Bitte mit Komma getrennte, gültige eMail-Adressen eingeben."
|
||||||
|
|
||||||
#: core/validators.py:102
|
#: core/validators.py:103
|
||||||
msgid "Please enter a valid IP address."
|
msgid "Please enter a valid IP address."
|
||||||
msgstr "Bitte eine gültige IP-Adresse eingeben."
|
msgstr "Bitte eine gültige IP-Adresse eingeben."
|
||||||
|
|
||||||
#: core/validators.py:106
|
#: core/validators.py:107
|
||||||
msgid "Empty values are not allowed here."
|
msgid "Empty values are not allowed here."
|
||||||
msgstr "Dieses Feld darf nicht leer sein."
|
msgstr "Dieses Feld darf nicht leer sein."
|
||||||
|
|
||||||
#: core/validators.py:110
|
#: core/validators.py:111
|
||||||
msgid "Non-numeric characters aren't allowed here."
|
msgid "Non-numeric characters aren't allowed here."
|
||||||
msgstr "Nichtnumerische Zeichen sind hier nicht erlaubt."
|
msgstr "Nichtnumerische Zeichen sind hier nicht erlaubt."
|
||||||
|
|
||||||
#: core/validators.py:114
|
#: core/validators.py:115
|
||||||
msgid "This value can't be comprised solely of digits."
|
msgid "This value can't be comprised solely of digits."
|
||||||
msgstr "Dieser Wert darf nicht nur aus Ziffern bestehen."
|
msgstr "Dieser Wert darf nicht nur aus Ziffern bestehen."
|
||||||
|
|
||||||
#: core/validators.py:119
|
#: core/validators.py:120
|
||||||
msgid "Enter a whole number."
|
msgid "Enter a whole number."
|
||||||
msgstr "Bitte eine ganze Zahl eingeben."
|
msgstr "Bitte eine ganze Zahl eingeben."
|
||||||
|
|
||||||
#: core/validators.py:123
|
#: core/validators.py:124
|
||||||
msgid "Only alphabetical characters are allowed here."
|
msgid "Only alphabetical characters are allowed here."
|
||||||
msgstr "Nur alphabetische Zeichen sind hier erlaubt."
|
msgstr "Nur alphabetische Zeichen sind hier erlaubt."
|
||||||
|
|
||||||
#: core/validators.py:138
|
#: core/validators.py:139
|
||||||
msgid "Year must be 1900 or later."
|
msgid "Year must be 1900 or later."
|
||||||
msgstr "Das Jahr muss 1900 oder später sein."
|
msgstr "Das Jahr muss 1900 oder später sein."
|
||||||
|
|
||||||
#: core/validators.py:142
|
#: core/validators.py:143
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invalid date: %s."
|
msgid "Invalid date: %s."
|
||||||
msgstr "Ungültiges Datum: %s"
|
msgstr "Ungültiges Datum: %s"
|
||||||
|
|
||||||
#: core/validators.py:146 db/models/fields/__init__.py:415
|
#: core/validators.py:147 db/models/fields/__init__.py:424
|
||||||
msgid "Enter a valid date in YYYY-MM-DD format."
|
msgid "Enter a valid date in YYYY-MM-DD format."
|
||||||
msgstr "Bitte ein gültiges Datum im Format JJJJ-MM-TT eingeben."
|
msgstr "Bitte ein gültiges Datum im Format JJJJ-MM-TT eingeben."
|
||||||
|
|
||||||
#: core/validators.py:151
|
#: core/validators.py:152
|
||||||
msgid "Enter a valid time in HH:MM format."
|
msgid "Enter a valid time in HH:MM format."
|
||||||
msgstr "Bitte eine gültige Zeit im Format SS:MM eingeben."
|
msgstr "Bitte eine gültige Zeit im Format SS:MM eingeben."
|
||||||
|
|
||||||
#: core/validators.py:155 db/models/fields/__init__.py:477
|
#: core/validators.py:156 db/models/fields/__init__.py:488
|
||||||
msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
|
msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Bitte eine gültige Datums- und Zeitangabe im Format JJJJ-MM-TT SS:MM "
|
"Bitte eine gültige Datums- und Zeitangabe im Format JJJJ-MM-TT SS:MM "
|
||||||
"eingeben."
|
"eingeben."
|
||||||
|
|
||||||
#: core/validators.py:160
|
#: core/validators.py:161
|
||||||
msgid "Enter a valid e-mail address."
|
msgid "Enter a valid e-mail address."
|
||||||
msgstr "Bitte eine gültige eMail-Adresse eingeben"
|
msgstr "Bitte eine gültige eMail-Adresse eingeben"
|
||||||
|
|
||||||
#: core/validators.py:172 core/validators.py:401 forms/__init__.py:661
|
#: core/validators.py:173 core/validators.py:442 forms/__init__.py:667
|
||||||
msgid "No file was submitted. Check the encoding type on the form."
|
msgid "No file was submitted. Check the encoding type on the form."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Es wurde keine Datei geschickt. Eventuell ist das Formular-Encoding falsch."
|
"Es wurde keine Datei geschickt. Eventuell ist das Formular-Encoding falsch."
|
||||||
|
|
||||||
#: core/validators.py:176
|
#: core/validators.py:177
|
||||||
msgid ""
|
msgid ""
|
||||||
"Upload a valid image. The file you uploaded was either not an image or a "
|
"Upload a valid image. The file you uploaded was either not an image or a "
|
||||||
"corrupted image."
|
"corrupted image."
|
||||||
@ -1928,27 +1936,27 @@ msgstr ""
|
|||||||
"Bitte ein Bild hochladen. Die Datei, die hochgeladen wurde, ist kein Bild "
|
"Bitte ein Bild hochladen. Die Datei, die hochgeladen wurde, ist kein Bild "
|
||||||
"oder ist defekt."
|
"oder ist defekt."
|
||||||
|
|
||||||
#: core/validators.py:183
|
#: core/validators.py:184
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The URL %s does not point to a valid image."
|
msgid "The URL %s does not point to a valid image."
|
||||||
msgstr "Die URL %s zeigt nicht auf ein gültiges Bild."
|
msgstr "Die URL %s zeigt nicht auf ein gültiges Bild."
|
||||||
|
|
||||||
#: core/validators.py:187
|
#: core/validators.py:188
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
|
msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Telefonnummern müssen im Format XXX-XXX-XXXX sein. \"%s\" ist ungültig."
|
"Telefonnummern müssen im Format XXX-XXX-XXXX sein. \"%s\" ist ungültig."
|
||||||
|
|
||||||
#: core/validators.py:195
|
#: core/validators.py:196
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The URL %s does not point to a valid QuickTime video."
|
msgid "The URL %s does not point to a valid QuickTime video."
|
||||||
msgstr "Die URL %s zeigt nicht auf ein gültiges QuickTime video."
|
msgstr "Die URL %s zeigt nicht auf ein gültiges QuickTime video."
|
||||||
|
|
||||||
#: core/validators.py:199
|
#: core/validators.py:200
|
||||||
msgid "A valid URL is required."
|
msgid "A valid URL is required."
|
||||||
msgstr "Eine gültige URL ist hier verlangt."
|
msgstr "Eine gültige URL ist hier verlangt."
|
||||||
|
|
||||||
#: core/validators.py:213
|
#: core/validators.py:214
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Valid HTML is required. Specific errors are:\n"
|
"Valid HTML is required. Specific errors are:\n"
|
||||||
@ -1957,71 +1965,83 @@ msgstr ""
|
|||||||
"Bitte gültiges HTML eingeben. Fehler sind:\n"
|
"Bitte gültiges HTML eingeben. Fehler sind:\n"
|
||||||
"%s"
|
"%s"
|
||||||
|
|
||||||
#: core/validators.py:220
|
#: core/validators.py:221
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Badly formed XML: %s"
|
msgid "Badly formed XML: %s"
|
||||||
msgstr "Ungültiges XML: %s"
|
msgstr "Ungültiges XML: %s"
|
||||||
|
|
||||||
#: core/validators.py:230
|
#: core/validators.py:238
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invalid URL: %s"
|
msgid "Invalid URL: %s"
|
||||||
msgstr "Ungültige URL: %s"
|
msgstr "Ungültige URL: %s"
|
||||||
|
|
||||||
#: core/validators.py:234 core/validators.py:236
|
#: core/validators.py:243 core/validators.py:245
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The URL %s is a broken link."
|
msgid "The URL %s is a broken link."
|
||||||
msgstr "Die URL %s funktioniert nicht."
|
msgstr "Die URL %s funktioniert nicht."
|
||||||
|
|
||||||
#: core/validators.py:242
|
#: core/validators.py:251
|
||||||
msgid "Enter a valid U.S. state abbreviation."
|
msgid "Enter a valid U.S. state abbreviation."
|
||||||
msgstr "Bitte eine gültige Abkürzung für einen US-Staat eingeben."
|
msgstr "Bitte eine gültige Abkürzung für einen US-Staat eingeben."
|
||||||
|
|
||||||
#: core/validators.py:256
|
#: core/validators.py:265
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Watch your mouth! The word %s is not allowed here."
|
msgid "Watch your mouth! The word %s is not allowed here."
|
||||||
msgid_plural "Watch your mouth! The words %s are not allowed here."
|
msgid_plural "Watch your mouth! The words %s are not allowed here."
|
||||||
msgstr[0] "Keine Schimpfworte! Das Wort %s ist hier nicht gern gesehen!"
|
msgstr[0] "Keine Schimpfworte! Das Wort %s ist hier nicht gern gesehen!"
|
||||||
msgstr[1] "Keine Schimpfworte! Die Wörter %s sind hier nicht gern gesehen!"
|
msgstr[1] "Keine Schimpfworte! Die Wörter %s sind hier nicht gern gesehen!"
|
||||||
|
|
||||||
#: core/validators.py:263
|
#: core/validators.py:272
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This field must match the '%s' field."
|
msgid "This field must match the '%s' field."
|
||||||
msgstr "Dieses Feld muss zum Feld '%s' passen."
|
msgstr "Dieses Feld muss zum Feld '%s' passen."
|
||||||
|
|
||||||
#: core/validators.py:282
|
#: core/validators.py:291
|
||||||
msgid "Please enter something for at least one field."
|
msgid "Please enter something for at least one field."
|
||||||
msgstr "Bitte mindestens eines der Felder ausfüllen."
|
msgstr "Bitte mindestens eines der Felder ausfüllen."
|
||||||
|
|
||||||
#: core/validators.py:291 core/validators.py:302
|
#: core/validators.py:300 core/validators.py:311
|
||||||
msgid "Please enter both fields or leave them both empty."
|
msgid "Please enter both fields or leave them both empty."
|
||||||
msgstr "Bitte entweder beide Felder ausfüllen, oder beide leer lassen."
|
msgstr "Bitte entweder beide Felder ausfüllen, oder beide leer lassen."
|
||||||
|
|
||||||
#: core/validators.py:309
|
#: core/validators.py:318
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This field must be given if %(field)s is %(value)s"
|
msgid "This field must be given if %(field)s is %(value)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Dieses Feld muss gefüllt sein, wenn Feld %(field)s den Wert %(value)s hat."
|
"Dieses Feld muss gefüllt sein, wenn Feld %(field)s den Wert %(value)s hat."
|
||||||
|
|
||||||
#: core/validators.py:321
|
#: core/validators.py:330
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This field must be given if %(field)s is not %(value)s"
|
msgid "This field must be given if %(field)s is not %(value)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Dieses Feld muss gefüllt sein, wenn Feld %(field)s nicht %(value)s ist."
|
"Dieses Feld muss gefüllt sein, wenn Feld %(field)s nicht %(value)s ist."
|
||||||
|
|
||||||
#: core/validators.py:340
|
#: core/validators.py:349
|
||||||
msgid "Duplicate values are not allowed."
|
msgid "Duplicate values are not allowed."
|
||||||
msgstr "Doppelte Werte sind hier nicht erlaubt."
|
msgstr "Doppelte Werte sind hier nicht erlaubt."
|
||||||
|
|
||||||
#: core/validators.py:363
|
#: core/validators.py:364
|
||||||
|
msgid "This value must be between %s and %s."
|
||||||
|
msgstr "Dieser Wert muss zwischen %s und %s sein."
|
||||||
|
|
||||||
|
#: core/validators.py:366
|
||||||
|
msgid "This value must be at least %s."
|
||||||
|
msgstr "Dieser Wert muss mindestens %s sein."
|
||||||
|
|
||||||
|
#: core/validators.py:368
|
||||||
|
msgid "This value must be no more than %s."
|
||||||
|
msgstr "Dieser Wert darf maximal %s sein."
|
||||||
|
|
||||||
|
#: core/validators.py:404
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This value must be a power of %s."
|
msgid "This value must be a power of %s."
|
||||||
msgstr "Dieser Wert muss eine Potenz von %s sein."
|
msgstr "Dieser Wert muss eine Potenz von %s sein."
|
||||||
|
|
||||||
#: core/validators.py:374
|
#: core/validators.py:415
|
||||||
msgid "Please enter a valid decimal number."
|
msgid "Please enter a valid decimal number."
|
||||||
msgstr "Bitte eine gültige Dezimalzahl eingeben."
|
msgstr "Bitte eine gültige Dezimalzahl eingeben."
|
||||||
|
|
||||||
#: core/validators.py:378
|
#: core/validators.py:419
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Please enter a valid decimal number with at most %s total digit."
|
msgid "Please enter a valid decimal number with at most %s total digit."
|
||||||
msgid_plural ""
|
msgid_plural ""
|
||||||
@ -2029,7 +2049,7 @@ msgid_plural ""
|
|||||||
msgstr[0] "Bitte eine gültige Dezimalzahl mit maximal %s Ziffer eingeben."
|
msgstr[0] "Bitte eine gültige Dezimalzahl mit maximal %s Ziffer eingeben."
|
||||||
msgstr[1] "Bitte eine gültige Dezimalzahl mit maximal %s Ziffern eingeben."
|
msgstr[1] "Bitte eine gültige Dezimalzahl mit maximal %s Ziffern eingeben."
|
||||||
|
|
||||||
#: core/validators.py:381
|
#: core/validators.py:422
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter a valid decimal number with a whole part of at most %s digit."
|
"Please enter a valid decimal number with a whole part of at most %s digit."
|
||||||
@ -2038,7 +2058,7 @@ msgid_plural ""
|
|||||||
msgstr[0] "Bitte eine gültige Dezimalzahl mit maximal %s Ziffer eingeben."
|
msgstr[0] "Bitte eine gültige Dezimalzahl mit maximal %s Ziffer eingeben."
|
||||||
msgstr[1] "Bitte eine gültige Dezimalzahl mit maximal %s Ziffern eingeben."
|
msgstr[1] "Bitte eine gültige Dezimalzahl mit maximal %s Ziffern eingeben."
|
||||||
|
|
||||||
#: core/validators.py:384
|
#: core/validators.py:425
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Please enter a valid decimal number with at most %s decimal place."
|
msgid "Please enter a valid decimal number with at most %s decimal place."
|
||||||
msgid_plural ""
|
msgid_plural ""
|
||||||
@ -2048,39 +2068,39 @@ msgstr[0] ""
|
|||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
"Bitte eine gültige Dezimalzahl mit maximal %s Dezimalstellen eingeben."
|
"Bitte eine gültige Dezimalzahl mit maximal %s Dezimalstellen eingeben."
|
||||||
|
|
||||||
#: core/validators.py:394
|
#: core/validators.py:435
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Make sure your uploaded file is at least %s bytes big."
|
msgid "Make sure your uploaded file is at least %s bytes big."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Bitte sicherstellen, daß die hochgeladene Datei mindestens %s Bytes gross "
|
"Bitte sicherstellen, daß die hochgeladene Datei mindestens %s Bytes gross "
|
||||||
"ist."
|
"ist."
|
||||||
|
|
||||||
#: core/validators.py:395
|
#: core/validators.py:436
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Make sure your uploaded file is at most %s bytes big."
|
msgid "Make sure your uploaded file is at most %s bytes big."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Bitte sicherstellen, daß die hochgeladene Datei maximal %s Bytes gross ist."
|
"Bitte sicherstellen, daß die hochgeladene Datei maximal %s Bytes gross ist."
|
||||||
|
|
||||||
#: core/validators.py:412
|
#: core/validators.py:453
|
||||||
msgid "The format for this field is wrong."
|
msgid "The format for this field is wrong."
|
||||||
msgstr "Das Format für dieses Feld ist falsch."
|
msgstr "Das Format für dieses Feld ist falsch."
|
||||||
|
|
||||||
#: core/validators.py:427
|
#: core/validators.py:468
|
||||||
msgid "This field is invalid."
|
msgid "This field is invalid."
|
||||||
msgstr "Dieses Feld ist ungültig."
|
msgstr "Dieses Feld ist ungültig."
|
||||||
|
|
||||||
#: core/validators.py:463
|
#: core/validators.py:504
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Could not retrieve anything from %s."
|
msgid "Could not retrieve anything from %s."
|
||||||
msgstr "Konnte nichts von %s empfangen."
|
msgstr "Konnte nichts von %s empfangen."
|
||||||
|
|
||||||
#: core/validators.py:466
|
#: core/validators.py:507
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
|
"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
|
||||||
msgstr "Die URL %(url)s lieferte den falschen Content-Type '%(contenttype)s'."
|
msgstr "Die URL %(url)s lieferte den falschen Content-Type '%(contenttype)s'."
|
||||||
|
|
||||||
#: core/validators.py:499
|
#: core/validators.py:540
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with "
|
"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with "
|
||||||
@ -2089,7 +2109,7 @@ msgstr ""
|
|||||||
"Bitte das ungeschlossene %(tag)s Tag in Zeile %(line)s schließen. Die Zeile "
|
"Bitte das ungeschlossene %(tag)s Tag in Zeile %(line)s schließen. Die Zeile "
|
||||||
"beginnt mit \"%(start)s\"."
|
"beginnt mit \"%(start)s\"."
|
||||||
|
|
||||||
#: core/validators.py:503
|
#: core/validators.py:544
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Some text starting on line %(line)s is not allowed in that context. (Line "
|
"Some text starting on line %(line)s is not allowed in that context. (Line "
|
||||||
@ -2098,7 +2118,7 @@ msgstr ""
|
|||||||
"In Zeile %(line)s ist Text, der nicht in dem Kontext erlaubt ist. Die Zeile "
|
"In Zeile %(line)s ist Text, der nicht in dem Kontext erlaubt ist. Die Zeile "
|
||||||
"beginnt mit \"%(start)s\"."
|
"beginnt mit \"%(start)s\"."
|
||||||
|
|
||||||
#: core/validators.py:508
|
#: core/validators.py:549
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%"
|
"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%"
|
||||||
@ -2107,7 +2127,7 @@ msgstr ""
|
|||||||
"Das Attribute %(attr)s in Zeile %(line)s ist ungültig. Die Zeile beginnt mit "
|
"Das Attribute %(attr)s in Zeile %(line)s ist ungültig. Die Zeile beginnt mit "
|
||||||
"\"%(start)s\"."
|
"\"%(start)s\"."
|
||||||
|
|
||||||
#: core/validators.py:513
|
#: core/validators.py:554
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%"
|
"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%"
|
||||||
@ -2116,7 +2136,7 @@ msgstr ""
|
|||||||
"<%(tag)s> in Zeile %(line)s ist ungültig. Die Zeile beginnt mit \"%(start)s"
|
"<%(tag)s> in Zeile %(line)s ist ungültig. Die Zeile beginnt mit \"%(start)s"
|
||||||
"\"."
|
"\"."
|
||||||
|
|
||||||
#: core/validators.py:517
|
#: core/validators.py:558
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"A tag on line %(line)s is missing one or more required attributes. (Line "
|
"A tag on line %(line)s is missing one or more required attributes. (Line "
|
||||||
@ -2125,7 +2145,7 @@ msgstr ""
|
|||||||
"Ein Tag in Zeile %(line)s hat eines oder mehrere Pflichtattribute nicht. Die "
|
"Ein Tag in Zeile %(line)s hat eines oder mehrere Pflichtattribute nicht. Die "
|
||||||
"Zeile beginnt mit \"%(start)s\"."
|
"Zeile beginnt mit \"%(start)s\"."
|
||||||
|
|
||||||
#: core/validators.py:522
|
#: core/validators.py:563
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line "
|
"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line "
|
||||||
@ -2149,37 +2169,37 @@ msgstr "%(verbose_name)s wurde erfolgreich aktualisiert."
|
|||||||
msgid "The %(verbose_name)s was deleted."
|
msgid "The %(verbose_name)s was deleted."
|
||||||
msgstr "%(verbose_name)s wurde gelöscht"
|
msgstr "%(verbose_name)s wurde gelöscht"
|
||||||
|
|
||||||
#: db/models/manipulators.py:302
|
#: db/models/manipulators.py:305
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(object)s with this %(type)s already exists for the given %(field)s."
|
msgid "%(object)s with this %(type)s already exists for the given %(field)s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Ein '%(object)s' in dieser '%(type)s' existiert bereits für dieses '%(field)"
|
"Ein '%(object)s' in dieser '%(type)s' existiert bereits für dieses '%(field)"
|
||||||
"s'."
|
"s'."
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:40
|
#: db/models/fields/__init__.py:41
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(optname)s with this %(fieldname)s already exists."
|
msgid "%(optname)s with this %(fieldname)s already exists."
|
||||||
msgstr "Ein '%(optname)s' mit diesem '%(fieldname)s' existiert bereits."
|
msgstr "Ein '%(optname)s' mit diesem '%(fieldname)s' existiert bereits."
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265
|
#: db/models/fields/__init__.py:115 db/models/fields/__init__.py:266
|
||||||
#: db/models/fields/__init__.py:551 db/models/fields/__init__.py:562
|
#: db/models/fields/__init__.py:569 db/models/fields/__init__.py:580
|
||||||
#: forms/__init__.py:346
|
#: forms/__init__.py:352
|
||||||
msgid "This field is required."
|
msgid "This field is required."
|
||||||
msgstr "Dieses Feld ist zwingend."
|
msgstr "Dieses Feld ist zwingend."
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:340
|
#: db/models/fields/__init__.py:349
|
||||||
msgid "This value must be an integer."
|
msgid "This value must be an integer."
|
||||||
msgstr "Dieser Wert muss eine Ganzzahl sein."
|
msgstr "Dieser Wert muss eine Ganzzahl sein."
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:372
|
#: db/models/fields/__init__.py:381
|
||||||
msgid "This value must be either True or False."
|
msgid "This value must be either True or False."
|
||||||
msgstr "Dieser Wert muss wahr oder falsch sein."
|
msgstr "Dieser Wert muss wahr oder falsch sein."
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:388
|
#: db/models/fields/__init__.py:397
|
||||||
msgid "This field cannot be null."
|
msgid "This field cannot be null."
|
||||||
msgstr "Dieses Feld darf nicht leer sein."
|
msgstr "Dieses Feld darf nicht leer sein."
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:571
|
#: db/models/fields/__init__.py:589
|
||||||
msgid "Enter a valid filename."
|
msgid "Enter a valid filename."
|
||||||
msgstr "Bitte einen gültigen Dateinamen eingeben"
|
msgstr "Bitte einen gültigen Dateinamen eingeben"
|
||||||
|
|
||||||
@ -2209,36 +2229,36 @@ msgstr[0] ""
|
|||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
"Bitte gültige IDs für %(self)s eingeben. Die Werte %(value)r sind ungültig."
|
"Bitte gültige IDs für %(self)s eingeben. Die Werte %(value)r sind ungültig."
|
||||||
|
|
||||||
#: forms/__init__.py:381
|
#: forms/__init__.py:387
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Ensure your text is less than %s character."
|
msgid "Ensure your text is less than %s character."
|
||||||
msgid_plural "Ensure your text is less than %s characters."
|
msgid_plural "Ensure your text is less than %s characters."
|
||||||
msgstr[0] "Bitte sicherstellen, das der Text weniger als %s Zeichen hat."
|
msgstr[0] "Bitte sicherstellen, dass der Text weniger als %s Zeichen hat."
|
||||||
msgstr[1] "Bitte sicherstellen, das der Text weniger als %s Zeichen hat."
|
msgstr[1] "Bitte sicherstellen, dass der Text weniger als %s Zeichen hat."
|
||||||
|
|
||||||
#: forms/__init__.py:386
|
#: forms/__init__.py:392
|
||||||
msgid "Line breaks are not allowed here."
|
msgid "Line breaks are not allowed here."
|
||||||
msgstr "Zeilenumbrüche sind hier nicht erlaubt."
|
msgstr "Zeilenumbrüche sind hier nicht erlaubt."
|
||||||
|
|
||||||
#: forms/__init__.py:487 forms/__init__.py:560 forms/__init__.py:599
|
#: forms/__init__.py:493 forms/__init__.py:566 forms/__init__.py:605
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Select a valid choice; '%(data)s' is not in %(choices)s."
|
msgid "Select a valid choice; '%(data)s' is not in %(choices)s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Bitte eine gültige Auswahl treffen; '%(data)s' ist nicht in %(choices)s."
|
"Bitte eine gültige Auswahl treffen; '%(data)s' ist nicht in %(choices)s."
|
||||||
|
|
||||||
#: forms/__init__.py:663
|
#: forms/__init__.py:669
|
||||||
msgid "The submitted file is empty."
|
msgid "The submitted file is empty."
|
||||||
msgstr "Die ausgewählte Datei ist leer."
|
msgstr "Die ausgewählte Datei ist leer."
|
||||||
|
|
||||||
#: forms/__init__.py:719
|
#: forms/__init__.py:725
|
||||||
msgid "Enter a whole number between -32,768 and 32,767."
|
msgid "Enter a whole number between -32,768 and 32,767."
|
||||||
msgstr "Bitte eine ganze Zahl zwischen -32.768 und 32.767 eingeben."
|
msgstr "Bitte eine ganze Zahl zwischen -32.768 und 32.767 eingeben."
|
||||||
|
|
||||||
#: forms/__init__.py:729
|
#: forms/__init__.py:735
|
||||||
msgid "Enter a positive number."
|
msgid "Enter a positive number."
|
||||||
msgstr "Bitte eine ganze, positive Zahl eingeben."
|
msgstr "Bitte eine ganze, positive Zahl eingeben."
|
||||||
|
|
||||||
#: forms/__init__.py:739
|
#: forms/__init__.py:745
|
||||||
msgid "Enter a whole number between 0 and 32,767."
|
msgid "Enter a whole number between 0 and 32,767."
|
||||||
msgstr "Bitte eine ganze Zahl zwischen 0 und 32.767 eingeben."
|
msgstr "Bitte eine ganze Zahl zwischen 0 und 32.767 eingeben."
|
||||||
|
|
||||||
|
Binary file not shown.
@ -107,6 +107,11 @@ msgid ""
|
|||||||
"\n"
|
"\n"
|
||||||
"http://%(domain)s%(url)s"
|
"http://%(domain)s%(url)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Σχόλιο από τον/την %(user)s την %(date)s\n"
|
||||||
|
"\n"
|
||||||
|
"%(comment)s\n"
|
||||||
|
"\n"
|
||||||
|
"http://%(domain)s%(url)s"
|
||||||
|
|
||||||
#: contrib/comments/models.py:168
|
#: contrib/comments/models.py:168
|
||||||
msgid "person's name"
|
msgid "person's name"
|
||||||
@ -141,11 +146,11 @@ msgstr "ημερομηνία βαθμολογίας"
|
|||||||
#: contrib/comments/models.py:237
|
#: contrib/comments/models.py:237
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "karma score"
|
msgid "karma score"
|
||||||
msgstr "βαθμολογία"
|
msgstr "karma"
|
||||||
|
|
||||||
#: contrib/comments/models.py:238
|
#: contrib/comments/models.py:238
|
||||||
msgid "karma scores"
|
msgid "karma scores"
|
||||||
msgstr ""
|
msgstr "karma"
|
||||||
|
|
||||||
#: contrib/comments/models.py:242
|
#: contrib/comments/models.py:242
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -159,7 +164,7 @@ msgid ""
|
|||||||
"\n"
|
"\n"
|
||||||
"%(text)s"
|
"%(text)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Αυτο το σχόλιο σημειώθει απο %(χρήστη)ες\n"
|
"Αυτο το σχόλιο σημειώθηκε απο %(χρήστη)ες\n"
|
||||||
"\n"
|
"\n"
|
||||||
"%(κείμενο)α"
|
"%(κείμενο)α"
|
||||||
|
|
||||||
@ -245,7 +250,7 @@ msgstr ""
|
|||||||
#: contrib/comments/views/comments.py:193
|
#: contrib/comments/views/comments.py:193
|
||||||
#: contrib/comments/views/comments.py:284
|
#: contrib/comments/views/comments.py:284
|
||||||
msgid "One or more of the required fields wasn't submitted"
|
msgid "One or more of the required fields wasn't submitted"
|
||||||
msgstr "Ένα ή περισσότερα από τα απαιτούμενα πεδία δεν υποβλίθει"
|
msgstr "Ένα ή περισσότερα από τα απαιτούμενα πεδία δεν υπεβλήθει"
|
||||||
|
|
||||||
#: contrib/comments/views/comments.py:197
|
#: contrib/comments/views/comments.py:197
|
||||||
#: contrib/comments/views/comments.py:286
|
#: contrib/comments/views/comments.py:286
|
||||||
@ -268,7 +273,7 @@ msgstr ""
|
|||||||
#: contrib/comments/templates/comments/form.html:8
|
#: contrib/comments/templates/comments/form.html:8
|
||||||
#: contrib/admin/templates/admin/login.html:17
|
#: contrib/admin/templates/admin/login.html:17
|
||||||
msgid "Username:"
|
msgid "Username:"
|
||||||
msgstr ""
|
msgstr "Όνομα χρήστη:"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:6
|
#: contrib/comments/templates/comments/form.html:6
|
||||||
#: contrib/admin/templates/admin/login.html:20
|
#: contrib/admin/templates/admin/login.html:20
|
||||||
@ -298,21 +303,21 @@ msgstr "Ξεχάσατε τον κωδικό σας;"
|
|||||||
#: contrib/admin/templates/admin_doc/index.html:4
|
#: contrib/admin/templates/admin_doc/index.html:4
|
||||||
#: contrib/admin/templates/admin_doc/model_index.html:5
|
#: contrib/admin/templates/admin_doc/model_index.html:5
|
||||||
msgid "Log out"
|
msgid "Log out"
|
||||||
msgstr ""
|
msgstr "Αποσύνδεση"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:12
|
#: contrib/comments/templates/comments/form.html:12
|
||||||
msgid "Ratings"
|
msgid "Ratings"
|
||||||
msgstr ""
|
msgstr "Βαθμολογίες"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:12
|
#: contrib/comments/templates/comments/form.html:12
|
||||||
#: contrib/comments/templates/comments/form.html:23
|
#: contrib/comments/templates/comments/form.html:23
|
||||||
msgid "Required"
|
msgid "Required"
|
||||||
msgstr ""
|
msgstr "Απαραίτητο"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:12
|
#: contrib/comments/templates/comments/form.html:12
|
||||||
#: contrib/comments/templates/comments/form.html:23
|
#: contrib/comments/templates/comments/form.html:23
|
||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr ""
|
msgstr "Προαιρετικό"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:23
|
#: contrib/comments/templates/comments/form.html:23
|
||||||
msgid "Post a photo"
|
msgid "Post a photo"
|
||||||
@ -326,11 +331,11 @@ msgstr "Σχόλιο:"
|
|||||||
#: contrib/comments/templates/comments/form.html:32
|
#: contrib/comments/templates/comments/form.html:32
|
||||||
#: contrib/comments/templates/comments/freeform.html:9
|
#: contrib/comments/templates/comments/freeform.html:9
|
||||||
msgid "Preview comment"
|
msgid "Preview comment"
|
||||||
msgstr ""
|
msgstr "Προεπισκόπηση σχολίου"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/freeform.html:4
|
#: contrib/comments/templates/comments/freeform.html:4
|
||||||
msgid "Your name:"
|
msgid "Your name:"
|
||||||
msgstr ""
|
msgstr "Το όνομα σας:"
|
||||||
|
|
||||||
#: contrib/admin/filterspecs.py:40
|
#: contrib/admin/filterspecs.py:40
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -338,15 +343,17 @@ msgid ""
|
|||||||
"<h3>By %s:</h3>\n"
|
"<h3>By %s:</h3>\n"
|
||||||
"<ul>\n"
|
"<ul>\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"<h3>Από %s:</h3>\n"
|
||||||
|
"<ul>\n"
|
||||||
|
|
||||||
#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88
|
#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88
|
||||||
#: contrib/admin/filterspecs.py:143
|
#: contrib/admin/filterspecs.py:143
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr ""
|
msgstr "Όλα"
|
||||||
|
|
||||||
#: contrib/admin/filterspecs.py:109
|
#: contrib/admin/filterspecs.py:109
|
||||||
msgid "Any date"
|
msgid "Any date"
|
||||||
msgstr ""
|
msgstr "Όλες οι ημερομηνίες"
|
||||||
|
|
||||||
#: contrib/admin/filterspecs.py:110
|
#: contrib/admin/filterspecs.py:110
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
@ -354,7 +361,7 @@ msgstr "Σήμερα"
|
|||||||
|
|
||||||
#: contrib/admin/filterspecs.py:113
|
#: contrib/admin/filterspecs.py:113
|
||||||
msgid "Past 7 days"
|
msgid "Past 7 days"
|
||||||
msgstr ""
|
msgstr "Τις προηγούμενες 7 ημέρες"
|
||||||
|
|
||||||
#: contrib/admin/filterspecs.py:115
|
#: contrib/admin/filterspecs.py:115
|
||||||
msgid "This month"
|
msgid "This month"
|
||||||
@ -374,7 +381,7 @@ msgstr "Όχι"
|
|||||||
|
|
||||||
#: contrib/admin/filterspecs.py:150
|
#: contrib/admin/filterspecs.py:150
|
||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "’γνωστο"
|
msgstr "Άγνωστο"
|
||||||
|
|
||||||
#: contrib/admin/models.py:16
|
#: contrib/admin/models.py:16
|
||||||
msgid "action time"
|
msgid "action time"
|
||||||
@ -441,7 +448,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: contrib/admin/views/decorators.py:82
|
#: contrib/admin/views/decorators.py:82
|
||||||
msgid "Usernames cannot contain the '@' character."
|
msgid "Usernames cannot contain the '@' character."
|
||||||
msgstr "Τα ονόματα των Χρηστών δεν μπορόυν να περιέχουν τον χαρακτήρα '@'."
|
msgstr "Τα ονόματα των χρηστών δεν μπορόυν να περιέχουν τον χαρακτήρα '@'."
|
||||||
|
|
||||||
#: contrib/admin/views/decorators.py:84
|
#: contrib/admin/views/decorators.py:84
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -452,16 +459,16 @@ msgstr ""
|
|||||||
|
|
||||||
#: contrib/admin/views/main.py:226
|
#: contrib/admin/views/main.py:226
|
||||||
msgid "Site administration"
|
msgid "Site administration"
|
||||||
msgstr "Διαχείριση του Διαδυκτιακού χώρου"
|
msgstr "Διαχείριση του Διαδικτυακού χώρου"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:260
|
#: contrib/admin/views/main.py:260
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(name)s \"%(obj)s\" was added successfully."
|
msgid "The %(name)s \"%(obj)s\" was added successfully."
|
||||||
msgstr ""
|
msgstr "Το %(name)s \"%(obj)s\" αποθηκεύτηκε επιτυχώς."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348
|
#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348
|
||||||
msgid "You may edit it again below."
|
msgid "You may edit it again below."
|
||||||
msgstr ""
|
msgstr "Μπορείτε να το επεξεργαστείτε ξανα παρακάτω."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357
|
#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -471,12 +478,12 @@ msgstr "Μπορείτε να προσθέσετε ακόμα ένα %s απο
|
|||||||
#: contrib/admin/views/main.py:290
|
#: contrib/admin/views/main.py:290
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Add %s"
|
msgid "Add %s"
|
||||||
msgstr ""
|
msgstr "Προσθήκη %s"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:336
|
#: contrib/admin/views/main.py:336
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added %s."
|
msgid "Added %s."
|
||||||
msgstr ""
|
msgstr "Προστέθηκε %s."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338
|
#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338
|
||||||
#: contrib/admin/views/main.py:340
|
#: contrib/admin/views/main.py:340
|
||||||
@ -486,32 +493,33 @@ msgstr "και"
|
|||||||
#: contrib/admin/views/main.py:338
|
#: contrib/admin/views/main.py:338
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Changed %s."
|
msgid "Changed %s."
|
||||||
msgstr ""
|
msgstr "Επεξεργάσθηκε %s."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:340
|
#: contrib/admin/views/main.py:340
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Deleted %s."
|
msgid "Deleted %s."
|
||||||
msgstr ""
|
msgstr "Διεγράφη %s."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:343
|
#: contrib/admin/views/main.py:343
|
||||||
msgid "No fields changed."
|
msgid "No fields changed."
|
||||||
msgstr ""
|
msgstr "Κανένα πεδίο δεν άλλαξε."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:346
|
#: contrib/admin/views/main.py:346
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(name)s \"%(obj)s\" was changed successfully."
|
msgid "The %(name)s \"%(obj)s\" was changed successfully."
|
||||||
msgstr ""
|
msgstr "Το %(name)s \"%(obj)s\" επεξεργάσθηκε επιτυχώς."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:354
|
#: contrib/admin/views/main.py:354
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
|
"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Το %(name)s \"%(obj)s\" αποθηκεύθηκε επιτυχώς. Μπορείτε να το επεξεργαστείτε πάλι παρακάτω."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:392
|
#: contrib/admin/views/main.py:392
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Change %s"
|
msgid "Change %s"
|
||||||
msgstr ""
|
msgstr "Αλλαγή %s"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:470
|
#: contrib/admin/views/main.py:470
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -535,17 +543,17 @@ msgstr "Είστε σίγουρος;"
|
|||||||
#: contrib/admin/views/main.py:533
|
#: contrib/admin/views/main.py:533
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Change history: %s"
|
msgid "Change history: %s"
|
||||||
msgstr ""
|
msgstr "Ιστορικό Αλλαγών: %s"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:565
|
#: contrib/admin/views/main.py:565
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Select %s"
|
msgid "Select %s"
|
||||||
msgstr ""
|
msgstr "Επιλογή %s"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:565
|
#: contrib/admin/views/main.py:565
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Select %s to change"
|
msgid "Select %s to change"
|
||||||
msgstr ""
|
msgstr "Επιλέξτε %s προς αλλαγή"
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:277 contrib/admin/views/doc.py:286
|
#: contrib/admin/views/doc.py:277 contrib/admin/views/doc.py:286
|
||||||
#: contrib/admin/views/doc.py:288 contrib/admin/views/doc.py:294
|
#: contrib/admin/views/doc.py:288 contrib/admin/views/doc.py:294
|
||||||
@ -555,7 +563,7 @@ msgstr "Ακέραιος"
|
|||||||
|
|
||||||
#: contrib/admin/views/doc.py:278
|
#: contrib/admin/views/doc.py:278
|
||||||
msgid "Boolean (Either True or False)"
|
msgid "Boolean (Either True or False)"
|
||||||
msgstr "Boolean (Είτε Αλήθεια ή Ψέμα)"
|
msgstr "Boolean (Είτε Αληθές ή Ψέυδές)"
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:296
|
#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:296
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -580,7 +588,7 @@ msgstr "Ηλεκτρονική διεύθυνση"
|
|||||||
|
|
||||||
#: contrib/admin/views/doc.py:284 contrib/admin/views/doc.py:287
|
#: contrib/admin/views/doc.py:284 contrib/admin/views/doc.py:287
|
||||||
msgid "File path"
|
msgid "File path"
|
||||||
msgstr ""
|
msgstr "Τοποθεσία Αρχείου"
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:285
|
#: contrib/admin/views/doc.py:285
|
||||||
msgid "Decimal number"
|
msgid "Decimal number"
|
||||||
@ -592,7 +600,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: contrib/admin/views/doc.py:292
|
#: contrib/admin/views/doc.py:292
|
||||||
msgid "Relation to parent model"
|
msgid "Relation to parent model"
|
||||||
msgstr ""
|
msgstr "Σχέση με το γονεϊκό μοντέλο"
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:293
|
#: contrib/admin/views/doc.py:293
|
||||||
msgid "Phone number"
|
msgid "Phone number"
|
||||||
@ -627,7 +635,7 @@ msgstr ""
|
|||||||
#: contrib/admin/templates/registration/password_change_form.html:3
|
#: contrib/admin/templates/registration/password_change_form.html:3
|
||||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:3
|
#: contrib/admin/templates/admin_doc/bookmarklets.html:3
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr ""
|
msgstr "Τεκμηρίωση"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/object_history.html:3
|
#: contrib/admin/templates/admin/object_history.html:3
|
||||||
#: contrib/admin/templates/admin/change_list.html:5
|
#: contrib/admin/templates/admin/change_list.html:5
|
||||||
@ -667,11 +675,11 @@ msgstr "Home"
|
|||||||
#: contrib/admin/templates/admin/object_history.html:5
|
#: contrib/admin/templates/admin/object_history.html:5
|
||||||
#: contrib/admin/templates/admin/change_form.html:20
|
#: contrib/admin/templates/admin/change_form.html:20
|
||||||
msgid "History"
|
msgid "History"
|
||||||
msgstr ""
|
msgstr "Ιστορικό"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/object_history.html:18
|
#: contrib/admin/templates/admin/object_history.html:18
|
||||||
msgid "Date/time"
|
msgid "Date/time"
|
||||||
msgstr ""
|
msgstr "Ημερομηνία/Ώρα"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/object_history.html:19
|
#: contrib/admin/templates/admin/object_history.html:19
|
||||||
msgid "User"
|
msgid "User"
|
||||||
@ -679,7 +687,7 @@ msgstr "Χρήστης"
|
|||||||
|
|
||||||
#: contrib/admin/templates/admin/object_history.html:20
|
#: contrib/admin/templates/admin/object_history.html:20
|
||||||
msgid "Action"
|
msgid "Action"
|
||||||
msgstr ""
|
msgstr "Δράση"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/object_history.html:26
|
#: contrib/admin/templates/admin/object_history.html:26
|
||||||
msgid "DATE_WITH_TIME_FULL"
|
msgid "DATE_WITH_TIME_FULL"
|
||||||
@ -697,19 +705,19 @@ msgstr "Διαχειριστής ιστοσελίδας Django"
|
|||||||
|
|
||||||
#: contrib/admin/templates/admin/base_site.html:7
|
#: contrib/admin/templates/admin/base_site.html:7
|
||||||
msgid "Django administration"
|
msgid "Django administration"
|
||||||
msgstr ""
|
msgstr "Διαχείριση Django"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/500.html:4
|
#: contrib/admin/templates/admin/500.html:4
|
||||||
msgid "Server error"
|
msgid "Server error"
|
||||||
msgstr ""
|
msgstr "Σφάλμα Διακομιστή"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/500.html:6
|
#: contrib/admin/templates/admin/500.html:6
|
||||||
msgid "Server error (500)"
|
msgid "Server error (500)"
|
||||||
msgstr ""
|
msgstr "Σφάλμα Διακομιστή (500)"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/500.html:9
|
#: contrib/admin/templates/admin/500.html:9
|
||||||
msgid "Server Error <em>(500)</em>"
|
msgid "Server Error <em>(500)</em>"
|
||||||
msgstr ""
|
msgstr "Σφάλμα Διακομιστή <em>(500)</em>"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/500.html:10
|
#: contrib/admin/templates/admin/500.html:10
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -720,7 +728,7 @@ msgstr ""
|
|||||||
#: contrib/admin/templates/admin/404.html:4
|
#: contrib/admin/templates/admin/404.html:4
|
||||||
#: contrib/admin/templates/admin/404.html:8
|
#: contrib/admin/templates/admin/404.html:8
|
||||||
msgid "Page not found"
|
msgid "Page not found"
|
||||||
msgstr ""
|
msgstr "Η σελίδα δε βρέθηκε."
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/404.html:10
|
#: contrib/admin/templates/admin/404.html:10
|
||||||
msgid "We're sorry, but the requested page could not be found."
|
msgid "We're sorry, but the requested page could not be found."
|
||||||
@ -729,24 +737,24 @@ msgstr ""
|
|||||||
#: contrib/admin/templates/admin/index.html:17
|
#: contrib/admin/templates/admin/index.html:17
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Models available in the %(name)s application."
|
msgid "Models available in the %(name)s application."
|
||||||
msgstr ""
|
msgstr "Διαθέσιμα μοντέλα στην εφαρμογή %(name)s."
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/index.html:28
|
#: contrib/admin/templates/admin/index.html:28
|
||||||
#: contrib/admin/templates/admin/change_form.html:15
|
#: contrib/admin/templates/admin/change_form.html:15
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr ""
|
msgstr "Προσθήκη"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/index.html:34
|
#: contrib/admin/templates/admin/index.html:34
|
||||||
msgid "Change"
|
msgid "Change"
|
||||||
msgstr ""
|
msgstr "Επεξεργασία"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/index.html:44
|
#: contrib/admin/templates/admin/index.html:44
|
||||||
msgid "You don't have permission to edit anything."
|
msgid "You don't have permission to edit anything."
|
||||||
msgstr ""
|
msgstr "Δεν έχετε άδεια να επεξεργαστείτε τίποτα."
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/index.html:52
|
#: contrib/admin/templates/admin/index.html:52
|
||||||
msgid "Recent Actions"
|
msgid "Recent Actions"
|
||||||
msgstr ""
|
msgstr "Πρόσφατες Πράξεις"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/index.html:53
|
#: contrib/admin/templates/admin/index.html:53
|
||||||
msgid "My Actions"
|
msgid "My Actions"
|
||||||
@ -754,16 +762,16 @@ msgstr "Οι πράξεις μου"
|
|||||||
|
|
||||||
#: contrib/admin/templates/admin/index.html:57
|
#: contrib/admin/templates/admin/index.html:57
|
||||||
msgid "None available"
|
msgid "None available"
|
||||||
msgstr ""
|
msgstr "Κανένα διαθέσιμο"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/change_list.html:11
|
#: contrib/admin/templates/admin/change_list.html:11
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Add %(name)s"
|
msgid "Add %(name)s"
|
||||||
msgstr ""
|
msgstr "Προσθήκη %(name)s"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/login.html:22
|
#: contrib/admin/templates/admin/login.html:22
|
||||||
msgid "Have you <a href=\"/password_reset/\">forgotten your password</a>?"
|
msgid "Have you <a href=\"/password_reset/\">forgotten your password</a>?"
|
||||||
msgstr ""
|
msgstr "<a href=\"/password_reset/\">Ξεχάσατε τον κωδικό σας;</a> "
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/base.html:23
|
#: contrib/admin/templates/admin/base.html:23
|
||||||
msgid "Welcome,"
|
msgid "Welcome,"
|
||||||
@ -772,7 +780,7 @@ msgstr "Καλωσήρθατε,"
|
|||||||
#: contrib/admin/templates/admin/delete_confirmation.html:9
|
#: contrib/admin/templates/admin/delete_confirmation.html:9
|
||||||
#: contrib/admin/templates/admin/submit_line.html:3
|
#: contrib/admin/templates/admin/submit_line.html:3
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr "Διαγραφή"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/delete_confirmation.html:14
|
#: contrib/admin/templates/admin/delete_confirmation.html:14
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -800,37 +808,37 @@ msgstr ""
|
|||||||
|
|
||||||
#: contrib/admin/templates/admin/search_form.html:8
|
#: contrib/admin/templates/admin/search_form.html:8
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
msgstr ""
|
msgstr "Πήγαινε"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/change_form.html:21
|
#: contrib/admin/templates/admin/change_form.html:21
|
||||||
msgid "View on site"
|
msgid "View on site"
|
||||||
msgstr ""
|
msgstr "Προβολή στην ιστοσελίδα"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/change_form.html:30
|
#: contrib/admin/templates/admin/change_form.html:30
|
||||||
msgid "Please correct the error below."
|
msgid "Please correct the error below."
|
||||||
msgid_plural "Please correct the errors below."
|
msgid_plural "Please correct the errors below."
|
||||||
msgstr[0] ""
|
msgstr[0] "Παρακαλώ διορθώστε το παρακάτω λάθος."
|
||||||
msgstr[1] ""
|
msgstr[1] "Παρακαλώ διορθώστε τα παρακάτω λάθη."
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/change_form.html:48
|
#: contrib/admin/templates/admin/change_form.html:48
|
||||||
msgid "Ordering"
|
msgid "Ordering"
|
||||||
msgstr ""
|
msgstr "Σειρά"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/change_form.html:51
|
#: contrib/admin/templates/admin/change_form.html:51
|
||||||
msgid "Order:"
|
msgid "Order:"
|
||||||
msgstr ""
|
msgstr "Σειρά:"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/submit_line.html:4
|
#: contrib/admin/templates/admin/submit_line.html:4
|
||||||
msgid "Save as new"
|
msgid "Save as new"
|
||||||
msgstr ""
|
msgstr "Αποθήκευση καινούριου"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/submit_line.html:5
|
#: contrib/admin/templates/admin/submit_line.html:5
|
||||||
msgid "Save and add another"
|
msgid "Save and add another"
|
||||||
msgstr ""
|
msgstr "Αποθήκευση και προσθήκη καινούριου."
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/submit_line.html:6
|
#: contrib/admin/templates/admin/submit_line.html:6
|
||||||
msgid "Save and continue editing"
|
msgid "Save and continue editing"
|
||||||
msgstr ""
|
msgstr "Αποθήκευση και συνέχεια επεξεργασίας"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/submit_line.html:7
|
#: contrib/admin/templates/admin/submit_line.html:7
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
@ -841,12 +849,12 @@ msgstr "Αποθήκευση"
|
|||||||
#: contrib/admin/templates/registration/password_change_form.html:6
|
#: contrib/admin/templates/registration/password_change_form.html:6
|
||||||
#: contrib/admin/templates/registration/password_change_form.html:10
|
#: contrib/admin/templates/registration/password_change_form.html:10
|
||||||
msgid "Password change"
|
msgid "Password change"
|
||||||
msgstr ""
|
msgstr "Αλλαγή Κωδικού"
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_change_done.html:6
|
#: contrib/admin/templates/registration/password_change_done.html:6
|
||||||
#: contrib/admin/templates/registration/password_change_done.html:10
|
#: contrib/admin/templates/registration/password_change_done.html:10
|
||||||
msgid "Password change successful"
|
msgid "Password change successful"
|
||||||
msgstr ""
|
msgstr "Αλλαγή κωδικού επιτυχής"
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_change_done.html:12
|
#: contrib/admin/templates/registration/password_change_done.html:12
|
||||||
msgid "Your password was changed."
|
msgid "Your password was changed."
|
||||||
@ -857,7 +865,7 @@ msgstr "Ο κωδίκός σας άλλαξε."
|
|||||||
#: contrib/admin/templates/registration/password_reset_form.html:10
|
#: contrib/admin/templates/registration/password_reset_form.html:10
|
||||||
#: contrib/admin/templates/registration/password_reset_done.html:4
|
#: contrib/admin/templates/registration/password_reset_done.html:4
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr ""
|
msgstr "Επαναφορά κωδικού"
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_form.html:12
|
#: contrib/admin/templates/registration/password_reset_form.html:12
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -867,11 +875,11 @@ msgstr ""
|
|||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_form.html:16
|
#: contrib/admin/templates/registration/password_reset_form.html:16
|
||||||
msgid "E-mail address:"
|
msgid "E-mail address:"
|
||||||
msgstr ""
|
msgstr "E-mail διεύθυνση:"
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_form.html:16
|
#: contrib/admin/templates/registration/password_reset_form.html:16
|
||||||
msgid "Reset my password"
|
msgid "Reset my password"
|
||||||
msgstr ""
|
msgstr "Επαναφορά του κωδικού μου"
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/logged_out.html:8
|
#: contrib/admin/templates/registration/logged_out.html:8
|
||||||
msgid "Thanks for spending some quality time with the Web site today."
|
msgid "Thanks for spending some quality time with the Web site today."
|
||||||
@ -880,7 +888,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: contrib/admin/templates/registration/logged_out.html:10
|
#: contrib/admin/templates/registration/logged_out.html:10
|
||||||
msgid "Log in again"
|
msgid "Log in again"
|
||||||
msgstr ""
|
msgstr "Εισαγωγή ξανά"
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_done.html:6
|
#: contrib/admin/templates/registration/password_reset_done.html:6
|
||||||
#: contrib/admin/templates/registration/password_reset_done.html:10
|
#: contrib/admin/templates/registration/password_reset_done.html:10
|
||||||
@ -909,11 +917,11 @@ msgstr "Νέος κωδικός:"
|
|||||||
|
|
||||||
#: contrib/admin/templates/registration/password_change_form.html:21
|
#: contrib/admin/templates/registration/password_change_form.html:21
|
||||||
msgid "Confirm password:"
|
msgid "Confirm password:"
|
||||||
msgstr ""
|
msgstr "Επιβεβαίωση κωδικού"
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_change_form.html:23
|
#: contrib/admin/templates/registration/password_change_form.html:23
|
||||||
msgid "Change my password"
|
msgid "Change my password"
|
||||||
msgstr ""
|
msgstr "Αλλαγή του κωδικού μου"
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_email.html:2
|
#: contrib/admin/templates/registration/password_reset_email.html:2
|
||||||
msgid "You're receiving this e-mail because you requested a password reset"
|
msgid "You're receiving this e-mail because you requested a password reset"
|
||||||
@ -1003,19 +1011,19 @@ msgstr ""
|
|||||||
|
|
||||||
#: contrib/admin/templates/widget/date_time.html:3
|
#: contrib/admin/templates/widget/date_time.html:3
|
||||||
msgid "Date:"
|
msgid "Date:"
|
||||||
msgstr ""
|
msgstr "Ημ/νία:"
|
||||||
|
|
||||||
#: contrib/admin/templates/widget/date_time.html:4
|
#: contrib/admin/templates/widget/date_time.html:4
|
||||||
msgid "Time:"
|
msgid "Time:"
|
||||||
msgstr ""
|
msgstr " Ώρα:"
|
||||||
|
|
||||||
#: contrib/admin/templates/widget/file.html:2
|
#: contrib/admin/templates/widget/file.html:2
|
||||||
msgid "Currently:"
|
msgid "Currently:"
|
||||||
msgstr ""
|
msgstr "Τρέχον:"
|
||||||
|
|
||||||
#: contrib/admin/templates/widget/file.html:3
|
#: contrib/admin/templates/widget/file.html:3
|
||||||
msgid "Change:"
|
msgid "Change:"
|
||||||
msgstr ""
|
msgstr "Αλλαγή:"
|
||||||
|
|
||||||
#: contrib/redirects/models.py:7
|
#: contrib/redirects/models.py:7
|
||||||
msgid "redirect from"
|
msgid "redirect from"
|
||||||
@ -1271,192 +1279,192 @@ msgstr "P"
|
|||||||
|
|
||||||
#: utils/dates.py:6
|
#: utils/dates.py:6
|
||||||
msgid "Monday"
|
msgid "Monday"
|
||||||
msgstr ""
|
msgstr "Δευτέρα"
|
||||||
|
|
||||||
#: utils/dates.py:6
|
#: utils/dates.py:6
|
||||||
msgid "Tuesday"
|
msgid "Tuesday"
|
||||||
msgstr ""
|
msgstr "Τρίτη"
|
||||||
|
|
||||||
#: utils/dates.py:6
|
#: utils/dates.py:6
|
||||||
msgid "Wednesday"
|
msgid "Wednesday"
|
||||||
msgstr ""
|
msgstr "Τετάρτη"
|
||||||
|
|
||||||
#: utils/dates.py:6
|
#: utils/dates.py:6
|
||||||
msgid "Thursday"
|
msgid "Thursday"
|
||||||
msgstr ""
|
msgstr "Πέμπτη"
|
||||||
|
|
||||||
#: utils/dates.py:6
|
#: utils/dates.py:6
|
||||||
msgid "Friday"
|
msgid "Friday"
|
||||||
msgstr ""
|
msgstr "Παρασκευή"
|
||||||
|
|
||||||
#: utils/dates.py:7
|
#: utils/dates.py:7
|
||||||
msgid "Saturday"
|
msgid "Saturday"
|
||||||
msgstr ""
|
msgstr "Σάββατο"
|
||||||
|
|
||||||
#: utils/dates.py:7
|
#: utils/dates.py:7
|
||||||
msgid "Sunday"
|
msgid "Sunday"
|
||||||
msgstr ""
|
msgstr "Κυριακή"
|
||||||
|
|
||||||
#: utils/dates.py:14
|
#: utils/dates.py:14
|
||||||
msgid "January"
|
msgid "January"
|
||||||
msgstr ""
|
msgstr "Ιανουάριος"
|
||||||
|
|
||||||
#: utils/dates.py:14
|
#: utils/dates.py:14
|
||||||
msgid "February"
|
msgid "February"
|
||||||
msgstr ""
|
msgstr "Φεβρουάριος"
|
||||||
|
|
||||||
#: utils/dates.py:14 utils/dates.py:27
|
#: utils/dates.py:14 utils/dates.py:27
|
||||||
msgid "March"
|
msgid "March"
|
||||||
msgstr ""
|
msgstr "Μάρτιος"
|
||||||
|
|
||||||
#: utils/dates.py:14 utils/dates.py:27
|
#: utils/dates.py:14 utils/dates.py:27
|
||||||
msgid "April"
|
msgid "April"
|
||||||
msgstr ""
|
msgstr "Απρίλιος"
|
||||||
|
|
||||||
#: utils/dates.py:14 utils/dates.py:27
|
#: utils/dates.py:14 utils/dates.py:27
|
||||||
msgid "May"
|
msgid "May"
|
||||||
msgstr ""
|
msgstr "Μάιος"
|
||||||
|
|
||||||
#: utils/dates.py:14 utils/dates.py:27
|
#: utils/dates.py:14 utils/dates.py:27
|
||||||
msgid "June"
|
msgid "June"
|
||||||
msgstr ""
|
msgstr "Ιούνιος"
|
||||||
|
|
||||||
#: utils/dates.py:15 utils/dates.py:27
|
#: utils/dates.py:15 utils/dates.py:27
|
||||||
msgid "July"
|
msgid "July"
|
||||||
msgstr ""
|
msgstr "Ιούλιος"
|
||||||
|
|
||||||
#: utils/dates.py:15
|
#: utils/dates.py:15
|
||||||
msgid "August"
|
msgid "August"
|
||||||
msgstr ""
|
msgstr "Αύγουστος"
|
||||||
|
|
||||||
#: utils/dates.py:15
|
#: utils/dates.py:15
|
||||||
msgid "September"
|
msgid "September"
|
||||||
msgstr ""
|
msgstr "Σεπτέμβριος"
|
||||||
|
|
||||||
#: utils/dates.py:15
|
#: utils/dates.py:15
|
||||||
msgid "October"
|
msgid "October"
|
||||||
msgstr ""
|
msgstr "Οκτώβριος"
|
||||||
|
|
||||||
#: utils/dates.py:15
|
#: utils/dates.py:15
|
||||||
msgid "November"
|
msgid "November"
|
||||||
msgstr ""
|
msgstr "Νοέμβριος"
|
||||||
|
|
||||||
#: utils/dates.py:16
|
#: utils/dates.py:16
|
||||||
msgid "December"
|
msgid "December"
|
||||||
msgstr ""
|
msgstr "Δεκέμβριος"
|
||||||
|
|
||||||
#: utils/dates.py:19
|
#: utils/dates.py:19
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "jan"
|
msgid "jan"
|
||||||
msgstr "και"
|
msgstr "Ιαν"
|
||||||
|
|
||||||
#: utils/dates.py:19
|
#: utils/dates.py:19
|
||||||
msgid "feb"
|
msgid "feb"
|
||||||
msgstr ""
|
msgstr "Φεβ"
|
||||||
|
|
||||||
#: utils/dates.py:19
|
#: utils/dates.py:19
|
||||||
msgid "mar"
|
msgid "mar"
|
||||||
msgstr ""
|
msgstr "Μάρ"
|
||||||
|
|
||||||
#: utils/dates.py:19
|
#: utils/dates.py:19
|
||||||
msgid "apr"
|
msgid "apr"
|
||||||
msgstr ""
|
msgstr "Απρ"
|
||||||
|
|
||||||
#: utils/dates.py:19
|
#: utils/dates.py:19
|
||||||
msgid "may"
|
msgid "may"
|
||||||
msgstr ""
|
msgstr "Μάι"
|
||||||
|
|
||||||
#: utils/dates.py:19
|
#: utils/dates.py:19
|
||||||
msgid "jun"
|
msgid "jun"
|
||||||
msgstr ""
|
msgstr "Ιούν"
|
||||||
|
|
||||||
#: utils/dates.py:20
|
#: utils/dates.py:20
|
||||||
msgid "jul"
|
msgid "jul"
|
||||||
msgstr ""
|
msgstr "Ιούλ"
|
||||||
|
|
||||||
#: utils/dates.py:20
|
#: utils/dates.py:20
|
||||||
msgid "aug"
|
msgid "aug"
|
||||||
msgstr ""
|
msgstr "Αύγ"
|
||||||
|
|
||||||
#: utils/dates.py:20
|
#: utils/dates.py:20
|
||||||
msgid "sep"
|
msgid "sep"
|
||||||
msgstr ""
|
msgstr "Σεπ"
|
||||||
|
|
||||||
#: utils/dates.py:20
|
#: utils/dates.py:20
|
||||||
msgid "oct"
|
msgid "oct"
|
||||||
msgstr ""
|
msgstr "Οκτ"
|
||||||
|
|
||||||
#: utils/dates.py:20
|
#: utils/dates.py:20
|
||||||
msgid "nov"
|
msgid "nov"
|
||||||
msgstr ""
|
msgstr "Νοέ"
|
||||||
|
|
||||||
#: utils/dates.py:20
|
#: utils/dates.py:20
|
||||||
msgid "dec"
|
msgid "dec"
|
||||||
msgstr ""
|
msgstr "Δεκ"
|
||||||
|
|
||||||
#: utils/dates.py:27
|
#: utils/dates.py:27
|
||||||
msgid "Jan."
|
msgid "Jan."
|
||||||
msgstr ""
|
msgstr "Ιάν."
|
||||||
|
|
||||||
#: utils/dates.py:27
|
#: utils/dates.py:27
|
||||||
msgid "Feb."
|
msgid "Feb."
|
||||||
msgstr ""
|
msgstr "Φεβ."
|
||||||
|
|
||||||
#: utils/dates.py:28
|
#: utils/dates.py:28
|
||||||
msgid "Aug."
|
msgid "Aug."
|
||||||
msgstr ""
|
msgstr "Αύγ."
|
||||||
|
|
||||||
#: utils/dates.py:28
|
#: utils/dates.py:28
|
||||||
msgid "Sept."
|
msgid "Sept."
|
||||||
msgstr ""
|
msgstr "Σεπτ."
|
||||||
|
|
||||||
#: utils/dates.py:28
|
#: utils/dates.py:28
|
||||||
msgid "Oct."
|
msgid "Oct."
|
||||||
msgstr ""
|
msgstr "Οκτ."
|
||||||
|
|
||||||
#: utils/dates.py:28
|
#: utils/dates.py:28
|
||||||
msgid "Nov."
|
msgid "Nov."
|
||||||
msgstr ""
|
msgstr "Νοέ."
|
||||||
|
|
||||||
#: utils/dates.py:28
|
#: utils/dates.py:28
|
||||||
msgid "Dec."
|
msgid "Dec."
|
||||||
msgstr ""
|
msgstr "Δεκ."
|
||||||
|
|
||||||
#: utils/timesince.py:12
|
#: utils/timesince.py:12
|
||||||
msgid "year"
|
msgid "year"
|
||||||
msgid_plural "years"
|
msgid_plural "years"
|
||||||
msgstr[0] ""
|
msgstr[0] "χρόνος"
|
||||||
msgstr[1] ""
|
msgstr[1] "χρόνια"
|
||||||
|
|
||||||
#: utils/timesince.py:13
|
#: utils/timesince.py:13
|
||||||
msgid "month"
|
msgid "month"
|
||||||
msgid_plural "months"
|
msgid_plural "months"
|
||||||
msgstr[0] ""
|
msgstr[0] "μήνας"
|
||||||
msgstr[1] ""
|
msgstr[1] "μήνες"
|
||||||
|
|
||||||
#: utils/timesince.py:14
|
#: utils/timesince.py:14
|
||||||
msgid "week"
|
msgid "week"
|
||||||
msgid_plural "weeks"
|
msgid_plural "weeks"
|
||||||
msgstr[0] ""
|
msgstr[0] "εβδομάδα"
|
||||||
msgstr[1] ""
|
msgstr[1] "εβδομάδες"
|
||||||
|
|
||||||
#: utils/timesince.py:15
|
#: utils/timesince.py:15
|
||||||
msgid "day"
|
msgid "day"
|
||||||
msgid_plural "days"
|
msgid_plural "days"
|
||||||
msgstr[0] ""
|
msgstr[0] "ημέρα"
|
||||||
msgstr[1] ""
|
msgstr[1] "ημέρες"
|
||||||
|
|
||||||
#: utils/timesince.py:16
|
#: utils/timesince.py:16
|
||||||
msgid "hour"
|
msgid "hour"
|
||||||
msgid_plural "hours"
|
msgid_plural "hours"
|
||||||
msgstr[0] ""
|
msgstr[0] "ώρα"
|
||||||
msgstr[1] ""
|
msgstr[1] "ώρες"
|
||||||
|
|
||||||
#: utils/timesince.py:17
|
#: utils/timesince.py:17
|
||||||
msgid "minute"
|
msgid "minute"
|
||||||
msgid_plural "minutes"
|
msgid_plural "minutes"
|
||||||
msgstr[0] ""
|
msgstr[0] "λεπτό"
|
||||||
msgstr[1] ""
|
msgstr[1] "λεπτά"
|
||||||
|
|
||||||
#: conf/global_settings.py:37
|
#: conf/global_settings.py:37
|
||||||
msgid "Bengali"
|
msgid "Bengali"
|
||||||
@ -1630,7 +1638,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: core/validators.py:136
|
#: core/validators.py:136
|
||||||
msgid "Enter a valid e-mail address."
|
msgid "Enter a valid e-mail address."
|
||||||
msgstr ""
|
msgstr "Εισάγετε ένα σωστό e-mail."
|
||||||
|
|
||||||
#: core/validators.py:148
|
#: core/validators.py:148
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -1745,12 +1753,12 @@ msgstr[1] ""
|
|||||||
#: core/validators.py:362
|
#: core/validators.py:362
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Make sure your uploaded file is at least %s bytes big."
|
msgid "Make sure your uploaded file is at least %s bytes big."
|
||||||
msgstr "Σιγουρευτείτε ότι το αρχείου που ανεβάζετε είναι %s bytes τουλάχιστον."
|
msgstr "Σιγουρευτείτε ότι το αρχείο που ανεβάζετε είναι %s bytes τουλάχιστον."
|
||||||
|
|
||||||
#: core/validators.py:363
|
#: core/validators.py:363
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Make sure your uploaded file is at most %s bytes big."
|
msgid "Make sure your uploaded file is at most %s bytes big."
|
||||||
msgstr ""
|
msgstr "Σιγουρευτείτε ότι το αρχείο που ανεβάζετε έχει μέγεθος μέχρι %s bytes."
|
||||||
|
|
||||||
#: core/validators.py:376
|
#: core/validators.py:376
|
||||||
msgid "The format for this field is wrong."
|
msgid "The format for this field is wrong."
|
||||||
@ -1827,7 +1835,7 @@ msgstr ""
|
|||||||
#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553
|
#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553
|
||||||
#: forms/__init__.py:346
|
#: forms/__init__.py:346
|
||||||
msgid "This field is required."
|
msgid "This field is required."
|
||||||
msgstr ""
|
msgstr "Αυτό το πεδίο είναι απαραίτητο"
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:337
|
#: db/models/fields/__init__.py:337
|
||||||
msgid "This value must be an integer."
|
msgid "This value must be an integer."
|
||||||
@ -1836,12 +1844,12 @@ msgstr ""
|
|||||||
#: db/models/fields/__init__.py:369
|
#: db/models/fields/__init__.py:369
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "This value must be either True or False."
|
msgid "This value must be either True or False."
|
||||||
msgstr "Boolean (Είτε Αλήθεια ή Ψέμα)"
|
msgstr "Boolean (Είτε Αληθές ή Ψευδές)"
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:385
|
#: db/models/fields/__init__.py:385
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "This field cannot be null."
|
msgid "This field cannot be null."
|
||||||
msgstr "Αυτό το πεδίο είναι άκυρο"
|
msgstr "Αυτό το πεδίο δεν μπορεί να είναι κενό (null)"
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:562
|
#: db/models/fields/__init__.py:562
|
||||||
msgid "Enter a valid filename."
|
msgid "Enter a valid filename."
|
||||||
@ -1850,7 +1858,7 @@ msgstr "Εισάγετε ένα έγκυρο όνομα αρχείου"
|
|||||||
#: db/models/fields/related.py:43
|
#: db/models/fields/related.py:43
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Please enter a valid %s."
|
msgid "Please enter a valid %s."
|
||||||
msgstr ""
|
msgstr "Παρακαλώ εισάγετε ένα/μία έγκυρο/η %s"
|
||||||
|
|
||||||
#: db/models/fields/related.py:579
|
#: db/models/fields/related.py:579
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
|
BIN
django/conf/locale/el/LC_MESSAGES/djangojs.mo
Normal file
BIN
django/conf/locale/el/LC_MESSAGES/djangojs.mo
Normal file
Binary file not shown.
109
django/conf/locale/el/LC_MESSAGES/djangojs.po
Normal file
109
django/conf/locale/el/LC_MESSAGES/djangojs.po
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2006 and beyond.
|
||||||
|
# This file is distributed under the same license as the Django package.
|
||||||
|
# Orestis Markou <orestis@orestis.gr>, 2006.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2005-12-09 11:51+0100\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Orestis Markou <orestis@orestis.gr>\n"
|
||||||
|
"Language-Team: Greek\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/SelectFilter2.js:33
|
||||||
|
#, perl-format
|
||||||
|
msgid "Available %s"
|
||||||
|
msgstr "Διαθέσιμο %s"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/SelectFilter2.js:41
|
||||||
|
msgid "Choose all"
|
||||||
|
msgstr "Επιλογή Όλων"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/SelectFilter2.js:46
|
||||||
|
msgid "Add"
|
||||||
|
msgstr "Προσθήκη"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/SelectFilter2.js:48
|
||||||
|
msgid "Remove"
|
||||||
|
msgstr "Αφαίρεση"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/SelectFilter2.js:53
|
||||||
|
#, perl-format
|
||||||
|
msgid "Chosen %s"
|
||||||
|
msgstr "Επιλεχθέντα %s"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/SelectFilter2.js:54
|
||||||
|
msgid "Select your choice(s) and click "
|
||||||
|
msgstr "Επιλέξτε και κάντε κλικ."
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/SelectFilter2.js:59
|
||||||
|
msgid "Clear all"
|
||||||
|
msgstr "Καθαρισμός όλων"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/dateparse.js:26
|
||||||
|
#: contrib/admin/media/js/calendar.js:24
|
||||||
|
msgid ""
|
||||||
|
"January February March April May June July August September October November "
|
||||||
|
"December"
|
||||||
|
msgstr "Ιανουάριος Φεβρουάριος Μάρτιος Απρίλιος Μάιος Ιούνιος Ιούλιος Αύγουστος Σεπτέμβριος Οκτώβριος Νοέμβριος "
|
||||||
|
"Δεκέμβριος"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/dateparse.js:27
|
||||||
|
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
|
||||||
|
msgstr "Κυριακή Δευτέρα Τρίτη Τετάρτη Πέμπτη Παρασκευή Σάββατο"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/calendar.js:25
|
||||||
|
msgid "S M T W T F S"
|
||||||
|
msgstr "Κ Δ Τ Τ Π Π Σ"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80
|
||||||
|
msgid "Now"
|
||||||
|
msgstr "Τώρα"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48
|
||||||
|
msgid "Clock"
|
||||||
|
msgstr "Ρολόι"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77
|
||||||
|
msgid "Choose a time"
|
||||||
|
msgstr "Διαλέξτε ώρα"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81
|
||||||
|
msgid "Midnight"
|
||||||
|
msgstr "Μεσάνυχτα"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
|
||||||
|
msgid "6 a.m."
|
||||||
|
msgstr "6 π.μ."
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
|
||||||
|
msgid "Noon"
|
||||||
|
msgstr "Μεσημέρι"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168
|
||||||
|
msgid "Cancel"
|
||||||
|
msgstr "Άκυρο"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162
|
||||||
|
msgid "Today"
|
||||||
|
msgstr "Σήμερα"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114
|
||||||
|
msgid "Calendar"
|
||||||
|
msgstr "Ημερολόγιο"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160
|
||||||
|
msgid "Yesterday"
|
||||||
|
msgstr "Χθες"
|
||||||
|
|
||||||
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164
|
||||||
|
msgid "Tomorrow"
|
||||||
|
msgstr "Αύριο"
|
Binary file not shown.
@ -8,8 +8,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: django\n"
|
"Project-Id-Version: django\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2006-08-18 18:57-0300\n"
|
"POT-Creation-Date: 2006-11-05 19:57-0300\n"
|
||||||
"PO-Revision-Date: 2006-08-21 18:06-0300\n"
|
"PO-Revision-Date: 2006-11-05 20:00-0300\n"
|
||||||
"Last-Translator: Ramiro Morales <rm0@gmx.net>\n"
|
"Last-Translator: Ramiro Morales <rm0@gmx.net>\n"
|
||||||
"Language-Team: Spanish <es@li.org>\n"
|
"Language-Team: Spanish <es@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -165,10 +165,18 @@ msgstr "Fechas importantes"
|
|||||||
msgid "Groups"
|
msgid "Groups"
|
||||||
msgstr "Grupos"
|
msgstr "Grupos"
|
||||||
|
|
||||||
#: contrib/auth/models.py:256
|
#: contrib/auth/models.py:258
|
||||||
msgid "message"
|
msgid "message"
|
||||||
msgstr "mensaje"
|
msgstr "mensaje"
|
||||||
|
|
||||||
|
#: contrib/auth/forms.py:16
|
||||||
|
msgid "The two password fields didn't match."
|
||||||
|
msgstr "Los dos campos de contraseñas no coinciden entre si."
|
||||||
|
|
||||||
|
#: contrib/auth/forms.py:24
|
||||||
|
msgid "A user with that username already exists."
|
||||||
|
msgstr "Ya existe un usuario con ese nombre."
|
||||||
|
|
||||||
#: contrib/auth/forms.py:52
|
#: contrib/auth/forms.py:52
|
||||||
msgid ""
|
msgid ""
|
||||||
"Your Web browser doesn't appear to have cookies enabled. Cookies are "
|
"Your Web browser doesn't appear to have cookies enabled. Cookies are "
|
||||||
@ -189,6 +197,24 @@ msgstr ""
|
|||||||
msgid "This account is inactive."
|
msgid "This account is inactive."
|
||||||
msgstr "Esta cuenta está inactiva"
|
msgstr "Esta cuenta está inactiva"
|
||||||
|
|
||||||
|
#: contrib/auth/forms.py:84
|
||||||
|
msgid ""
|
||||||
|
"That e-mail address doesn't have an associated user account. Are you sure "
|
||||||
|
"you've registered?"
|
||||||
|
msgstr ""
|
||||||
|
"Esa dirección de e-mail no está asociada a ninguna cuenta de usuario. ¿Está "
|
||||||
|
"seguro de que ya se ha registrado?"
|
||||||
|
|
||||||
|
#: contrib/auth/forms.py:116
|
||||||
|
msgid "The two 'new password' fields didn't match."
|
||||||
|
msgstr "Los dos campos 'nueva contraseña' no coinciden entre si."
|
||||||
|
|
||||||
|
#: contrib/auth/forms.py:123
|
||||||
|
msgid "Your old password was entered incorrectly. Please enter it again."
|
||||||
|
msgstr ""
|
||||||
|
"La antigua contraseña ingresada es incorrecta. Por favor ingrésela "
|
||||||
|
"nuevamente."
|
||||||
|
|
||||||
#: contrib/redirects/models.py:7
|
#: contrib/redirects/models.py:7
|
||||||
msgid "redirect from"
|
msgid "redirect from"
|
||||||
msgstr "redirigir desde"
|
msgstr "redirigir desde"
|
||||||
@ -754,13 +780,13 @@ msgstr ""
|
|||||||
msgid "Site administration"
|
msgid "Site administration"
|
||||||
msgstr "Sitio administrativo"
|
msgstr "Sitio administrativo"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:14
|
#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(name)s \"%(obj)s\" was added successfully."
|
msgid "The %(name)s \"%(obj)s\" was added successfully."
|
||||||
msgstr "Se agregó con éxito el %(name)s \"%(obj)s\"."
|
msgstr "Se agregó con éxito %(name)s \"%(obj)s\"."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347
|
#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347
|
||||||
#: contrib/admin/views/auth.py:19
|
#: contrib/admin/views/auth.py:23
|
||||||
msgid "You may edit it again below."
|
msgid "You may edit it again below."
|
||||||
msgstr "Puede modificarlo nuevamente abajo."
|
msgstr "Puede modificarlo nuevamente abajo."
|
||||||
|
|
||||||
@ -780,7 +806,7 @@ msgid "Added %s."
|
|||||||
msgstr "Agregado %s."
|
msgstr "Agregado %s."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337
|
#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337
|
||||||
#: contrib/admin/views/main.py:339
|
#: contrib/admin/views/main.py:339 db/models/manipulators.py:306
|
||||||
msgid "and"
|
msgid "and"
|
||||||
msgstr "y"
|
msgstr "y"
|
||||||
|
|
||||||
@ -801,15 +827,14 @@ msgstr "No ha modificado ning
|
|||||||
#: contrib/admin/views/main.py:345
|
#: contrib/admin/views/main.py:345
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(name)s \"%(obj)s\" was changed successfully."
|
msgid "The %(name)s \"%(obj)s\" was changed successfully."
|
||||||
msgstr "Se modificó con éxito el %(name)s \"%(obj)s."
|
msgstr "Se modificó con éxito %(name)s \"%(obj)s."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:353
|
#: contrib/admin/views/main.py:353
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
|
"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Se agregó con éxito el %(name)s \"%(obj)s. Puede modificarlo nuevamente "
|
"Se agregó con éxito %(name)s \"%(obj)s. Puede modificarlo nuevamente abajo."
|
||||||
"abajo."
|
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:391
|
#: contrib/admin/views/main.py:391
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -829,7 +854,7 @@ msgstr "Uno o m
|
|||||||
#: contrib/admin/views/main.py:511
|
#: contrib/admin/views/main.py:511
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(name)s \"%(obj)s\" was deleted successfully."
|
msgid "The %(name)s \"%(obj)s\" was deleted successfully."
|
||||||
msgstr "Se eliminó con éxito el %(name)s \"%(obj)s\"."
|
msgstr "Se eliminó con éxito %(name)s \"%(obj)s\"."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:514
|
#: contrib/admin/views/main.py:514
|
||||||
msgid "Are you sure?"
|
msgid "Are you sure?"
|
||||||
@ -850,7 +875,7 @@ msgstr "Seleccione %s"
|
|||||||
msgid "Select %s to change"
|
msgid "Select %s to change"
|
||||||
msgstr "Seleccione %s a modificar"
|
msgstr "Seleccione %s a modificar"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:756
|
#: contrib/admin/views/main.py:758
|
||||||
msgid "Database error"
|
msgid "Database error"
|
||||||
msgstr "Error de base de datos"
|
msgstr "Error de base de datos"
|
||||||
|
|
||||||
@ -977,12 +1002,12 @@ msgstr "Estado de los EEUU (dos letras may
|
|||||||
msgid "XML text"
|
msgid "XML text"
|
||||||
msgstr "Texto XML"
|
msgstr "Texto XML"
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:339
|
#: contrib/admin/views/doc.py:343
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%s does not appear to be a urlpattern object"
|
msgid "%s does not appear to be a urlpattern object"
|
||||||
msgstr "%s no parece ser un objeto urlpattern"
|
msgstr "%s no parece ser un objeto urlpattern"
|
||||||
|
|
||||||
#: contrib/admin/views/auth.py:25
|
#: contrib/admin/views/auth.py:29
|
||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Agregar usuario"
|
msgstr "Agregar usuario"
|
||||||
|
|
||||||
@ -1181,10 +1206,6 @@ msgstr "P
|
|||||||
msgid "We're sorry, but the requested page could not be found."
|
msgid "We're sorry, but the requested page could not be found."
|
||||||
msgstr "Lo sentimos, pero no se encuentra la página solicitada."
|
msgstr "Lo sentimos, pero no se encuentra la página solicitada."
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/login.html:22
|
|
||||||
msgid "Have you <a href=\"/password_reset/\">forgotten your password</a>?"
|
|
||||||
msgstr "¿Ha <a href=\"/password_reset/\">olvidado su contraseña</a>?"
|
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/filters.html:4
|
#: contrib/admin/templates/admin/filters.html:4
|
||||||
msgid "Filter"
|
msgid "Filter"
|
||||||
msgstr "Filtrar"
|
msgstr "Filtrar"
|
||||||
@ -1726,123 +1747,134 @@ msgid "Argentinean Spanish"
|
|||||||
msgstr "Español Argentino"
|
msgstr "Español Argentino"
|
||||||
|
|
||||||
#: conf/global_settings.py:49
|
#: conf/global_settings.py:49
|
||||||
|
msgid "Finnish"
|
||||||
|
msgstr "Finlandés"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:50
|
||||||
msgid "French"
|
msgid "French"
|
||||||
msgstr "Francés"
|
msgstr "Francés"
|
||||||
|
|
||||||
#: conf/global_settings.py:50
|
#: conf/global_settings.py:51
|
||||||
msgid "Galician"
|
msgid "Galician"
|
||||||
msgstr "Gallego"
|
msgstr "Gallego"
|
||||||
|
|
||||||
#: conf/global_settings.py:51
|
#: conf/global_settings.py:52
|
||||||
msgid "Hungarian"
|
msgid "Hungarian"
|
||||||
msgstr "Húngaro"
|
msgstr "Húngaro"
|
||||||
|
|
||||||
#: conf/global_settings.py:52
|
#: conf/global_settings.py:53
|
||||||
msgid "Hebrew"
|
msgid "Hebrew"
|
||||||
msgstr "Hebreo"
|
msgstr "Hebreo"
|
||||||
|
|
||||||
#: conf/global_settings.py:53
|
#: conf/global_settings.py:54
|
||||||
msgid "Icelandic"
|
msgid "Icelandic"
|
||||||
msgstr "Islandés"
|
msgstr "Islandés"
|
||||||
|
|
||||||
#: conf/global_settings.py:54
|
#: conf/global_settings.py:55
|
||||||
msgid "Italian"
|
msgid "Italian"
|
||||||
msgstr "Italiano"
|
msgstr "Italiano"
|
||||||
|
|
||||||
#: conf/global_settings.py:55
|
#: conf/global_settings.py:56
|
||||||
msgid "Japanese"
|
msgid "Japanese"
|
||||||
msgstr "Japonés"
|
msgstr "Japonés"
|
||||||
|
|
||||||
#: conf/global_settings.py:56
|
#: conf/global_settings.py:57
|
||||||
msgid "Dutch"
|
msgid "Dutch"
|
||||||
msgstr "Holandés"
|
msgstr "Holandés"
|
||||||
|
|
||||||
#: conf/global_settings.py:57
|
#: conf/global_settings.py:58
|
||||||
msgid "Norwegian"
|
msgid "Norwegian"
|
||||||
msgstr "Noruego"
|
msgstr "Noruego"
|
||||||
|
|
||||||
#: conf/global_settings.py:58
|
#: conf/global_settings.py:59
|
||||||
|
msgid "Polish"
|
||||||
|
msgstr "Polaco"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:60
|
||||||
msgid "Brazilian"
|
msgid "Brazilian"
|
||||||
msgstr "Brasileño"
|
msgstr "Brasileño"
|
||||||
|
|
||||||
#: conf/global_settings.py:59
|
#: conf/global_settings.py:61
|
||||||
msgid "Romanian"
|
msgid "Romanian"
|
||||||
msgstr "Rumano"
|
msgstr "Rumano"
|
||||||
|
|
||||||
#: conf/global_settings.py:60
|
#: conf/global_settings.py:62
|
||||||
msgid "Russian"
|
msgid "Russian"
|
||||||
msgstr "Ruso"
|
msgstr "Ruso"
|
||||||
|
|
||||||
#: conf/global_settings.py:61
|
#: conf/global_settings.py:63
|
||||||
msgid "Slovak"
|
msgid "Slovak"
|
||||||
msgstr "Eslovaco"
|
msgstr "Eslovaco"
|
||||||
|
|
||||||
#: conf/global_settings.py:62
|
#: conf/global_settings.py:64
|
||||||
msgid "Slovenian"
|
msgid "Slovenian"
|
||||||
msgstr "Esloveno"
|
msgstr "Esloveno"
|
||||||
|
|
||||||
#: conf/global_settings.py:63
|
#: conf/global_settings.py:65
|
||||||
msgid "Serbian"
|
msgid "Serbian"
|
||||||
msgstr "Serbio"
|
msgstr "Serbio"
|
||||||
|
|
||||||
#: conf/global_settings.py:64
|
#: conf/global_settings.py:66
|
||||||
msgid "Swedish"
|
msgid "Swedish"
|
||||||
msgstr "Sueco"
|
msgstr "Sueco"
|
||||||
|
|
||||||
#: conf/global_settings.py:65
|
#: conf/global_settings.py:67
|
||||||
msgid "Tamil"
|
msgid "Tamil"
|
||||||
msgstr "Tamil"
|
msgstr "Tamil"
|
||||||
|
|
||||||
#: conf/global_settings.py:66
|
#: conf/global_settings.py:68
|
||||||
|
msgid "Turkish"
|
||||||
|
msgstr "Turco"
|
||||||
|
|
||||||
|
#: conf/global_settings.py:69
|
||||||
msgid "Ukrainian"
|
msgid "Ukrainian"
|
||||||
msgstr "Ucraniano"
|
msgstr "Ucraniano"
|
||||||
|
|
||||||
#: conf/global_settings.py:67
|
#: conf/global_settings.py:70
|
||||||
msgid "Simplified Chinese"
|
msgid "Simplified Chinese"
|
||||||
msgstr "Chino simplificado"
|
msgstr "Chino simplificado"
|
||||||
|
|
||||||
#: conf/global_settings.py:68
|
#: conf/global_settings.py:71
|
||||||
msgid "Traditional Chinese"
|
msgid "Traditional Chinese"
|
||||||
msgstr "Chino tradicional"
|
msgstr "Chino tradicional"
|
||||||
|
|
||||||
#: db/models/manipulators.py:302
|
#: db/models/manipulators.py:305
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(object)s with this %(type)s already exists for the given %(field)s."
|
msgid "%(object)s with this %(type)s already exists for the given %(field)s."
|
||||||
msgstr ""
|
msgstr "Ya existe un(a) %(object)s con este/a %(type)s para %(field)s."
|
||||||
"Ya existen %(object)s con este %(type)s para el %(field)s especificado."
|
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:40
|
#: db/models/fields/__init__.py:41
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(optname)s with this %(fieldname)s already exists."
|
msgid "%(optname)s with this %(fieldname)s already exists."
|
||||||
msgstr "Ya existe %(optname)s con este %(fieldname)s."
|
msgstr "Ya existe %(optname)s con este %(fieldname)s."
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265
|
#: db/models/fields/__init__.py:115 db/models/fields/__init__.py:266
|
||||||
#: db/models/fields/__init__.py:551 db/models/fields/__init__.py:562
|
#: db/models/fields/__init__.py:569 db/models/fields/__init__.py:580
|
||||||
#: forms/__init__.py:346
|
#: forms/__init__.py:347
|
||||||
msgid "This field is required."
|
msgid "This field is required."
|
||||||
msgstr "Este campo es obligatorio."
|
msgstr "Este campo es obligatorio."
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:340
|
#: db/models/fields/__init__.py:349
|
||||||
msgid "This value must be an integer."
|
msgid "This value must be an integer."
|
||||||
msgstr "Este valor debe ser un número entero."
|
msgstr "Este valor debe ser un número entero."
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:372
|
#: db/models/fields/__init__.py:381
|
||||||
msgid "This value must be either True or False."
|
msgid "This value must be either True or False."
|
||||||
msgstr "Este valor debe ser True o False."
|
msgstr "Este valor debe ser True o False."
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:388
|
#: db/models/fields/__init__.py:397
|
||||||
msgid "This field cannot be null."
|
msgid "This field cannot be null."
|
||||||
msgstr "Este campo no puede ser nulo."
|
msgstr "Este campo no puede ser nulo."
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:415 core/validators.py:127
|
#: db/models/fields/__init__.py:424 core/validators.py:146
|
||||||
msgid "Enter a valid date in YYYY-MM-DD format."
|
msgid "Enter a valid date in YYYY-MM-DD format."
|
||||||
msgstr "Introduzca una fecha válida en formato AAAA-MM-DD."
|
msgstr "Introduzca una fecha válida en formato AAAA-MM-DD."
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:477 core/validators.py:135
|
#: db/models/fields/__init__.py:488 core/validators.py:155
|
||||||
msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
|
msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
|
||||||
msgstr "Introduzca una fecha/hora válida en formato YYYY-MM-DD HH:MM."
|
msgstr "Introduzca una fecha/hora válida en formato YYYY-MM-DD HH:MM."
|
||||||
|
|
||||||
#: db/models/fields/__init__.py:571
|
#: db/models/fields/__init__.py:589
|
||||||
msgid "Enter a valid filename."
|
msgid "Enter a valid filename."
|
||||||
msgstr "Introduzca un nombre de achivo válido"
|
msgstr "Introduzca un nombre de achivo válido"
|
||||||
|
|
||||||
@ -1859,7 +1891,8 @@ msgstr " Separe m
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
|
"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Pulse \"Control\", o \"Command\" en un Mac, para seleccionar más de uno."
|
"Mantenga presionada \"Control\" (\"Command\" en un Mac) para seleccionar más "
|
||||||
|
"de uno."
|
||||||
|
|
||||||
#: db/models/fields/related.py:664
|
#: db/models/fields/related.py:664
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -1873,42 +1906,42 @@ msgstr[1] ""
|
|||||||
"Por favor, introduzca IDs de %(self)s válidos. Los valores %(value)r no son "
|
"Por favor, introduzca IDs de %(self)s válidos. Los valores %(value)r no son "
|
||||||
"válidos."
|
"válidos."
|
||||||
|
|
||||||
#: forms/__init__.py:381
|
#: forms/__init__.py:382
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Ensure your text is less than %s character."
|
msgid "Ensure your text is less than %s character."
|
||||||
msgid_plural "Ensure your text is less than %s characters."
|
msgid_plural "Ensure your text is less than %s characters."
|
||||||
msgstr[0] "Asegúrese de que su texto tiene menos de %s carácter."
|
msgstr[0] "Asegúrese de que su texto tiene menos de %s carácter."
|
||||||
msgstr[1] "Asegúrese de que su texto tiene menos de %s caracteres."
|
msgstr[1] "Asegúrese de que su texto tiene menos de %s caracteres."
|
||||||
|
|
||||||
#: forms/__init__.py:386
|
#: forms/__init__.py:387
|
||||||
msgid "Line breaks are not allowed here."
|
msgid "Line breaks are not allowed here."
|
||||||
msgstr "No se permiten saltos de línea."
|
msgstr "No se permiten saltos de línea."
|
||||||
|
|
||||||
#: forms/__init__.py:487 forms/__init__.py:560 forms/__init__.py:599
|
#: forms/__init__.py:488 forms/__init__.py:561 forms/__init__.py:600
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Select a valid choice; '%(data)s' is not in %(choices)s."
|
msgid "Select a valid choice; '%(data)s' is not in %(choices)s."
|
||||||
msgstr "Seleccione una opción válida; '%(data)s' no está en %(choices)s."
|
msgstr "Seleccione una opción válida; '%(data)s' no está en %(choices)s."
|
||||||
|
|
||||||
#: forms/__init__.py:661 core/validators.py:151 core/validators.py:379
|
#: forms/__init__.py:662 core/validators.py:172 core/validators.py:401
|
||||||
msgid "No file was submitted. Check the encoding type on the form."
|
msgid "No file was submitted. Check the encoding type on the form."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"No se envió un archivo. Verifique el tipo de codificación en el formulario."
|
"No se envió un archivo. Verifique el tipo de codificación en el formulario."
|
||||||
|
|
||||||
#: forms/__init__.py:663
|
#: forms/__init__.py:664
|
||||||
msgid "The submitted file is empty."
|
msgid "The submitted file is empty."
|
||||||
msgstr "El archivo enviado está vacío."
|
msgstr "El archivo enviado está vacío."
|
||||||
|
|
||||||
#: forms/__init__.py:719
|
#: forms/__init__.py:720
|
||||||
msgid "Enter a whole number between -32,768 and 32,767."
|
msgid "Enter a whole number between -32,768 and 32,767."
|
||||||
msgstr "Introduzca un número entero entre -32,768 y 32,767."
|
msgstr "Introduzca un número entero entre -32.768 y 32.767."
|
||||||
|
|
||||||
#: forms/__init__.py:729
|
#: forms/__init__.py:730
|
||||||
msgid "Enter a positive number."
|
msgid "Enter a positive number."
|
||||||
msgstr "Introduzca un número positivo."
|
msgstr "Introduzca un número positivo."
|
||||||
|
|
||||||
#: forms/__init__.py:739
|
#: forms/__init__.py:740
|
||||||
msgid "Enter a whole number between 0 and 32,767."
|
msgid "Enter a whole number between 0 and 32,767."
|
||||||
msgstr "Introduzca un número entero entre 0 y 32,767."
|
msgstr "Introduzca un número entero entre 0 y 32.767."
|
||||||
|
|
||||||
#: core/validators.py:63
|
#: core/validators.py:63
|
||||||
msgid "This value must contain only letters, numbers and underscores."
|
msgid "This value must contain only letters, numbers and underscores."
|
||||||
@ -1919,8 +1952,13 @@ msgid ""
|
|||||||
"This value must contain only letters, numbers, underscores, dashes or "
|
"This value must contain only letters, numbers, underscores, dashes or "
|
||||||
"slashes."
|
"slashes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Este valor debe contener sólo letras, números, guiones bajos, barras (/) o "
|
"Este valor debe contener sólo letras, números, guiones bajos, guiones o "
|
||||||
"slashes."
|
"barras (/)"
|
||||||
|
|
||||||
|
#: core/validators.py:71
|
||||||
|
msgid "This value must contain only letters, numbers, underscores or hyphens."
|
||||||
|
msgstr ""
|
||||||
|
"Este valor debe contener sólo letras, números, guiones bajos o guiones."
|
||||||
|
|
||||||
#: core/validators.py:75
|
#: core/validators.py:75
|
||||||
msgid "Uppercase letters are not allowed here."
|
msgid "Uppercase letters are not allowed here."
|
||||||
@ -1962,15 +2000,24 @@ msgstr "Introduzca un n
|
|||||||
msgid "Only alphabetical characters are allowed here."
|
msgid "Only alphabetical characters are allowed here."
|
||||||
msgstr "Sólo se admiten caracteres alfabéticos."
|
msgstr "Sólo se admiten caracteres alfabéticos."
|
||||||
|
|
||||||
#: core/validators.py:131
|
#: core/validators.py:138
|
||||||
|
msgid "Year must be 1900 or later."
|
||||||
|
msgstr "El año debe ser 1900 o posterior."
|
||||||
|
|
||||||
|
#: core/validators.py:142
|
||||||
|
#, python-format
|
||||||
|
msgid "Invalid date: %s."
|
||||||
|
msgstr "Fecha no válida: %s."
|
||||||
|
|
||||||
|
#: core/validators.py:151
|
||||||
msgid "Enter a valid time in HH:MM format."
|
msgid "Enter a valid time in HH:MM format."
|
||||||
msgstr "Introduzca una hora válida en formato HH:MM."
|
msgstr "Introduzca una hora válida en formato HH:MM."
|
||||||
|
|
||||||
#: core/validators.py:139
|
#: core/validators.py:160
|
||||||
msgid "Enter a valid e-mail address."
|
msgid "Enter a valid e-mail address."
|
||||||
msgstr "Introduzca una dirección de correo electrónico válida"
|
msgstr "Introduzca una dirección de correo electrónico válida"
|
||||||
|
|
||||||
#: core/validators.py:155
|
#: core/validators.py:176
|
||||||
msgid ""
|
msgid ""
|
||||||
"Upload a valid image. The file you uploaded was either not an image or a "
|
"Upload a valid image. The file you uploaded was either not an image or a "
|
||||||
"corrupted image."
|
"corrupted image."
|
||||||
@ -1978,28 +2025,28 @@ msgstr ""
|
|||||||
"Envíe una imagen válida. El archivo que ha enviado no era una imagen o se "
|
"Envíe una imagen válida. El archivo que ha enviado no era una imagen o se "
|
||||||
"trataba de una imagen corrupta."
|
"trataba de una imagen corrupta."
|
||||||
|
|
||||||
#: core/validators.py:162
|
#: core/validators.py:183
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The URL %s does not point to a valid image."
|
msgid "The URL %s does not point to a valid image."
|
||||||
msgstr "La URL %s no apunta a una imagen válida."
|
msgstr "La URL %s no apunta a una imagen válida."
|
||||||
|
|
||||||
#: core/validators.py:166
|
#: core/validators.py:187
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
|
msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Los números de teléfono deben guardar el formato XXX-XXX-XXXX format. \"%s\" "
|
"Los números telefónicos deben respetar el formato XXX-XXX-XXXX. \"%s\" no es "
|
||||||
"no es válido."
|
"válido."
|
||||||
|
|
||||||
#: core/validators.py:174
|
#: core/validators.py:195
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The URL %s does not point to a valid QuickTime video."
|
msgid "The URL %s does not point to a valid QuickTime video."
|
||||||
msgstr "La URL %s no apunta a un vídeo QuickTime válido."
|
msgstr "La URL %s no apunta a un vídeo QuickTime válido."
|
||||||
|
|
||||||
#: core/validators.py:178
|
#: core/validators.py:199
|
||||||
msgid "A valid URL is required."
|
msgid "A valid URL is required."
|
||||||
msgstr "Se precisa una URL válida."
|
msgstr "Se precisa una URL válida."
|
||||||
|
|
||||||
#: core/validators.py:192
|
#: core/validators.py:213
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Valid HTML is required. Specific errors are:\n"
|
"Valid HTML is required. Specific errors are:\n"
|
||||||
@ -2008,69 +2055,69 @@ msgstr ""
|
|||||||
"Se precisa HTML válido. Los errores específicos son:\n"
|
"Se precisa HTML válido. Los errores específicos son:\n"
|
||||||
"%s"
|
"%s"
|
||||||
|
|
||||||
#: core/validators.py:199
|
#: core/validators.py:220
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Badly formed XML: %s"
|
msgid "Badly formed XML: %s"
|
||||||
msgstr "XML mal formado: %s"
|
msgstr "XML mal formado: %s"
|
||||||
|
|
||||||
#: core/validators.py:209
|
#: core/validators.py:230
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invalid URL: %s"
|
msgid "Invalid URL: %s"
|
||||||
msgstr "URL no válida: %s"
|
msgstr "URL no válida: %s"
|
||||||
|
|
||||||
#: core/validators.py:213 core/validators.py:215
|
#: core/validators.py:234 core/validators.py:236
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The URL %s is a broken link."
|
msgid "The URL %s is a broken link."
|
||||||
msgstr "La URL %s es un enlace roto."
|
msgstr "La URL %s es un enlace roto."
|
||||||
|
|
||||||
#: core/validators.py:221
|
#: core/validators.py:242
|
||||||
msgid "Enter a valid U.S. state abbreviation."
|
msgid "Enter a valid U.S. state abbreviation."
|
||||||
msgstr "Introduzca una abreviatura válida de estado de los EEUU."
|
msgstr "Introduzca una abreviatura válida de estado de los EEUU."
|
||||||
|
|
||||||
#: core/validators.py:236
|
#: core/validators.py:256
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Watch your mouth! The word %s is not allowed here."
|
msgid "Watch your mouth! The word %s is not allowed here."
|
||||||
msgid_plural "Watch your mouth! The words %s are not allowed here."
|
msgid_plural "Watch your mouth! The words %s are not allowed here."
|
||||||
msgstr[0] "¡Vigila tu boca! Aquí no admitimos la palabra %s."
|
msgstr[0] "¡Vigila tu boca! Aquí no admitimos la palabra %s."
|
||||||
msgstr[1] "¡Vigila tu boca! Aquí no admitimos las palabras %s."
|
msgstr[1] "¡Vigila tu boca! Aquí no admitimos las palabras %s."
|
||||||
|
|
||||||
#: core/validators.py:243
|
#: core/validators.py:263
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This field must match the '%s' field."
|
msgid "This field must match the '%s' field."
|
||||||
msgstr "Este campo debe concordar con el campo '%s'."
|
msgstr "Este campo debe concordar con el campo '%s'."
|
||||||
|
|
||||||
#: core/validators.py:262
|
#: core/validators.py:282
|
||||||
msgid "Please enter something for at least one field."
|
msgid "Please enter something for at least one field."
|
||||||
msgstr "Por favor, introduzca algo en al menos un campo."
|
msgstr "Por favor, introduzca algo en al menos un campo."
|
||||||
|
|
||||||
#: core/validators.py:271 core/validators.py:282
|
#: core/validators.py:291 core/validators.py:302
|
||||||
msgid "Please enter both fields or leave them both empty."
|
msgid "Please enter both fields or leave them both empty."
|
||||||
msgstr "Por favor, rellene ambos campos o deje ambos vacíos."
|
msgstr "Por favor, rellene ambos campos o deje ambos vacíos."
|
||||||
|
|
||||||
#: core/validators.py:289
|
#: core/validators.py:309
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This field must be given if %(field)s is %(value)s"
|
msgid "This field must be given if %(field)s is %(value)s"
|
||||||
msgstr "Se debe proporcionar este campo si %(field)s es %(value)s"
|
msgstr "Se debe proporcionar este campo si %(field)s es %(value)s"
|
||||||
|
|
||||||
#: core/validators.py:301
|
#: core/validators.py:321
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This field must be given if %(field)s is not %(value)s"
|
msgid "This field must be given if %(field)s is not %(value)s"
|
||||||
msgstr "Se debe proporcionar este campo si %(field)s no es %(value)s"
|
msgstr "Se debe proporcionar este campo si %(field)s no es %(value)s"
|
||||||
|
|
||||||
#: core/validators.py:320
|
#: core/validators.py:340
|
||||||
msgid "Duplicate values are not allowed."
|
msgid "Duplicate values are not allowed."
|
||||||
msgstr "No se admiten valores duplicados."
|
msgstr "No se admiten valores duplicados."
|
||||||
|
|
||||||
#: core/validators.py:343
|
#: core/validators.py:363
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This value must be a power of %s."
|
msgid "This value must be a power of %s."
|
||||||
msgstr "Este valor debe ser una potencia de %s."
|
msgstr "Este valor debe ser una potencia de %s."
|
||||||
|
|
||||||
#: core/validators.py:354
|
#: core/validators.py:374
|
||||||
msgid "Please enter a valid decimal number."
|
msgid "Please enter a valid decimal number."
|
||||||
msgstr "Por favor, introduzca un número decimal válido."
|
msgstr "Por favor, introduzca un número decimal válido."
|
||||||
|
|
||||||
#: core/validators.py:356
|
#: core/validators.py:378
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Please enter a valid decimal number with at most %s total digit."
|
msgid "Please enter a valid decimal number with at most %s total digit."
|
||||||
msgid_plural ""
|
msgid_plural ""
|
||||||
@ -2082,7 +2129,7 @@ msgstr[1] ""
|
|||||||
"Por favor, introduzca un número decimal válido con un maximo de %s dígitos "
|
"Por favor, introduzca un número decimal válido con un maximo de %s dígitos "
|
||||||
"en total."
|
"en total."
|
||||||
|
|
||||||
#: core/validators.py:359
|
#: core/validators.py:381
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter a valid decimal number with a whole part of at most %s digit."
|
"Please enter a valid decimal number with a whole part of at most %s digit."
|
||||||
@ -2095,7 +2142,7 @@ msgstr[1] ""
|
|||||||
"Por favor, introduzca un número decimal válido con un máximo de %s dígitos "
|
"Por favor, introduzca un número decimal válido con un máximo de %s dígitos "
|
||||||
"enteros."
|
"enteros."
|
||||||
|
|
||||||
#: core/validators.py:362
|
#: core/validators.py:384
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Please enter a valid decimal number with at most %s decimal place."
|
msgid "Please enter a valid decimal number with at most %s decimal place."
|
||||||
msgid_plural ""
|
msgid_plural ""
|
||||||
@ -2107,30 +2154,30 @@ msgstr[1] ""
|
|||||||
"Por favor, introduzca un número decimal válido con un máximo de %s "
|
"Por favor, introduzca un número decimal válido con un máximo de %s "
|
||||||
"posiciones decimales."
|
"posiciones decimales."
|
||||||
|
|
||||||
#: core/validators.py:372
|
#: core/validators.py:394
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Make sure your uploaded file is at least %s bytes big."
|
msgid "Make sure your uploaded file is at least %s bytes big."
|
||||||
msgstr "Asegúrese de que el archivo que envía tiene al menos %s bytes."
|
msgstr "Asegúrese de que el archivo que envía tiene al menos %s bytes."
|
||||||
|
|
||||||
#: core/validators.py:373
|
#: core/validators.py:395
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Make sure your uploaded file is at most %s bytes big."
|
msgid "Make sure your uploaded file is at most %s bytes big."
|
||||||
msgstr "Asegúrese de que el archivo que envía tiene como máximo %s bytes."
|
msgstr "Asegúrese de que el archivo que envía tiene como máximo %s bytes."
|
||||||
|
|
||||||
#: core/validators.py:390
|
#: core/validators.py:412
|
||||||
msgid "The format for this field is wrong."
|
msgid "The format for this field is wrong."
|
||||||
msgstr "El formato de este campo es incorrecto."
|
msgstr "El formato de este campo es incorrecto."
|
||||||
|
|
||||||
#: core/validators.py:405
|
#: core/validators.py:427
|
||||||
msgid "This field is invalid."
|
msgid "This field is invalid."
|
||||||
msgstr "Este campo no es válido."
|
msgstr "Este campo no es válido."
|
||||||
|
|
||||||
#: core/validators.py:441
|
#: core/validators.py:463
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Could not retrieve anything from %s."
|
msgid "Could not retrieve anything from %s."
|
||||||
msgstr "No pude obtener nada de %s."
|
msgstr "No pude obtener nada de %s."
|
||||||
|
|
||||||
#: core/validators.py:444
|
#: core/validators.py:466
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
|
"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
|
||||||
@ -2138,7 +2185,7 @@ msgstr ""
|
|||||||
"La URL %(url)s devolvió la cabecera Content-Type '%(contenttype)s', que no "
|
"La URL %(url)s devolvió la cabecera Content-Type '%(contenttype)s', que no "
|
||||||
"es válida."
|
"es válida."
|
||||||
|
|
||||||
#: core/validators.py:477
|
#: core/validators.py:499
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with "
|
"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with "
|
||||||
@ -2147,7 +2194,7 @@ msgstr ""
|
|||||||
"Por favor, cierre la etiqueta %(tag)s de la línea %(line)s. (La línea "
|
"Por favor, cierre la etiqueta %(tag)s de la línea %(line)s. (La línea "
|
||||||
"empieza por \"%(start)s\".)"
|
"empieza por \"%(start)s\".)"
|
||||||
|
|
||||||
#: core/validators.py:481
|
#: core/validators.py:503
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Some text starting on line %(line)s is not allowed in that context. (Line "
|
"Some text starting on line %(line)s is not allowed in that context. (Line "
|
||||||
@ -2156,7 +2203,7 @@ msgstr ""
|
|||||||
"Parte del texto que comienza en la línea %(line)s no está permitido en ese "
|
"Parte del texto que comienza en la línea %(line)s no está permitido en ese "
|
||||||
"contexto. (La línea empieza por \"%(start)s\".)"
|
"contexto. (La línea empieza por \"%(start)s\".)"
|
||||||
|
|
||||||
#: core/validators.py:486
|
#: core/validators.py:508
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%"
|
"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%"
|
||||||
@ -2165,7 +2212,7 @@ msgstr ""
|
|||||||
"El \"%(attr)s\" de la línea %(line)s no es un atributo válido. (La línea "
|
"El \"%(attr)s\" de la línea %(line)s no es un atributo válido. (La línea "
|
||||||
"empieza por \"%(start)s\".)"
|
"empieza por \"%(start)s\".)"
|
||||||
|
|
||||||
#: core/validators.py:491
|
#: core/validators.py:513
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%"
|
"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%"
|
||||||
@ -2174,7 +2221,7 @@ msgstr ""
|
|||||||
"La \"<%(tag)s>\" de la línea %(line)s no es una etiqueta válida. (La línea "
|
"La \"<%(tag)s>\" de la línea %(line)s no es una etiqueta válida. (La línea "
|
||||||
"empieza por \"%(start)s\".)"
|
"empieza por \"%(start)s\".)"
|
||||||
|
|
||||||
#: core/validators.py:495
|
#: core/validators.py:517
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"A tag on line %(line)s is missing one or more required attributes. (Line "
|
"A tag on line %(line)s is missing one or more required attributes. (Line "
|
||||||
@ -2183,7 +2230,7 @@ msgstr ""
|
|||||||
"A una etiqueta de la línea %(line)s le faltan uno o más atributos "
|
"A una etiqueta de la línea %(line)s le faltan uno o más atributos "
|
||||||
"requeridos. (La línea empieza por \"%(start)s\".)"
|
"requeridos. (La línea empieza por \"%(start)s\".)"
|
||||||
|
|
||||||
#: core/validators.py:500
|
#: core/validators.py:522
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line "
|
"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line "
|
||||||
@ -2199,17 +2246,20 @@ msgstr "si,no,tal vez"
|
|||||||
#: views/generic/create_update.py:43
|
#: views/generic/create_update.py:43
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(verbose_name)s was created successfully."
|
msgid "The %(verbose_name)s was created successfully."
|
||||||
msgstr "Se creó con éxito el %(verbose_name)."
|
msgstr "Se creó con éxito %(verbose_name)."
|
||||||
|
|
||||||
#: views/generic/create_update.py:117
|
#: views/generic/create_update.py:117
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(verbose_name)s was updated successfully."
|
msgid "The %(verbose_name)s was updated successfully."
|
||||||
msgstr "Se actualizó con éxito el %(verbose_name)s."
|
msgstr "Se actualizó con éxito %(verbose_name)s."
|
||||||
|
|
||||||
#: views/generic/create_update.py:184
|
#: views/generic/create_update.py:184
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The %(verbose_name)s was deleted."
|
msgid "The %(verbose_name)s was deleted."
|
||||||
msgstr "Se eliminó el %(verbose_name)s."
|
msgstr "Se eliminó %(verbose_name)s."
|
||||||
|
|
||||||
|
#~ msgid "Have you <a href=\"/password_reset/\">forgotten your password</a>?"
|
||||||
|
#~ msgstr "¿Ha <a href=\"/password_reset/\">olvidado su contraseña</a>?"
|
||||||
|
|
||||||
#~ msgid "%(content_type_name)s"
|
#~ msgid "%(content_type_name)s"
|
||||||
#~ msgstr "tipos de contenido"
|
#~ msgstr "tipos de contenido"
|
||||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Django JavaScript 1.0\n"
|
"Project-Id-Version: Django JavaScript 1.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2006-06-19 12:15-0300\n"
|
"POT-Creation-Date: 2006-09-25 15:09-0300\n"
|
||||||
"PO-Revision-Date: 2006-05-16 10:20-0300\n"
|
"PO-Revision-Date: 2006-05-16 10:20-0300\n"
|
||||||
"Last-Translator: Ramiro Morales <rm0@gmx.net>\n"
|
"Last-Translator: Ramiro Morales <rm0@gmx.net>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -39,7 +39,7 @@ msgstr "%s elegidos"
|
|||||||
|
|
||||||
#: contrib/admin/media/js/SelectFilter2.js:54
|
#: contrib/admin/media/js/SelectFilter2.js:54
|
||||||
msgid "Select your choice(s) and click "
|
msgid "Select your choice(s) and click "
|
||||||
msgstr "Haga sus elecciones y haga click en "
|
msgstr "Seleccione los items a agregar y haga click en "
|
||||||
|
|
||||||
#: contrib/admin/media/js/SelectFilter2.js:59
|
#: contrib/admin/media/js/SelectFilter2.js:59
|
||||||
msgid "Clear all"
|
msgid "Clear all"
|
||||||
@ -51,7 +51,7 @@ msgid ""
|
|||||||
"January February March April May June July August September October November "
|
"January February March April May June July August September October November "
|
||||||
"December"
|
"December"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Octubre "
|
"Enero Febrero Marzo Abril Mayo Junio Julio Agosto Setiembre Octubre "
|
||||||
"Noviembre Diciembre"
|
"Noviembre Diciembre"
|
||||||
|
|
||||||
#: contrib/admin/media/js/dateparse.js:33
|
#: contrib/admin/media/js/dateparse.js:33
|
||||||
@ -71,49 +71,49 @@ msgstr "Mostrar"
|
|||||||
msgid "Hide"
|
msgid "Hide"
|
||||||
msgstr "Ocultar"
|
msgstr "Ocultar"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:89
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81
|
||||||
msgid "Now"
|
msgid "Now"
|
||||||
msgstr "Ahora"
|
msgstr "Ahora"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51
|
||||||
msgid "Clock"
|
msgid "Clock"
|
||||||
msgstr "Reloj"
|
msgstr "Reloj"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78
|
||||||
msgid "Choose a time"
|
msgid "Choose a time"
|
||||||
msgstr "Elija una hora"
|
msgstr "Elija una hora"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:90
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
|
||||||
msgid "Midnight"
|
msgid "Midnight"
|
||||||
msgstr "Medianoche"
|
msgstr "Medianoche"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
|
||||||
msgid "6 a.m."
|
msgid "6 a.m."
|
||||||
msgstr "6 a.m."
|
msgstr "6 a.m."
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:92
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84
|
||||||
msgid "Noon"
|
msgid "Noon"
|
||||||
msgstr "Mediodía"
|
msgstr "Mediodía"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:96
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:187
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:120
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:181
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "Hoy"
|
msgstr "Hoy"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:123
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132
|
||||||
msgid "Calendar"
|
msgid "Calendar"
|
||||||
msgstr "Calendario"
|
msgstr "Calendario"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175
|
||||||
msgid "Yesterday"
|
msgid "Yesterday"
|
||||||
msgstr "Ayer"
|
msgstr "Ayer"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179
|
||||||
msgid "Tomorrow"
|
msgid "Tomorrow"
|
||||||
msgstr "Mañana"
|
msgstr "Mañana"
|
||||||
|
@ -18,7 +18,7 @@ except ImportError, e:
|
|||||||
available_backends = [f for f in os.listdir(backend_dir) if not f.startswith('_') and not f.startswith('.') and not f.endswith('.py') and not f.endswith('.pyc')]
|
available_backends = [f for f in os.listdir(backend_dir) if not f.startswith('_') and not f.startswith('.') and not f.endswith('.py') and not f.endswith('.pyc')]
|
||||||
available_backends.sort()
|
available_backends.sort()
|
||||||
if settings.DATABASE_ENGINE not in available_backends:
|
if settings.DATABASE_ENGINE not in available_backends:
|
||||||
raise ImproperlyConfigured, "%r isn't an available database backend. vailable options are: %s" % \
|
raise ImproperlyConfigured, "%r isn't an available database backend. Available options are: %s" % \
|
||||||
(settings.DATABASE_ENGINE, ", ".join(map(repr, available_backends)))
|
(settings.DATABASE_ENGINE, ", ".join(map(repr, available_backends)))
|
||||||
else:
|
else:
|
||||||
raise # If there's some other error, this must be an error in Django itself.
|
raise # If there's some other error, this must be an error in Django itself.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
Field classes
|
Field classes
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from util import ValidationError, DEFAULT_ENCODING
|
from util import ValidationError, DEFAULT_ENCODING, smart_unicode
|
||||||
from widgets import TextInput, CheckboxInput, Select, SelectMultiple
|
from widgets import TextInput, CheckboxInput, Select, SelectMultiple
|
||||||
import datetime
|
import datetime
|
||||||
import re
|
import re
|
||||||
@ -55,10 +55,7 @@ class CharField(Field):
|
|||||||
"Validates max_length and min_length. Returns a Unicode object."
|
"Validates max_length and min_length. Returns a Unicode object."
|
||||||
Field.clean(self, value)
|
Field.clean(self, value)
|
||||||
if value in EMPTY_VALUES: value = u''
|
if value in EMPTY_VALUES: value = u''
|
||||||
if not isinstance(value, basestring):
|
value = smart_unicode(value)
|
||||||
value = unicode(str(value), DEFAULT_ENCODING)
|
|
||||||
elif not isinstance(value, unicode):
|
|
||||||
value = unicode(value, DEFAULT_ENCODING)
|
|
||||||
if self.max_length is not None and len(value) > self.max_length:
|
if self.max_length is not None and len(value) > self.max_length:
|
||||||
raise ValidationError(u'Ensure this value has at most %d characters.' % self.max_length)
|
raise ValidationError(u'Ensure this value has at most %d characters.' % self.max_length)
|
||||||
if self.min_length is not None and len(value) < self.min_length:
|
if self.min_length is not None and len(value) < self.min_length:
|
||||||
@ -165,10 +162,7 @@ class RegexField(Field):
|
|||||||
"""
|
"""
|
||||||
Field.clean(self, value)
|
Field.clean(self, value)
|
||||||
if value in EMPTY_VALUES: value = u''
|
if value in EMPTY_VALUES: value = u''
|
||||||
if not isinstance(value, basestring):
|
value = smart_unicode(value)
|
||||||
value = unicode(str(value), DEFAULT_ENCODING)
|
|
||||||
elif not isinstance(value, unicode):
|
|
||||||
value = unicode(value, DEFAULT_ENCODING)
|
|
||||||
if not self.regex.search(value):
|
if not self.regex.search(value):
|
||||||
raise ValidationError(self.error_message)
|
raise ValidationError(self.error_message)
|
||||||
return value
|
return value
|
||||||
@ -244,10 +238,7 @@ class ChoiceField(Field):
|
|||||||
"""
|
"""
|
||||||
value = Field.clean(self, value)
|
value = Field.clean(self, value)
|
||||||
if value in EMPTY_VALUES: value = u''
|
if value in EMPTY_VALUES: value = u''
|
||||||
if not isinstance(value, basestring):
|
value = smart_unicode(value)
|
||||||
value = unicode(str(value), DEFAULT_ENCODING)
|
|
||||||
elif not isinstance(value, unicode):
|
|
||||||
value = unicode(value, DEFAULT_ENCODING)
|
|
||||||
valid_values = set([str(k) for k, v in self.choices])
|
valid_values = set([str(k) for k, v in self.choices])
|
||||||
if value not in valid_values:
|
if value not in valid_values:
|
||||||
raise ValidationError(u'Select a valid choice. %s is not one of the available choices.' % value)
|
raise ValidationError(u'Select a valid choice. %s is not one of the available choices.' % value)
|
||||||
@ -267,11 +258,8 @@ class MultipleChoiceField(ChoiceField):
|
|||||||
raise ValidationError(u'This field is required.')
|
raise ValidationError(u'This field is required.')
|
||||||
new_value = []
|
new_value = []
|
||||||
for val in value:
|
for val in value:
|
||||||
if not isinstance(val, basestring):
|
val = smart_unicode(val)
|
||||||
value = unicode(str(val), DEFAULT_ENCODING)
|
new_value.append(val)
|
||||||
elif not isinstance(val, unicode):
|
|
||||||
value = unicode(val, DEFAULT_ENCODING)
|
|
||||||
new_value.append(value)
|
|
||||||
# Validate that each value in the value list is in self.choices.
|
# Validate that each value in the value list is in self.choices.
|
||||||
valid_values = set([k for k, v in self.choices])
|
valid_values = set([k for k, v in self.choices])
|
||||||
for val in new_value:
|
for val in new_value:
|
||||||
|
@ -23,8 +23,9 @@ class Form(object):
|
|||||||
"A collection of Fields, plus their associated data."
|
"A collection of Fields, plus their associated data."
|
||||||
__metaclass__ = DeclarativeFieldsMetaclass
|
__metaclass__ = DeclarativeFieldsMetaclass
|
||||||
|
|
||||||
def __init__(self, data=None): # TODO: prefix stuff
|
def __init__(self, data=None, auto_id=False): # TODO: prefix stuff
|
||||||
self.data = data or {}
|
self.data = data or {}
|
||||||
|
self.auto_id = auto_id
|
||||||
self.clean_data = None # Stores the data after clean() has been called.
|
self.clean_data = None # Stores the data after clean() has been called.
|
||||||
self.__errors = None # Stores the errors after clean() has been called.
|
self.__errors = None # Stores the errors after clean() has been called.
|
||||||
|
|
||||||
@ -63,17 +64,15 @@ class Form(object):
|
|||||||
return not bool(self.errors())
|
return not bool(self.errors())
|
||||||
|
|
||||||
def as_table(self):
|
def as_table(self):
|
||||||
"Returns this form rendered as an HTML <table>."
|
"Returns this form rendered as HTML <tr>s -- excluding the <table></table>."
|
||||||
output = u'\n'.join(['<tr><td>%s:</td><td>%s</td></tr>' % (pretty_name(name), BoundField(self, field, name)) for name, field in self.fields.items()])
|
return u'\n'.join(['<tr><td>%s:</td><td>%s</td></tr>' % (pretty_name(name), BoundField(self, field, name)) for name, field in self.fields.items()])
|
||||||
return '<table>\n%s\n</table>' % output
|
|
||||||
|
|
||||||
def as_ul(self):
|
def as_ul(self):
|
||||||
"Returns this form rendered as an HTML <ul>."
|
"Returns this form rendered as HTML <li>s -- excluding the <ul></ul>."
|
||||||
output = u'\n'.join(['<li>%s: %s</li>' % (pretty_name(name), BoundField(self, field, name)) for name, field in self.fields.items()])
|
return u'\n'.join(['<li>%s: %s</li>' % (pretty_name(name), BoundField(self, field, name)) for name, field in self.fields.items()])
|
||||||
return '<ul>\n%s\n</ul>' % output
|
|
||||||
|
|
||||||
def as_table_with_errors(self):
|
def as_table_with_errors(self):
|
||||||
"Returns this form rendered as an HTML <table>, with errors."
|
"Returns this form rendered as HTML <tr>s, with errors."
|
||||||
output = []
|
output = []
|
||||||
if self.errors().get(NON_FIELD_ERRORS):
|
if self.errors().get(NON_FIELD_ERRORS):
|
||||||
# Errors not corresponding to a particular field are displayed at the top.
|
# Errors not corresponding to a particular field are displayed at the top.
|
||||||
@ -83,10 +82,10 @@ class Form(object):
|
|||||||
if bf.errors:
|
if bf.errors:
|
||||||
output.append('<tr><td colspan="2"><ul>%s</ul></td></tr>' % '\n'.join(['<li>%s</li>' % e for e in bf.errors]))
|
output.append('<tr><td colspan="2"><ul>%s</ul></td></tr>' % '\n'.join(['<li>%s</li>' % e for e in bf.errors]))
|
||||||
output.append('<tr><td>%s:</td><td>%s</td></tr>' % (pretty_name(name), bf))
|
output.append('<tr><td>%s:</td><td>%s</td></tr>' % (pretty_name(name), bf))
|
||||||
return '<table>\n%s\n</table>' % '\n'.join(output)
|
return u'\n'.join(output)
|
||||||
|
|
||||||
def as_ul_with_errors(self):
|
def as_ul_with_errors(self):
|
||||||
"Returns this form rendered as an HTML <ul>, with errors."
|
"Returns this form rendered as HTML <li>s, with errors."
|
||||||
output = []
|
output = []
|
||||||
if self.errors().get(NON_FIELD_ERRORS):
|
if self.errors().get(NON_FIELD_ERRORS):
|
||||||
# Errors not corresponding to a particular field are displayed at the top.
|
# Errors not corresponding to a particular field are displayed at the top.
|
||||||
@ -98,7 +97,7 @@ class Form(object):
|
|||||||
line += '<ul>%s</ul>' % '\n'.join(['<li>%s</li>' % e for e in bf.errors])
|
line += '<ul>%s</ul>' % '\n'.join(['<li>%s</li>' % e for e in bf.errors])
|
||||||
line += '%s: %s</li>' % (pretty_name(name), bf)
|
line += '%s: %s</li>' % (pretty_name(name), bf)
|
||||||
output.append(line)
|
output.append(line)
|
||||||
return '<ul>\n%s\n</ul>' % '\n'.join(output)
|
return u'\n'.join(output)
|
||||||
|
|
||||||
def full_clean(self):
|
def full_clean(self):
|
||||||
"""
|
"""
|
||||||
@ -156,6 +155,10 @@ class BoundField(object):
|
|||||||
errors = property(_errors)
|
errors = property(_errors)
|
||||||
|
|
||||||
def as_widget(self, widget, attrs=None):
|
def as_widget(self, widget, attrs=None):
|
||||||
|
attrs = attrs or {}
|
||||||
|
auto_id = self.auto_id
|
||||||
|
if not attrs.has_key('id') and not widget.attrs.has_key('id') and auto_id:
|
||||||
|
attrs['id'] = auto_id
|
||||||
return widget.render(self._name, self._form.data.get(self._name, None), attrs=attrs)
|
return widget.render(self._name, self._form.data.get(self._name, None), attrs=attrs)
|
||||||
|
|
||||||
def as_text(self, attrs=None):
|
def as_text(self, attrs=None):
|
||||||
@ -167,3 +170,16 @@ class BoundField(object):
|
|||||||
def as_textarea(self, attrs=None):
|
def as_textarea(self, attrs=None):
|
||||||
"Returns a string of HTML for representing this as a <textarea>."
|
"Returns a string of HTML for representing this as a <textarea>."
|
||||||
return self.as_widget(Textarea(), attrs)
|
return self.as_widget(Textarea(), attrs)
|
||||||
|
|
||||||
|
def _auto_id(self):
|
||||||
|
"""
|
||||||
|
Calculates and returns the ID attribute for this BoundField, if the
|
||||||
|
associated Form has specified auto_id. Returns an empty string otherwise.
|
||||||
|
"""
|
||||||
|
auto_id = self._form.auto_id
|
||||||
|
if auto_id and '%s' in str(auto_id):
|
||||||
|
return str(auto_id) % self._name
|
||||||
|
elif auto_id:
|
||||||
|
return self._name
|
||||||
|
return ''
|
||||||
|
auto_id = property(_auto_id)
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
DEFAULT_ENCODING = 'utf-8' # TODO: First look at django.conf.settings, then fall back to this.
|
DEFAULT_ENCODING = 'utf-8' # TODO: First look at django.conf.settings, then fall back to this.
|
||||||
|
|
||||||
def smart_unicode(s):
|
def smart_unicode(s):
|
||||||
if not isinstance(s, unicode):
|
if not isinstance(s, basestring):
|
||||||
|
s = unicode(str(s))
|
||||||
|
elif not isinstance(s, unicode):
|
||||||
s = unicode(s, DEFAULT_ENCODING)
|
s = unicode(s, DEFAULT_ENCODING)
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
@ -5,9 +5,10 @@ HTML Widget classes
|
|||||||
__all__ = (
|
__all__ = (
|
||||||
'Widget', 'TextInput', 'PasswordInput', 'HiddenInput', 'FileInput',
|
'Widget', 'TextInput', 'PasswordInput', 'HiddenInput', 'FileInput',
|
||||||
'Textarea', 'CheckboxInput',
|
'Textarea', 'CheckboxInput',
|
||||||
'Select', 'SelectMultiple',
|
'Select', 'SelectMultiple', 'RadioSelect',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from util import smart_unicode
|
||||||
from django.utils.html import escape
|
from django.utils.html import escape
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
|
||||||
@ -16,9 +17,9 @@ try:
|
|||||||
except NameError:
|
except NameError:
|
||||||
from sets import Set as set # Python 2.3 fallback
|
from sets import Set as set # Python 2.3 fallback
|
||||||
|
|
||||||
# Converts a dictionary to a single string with key="value", XML-style.
|
# Converts a dictionary to a single string with key="value", XML-style with
|
||||||
# Assumes keys do not need to be XML-escaped.
|
# a leading space. Assumes keys do not need to be XML-escaped.
|
||||||
flatatt = lambda attrs: ' '.join(['%s="%s"' % (k, escape(v)) for k, v in attrs.items()])
|
flatatt = lambda attrs: u''.join([u' %s="%s"' % (k, escape(v)) for k, v in attrs.items()])
|
||||||
|
|
||||||
class Widget(object):
|
class Widget(object):
|
||||||
requires_data_list = False # Determines whether render()'s 'value' argument should be a list.
|
requires_data_list = False # Determines whether render()'s 'value' argument should be a list.
|
||||||
@ -28,16 +29,23 @@ class Widget(object):
|
|||||||
def render(self, name, value):
|
def render(self, name, value):
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
|
def build_attrs(self, extra_attrs=None, **kwargs):
|
||||||
|
attrs = dict(self.attrs, **kwargs)
|
||||||
|
if extra_attrs:
|
||||||
|
attrs.update(extra_attrs)
|
||||||
|
return attrs
|
||||||
|
|
||||||
class Input(Widget):
|
class Input(Widget):
|
||||||
"Base class for all <input> widgets (except type='checkbox', which is special)"
|
"""
|
||||||
|
Base class for all <input> widgets (except type='checkbox' and
|
||||||
|
type='radio', which are special).
|
||||||
|
"""
|
||||||
input_type = None # Subclasses must define this.
|
input_type = None # Subclasses must define this.
|
||||||
def render(self, name, value, attrs=None):
|
def render(self, name, value, attrs=None):
|
||||||
if value is None: value = ''
|
if value is None: value = ''
|
||||||
final_attrs = dict(self.attrs, type=self.input_type, name=name)
|
final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
|
||||||
if attrs:
|
if value != '': final_attrs['value'] = smart_unicode(value) # Only add the 'value' attribute if a value is non-empty.
|
||||||
final_attrs.update(attrs)
|
return u'<input%s />' % flatatt(final_attrs)
|
||||||
if value != '': final_attrs['value'] = value # Only add the 'value' attribute if a value is non-empty.
|
|
||||||
return u'<input %s />' % flatatt(final_attrs)
|
|
||||||
|
|
||||||
class TextInput(Input):
|
class TextInput(Input):
|
||||||
input_type = 'text'
|
input_type = 'text'
|
||||||
@ -54,18 +62,15 @@ class FileInput(Input):
|
|||||||
class Textarea(Widget):
|
class Textarea(Widget):
|
||||||
def render(self, name, value, attrs=None):
|
def render(self, name, value, attrs=None):
|
||||||
if value is None: value = ''
|
if value is None: value = ''
|
||||||
final_attrs = dict(self.attrs, name=name)
|
value = smart_unicode(value)
|
||||||
if attrs:
|
final_attrs = self.build_attrs(attrs, name=name)
|
||||||
final_attrs.update(attrs)
|
return u'<textarea%s>%s</textarea>' % (flatatt(final_attrs), escape(value))
|
||||||
return u'<textarea %s>%s</textarea>' % (flatatt(final_attrs), escape(value))
|
|
||||||
|
|
||||||
class CheckboxInput(Widget):
|
class CheckboxInput(Widget):
|
||||||
def render(self, name, value, attrs=None):
|
def render(self, name, value, attrs=None):
|
||||||
final_attrs = dict(self.attrs, type='checkbox', name=name)
|
final_attrs = self.build_attrs(attrs, type='checkbox', name=name)
|
||||||
if attrs:
|
|
||||||
final_attrs.update(attrs)
|
|
||||||
if value: final_attrs['checked'] = 'checked'
|
if value: final_attrs['checked'] = 'checked'
|
||||||
return u'<input %s />' % flatatt(final_attrs)
|
return u'<input%s />' % flatatt(final_attrs)
|
||||||
|
|
||||||
class Select(Widget):
|
class Select(Widget):
|
||||||
def __init__(self, attrs=None, choices=()):
|
def __init__(self, attrs=None, choices=()):
|
||||||
@ -75,14 +80,13 @@ class Select(Widget):
|
|||||||
|
|
||||||
def render(self, name, value, attrs=None, choices=()):
|
def render(self, name, value, attrs=None, choices=()):
|
||||||
if value is None: value = ''
|
if value is None: value = ''
|
||||||
final_attrs = dict(self.attrs, name=name)
|
final_attrs = self.build_attrs(attrs, name=name)
|
||||||
if attrs:
|
output = [u'<select%s>' % flatatt(final_attrs)]
|
||||||
final_attrs.update(attrs)
|
str_value = smart_unicode(value) # Normalize to string.
|
||||||
output = [u'<select %s>' % flatatt(final_attrs)]
|
|
||||||
str_value = str(value) # Normalize to string.
|
|
||||||
for option_value, option_label in chain(self.choices, choices):
|
for option_value, option_label in chain(self.choices, choices):
|
||||||
selected_html = (str(option_value) == str_value) and ' selected="selected"' or ''
|
option_value = smart_unicode(option_value)
|
||||||
output.append(u'<option value="%s"%s>%s</option>' % (escape(option_value), selected_html, escape(option_label)))
|
selected_html = (option_value == str_value) and u' selected="selected"' or ''
|
||||||
|
output.append(u'<option value="%s"%s>%s</option>' % (escape(option_value), selected_html, escape(smart_unicode(option_label))))
|
||||||
output.append(u'</select>')
|
output.append(u'</select>')
|
||||||
return u'\n'.join(output)
|
return u'\n'.join(output)
|
||||||
|
|
||||||
@ -95,19 +99,55 @@ class SelectMultiple(Widget):
|
|||||||
|
|
||||||
def render(self, name, value, attrs=None, choices=()):
|
def render(self, name, value, attrs=None, choices=()):
|
||||||
if value is None: value = []
|
if value is None: value = []
|
||||||
final_attrs = dict(self.attrs, name=name)
|
final_attrs = self.build_attrs(attrs, name=name)
|
||||||
if attrs:
|
output = [u'<select multiple="multiple"%s>' % flatatt(final_attrs)]
|
||||||
final_attrs.update(attrs)
|
str_values = set([smart_unicode(v) for v in value]) # Normalize to strings.
|
||||||
output = [u'<select multiple="multiple" %s>' % flatatt(final_attrs)]
|
|
||||||
str_values = set([str(v) for v in value]) # Normalize to strings.
|
|
||||||
for option_value, option_label in chain(self.choices, choices):
|
for option_value, option_label in chain(self.choices, choices):
|
||||||
selected_html = (str(option_value) in str_values) and ' selected="selected"' or ''
|
option_value = smart_unicode(option_value)
|
||||||
output.append(u'<option value="%s"%s>%s</option>' % (escape(option_value), selected_html, escape(option_label)))
|
selected_html = (option_value in str_values) and ' selected="selected"' or ''
|
||||||
|
output.append(u'<option value="%s"%s>%s</option>' % (escape(option_value), selected_html, escape(smart_unicode(option_label))))
|
||||||
output.append(u'</select>')
|
output.append(u'</select>')
|
||||||
return u'\n'.join(output)
|
return u'\n'.join(output)
|
||||||
|
|
||||||
class RadioSelect(Widget):
|
class RadioInput(object):
|
||||||
pass
|
"An object used by RadioFieldRenderer that represents a single <input type='radio'>."
|
||||||
|
def __init__(self, name, value, attrs, choice):
|
||||||
|
self.name, self.value = name, value
|
||||||
|
self.attrs = attrs or {}
|
||||||
|
self.choice_value, self.choice_label = choice
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return u'<label>%s %s</label>' % (self.tag(), self.choice_label)
|
||||||
|
|
||||||
|
def is_checked(self):
|
||||||
|
return self.value == smart_unicode(self.choice_value)
|
||||||
|
|
||||||
|
def tag(self):
|
||||||
|
final_attrs = dict(self.attrs, type='radio', name=self.name, value=self.choice_value)
|
||||||
|
if self.is_checked():
|
||||||
|
final_attrs['checked'] = 'checked'
|
||||||
|
return u'<input%s />' % flatatt(final_attrs)
|
||||||
|
|
||||||
|
class RadioFieldRenderer(object):
|
||||||
|
"An object used by RadioSelect to enable customization of radio widgets."
|
||||||
|
def __init__(self, name, value, attrs, choices):
|
||||||
|
self.name, self.value, self.attrs = name, value, attrs
|
||||||
|
self.choices = choices
|
||||||
|
|
||||||
|
def __iter__(self):
|
||||||
|
for choice in self.choices:
|
||||||
|
yield RadioInput(self.name, self.value, self.attrs, choice)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
"Outputs a <ul> for this set of radio fields."
|
||||||
|
return u'<ul>\n%s\n</ul>' % u'\n'.join([u'<li>%s</li>' % w for w in self])
|
||||||
|
|
||||||
|
class RadioSelect(Select):
|
||||||
|
def render(self, name, value, attrs=None, choices=()):
|
||||||
|
"Returns a RadioFieldRenderer instance rather than a Unicode string."
|
||||||
|
if value is None: value = ''
|
||||||
|
str_value = smart_unicode(value) # Normalize to string.
|
||||||
|
return RadioFieldRenderer(name, str_value, attrs, list(chain(self.choices, choices)))
|
||||||
|
|
||||||
class CheckboxSelectMultiple(Widget):
|
class CheckboxSelectMultiple(Widget):
|
||||||
pass
|
pass
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
"""
|
# -*- coding: utf-8 -*-
|
||||||
|
r"""
|
||||||
>>> from django.newforms import *
|
>>> from django.newforms import *
|
||||||
>>> import datetime
|
>>> import datetime
|
||||||
>>> import re
|
>>> import re
|
||||||
@ -17,6 +18,11 @@ u'<input type="text" name="email" value="some "quoted" & ampersand
|
|||||||
>>> w.render('email', 'test@example.com', attrs={'class': 'fun'})
|
>>> w.render('email', 'test@example.com', attrs={'class': 'fun'})
|
||||||
u'<input type="text" name="email" value="test@example.com" class="fun" />'
|
u'<input type="text" name="email" value="test@example.com" class="fun" />'
|
||||||
|
|
||||||
|
# Note that doctest in Python 2.4 (and maybe 2.5?) doesn't support non-ascii
|
||||||
|
# characters in output, so we're displaying the repr() here.
|
||||||
|
>>> w.render('email', 'ŠĐĆŽćžšđ', attrs={'class': 'fun'})
|
||||||
|
u'<input type="text" name="email" value="\u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111" class="fun" />'
|
||||||
|
|
||||||
You can also pass 'attrs' to the constructor:
|
You can also pass 'attrs' to the constructor:
|
||||||
>>> w = TextInput(attrs={'class': 'fun'})
|
>>> w = TextInput(attrs={'class': 'fun'})
|
||||||
>>> w.render('email', '')
|
>>> w.render('email', '')
|
||||||
@ -55,6 +61,9 @@ u'<input type="password" class="fun" value="foo@example.com" name="email" />'
|
|||||||
>>> w.render('email', '', attrs={'class': 'special'})
|
>>> w.render('email', '', attrs={'class': 'special'})
|
||||||
u'<input type="password" class="special" name="email" />'
|
u'<input type="password" class="special" name="email" />'
|
||||||
|
|
||||||
|
>>> w.render('email', 'ŠĐĆŽćžšđ', attrs={'class': 'fun'})
|
||||||
|
u'<input type="password" class="fun" value="\u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111" name="email" />'
|
||||||
|
|
||||||
# HiddenInput Widget ############################################################
|
# HiddenInput Widget ############################################################
|
||||||
|
|
||||||
>>> w = HiddenInput()
|
>>> w = HiddenInput()
|
||||||
@ -81,6 +90,14 @@ u'<input type="hidden" class="fun" value="foo@example.com" name="email" />'
|
|||||||
>>> w.render('email', '', attrs={'class': 'special'})
|
>>> w.render('email', '', attrs={'class': 'special'})
|
||||||
u'<input type="hidden" class="special" name="email" />'
|
u'<input type="hidden" class="special" name="email" />'
|
||||||
|
|
||||||
|
>>> w.render('email', 'ŠĐĆŽćžšđ', attrs={'class': 'fun'})
|
||||||
|
u'<input type="hidden" class="fun" value="\u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111" name="email" />'
|
||||||
|
|
||||||
|
'attrs' passed to render() get precedence over those passed to the constructor:
|
||||||
|
>>> w = HiddenInput(attrs={'class': 'pretty'})
|
||||||
|
>>> w.render('email', '', attrs={'class': 'special'})
|
||||||
|
u'<input type="hidden" class="special" name="email" />'
|
||||||
|
|
||||||
# FileInput Widget ############################################################
|
# FileInput Widget ############################################################
|
||||||
|
|
||||||
>>> w = FileInput()
|
>>> w = FileInput()
|
||||||
@ -102,10 +119,8 @@ u'<input type="file" class="fun" name="email" />'
|
|||||||
>>> w.render('email', 'foo@example.com')
|
>>> w.render('email', 'foo@example.com')
|
||||||
u'<input type="file" class="fun" value="foo@example.com" name="email" />'
|
u'<input type="file" class="fun" value="foo@example.com" name="email" />'
|
||||||
|
|
||||||
'attrs' passed to render() get precedence over those passed to the constructor:
|
>>> w.render('email', 'ŠĐĆŽćžšđ', attrs={'class': 'fun'})
|
||||||
>>> w = HiddenInput(attrs={'class': 'pretty'})
|
u'<input type="file" class="fun" value="\u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111" name="email" />'
|
||||||
>>> w.render('email', '', attrs={'class': 'special'})
|
|
||||||
u'<input type="hidden" class="special" name="email" />'
|
|
||||||
|
|
||||||
# Textarea Widget #############################################################
|
# Textarea Widget #############################################################
|
||||||
|
|
||||||
@ -133,6 +148,9 @@ u'<textarea class="pretty" name="msg">example</textarea>'
|
|||||||
>>> w.render('msg', '', attrs={'class': 'special'})
|
>>> w.render('msg', '', attrs={'class': 'special'})
|
||||||
u'<textarea class="special" name="msg"></textarea>'
|
u'<textarea class="special" name="msg"></textarea>'
|
||||||
|
|
||||||
|
>>> w.render('msg', 'ŠĐĆŽćžšđ', attrs={'class': 'fun'})
|
||||||
|
u'<textarea class="fun" name="msg">\u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111</textarea>'
|
||||||
|
|
||||||
# CheckboxInput Widget ########################################################
|
# CheckboxInput Widget ########################################################
|
||||||
|
|
||||||
>>> w = CheckboxInput()
|
>>> w = CheckboxInput()
|
||||||
@ -236,6 +254,9 @@ If 'choices' is passed to both the constructor and render(), then they'll both b
|
|||||||
<option value="5">5</option>
|
<option value="5">5</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
>>> w.render('email', 'ŠĐĆŽćžšđ', choices=[('ŠĐĆŽćžšđ', 'ŠĐabcĆŽćžšđ'), ('ćžšđ', 'abcćžšđ')])
|
||||||
|
u'<select name="email">\n<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="\u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111" selected="selected">\u0160\u0110abc\u0106\u017d\u0107\u017e\u0161\u0111</option>\n<option value="\u0107\u017e\u0161\u0111">abc\u0107\u017e\u0161\u0111</option>\n</select>'
|
||||||
|
|
||||||
# SelectMultiple Widget #######################################################
|
# SelectMultiple Widget #######################################################
|
||||||
|
|
||||||
>>> w = SelectMultiple()
|
>>> w = SelectMultiple()
|
||||||
@ -340,6 +361,120 @@ If 'choices' is passed to both the constructor and render(), then they'll both b
|
|||||||
<option value="5">5</option>
|
<option value="5">5</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
>>> w.render('nums', ['ŠĐĆŽćžšđ'], choices=[('ŠĐĆŽćžšđ', 'ŠĐabcĆŽćžšđ'), ('ćžšđ', 'abcćžšđ')])
|
||||||
|
u'<select multiple="multiple" name="nums">\n<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="\u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111" selected="selected">\u0160\u0110abc\u0106\u017d\u0107\u017e\u0161\u0111</option>\n<option value="\u0107\u017e\u0161\u0111">abc\u0107\u017e\u0161\u0111</option>\n</select>'
|
||||||
|
|
||||||
|
# RadioSelect Widget ##########################################################
|
||||||
|
|
||||||
|
>>> w = RadioSelect()
|
||||||
|
>>> print w.render('beatle', 'J', choices=(('J', 'John'), ('P', 'Paul'), ('G', 'George'), ('R', 'Ringo')))
|
||||||
|
<ul>
|
||||||
|
<li><label><input checked="checked" type="radio" name="beatle" value="J" /> John</label></li>
|
||||||
|
<li><label><input type="radio" name="beatle" value="P" /> Paul</label></li>
|
||||||
|
<li><label><input type="radio" name="beatle" value="G" /> George</label></li>
|
||||||
|
<li><label><input type="radio" name="beatle" value="R" /> Ringo</label></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
If the value is None, none of the options are checked:
|
||||||
|
>>> print w.render('beatle', None, choices=(('J', 'John'), ('P', 'Paul'), ('G', 'George'), ('R', 'Ringo')))
|
||||||
|
<ul>
|
||||||
|
<li><label><input type="radio" name="beatle" value="J" /> John</label></li>
|
||||||
|
<li><label><input type="radio" name="beatle" value="P" /> Paul</label></li>
|
||||||
|
<li><label><input type="radio" name="beatle" value="G" /> George</label></li>
|
||||||
|
<li><label><input type="radio" name="beatle" value="R" /> Ringo</label></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
If the value corresponds to a label (but not to an option value), none of the options are checked:
|
||||||
|
>>> print w.render('beatle', 'John', choices=(('J', 'John'), ('P', 'Paul'), ('G', 'George'), ('R', 'Ringo')))
|
||||||
|
<ul>
|
||||||
|
<li><label><input type="radio" name="beatle" value="J" /> John</label></li>
|
||||||
|
<li><label><input type="radio" name="beatle" value="P" /> Paul</label></li>
|
||||||
|
<li><label><input type="radio" name="beatle" value="G" /> George</label></li>
|
||||||
|
<li><label><input type="radio" name="beatle" value="R" /> Ringo</label></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
The value is compared to its str():
|
||||||
|
>>> print w.render('num', 2, choices=[('1', '1'), ('2', '2'), ('3', '3')])
|
||||||
|
<ul>
|
||||||
|
<li><label><input type="radio" name="num" value="1" /> 1</label></li>
|
||||||
|
<li><label><input checked="checked" type="radio" name="num" value="2" /> 2</label></li>
|
||||||
|
<li><label><input type="radio" name="num" value="3" /> 3</label></li>
|
||||||
|
</ul>
|
||||||
|
>>> print w.render('num', '2', choices=[(1, 1), (2, 2), (3, 3)])
|
||||||
|
<ul>
|
||||||
|
<li><label><input type="radio" name="num" value="1" /> 1</label></li>
|
||||||
|
<li><label><input checked="checked" type="radio" name="num" value="2" /> 2</label></li>
|
||||||
|
<li><label><input type="radio" name="num" value="3" /> 3</label></li>
|
||||||
|
</ul>
|
||||||
|
>>> print w.render('num', 2, choices=[(1, 1), (2, 2), (3, 3)])
|
||||||
|
<ul>
|
||||||
|
<li><label><input type="radio" name="num" value="1" /> 1</label></li>
|
||||||
|
<li><label><input checked="checked" type="radio" name="num" value="2" /> 2</label></li>
|
||||||
|
<li><label><input type="radio" name="num" value="3" /> 3</label></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
The 'choices' argument can be any iterable:
|
||||||
|
>>> def get_choices():
|
||||||
|
... for i in range(5):
|
||||||
|
... yield (i, i)
|
||||||
|
>>> print w.render('num', 2, choices=get_choices())
|
||||||
|
<ul>
|
||||||
|
<li><label><input type="radio" name="num" value="0" /> 0</label></li>
|
||||||
|
<li><label><input type="radio" name="num" value="1" /> 1</label></li>
|
||||||
|
<li><label><input checked="checked" type="radio" name="num" value="2" /> 2</label></li>
|
||||||
|
<li><label><input type="radio" name="num" value="3" /> 3</label></li>
|
||||||
|
<li><label><input type="radio" name="num" value="4" /> 4</label></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
You can also pass 'choices' to the constructor:
|
||||||
|
>>> w = RadioSelect(choices=[(1, 1), (2, 2), (3, 3)])
|
||||||
|
>>> print w.render('num', 2)
|
||||||
|
<ul>
|
||||||
|
<li><label><input type="radio" name="num" value="1" /> 1</label></li>
|
||||||
|
<li><label><input checked="checked" type="radio" name="num" value="2" /> 2</label></li>
|
||||||
|
<li><label><input type="radio" name="num" value="3" /> 3</label></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
If 'choices' is passed to both the constructor and render(), then they'll both be in the output:
|
||||||
|
>>> print w.render('num', 2, choices=[(4, 4), (5, 5)])
|
||||||
|
<ul>
|
||||||
|
<li><label><input type="radio" name="num" value="1" /> 1</label></li>
|
||||||
|
<li><label><input checked="checked" type="radio" name="num" value="2" /> 2</label></li>
|
||||||
|
<li><label><input type="radio" name="num" value="3" /> 3</label></li>
|
||||||
|
<li><label><input type="radio" name="num" value="4" /> 4</label></li>
|
||||||
|
<li><label><input type="radio" name="num" value="5" /> 5</label></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
The render() method returns a RadioFieldRenderer object, whose str() is a <ul>.
|
||||||
|
You can manipulate that object directly to customize the way the RadioSelect
|
||||||
|
is rendered.
|
||||||
|
>>> w = RadioSelect()
|
||||||
|
>>> r = w.render('beatle', 'J', choices=(('J', 'John'), ('P', 'Paul'), ('G', 'George'), ('R', 'Ringo')))
|
||||||
|
>>> for inp in r:
|
||||||
|
... print inp
|
||||||
|
<label><input checked="checked" type="radio" name="beatle" value="J" /> John</label>
|
||||||
|
<label><input type="radio" name="beatle" value="P" /> Paul</label>
|
||||||
|
<label><input type="radio" name="beatle" value="G" /> George</label>
|
||||||
|
<label><input type="radio" name="beatle" value="R" /> Ringo</label>
|
||||||
|
>>> for inp in r:
|
||||||
|
... print '%s<br />' % inp
|
||||||
|
<label><input checked="checked" type="radio" name="beatle" value="J" /> John</label><br />
|
||||||
|
<label><input type="radio" name="beatle" value="P" /> Paul</label><br />
|
||||||
|
<label><input type="radio" name="beatle" value="G" /> George</label><br />
|
||||||
|
<label><input type="radio" name="beatle" value="R" /> Ringo</label><br />
|
||||||
|
>>> for inp in r:
|
||||||
|
... print '<p>%s %s</p>' % (inp.tag(), inp.choice_label)
|
||||||
|
<p><input checked="checked" type="radio" name="beatle" value="J" /> John</p>
|
||||||
|
<p><input type="radio" name="beatle" value="P" /> Paul</p>
|
||||||
|
<p><input type="radio" name="beatle" value="G" /> George</p>
|
||||||
|
<p><input type="radio" name="beatle" value="R" /> Ringo</p>
|
||||||
|
>>> for inp in r:
|
||||||
|
... print '%s %s %s %s %s' % (inp.name, inp.value, inp.choice_value, inp.choice_label, inp.is_checked())
|
||||||
|
beatle J J John True
|
||||||
|
beatle J P Paul False
|
||||||
|
beatle J G George False
|
||||||
|
beatle J R Ringo False
|
||||||
|
|
||||||
# CharField ###################################################################
|
# CharField ###################################################################
|
||||||
|
|
||||||
>>> f = CharField(required=False)
|
>>> f = CharField(required=False)
|
||||||
@ -770,38 +905,28 @@ ValidationError: [u'This field is required.']
|
|||||||
... birthday = DateField()
|
... birthday = DateField()
|
||||||
>>> p = Person()
|
>>> p = Person()
|
||||||
>>> print p
|
>>> print p
|
||||||
<table>
|
|
||||||
<tr><td>First name:</td><td><input type="text" name="first_name" /></td></tr>
|
<tr><td>First name:</td><td><input type="text" name="first_name" /></td></tr>
|
||||||
<tr><td>Last name:</td><td><input type="text" name="last_name" /></td></tr>
|
<tr><td>Last name:</td><td><input type="text" name="last_name" /></td></tr>
|
||||||
<tr><td>Birthday:</td><td><input type="text" name="birthday" /></td></tr>
|
<tr><td>Birthday:</td><td><input type="text" name="birthday" /></td></tr>
|
||||||
</table>
|
|
||||||
>>> print p.as_table()
|
>>> print p.as_table()
|
||||||
<table>
|
|
||||||
<tr><td>First name:</td><td><input type="text" name="first_name" /></td></tr>
|
<tr><td>First name:</td><td><input type="text" name="first_name" /></td></tr>
|
||||||
<tr><td>Last name:</td><td><input type="text" name="last_name" /></td></tr>
|
<tr><td>Last name:</td><td><input type="text" name="last_name" /></td></tr>
|
||||||
<tr><td>Birthday:</td><td><input type="text" name="birthday" /></td></tr>
|
<tr><td>Birthday:</td><td><input type="text" name="birthday" /></td></tr>
|
||||||
</table>
|
|
||||||
>>> print p.as_ul()
|
>>> print p.as_ul()
|
||||||
<ul>
|
|
||||||
<li>First name: <input type="text" name="first_name" /></li>
|
<li>First name: <input type="text" name="first_name" /></li>
|
||||||
<li>Last name: <input type="text" name="last_name" /></li>
|
<li>Last name: <input type="text" name="last_name" /></li>
|
||||||
<li>Birthday: <input type="text" name="birthday" /></li>
|
<li>Birthday: <input type="text" name="birthday" /></li>
|
||||||
</ul>
|
|
||||||
>>> print p.as_table_with_errors()
|
>>> print p.as_table_with_errors()
|
||||||
<table>
|
|
||||||
<tr><td colspan="2"><ul><li>This field is required.</li></ul></td></tr>
|
<tr><td colspan="2"><ul><li>This field is required.</li></ul></td></tr>
|
||||||
<tr><td>First name:</td><td><input type="text" name="first_name" /></td></tr>
|
<tr><td>First name:</td><td><input type="text" name="first_name" /></td></tr>
|
||||||
<tr><td colspan="2"><ul><li>This field is required.</li></ul></td></tr>
|
<tr><td colspan="2"><ul><li>This field is required.</li></ul></td></tr>
|
||||||
<tr><td>Last name:</td><td><input type="text" name="last_name" /></td></tr>
|
<tr><td>Last name:</td><td><input type="text" name="last_name" /></td></tr>
|
||||||
<tr><td colspan="2"><ul><li>This field is required.</li></ul></td></tr>
|
<tr><td colspan="2"><ul><li>This field is required.</li></ul></td></tr>
|
||||||
<tr><td>Birthday:</td><td><input type="text" name="birthday" /></td></tr>
|
<tr><td>Birthday:</td><td><input type="text" name="birthday" /></td></tr>
|
||||||
</table>
|
|
||||||
>>> print p.as_ul_with_errors()
|
>>> print p.as_ul_with_errors()
|
||||||
<ul>
|
|
||||||
<li><ul><li>This field is required.</li></ul>First name: <input type="text" name="first_name" /></li>
|
<li><ul><li>This field is required.</li></ul>First name: <input type="text" name="first_name" /></li>
|
||||||
<li><ul><li>This field is required.</li></ul>Last name: <input type="text" name="last_name" /></li>
|
<li><ul><li>This field is required.</li></ul>Last name: <input type="text" name="last_name" /></li>
|
||||||
<li><ul><li>This field is required.</li></ul>Birthday: <input type="text" name="birthday" /></li>
|
<li><ul><li>This field is required.</li></ul>Birthday: <input type="text" name="birthday" /></li>
|
||||||
</ul>
|
|
||||||
|
|
||||||
>>> p = Person({'first_name': u'John', 'last_name': u'Lennon', 'birthday': u'1940-10-9'})
|
>>> p = Person({'first_name': u'John', 'last_name': u'Lennon', 'birthday': u'1940-10-9'})
|
||||||
>>> p.errors()
|
>>> p.errors()
|
||||||
@ -826,11 +951,9 @@ u''
|
|||||||
<input type="text" name="last_name" value="Lennon" />
|
<input type="text" name="last_name" value="Lennon" />
|
||||||
<input type="text" name="birthday" value="1940-10-9" />
|
<input type="text" name="birthday" value="1940-10-9" />
|
||||||
>>> print p
|
>>> print p
|
||||||
<table>
|
|
||||||
<tr><td>First name:</td><td><input type="text" name="first_name" value="John" /></td></tr>
|
<tr><td>First name:</td><td><input type="text" name="first_name" value="John" /></td></tr>
|
||||||
<tr><td>Last name:</td><td><input type="text" name="last_name" value="Lennon" /></td></tr>
|
<tr><td>Last name:</td><td><input type="text" name="last_name" value="Lennon" /></td></tr>
|
||||||
<tr><td>Birthday:</td><td><input type="text" name="birthday" value="1940-10-9" /></td></tr>
|
<tr><td>Birthday:</td><td><input type="text" name="birthday" value="1940-10-9" /></td></tr>
|
||||||
</table>
|
|
||||||
|
|
||||||
>>> p = Person({'last_name': u'Lennon'})
|
>>> p = Person({'last_name': u'Lennon'})
|
||||||
>>> p.errors()
|
>>> p.errors()
|
||||||
@ -862,6 +985,51 @@ u'* This field is required.'
|
|||||||
>>> print p['birthday']
|
>>> print p['birthday']
|
||||||
<input type="text" name="birthday" />
|
<input type="text" name="birthday" />
|
||||||
|
|
||||||
|
"auto_id" tells the Form to add an "id" attribute to each form element.
|
||||||
|
If it's a string that contains '%s', Django will use that as a format string
|
||||||
|
into which the field's name will be inserted.
|
||||||
|
>>> p = Person(auto_id='id_%s')
|
||||||
|
>>> print p.as_ul()
|
||||||
|
<li>First name: <input type="text" name="first_name" id="id_first_name" /></li>
|
||||||
|
<li>Last name: <input type="text" name="last_name" id="id_last_name" /></li>
|
||||||
|
<li>Birthday: <input type="text" name="birthday" id="id_birthday" /></li>
|
||||||
|
|
||||||
|
If auto_id is any True value whose str() does not contain '%s', the "id"
|
||||||
|
attribute will be the name of the field.
|
||||||
|
>>> p = Person(auto_id=True)
|
||||||
|
>>> print p.as_ul()
|
||||||
|
<li>First name: <input type="text" name="first_name" id="first_name" /></li>
|
||||||
|
<li>Last name: <input type="text" name="last_name" id="last_name" /></li>
|
||||||
|
<li>Birthday: <input type="text" name="birthday" id="birthday" /></li>
|
||||||
|
|
||||||
|
If auto_id is any False value, an "id" attribute won't be output unless it
|
||||||
|
was manually entered.
|
||||||
|
>>> p = Person(auto_id=False)
|
||||||
|
>>> print p.as_ul()
|
||||||
|
<li>First name: <input type="text" name="first_name" /></li>
|
||||||
|
<li>Last name: <input type="text" name="last_name" /></li>
|
||||||
|
<li>Birthday: <input type="text" name="birthday" /></li>
|
||||||
|
|
||||||
|
In this example, auto_id is False, but the "id" attribute for the "first_name"
|
||||||
|
field is given.
|
||||||
|
>>> class PersonNew(Form):
|
||||||
|
... first_name = CharField(widget=TextInput(attrs={'id': 'first_name_id'}))
|
||||||
|
... last_name = CharField()
|
||||||
|
... birthday = DateField()
|
||||||
|
>>> p = PersonNew(auto_id=False)
|
||||||
|
>>> print p.as_ul()
|
||||||
|
<li>First name: <input type="text" id="first_name_id" name="first_name" /></li>
|
||||||
|
<li>Last name: <input type="text" name="last_name" /></li>
|
||||||
|
<li>Birthday: <input type="text" name="birthday" /></li>
|
||||||
|
|
||||||
|
If the "id" attribute is specified in the Form and auto_id is True, the "id"
|
||||||
|
attribute in the Form gets precedence.
|
||||||
|
>>> p = PersonNew(auto_id=True)
|
||||||
|
>>> print p.as_ul()
|
||||||
|
<li>First name: <input type="text" id="first_name_id" name="first_name" /></li>
|
||||||
|
<li>Last name: <input type="text" name="last_name" id="last_name" /></li>
|
||||||
|
<li>Birthday: <input type="text" name="birthday" id="birthday" /></li>
|
||||||
|
|
||||||
>>> class SignupForm(Form):
|
>>> class SignupForm(Form):
|
||||||
... email = EmailField()
|
... email = EmailField()
|
||||||
... get_spam = BooleanField()
|
... get_spam = BooleanField()
|
||||||
@ -992,44 +1160,48 @@ Form.clean() still needs to return a dictionary of all clean data:
|
|||||||
... return self.clean_data
|
... return self.clean_data
|
||||||
>>> f = UserRegistration()
|
>>> f = UserRegistration()
|
||||||
>>> print f.as_table()
|
>>> print f.as_table()
|
||||||
<table>
|
|
||||||
<tr><td>Username:</td><td><input type="text" name="username" /></td></tr>
|
<tr><td>Username:</td><td><input type="text" name="username" /></td></tr>
|
||||||
<tr><td>Password1:</td><td><input type="password" name="password1" /></td></tr>
|
<tr><td>Password1:</td><td><input type="password" name="password1" /></td></tr>
|
||||||
<tr><td>Password2:</td><td><input type="password" name="password2" /></td></tr>
|
<tr><td>Password2:</td><td><input type="password" name="password2" /></td></tr>
|
||||||
</table>
|
|
||||||
>>> f.errors()
|
>>> f.errors()
|
||||||
{'username': [u'This field is required.'], 'password1': [u'This field is required.'], 'password2': [u'This field is required.']}
|
{'username': [u'This field is required.'], 'password1': [u'This field is required.'], 'password2': [u'This field is required.']}
|
||||||
>>> f = UserRegistration({'username': 'adrian', 'password1': 'foo', 'password2': 'bar'})
|
>>> f = UserRegistration({'username': 'adrian', 'password1': 'foo', 'password2': 'bar'})
|
||||||
>>> f.errors()
|
>>> f.errors()
|
||||||
{'__all__': [u'Please make sure your passwords match.']}
|
{'__all__': [u'Please make sure your passwords match.']}
|
||||||
>>> print f.as_table()
|
>>> print f.as_table()
|
||||||
<table>
|
|
||||||
<tr><td>Username:</td><td><input type="text" name="username" value="adrian" /></td></tr>
|
<tr><td>Username:</td><td><input type="text" name="username" value="adrian" /></td></tr>
|
||||||
<tr><td>Password1:</td><td><input type="password" name="password1" value="foo" /></td></tr>
|
<tr><td>Password1:</td><td><input type="password" name="password1" value="foo" /></td></tr>
|
||||||
<tr><td>Password2:</td><td><input type="password" name="password2" value="bar" /></td></tr>
|
<tr><td>Password2:</td><td><input type="password" name="password2" value="bar" /></td></tr>
|
||||||
</table>
|
|
||||||
>>> print f.as_table_with_errors()
|
>>> print f.as_table_with_errors()
|
||||||
<table>
|
|
||||||
<tr><td colspan="2"><ul><li>Please make sure your passwords match.</li></ul></td></tr>
|
<tr><td colspan="2"><ul><li>Please make sure your passwords match.</li></ul></td></tr>
|
||||||
<tr><td>Username:</td><td><input type="text" name="username" value="adrian" /></td></tr>
|
<tr><td>Username:</td><td><input type="text" name="username" value="adrian" /></td></tr>
|
||||||
<tr><td>Password1:</td><td><input type="password" name="password1" value="foo" /></td></tr>
|
<tr><td>Password1:</td><td><input type="password" name="password1" value="foo" /></td></tr>
|
||||||
<tr><td>Password2:</td><td><input type="password" name="password2" value="bar" /></td></tr>
|
<tr><td>Password2:</td><td><input type="password" name="password2" value="bar" /></td></tr>
|
||||||
</table>
|
|
||||||
>>> print f.as_ul_with_errors()
|
>>> print f.as_ul_with_errors()
|
||||||
<ul>
|
|
||||||
<li><ul><li>Please make sure your passwords match.</li></ul></li>
|
<li><ul><li>Please make sure your passwords match.</li></ul></li>
|
||||||
<li>Username: <input type="text" name="username" value="adrian" /></li>
|
<li>Username: <input type="text" name="username" value="adrian" /></li>
|
||||||
<li>Password1: <input type="password" name="password1" value="foo" /></li>
|
<li>Password1: <input type="password" name="password1" value="foo" /></li>
|
||||||
<li>Password2: <input type="password" name="password2" value="bar" /></li>
|
<li>Password2: <input type="password" name="password2" value="bar" /></li>
|
||||||
</ul>
|
|
||||||
>>> f = UserRegistration({'username': 'adrian', 'password1': 'foo', 'password2': 'foo'})
|
>>> f = UserRegistration({'username': 'adrian', 'password1': 'foo', 'password2': 'foo'})
|
||||||
>>> f.errors()
|
>>> f.errors()
|
||||||
{}
|
{}
|
||||||
>>> f.clean()
|
>>> f.clean()
|
||||||
{'username': u'adrian', 'password1': u'foo', 'password2': u'foo'}
|
{'username': u'adrian', 'password1': u'foo', 'password2': u'foo'}
|
||||||
|
|
||||||
|
It's possible to construct a Form dynamically by adding to the self.fields
|
||||||
|
dictionary in __init__(). Don't forget to call Form.__init__() within the
|
||||||
|
subclass' __init__().
|
||||||
|
>>> class Person(Form):
|
||||||
|
... first_name = CharField()
|
||||||
|
... last_name = CharField()
|
||||||
|
... def __init__(self):
|
||||||
|
... super(Person, self).__init__()
|
||||||
|
... self.fields['birthday'] = DateField()
|
||||||
|
>>> p = Person()
|
||||||
|
>>> print p
|
||||||
|
<tr><td>First name:</td><td><input type="text" name="first_name" /></td></tr>
|
||||||
|
<tr><td>Last name:</td><td><input type="text" name="last_name" /></td></tr>
|
||||||
|
<tr><td>Birthday:</td><td><input type="text" name="birthday" /></td></tr>
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
Loading…
x
Reference in New Issue
Block a user