Merge pull request #330 from NBA2K1/main

Translations + visual optimization
This commit is contained in:
Moustapha Kodjo Amadou 2024-12-09 11:50:00 +01:00 committed by GitHub
commit 90be80c90a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 54 additions and 23 deletions

View file

@ -38,13 +38,14 @@
"search": "Suche...",
"no_recent_updates": "Keine kürzlichen Aktualisierungen",
"remove_everything": "Alles entfernen",
"remove_everything_msg": "Sind Sie sicher? Alle Verläufe werden gelöscht",
"remove_everything_msg": "Bist du dir sicher? Alle Verläufe werden gelöscht",
"remove_all_update_msg": "Bist du dir sicher? Alle Updates werden gelöscht",
"ok": "OK",
"cancel": "Abbrechen",
"remove": "Entfernen",
"remove_history_msg": "Das wird das Lesedatum dieses Kapitels entfernen. Sind Sie sicher?",
"remove_history_msg": "Das wird das Lesedatum dieses Kapitels entfernen. Bist du dir sicher?",
"last_used": "Zuletzt verwendet",
"pinned": "Angeheftet",
"pinned": "Fixiert",
"sources": "Quellen",
"install": "Installieren",
"update": "Aktualisieren",
@ -60,14 +61,14 @@
"help": "Hilfe",
"no_downloads": "Keine Downloads",
"edit_categories": "Kategorien bearbeiten",
"edit_categories_description": "Sie haben keine Kategorien. Tippen Sie auf den Plus-Button, um eine für Ihre Bibliothek zu erstellen",
"edit_categories_description": "Du hast keine Kategorien. Tippe auf den Plus-Button, um eine zu erstellen",
"add": "Hinzufügen",
"add_category": "Kategorie hinzufügen",
"name": "Name",
"category_name_required": "*Erforderlich",
"add_category_error_exist": "Eine Kategorie mit diesem Namen existiert bereits!",
"delete_category": "Kategorie löschen",
"delete_category_msg": "Möchten Sie die Kategorie {name} wirklich löschen?",
"delete_category_msg": "Möchtest du die Kategorie {name} wirklich löschen?",
"rename_category": "Kategorie umbenennen",
"general": "Allgemein",
"general_subtitle": "App-Sprache",
@ -84,7 +85,7 @@
"relative_timestamp_short": "Kurz (Heute, Gestern)",
"relative_timestamp_long": "Lang (Kurz+, vor n Tagen)",
"date_format": "Datumsformat",
"reader": "Leser",
"reader": "Reader",
"refresh": "Aktualisieren",
"reader_subtitle": "Lesemodus, Anzeige, Navigation",
"default_reading_mode": "Standard-Lesemodus",
@ -107,7 +108,7 @@
"only_on_wifi": "Nur über WLAN",
"save_as_cbz_archive": "Als CBZ-Archiv speichern",
"browse_subtitle": "Quellen, globale Suche",
"only_include_pinned_sources": "Nur angeheftete Quellen einbeziehen",
"only_include_pinned_sources": "Nur fixierte Quellen einbeziehen",
"nsfw_sources": "NSFW (+18) Quellen",
"nsfw_sources_show": "In Quellen- und Erweiterungslisten anzeigen",
"nsfw_sources_info": "Dies verhindert nicht, dass inoffizielle oder möglicherweise falsch gekennzeichnete Erweiterungen NSFW (18+) Inhalte in der App anzeigen",
@ -180,11 +181,11 @@
"add_tracker": "Tracker hinzufügen",
"one_tracker": "1 Tracker",
"n_tracker": "{n} Tracker",
"tracking": "Verfolgung",
"tracking": "Tracking",
"syncing": "Synchronisierung",
"sync_password": "Passwort (mind. 8 Zeichen)",
"sync_logged": "Login erfolgreich!",
"syncing_subtitle": "Sync your progress across multiple devices via a self-hosted \nserver. Make sure to upload first if this is your first time \nsyncing or download before using (auto) sync on this device!",
"syncing_subtitle": "Synchronisiere deinen Fortschritt über mehrere Geräte mithilfe \neines selbstgehosteten Servers. Beim ersten synchronisieren \nsolltest du zuerst \"Alles hochladen\" oder \"Alles herunterladen\" \nbevor du die (Auto-)Synchronisation auf diesem Gerät aktivierst!",
"last_sync": "Zuletzt synchronisiert: ",
"last_upload": "Zuletzt hochgeladen: ",
"last_download": "Zuletzt heruntergeladen: ",
@ -205,6 +206,8 @@
"sync_confirm_download": "Deine lokalen Daten werden jetzt durch den Daten vom Server ersetzt!",
"dialog_confirm": "Fortfahren",
"description": "Beschreibung",
"full_screen_player": "Vollbildmodus aktivieren",
"full_screen_player_info": "Vollbildmodus in Videos automatisch aktivieren.",
"episode_progress": "Fortschritt: {n}",
"n_episodes": "{n} Episoden",
"manga_sources": "Manga-Quellen",
@ -213,7 +216,7 @@
"manga_extensions": "Manga-Erweiterungen",
"anime": "Anime",
"manga": "Manga",
"library_no_category_exist": "Sie haben noch keine Kategorien",
"library_no_category_exist": "Du hast noch keine Kategorien",
"watching": "Am Schauen",
"plan_to_watch": "Plan zu schauen",
"re_watching": "Erneutes Schauen",
@ -240,8 +243,8 @@
"add_episodes": "Episoden hinzufügen",
"video_quality": "Qualität",
"video_subtitle": "Untertitel",
"check_for_extension_updates": "Nach Erweiterungsaktualisierungen suchen",
"auto_extensions_updates": "Automatische Erweiterungsaktualisierungen",
"check_for_extension_updates": "Nach Erweiterungsupdates suchen",
"auto_extensions_updates": "Erweiterungen automatisch aktualisieren",
"auto_extensions_updates_subtitle": "Aktualisiert die Erweiterung automatisch, wenn eine neue Version verfügbar ist.",
"reading_mode": "Lesemodus",
"custom_filter": "Benutzerdefinierter Filter",
@ -261,9 +264,9 @@
"log_out": "Abmelden",
"update_pending": "Aktualisierung ausstehend",
"update_all": "Alle aktualisieren",
"backup_and_restore": "Backup und Wiederherstellung",
"backup_and_restore": "Sichern und Wiederherstellen",
"create_backup": "Backup erstellen",
"create_backup_dialog_title": "Was möchten Sie sichern?",
"create_backup_dialog_title": "Was möchtest du sichern?",
"create_backup_subtitle": "Kann verwendet werden, um die aktuelle Bibliothek wiederherzustellen",
"restore_backup": "Backup wiederherstellen",
"restore_backup_subtitle": "Bibliothek aus Backup-Datei wiederherstellen",
@ -271,9 +274,9 @@
"backup_frequency": "Sicherungshäufigkeit",
"backup_location": "Sicherungsort",
"backup_options": "Sicherungsoptionen",
"backup_options_dialog_title": "Was möchten Sie sichern?",
"backup_options_subtitle": "Welche Informationen sollen in die Sicherungsdatei aufgenommen werden",
"backup_and_restore_warning_info": "Sie sollten Kopien der Sicherungen auch an anderen Orten aufbewahren",
"backup_options_dialog_title": "Was möchtest du sichern?",
"backup_options_subtitle": "Welche Informationen sollen in die Sicherungsdatei aufgenommen werden?",
"backup_and_restore_warning_info": "Du solltest Kopien der Sicherungen auch an anderen Orten aufbewahren",
"library_entries": "Bibliothekseinträge",
"chapters_and_episode": "Kapitel und Episode",
"every_6_hours": "Alle 6 Stunden",
@ -283,7 +286,7 @@
"weekly": "Wöchentlich",
"restore_backup_warning_title": "Das Wiederherstellen einer Sicherung überschreibt alle vorhandenen Daten.\n\nFortfahren mit der Wiederherstellung?",
"services": "Dienste",
"tracking_warning_info": "Einweg-Synchronisierung zum Aktualisieren des Kapitelfortschritts in Tracking-Diensten. Richten Sie das Tracking für einzelne Einträge über deren Tracking-Schaltfläche ein.",
"tracking_warning_info": "Einweg-Synchronisierung zum Aktualisieren des Kapitelfortschritts in Tracking-Diensten. Richte das Tracking für einzelne Einträge über deren Tracking-Schaltfläche ein.",
"use_page_tap_zones": "Seiten-Tippzonen verwenden",
"manage_trackers": "Tracker verwalten",
"restore": "Wiederherstellen",
@ -298,13 +301,17 @@
"default_skip_intro_length": "Standardlänge für Intro überspringen",
"default_playback_speed_length": "Standardlänge für Wiedergabegeschwindigkeit",
"updateProgressAfterReading": "Fortschritt nach dem Lesen aktualisieren",
"syncAfterReading": "Nach dem Lesen oder Anschauen synchronisieren",
"syncOnAppLaunch": "Beim Öffnen der App synchronisieren",
"no_sources_installed": "Keine Quellen installiert!",
"show_extensions": "Erweiterungen anzeigen",
"default_skip_forward_skip_length": "Standardmäßige Länge des Vorwärtsspringens",
"aniskip_requires_info": "AniSkip erfordert, dass der Anime mit MAL oder Anilist verfolgt wird, um zu funktionieren.",
"aniskip_requires_info": "MAL oder Anilist tracking muss konfiguriert werden, damit AniSkip funktioniert.",
"enable_aniskip": "AniSkip aktivieren",
"enable_auto_skip": "Automatisches Überspringen aktivieren",
"aniskip_button_timeout": "Timeout für Taste",
"skip_opening": "Opening überspringen",
"skip_ending": "Ending überspringen",
"fullscreen": "Vollbild",
"update_library": "Bibliothek aktualisieren",
"updating_library": "Bibliothek wird aktualisiert",
@ -348,7 +355,7 @@
"edit_code": "Code bearbeiten",
"use_libass": "Libass aktivieren",
"use_libass_info": "Libass-basierte Untertitel-Wiedergabe für natives Backend verwenden.",
"libass_not_disable_message": "Deaktivieren Sie 'use libass' in den Playereinstellungen, um die Untertitel anpassen zu können.",
"libass_not_disable_message": "Deaktiviere \"Libass aktivieren\" in den Playereinstellungen, um die Untertitel anpassen zu können.",
"torrent_stream": "Torrent-Stream",
"add_torrent": "Torrent hinzufügen",
"enter_torrent_hint_text": "Magnet- oder Torrent-Datei-URL eingeben",
@ -356,5 +363,12 @@
"or": "ODER",
"advanced": "Erweitert",
"use_native_http_client": "Nativen HTTP-Client verwenden",
"use_native_http_client_info": "Unterstützt automatisch Plattformfunktionen wie VPNs, unterstützt mehr HTTP-Funktionen wie HTTP/3 und benutzerdefinierte Umleitungshandhabung."
"use_native_http_client_info": "Unterstützt automatisch Plattformfunktionen wie VPNs, unterstützt mehr HTTP-Funktionen wie HTTP/3 und benutzerdefinierte Umleitungshandhabung.",
"n_hour_ago": "Vor {hour} Stunde",
"n_hours_ago": "Vor {hours} Stunden",
"n_minute_ago": "Vor {minute} Minute",
"n_minutes_ago": "Vor {minutes} Minuten",
"n_day_ago": "Vor {day} Tag",
"now": "jetzt",
"library_last_updated": "Bibliothek zuletzt am {lastUpdated} aktualisiert."
}

View file

@ -275,7 +275,7 @@
"backup_location": "Backup location",
"backup_options": "Backup options",
"backup_options_dialog_title": "What do you want to backup?",
"backup_options_subtitle": "What information to include in the backup file",
"backup_options_subtitle": "What information to include in the backup file?",
"backup_and_restore_warning_info": "You should keep copies of backups in other places as well",
"library_entries": "Library entries",
"chapters_and_episode": "Chapters and episode",

View file

@ -25,6 +25,17 @@ class MainScreen extends ConsumerWidget {
final Widget child;
String getHyphenatedUpdatesLabel(String languageCode, String defaultLabel) {
switch (languageCode) {
case 'de': return "Aktuali-\nsierungen";
case 'es':
case 'es_419': return "Actuali-\nzaciones";
case 'it': return "Aggiorna-\nmenti";
case 'tr': return "Güncel-\nlemeler";
default: return defaultLabel;
}
}
@override
Widget build(BuildContext context, WidgetRef ref) {
final l10n = l10nLocalizations(context)!;
@ -144,7 +155,13 @@ class MainScreen extends ConsumerWidget {
top: 5),
child: Stack(
children: [
Text(l10n.updates),
Text(
getHyphenatedUpdatesLabel(
ref.watch(l10nLocaleStateProvider).languageCode,
l10n.updates,
),
textAlign: TextAlign.center,
),
],
))),
NavigationRailDestination(