Fundamentally improve German translations (#3780)

* Get rid of all warnings that poedit displayed

Bring translations closer to the English original, also removing some extraneous information. Get rid of all warnings poedit displayed. Correct translation that didn't match at all.

* Fix locales_generator.sh detection

xgettext was not recognizing tr() invocations. Following https://stackoverflow.com/a/11901925 fixed the issue

* Add more German translations

Improve consistency with some translations. Add translations for messages that were just detected in the previous commit. Add translations for Graphics Drivers

* Add more translations

Look for untranslated strings in the source files and add make them recognized by gettext

* Improve conistency of German translations and correct typos

* formatting

* Remove translations from enum members

* More translation tweaks
This commit is contained in:
veprogames 2025-09-09 09:02:24 +02:00 committed by GitHub
parent 1ef52f56cb
commit de50a31609
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 336 additions and 260 deletions

View File

@ -124,7 +124,7 @@ class CustomMirrorRepositoriesList(ListManager[CustomRepository]):
raise ValueError('Unhandled return type') raise ValueError('Unhandled return type')
header += f'{tr("Signature check")}: {sign_check.value}\n' header += f'{tr("Signature check")}: {sign_check.value}\n'
prompt = f'{header}\n' + 'Select signature option' prompt = f'{header}\n' + tr('Select signature option')
sign_opt_items = [MenuItem(s.value, value=s.value) for s in SignOption] sign_opt_items = [MenuItem(s.value, value=s.value) for s in SignOption]
group = MenuItemGroup(sign_opt_items, sort_items=False) group = MenuItemGroup(sign_opt_items, sort_items=False)

View File

@ -74,6 +74,7 @@ msgid ""
"Select which mode to configure for \"{}\" or skip to use default mode \"{}\"" "Select which mode to configure for \"{}\" or skip to use default mode \"{}\""
msgstr "" msgstr ""
#, python-brace-format
msgid "Enter the IP and subnet for {} (example: 192.168.0.5/24): " msgid "Enter the IP and subnet for {} (example: 192.168.0.5/24): "
msgstr "" msgstr ""
@ -567,6 +568,7 @@ msgstr ""
msgid "Define users with sudo privilege, by username: " msgid "Define users with sudo privilege, by username: "
msgstr "" msgstr ""
#, python-brace-format
msgid "[!] A log file has been created here: {}" msgid "[!] A log file has been created here: {}"
msgstr "" msgstr ""
@ -849,9 +851,11 @@ msgstr ""
msgid "Select an execution mode" msgid "Select an execution mode"
msgstr "" msgstr ""
#, python-brace-format
msgid "Unable to fetch profile from specified url: {}" msgid "Unable to fetch profile from specified url: {}"
msgstr "" msgstr ""
#, python-brace-format
msgid "" msgid ""
"Profiles must have unique name, but profile definitions with duplicate name " "Profiles must have unique name, but profile definitions with duplicate name "
"found: {}" "found: {}"
@ -874,9 +878,11 @@ msgstr ""
msgid "Enter the root directory of the mounted devices: " msgid "Enter the root directory of the mounted devices: "
msgstr "" msgstr ""
#, python-brace-format
msgid "Minimum capacity for /home partition: {}GiB\n" msgid "Minimum capacity for /home partition: {}GiB\n"
msgstr "" msgstr ""
#, python-brace-format
msgid "Minimum capacity for Arch Linux partition: {}GiB" msgid "Minimum capacity for Arch Linux partition: {}GiB"
msgstr "" msgstr ""
@ -950,9 +956,11 @@ msgstr ""
msgid "This will remove all newly added partitions, continue?" msgid "This will remove all newly added partitions, continue?"
msgstr "" msgstr ""
#, python-brace-format
msgid "Partition management: {}" msgid "Partition management: {}"
msgstr "" msgstr ""
#, python-brace-format
msgid "Total length: {}" msgid "Total length: {}"
msgstr "" msgstr ""
@ -1013,6 +1021,7 @@ msgstr ""
msgid "Partition encryption" msgid "Partition encryption"
msgstr "" msgstr ""
#, python-brace-format
msgid " ! Formatting {} in " msgid " ! Formatting {} in "
msgstr "" msgstr ""
@ -1037,6 +1046,7 @@ msgstr ""
msgid "Please chose which greeter to install for the chosen profiles: {}" msgid "Please chose which greeter to install for the chosen profiles: {}"
msgstr "" msgstr ""
#, python-brace-format
msgid "Environment type: {}" msgid "Environment type: {}"
msgstr "" msgstr ""
@ -1231,6 +1241,7 @@ msgid ""
"Note:\n" "Note:\n"
msgstr "" msgstr ""
#, python-brace-format
msgid "" msgid ""
" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )" " - Maximum recommended value : {} ( Allows {} parallel downloads at a time )"
msgstr "" msgstr ""
@ -1306,6 +1317,7 @@ msgid ""
"e.g. GNOME, KDE Plasma, Sway" "e.g. GNOME, KDE Plasma, Sway"
msgstr "" msgstr ""
#, python-brace-format
msgid "Configuration type: {}" msgid "Configuration type: {}"
msgstr "" msgstr ""
@ -1436,6 +1448,7 @@ msgstr ""
msgid "Username" msgid "Username"
msgstr "" msgstr ""
#, python-brace-format
msgid "Should \"{}\" be a superuser (sudo)?\n" msgid "Should \"{}\" be a superuser (sudo)?\n"
msgstr "" msgstr ""
@ -1504,6 +1517,7 @@ msgid ""
"enabled)" "enabled)"
msgstr "" msgstr ""
#, python-brace-format
msgid "Do you want to save the configuration file(s) to {}?" msgid "Do you want to save the configuration file(s) to {}?"
msgstr "" msgstr ""
@ -1551,12 +1565,15 @@ msgstr ""
msgid "Signature check" msgid "Signature check"
msgstr "" msgstr ""
#, python-brace-format
msgid "Selected free space segment on device {}:" msgid "Selected free space segment on device {}:"
msgstr "" msgstr ""
#, python-brace-format
msgid "Size: {} / {}" msgid "Size: {} / {}"
msgstr "" msgstr ""
#, python-brace-format
msgid "Size (default: {}): " msgid "Size (default: {}): "
msgstr "" msgstr ""
@ -1724,6 +1741,7 @@ msgstr ""
msgid "What would you like to do next?" msgid "What would you like to do next?"
msgstr "" msgstr ""
#, python-brace-format
msgid "Select which mode to configure for \"{}\"" msgid "Select which mode to configure for \"{}\""
msgstr "" msgstr ""
@ -1742,5 +1760,70 @@ msgstr ""
msgid "Credentials file encryption password" msgid "Credentials file encryption password"
msgstr "" msgstr ""
#, python-brace-format
msgid "Repositories: {}" msgid "Repositories: {}"
msgstr "" msgstr ""
msgid "New version available"
msgstr ""
msgid "Passwordless login"
msgstr ""
msgid "Second factor login"
msgstr ""
msgid "Bluetooth"
msgstr ""
msgid "Would you like to configure Bluetooth?"
msgstr ""
msgid "Authentication"
msgstr ""
msgid "Applications"
msgstr ""
msgid "U2F login method: "
msgstr ""
msgid "Passwordless sudo: "
msgstr ""
#, python-brace-format
msgid "Btrfs snapshot type: {}"
msgstr ""
msgid "Syncing the system..."
msgstr ""
msgid "Value cannot be empty"
msgstr ""
msgid "Snapshot type"
msgstr ""
#, python-brace-format
msgid "Snapshot type: {}"
msgstr ""
msgid "U2F login setup"
msgstr ""
msgid "No U2F devices found"
msgstr ""
msgid "U2F Login Method"
msgstr ""
msgid "Enable passwordless sudo?"
msgstr ""
#, python-brace-format
msgid "Setting up U2F device for user: {}"
msgstr ""
msgid ""
"You may need to enter the PIN and then touch your U2F device to register it"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -40,7 +40,7 @@ fi
lang=${1} lang=${1}
# Update the base file containing all translatable strings # Update the base file containing all translatable strings
find . -type f -iname "*.py" | xargs xgettext --join-existing --no-location --omit-header -d base -o locales/base.pot find . -type f -iname "*.py" | xargs xgettext --join-existing --no-location --omit-header --keyword='tr' -d base -o locales/base.pot
case "${lang}" in case "${lang}" in
"all") generate_all;; "all") generate_all;;