From 14634aa5059806f2e200213dda328c3a60ae408c Mon Sep 17 00:00:00 2001 From: derzinn Date: Mon, 5 Dec 2022 10:13:11 +0100 Subject: [PATCH] Add german translation (#222) * Added german translation * Updated languages for test cases * Updated identical message strings * Updated django.po with corrected file paths * Re-generated django.mo file * Language lists sorted by code for test cases --- .../locale/de/LC_MESSAGES/django.mo | Bin 0 -> 3765 bytes .../locale/de/LC_MESSAGES/django.po | 304 ++++++++++++++++++ tests/settings.py | 1 + tests/test_templatetags.py | 7 + 4 files changed, 312 insertions(+) create mode 100644 admin_interface/locale/de/LC_MESSAGES/django.mo create mode 100644 admin_interface/locale/de/LC_MESSAGES/django.po diff --git a/admin_interface/locale/de/LC_MESSAGES/django.mo b/admin_interface/locale/de/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..0a078206e7ee8dfb823509467c0b446af9204662 GIT binary patch literal 3765 zcma);O>87b6~~JZU@>e6At8J$#DAP_1>#jul$F5?)<($I}bSl`PX}dXo0_bFMiOb-zUU_;0(9{J`H{Zd;#S7 zKLI}k{v5mu{I%x|@ILf!`uE4)FT@AXzZX0Xp71;g;!iB&=Wg&x@Fchivfi(OcY@yr zS^x8%FMvG%$G(3JWWB!tKMY<6v9$OTh(GaH-@obm{{;E_e}f+f?}l;rfRBQo1WVw( zU>oH1W03V}5Pu@`yz2QJ_)&~M53(IEf~@~lkmL0;a0>jTAHNQM4E;ZYtp8pA{*Gfp zd=UNPAdlY?1X289KY+we+aIi{|d~&EJao+js8NdQdydxrB0Ib{KYd*ELT@&L^(`jO=~(+wkNwvtXd_*uFcbq zqf^v0VV)@JV@z2mDt%s!>c*y`s(La{GHR(rbu)Aml_^@yv&?8Gs+Td-kYw$#%dE^| zqeV@RVrz7&bSCO@1YfmaWmGXbvnFxkg3`*yU24R7;KapZUD1H9Tw>vF-x#N?Xec>S z@I>kXWrlL6DC;WVy=DwB!b>o6lKtfN(F#ikkNL+U2R z#X6dsn-g2A3u~#|Wd|I(iOf{Ufsu)5u^AJW+kKTPQT#g5j;l)Zh}3}rXYb`Q^VMWC_vSO?pP7!>iQQS9Ol7VMgke|QbVmP0DS*bNi8 zD|$ZOy;vooQ<)>_D3cv0dL{`az9u;wI?<1#egetJTOaEr*6Lt7dIN7m@p#ySV&E1- zi)~2d4zh^V3Vz&li~M8Lk9$K3&0l_C(t-#h9V>lde9v2$2F!$uFu^vK1b>R_je zcoxyHNEs(w20gnplu@k5*)|!$UKZKs`!4UKaV9dglX*9?VzW4lLTiSh+16qbP*1`c z@d2diRN8^EGm|;|ZhSx{uSjC2*|{09Y0YIEk6lz zeQHY$jm?6li{da?%_A4IO^K#9H-at2>l+}-G&h23nJ#XWnrn}JWn;ZI z)sQX=+Nc8#scCG9>X#Y~S}!+ibiURsuQi@3SF2mKR_hCxIzC82TgkLUjq>`1OKi#c zM&qd@o-;N&m;(!%Yt7n$+4FO!r}&)WI0Wt8A?)E0oM0x4G*S~sszl43IGfr`ax0U7&%P^>9u{4gO5*2mV+O2pr5TtoB|~nrr7e497bv5BU5+bx}2`xA&$cRK0CjfVUf+%W41(t)YtH znmq^<*HSsIsG2LPN`!=}k+>N1eH9_@VNcqQx@`d7#3}9lfHzV0EtamT?qFbLFT*Y2 z=#T>3GPh{skN0=4weL}YN6GgHN>I0-aSf_)xvdu#Y^f;06;t+M+rQlos%_$^&E;01 z#w94VP=L^I$>sQrP($p<*uKI>h_y-0oqW{5M`Ks_pKkZ@$g6!1idzpwcf5la_ufE8 z?{{(CBd%hdD>3}j`0oMd8z)vH6~{YOgdCTCkrrfN9#=eMJ+4rEt9=5wTQfhhJ|_YV_g3al9vou#I9fj=(q*s=ibQe8Vg9$-BQb dlLtZ`_|2f{rmx(GUycv*, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-12-04 22:31+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: admin_interface/admin.py:29 +msgid "Environment" +msgstr "Umgebung" + +#: admin_interface/admin.py:41 +msgid "Language chooser" +msgstr "Sprachauswahl" + +#: admin_interface/admin.py:52 +msgid "Logo" +msgstr "Logo" + +#: admin_interface/admin.py:64 +msgid "Favicon" +msgstr "Favicon" + +#: admin_interface/admin.py:66 +msgid "Title" +msgstr "Titel" + +#: admin_interface/admin.py:77 +msgid "Header" +msgstr "Header" + +#: admin_interface/admin.py:89 +msgid "Breadcrumbs / Module headers" +msgstr "Breadcrumbs / Modul-Header" + +#: admin_interface/admin.py:104 +msgid "Generic Links" +msgstr "Generische Links" + +#: admin_interface/admin.py:114 +msgid "Save Buttons" +msgstr "Speichern-Buttons" + +#: admin_interface/admin.py:125 +msgid "Delete Buttons" +msgstr "Löschen-Buttons" + +#: admin_interface/admin.py:135 +msgid "Navigation Bar" +msgstr "Navigationsleiste" + +#: admin_interface/admin.py:137 +msgid "Related Modal" +msgstr "Modal für verwandte Objekte" + +#: admin_interface/admin.py:150 +msgid "Form Controls" +msgstr "Formularsteuerung" + +#: admin_interface/admin.py:160 +msgid "List Filter" +msgstr "Filteranzeige" + +#: admin_interface/admin.py:172 +msgid "Change Form" +msgstr "Änderungsformular" + +#: admin_interface/admin.py:182 +msgid "Recent Actions" +msgstr "Neueste Aktionen" + +#: admin_interface/apps.py:8 +msgid "Admin Interface" +msgstr "Admin-Oberfläche" + +#: admin_interface/models.py:60 admin_interface/models.py:130 +#: admin_interface/models.py:165 +msgid "name" +msgstr "Name" + +#: admin_interface/models.py:64 admin_interface/models.py:151 +#: admin_interface/models.py:308 +msgid "active" +msgstr "aktiv" + +#: admin_interface/models.py:69 +#: admin_interface/templates/admin/base_site.html:6 +#: admin_interface/templates/admin/base_site.html:166 +msgid "Django administration" +msgstr "Django-Administration" + +#: admin_interface/models.py:71 +msgid "title" +msgstr "Titel" + +#: admin_interface/models.py:78 admin_interface/models.py:101 +#: admin_interface/models.py:138 +msgid "color" +msgstr "Farbe" + +#: admin_interface/models.py:82 admin_interface/models.py:115 +#: admin_interface/models.py:377 +msgid "visible" +msgstr "sichtbar" + +#: admin_interface/models.py:93 +msgid "Leave blank to use the default Django logo" +msgstr "Dieses Feld leer lassen um das Django Standard Logo zu benutzen" + +#: admin_interface/models.py:94 +msgid "logo" +msgstr "Logo" + +#: admin_interface/models.py:106 +msgid "max width" +msgstr "maximale Breite" + +#: admin_interface/models.py:111 +msgid "max height" +msgstr "maximale Höhe" + +#: admin_interface/models.py:126 +msgid "(.ico|.png|.gif - 16x16|32x32 px)" +msgstr "(.ico|.png|.gif - 16x16|32x32 px)" + +#: admin_interface/models.py:127 +msgid "favicon" +msgstr "Favicon" + +#: admin_interface/models.py:135 +msgid "" +"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: " +"#3498DB)" +msgstr "" +"(rot: #E74C3C, orange: #E67E22, gelb: #F1C40F, grün: #2ECC71, blau: #3498DB)" + +#: admin_interface/models.py:142 +msgid "visible in header (marker and name)" +msgstr "sichtbar im Header (Marker und Name)" + +#: admin_interface/models.py:146 +msgid "visible in favicon (marker)" +msgstr "sichtbar im Favicon (Marker)" + +#: admin_interface/models.py:154 +msgid "Default Select" +msgstr "normale Auswahl" + +#: admin_interface/models.py:155 +msgid "Minimal Select" +msgstr "minimale Auswahl" + +#: admin_interface/models.py:161 +msgid "control" +msgstr "Regler" + +#: admin_interface/models.py:164 +msgid "code" +msgstr "Code" + +#: admin_interface/models.py:171 +msgid "display" +msgstr "Anzeige" + +#: admin_interface/models.py:179 admin_interface/models.py:208 +#: admin_interface/models.py:269 admin_interface/models.py:291 +#: admin_interface/models.py:314 +msgid "background color" +msgstr "Hintergrundfarbe" + +#: admin_interface/models.py:186 admin_interface/models.py:222 +#: admin_interface/models.py:283 admin_interface/models.py:305 +msgid "text color" +msgstr "Textfarbe" + +#: admin_interface/models.py:193 admin_interface/models.py:229 +#: admin_interface/models.py:254 +msgid "link color" +msgstr "Linkfarbe" + +#: admin_interface/models.py:200 admin_interface/models.py:243 +#: admin_interface/models.py:261 +msgid "link hover color" +msgstr "Linkfarbe beim Überfahren" + +#: admin_interface/models.py:215 +msgid "background selected color" +msgstr "Hintergrundfarbe bei Auswahl" + +#: admin_interface/models.py:236 +msgid "link selected color" +msgstr "Linkfarbe bei Auswahl" + +#: admin_interface/models.py:246 admin_interface/models.py:336 +msgid "rounded corners" +msgstr "abgerundete Ecken" + +#: admin_interface/models.py:276 admin_interface/models.py:298 +msgid "background hover color" +msgstr "Hintergrundfarbe beim Überfahren" + +#: admin_interface/models.py:332 +msgid "background opacity" +msgstr "Deckkraft des Hintergrunds" + +#: admin_interface/models.py:340 +msgid "close button visible" +msgstr "Schließen-Schalter sichtbar" + +#: admin_interface/models.py:345 +msgid "highlight active" +msgstr "Aktiv hervorheben" + +#: admin_interface/models.py:349 +msgid "use dropdown" +msgstr "Dropdown-Liste nutzen" + +#: admin_interface/models.py:353 +msgid "sticky position" +msgstr "angeheftete Position" + +#: admin_interface/models.py:357 +msgid "quick remove links for active filters at top of sidebar" +msgstr "Schnellentfernung für aktive Filter oben in der Seitenleiste" + +#: admin_interface/models.py:362 +msgid "foldable apps" +msgstr "einklappbare Apps" + +#: admin_interface/models.py:367 +msgid "fieldsets as tabs" +msgstr "Fieldsets als Tabs" + +#: admin_interface/models.py:372 +msgid "inlines as tabs" +msgstr "Inlines als Tabs" + +#: admin_interface/models.py:382 +msgid "sticky submit" +msgstr "angeheftete Schaltfläche" + +#: admin_interface/models.py:386 +msgid "sticky pagination" +msgstr "angeheftete Seitennummerierung" + +#: admin_interface/models.py:395 +msgid "Theme" +msgstr "Thema" + +#: admin_interface/models.py:396 +msgid "Themes" +msgstr "Themen" + +#: admin_interface/templates/admin/change_list.html:8 +msgid "Filter" +msgstr "" + +#. Translators: don't translate this, the django catalog already contains it +#: admin_interface/templates/admin/change_list.html:14 +#: admin_interface/templates/admin/change_list.html:19 +msgid "Clear all filters" +msgstr "" + +#: admin_interface/templates/admin/edit_inline/headerless_stacked.html:11 +#: admin_interface/templates/admin/edit_inline/headerless_tabular.html:31 +msgid "Change" +msgstr "" + +#: admin_interface/templates/admin/edit_inline/headerless_stacked.html:11 +#: admin_interface/templates/admin/edit_inline/headerless_tabular.html:31 +msgid "View" +msgstr "" + +#: admin_interface/templates/admin/edit_inline/headerless_stacked.html:13 +#: admin_interface/templates/admin/edit_inline/headerless_tabular.html:33 +msgid "View on site" +msgstr "" + +#: admin_interface/templates/admin/edit_inline/headerless_tabular.html:17 +msgid "Delete?" +msgstr "" + +#: admin_interface/templates/admin/filter.html:13 +#: admin_interface/templates/admin_interface/dropdown_filter.html:4 +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +#: admin_interface/templates/admin/popup_response.html:3 +msgid "Popup closing..." +msgstr "Popup schließen..." diff --git a/tests/settings.py b/tests/settings.py index 1f3690a..9b57d54 100644 --- a/tests/settings.py +++ b/tests/settings.py @@ -97,6 +97,7 @@ DATABASE_ROUTERS = ["tests.routers.DatabaseAppsRouter"] USE_I18N = True LANGUAGES = ( + ("de", "Deutsch"), ("en", "English"), ("es", "Español"), ("fa", "Farsi"), diff --git a/tests/test_templatetags.py b/tests/test_templatetags.py index 0cd44a5..d25c300 100644 --- a/tests/test_templatetags.py +++ b/tests/test_templatetags.py @@ -22,6 +22,13 @@ class AdminInterfaceTemplateTagsTestCase(TestCase): context = Context({"request": self.request_factory.get("/en/admin/")}) languages = templatetags.get_admin_interface_languages(context) expected_languages = [ + { + "code": "de", + "name": "Deutsch", + "default": False, + "active": False, + "activation_url": "/i18n/setlang/?next=/de/admin/", + }, { "code": "en", "name": "English",