From 52208273ed14fd223acdb7f1ced4973e159a5935 Mon Sep 17 00:00:00 2001 From: Davis Date: Thu, 8 Oct 2026 19:40:32 +0200 Subject: [PATCH] feat(lang): add German language --- app/build.gradle.kts | 5 + app/src/main/res/resources.properties | 1 + app/src/main/res/values-de/strings.xml | 19 ++ .../src/main/res/values-de/strings.xml | 8 + core/item/src/main/res/values-de/strings.xml | 16 ++ core/ui/src/main/res/values-de/strings.xml | 16 ++ .../feature/auth/presentation/AuthContent.kt | 24 +- .../auth/src/main/res/values-de/strings.xml | 37 +++ feature/auth/src/main/res/values/strings.xml | 12 +- .../activity/component/AssociationDialog.kt | 9 +- .../src/main/res/values-de/strings.xml | 29 +++ .../autofill/src/main/res/values/strings.xml | 6 +- .../backup/src/main/res/values-de/strings.xml | 210 ++++++++++++++++++ .../backup/src/main/res/values/strings.xml | 14 +- .../src/debug/res/values-de/strings.xml | 4 + .../src/main/res/values-de/strings.xml | 16 ++ .../src/main/res/values-de/strings.xml | 19 ++ .../core/src/main/res/values-de/strings.xml | 33 +++ .../create/src/main/res/values-de/strings.xml | 60 +++++ .../view/src/main/res/values-de/strings.xml | 13 ++ .../src/main/res/values-de/strings.xml | 60 +++++ .../src/main/res/values-de/strings.xml | 36 +++ .../src/main/res/values-de/strings.xml | 104 +++++++++ .../src/main/res/values/strings.xml | 2 +- .../src/main/res/values-de/strings.xml | 42 ++++ .../totp/src/main/res/values-de/strings.xml | 19 ++ .../vault/src/main/res/values-de/strings.xml | 35 +++ 27 files changed, 818 insertions(+), 31 deletions(-) create mode 100644 app/src/main/res/resources.properties create mode 100644 app/src/main/res/values-de/strings.xml create mode 100644 core/biometrics/src/main/res/values-de/strings.xml create mode 100644 core/item/src/main/res/values-de/strings.xml create mode 100644 core/ui/src/main/res/values-de/strings.xml create mode 100644 feature/auth/src/main/res/values-de/strings.xml create mode 100644 feature/autofill/src/main/res/values-de/strings.xml create mode 100644 feature/backup/src/main/res/values-de/strings.xml create mode 100644 feature/credentials/src/debug/res/values-de/strings.xml create mode 100644 feature/credentials/src/main/res/values-de/strings.xml create mode 100644 feature/credit-card/src/main/res/values-de/strings.xml create mode 100644 feature/item/core/src/main/res/values-de/strings.xml create mode 100644 feature/item/create/src/main/res/values-de/strings.xml create mode 100644 feature/item/view/src/main/res/values-de/strings.xml create mode 100644 feature/list_screen/src/main/res/values-de/strings.xml create mode 100644 feature/onboarding/src/main/res/values-de/strings.xml create mode 100644 feature/password-health/src/main/res/values-de/strings.xml create mode 100644 feature/settings/src/main/res/values-de/strings.xml create mode 100644 feature/totp/src/main/res/values-de/strings.xml create mode 100644 feature/vault/src/main/res/values-de/strings.xml diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 376955630..d59fd8a45 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -94,6 +94,11 @@ android { compose = true } + androidResources { + // res/resources.properties names the default language. + generateLocaleConfig = true + } + flavorDimensions += listOf("store") productFlavors { create("playStore") { diff --git a/app/src/main/res/resources.properties b/app/src/main/res/resources.properties new file mode 100644 index 000000000..92481bb0b --- /dev/null +++ b/app/src/main/res/resources.properties @@ -0,0 +1 @@ +unqualifiedResLocale=en diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..9a6632739 --- /dev/null +++ b/app/src/main/res/values-de/strings.xml @@ -0,0 +1,19 @@ + + Navigation ausklappen + Navigation einklappen + Eintrag hinzufügen + Suchen + Website öffnen + + Neuer Eintrag + + Start + Passwort-Check + Sicherheit + Verbindungen + Einstellungen + + Keine Treffer + + Demnächst verfügbar + diff --git a/core/biometrics/src/main/res/values-de/strings.xml b/core/biometrics/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..25b84a5cf --- /dev/null +++ b/core/biometrics/src/main/res/values-de/strings.xml @@ -0,0 +1,8 @@ + + + Identität bestätigen + %s entsperren + Abbrechen + Passwort verwenden + + diff --git a/core/item/src/main/res/values-de/strings.xml b/core/item/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..38ea984ef --- /dev/null +++ b/core/item/src/main/res/values-de/strings.xml @@ -0,0 +1,16 @@ + + + Passwort + Login + Kreditkarte + + Extrem schwach + Schwach + Mittel + Stark + Hervorragend + + Läuft diesen Monat ab + Läuft nächsten Monat ab + Abgelaufen + diff --git a/core/ui/src/main/res/values-de/strings.xml b/core/ui/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..440d4aec7 --- /dev/null +++ b/core/ui/src/main/res/values-de/strings.xml @@ -0,0 +1,16 @@ + + + Neuen Eintrag erstellen + + Keine Treffer + + Passwort anzeigen + Passwort verbergen + + + Bitte gib ein Passwort ein + Falsches Passwort + Die Passwörter stimmen nicht überein + + Hinzufügen + diff --git a/feature/auth/src/main/kotlin/de/davis/keygo/feature/auth/presentation/AuthContent.kt b/feature/auth/src/main/kotlin/de/davis/keygo/feature/auth/presentation/AuthContent.kt index 7d86586e2..fa90e36e6 100644 --- a/feature/auth/src/main/kotlin/de/davis/keygo/feature/auth/presentation/AuthContent.kt +++ b/feature/auth/src/main/kotlin/de/davis/keygo/feature/auth/presentation/AuthContent.kt @@ -42,6 +42,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Brush +import androidx.compose.ui.res.pluralStringResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString @@ -115,8 +116,9 @@ fun AuthContent( title = { Text(text = stringResource(R.string.migration_summary_title)) }, text = { Text( - text = stringResource( - R.string.migration_summary_description, + text = pluralStringResource( + R.plurals.migration_summary_description, + state.skippedItems, state.skippedItems, ), ) @@ -182,10 +184,12 @@ private fun InteractableAuthContent( .padding(16.dp), verticalArrangement = Arrangement.spacedBy(8.dp) ) { + val (titleStart, titleEnd) = state.title + .split(TitleHighlightPlaceholder, limit = 2) + .let { it.first() to it.getOrElse(1) { "" } } Text( text = buildAnnotatedString { - append(state.firstTitlePart) - append(" ") + append(titleStart) withStyle( SpanStyle( @@ -200,8 +204,10 @@ private fun InteractableAuthContent( ) ) ) { - append(stringResource(R.string.your_vault)) + append(stringResource(R.string.auth_title_highlight)) } + + append(titleEnd) }, modifier = Modifier.fillMaxWidth(), textAlign = TextAlign.Center, @@ -385,11 +391,13 @@ fun MigrationDialog(onClick: () -> Unit) { internal val DialogMinWidth = 280.dp internal val DialogMaxWidth = 560.dp -private val AuthState.Interactable.firstTitlePart: String +private const val TitleHighlightPlaceholder = "%1\$s" + +private val AuthState.Interactable.title: String @Composable get() = when (this) { - is AuthState.Login -> stringResource(R.string.authenticate_to_access) - is AuthState.Migrating -> stringResource(R.string.migrate_to_access) + is AuthState.Login -> stringResource(R.string.auth_title_unlock) + is AuthState.Migrating -> stringResource(R.string.auth_title_migrate) } private val AuthState.Interactable.buttonText: String diff --git a/feature/auth/src/main/res/values-de/strings.xml b/feature/auth/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..f7db91a85 --- /dev/null +++ b/feature/auth/src/main/res/values-de/strings.xml @@ -0,0 +1,37 @@ + + + Passwort bestätigen + Entsperren + %s entsperren + Zugang einrichten + + Biometrie verwenden + + + %1$s entsperren + Willkommen beim neuen %1$s + Erstelle einen Zugang für + + Wird umgestellt + Umstellen + Damit deine Daten sicher und unversehrt bleiben, stellen wir deinen Zugang jetzt um. Dafür brauchst du einmal dein Hauptpasswort. + + Biometrische Entsperrung starten + Entsperre deinen Tresor, um diesen Authenticator-Code hinzuzufügen. + + Deine Daten werden importiert + Deine Einträge werden in deinen neuen Tresor übertragen. Das passiert nur einmal. + Import abgeschlossen + + %1$d Eintrag konnte nicht gelesen werden und wurde nicht übernommen. Alles andere ist jetzt in deinem Tresor. + %1$d Einträge konnten nicht gelesen werden und wurden nicht übernommen. Alles andere ist jetzt in deinem Tresor. + + Import unvollständig + Deine Einträge konnten nicht importiert werden. Es ist nichts verloren gegangen – KeyGo versucht es beim nächsten Öffnen einfach noch einmal. + Biometrische Entsperrung deaktiviert + Dein Gerät kann den Tresor mit dem für die biometrische Entsperrung gespeicherten Schlüssel nicht mehr öffnen, deshalb hat KeyGo ihn entfernt. Melde dich mit deinem Hauptpasswort an und schalte die biometrische Entsperrung danach in den Einstellungen wieder ein. + Verstanden + + Erneut versuchen + Weiter + diff --git a/feature/auth/src/main/res/values/strings.xml b/feature/auth/src/main/res/values/strings.xml index b05edaaec..dcff7b3b2 100644 --- a/feature/auth/src/main/res/values/strings.xml +++ b/feature/auth/src/main/res/values/strings.xml @@ -7,10 +7,11 @@ Use biometrics - Migrate to access - Authenticate to access + + Unlock %1$s + Welcome to the new %1$s + KeyGo Create an access to - your vault Migrating Migrate @@ -22,7 +23,10 @@ Importing your data Moving your items into your new vault. This happens once. Import finished - %1$d of your items could not be read and were left behind. Everything else is in your vault. + + %1$d of your items could not be read and was left behind. Everything else is in your vault. + %1$d of your items could not be read and were left behind. Everything else is in your vault. + Import incomplete Your items could not be imported. Nothing was lost, and KeyGo will try again the next time you open it. Biometric unlock turned off diff --git a/feature/autofill/src/main/kotlin/de/davis/keygo/feature/autofill/presentation/activity/component/AssociationDialog.kt b/feature/autofill/src/main/kotlin/de/davis/keygo/feature/autofill/presentation/activity/component/AssociationDialog.kt index f13d72a03..026db5516 100644 --- a/feature/autofill/src/main/kotlin/de/davis/keygo/feature/autofill/presentation/activity/component/AssociationDialog.kt +++ b/feature/autofill/src/main/kotlin/de/davis/keygo/feature/autofill/presentation/activity/component/AssociationDialog.kt @@ -13,7 +13,6 @@ import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.res.pluralStringResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import de.davis.keygo.feature.autofill.R @@ -47,12 +46,8 @@ internal fun AssociationDialog( }, text = { Text( - text = pluralStringResource( - R.plurals.suggest_text, - if (domain.isNullOrBlank()) 0 else 1, - itemName, - domain.orEmpty(), - ) + text = if (domain.isNullOrBlank()) stringResource(R.string.suggest_text, itemName) + else stringResource(R.string.suggest_text_with_domain, itemName, domain) ) }, icon = { diff --git a/feature/autofill/src/main/res/values-de/strings.xml b/feature/autofill/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..32c32e32a --- /dev/null +++ b/feature/autofill/src/main/res/values-de/strings.xml @@ -0,0 +1,29 @@ + + + Autofill-Dienst + Trotzdem ausfüllen + + App wird überprüft + KeyGo fragt bei <b>%1$s</b> nach, ob diese App dafür freigegeben ist. + + Verdächtige Aktivität + Diese App (<b>%1$s</b>) ist kein bekannter Browser, zeigt aber eine Website an (<b>%2$s</b>). Wenn du hier automatisch ausfüllst, könnte die App deine Zugangsdaten erhalten. Fahre nur fort, wenn du der App und der Website vertraust. + + App konnte nicht überprüft werden + Diese App (<b>%1$s</b>) ist kein bekannter Browser, und es ließ sich nicht prüfen, ob sie <b>%2$s</b> verwenden darf. Der Prüfdienst war nicht erreichbar – meistens ist das Gerät offline oder die App hat keinen Netzwerkzugriff. Fahre nur fort, wenn du der App und der Website vertraust. + + Vorschlagen + Diesen Eintrag vorschlagen + + „%1$s“ wird dir bei der nächsten Anmeldung vorgeschlagen. Diese Einstellung wird nur auf deinem Gerät gespeichert und lässt sich in den Details des Eintrags ändern. + „%1$s“ wird dir bei der nächsten Anmeldung auf %2$s vorgeschlagen. Diese Einstellung wird nur auf deinem Gerät gespeichert und lässt sich in den Details des Eintrags ändern. + + Nicht jetzt + + Abbrechen + + KeyGo-Autofill verwenden + SMS-Code + Warte auf SMS-Code + KeyGo trägt den Code automatisch ein, sobald die SMS ankommt. + diff --git a/feature/autofill/src/main/res/values/strings.xml b/feature/autofill/src/main/res/values/strings.xml index bbd1e58a9..fc3ee6acc 100644 --- a/feature/autofill/src/main/res/values/strings.xml +++ b/feature/autofill/src/main/res/values/strings.xml @@ -15,10 +15,8 @@ Suggest Suggest this item - - \"%1$s\" will be suggested next time you sign in. This choice is stored on your device and can be changed on the item\'s detail screen. - \"%1$s\" will be suggested next time you sign in on %2$s. This choice is stored on your device and can be changed on the item\'s detail screen. - + \"%1$s\" will be suggested next time you sign in. This choice is stored on your device and can be changed on the item\'s detail screen. + \"%1$s\" will be suggested next time you sign in on %2$s. This choice is stored on your device and can be changed on the item\'s detail screen. Not now diff --git a/feature/backup/src/main/res/values-de/strings.xml b/feature/backup/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..616a6fb87 --- /dev/null +++ b/feature/backup/src/main/res/values-de/strings.xml @@ -0,0 +1,210 @@ + + + Empfohlen + + CSV + JSON + + Backups + Noch keine Backups + Abbrechen + %1$d / %2$d + + Exportieren + Importieren + + Läuft + Geplant + Zuletzt + + Wartet + + Einmalig + Regelmäßig + Es gab nichts zu sichern + Deine Daten konnten nicht entsperrt werden + Die Backup-Datei konnte nicht erstellt werden + Das Backup konnte nicht verschlüsselt werden + Die Backup-Datei konnte nicht gespeichert werden + Backups sind auf diesem Gerät nicht eingerichtet + Konnte nicht ausgeführt werden, weil das Gerät gesperrt blieb + + Letzter Durchlauf fehlgeschlagen: %1$s + %1$s-Backup + + + Täglich + Alle %1$d Tage + + + + Wöchentlich + Alle %1$d Wochen + + + Weiter + Passphrase + Passphrase bestätigen + + Exportiert alle Daten – Tresore, Logins, Karten und TOTP – in eine sicher verschlüsselte JSON-Datei. + Exportiert nur Logins. Achtung: Dieses Format ist unverschlüsselt und wird als Klartext gespeichert. + + Lege eine Passphrase fest, mit der dein Backup verschlüsselt wird. Du brauchst sie, um deine Daten später wiederherzustellen.\nHinweis: Für regelmäßige Backups wird die Passphrase sicher auf deinem Gerät gespeichert, bei einmaligen Exporten dagegen nie. + + Passphrase + Wähle eine Passphrase. Damit lässt sich das Backup auf jedem Gerät wiederherstellen. + Dieses Gerät & Konto + Nutzt den Schlüssel dieses Kontos – du musst dir nichts merken. Lässt sich nur in diesem Konto wiederherstellen. + Nur dieses Konto auf diesem Gerät kann das Backup entschlüsseln. Wenn du KeyGo neu installierst, dein Gerät verlierst oder dein Konto zurücksetzt, bleibt die Datei für immer verschlüsselt und alles darin ist verloren. Niemand kann sie wiederherstellen. + + Browser-kompatibel + Spalten: name, url, username, password, note. Lässt sich in Chrome, Edge und andere Browser importieren. Ohne TOTP. + KeyGo + Alle Spalten inklusive TOTP. Lässt sich ohne Verluste wieder in KeyGo importieren. + + Dateiformat wählen + Backup-Zeitplan + Speicherort + Passphrase festlegen + CSV-Layout wählen + Backup überprüfen + + Unbekannt + Dieses Gerät + + Speicherort wählen + Wähle einen Ordner auf diesem Gerät oder einen Cloud-Anbieter wie Nextcloud, Drive oder Dropbox. + Speicherort wählen + Ändern + Gespeichert als %s + + Backup importieren + Backup-Datei wählen + Wähle ein .json- oder .csv-Backup von diesem Gerät oder von einem Cloud-Anbieter wie Nextcloud, Drive oder Dropbox. + Datei wählen + Ausgewählt: %s + Dieses Backup ist verschlüsselt. Gib die Passphrase ein, um fortzufahren. + Falsche Passphrase. Bitte versuch es noch einmal. + Import läuft + Datei wird gelesen… + Backup wird entschlüsselt… + Einträge werden importiert… + %1$d / %2$d + Import abgeschlossen + Importiert + Übersprungen (schon vorhanden) + Fehlgeschlagen + Neue Tresore + Fertig + Import fehlgeschlagen + Zurück + Die ausgewählte Datei konnte nicht gelesen werden. + Die ausgewählte Datei ist leer. + KeyGo kann nur .json- und .csv-Dateien importieren. Bitte wähle eine Datei mit einer dieser Endungen. + In diesem Backup gibt es nichts zu importieren. + Diese Datei ist kein gültiges KeyGo-Backup. + Dein Tresor ist gesperrt. Entsperre ihn und versuch es noch einmal. + Beim Import ist etwas schiefgelaufen. + + Dein Backup wird einmalig hier gespeichert. + Laut Zeitplan wird hier jeweils ein neues Backup gespeichert. Ältere Backups bleiben erhalten. + Laut Zeitplan wird hier jeweils ein neues Backup gespeichert. Ältere Backups werden automatisch gelöscht. + + Einmaliges Backup + Einmal an einen Ort deiner Wahl exportieren. Es wird nichts gespeichert oder wiederholt. + Regelmäßiges Backup + KeyGo erstellt automatisch nach deinem Zeitplan ein neues Backup. + Regelmäßige Backups brauchen ein verschlüsseltes Format. Wähle JSON, um automatische Backups zu planen. + + Wiederholen alle + Alte Backups automatisch löschen + + Tage + Wochen + + + Backup + Backups + + + + Nur das neueste Backup wird behalten. Ältere werden automatisch gelöscht. + Nur die %1$d neuesten Backups werden behalten. Ältere werden automatisch gelöscht. + + + Alle Backups werden behalten. Es wird nichts automatisch gelöscht. + + Backup planen + + Bereit fürs Backup + Prüf die Details unten noch einmal, bevor du exportierst. + + Format + Zeitplan + Aufbewahrung + Speicherort + Verschlüsselung + Inhalt + Stärke der Passphrase + CSV-Layout + + Einmalig + + Alle behalten + + Nur das letzte Backup + Die letzten %1$d Backups + + + Verschlüsselt + Nicht verschlüsselt + + Alle Tresore & Einträge + Nur Logins + + Diese Datei wird als Klartext gespeichert. Jeder, der sie öffnet, kann deine Logins lesen – bewahre sie also gut auf. + + Backup erstellen + + Aktivieren + + Gib eine Passphrase ein, um das Backup zu verschlüsseln + Die Passphrase konnte nicht sicher gespeichert werden. Bitte versuch es noch einmal. + Das Backup konnte nicht gespeichert werden. Bitte versuch es noch einmal. + Kein Zugriff auf den ausgewählten Ordner. Bitte wähle ihn noch einmal aus. + + Spalten zuordnen + Importieren in + Neuer Tresor + Name des Tresors + Symbol + + %1$d Eintrag + %1$d Einträge + + Titel + URL + Benutzername + Passwort + Notizen + TOTP + Ignorieren + Automatisch erkannt – bitte prüfen + Dieser Typ ist schon einer anderen Spalte zugeordnet + + CSV-Spalten zuordnen + Spalte %1$d in deiner Datei + Importieren als + Beispielwerte aus dieser Spalte + Diese Spalte ist leer + + + %1$d Spalte in %2$s gefunden. Prüf, ob sie im richtigen Feld landet – alles auf „Ignorieren“ wird übersprungen. + %1$d Spalten in %2$s gefunden. Prüf, ob jede im richtigen Feld landet – alles auf „Ignorieren“ wird übersprungen. + + + + %1$d Spalte gefunden. Prüf, ob sie im richtigen Feld landet – alles auf „Ignorieren“ wird übersprungen. + %1$d Spalten gefunden. Prüf, ob jede im richtigen Feld landet – alles auf „Ignorieren“ wird übersprungen. + + diff --git a/feature/backup/src/main/res/values/strings.xml b/feature/backup/src/main/res/values/strings.xml index b3c207ff9..f763d502d 100644 --- a/feature/backup/src/main/res/values/strings.xml +++ b/feature/backup/src/main/res/values/strings.xml @@ -29,7 +29,7 @@ Backup isn\'t set up on this device Couldn\'t run while the device stayed locked - Last run failed. %1$s + Last run failed: %1$s %1$s Backup @@ -86,9 +86,9 @@ This backup is encrypted. Enter its passphrase to continue. Wrong passphrase. Please try again. Importing - Reading file... - Decrypting backup... - Importing items... + Reading file… + Decrypting backup… + Importing items… %1$d / %2$d Import complete Imported @@ -169,9 +169,9 @@ Enable Enter a passphrase to encrypt the backup - Couldn\'t secure the passphrase. Please try again - Couldn\'t save the backup. Please try again - Couldn\'t get access to the selected folder. Choose it again + Couldn\'t secure the passphrase. Please try again. + Couldn\'t save the backup. Please try again. + Couldn\'t get access to the selected folder. Choose it again. Map columns Import into diff --git a/feature/credentials/src/debug/res/values-de/strings.xml b/feature/credentials/src/debug/res/values-de/strings.xml new file mode 100644 index 000000000..2af14089e --- /dev/null +++ b/feature/credentials/src/debug/res/values-de/strings.xml @@ -0,0 +1,4 @@ + + + KeyGo (Debug) – Anmeldedienst + diff --git a/feature/credentials/src/main/res/values-de/strings.xml b/feature/credentials/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..764e83f92 --- /dev/null +++ b/feature/credentials/src/main/res/values-de/strings.xml @@ -0,0 +1,16 @@ + + + KeyGo-Anmeldedienst + Standardkonto + + Passkey verknüpfen + Möchtest du den Passkey für %s mit diesem Eintrag verknüpfen? + + Passkey bereits gespeichert + Du hast für <b>%s</b> schon einen Passkey in KeyGo. Wenn du ihn ersetzen möchtest, lösch ihn zuerst aus dem Eintrag. + Du hast für diese Website schon einen Passkey in KeyGo. Wenn du ihn ersetzen möchtest, lösch ihn zuerst aus dem Eintrag. + + Ja + Nein + OK + diff --git a/feature/credit-card/src/main/res/values-de/strings.xml b/feature/credit-card/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..4df8005fd --- /dev/null +++ b/feature/credit-card/src/main/res/values-de/strings.xml @@ -0,0 +1,19 @@ + + + Bereit zum Scannen + Halte deine Karte flach an die Rückseite deines Smartphones. + Karte wird gelesen… + Halte die Karte ruhig, bis der Vorgang abgeschlossen ist. + Karte gelesen + NFC ist aus + NFC ist ausgeschaltet. Schalte es ein, um deine Karte zu scannen. + NFC einschalten + Karte konnte nicht gelesen werden + Erneut versuchen + Das scheint keine Zahlungskarte zu sein. + Die Karte wurde zu früh bewegt. Halte sie ruhig und versuch es noch einmal. + Die Daten dieser Karte konnten nicht gelesen werden. + Beim Lesen der Karte ist etwas schiefgelaufen. + Karte scannen + Daten per NFC ausfüllen + diff --git a/feature/item/core/src/main/res/values-de/strings.xml b/feature/item/core/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..232fb1132 --- /dev/null +++ b/feature/item/core/src/main/res/values-de/strings.xml @@ -0,0 +1,33 @@ + + + Name + Notiz + + Passkey + TOTP + Domains + Tags + + Karteninhaber + Kartennummer + Prüfnummer (CVV) + Ablaufdatum + + MM/JJ + + Zurück + Bearbeiten + Bearbeiten + Löschen + + Eintrag bearbeiten + + E-Mail, Telefonnummer oder Benutzername + + Dieses Feld darf nicht leer sein + Ungültige Eingabe + Etwas ist schiefgelaufen. Bitte versuch es noch einmal. + + %s kopiert + %s kopieren + diff --git a/feature/item/create/src/main/res/values-de/strings.xml b/feature/item/create/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..3413b4683 --- /dev/null +++ b/feature/item/create/src/main/res/values-de/strings.xml @@ -0,0 +1,60 @@ + + + Allgemeine Angaben + Weitere Angaben + Passwort + Kartendaten + Domains + Passkey + Tags + + TOTP-Felder überschreiben? + Der Eintrag enthält bereits TOTP-Felder, die von den neuen TOTP-Daten abweichen. Wähle aus, welche Felder du überschreiben möchtest. + + TOTP-Schlüssel + + Überschreiben + Behalten + + Eintrag auswählen + + Länge [%d] + Zeichensätze + + Warnung + Abbrechen + + Passkey löschen + Der Passkey für <b>%s</b> wird beim Speichern entfernt. Du kannst dich dort dann nicht mehr damit anmelden, und er lässt sich nicht wiederherstellen. + + Passwort generieren + + Achtung + + Kleinbuchstaben + Großbuchstaben + Ziffern + Sonderzeichen + Am sichersten ist eine Mischung aus Klein- und Großbuchstaben, Ziffern und Sonderzeichen. + + Generiertes Passwort verwenden + + Einige Einträge haben dann denselben Namen. + + Name eingeben + Notiz schreiben + + • Vorher: %s + • Nachher: %s + + Speichern + Passwort generieren + + Domains hinzufügen + Tags hinzufügen + + Unerwarteter Datenbankfehler: %s + Der Tresor wurde nicht gefunden + + Tresor + diff --git a/feature/item/view/src/main/res/values-de/strings.xml b/feature/item/view/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..0d3010058 --- /dev/null +++ b/feature/item/view/src/main/res/values-de/strings.xml @@ -0,0 +1,13 @@ + + + TOTP-Schlüssel hinzufügen + Benutzername hinzufügen + Domain hinzufügen + Tag hinzufügen + Notiz hinzufügen + + Karteninhaber hinzufügen + Kartennummer hinzufügen + CVV hinzufügen + Ablaufdatum hinzufügen + diff --git a/feature/list_screen/src/main/res/values-de/strings.xml b/feature/list_screen/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..3d8cd7c70 --- /dev/null +++ b/feature/list_screen/src/main/res/values-de/strings.xml @@ -0,0 +1,60 @@ + + + Tresor durchsuchen + + Name + Benutzername + Notiz + Tag + Treffer in: %1$s + + + %1$d Ergebnis + %1$d Ergebnisse + + + Keine Treffer + Nichts in deinem Tresor passt zu „%1$s“ + In diesem Tresor gibt es noch nichts zu durchsuchen + + %d ausgewählt + Auswahl aufheben + Alle auswählen + Alle anheften + Alle loslösen + Löschen + Abbrechen + + + Eintrag löschen? + %d Einträge löschen? + + + + Dieser Eintrag wird endgültig gelöscht. Das lässt sich nicht rückgängig machen. + Diese %d Einträge werden endgültig gelöscht. Das lässt sich nicht rückgängig machen. + + Filter + Sortierung + + Aufsteigend + Absteigend + + Passwortstärke + Zugangsdaten + Passkey + TOTP + Zurücksetzen + + Eintrag + Eintragstyp + + Ablaufstatus + + Tags + + Nur angeheftete Einträge + + Keine Einträge passen zu deinen Filtern + Filter zurücksetzen + diff --git a/feature/onboarding/src/main/res/values-de/strings.xml b/feature/onboarding/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..37d8856ab --- /dev/null +++ b/feature/onboarding/src/main/res/values-de/strings.xml @@ -0,0 +1,36 @@ + + + Los geht\'s + Weiter + Später + Biometrie aktivieren + Einrichtung abschließen + + + Deine Zugangsdaten. Deine Privatsphäre. + KeyGo verschlüsselt alles lokal. Keine Server, keine Cloud, kein Tracking. Nur du und deine Daten. + Nur noch ein Schritt bis zu deinem Code + Schließ die Einrichtung ab, damit dieser Authenticator-Code hinzugefügt wird. + + Lege dein Hauptpasswort fest + Mit diesem Passwort werden deine Tresore verschlüsselt. KeyGo speichert es nie – wähle also ein sicheres. + Wenn du dein Passwort vergisst, kann niemand deine Tresore wiederherstellen. Das ist kryptografisch unmöglich. + Hauptpasswort + Hauptpasswort bestätigen + + Bring deine Passwörter mit + Importe werden lokal verschlüsselt und verlassen nie dein Gerät. Wähle eine Datei aus, um loszulegen. + + Entsperren per Fingertipp + Öffne KeyGo mit deinem Fingerabdruck. Dein Hauptpasswort funktioniert weiterhin als Alternative. + + Mach KeyGo zu deinem Autofill-Dienst + Dann schlägt dir KeyGo deine gespeicherten Passwörter vor, sobald du dich irgendwo anmeldest. Du kannst das jederzeit in den Geräteeinstellungen wieder ändern. + Systemeinstellungen öffnen + Öffne die Einstellungen deines Geräts + KeyGo auswählen + Wähle KeyGo als Autofill-Dienst aus & bestätige + Für Chrome aktivieren + Öffne die Chrome-Einstellungen & erlaube Autofill mit einem anderen Dienst + In Chrome aktivieren + diff --git a/feature/password-health/src/main/res/values-de/strings.xml b/feature/password-health/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..ad8b68c5a --- /dev/null +++ b/feature/password-health/src/main/res/values-de/strings.xml @@ -0,0 +1,104 @@ + + + Passwort-Check + + Wird geprüft… + Noch keine Passwörter + Alles in Ordnung + Prüfung fehlgeschlagen + + Füge Passwörter hinzu, um zu sehen, wie sicher sie sind + Alle deine Passwörter sehen gut aus + Alle Passwörter, die geprüft werden konnten, sehen gut aus + + %1$d Passwort solltest du dir ansehen + %1$d Passwörter solltest du dir ansehen + + Deine Passwörter werden geprüft… + Deine Passwörter konnten nicht geprüft werden + Keines deiner Passwörter konnte für die Prüfung geöffnet werden + Zum Wiederholen nach unten ziehen + + %1$d Passwort konnte nicht geöffnet und daher nicht geprüft werden + %1$d Passwörter konnten nicht geöffnet und daher nicht geprüft werden + + + + %1$d Passwort geprüft + %1$d Passwörter geprüft + + %1$d kompromittiert + %1$d schwach + %1$d mehrfach verwendet + %1$d ähnlich + + %1$d kritisch + %1$d hoch + %1$d zu prüfen + %1$d in Ordnung + + Gefundene Probleme + Schwach + Mehrfach verwendet + Kompromittiert + + Kritisch + Hoch + Prüfen empfohlen + + + In %1$d Login verwendet + In %1$d Logins verwendet + + + Ähnliches Passwort in %1$d Login + Ähnliche Passwörter in %1$d Logins + + + + Kompromittiertes Passwort in %1$d Login + Kompromittierte Passwörter in %1$d Logins + + + Schwaches Passwort in %1$d Login + Schwache Passwörter in %1$d Logins + + + + In %1$d Datenleck gefunden + In %1$d Datenlecks gefunden + + + Auf Datenlecks prüfen + Von jedem Passwort verlassen nur die ersten 5 Zeichen seines Hashs dein Gerät + + Datenleck-Prüfung für %1$d Passwort fehlgeschlagen: keine Verbindung zum Prüfdienst + Datenleck-Prüfung für %1$d Passwörter fehlgeschlagen: keine Verbindung zum Prüfdienst + + + Datenleck-Prüfung für %1$d Passwort fehlgeschlagen: Der Prüfdienst hat nicht geantwortet + Datenleck-Prüfung für %1$d Passwörter fehlgeschlagen: Der Prüfdienst hat nicht geantwortet + + + Generiertes Passwort + Neues Passwort kopiert. Ändere es dort, wo du diesen Login verwendest, und bestätige es dann hier. + Website öffnen + Hab ich geändert + Abbrechen + Deine Sitzung ist abgelaufen, bevor gespeichert werden konnte. Versuch es noch einmal. + Das neue Passwort konnte nicht gespeichert werden. Versuch es noch einmal. + + Wähle einen Eintrag aus, um ihn hier zu sehen + + Benachrichtigungen aktivieren + KeyGo erinnert dich, wenn es Sicherheitsprobleme mit deinen Passwörtern gibt + Benachrichtigungen erlauben + Damit KeyGo dich an Passwörter erinnern kann, die du dir ansehen solltest, braucht die App die Berechtigung für Benachrichtigungen. + Benachrichtigungen sind für KeyGo deaktiviert. Wenn du Erinnerungen zu deinen Passwörtern bekommen möchtest, erlaube sie in den App-Einstellungen. + Erlauben + Einstellungen öffnen + Abbrechen + + Passwort-Check + Erinnerungen, wenn du dir einige deiner Passwörter ansehen solltest + diff --git a/feature/password-health/src/main/res/values/strings.xml b/feature/password-health/src/main/res/values/strings.xml index 98f60b3c7..c22426f2f 100644 --- a/feature/password-health/src/main/res/values/strings.xml +++ b/feature/password-health/src/main/res/values/strings.xml @@ -91,7 +91,7 @@ Pick an item to see it here Enable notifications - KeyGo will remind you of any security issues with your passwords. + KeyGo will remind you of any security issues with your passwords Notification permission KeyGo needs permission to send notifications to remind you about passwords that need attention. Notifications are turned off for KeyGo. To get password reminders, allow them in your app settings. diff --git a/feature/settings/src/main/res/values-de/strings.xml b/feature/settings/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..df9bf67df --- /dev/null +++ b/feature/settings/src/main/res/values-de/strings.xml @@ -0,0 +1,42 @@ + + + Sicherheit + Biometrie verwenden + KeyGo per Fingerabdruck oder Gesichtserkennung entsperren + Hauptpasswort ändern + Ändere das Hauptpasswort, das deine Daten schützt + Autofill + Logins in anderen Apps und Browsern automatisch ausfüllen + Autofill-Einrichtung abschließen + Aktiviere in Chrome „Autofill mit einem anderen Dienst“, um die Einrichtung abzuschließen + Biometrische Entsperrung konnte nicht geändert werden + Automatische Sperre + Sofort + + %d Minute + %d Minuten + + + Backup + Sichern & Wiederherstellen + + Letztes Backup: %1$s + Noch keine Backups + + Über KeyGo + Problem melden + Drittanbieter-Lizenzen + Version + + Passwort ändern + Aktuelles Passwort + Neues Passwort + Neues Passwort bestätigen + Passwort ändern + Du bestätigst mit deinem Fingerabdruck + Gib dein aktuelles Passwort ein + Passwort geändert + Passwort konnte nicht geändert werden + + Abbrechen + diff --git a/feature/totp/src/main/res/values-de/strings.xml b/feature/totp/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..b7e06c768 --- /dev/null +++ b/feature/totp/src/main/res/values-de/strings.xml @@ -0,0 +1,19 @@ + + + QR-Code scannen + + Um QR-Codes für die TOTP-Einrichtung zu scannen, braucht KeyGo Zugriff auf deine Kamera. + Erlauben + Abbrechen + + Kamerazugriff + Der Kamerazugriff wurde verweigert. Um QR-Codes zu scannen, erlaube ihn in den App-Einstellungen. + Einstellungen öffnen + OK + + Ungültiger TOTP-Code + Der TOTP-Code konnte nicht gelesen werden. + + Zu welchem Eintrag hinzufügen? + Neu erstellen + diff --git a/feature/vault/src/main/res/values-de/strings.xml b/feature/vault/src/main/res/values-de/strings.xml new file mode 100644 index 000000000..2fe376d52 --- /dev/null +++ b/feature/vault/src/main/res/values-de/strings.xml @@ -0,0 +1,35 @@ + + + Erstellen + Alle Tresore + Name des Tresors + z. B. Arbeit + Neuen Tresor erstellen + Symbol + Der Name des Tresors darf nicht leer sein + Der Tresorschlüssel konnte nicht verschlüsselt werden + Dein Tresor ist gesperrt. Entsperre ihn und versuch es noch einmal. + + 1 Eintrag + %d Einträge + + Bearbeiten + Verschieben nach + Löschen + Verschieben + Abbrechen + Zieltresor + Quelltresor + Einträge werden verschoben… + + Tresor nach dem Verschieben löschen + + Endgültig löschen + Gib zur Bestätigung unten „<b>%s</b>“ ein, um den Tresor endgültig zu löschen. + + Wenn du <b>%1$s</b> löschst, werden der Tresor und sein <b>%2$d Eintrag</b> endgültig entfernt. Das lässt sich nicht rückgängig machen. Verschieb den Eintrag am besten vorher in einen anderen Tresor. + + Wenn du <b>%1$s</b> löschst, werden der Tresor und seine <b>%2$d Einträge</b> endgültig entfernt. Das lässt sich nicht rückgängig machen. Verschieb die Einträge am besten vorher in einen anderen Tresor. + + Der Name stimmt nicht überein +