From f08ec5294fba43e048e4be3a638f74ad07a87604 Mon Sep 17 00:00:00 2001 From: Matthias Date: Thu, 23 Jun 2022 20:20:51 +0200 Subject: [PATCH] More translations --- mobile/assets/i18n/de-DE.json | 101 ++++++++++++------ mobile/assets/i18n/en-US.json | 10 +- .../views/backup_album_selection_page.dart | 2 +- .../backup/views/backup_controller_page.dart | 4 +- .../lib/shared/views/tab_controller_page.dart | 9 +- 5 files changed, 85 insertions(+), 41 deletions(-) diff --git a/mobile/assets/i18n/de-DE.json b/mobile/assets/i18n/de-DE.json index bbb3b8ea3d540..b20896d76f881 100644 --- a/mobile/assets/i18n/de-DE.json +++ b/mobile/assets/i18n/de-DE.json @@ -1,42 +1,81 @@ { - "date_format": "E, LLL d, y \u2022 HH:mm", + "asset_description": "Beschreibung hinzufügen...", + "asset_details": "DETAILS", + "asset_err_corrupted": "Fehler bei der Darstellung - Daten sind beschädigt", + "asset_location": "STANDORT", + "backup_album_excluded": "AUSGESCHLOSSEN", + "backup_album_included": "EINGESCHLOSSEN", + "backup_albums": "Gesicherte Alben", + "backup_albums_device": "Alben auf dem Gerät", + "backup_albums_tap": "Tippe um hinzuzufügen, tippe doppelt um zu entfernen", + "backup_all": "Alle", + "backup_assets": "Gesicherte Einträge: ", + "backup_backup": "Sicherung", + "backup_backup_sub": "Gesicherte Fotos und Videos", + "backup_cancel": "Abbrechen", + "backup_done": "Fertig", + "backup_err_only_album": "Kann das einzige Album nicht löschen", + "backup_excluded": "Ausgeschlossen: ", + "backup_info": "Über die Sicherung", + "backup_info_assets": "Einträge", + "backup_info_assets_scatter": "Dateien können sich über mehrere Alben verteilen.Daher können Alben während des Backup Prozesses inkludiert oder exkludiert werden.", + "backup_none_selected": "Nichts ausgewählt", + "backup_progress": "Backup Fortschritt: ", + "backup_remainder": "Übrig: ", + "backup_remainder_sub": "Noch nicht gesicherte Fotos und Videos aus gewählten Alben ", + "backup_select": "Auswählen", + "backup_select_albums": "Wähle Alben aus", + "backup_selected": "Ausgewählt: ", + "backup_selection_info": "Auswahl Informationen", + "backup_server_storage": "Speicherplatz auf dem Server", + "backup_status_off": "Sicherung deaktiviert", + "backup_status_on": "Sicherung aktiviert", + "backup_storage_format": "{} von {} genutzt", + "backup_to_backup": "Zu sichernde Alben", + "backup_total": "Gesamt", + "backup_total_assets": "Gesamtzahl", + "backup_total_sub": "Alle Fotos und Videos aus gewählten Alben", + "backup_turn_off": "Sicherung deaktivieren", + "backup_turn_on": "Sicherung aktivieren", + "create_shared_album": "Geteiltes Album erstellen", + "date_format": "E, LLL d, y • HH:mm", + "desc_backup": "Aktiviere automatische Sicherung auf den Server.", "login_button_text": "Anmelden", - "save_login": "Angemeldet bleiben", - "login_endpoint_url": "Server URL", + "login_email_hint": "deine@email.com", "login_endpoint_hint": "http://dein-server:port", - "login_err_trailing_whitespace": "Abschlie\u00dfendes Leerzeichen", - "login_err_leading_whitespace": "F\u00fchrendes Leerzeichen", - "login_err_invalid_email": "Ung\u00fcltige Email-Adresse", + "login_endpoint_url": "Server URL", "login_err_http": "Muss mit http:// oder https:// starten", + "login_err_invalid_email": "Ungültige Email-Adresse", + "login_err_leading_whitespace": "Führendes Leerzeichen", + "login_err_trailing_whitespace": "Abschließendes Leerzeichen", "login_label_email": "Email-Adresse", - "login_email_hint": "deine@email.com", "login_label_password": "Passwort", "login_password_hint": "passwort", - "share_add_title": "Titel hinzuf\u00fcgen", - "share_err_delete": "Fehler beim L\u00f6schen des Albums", + "nav_photos": "Fotos", + "nav_search": "Suche", + "nav_sharing": "Freigabe", + "save_login": "Angemeldet bleiben", + "share_add": "Hinzufügen", + "share_add_assets": "EINTRÄGE HINZUFÜGEN", + "share_add_photos": "Fotos hinzufügen", + "share_add_title": "Titel hinzufügen", + "share_add_users": "Nutzer hinzufügen", + "share_album": "Geteilte Alben", + "share_create_album": "Album erstellen", + "share_delete": "Album löschen", + "share_description": "Erstelle geteilte Alben um Fotos und Videos mit Menschen aus deinem Netzwerk zu teilen.", + "share_empty_list": "LEERE LISTE", + "share_err_album": "Fehler beim Erstellen des Albums", + "share_err_delete": "Fehler beim Löschen des Albums", "share_err_leave": "Fehler beim Verlassen des Albums", - "share_err_remove": "Eintr\u00e4ge konnten nicht aus dem Album gel\u00f6scht werden", - "share_err_title": "Fehler beim \u00c4ndern des Titels", - "share_remove": "Aus Album entfernen", - "share_delete": "Album l\u00f6schen", + "share_err_remove": "Einträge konnten nicht aus dem Album gelöscht werden", + "share_err_title": "Fehler beim Ändern des Titels", + "share_invite": "Zum Album einladen", "share_leave": "Album verlassen", - "create_shared_album": "Geteiltes Album erstellen", "share_partner": "Mit Partner teilen", - "share_add_photos": "Fotos hinzuf\u00fcgen", - "share_add_users": "Nutzer hinzuf\u00fcgen", - "share_add": "Hinzuf\u00fcgen", - "share_add_assets": "EINTR\u00c4GE HINZUF\u00dcGEN", - "share_select_photos": "Fotos ausw\u00e4hlen", - "share_create_album": "Album erstellen", + "share_remove": "Aus Album entfernen", + "share_select_photos": "Fotos auswählen", "share_share": "Teilen", - "share_suggestions": "Vorschl\u00e4ge", - "share_invite": "Zu Album einladen", - "share_err_album": "Fehler beim Erstellen des Albums", - "share_empty_list": "LEERE LISTE", - "share_description": "Erstelle geteilte Alben um Fotos und Videos mit Menschen aus deinem Netzwerk zu teilen.", - "share_album": "Geteilte Alben", - "asset_description": "Beschreibung hinzuf\u00fcgen...", - "asset_location": "STANDORT", - "asset_details": "DETAILS", - "asset_err_corrupted": "Fehler bei der Darstellung - Daten sind besch\u00e4digt" -} + "share_suggestions": "Vorschläge", + "start_backup": "Starte Backup" +} \ No newline at end of file diff --git a/mobile/assets/i18n/en-US.json b/mobile/assets/i18n/en-US.json index 2ed6cd364f59a..f17f29e96ec39 100644 --- a/mobile/assets/i18n/en-US.json +++ b/mobile/assets/i18n/en-US.json @@ -60,7 +60,7 @@ "backup_backup_sub": "Photos and videos from selected albums that are backup", "backup_remainder": "Remainder", "backup_remainder_sub": "Photos and videos that has not been backing up from selected albums", - "backup_assets": "Asset that were being backup: ", + "backup_assets": "Asset that were being backup: {}", "backup_progress": "Backup Progress:", "backup_done": "Done", "backup_cancel": "Cancel", @@ -71,7 +71,11 @@ "backup_select_albums": "Select Albums", "backup_selection_info": "Selection Info", "backup_total_assets": "Total unique assets", - "backup_albums_device": "Albums on device ", + "backup_albums_device": "Albums on device ({})", "backup_albums_tap": "Tap to include, double tap to exclude", - "backup_info_assets_scatter": "Assets can scatter across multiple albums. Thus, albums can be included or excluded during the backup process." + "backup_info_assets_scatter": "Assets can scatter across multiple albums. Thus, albums can be included or excluded during the backup process.", + "backup_storage_format": "{} of {} used", + "nav_photos": "Photos", + "nav_search": "Search", + "nav_sharing": "Sharing" } \ No newline at end of file diff --git a/mobile/lib/modules/backup/views/backup_album_selection_page.dart b/mobile/lib/modules/backup/views/backup_album_selection_page.dart index 3e65d506b1221..94720370a48fd 100644 --- a/mobile/lib/modules/backup/views/backup_album_selection_page.dart +++ b/mobile/lib/modules/backup/views/backup_album_selection_page.dart @@ -180,7 +180,7 @@ class BackupAlbumSelectionPage extends HookConsumerWidget { ListTile( title: Text( - "backup_albums_device".tr() + "(${availableAlbums.length.toString()})", + "backup_albums_device".tr(args: [availableAlbums.length.toString()]), style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 14), ), subtitle: Padding( diff --git a/mobile/lib/modules/backup/views/backup_controller_page.dart b/mobile/lib/modules/backup/views/backup_controller_page.dart index 84ae649aa8a7f..b6ec892c2657b 100644 --- a/mobile/lib/modules/backup/views/backup_controller_page.dart +++ b/mobile/lib/modules/backup/views/backup_controller_page.dart @@ -59,7 +59,7 @@ class BackupControllerPage extends HookConsumerWidget { ), Padding( padding: const EdgeInsets.only(top: 12.0), - child: Text('${backupState.serverInfo.diskUse} of ${backupState.serverInfo.diskSize} used'), + child: Text('backup_storage_format').tr(args: [backupState.serverInfo.diskUse, backupState.serverInfo.diskSize]), ), ], ), @@ -275,7 +275,7 @@ class BackupControllerPage extends HookConsumerWidget { Padding( padding: const EdgeInsets.all(8.0), child: Text( - "backup_assets".tr() + "${backupState.allUniqueAssets.length - backupState.selectedAlbumsBackupAssetsIds.length} [${backupState.progressInPercentage.toStringAsFixed(0)}%]"), + "backup_assets".tr(args: ["${backupState.allUniqueAssets.length - backupState.selectedAlbumsBackupAssetsIds.length} [${backupState.progressInPercentage.toStringAsFixed(0)}%]"])), ), Padding( padding: const EdgeInsets.only(left: 8.0), diff --git a/mobile/lib/shared/views/tab_controller_page.dart b/mobile/lib/shared/views/tab_controller_page.dart index 2c303c39af029..dea326b256754 100644 --- a/mobile/lib/shared/views/tab_controller_page.dart +++ b/mobile/lib/shared/views/tab_controller_page.dart @@ -1,4 +1,5 @@ import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/modules/home/providers/home_page_state.provider.dart'; @@ -38,10 +39,10 @@ class TabControllerPage extends ConsumerWidget { onTap: (index) { tabsRouter.setActiveIndex(index); }, - items: const [ - BottomNavigationBarItem(label: 'Photos', icon: Icon(Icons.photo)), - BottomNavigationBarItem(label: 'Search', icon: Icon(Icons.search)), - BottomNavigationBarItem(label: 'Sharing', icon: Icon(Icons.group_outlined)), + items: [ + BottomNavigationBarItem(label: 'nav_photos'.tr(), icon: const Icon(Icons.photo)), + BottomNavigationBarItem(label: 'nav_search'.tr(), icon: const Icon(Icons.search)), + BottomNavigationBarItem(label: 'nav_sharing'.tr(), icon: const Icon(Icons.group_outlined)), ], ), ),