From a841530a13cdd409828dcfc9ccd10711b1f46997 Mon Sep 17 00:00:00 2001 From: Georg Bauer Date: Sun, 4 Dec 2005 12:30:14 +0000 Subject: [PATCH] first take at admin JavaScript translation - translation hooks for the calendar and time picker are added and the german translation is updated git-svn-id: http://code.djangoproject.com/svn/django/trunk@1530 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/conf/locale/de/LC_MESSAGES/django.mo | Bin 30740 -> 30863 bytes django/conf/locale/de/LC_MESSAGES/django.po | 165 +++++++++++------- django/conf/locale/de/LC_MESSAGES/djangojs.mo | Bin 0 -> 740 bytes django/conf/locale/de/LC_MESSAGES/djangojs.po | 62 +++++++ django/conf/locale/en/LC_MESSAGES/djangojs.mo | Bin 0 -> 367 bytes django/conf/locale/en/LC_MESSAGES/djangojs.po | 63 +++++++ .../admin/media/js/admin/DateTimeShortcuts.js | 28 +-- .../admin/templates/admin/change_form.html | 1 + .../admin/templates/widget/date_time.html | 5 +- django/contrib/admin/urls/admin.py | 1 + 10 files changed, 246 insertions(+), 79 deletions(-) create mode 100644 django/conf/locale/de/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/de/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/en/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/en/LC_MESSAGES/djangojs.po diff --git a/django/conf/locale/de/LC_MESSAGES/django.mo b/django/conf/locale/de/LC_MESSAGES/django.mo index 396036cb1a02625041f746a21db91e9af525076a..df479567a96d64735a9740e503580130c07d20ce 100644 GIT binary patch delta 7951 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 BcoP5s delta 7841 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 N&)vWHhcTOc{s-v\n" "MIME-Version: 1.0\n" @@ -74,7 +74,7 @@ msgstr "Datum/Zeit Erstellung" msgid "is public" msgstr "ist öffentlich" -#: contrib/comments/models/comments.py:26 contrib/admin/views/doc.py:254 +#: contrib/comments/models/comments.py:26 contrib/admin/views/doc.py:256 msgid "IP address" msgstr "IP-Adresse" @@ -412,55 +412,55 @@ msgstr "%s ausw msgid "Select %s to change" msgstr "%s zur Änderung auswählen" -#: contrib/admin/views/main.py:411 +#: contrib/admin/views/main.py:407 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" wurde erfolgreich hinzugefügt." -#: contrib/admin/views/main.py:416 contrib/admin/views/main.py:492 +#: contrib/admin/views/main.py:412 contrib/admin/views/main.py:488 msgid "You may edit it again below." msgstr "Das Element kann jetzt weiter geändert werden." -#: contrib/admin/views/main.py:424 contrib/admin/views/main.py:501 +#: contrib/admin/views/main.py:420 contrib/admin/views/main.py:497 #, python-format msgid "You may add another %s below." msgstr "Jetzt kann ein weiteres Element vom Typ %s angelegt werden." -#: contrib/admin/views/main.py:441 +#: contrib/admin/views/main.py:437 #, python-format msgid "Add %s" msgstr "%s zufügen" -#: contrib/admin/views/main.py:457 +#: contrib/admin/views/main.py:453 #, python-format msgid "Added %s." msgstr "%s hinzugefügt." -#: contrib/admin/views/main.py:457 contrib/admin/views/main.py:459 -#: contrib/admin/views/main.py:461 +#: contrib/admin/views/main.py:453 contrib/admin/views/main.py:455 +#: contrib/admin/views/main.py:457 msgid "and" msgstr "und" -#: contrib/admin/views/main.py:459 +#: contrib/admin/views/main.py:455 #, python-format msgid "Changed %s." msgstr "%s geändert" -#: contrib/admin/views/main.py:461 +#: contrib/admin/views/main.py:457 #, python-format msgid "Deleted %s." msgstr "%s gelöscht." -#: contrib/admin/views/main.py:464 +#: contrib/admin/views/main.py:460 msgid "No fields changed." msgstr "Keine Felder geändert." -#: contrib/admin/views/main.py:489 +#: contrib/admin/views/main.py:485 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" wurde erfolgreich geändert." -#: contrib/admin/views/main.py:498 +#: contrib/admin/views/main.py:494 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." @@ -468,111 +468,151 @@ msgstr "" "%(name)s \"%(obj)s\" wurde erfolgreich zugefügt. Das Element kann jetzt " "geändert werden." -#: contrib/admin/views/main.py:536 +#: contrib/admin/views/main.py:532 #, python-format msgid "Change %s" msgstr "%s ändern" -#: contrib/admin/views/main.py:614 +#: contrib/admin/views/main.py:610 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "Ein oder mehrere %(fieldname)s in %(name)s: %(obj)s" -#: contrib/admin/views/main.py:619 +#: contrib/admin/views/main.py:615 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "Ein oder mehrere %(fieldname)s in %(name)s:" -#: contrib/admin/views/main.py:648 +#: contrib/admin/views/main.py:644 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" wurde erfolgreich gelöscht." -#: contrib/admin/views/main.py:651 +#: contrib/admin/views/main.py:647 msgid "Are you sure?" msgstr "Sicher? Ganz sicher?" -#: contrib/admin/views/main.py:666 +#: contrib/admin/views/main.py:662 #, python-format msgid "Change history: %s" msgstr "Änderungsgeschichte: %s" -#: contrib/admin/views/doc.py:242 contrib/admin/views/doc.py:251 -#: contrib/admin/views/doc.py:253 contrib/admin/views/doc.py:258 -#: contrib/admin/views/doc.py:259 contrib/admin/views/doc.py:261 +#: contrib/admin/views/doc.py:244 contrib/admin/views/doc.py:253 +#: contrib/admin/views/doc.py:255 contrib/admin/views/doc.py:261 +#: contrib/admin/views/doc.py:262 contrib/admin/views/doc.py:264 msgid "Integer" msgstr "Ganzzahl" -#: contrib/admin/views/doc.py:243 +#: contrib/admin/views/doc.py:245 msgid "Boolean (Either True or False)" msgstr "Wahrheitswert (Wahr oder Falsch)" -#: contrib/admin/views/doc.py:244 +#: contrib/admin/views/doc.py:246 #, python-format msgid "String (up to %(maxlength)s)" msgstr "Zeichenkette (bis zu %(maxlength)s Zeichen)" -#: contrib/admin/views/doc.py:245 +#: contrib/admin/views/doc.py:247 msgid "Comma-separated integers" msgstr "Kommaseparierte Liste von Zahlen" -#: contrib/admin/views/doc.py:246 +#: contrib/admin/views/doc.py:248 msgid "Date (without time)" msgstr "Datum (ohne Zeit)" -#: contrib/admin/views/doc.py:247 +#: contrib/admin/views/doc.py:249 msgid "Date (with time)" msgstr "Datum (mit Zeit)" -#: contrib/admin/views/doc.py:248 +#: contrib/admin/views/doc.py:250 msgid "E-mail address" msgstr "E-mail-Adresse" -#: contrib/admin/views/doc.py:249 contrib/admin/views/doc.py:252 +#: contrib/admin/views/doc.py:251 contrib/admin/views/doc.py:254 msgid "File path" msgstr "Dateipfad" -#: contrib/admin/views/doc.py:250 +#: contrib/admin/views/doc.py:252 msgid "Decimal number" msgstr "Dezimalzahl" -#: contrib/admin/views/doc.py:256 +#: contrib/admin/views/doc.py:258 msgid "Boolean (Either True, False or None)" msgstr "Wahrheitswert (Wahr, Falsch oder Nichts)" -#: contrib/admin/views/doc.py:257 +#: contrib/admin/views/doc.py:259 +msgid "Relation to parent model" +msgstr "Beziehung zum Übermodell" + +#: contrib/admin/views/doc.py:260 msgid "Phone number" msgstr "Telefonnummer" -#: contrib/admin/views/doc.py:260 +#: contrib/admin/views/doc.py:263 msgid "String (up to 50)" msgstr "Zeichenkette (bis zu 50 Zeichen)" -#: contrib/admin/views/doc.py:262 +#: contrib/admin/views/doc.py:265 msgid "Text" msgstr "Text" -#: contrib/admin/views/doc.py:263 +#: contrib/admin/views/doc.py:266 msgid "Time" msgstr "Zeit" -#: contrib/admin/views/doc.py:264 contrib/flatpages/models/flatpages.py:6 +#: contrib/admin/views/doc.py:267 contrib/flatpages/models/flatpages.py:6 msgid "URL" msgstr "URL" -#: contrib/admin/views/doc.py:265 +#: contrib/admin/views/doc.py:268 msgid "U.S. state (two uppercase letters)" msgstr "U.S. Bundesstaat (zwei Grossbuchstaben)" -#: contrib/admin/views/doc.py:266 +#: contrib/admin/views/doc.py:269 msgid "XML text" msgstr "XML Text" +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:4 +#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:8 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +msgid "Change password" +msgstr "Passwort ändern" + +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:4 +#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:8 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +msgid "Log out" +msgstr "Abmelden" + #: contrib/admin/templates/admin/object_history.html:5 #: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/change_list.html:4 +#: contrib/admin/templates/admin/change_list.html:5 #: contrib/admin/templates/admin/base.html:29 -#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/change_form.html:11 #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 @@ -583,7 +623,7 @@ msgid "Home" msgstr "Start" #: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:17 +#: contrib/admin/templates/admin/change_form.html:18 msgid "History" msgstr "Geschichte" @@ -651,7 +691,7 @@ msgstr "" "Es tut uns leid, aber die angeforderte Seite kann nicht gefunden werden." #: contrib/admin/templates/admin/index.html:27 -#: contrib/admin/templates/admin/change_form.html:12 +#: contrib/admin/templates/admin/change_form.html:13 msgid "Add" msgstr "Zufügen" @@ -675,7 +715,7 @@ msgstr "Meine Aktionen" msgid "None available" msgstr "Keine vorhanden" -#: contrib/admin/templates/admin/change_list.html:9 +#: contrib/admin/templates/admin/change_list.html:10 #, python-format msgid "Add %(name)s" msgstr "%(name)s zufügen" @@ -696,15 +736,7 @@ msgstr "Haben Sie ihr Passwort vergessen?" msgid "Welcome," msgstr "Willkommen," -#: contrib/admin/templates/admin/base.html:23 -msgid "Change password" -msgstr "Passwort ändern" - -#: contrib/admin/templates/admin/base.html:23 -msgid "Log out" -msgstr "Abmelden" - -#: contrib/admin/templates/admin/delete_confirmation.html:7 +#: contrib/admin/templates/admin/delete_confirmation.html:6 #, python-format msgid "" "Deleting the %(object_name)s '%(object)s' would result in deleting related " @@ -715,7 +747,7 @@ msgstr "" "abhängigen Daten zur Folge, aber Sie haben nicht die nötigen Rechte um die " "folgenden abhängigen Daten zu löschen:" -#: contrib/admin/templates/admin/delete_confirmation.html:14 +#: contrib/admin/templates/admin/delete_confirmation.html:13 #, python-format msgid "" "Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " @@ -724,7 +756,7 @@ msgstr "" "Sind Sie sicher, das Sie %(object_name)s \"%(object)s\" löschen wollen? Es " "werden zusätzlich die folgenden abhängigen Daten mit gelöscht:" -#: contrib/admin/templates/admin/delete_confirmation.html:18 +#: contrib/admin/templates/admin/delete_confirmation.html:17 msgid "Yes, I'm sure" msgstr "Ja, ich bin sicher" @@ -737,21 +769,21 @@ msgstr " Nach %(title)s " msgid "Go" msgstr "Los" -#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_form.html:19 msgid "View on site" msgstr "Im Web Anzeigen" -#: contrib/admin/templates/admin/change_form.html:26 +#: contrib/admin/templates/admin/change_form.html:27 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Bitte den Fehler korrigieren." msgstr[1] "Bitte die Fehler korrigieren." -#: contrib/admin/templates/admin/change_form.html:43 +#: contrib/admin/templates/admin/change_form.html:44 msgid "Ordering" msgstr "Sortierung" -#: contrib/admin/templates/admin/change_form.html:46 +#: contrib/admin/templates/admin/change_form.html:47 msgid "Order:" msgstr "Reihenfolge:" @@ -966,6 +998,14 @@ msgid "As above, but opens the admin page in a new window." msgstr "" "Wie zuvor, aber öffnent die Administrationsseite in einem neuen Fenster." +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Datum:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Zeit:" + #: contrib/redirects/models/redirects.py:7 msgid "redirect from" msgstr "Umleitung von" @@ -1045,15 +1085,15 @@ msgstr "Webseite" msgid "flat pages" msgstr "Webseiten" -#: utils/translation.py:335 +#: utils/translation.py:350 msgid "DATE_FORMAT" msgstr "j. N Y" -#: utils/translation.py:336 +#: utils/translation.py:351 msgid "DATETIME_FORMAT" msgstr "j. N Y, H:i" -#: utils/translation.py:337 +#: utils/translation.py:352 msgid "TIME_FORMAT" msgstr "H:i" @@ -1773,4 +1813,3 @@ msgstr[1] "" #: core/template/defaultfilters.py:354 msgid "yes,no,maybe" msgstr "Ja,Nein,Vielleicht" - diff --git a/django/conf/locale/de/LC_MESSAGES/djangojs.mo b/django/conf/locale/de/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..7bf67aed66394a1b9dc83ce3e9d65eb6901b618d GIT binary patch literal 740 zcmZvYJ8u**5XTLK*8v5zP?!!0`Pe-Ox-1VtHX$VBAPN^GC?ffGC%X=N_R01oB;s2j z3R+4^3O)cG6%}2?XW>7WmC`WM_~#kV%k%fz+-Cu~47~yU2)znDg0jd{LYxC{f)~JB zt(}5bVE4hZ;IsC99h`%`1)c%lweQ>QdkJ2Ie+*uS?n62M)9K^-U%>OQzqb4aa-Hws zCGZEx^ZW!k?^ny;t^W_m`9~m1&w2qfAIGzBKG$O5SrIxD?!$Xv;lFnHa$oB1xGQqq zkS(>x#TL|vyml^-)H0eeiM(;edoeJjHB}wOOXn<(eKB;UKEOG4-ot!LA(Cg;hIhME zM73I~H{^qHHj_)c+Ez}k={^0r@MaQa+D$r}G;uzvL8wfr7N=EELzl_U#;c*qJ?V&4 zwWK3uvX>h3r^?hIB3%O_LwjJdOsEYc4qm?P4McxTdRV;{(();>^tWP(%u{``VU zPlCDE4tcd~3s)LjWwJjqv4f3o)n2@qEu6e~IvV+DQ42T^$wVeL9kEEO3oM)Ox)N&? U52JWa(@0`~$;pb9*}ARx2WWhuIRF3v literal 0 HcmV?d00001 diff --git a/django/conf/locale/de/LC_MESSAGES/djangojs.po b/django/conf/locale/de/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000..7bafa55d72 --- /dev/null +++ b/django/conf/locale/de/LC_MESSAGES/djangojs.po @@ -0,0 +1,62 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Django JavaScript 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-12-04 13:29+0100\n" +"PO-Revision-Date: 2005-12-04 13:21+0100\n" +"Last-Translator: Georg Bauer \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Now" +msgstr "Jetzt" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +msgid "Clock" +msgstr "Uhr" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +msgid "Choose a time" +msgstr "Uhrzeit" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Midnight" +msgstr "Mitternacht" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "6 a.m." +msgstr "6 Uhr" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "Noon" +msgstr "Mittag" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +msgid "Cancel" +msgstr "Abbruch" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +msgid "Today" +msgstr "Heute" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +msgid "Calendar" +msgstr "Kalender" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +msgid "Yesterday" +msgstr "Gestern" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +msgid "Tomorrow" +msgstr "Morgen" diff --git a/django/conf/locale/en/LC_MESSAGES/djangojs.mo b/django/conf/locale/en/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..b35f3ec577da95654177307a2dfa2ebf7a4d1727 GIT binary patch literal 367 zcmYL^K~KUk7=|%=+R?Lz9=zd)9Y}%|36)h`Y&S9niQX!dS%WR7uDTV!NF^~Y?K3LR(7pTMbO|y`>6E`2J&MF literal 0 HcmV?d00001 diff --git a/django/conf/locale/en/LC_MESSAGES/djangojs.po b/django/conf/locale/en/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000..b1917b471b --- /dev/null +++ b/django/conf/locale/en/LC_MESSAGES/djangojs.po @@ -0,0 +1,63 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-12-04 13:32+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: 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 "" + +#: 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 "" diff --git a/django/contrib/admin/media/js/admin/DateTimeShortcuts.js b/django/contrib/admin/media/js/admin/DateTimeShortcuts.js index 85482c4cd5..28511f76c6 100644 --- a/django/contrib/admin/media/js/admin/DateTimeShortcuts.js +++ b/django/contrib/admin/media/js/admin/DateTimeShortcuts.js @@ -43,10 +43,10 @@ var DateTimeShortcuts = { inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); var now_link = document.createElement('a'); now_link.setAttribute('href', "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", new Date().getHourMinute());"); - now_link.appendChild(document.createTextNode('Now')); + now_link.appendChild(document.createTextNode(gettext('Now'))); var clock_link = document.createElement('a'); clock_link.setAttribute('href', 'javascript:DateTimeShortcuts.openClock(' + num + ');'); - quickElement('img', clock_link, '', 'src', DateTimeShortcuts.admin_media_prefix + 'img/admin/icon_clock.gif', 'alt', 'Clock'); + quickElement('img', clock_link, '', 'src', DateTimeShortcuts.admin_media_prefix + 'img/admin/icon_clock.gif', 'alt', gettext('Clock')); shortcuts_span.appendChild(document.createTextNode('\240')); shortcuts_span.appendChild(now_link); shortcuts_span.appendChild(document.createTextNode('\240|\240')); @@ -76,17 +76,17 @@ var DateTimeShortcuts = { document.body.appendChild(clock_box); addEvent(clock_box, 'click', DateTimeShortcuts.cancelEventPropagation); - quickElement('h2', clock_box, 'Choose a time'); + quickElement('h2', clock_box, gettext('Choose a time')); time_list = quickElement('ul', clock_box, ''); time_list.className = 'timelist'; - quickElement("a", quickElement("li", time_list, ""), "Now", "href", "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", new Date().getHourMinute());") - quickElement("a", quickElement("li", time_list, ""), "Midnight", "href", "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", '00:00');") - quickElement("a", quickElement("li", time_list, ""), "6 a.m.", "href", "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", '06:00');") - quickElement("a", quickElement("li", time_list, ""), "Noon", "href", "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", '12:00');") + quickElement("a", quickElement("li", time_list, ""), gettext("Now"), "href", "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", new Date().getHourMinute());") + quickElement("a", quickElement("li", time_list, ""), gettext("Midnight"), "href", "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", '00:00');") + quickElement("a", quickElement("li", time_list, ""), gettext("6 a.m."), "href", "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", '06:00');") + quickElement("a", quickElement("li", time_list, ""), gettext("Noon"), "href", "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", '12:00');") cancel_p = quickElement('p', clock_box, ''); cancel_p.className = 'calendar-cancel'; - quickElement('a', cancel_p, 'Cancel', 'href', 'javascript:DateTimeShortcuts.dismissClock(' + num + ');'); + quickElement('a', cancel_p, gettext('Cancel'), 'href', 'javascript:DateTimeShortcuts.dismissClock(' + num + ');'); }, openClock: function(num) { document.getElementById(DateTimeShortcuts.clockDivName + num).style.display = 'block'; @@ -111,10 +111,10 @@ var DateTimeShortcuts = { inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); var today_link = document.createElement('a'); today_link.setAttribute('href', 'javascript:DateTimeShortcuts.handleCalendarQuickLink(' + num + ', 0);'); - today_link.appendChild(document.createTextNode('Today')); + today_link.appendChild(document.createTextNode(gettext('Today'))); var cal_link = document.createElement('a'); cal_link.setAttribute('href', 'javascript:DateTimeShortcuts.openCalendar(' + num + ');'); - quickElement('img', cal_link, '', 'src', DateTimeShortcuts.admin_media_prefix + 'img/admin/icon_calendar.gif', 'alt', 'Calendar'); + quickElement('img', cal_link, '', 'src', DateTimeShortcuts.admin_media_prefix + 'img/admin/icon_calendar.gif', 'alt', gettext('Calendar')); shortcuts_span.appendChild(document.createTextNode('\240')); shortcuts_span.appendChild(today_link); shortcuts_span.appendChild(document.createTextNode('\240|\240')); @@ -164,16 +164,16 @@ var DateTimeShortcuts = { // calendar shortcuts var shortcuts = quickElement('div', cal_box, ''); shortcuts.className = 'calendar-shortcuts'; - quickElement('a', shortcuts, 'Yesterday', 'href', 'javascript:DateTimeShortcuts.handleCalendarQuickLink(' + num + ', -1);'); + quickElement('a', shortcuts, gettext('Yesterday'), 'href', 'javascript:DateTimeShortcuts.handleCalendarQuickLink(' + num + ', -1);'); shortcuts.appendChild(document.createTextNode('\240|\240')); - quickElement('a', shortcuts, 'Today', 'href', 'javascript:DateTimeShortcuts.handleCalendarQuickLink(' + num + ', 0);'); + quickElement('a', shortcuts, gettext('Today'), 'href', 'javascript:DateTimeShortcuts.handleCalendarQuickLink(' + num + ', 0);'); shortcuts.appendChild(document.createTextNode('\240|\240')); - quickElement('a', shortcuts, 'Tomorrow', 'href', 'javascript:DateTimeShortcuts.handleCalendarQuickLink(' + num + ', +1);'); + quickElement('a', shortcuts, gettext('Tomorrow'), 'href', 'javascript:DateTimeShortcuts.handleCalendarQuickLink(' + num + ', +1);'); // cancel bar var cancel_p = quickElement('p', cal_box, ''); cancel_p.className = 'calendar-cancel'; - quickElement('a', cancel_p, 'Cancel', 'href', 'javascript:DateTimeShortcuts.dismissCalendar(' + num + ');'); + quickElement('a', cancel_p, gettext('Cancel'), 'href', 'javascript:DateTimeShortcuts.dismissCalendar(' + num + ');'); }, openCalendar: function(num) { document.getElementById(DateTimeShortcuts.calendarDivName1+num).style.display = 'block'; diff --git a/django/contrib/admin/templates/admin/change_form.html b/django/contrib/admin/templates/admin/change_form.html index 8ef9b3da82..1526e2b37e 100644 --- a/django/contrib/admin/templates/admin/change_form.html +++ b/django/contrib/admin/templates/admin/change_form.html @@ -1,6 +1,7 @@ {% extends "admin/base_site" %} {% load i18n admin_modify adminmedia %} {% block extrahead %} + {% for js in bound_manipulator.javascript_imports %}{% include_admin_script js %}{% endfor %} {% endblock %} {% block coltype %}{{ bound_manipulator.coltype }}{% endblock %} diff --git a/django/contrib/admin/templates/widget/date_time.html b/django/contrib/admin/templates/widget/date_time.html index 2d5126c5bb..cbd4a2e1c6 100644 --- a/django/contrib/admin/templates/widget/date_time.html +++ b/django/contrib/admin/templates/widget/date_time.html @@ -1,4 +1,5 @@ +{% load i18n %}

- Date: {{ bound_field.form_fields.0 }}
- Time: {{ bound_field.form_fields.1 }} + {% trans "Date:" %} {{ bound_field.form_fields.0 }}
+ {% trans "Time:" %} {{ bound_field.form_fields.1 }}

diff --git a/django/contrib/admin/urls/admin.py b/django/contrib/admin/urls/admin.py index d03b88ceb4..3f4dbab419 100644 --- a/django/contrib/admin/urls/admin.py +++ b/django/contrib/admin/urls/admin.py @@ -3,6 +3,7 @@ from django.conf.settings import INSTALLED_APPS urlpatterns = ( ('^$', 'django.contrib.admin.views.main.index'), + ('^jsi18n/$', 'django.views.i18n.javascript_catalog', {'packages': 'django.conf'}), ('^logout/$', 'django.views.auth.login.logout'), ('^password_change/$', 'django.views.registration.passwords.password_change'), ('^password_change/done/$', 'django.views.registration.passwords.password_change_done'),