diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n.dart b/.dart_tool/flutter_gen/gen_l10n/l10n.dart index 0bd0436d..d3087936 100644 --- a/.dart_tool/flutter_gen/gen_l10n/l10n.dart +++ b/.dart_tool/flutter_gen/gen_l10n/l10n.dart @@ -5,6 +5,7 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:intl/intl.dart' as intl; +import 'l10n_de.dart'; import 'l10n_en.dart'; import 'l10n_zh.dart'; @@ -89,6 +90,7 @@ abstract class S { /// A list of this localizations delegate's supported locales. static const List supportedLocales = [ + Locale('de'), Locale('en'), Locale('zh') ]; @@ -1135,7 +1137,7 @@ class _SDelegate extends LocalizationsDelegate { } @override - bool isSupported(Locale locale) => ['en', 'zh'].contains(locale.languageCode); + bool isSupported(Locale locale) => ['de', 'en', 'zh'].contains(locale.languageCode); @override bool shouldReload(_SDelegate old) => false; @@ -1146,6 +1148,7 @@ S lookupS(Locale locale) { // Lookup logic when only language code is specified. switch (locale.languageCode) { + case 'de': return SDe(); case 'en': return SEn(); case 'zh': return SZh(); } diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n_de.dart b/.dart_tool/flutter_gen/gen_l10n/l10n_de.dart new file mode 100644 index 00000000..90cffd96 --- /dev/null +++ b/.dart_tool/flutter_gen/gen_l10n/l10n_de.dart @@ -0,0 +1,566 @@ +import 'l10n.dart'; + +/// The translations for German (`de`). +class SDe extends S { + SDe([String locale = 'de']) : super(locale); + + @override + String get about => 'Über'; + + @override + String get aboutThanks => '\nVielen Dank an die folgenden Personen, die zu dieser App beigetragen haben.\n'; + + @override + String get addAServer => 'Server hinzufügen'; + + @override + String get addOne => 'Hinzufügen'; + + @override + String get addPrivateKey => 'Private key hinzufügen'; + + @override + String get alreadyLastDir => 'Bereits im letzten Verzeichnis.'; + + @override + String get appPrimaryColor => 'Farbschema'; + + @override + String get attention => 'Achtung'; + + @override + String get auto => 'System folgen'; + + @override + String get backup => 'Backup'; + + @override + String get backupAndRestore => 'Backup und Wiederherstellung'; + + @override + String get backupTip => 'Das Backup wird nur einfach verschlüsselt.\nBitte bewahre die Datei sicher auf.'; + + @override + String get backupVersionNotMatch => 'Die Backup-Version stimmt nicht überein.'; + + @override + String get bgRun => 'Hintergrundaktualisierung'; + + @override + String get canPullRefresh => 'Danach: herunterziehen zum Aktualisieren'; + + @override + String get cancel => 'Abbrechen'; + + @override + String get choose => 'Auswählen'; + + @override + String get chooseFontFile => 'Schriftart auswählen'; + + @override + String get choosePrivateKey => 'Private key auswählen'; + + @override + String get clear => 'Entfernen'; + + @override + String get clickSee => 'Hier klicken'; + + @override + String get close => 'Schließen'; + + @override + String get cmd => 'Command'; + + @override + String get containerName => 'Container Name'; + + @override + String get containerStatus => 'Container Status'; + + @override + String get convert => 'Konvertieren'; + + @override + String get copy => 'Kopieren'; + + @override + String get copyPath => 'Pfad kopieren'; + + @override + String get createFile => 'Datei erstellen'; + + @override + String get createFolder => 'Ordner erstellen'; + + @override + String get dark => 'Dunkel'; + + @override + String get debug => 'Debug'; + + @override + String get decode => 'Decode'; + + @override + String get delete => 'Löschen'; + + @override + String get disconnected => 'Disconnected'; + + @override + String dl2Local(Object fileName) { + return 'Datei \"$fileName\" herunterladen?'; + } + + @override + String get dockerEditHost => 'DOCKER_HOST bearbeiten'; + + @override + String get dockerEmptyRunningItems => 'Keine aktiven Container.\n\nWomöglich wird die Umgebungsvariable DOCKER_HOST nicht richtig erkannt. Du kannst sie finden, indem du `echo \$DOCKER_HOST` im Terminal ausführst.'; + + @override + String dockerImagesFmt(Object count) { + return '$count Image(s)'; + } + + @override + String get dockerNotInstalled => 'Docker ist nicht installiert'; + + @override + String dockerStatusRunningAndStoppedFmt(Object runningCount, Object stoppedCount) { + return '$runningCount aktiv, $stoppedCount container gestoppt.'; + } + + @override + String dockerStatusRunningFmt(Object count) { + return '$count Container aktiv'; + } + + @override + String get download => 'Download'; + + @override + String get downloadFinished => 'Download abgeschlossen'; + + @override + String downloadStatus(Object percent, Object size) { + return '$percent% von $size'; + } + + @override + String get edit => 'Bearbeiten'; + + @override + String get encode => 'Encode'; + + @override + String get error => 'Fehler'; + + @override + String get exampleName => 'Servername'; + + @override + String get experimentalFeature => 'Experimentelles Feature'; + + @override + String get export => 'Export'; + + @override + String get extraArgs => 'Extra args'; + + @override + String get failed => 'Failed'; + + @override + String get feedback => 'Feedback'; + + @override + String get feedbackOnGithub => 'Wenn du Fragen hast, stelle diese bitte auf Github.'; + + @override + String get fieldMustNotEmpty => 'Die Eingabefelder dürfen nicht leer sein.'; + + @override + String fileNotExist(Object file) { + return '$file existiert nicht'; + } + + @override + String fileTooLarge(Object file, Object size, Object sizeMax) { + return 'Datei \'$file\' ist zu groß $size, max $sizeMax'; + } + + @override + String get files => 'Dateien'; + + @override + String foundNUpdate(Object count) { + return 'Update $count gefunden'; + } + + @override + String get getPushTokenFailed => 'Push-Token kann nicht abgerufen werden'; + + @override + String get gettingToken => 'Getting token...'; + + @override + String get goto => 'Pfad öffnen'; + + @override + String get host => 'Host'; + + @override + String httpFailedWithCode(Object code) { + return 'Anfrage fehlgeschlagen, Statuscode: $code'; + } + + @override + String get image => 'Image'; + + @override + String get imagesList => 'Images'; + + @override + String get import => 'Importieren'; + + @override + String get inputDomainHere => 'Domain eingeben'; + + @override + String get install => 'install'; + + @override + String get installDockerWithUrl => 'Bitte installiere docker zuerst. https://docs.docker.com/engine/install'; + + @override + String get invalidJson => 'Ungültige JSON'; + + @override + String get invalidVersion => 'Ungültige Version'; + + @override + String invalidVersionHelp(Object url) { + return 'Bitte stelle sicher, dass Docker korrekt installiert ist oder dass du eine nicht selbstkompilierte Version verwendest. Wenn du die oben genannten Probleme nicht hast, melde bitte einen Fehler auf $url.'; + } + + @override + String get isBusy => 'Is busy now'; + + @override + String get keepForeground => 'Stelle sicher, dass die App geöffnet bleibt.'; + + @override + String get keyAuth => 'Schlüsselauthentifzierung'; + + @override + String get lastTry => 'Letzter Versuch'; + + @override + String get launchPage => 'Startseite'; + + @override + String get license => 'Lizenzen'; + + @override + String get light => 'Hell'; + + @override + String get loadingFiles => 'Lädt Dateien...'; + + @override + String get loss => 'loss'; + + @override + String madeWithLove(Object myGithub) { + return 'Erstellt mit ❤️ von $myGithub'; + } + + @override + String get max => 'max'; + + @override + String get maxRetryCount => 'Anzahl an Verbindungsversuchen'; + + @override + String get maxRetryCountEqual0 => 'Unbegrenzte Verbindungsversuche zum Server'; + + @override + String get min => 'min'; + + @override + String get ms => 'ms'; + + @override + String get name => 'Name'; + + @override + String get needRestart => 'App muss neugestartet werden'; + + @override + String get newContainer => 'Neuer Container'; + + @override + String get noClient => 'Kein Client'; + + @override + String get noInterface => 'Kein Interface'; + + @override + String get noResult => 'Kein Ergebnis'; + + @override + String get noSavedPrivateKey => 'Keine gespeicherten Private Keys'; + + @override + String get noSavedSnippet => 'Keine gespeicherten snippets.'; + + @override + String get noServerAvailable => 'Kein Server verfügbar.'; + + @override + String get noUpdateAvailable => 'Kein Update verfügbar'; + + @override + String get notSelected => 'Nicht ausgewählt'; + + @override + String get nullToken => 'Null token'; + + @override + String get ok => 'OK'; + + @override + String get onServerDetailPage => 'in Detailansicht des Servers'; + + @override + String get open => 'Öffnen'; + + @override + String get paste => 'Einfügen'; + + @override + String get path => 'Pfad'; + + @override + String get pickFile => 'Datei wählen'; + + @override + String get pingAvg => 'Avg:'; + + @override + String get pingInputIP => 'Bitte gib eine Ziel-IP/Domain ein.'; + + @override + String get pingNoServer => 'Kein Server zum Anpingen.\nBitte füge einen Server hinzu.'; + + @override + String get pkg => 'Pkg'; + + @override + String get platformNotSupportUpdate => 'Die aktuelle Plattform unterstützt keine In-App-Updates.\nBitte kompiliere vom Quellcode und installiere sie.'; + + @override + String get plzEnterHost => 'Bitte Host eingeben.'; + + @override + String get plzSelectKey => 'Wähle einen Key.'; + + @override + String get port => 'Port'; + + @override + String get preview => 'Vorschau'; + + @override + String get privateKey => 'Private Key'; + + @override + String get pushToken => 'Push Token'; + + @override + String get pwd => 'Passwort'; + + @override + String get rename => 'Umbenennen'; + + @override + String reportBugsOnGithubIssue(Object url) { + return 'Bitte Bugs auf $url melden'; + } + + @override + String get restart => 'Neustart'; + + @override + String get restore => 'Wiederherstellen'; + + @override + String get restoreSuccess => 'Wiederherstellung erfolgreich. App neustarten um Änderungen anzuwenden.'; + + @override + String restoreSureWithDate(Object date) { + return 'Bist du sicher, dass du das Backup vom $date wiederherstellen möchtest?'; + } + + @override + String get result => 'Result'; + + @override + String get run => 'Ausführen'; + + @override + String get save => 'Speichern'; + + @override + String get second => 's'; + + @override + String get server => 'Server'; + + @override + String get serverTabConnecting => 'Verbinden...'; + + @override + String get serverTabEmpty => 'Keine Server vorhanden.'; + + @override + String get serverTabFailed => 'Fehlgeschlagen'; + + @override + String get serverTabLoading => 'Lädt...'; + + @override + String get serverTabPlzSave => 'Bitte \'speichere\' diesen privaten Schlüssel erneut.'; + + @override + String get serverTabUnkown => 'Unbekannter Status'; + + @override + String get setting => 'Einstellungen'; + + @override + String get sftpDlPrepare => 'Verbindung vorbereiten...'; + + @override + String get sftpNoDownloadTask => 'Keine aktiven Downloads.'; + + @override + String get sftpSSHConnected => 'SFTP Verbunden'; + + @override + String get showDistLogo => 'Distributionslogo anzeigen'; + + @override + String get snippet => 'Snippet'; + + @override + String spentTime(Object time) { + return 'Benötigte Zeit: $time'; + } + + @override + String sshTip(Object url) { + return 'Diese Funktion befindet sich jetzt in der Experimentierphase.\n\nBitte melde Bugs auf $url oder mach mit bei der Entwicklung.'; + } + + @override + String get start => 'Start'; + + @override + String get stop => 'Stop'; + + @override + String get success => 'Erfolgreich'; + + @override + String sureDelete(Object name) { + return 'Soll [$name] wirklich gelöscht werden?'; + } + + @override + String get sureDirEmpty => 'Stelle sicher, dass der Ordner leer ist.'; + + @override + String get sureNoPwd => 'Bist du sicher, dass du kein Passwort verwenden willst?'; + + @override + String sureToDeleteServer(Object server) { + return 'Bist du sicher, dass du [$server] löschen willst?'; + } + + @override + String get termTheme => 'Farbschema des Terminals'; + + @override + String get themeMode => 'Thememodus'; + + @override + String get times => 'x'; + + @override + String get ttl => 'ttl'; + + @override + String get unknown => 'Unbekannt'; + + @override + String get unknownError => 'Unbekannter Fehler'; + + @override + String get unkownConvertMode => 'Unbekannter Konvertierungsmodus'; + + @override + String get update => 'Update'; + + @override + String get updateAll => 'Alle aktualisieren'; + + @override + String get updateIntervalEqual0 => 'Wenn du den Wert 0 einstellst, wird nicht automatisch aktualisiert.\nDer CPU-Status kann nicht berechnet werden.'; + + @override + String get updateServerStatusInterval => 'Aktualisierungsintervall des Serverstatus'; + + @override + String updateTip(Object newest) { + return 'Update: v1.0.$newest'; + } + + @override + String updateTipTooLow(Object newest) { + return 'Aktuelle Version ist zu alt, bitte update auf v1.0.$newest'; + } + + @override + String get upsideDown => 'Upside Down'; + + @override + String get urlOrJson => 'URL oder JSON'; + + @override + String get user => 'Benutzer'; + + @override + String versionHaveUpdate(Object build) { + return 'Gefunden: v1.0.$build, klicke zum Aktualisieren'; + } + + @override + String versionUnknownUpdate(Object build) { + return 'Aktuell: v1.0.$build'; + } + + @override + String versionUpdated(Object build) { + return 'v1.0.$build ist bereits die neueste Version'; + } + + @override + String get waitConnection => 'Bitte warte, bis die Verbindung hergestellt wurde.'; + + @override + String get willTakEeffectImmediately => 'Wird sofort angewendet'; +} diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb new file mode 100644 index 00000000..2c31df78 --- /dev/null +++ b/lib/l10n/app_de.arb @@ -0,0 +1,174 @@ +{ + "about": "Über", + "aboutThanks": "\nVielen Dank an die folgenden Personen, die zu dieser App beigetragen haben.\n", + "addAServer": "Server hinzufügen", + "addOne": "Hinzufügen", + "addPrivateKey": "Private key hinzufügen", + "alreadyLastDir": "Bereits im letzten Verzeichnis.", + "appPrimaryColor": "Farbschema", + "attention": "Achtung", + "auto": "System folgen", + "backup": "Backup", + "backupAndRestore": "Backup und Wiederherstellung", + "backupTip": "Das Backup wird nur einfach verschlüsselt.\nBitte bewahre die Datei sicher auf.", + "backupVersionNotMatch": "Die Backup-Version stimmt nicht überein.", + "bgRun": "Hintergrundaktualisierung", + "canPullRefresh": "Danach: herunterziehen zum Aktualisieren", + "cancel": "Abbrechen", + "choose": "Auswählen", + "chooseFontFile": "Schriftart auswählen", + "choosePrivateKey": "Private key auswählen", + "clear": "Entfernen", + "clickSee": "Hier klicken", + "close": "Schließen", + "cmd": "Command", + "containerName": "Container Name", + "containerStatus": "Container Status", + "convert": "Konvertieren", + "copy": "Kopieren", + "copyPath": "Pfad kopieren", + "createFile": "Datei erstellen", + "createFolder": "Ordner erstellen", + "dark": "Dunkel", + "debug": "Debug", + "decode": "Decode", + "delete": "Löschen", + "disconnected": "Disconnected", + "dl2Local": "Datei \"{fileName}\" herunterladen?", + "dockerEditHost": "DOCKER_HOST bearbeiten", + "dockerEmptyRunningItems": "Keine aktiven Container.\n\nWomöglich wird die Umgebungsvariable DOCKER_HOST nicht richtig erkannt. Du kannst sie finden, indem du `echo $DOCKER_HOST` im Terminal ausführst.", + "dockerImagesFmt": "{count} Image(s)", + "dockerNotInstalled": "Docker ist nicht installiert", + "dockerStatusRunningAndStoppedFmt": "{runningCount} aktiv, {stoppedCount} container gestoppt.", + "dockerStatusRunningFmt": "{count} Container aktiv", + "download": "Download", + "downloadFinished": "Download abgeschlossen", + "downloadStatus": "{percent}% von {size}", + "edit": "Bearbeiten", + "encode": "Encode", + "error": "Fehler", + "exampleName": "Servername", + "experimentalFeature": "Experimentelles Feature", + "export": "Export", + "extraArgs": "Extra args", + "failed": "Failed", + "feedback": "Feedback", + "feedbackOnGithub": "Wenn du Fragen hast, stelle diese bitte auf Github.", + "fieldMustNotEmpty": "Die Eingabefelder dürfen nicht leer sein.", + "fileNotExist": "{file} existiert nicht", + "fileTooLarge": "Datei '{file}' ist zu groß {size}, max {sizeMax}", + "files": "Dateien", + "foundNUpdate": "Update {count} gefunden", + "getPushTokenFailed": "Push-Token kann nicht abgerufen werden", + "gettingToken": "Getting token...", + "goto": "Pfad öffnen", + "host": "Host", + "httpFailedWithCode": "Anfrage fehlgeschlagen, Statuscode: {code}", + "image": "Image", + "imagesList": "Images", + "import": "Importieren", + "inputDomainHere": "Domain eingeben", + "install": "install", + "installDockerWithUrl": "Bitte installiere docker zuerst. https://docs.docker.com/engine/install", + "invalidJson": "Ungültige JSON", + "invalidVersion": "Ungültige Version", + "invalidVersionHelp": "Bitte stelle sicher, dass Docker korrekt installiert ist oder dass du eine nicht selbstkompilierte Version verwendest. Wenn du die oben genannten Probleme nicht hast, melde bitte einen Fehler auf {url}.", + "isBusy": "Is busy now", + "keepForeground": "Stelle sicher, dass die App geöffnet bleibt.", + "keyAuth": "Schlüsselauthentifzierung", + "lastTry": "Letzter Versuch", + "launchPage": "Startseite", + "license": "Lizenzen", + "light": "Hell", + "loadingFiles": "Lädt Dateien...", + "loss": "loss", + "madeWithLove": "Erstellt mit ❤️ von {myGithub}", + "max": "max", + "maxRetryCount": "Anzahl an Verbindungsversuchen", + "maxRetryCountEqual0": "Unbegrenzte Verbindungsversuche zum Server", + "min": "min", + "ms": "ms", + "name": "Name", + "needRestart": "App muss neugestartet werden", + "newContainer": "Neuer Container", + "noClient": "Kein Client", + "noInterface": "Kein Interface", + "noResult": "Kein Ergebnis", + "noSavedPrivateKey": "Keine gespeicherten Private Keys", + "noSavedSnippet": "Keine gespeicherten snippets.", + "noServerAvailable": "Kein Server verfügbar.", + "noUpdateAvailable": "Kein Update verfügbar", + "notSelected": "Nicht ausgewählt", + "nullToken": "Null token", + "ok": "OK", + "onServerDetailPage": "in Detailansicht des Servers", + "open": "Öffnen", + "paste": "Einfügen", + "path": "Pfad", + "pickFile": "Datei wählen", + "pingAvg": "Avg:", + "pingInputIP": "Bitte gib eine Ziel-IP/Domain ein.", + "pingNoServer": "Kein Server zum Anpingen.\nBitte füge einen Server hinzu.", + "pkg": "Pkg", + "platformNotSupportUpdate": "Die aktuelle Plattform unterstützt keine In-App-Updates.\nBitte kompiliere vom Quellcode und installiere sie.", + "plzEnterHost": "Bitte Host eingeben.", + "plzSelectKey": "Wähle einen Key.", + "port": "Port", + "preview": "Vorschau", + "privateKey": "Private Key", + "pushToken": "Push Token", + "pwd": "Passwort", + "rename": "Umbenennen", + "reportBugsOnGithubIssue": "Bitte Bugs auf {url} melden", + "restart": "Neustart", + "restore": "Wiederherstellen", + "restoreSuccess": "Wiederherstellung erfolgreich. App neustarten um Änderungen anzuwenden.", + "restoreSureWithDate": "Bist du sicher, dass du das Backup vom {date} wiederherstellen möchtest?", + "result": "Result", + "run": "Ausführen", + "save": "Speichern", + "second": "s", + "server": "Server", + "serverTabConnecting": "Verbinden...", + "serverTabEmpty": "Keine Server vorhanden.", + "serverTabFailed": "Fehlgeschlagen", + "serverTabLoading": "Lädt...", + "serverTabPlzSave": "Bitte 'speichere' diesen privaten Schlüssel erneut.", + "serverTabUnkown": "Unbekannter Status", + "setting": "Einstellungen", + "sftpDlPrepare": "Verbindung vorbereiten...", + "sftpNoDownloadTask": "Keine aktiven Downloads.", + "sftpSSHConnected": "SFTP Verbunden", + "showDistLogo": "Distributionslogo anzeigen", + "snippet": "Snippet", + "spentTime": "Benötigte Zeit: {time}", + "sshTip": "Diese Funktion befindet sich jetzt in der Experimentierphase.\n\nBitte melde Bugs auf {url} oder mach mit bei der Entwicklung.", + "start": "Start", + "stop": "Stop", + "success": "Erfolgreich", + "sureDelete": "Soll [{name}] wirklich gelöscht werden?", + "sureDirEmpty": "Stelle sicher, dass der Ordner leer ist.", + "sureNoPwd": "Bist du sicher, dass du kein Passwort verwenden willst?", + "sureToDeleteServer": "Bist du sicher, dass du [{server}] löschen willst?", + "termTheme": "Farbschema des Terminals", + "themeMode": "Thememodus", + "times": "x", + "ttl": "ttl", + "unknown": "Unbekannt", + "unknownError": "Unbekannter Fehler", + "unkownConvertMode": "Unbekannter Konvertierungsmodus", + "update": "Update", + "updateAll": "Alle aktualisieren", + "updateIntervalEqual0": "Wenn du den Wert 0 einstellst, wird nicht automatisch aktualisiert.\nDer CPU-Status kann nicht berechnet werden.", + "updateServerStatusInterval": "Aktualisierungsintervall des Serverstatus", + "updateTip": "Update: v1.0.{newest}", + "updateTipTooLow": "Aktuelle Version ist zu alt, bitte update auf v1.0.{newest}", + "upsideDown": "Upside Down", + "urlOrJson": "URL oder JSON", + "user": "Benutzer", + "versionHaveUpdate": "Gefunden: v1.0.{build}, klicke zum Aktualisieren", + "versionUnknownUpdate": "Aktuell: v1.0.{build}", + "versionUpdated": "v1.0.{build} ist bereits die neueste Version", + "waitConnection": "Bitte warte, bis die Verbindung hergestellt wurde.", + "willTakEeffectImmediately": "Wird sofort angewendet" +} \ No newline at end of file