From 925c95ce88f273e1da69e717c148400fa779af54 Mon Sep 17 00:00:00 2001 From: steffenrapp <88974099+steffenrapp@users.noreply.github.com> Date: Thu, 21 May 2026 19:33:38 +0200 Subject: [PATCH] feat(i18n): update German translation (#15011) ## Summary by CodeRabbit * **Localization** * German language completeness raised to 100%. * Added German translations for Markdown export/copy labels and success text, import formats (including Bear backup and Word .docx), editor settings (auto-date-title formats, add-icon option), AI BYOK workspace/provider-key UI and notifications, and a recording/importing UI prompt. [![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/toeverything/AFFiNE/pull/15011?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack) --- .../i18n/src/i18n-completenesses.json | 2 +- packages/frontend/i18n/src/resources/de.json | 93 ++++++++++++++++++- 2 files changed, 93 insertions(+), 2 deletions(-) diff --git a/packages/frontend/i18n/src/i18n-completenesses.json b/packages/frontend/i18n/src/i18n-completenesses.json index 9e815b293d..4a450d3ef4 100644 --- a/packages/frontend/i18n/src/i18n-completenesses.json +++ b/packages/frontend/i18n/src/i18n-completenesses.json @@ -2,7 +2,7 @@ "ar": 97, "ca": 94, "da": 4, - "de": 97, + "de": 100, "el-GR": 92, "en": 100, "es-AR": 93, diff --git a/packages/frontend/i18n/src/resources/de.json b/packages/frontend/i18n/src/resources/de.json index 9d61986376..fde5e4f7e9 100644 --- a/packages/frontend/i18n/src/resources/de.json +++ b/packages/frontend/i18n/src/resources/de.json @@ -449,6 +449,8 @@ "com.affine.copy.asImage.notAvailable.action": "Client herunterladen", "com.affine.copy.asImage.success": "Bild kopiert", "com.affine.copy.asImage.failed": "Das Kopieren des Bilds ist fehlgeschlagen", + "com.affine.export.copy-markdown": "Als Markdown kopieren", + "com.affine.export.copied-as-markdown": "Als Markdown kopiert", "com.affine.confirmModal.button.cancel": "Abbrechen", "com.affine.confirmModal.button.ok": "OK", "com.affine.currentYear": "Aktuelles Jahr", @@ -612,7 +614,9 @@ "com.affine.import-clipper.dialog.errorLoad": "Inhalt konnte nicht geladen werden, bitte erneut versuchen.", "com.affine.import_file": "Markdown/Notion Unterstützung", "com.affine.import.affine-workspace-data": "AFFiNE Workspace-Daten", - "com.affine.import.docx": "DOCX", + "com.affine.import.bear": "Bear (.bear2bk) (Experimentell)", + "com.affine.import.bear.tooltip": "Importiere dein Bear-Notiz-Backup. Tags werden in AFFiNE-Tags und -Ordner umgewandelt.", + "com.affine.import.docx": "Word (.docx)", "com.affine.import.docx.tooltip": "Importiere deine .docx-Datei.", "com.affine.import.html-files": "HTML", "com.affine.import.html-files.tooltip": "Dies ist eine experimentelle Funktion, die nicht perfekt ist und dazu führen kann, dass deine Daten nach dem Import fehlen.", @@ -1366,6 +1370,16 @@ "com.affine.settings.editorSettings.general.default-code-block.wrap.title": "Code in Code-Blöcke einschließen", "com.affine.settings.editorSettings.general.default-new-doc.description": "Standardmodus für neue Seite.", "com.affine.settings.editorSettings.general.default-new-doc.title": "Neue Seite Standardmodus", + "com.affine.settings.editorSettings.general.auto-date-title.title": "Neue Seiten automatisch mit dem aktuellen Datum benennen", + "com.affine.settings.editorSettings.general.auto-date-title.description": "Leere neue Seiten automatisch mit dem heutigen Datum benennen.", + "com.affine.settings.editorSettings.general.auto-date-title.format.title": "Datumsformat für neue Seiten", + "com.affine.settings.editorSettings.general.auto-date-title.format.description": "Das Datumsformat für die automatische Vergabe von Titeln für neue Seiten auswählen.", + "com.affine.settings.editorSettings.general.auto-date-title.format.dd-mm-yyyy": "DD-MM-YYYY", + "com.affine.settings.editorSettings.general.auto-date-title.format.mm-dd-yyyy": "MM-DD-YYYY", + "com.affine.settings.editorSettings.general.auto-date-title.format.yyyy-mm-dd": "YYYY-MM-DD", + "com.affine.settings.editorSettings.general.auto-date-title.format.journal": "Journalstil (lokalisiert)", + "com.affine.settings.editorSettings.general.add-icon-option.title": "Option zum Symbol hinzufügen anzeigen", + "com.affine.settings.editorSettings.general.add-icon-option.description": "Die Option zum Symbol hinzufügen für Seiten ohne Symbol anzeigen oder ausblenden.", "com.affine.settings.editorSettings.general.font-family.custom.description": "Passe dein Texterlebnis an.", "com.affine.settings.editorSettings.general.font-family.custom.title": "Benutzerdefinierte Schriftart", "com.affine.settings.editorSettings.general.font-family.description": "Wähle die Schriftart deines Editors.", @@ -1461,6 +1475,82 @@ "com.affine.settings.meetings.record.permission-modal.open-setting": "Systemeinstellungen öffnen", "com.affine.settings.workspace": "Workspace", "com.affine.settings.workspace.description": "Hier kannst du die Informationen zum aktuellen Workspace anzeigen.", + "com.affine.settings.workspace.byok.title-beta": "AI BYOK (Beta)", + "com.affine.settings.workspace.byok.title": "AI BYOK", + "com.affine.settings.workspace.byok.loading": "Provider-Schlüssel werden geladen.", + "com.affine.settings.workspace.byok.subtitle": "Benutze deine eigenen Provider-Schlüssel für diesen Workspace.", + "com.affine.settings.workspace.byok.header": "Benutze die Workspace-Provider-Schlüssel vor der Verwendung des AFFiNE AI Plans.", + "com.affine.settings.workspace.byok.locked.title": "Für BYOK ist die Pro-, Team- oder Believer-Version erforderlich", + "com.affine.settings.workspace.byok.locked.description": "Upgrade diesen Workspace, um Provider-Schlüssel hinzuzufügen und AFFiNE AI über dein eigenes OpenAI-, Anthropic-, Gemini- oder FAL-Konto zu routen.", + "com.affine.settings.workspace.byok.notice.title": "Der AI-Plan bleibt verfügbar", + "com.affine.settings.workspace.byok.notice.description": "Zunächst werden lokale Schlüssel auf diesem Gerät geprüft. Anschließend folgen die Schlüssel des Workspace-Servers und schließlich die Routen des AFFiNE AI-Plans, sofern Kontingent verfügbar ist.", + "com.affine.settings.workspace.byok.keys.title": "Provider-Schlüssel", + "com.affine.settings.workspace.byok.keys.description": "Die Reihenfolge in der Liste bestimmt die Fallback-Reihenfolge innerhalb jeder Speichergruppe.", + "com.affine.settings.workspace.byok.empty.title": "Keine Provider-Schlüssel", + "com.affine.settings.workspace.byok.empty.description": "Füge einen Schlüssel hinzu, um die erste Route für diesen Workspace zu erstellen. Die Zeilen des Providers werden erst angezeigt, wenn ein Schlüssel vorhanden ist.", + "com.affine.settings.workspace.byok.storage.local": "Lokal", + "com.affine.settings.workspace.byok.storage.server": "Server", + "com.affine.settings.workspace.byok.storage.local-this-device": "Lokal (dieses Gerät)", + "com.affine.settings.workspace.byok.storage.local-desktop-only": "Lokal (nur Desktop)", + "com.affine.settings.workspace.byok.status.disabled-after-failure": "Nach Fehler deaktiviert", + "com.affine.settings.workspace.byok.status.key-verified": "Schlüssel verifiziert", + "com.affine.settings.workspace.byok.status.key-test-failed": "Schlüssel-Test fehlgeschlagen", + "com.affine.settings.workspace.byok.capability.text": "Text", + "com.affine.settings.workspace.byok.capability.image-input": "Bildeingabe", + "com.affine.settings.workspace.byok.capability.actions": "Aktionen", + "com.affine.settings.workspace.byok.capability.image-generate": "Bild generieren", + "com.affine.settings.workspace.byok.capability.transcript": "Transkript", + "com.affine.settings.workspace.byok.capability.indexing": "Indizierung", + "com.affine.settings.workspace.byok.row.activity.failed": "fehlgeschlagen {{date}}", + "com.affine.settings.workspace.byok.row.activity.used": "verwendet {{date}}", + "com.affine.settings.workspace.byok.row.activity.used-today": "heute verwendet", + "com.affine.settings.workspace.byok.row.activity.unused": "noch nicht verwendet", + "com.affine.settings.workspace.byok.coverage.title": "Feature-Abdeckung", + "com.affine.settings.workspace.byok.feature.chat.title": "Schreiben und Chatten", + "com.affine.settings.workspace.byok.feature.chat.fallback": "Abgedeckt, wenn ein BYOK-Schlüssel von OpenAI, Anthropic oder Gemini vorhanden ist.", + "com.affine.settings.workspace.byok.feature.action.title": "Aktionen und strukturierte Ausgabe", + "com.affine.settings.workspace.byok.feature.action.fallback": "Abgedeckt, wenn ein BYOK-Schlüssel von OpenAI oder Gemini vorhanden ist.", + "com.affine.settings.workspace.byok.feature.image.title": "Bildgenerierung", + "com.affine.settings.workspace.byok.feature.image.fallback": "Abgedeckt, wenn ein BYOK-Schlüssel von OpenAI, Gemini oder FAL vorhanden ist.", + "com.affine.settings.workspace.byok.feature.transcript.title": "Transkript", + "com.affine.settings.workspace.byok.feature.transcript.fallback": "Abgedeckt, wenn ein BYOK-Schlüssel von Gemini vorhanden ist.", + "com.affine.settings.workspace.byok.feature.workspace-indexing.title": "Workspace-Indizierung", + "com.affine.settings.workspace.byok.feature.workspace-indexing.fallback": "Abgedeckt, wenn ein BYOK-Schlüssel von Gemini vorhanden ist.", + "com.affine.settings.workspace.byok.warning.transcript": "Für die Transkription und die Workspace-Indizierung ist ein Gemini-BYOK-Schlüssel oder ein AFFiNE-AI-Plan als Fallback erforderlich.", + "com.affine.settings.workspace.byok.warning.workspace-indexing": "Für die Workspace-Indizierung ist ein Gemini-BYOK-Schlüssel oder ein AFFiNE-AI-Plan als Fallback erforderlich.", + "com.affine.settings.workspace.byok.usage.title": "BYOK-Nutzung", + "com.affine.settings.workspace.byok.usage.period": "Letzte 30 Tage", + "com.affine.settings.workspace.byok.usage.tokens": "{{count}} Token", + "com.affine.settings.workspace.byok.modal.add-title": "Provider-Schlüssel hinzufügen", + "com.affine.settings.workspace.byok.modal.edit-title": "Provider-Schlüssel bearbeiten", + "com.affine.settings.workspace.byok.modal.description": "Den API-Key erneut eingeben und vor dem Speichern der Änderungen testen.", + "com.affine.settings.workspace.byok.field.provider": "Provider", + "com.affine.settings.workspace.byok.field.key-name": "Schlüsselname", + "com.affine.settings.workspace.byok.field.description": "Beschreibung", + "com.affine.settings.workspace.byok.field.storage": "Schlüssel-Speicher", + "com.affine.settings.workspace.byok.field.api-key": "API-Key", + "com.affine.settings.workspace.byok.field.endpoint": "Endpunkt", + "com.affine.settings.workspace.byok.placeholder.key-name": "Primär", + "com.affine.settings.workspace.byok.placeholder.description": "Workspace-Fallback-Schlüssel", + "com.affine.settings.workspace.byok.action.add-key": "Schlüssel hinzufügen", + "com.affine.settings.workspace.byok.action.test-key": "Schlüssel testen", + "com.affine.settings.workspace.byok.action.cancel": "Abbrechen", + "com.affine.settings.workspace.byok.action.save-key": "Schlüssel speichern", + "com.affine.settings.workspace.byok.action.clear-all": "Alle BYOK-Schlüssel löschen", + "com.affine.settings.workspace.byok.action.reorder": "Umsortieren", + "com.affine.settings.workspace.byok.action.edit": "Bearbeiten", + "com.affine.settings.workspace.byok.action.delete": "Löschen", + "com.affine.settings.workspace.byok.notify.test-failed.title": "Schlüssel-Test ist fehlgeschlagen", + "com.affine.settings.workspace.byok.notify.local-save-failed.title": "Lokaler Schlüssel wurde nicht gespeichert", + "com.affine.settings.workspace.byok.notify.local-save-failed.message": "Der sichere Gerätespeicher ist nicht verfügbar.", + "com.affine.settings.workspace.byok.notify.load-failed.title": "BYOK-Einstellungen wurden nicht geladen", + "com.affine.settings.workspace.byok.notify.save-failed.title": "BYOK-Schlüssel wurde nicht gespeichert", + "com.affine.settings.workspace.byok.notify.delete-failed.title": "BYOK-Schlüssel wurde nicht gelöscht", + "com.affine.settings.workspace.byok.notify.reorder-failed.title": "BYOK-Schlüssel wurden nicht neu sortiert", + "com.affine.settings.workspace.byok.notify.clear-failed.title": "BYOK-Schlüssel wurden nicht gelöscht", + "com.affine.settings.workspace.byok.notify.operation-failed.message": "Bitte erneut versuchen.", + "com.affine.settings.workspace.byok.notify.cross-storage-reorder.title": "Keine Umsortierung über Speicher hinweg möglich", + "com.affine.settings.workspace.byok.notify.cross-storage-reorder.message": "Lokale Schlüssel und Serverschlüssel haben eine getrennte Fallback-Reihenfolge.", "com.affine.settings.workspace.experimental-features": "Experimentelle Funktionen", "com.affine.settings.workspace.experimental-features.get-started": "Erste Schritte", "com.affine.settings.workspace.experimental-features.header.plugins": "Experimentelle Funktionen", @@ -2137,6 +2227,7 @@ "com.affine.audio.transcribe.non-owner.confirm.title": "KI-Ergebnisse für andere können nicht abgerufen werden", "com.affine.audio.transcribe.non-owner.confirm.message": "Bitte wende dich an <1>{{user}}, um die KI-Rechte zu erweitern oder sende den Anhang erneut.", "com.affine.recording.new": "Audioaktivität", + "com.affine.recording.importing.prompt": "Importieren...", "com.affine.recording.success.prompt": "Fertig", "com.affine.recording.success.button": "App öffnen", "com.affine.recording.failed.prompt": "Speichern fehlgeschlagen",