From a0628d26add5c7eacdc40def0a4e3a7eabacbc6e Mon Sep 17 00:00:00 2001
From: Michel Roegl-Brunner
<73236783+michelroegl-brunner@users.noreply.github.com>
Date: Sat, 7 Mar 2026 00:45:45 +0100
Subject: [PATCH] Feat: add missing German locals (#1065)
* Feat: add missing German locals
* CodeRabbit suggestions
* CodeRabbit suggestions
* Update config/locales/views/lunchflow_items/de.yml
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Signed-off-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
* Update config/locales/views/lunchflow_items/de.yml
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Signed-off-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
---------
Signed-off-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
---
config/locales/defaults/de.yml | 2 +
.../locales/mailers/pdf_import_mailer/de.yml | 5 +
config/locales/models/category/de.yml | 7 +
config/locales/models/coinbase_account/de.yml | 5 +
config/locales/models/coinstats_item/de.yml | 12 +
config/locales/views/accounts/de.yml | 61 +++++
.../locales/views/admin/sso_providers/de.yml | 115 ++++++++
config/locales/views/admin/users/de.yml | 45 ++++
config/locales/views/budgets/de.yml | 10 +
config/locales/views/chats/de.yml | 5 +
config/locales/views/coinbase_items/de.yml | 78 ++++++
config/locales/views/coinstats_items/de.yml | 63 +++++
config/locales/views/components/de.yml | 67 +++++
config/locales/views/cryptos/de.yml | 13 +
.../locales/views/enable_banking_items/de.yml | 49 ++++
config/locales/views/entries/de.yml | 9 +
config/locales/views/holdings/de.yml | 49 +++-
config/locales/views/imports/de.yml | 60 +++++
.../locales/views/indexa_capital_items/de.yml | 247 ++++++++++++++++++
config/locales/views/investments/de.yml | 103 ++++++++
config/locales/views/invitations/de.yml | 8 +
config/locales/views/lunchflow_items/de.yml | 113 ++++++--
config/locales/views/merchants/de.yml | 26 ++
config/locales/views/mercury_items/de.yml | 147 +++++++++++
config/locales/views/onboardings/de.yml | 5 +
config/locales/views/other_assets/de.yml | 2 +
config/locales/views/pages/de.yml | 27 ++
config/locales/views/password_resets/de.yml | 2 +
config/locales/views/pdf_import_mailer/de.yml | 17 ++
config/locales/views/plaid_items/de.yml | 5 +
.../views/recurring_transactions/de.yml | 15 ++
config/locales/views/registrations/de.yml | 1 +
config/locales/views/reports/de.yml | 104 +++++++-
config/locales/views/rules/de.yml | 27 ++
config/locales/views/sessions/de.yml | 11 +
config/locales/views/settings/de.yml | 48 ++++
config/locales/views/settings/hostings/de.yml | 32 +++
.../views/settings/sso_identities/de.yml | 7 +
config/locales/views/simplefin_items/de.yml | 56 +++-
config/locales/views/snaptrade_items/de.yml | 188 +++++++++++++
config/locales/views/trades/de.yml | 5 +
config/locales/views/transactions/de.yml | 113 ++++++++
42 files changed, 1945 insertions(+), 19 deletions(-)
create mode 100644 config/locales/mailers/pdf_import_mailer/de.yml
create mode 100644 config/locales/models/category/de.yml
create mode 100644 config/locales/models/coinbase_account/de.yml
create mode 100644 config/locales/models/coinstats_item/de.yml
create mode 100644 config/locales/views/admin/sso_providers/de.yml
create mode 100644 config/locales/views/admin/users/de.yml
create mode 100644 config/locales/views/budgets/de.yml
create mode 100644 config/locales/views/chats/de.yml
create mode 100644 config/locales/views/coinbase_items/de.yml
create mode 100644 config/locales/views/coinstats_items/de.yml
create mode 100644 config/locales/views/components/de.yml
create mode 100644 config/locales/views/enable_banking_items/de.yml
create mode 100644 config/locales/views/indexa_capital_items/de.yml
create mode 100644 config/locales/views/mercury_items/de.yml
create mode 100644 config/locales/views/pdf_import_mailer/de.yml
create mode 100644 config/locales/views/settings/sso_identities/de.yml
create mode 100644 config/locales/views/snaptrade_items/de.yml
diff --git a/config/locales/defaults/de.yml b/config/locales/defaults/de.yml
index 1d0f1af64..27bdd0dd2 100644
--- a/config/locales/defaults/de.yml
+++ b/config/locales/defaults/de.yml
@@ -3,6 +3,8 @@ de:
defaults:
brand_name: "%{brand_name}"
product_name: "%{product_name}"
+ global:
+ expand: "Aufklappen"
activerecord:
errors:
messages:
diff --git a/config/locales/mailers/pdf_import_mailer/de.yml b/config/locales/mailers/pdf_import_mailer/de.yml
new file mode 100644
index 000000000..072a80c2e
--- /dev/null
+++ b/config/locales/mailers/pdf_import_mailer/de.yml
@@ -0,0 +1,5 @@
+---
+de:
+ pdf_import_mailer:
+ next_steps:
+ subject: "Ihr PDF-Dokument wurde analysiert - %{product_name}"
diff --git a/config/locales/models/category/de.yml b/config/locales/models/category/de.yml
new file mode 100644
index 000000000..58fa84e3e
--- /dev/null
+++ b/config/locales/models/category/de.yml
@@ -0,0 +1,7 @@
+---
+de:
+ models:
+ category:
+ uncategorized: Nicht kategorisiert
+ other_investments: Sonstige Anlagen
+ investment_contributions: Anlagebeiträge
diff --git a/config/locales/models/coinbase_account/de.yml b/config/locales/models/coinbase_account/de.yml
new file mode 100644
index 000000000..9afe7a778
--- /dev/null
+++ b/config/locales/models/coinbase_account/de.yml
@@ -0,0 +1,5 @@
+---
+de:
+ coinbase:
+ processor:
+ paid_via: "Bezahlt über %{method}"
diff --git a/config/locales/models/coinstats_item/de.yml b/config/locales/models/coinstats_item/de.yml
new file mode 100644
index 000000000..d56bc04aa
--- /dev/null
+++ b/config/locales/models/coinstats_item/de.yml
@@ -0,0 +1,12 @@
+---
+de:
+ models:
+ coinstats_item:
+ syncer:
+ importing_wallets: Wallets werden von CoinStats importiert...
+ checking_configuration: Wallet-Konfiguration wird geprüft...
+ wallets_need_setup:
+ one: "1 Wallet muss eingerichtet werden..."
+ other: "%{count} Wallets müssen eingerichtet werden..."
+ processing_holdings: Bestände werden verarbeitet...
+ calculating_balances: Salden werden berechnet...
diff --git a/config/locales/views/accounts/de.yml b/config/locales/views/accounts/de.yml
index 298a6a6e1..1b3e4d27b 100644
--- a/config/locales/views/accounts/de.yml
+++ b/config/locales/views/accounts/de.yml
@@ -1,7 +1,10 @@
+---
de:
accounts:
account:
link_lunchflow: Mit Lunch Flow verknüpfen
+ link_provider: Mit Provider verknüpfen
+ unlink_provider: Von Provider trennen
troubleshoot: Fehlerbehebung
chart:
data_not_available: Für den ausgewählten Zeitraum sind keine Daten verfügbar
@@ -9,6 +12,7 @@ de:
success: "%{type}-Konto erstellt"
destroy:
success: "%{type}-Konto zur Löschung vorgemerkt"
+ cannot_delete_linked: "Ein verknüpftes Konto kann nicht gelöscht werden. Bitte trennen Sie es zuerst."
empty:
empty_message: Füge ein Konto über eine Verbindung, einen Import oder manuell hinzu
new_account: Neues Konto
@@ -18,18 +22,28 @@ de:
opening_balance_date_label: Eröffnungsdatum des Kontostands
name_label: Kontoname
name_placeholder: Beispielkontoname
+ additional_details: Weitere Angaben
+ institution_name_label: Name der Institution
+ institution_name_placeholder: "z. B. Chase Bank"
+ institution_domain_label: Domain der Institution
+ institution_domain_placeholder: "z. B. chase.com"
+ notes_label: Notizen
+ notes_placeholder: Zusätzliche Informationen wie Kontonummern, Sort codes, IBAN, Routing-Nummern usw.
index:
accounts: Konten
manual_accounts:
other_accounts: Andere Konten
new_account: Neues Konto
sync: Alle synchronisieren
+ sync_all:
+ syncing: "Konten werden synchronisiert..."
new:
import_accounts: Konten importieren
method_selector:
connected_entry: Konto verknüpfen
connected_entry_eu: EU-Konto verknüpfen
link_with_provider: "Mit %{provider} verknüpfen"
+ lunchflow_entry: Lunch-Flow-Konto verknüpfen
manual_entry: Kontostand manuell eingeben
title: Wie möchtest du es hinzufügen
title: Was möchtest du hinzufügen
@@ -37,13 +51,22 @@ de:
activity:
amount: Betrag
balance: Kontostand
+ confirmed: Bestätigt
date: Datum
entries: Buchungen
entry: Buchung
+ filter: Filtern
new: Neu
+ new_activity: Neue Aktivität
new_balance: Neuer Kontostand
+ new_trade: Neuer Trade
new_transaction: Neue Transaktion
+ new_transfer: Neue Überweisung
no_entries: Keine Buchungen gefunden
+ pending: Ausstehend
+ search:
+ placeholder: Buchungen nach Name suchen
+ status: Status
title: Aktivität
chart:
balance: Kontostand
@@ -54,6 +77,8 @@ de:
confirm_title: Konto löschen
edit: Bearbeiten
import: Transaktionen importieren
+ import_trades: Trades importieren
+ import_transactions: Transaktionen importieren
manage: Konten verwalten
update:
success: "%{type}-Konto aktualisiert"
@@ -79,6 +104,42 @@ de:
credit_card: Kreditkarte
loan: Darlehen
other_liability: Sonstige Verbindlichkeit
+ subtype_regions:
+ us: Vereinigte Staaten
+ uk: Vereinigtes Königreich
+ ca: Kanada
+ au: Australien
+ eu: Europa
+ generic: Generisch
+ tax_treatments:
+ taxable: Versteuerbar
+ tax_deferred: Steuerlich aufgeschoben
+ tax_exempt: Steuerfrei
+ tax_advantaged: Steuerbegünstigt
+ tax_treatment_descriptions:
+ taxable: Gewinne werden bei Realisierung besteuert
+ tax_deferred: Beiträge abzugsfähig, Besteuerung bei Auszahlung
+ tax_exempt: Beiträge nach Steuer, Gewinne nicht besteuert
+ tax_advantaged: Besondere Steuervorteile unter Bedingungen
+ confirm_unlink:
+ title: Konto vom Provider trennen?
+ description_html: "Sie sind dabei, %{account_name} von %{provider_name} zu trennen. Das Konto wird zu einem manuellen Konto."
+ warning_title: Was das bedeutet
+ warning_no_sync: Das Konto wird nicht mehr automatisch mit dem Provider synchronisiert
+ warning_manual_updates: Sie müssen Buchungen und Salden manuell pflegen
+ warning_transactions_kept: Bestehende Buchungen und Salden bleiben erhalten
+ warning_can_delete: Nach dem Trennen können Sie das Konto bei Bedarf löschen
+ confirm_button: Bestätigen und trennen
+ unlink:
+ success: "Konto erfolgreich getrennt. Es ist jetzt ein manuelles Konto."
+ not_linked: "Konto ist mit keinem Provider verknüpft"
+ error: "Konto konnte nicht getrennt werden: %{error}"
+ generic_error: "Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es erneut."
+ select_provider:
+ title: Provider zum Verknüpfen auswählen
+ description: "Wählen Sie den Provider, mit dem %{account_name} verknüpft werden soll"
+ already_linked: "Konto ist bereits mit einem Provider verknüpft"
+ no_providers: "Derzeit sind keine Provider konfiguriert"
email_confirmations:
new:
diff --git a/config/locales/views/admin/sso_providers/de.yml b/config/locales/views/admin/sso_providers/de.yml
new file mode 100644
index 000000000..4f46a9b61
--- /dev/null
+++ b/config/locales/views/admin/sso_providers/de.yml
@@ -0,0 +1,115 @@
+---
+de:
+ admin:
+ unauthorized: "Sie sind nicht berechtigt, auf diesen Bereich zuzugreifen."
+ sso_providers:
+ index:
+ title: "SSO-Provider"
+ description: "Single-Sign-On-Authentifizierungsprovider für Ihre Instanz verwalten"
+ add_provider: "Provider hinzufügen"
+ no_providers_title: "Keine SSO-Provider"
+ no_providers_message: "Fügen Sie Ihren ersten SSO-Provider hinzu."
+ note: "Änderungen an SSO-Providern erfordern einen Neustart des Servers. Alternativ aktivieren Sie das Feature AUTH_PROVIDERS_SOURCE=db, um Provider dynamisch aus der Datenbank zu laden."
+ table:
+ name: "Name"
+ strategy: "Strategie"
+ status: "Status"
+ issuer: "Issuer"
+ actions: "Aktionen"
+ enabled: "Aktiviert"
+ disabled: "Deaktiviert"
+ legacy_providers_title: "Umgebungskonfigurierte Provider"
+ legacy_providers_notice: "Diese Provider werden über Umgebungsvariablen oder YAML konfiguriert und können nicht über diese Oberfläche verwaltet werden. Zur Verwaltung hier migrieren Sie sie zu datenbankgestützten Providern (AUTH_PROVIDERS_SOURCE=db) und legen Sie sie in der Oberfläche neu an."
+ env_configured: "Env/YAML"
+ new:
+ title: "SSO-Provider hinzufügen"
+ description: "Neuen Single-Sign-On-Authentifizierungsprovider konfigurieren"
+ edit:
+ title: "SSO-Provider bearbeiten"
+ description: "Konfiguration für %{label} aktualisieren"
+ create:
+ success: "SSO-Provider wurde erfolgreich erstellt."
+ update:
+ success: "SSO-Provider wurde erfolgreich aktualisiert."
+ destroy:
+ success: "SSO-Provider wurde erfolgreich gelöscht."
+ confirm: "Möchten Sie diesen Provider wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden."
+ toggle:
+ success_enabled: "SSO-Provider wurde erfolgreich aktiviert."
+ success_disabled: "SSO-Provider wurde erfolgreich deaktiviert."
+ confirm_enable: "Möchten Sie diesen Provider aktivieren?"
+ confirm_disable: "Möchten Sie diesen Provider deaktivieren?"
+ form:
+ basic_information: "Grundinformationen"
+ oauth_configuration: "OAuth/OIDC-Konfiguration"
+ strategy_label: "Strategie"
+ strategy_help: "Die zu verwendende Authentifizierungsstrategie"
+ name_label: "Name"
+ name_placeholder: "z. B. openid_connect, keycloak, authentik"
+ name_help: "Eindeutige Kennung (nur Kleinbuchstaben, Zahlen, Unterstriche)"
+ label_label: "Bezeichnung"
+ label_placeholder: "z. B. Anmelden mit Keycloak"
+ label_help: "Button-Text für Benutzer"
+ icon_label: "Icon"
+ icon_placeholder: "z. B. key, google, github"
+ icon_help: "Lucide-Icon-Name (optional)"
+ enabled_label: "Diesen Provider aktivieren"
+ enabled_help: "Benutzer können sich bei Aktivierung mit diesem Provider anmelden"
+ issuer_label: "Issuer"
+ issuer_placeholder: "https://accounts.google.com"
+ issuer_help: "OIDC-Issuer-URL (validiert .well-known/openid-configuration)"
+ client_id_label: "Client ID"
+ client_id_placeholder: "your-client-id"
+ client_id_help: "OAuth-Client-ID Ihres Identitätsanbieters"
+ client_secret_label: "Client Secret"
+ client_secret_placeholder_new: "your-client-secret"
+ client_secret_placeholder_existing: "••••••••••••••••"
+ client_secret_help: "OAuth-Client-Secret (verschlüsselt in der Datenbank)"
+ client_secret_help_existing: " – leer lassen, um bestehendes beizubehalten"
+ redirect_uri_label: "Redirect URI"
+ redirect_uri_placeholder: "https://yourdomain.com/auth/openid_connect/callback"
+ redirect_uri_help: "Callback-URL, die beim Identitätsanbieter eingetragen werden muss"
+ copy_button: "Kopieren"
+ cancel: "Abbrechen"
+ submit: "Provider speichern"
+ errors_title: "%{count} Fehler verhinderte das Speichern dieses Providers:"
+ provisioning_title: "Benutzer-Bereitstellung"
+ default_role_label: "Standardrolle für neue Benutzer"
+ default_role_help: "Rolle für per JIT-SSO bereitgestellte Benutzer. Standard: Mitglied."
+ role_guest: "Gast"
+ role_member: "Mitglied"
+ role_admin: "Admin"
+ role_super_admin: "Super-Admin"
+ role_mapping_title: "Gruppen-Rollen-Zuordnung (optional)"
+ role_mapping_help: "IdP-Gruppen/Claims auf Anwendungsrollen abbilden. Höchste passende Rolle wird zugewiesen. Leer = Standardrolle oben."
+ super_admin_groups: "Super-Admin-Gruppen"
+ admin_groups: "Admin-Gruppen"
+ guest_groups: "Gast-Gruppen"
+ member_groups: "Mitglieder-Gruppen"
+ groups_help: "Kommagetrennte IdP-Gruppennamen. * = alle Gruppen."
+ advanced_title: "Erweiterte OIDC-Einstellungen"
+ scopes_label: "Benutzerdefinierte Scopes"
+ scopes_help: "Leerzeichengetrennte OIDC-Scopes. Leer = Standard (openid email profile). 'groups' für Gruppen-Claims."
+ prompt_label: "Authentifizierungs-Prompt"
+ prompt_default: "Standard (IdP entscheidet)"
+ prompt_login: "Login erzwingen (erneut anmelden)"
+ prompt_consent: "Zustimmung erzwingen (erneut autorisieren)"
+ prompt_select_account: "Kontoauswahl"
+ prompt_none: "Kein Prompt (stille Anmeldung)"
+ prompt_help: "Steuert, wie der IdP den Benutzer während der Anmeldung auffordert."
+ test_connection: "Verbindung testen"
+ saml_configuration: "SAML-Konfiguration"
+ idp_metadata_url: "IdP-Metadaten-URL"
+ idp_metadata_url_help: "URL zu den SAML-Metadaten Ihres IdP. Andere SAML-Einstellungen werden dann automatisch gesetzt."
+ manual_saml_config: "Manuelle Konfiguration (ohne Metadaten-URL)"
+ manual_saml_help: "Nur verwenden, wenn Ihr IdP keine Metadaten-URL bereitstellt."
+ idp_sso_url: "IdP-SSO-URL"
+ idp_slo_url: "IdP-SLO-URL (optional)"
+ idp_certificate: "IdP-Zertifikat"
+ idp_certificate_help: "X.509-Zertifikat im PEM-Format. Erforderlich ohne Metadaten-URL."
+ idp_cert_fingerprint: "Zertifikats-Fingerabdruck (Alternative)"
+ name_id_format: "NameID-Format"
+ name_id_email: "E-Mail-Adresse (Standard)"
+ name_id_persistent: "Persistent"
+ name_id_transient: "Transient"
+ name_id_unspecified: "Nicht angegeben"
diff --git a/config/locales/views/admin/users/de.yml b/config/locales/views/admin/users/de.yml
new file mode 100644
index 000000000..2eda1c6b9
--- /dev/null
+++ b/config/locales/views/admin/users/de.yml
@@ -0,0 +1,45 @@
+---
+de:
+ admin:
+ users:
+ index:
+ title: "Benutzerverwaltung"
+ description: "Benutzerrollen für Ihre Instanz verwalten. Super-Admins haben Zugriff auf SSO-Provider und Benutzerverwaltung."
+ section_title: "Benutzer"
+ you: "(Sie)"
+ trial_ends_at: "Testversion endet"
+ not_available: "k. A."
+ no_users: "Keine Benutzer gefunden."
+ filters:
+ role: "Rolle"
+ role_all: "Alle Rollen"
+ trial_status: "Teststatus"
+ trial_all: "Alle"
+ trial_expiring_soon: "Läuft in 7 Tagen ab"
+ trial_trialing: "In Testphase"
+ submit: "Filtern"
+ summary:
+ trials_expiring_7_days: "Testversionen laufen in den nächsten 7 Tagen ab"
+ table:
+ user: "Benutzer"
+ trial_ends_at: "Testversion endet"
+ family_accounts: "Familienkonten"
+ family_transactions: "Familienbuchungen"
+ last_login: "Letzte Anmeldung"
+ session_count: "Anzahl Sitzungen"
+ never: "Nie"
+ role: "Rolle"
+ role_descriptions_title: "Rollenbeschreibungen"
+ roles:
+ guest: "Gast"
+ member: "Mitglied"
+ admin: "Admin"
+ super_admin: "Super-Admin"
+ role_descriptions:
+ guest: "Assistenten-orientierte Nutzung mit eingeschränkten Rechten für Einführungsabläufe."
+ member: "Standard-Zugriff. Kann eigene Konten, Buchungen und Einstellungen verwalten."
+ admin: "Familien-Administrator. Zugriff auf erweiterte Einstellungen wie API-Schlüssel, Importe und KI-Prompts."
+ super_admin: "Instanz-Administrator. Kann SSO-Provider, Benutzerrollen verwalten und Benutzer für Support vertreten."
+ update:
+ success: "Benutzerrolle wurde erfolgreich aktualisiert."
+ failure: "Benutzerrolle konnte nicht aktualisiert werden."
diff --git a/config/locales/views/budgets/de.yml b/config/locales/views/budgets/de.yml
new file mode 100644
index 000000000..00ac0252b
--- /dev/null
+++ b/config/locales/views/budgets/de.yml
@@ -0,0 +1,10 @@
+---
+de:
+ budgets:
+ name:
+ custom_range: "%{start} - %{end_date}"
+ month_year: "%{month}"
+ show:
+ tabs:
+ actual: Ist
+ budgeted: Budgetiert
diff --git a/config/locales/views/chats/de.yml b/config/locales/views/chats/de.yml
new file mode 100644
index 000000000..2d38fb9aa
--- /dev/null
+++ b/config/locales/views/chats/de.yml
@@ -0,0 +1,5 @@
+---
+de:
+ chats:
+ demo_banner_title: "Demo-Modus aktiv"
+ demo_banner_message: "Sie nutzen ein Open-Weight Qwen3-LLM mit Credits von Cloudflare Workers AI. Die Ergebnisse können variieren, da die Codebasis hauptsächlich mit `gpt-4.1` getestet wurde – Ihre Tokens werden jedoch nicht anderswo zum Training verwendet! 🤖"
diff --git a/config/locales/views/coinbase_items/de.yml b/config/locales/views/coinbase_items/de.yml
new file mode 100644
index 000000000..a7300e8d8
--- /dev/null
+++ b/config/locales/views/coinbase_items/de.yml
@@ -0,0 +1,78 @@
+---
+de:
+ coinbase_items:
+ create:
+ default_name: Coinbase
+ success: Mit Coinbase verbunden! Ihre Konten werden synchronisiert.
+ update:
+ success: Coinbase-Konfiguration wurde erfolgreich aktualisiert.
+ destroy:
+ success: Coinbase-Verbindung wurde zur Löschung vorgemerkt.
+ setup_accounts:
+ title: Coinbase-Wallets importieren
+ subtitle: Wählen Sie die zu verfolgenden Wallets
+ instructions: Wählen Sie die Wallets zum Import. Nicht ausgewählte Wallets bleiben verfügbar für einen späteren Import.
+ no_accounts: Alle Wallets wurden bereits importiert.
+ accounts_count:
+ one: "%{count} Wallet verfügbar"
+ other: "%{count} Wallets verfügbar"
+ select_all: Alle auswählen
+ import_selected: Ausgewählte importieren
+ cancel: Abbrechen
+ creating: Importiere...
+ complete_account_setup:
+ success:
+ one: "%{count} Wallet importiert"
+ other: "%{count} Wallets importiert"
+ none_selected: Keine Wallets ausgewählt
+ no_accounts: Keine Wallets zum Import
+ coinbase_item:
+ provider_name: Coinbase
+ syncing: Synchronisiere...
+ reconnect: Zugangsdaten müssen aktualisiert werden
+ deletion_in_progress: Wird gelöscht...
+ sync_status:
+ no_accounts: Keine Konten gefunden
+ all_synced:
+ one: "%{count} Konto synchronisiert"
+ other: "%{count} Konten synchronisiert"
+ partial_sync: "%{linked_count} synchronisiert, %{unlinked_count} müssen eingerichtet werden"
+ status: "Zuletzt synchronisiert vor %{timestamp}"
+ status_with_summary: "Zuletzt synchronisiert vor %{timestamp} – %{summary}"
+ status_never: Noch nie synchronisiert
+ update_credentials: Zugangsdaten aktualisieren
+ delete: Löschen
+ no_accounts_title: Keine Konten gefunden
+ no_accounts_message: Ihre Coinbase-Wallets erscheinen hier nach dem Sync.
+ setup_needed: Wallets bereit zum Import
+ setup_description: Wählen Sie die Coinbase-Wallets, die Sie verfolgen möchten.
+ setup_action: Wallets importieren
+ import_wallets_menu: Wallets importieren
+ more_wallets_available:
+ one: "%{count} weiteres Wallet zum Import verfügbar"
+ other: "%{count} weitere Wallets zum Import verfügbar"
+ select_existing_account:
+ title: Coinbase-Konto verknüpfen
+ no_accounts_found: Keine Coinbase-Konten gefunden.
+ wait_for_sync: Warten Sie, bis Coinbase die Synchronisation abgeschlossen hat
+ check_provider_health: Prüfen Sie, ob Ihre Coinbase-API-Zugangsdaten gültig sind
+ balance: Saldo
+ currently_linked_to: "Aktuell verknüpft mit: %{account_name}"
+ link: Verknüpfen
+ cancel: Abbrechen
+ link_existing_account:
+ success: Erfolgreich mit Coinbase-Konto verknüpft
+ errors:
+ only_manual: Nur manuelle Konten können mit Coinbase verknüpft werden
+ invalid_coinbase_account: Ungültiges Coinbase-Konto
+ coinbase_item:
+ syncer:
+ checking_credentials: Zugangsdaten werden geprüft...
+ credentials_invalid: Ungültige API-Zugangsdaten. Bitte API-Key und Secret prüfen.
+ importing_accounts: Konten werden von Coinbase importiert...
+ checking_configuration: Kontokonfiguration wird geprüft...
+ accounts_need_setup:
+ one: "%{count} Konto muss eingerichtet werden"
+ other: "%{count} Konten müssen eingerichtet werden"
+ processing_accounts: Kontodaten werden verarbeitet...
+ calculating_balances: Salden werden berechnet...
diff --git a/config/locales/views/coinstats_items/de.yml b/config/locales/views/coinstats_items/de.yml
new file mode 100644
index 000000000..56ce87bd8
--- /dev/null
+++ b/config/locales/views/coinstats_items/de.yml
@@ -0,0 +1,63 @@
+---
+de:
+ coinstats_items:
+ create:
+ success: CoinStats-Provider-Verbindung wurde erfolgreich eingerichtet.
+ default_name: CoinStats-Verbindung
+ errors:
+ validation_failed: "Validierung fehlgeschlagen: %{message}."
+ update:
+ success: CoinStats-Provider-Verbindung wurde erfolgreich aktualisiert.
+ errors:
+ validation_failed: "Validierung fehlgeschlagen: %{message}."
+ destroy:
+ success: CoinStats-Provider-Verbindung wurde zur Löschung vorgemerkt.
+ link_wallet:
+ success: "%{count} Krypto-Wallet(s) erfolgreich verknüpft."
+ missing_params: "Fehlende erforderliche Parameter: Adresse und Blockchain."
+ failed: Verknüpfung des Krypto-Wallets fehlgeschlagen.
+ error: "Krypto-Wallet-Verknüpfung fehlgeschlagen: %{message}."
+ new:
+ title: Krypto-Wallet mit CoinStats verknüpfen
+ blockchain_fetch_error: Blockchains konnten nicht geladen werden. Bitte später erneut versuchen.
+ address_label: Adresse
+ address_placeholder: Erforderlich
+ blockchain_label: Blockchain
+ blockchain_placeholder: Erforderlich
+ blockchain_select_blank: Blockchain auswählen
+ link: Krypto-Wallet verknüpfen
+ not_configured_title: CoinStats-Provider-Verbindung nicht konfiguriert
+ not_configured_message: Zum Verknüpfen eines Krypto-Wallets müssen Sie zuerst die CoinStats-Provider-Verbindung konfigurieren.
+ not_configured_step1_html: Gehen Sie zu Einstellungen → Provider
+ not_configured_step2_html: Suchen Sie den CoinStats-Provider
+ not_configured_step3_html: Folgen Sie den Einrichtungsanweisungen zur Konfiguration
+ go_to_settings: Zu den Provider-Einstellungen
+ setup_instructions: "Einrichtungsanleitung:"
+ step1_html: Besuchen Sie das CoinStats Public API Dashboard, um einen API-Key zu erhalten.
+ step2: Tragen Sie Ihren API-Key unten ein und klicken Sie auf Konfigurieren.
+ step3_html: Nach erfolgreicher Verbindung gehen Sie zum Konten-Tab, um Krypto-Wallets einzurichten.
+ api_key_label: API-Key
+ api_key_placeholder: Erforderlich
+ configure: Konfigurieren
+ update_configuration: Neu konfigurieren
+ default_name: CoinStats-Verbindung
+ status_configured_html: Bereit zur Nutzung
+ status_not_configured: Nicht konfiguriert
+ coinstats_item:
+ deletion_in_progress: Krypto-Wallet-Daten werden gelöscht…
+ provider_name: CoinStats
+ syncing: Synchronisiere…
+ sync_status:
+ no_accounts: Keine Krypto-Wallets gefunden
+ all_synced:
+ one: "%{count} Krypto-Wallet synchronisiert"
+ other: "%{count} Krypto-Wallets synchronisiert"
+ partial_sync: "%{linked_count} Krypto-Wallets synchronisiert, %{unlinked_count} müssen eingerichtet werden"
+ reconnect: Erneut verbinden
+ status: Zuletzt synchronisiert vor %{timestamp}
+ status_never: Noch nie synchronisiert
+ status_with_summary: "Zuletzt synchronisiert vor %{timestamp} • %{summary}"
+ update_api_key: API-Key aktualisieren
+ delete: Löschen
+ no_wallets_title: Keine Krypto-Wallets verbunden
+ no_wallets_message: Derzeit sind keine Krypto-Wallets mit CoinStats verbunden.
diff --git a/config/locales/views/components/de.yml b/config/locales/views/components/de.yml
new file mode 100644
index 000000000..ec3e70fed
--- /dev/null
+++ b/config/locales/views/components/de.yml
@@ -0,0 +1,67 @@
+---
+de:
+ provider_sync_summary:
+ title: Sync-Zusammenfassung
+ last_sync: "Letzter Sync: vor %{time_ago}"
+ accounts:
+ title: Konten
+ total: "Gesamt: %{count}"
+ linked: "Verknüpft: %{count}"
+ unlinked: "Nicht verknüpft: %{count}"
+ institutions: "Institute: %{count}"
+ transactions:
+ title: Buchungen
+ seen: "Erfasst: %{count}"
+ imported: "Importiert: %{count}"
+ updated: "Aktualisiert: %{count}"
+ skipped: "Übersprungen: %{count}"
+ fetching: "Wird vom Broker abgerufen..."
+ protected:
+ one: "%{count} Buchung geschützt (nicht überschrieben)"
+ other: "%{count} Buchungen geschützt (nicht überschrieben)"
+ view_protected: Geschützte Buchungen anzeigen
+ skip_reasons:
+ excluded: Ausgeschlossen
+ user_modified: Vom Benutzer geändert
+ import_locked: CSV-Import
+ protected: Geschützt
+ holdings:
+ title: Bestände
+ found: "Gefunden: %{count}"
+ processed: "Verarbeitet: %{count}"
+ trades:
+ title: Trades
+ imported: "Importiert: %{count}"
+ skipped: "Übersprungen: %{count}"
+ fetching: "Aktivitäten werden vom Broker abgerufen..."
+ health:
+ title: Status
+ view_error_details: Fehlerdetails anzeigen
+ rate_limited: "Rate-Limit vor %{time_ago}"
+ recently: kürzlich
+ errors: "Fehler: %{count}"
+ pending_reconciled:
+ one: "%{count} ausstehende Doppelbuchung abgeglichen"
+ other: "%{count} ausstehende Doppelbuchungen abgeglichen"
+ view_reconciled: Abgeglichene Buchungen anzeigen
+ duplicate_suggestions:
+ one: "%{count} mögliche Doppelbuchung zur Prüfung"
+ other: "%{count} mögliche Doppelbuchungen zur Prüfung"
+ view_duplicate_suggestions: Vorgeschlagene Duplikate anzeigen
+ stale_pending:
+ one: "%{count} veraltete ausstehende Buchung (von Budgets ausgeschlossen)"
+ other: "%{count} veraltete ausstehende Buchungen (von Budgets ausgeschlossen)"
+ view_stale_pending: Betroffene Konten anzeigen
+ stale_pending_count:
+ one: "%{count} Buchung"
+ other: "%{count} Buchungen"
+ stale_unmatched:
+ one: "%{count} ausstehende Buchung benötigt manuelle Prüfung"
+ other: "%{count} ausstehende Buchungen benötigen manuelle Prüfung"
+ view_stale_unmatched: Zu prüfende Buchungen anzeigen
+ stale_unmatched_count:
+ one: "%{count} Buchung"
+ other: "%{count} Buchungen"
+ data_warnings: "Datenwarnungen: %{count}"
+ notices: "Hinweise: %{count}"
+ view_data_quality: Datenqualitätsdetails anzeigen
diff --git a/config/locales/views/cryptos/de.yml b/config/locales/views/cryptos/de.yml
index 06039fa62..250562848 100644
--- a/config/locales/views/cryptos/de.yml
+++ b/config/locales/views/cryptos/de.yml
@@ -3,5 +3,18 @@ de:
cryptos:
edit:
edit: "%{account} bearbeiten"
+ form:
+ subtype_label: Kontotyp
+ subtype_prompt: Typ auswählen...
+ subtype_none: Nicht angegeben
+ tax_treatment_label: Steuerbehandlung
+ tax_treatment_hint: Die meisten Kryptowährungen werden in versteuerten Konten gehalten. Wählen Sie eine andere Option bei steuerbegünstigten Konten (z. B. selbst verwaltetes IRA).
new:
title: Kontostand eingeben
+ subtypes:
+ wallet:
+ short: Wallet
+ long: Krypto-Wallet
+ exchange:
+ short: Börse
+ long: Krypto-Börse
diff --git a/config/locales/views/enable_banking_items/de.yml b/config/locales/views/enable_banking_items/de.yml
new file mode 100644
index 000000000..c7ead9255
--- /dev/null
+++ b/config/locales/views/enable_banking_items/de.yml
@@ -0,0 +1,49 @@
+---
+de:
+ enable_banking_items:
+ authorize:
+ authorization_failed: Autorisierung konnte nicht gestartet werden
+ bank_required: Bitte wählen Sie eine Bank.
+ invalid_redirect: Die erhaltene Autorisierungs-URL ist ungültig. Bitte versuchen Sie es erneut.
+ redirect_uri_not_allowed: Weiterleitung nicht erlaubt. Konfigurieren Sie %{callback_url} in den Enable-Banking-App-Einstellungen.
+ unexpected_error: Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es erneut.
+ callback:
+ authorization_error: Autorisierung fehlgeschlagen
+ invalid_callback: Ungültige Callback-Parameter.
+ item_not_found: Verbindung nicht gefunden.
+ session_failed: Autorisierung konnte nicht abgeschlossen werden
+ success: Erfolgreich mit Ihrer Bank verbunden. Ihre Konten werden synchronisiert.
+ unexpected_error: Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es erneut.
+ complete_account_setup:
+ all_skipped: Alle Konten wurden übersprungen. Sie können sie später auf der Konten-Seite einrichten.
+ no_accounts: Keine Konten zum Einrichten verfügbar.
+ success: "%{count} Konten wurden erfolgreich angelegt!"
+ create:
+ success: Enable-Banking-Konfiguration erfolgreich.
+ destroy:
+ success: Die Enable-Banking-Verbindung wurde zur Löschung vorgemerkt.
+ link_accounts:
+ already_linked: Die ausgewählten Konten sind bereits verknüpft.
+ link_failed: Konten konnten nicht verknüpft werden
+ no_accounts_selected: Keine Konten ausgewählt.
+ no_session: Keine aktive Enable-Banking-Verbindung. Bitte verbinden Sie zuerst eine Bank.
+ success: "%{count} Konten wurden erfolgreich verknüpft."
+ link_existing_account:
+ success: Konto erfolgreich mit Enable-Banking verknüpft
+ errors:
+ only_manual: Nur manuelle Konten können verknüpft werden
+ invalid_enable_banking_account: Ungültiges Enable-Banking-Konto ausgewählt
+ new:
+ link_enable_banking_title: Enable-Banking verknüpfen
+ reauthorize:
+ invalid_redirect: Die erhaltene Autorisierungs-URL ist ungültig. Bitte versuchen Sie es erneut.
+ reauthorization_failed: Erneute Autorisierung fehlgeschlagen
+ select_bank:
+ cancel: Abbrechen
+ check_country: Bitte prüfen Sie Ihre Ländereinstellungen.
+ credentials_required: Bitte konfigurieren Sie zuerst Ihre Enable-Banking-Zugangsdaten.
+ description: Wählen Sie die Bank, die Sie mit Ihren Konten verbinden möchten.
+ no_banks: Für diese Region/Land sind keine Banken verfügbar.
+ title: Wählen Sie Ihre Bank
+ update:
+ success: Enable-Banking-Konfiguration aktualisiert.
diff --git a/config/locales/views/entries/de.yml b/config/locales/views/entries/de.yml
index 4b08c0138..ca6893024 100644
--- a/config/locales/views/entries/de.yml
+++ b/config/locales/views/entries/de.yml
@@ -12,3 +12,12 @@ de:
loading: Buchungen werden geladen...
update:
success: Buchung aktualisiert
+ unlock:
+ success: Buchung freigegeben. Sie kann beim nächsten Sync aktualisiert werden.
+ protection:
+ tooltip: Vor Sync geschützt
+ title: Vor Sync geschützt
+ description: Ihre Änderungen an dieser Buchung werden nicht durch den Provider-Sync überschrieben.
+ locked_fields_label: "Gesperrte Felder:"
+ unlock_button: Sync-Updates zulassen
+ unlock_confirm: Soll der Sync diese Buchung aktualisieren dürfen? Ihre Änderungen können beim nächsten Sync überschrieben werden.
diff --git a/config/locales/views/holdings/de.yml b/config/locales/views/holdings/de.yml
index 7fdd2ca74..3954a23ad 100644
--- a/config/locales/views/holdings/de.yml
+++ b/config/locales/views/holdings/de.yml
@@ -5,9 +5,37 @@ de:
brokerage_cash: Depotguthaben
destroy:
success: Position gelöscht
+ update:
+ success: Einstandspreis gespeichert.
+ error: Ungültiger Einstandspreis.
+ unlock_cost_basis:
+ success: Einstandspreis freigegeben. Er kann beim nächsten Sync aktualisiert werden.
+ remap_security:
+ success: Wertpapier erfolgreich aktualisiert.
+ security_not_found: Das ausgewählte Wertpapier konnte nicht gefunden werden.
+ reset_security:
+ success: Wertpapier auf Provider-Wert zurückgesetzt.
+ errors:
+ security_collision: "Umbildung nicht möglich: Sie haben bereits eine Position für %{ticker} am %{date}."
+ cost_basis_sources:
+ manual: Vom Benutzer gesetzt
+ calculated: Aus Trades
+ provider: Vom Provider
+ cost_basis_cell:
+ unknown: "--"
+ set_cost_basis_header: "Einstandspreis für %{ticker} setzen (%{qty} Anteile)"
+ total_cost_basis_label: Gesamter Einstandspreis
+ or_per_share_label: "Oder pro Anteil eingeben:"
+ per_share: pro Anteil
+ cancel: Abbrechen
+ save: Speichern
+ overwrite_confirm_title: Einstandspreis überschreiben?
+ overwrite_confirm_body: "Dies ersetzt den aktuellen Einstandspreis von %{current}."
holding:
per_share: pro Anteil
shares: "%{qty} Anteile"
+ unknown: "--"
+ no_cost_basis: Kein Einstandspreis
index:
average_cost: Durchschnittlicher Einstandspreis
holdings: Positionen
@@ -23,12 +51,26 @@ de:
avg_cost_label: Durchschnittlicher Einstandspreis
current_market_price_label: Aktueller Marktpreis
delete: Löschen
- delete_subtitle: Dadurch wird die Position und alle zugehörigen Trades auf diesem Konto gelöscht Diese Aktion kann nicht rückgängig gemacht werden
+ delete_subtitle: Dadurch wird die Position und alle zugehörigen Trades auf diesem Konto gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.
delete_title: Position löschen
+ edit_security: Wertpapier bearbeiten
history: Verlauf
+ no_trade_history: Für diese Position ist keine Trade-Historie verfügbar.
overview: Übersicht
portfolio_weight_label: Portfolio-Gewichtung
settings: Einstellungen
+ security_label: Wertpapier
+ originally: "war %{ticker}"
+ search_security: Wertpapier suchen
+ search_security_placeholder: Nach Ticker oder Name suchen
+ cancel: Abbrechen
+ remap_security: Speichern
+ no_security_provider: Wertpapier-Provider nicht konfiguriert. Suche nach Wertpapieren nicht möglich.
+ security_remapped_label: Wertpapier umgebildet
+ provider_sent: "Provider: %{ticker}"
+ reset_to_provider: Auf Provider zurücksetzen
+ reset_confirm_title: Wertpapier auf Provider zurücksetzen?
+ reset_confirm_body: "Das Wertpapier wird von %{current} zurück auf %{original} geändert; alle zugehörigen Trades werden verschoben."
ticker_label: Ticker
trade_history_entry: "%{qty} Anteile von %{security} zu %{price}"
total_return_label: Gesamtrendite
@@ -36,3 +78,8 @@ de:
book_value_label: Buchwert
market_value_label: Marktwert
unknown: Unbekannt
+ cost_basis_locked_label: Einstandspreis ist gesperrt
+ cost_basis_locked_description: Ihr manuell gesetzter Einstandspreis wird durch Syncs nicht geändert.
+ unlock_cost_basis: Freigeben
+ unlock_confirm_title: Einstandspreis freigeben?
+ unlock_confirm_body: Der Einstandspreis kann dann durch Provider-Syncs oder Trade-Berechnungen aktualisiert werden.
diff --git a/config/locales/views/imports/de.yml b/config/locales/views/imports/de.yml
index ce94b1a0b..d9f5d992c 100644
--- a/config/locales/views/imports/de.yml
+++ b/config/locales/views/imports/de.yml
@@ -8,8 +8,18 @@ de:
errors_notice_mobile: Deine Daten enthalten Fehler. Tippe auf den Fehler-Tooltip, um Details zu sehen.
title: Daten bereinigen
configurations:
+ update:
+ success: Import wurde erfolgreich konfiguriert.
+ category_import:
+ button_label: Weiter
+ description: Lade eine einfache CSV-Datei hoch (z. B. wie bei einem Export). Die Spalten werden automatisch zugeordnet.
+ instructions: Wähle Weiter, um die CSV zu parsen und zum Bereinigungsschritt zu gelangen.
mint_import:
date_format_label: Datumsformat
+ rule_import:
+ description: Konfigurieren Sie den Regel-Import. Regeln werden basierend auf den CSV-Daten erstellt oder aktualisiert.
+ process_button: Regeln verarbeiten
+ process_help: Klicken Sie unten, um Ihre CSV zu verarbeiten und Regelzeilen zu erzeugen.
show:
description: Wähle die Spalten aus, die den jeweiligen Feldern in deiner CSV entsprechen.
title: Import konfigurieren
@@ -17,6 +27,7 @@ de:
date_format_label: Datumsformat
transaction_import:
date_format_label: Datumsformat
+ rows_to_skip_label: Erste n Zeilen überspringen
confirms:
mappings:
create_account: Konto erstellen
@@ -71,12 +82,61 @@ de:
new:
description: Du kannst verschiedene Datentypen manuell über CSV importieren oder eine unserer Importvorlagen wie Mint verwenden.
import_accounts: Konten importieren
+ import_categories: Kategorien importieren
+ import_file: Dokument importieren
+ import_file_description: KI-gestützte Analyse für PDFs und durchsuchbarer Upload für weitere Formate
import_mint: Von Mint importieren
import_portfolio: Investitionen importieren
+ import_rules: Regeln importieren
import_transactions: Transaktionen importieren
+ requires_account: Importiere zuerst Konten, um diese Option zu nutzen.
resume: "%{type} fortsetzen"
sources: Quellen
title: Neuer CSV-Import
+ create:
+ file_too_large: Datei ist zu groß. Maximale Größe %{max_size} MB.
+ invalid_file_type: Ungültiger Dateityp. Bitte laden Sie eine CSV-Datei hoch.
+ csv_uploaded: CSV wurde erfolgreich hochgeladen.
+ pdf_too_large: PDF ist zu groß. Maximale Größe %{max_size} MB.
+ pdf_processing: Ihre PDF wird verarbeitet. Sie erhalten eine E-Mail, wenn die Analyse abgeschlossen ist.
+ invalid_pdf: Die hochgeladene Datei ist keine gültige PDF.
+ document_too_large: Dokument ist zu groß. Maximale Größe %{max_size} MB.
+ invalid_document_file_type: Ungültiger Dokumenttyp für den aktiven Vektorspeicher.
+ document_uploaded: Dokument wurde erfolgreich hochgeladen.
+ document_upload_failed: Das Dokument konnte nicht in den Vektorspeicher hochgeladen werden. Bitte versuchen Sie es erneut.
+ document_provider_not_configured: Kein Vektorspeicher für Dokument-Uploads konfiguriert.
+ show:
+ finalize_upload: Bitte schließen Sie den Datei-Upload ab.
+ finalize_mappings: Bitte schließen Sie die Zuordnungen ab, bevor Sie fortfahren.
+ errors:
+ custom_column_requires_inflow: "Bei benutzerdefinierten Spalten muss eine Einnahmen-Spalte ausgewählt werden."
+ document_types:
+ bank_statement: Kontoauszug
+ credit_card_statement: Kreditkartenabrechnung
+ investment_statement: Wertpapierabrechnung
+ financial_document: Finanzdokument
+ contract: Vertrag
+ other: Sonstiges Dokument
+ unknown: Unbekanntes Dokument
+ pdf_import:
+ processing_title: Ihre PDF wird verarbeitet
+ processing_description: Wir analysieren Ihr Dokument mit KI. Das kann einen Moment dauern. Sie erhalten eine E-Mail, wenn die Analyse abgeschlossen ist.
+ check_status: Status prüfen
+ back_to_dashboard: Zurück zur Übersicht
+ failed_title: Verarbeitung fehlgeschlagen
+ failed_description: Ihre PDF konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder kontaktieren Sie den Support.
+ try_again: Erneut versuchen
+ delete_import: Import löschen
+ complete_title: Dokument analysiert
+ complete_description: Wir haben Ihre PDF analysiert – hier ist das Ergebnis.
+ document_type_label: Dokumenttyp
+ summary_label: Zusammenfassung
+ email_sent_notice: Sie haben eine E-Mail mit den nächsten Schritten erhalten.
+ back_to_imports: Zurück zu Importen
+ unknown_state_title: Unbekannter Status
+ unknown_state_description: Dieser Import befindet sich in einem unerwarteten Zustand. Bitte kehren Sie zu den Importen zurück.
+ processing_failed_with_message: "%{message}"
+ processing_failed_generic: "Verarbeitung fehlgeschlagen: %{error}"
ready:
description: Hier ist eine Zusammenfassung der neuen Elemente, die deinem Konto hinzugefügt werden, sobald du diesen Import veröffentlichst.
title: Importdaten bestätigen
diff --git a/config/locales/views/indexa_capital_items/de.yml b/config/locales/views/indexa_capital_items/de.yml
new file mode 100644
index 000000000..09d0e2a22
--- /dev/null
+++ b/config/locales/views/indexa_capital_items/de.yml
@@ -0,0 +1,247 @@
+---
+de:
+ indexa_capital_items:
+ sync_status:
+ no_accounts: "Keine Konten gefunden"
+ synced:
+ one: "%{count} Konto synchronisiert"
+ other: "%{count} Konten synchronisiert"
+ synced_with_setup: "%{linked} synchronisiert, %{unlinked} benötigen Einrichtung"
+ institution_summary:
+ none: "Keine Institute verbunden"
+ count:
+ one: "%{count} Institut"
+ other: "%{count} Institute"
+ errors:
+ provider_not_configured: "IndexaCapital-Anbieter ist nicht konfiguriert"
+
+
+ sync:
+ status:
+ importing: "Konten werden von IndexaCapital importiert..."
+ processing: "Depots und Aktivitäten werden verarbeitet..."
+ calculating: "Salden werden berechnet..."
+ importing_data: "Kontodaten werden importiert..."
+ checking_setup: "Kontokonfiguration wird geprüft..."
+ needs_setup: "%{count} Konten benötigen Einrichtung..."
+ success: "Synchronisation gestartet"
+
+
+ panel:
+ setup_instructions: "Einrichtungsanleitung:"
+ step_1: "Besuchen Sie Ihr IndexaCapital Dashboard, um einen schreibgeschützten API-Token zu erstellen"
+ step_2: "Fügen Sie Ihren API-Token unten ein und klicken Sie auf Speichern"
+ step_3: "Nach erfolgreicher Verbindung gehen Sie zur Registerkarte Konten, um neue Konten einzurichten"
+ field_descriptions: "Feldbeschreibungen:"
+ optional: "(Optional)"
+ required: "(Pflichtfeld)"
+ optional_with_default: "(optional, Standard: %{default_value})"
+ alternative_auth: "Oder nutzen Sie Benutzername/Passwort-Anmeldung..."
+ save_button: "Konfiguration speichern"
+ update_button: "Konfiguration aktualisieren"
+ status_configured_html: "Konfiguriert und einsatzbereit. Besuchen Sie die Registerkarte Konten, um Konten zu verwalten und einzurichten."
+ status_not_configured: "Nicht konfiguriert"
+ fields:
+ api_token:
+ label: "API-Token"
+ description: "Ihr schreibgeschützter API-Token aus dem IndexaCapital Dashboard"
+ placeholder_new: "API-Token hier einfügen"
+ placeholder_update: "Neuen API-Token zum Aktualisieren eingeben"
+ username:
+ label: "Benutzername"
+ description: "Ihr IndexaCapital Benutzername/E-Mail"
+ placeholder_new: "Benutzername hier einfügen"
+ placeholder_update: "Neuen Benutzernamen zum Aktualisieren eingeben"
+ document:
+ label: "Dokument-ID"
+ description: "Ihre IndexaCapital Dokument-/ID-Nummer"
+ placeholder_new: "Dokument-ID hier einfügen"
+ placeholder_update: "Neue Dokument-ID zum Aktualisieren eingeben"
+ password:
+ label: "Passwort"
+ description: "Ihr IndexaCapital Passwort"
+ placeholder_new: "Passwort hier einfügen"
+ placeholder_update: "Neues Passwort zum Aktualisieren eingeben"
+
+
+ create:
+ success: "IndexaCapital-Verbindung erfolgreich erstellt"
+ update:
+ success: "IndexaCapital-Verbindung aktualisiert"
+ destroy:
+ success: "IndexaCapital-Verbindung entfernt"
+ index:
+ title: "IndexaCapital-Verbindungen"
+
+
+ loading:
+ loading_message: "IndexaCapital-Konten werden geladen..."
+ loading_title: "Laden"
+
+ link_accounts:
+ all_already_linked:
+ one: "Das ausgewählte Konto (%{names}) ist bereits verknüpft"
+ other: "Alle %{count} ausgewählten Konten sind bereits verknüpft: %{names}"
+ api_error: "API-Fehler: %{message}"
+ invalid_account_names:
+ one: "Konto mit leerem Namen kann nicht verknüpft werden"
+ other: "%{count} Konten mit leeren Namen können nicht verknüpft werden"
+ link_failed: "Konten konnten nicht verknüpft werden"
+ no_accounts_selected: "Bitte wählen Sie mindestens ein Konto aus"
+ no_api_key: "IndexaCapital-Zugangsdaten nicht gefunden. Bitte in den Anbieter-Einstellungen konfigurieren."
+ partial_invalid: "Erfolgreich %{created_count} Konto/Konten verknüpft, %{already_linked_count} waren bereits verknüpft, %{invalid_count} Konto/Konten hatten ungültige Namen"
+ partial_success: "Erfolgreich %{created_count} Konto/Konten verknüpft. %{already_linked_count} Konto/Konten waren bereits verknüpft: %{already_linked_names}"
+ success:
+ one: "Erfolgreich %{count} Konto verknüpft"
+ other: "Erfolgreich %{count} Konten verknüpft"
+
+
+ indexa_capital_item:
+ accounts_need_setup: "Konten benötigen Einrichtung"
+ delete: "Verbindung löschen"
+ deletion_in_progress: "Löschung läuft..."
+ error: "Fehler"
+ more_accounts_available:
+ one: "%{count} weiteres Konto verfügbar"
+ other: "%{count} weitere Konten verfügbar"
+ no_accounts_description: "Diese Verbindung hat noch keine verknüpften Konten."
+ no_accounts_title: "Keine Konten"
+ provider_name: "IndexaCapital"
+ requires_update: "Verbindung muss aktualisiert werden"
+ setup_action: "Neue Konten einrichten"
+ setup_description: "%{linked} von %{total} Konten verknüpft. Wählen Sie Kontotypen für Ihre neu importierten IndexaCapital-Konten."
+ setup_needed: "Neue Konten bereit zur Einrichtung"
+ status: "Vor %{timestamp} synchronisiert — %{summary}"
+ status_never: "Noch nie synchronisiert"
+ syncing: "Synchronisiere..."
+ total: "Gesamt"
+ unlinked: "Nicht verknüpft"
+ update_credentials: "Zugangsdaten aktualisieren"
+
+
+ select_accounts:
+ accounts_selected: "Konten ausgewählt"
+ api_error: "API-Fehler: %{message}"
+ cancel: "Abbrechen"
+ configure_name_in_provider: "Import nicht möglich – bitte Kontoname in IndexaCapital konfigurieren"
+ description: "Wählen Sie die Konten aus, die Sie mit Ihrem %{product_name}-Konto verknüpfen möchten."
+ link_accounts: "Ausgewählte Konten verknüpfen"
+ no_accounts_found: "Keine Konten gefunden. Bitte überprüfen Sie Ihre IndexaCapital-Zugangsdaten."
+ no_api_key: "IndexaCapital-Zugangsdaten sind nicht konfiguriert. Bitte in den Einstellungen konfigurieren."
+ no_credentials_configured: "Bitte konfigurieren Sie zuerst Ihre IndexaCapital-Zugangsdaten in den Anbieter-Einstellungen."
+ no_name_placeholder: "(Kein Name)"
+ title: "IndexaCapital-Konten auswählen"
+
+ select_existing_account:
+ account_already_linked: "Dieses Konto ist bereits mit einem Anbieter verknüpft"
+ all_accounts_already_linked: "Alle IndexaCapital-Konten sind bereits verknüpft"
+ api_error: "API-Fehler: %{message}"
+ balance_label: "Saldo:"
+ cancel: "Abbrechen"
+ cancel_button: "Abbrechen"
+ configure_name_in_provider: "Import nicht möglich – bitte Kontoname in IndexaCapital konfigurieren"
+ connect_hint: "Verbinden Sie ein IndexaCapital-Konto für automatische Synchronisation."
+ description: "Wählen Sie ein IndexaCapital-Konto zur Verknüpfung mit diesem Konto. Transaktionen werden automatisch synchronisiert und dedupliziert."
+ header: "Mit IndexaCapital verknüpfen"
+ link_account: "Konto verknüpfen"
+ link_button: "Dieses Konto verknüpfen"
+ linking_to: "Verknüpfe mit:"
+ no_account_specified: "Kein Konto angegeben"
+ no_accounts: "Keine unverknüpften IndexaCapital-Konten gefunden."
+ no_accounts_found: "Keine IndexaCapital-Konten gefunden. Bitte überprüfen Sie Ihre Zugangsdaten."
+ no_api_key: "IndexaCapital-Zugangsdaten sind nicht konfiguriert. Bitte in den Einstellungen konfigurieren."
+ no_credentials_configured: "Bitte konfigurieren Sie zuerst Ihre IndexaCapital-Zugangsdaten in den Anbieter-Einstellungen."
+ no_name_placeholder: "(Kein Name)"
+ settings_link: "Zu den Anbieter-Einstellungen"
+ subtitle: "IndexaCapital-Konto auswählen"
+ title: "%{account_name} mit IndexaCapital verknüpfen"
+
+ link_existing_account:
+ account_already_linked: "Dieses Konto ist bereits mit einem Anbieter verknüpft"
+ api_error: "API-Fehler: %{message}"
+ invalid_account_name: "Konto mit leerem Namen kann nicht verknüpft werden"
+ provider_account_already_linked: "Dieses IndexaCapital-Konto ist bereits mit einem anderen Konto verknüpft"
+ provider_account_not_found: "IndexaCapital-Konto nicht gefunden"
+ missing_parameters: "Erforderliche Parameter fehlen"
+ no_api_key: "IndexaCapital-Zugangsdaten nicht gefunden. Bitte in den Anbieter-Einstellungen konfigurieren."
+ success: "%{account_name} erfolgreich mit IndexaCapital verknüpft"
+
+ setup_accounts:
+ account_type_label: "Kontotyp:"
+ accounts_count:
+ one: "%{count} Konto verfügbar"
+ other: "%{count} Konten verfügbar"
+ all_accounts_linked: "Alle Ihre IndexaCapital-Konten sind bereits eingerichtet."
+ api_error: "API-Fehler: %{message}"
+ creating: "Konten werden erstellt..."
+ fetch_failed: "Konten konnten nicht geladen werden"
+ import_selected: "Ausgewählte Konten importieren"
+ instructions: "Wählen Sie die Konten aus, die Sie von IndexaCapital importieren möchten. Sie können mehrere Konten auswählen."
+ no_accounts: "Keine unverknüpften Konten von dieser IndexaCapital-Verbindung gefunden."
+ no_accounts_to_setup: "Keine Konten zum Einrichten"
+ no_api_key: "IndexaCapital-Zugangsdaten sind nicht konfiguriert. Bitte überprüfen Sie Ihre Verbindungseinstellungen."
+ select_all: "Alle auswählen"
+ account_types:
+ skip: "Dieses Konto überspringen"
+ depository: "Giro- oder Sparkonto"
+ credit_card: "Kreditkarte"
+ investment: "Depot/Anlagekonto"
+ crypto: "Kryptowährungs-Konto"
+ loan: "Darlehen oder Hypothek"
+ other_asset: "Sonstiges Vermögen"
+ subtype_labels:
+ depository: "Konto-Untertyp:"
+ credit_card: ""
+ investment: "Anlagetyp:"
+ crypto: ""
+ loan: "Darlehenstyp:"
+ other_asset: ""
+ subtype_messages:
+ credit_card: "Kreditkarten werden automatisch als Kreditkartenkonten eingerichtet."
+ other_asset: "Für sonstiges Vermögen sind keine weiteren Optionen nötig."
+ crypto: "Kryptowährungs-Konten werden zur Verwaltung von Beständen und Transaktionen eingerichtet."
+ subtypes:
+ depository:
+ checking: "Girokonto"
+ savings: "Sparkonto"
+ hsa: "Gesundheits-Sparkonto"
+ cd: "Festgeld"
+ money_market: "Geldmarkt"
+ investment:
+ brokerage: "Brokerage"
+ pension: "Rente"
+ retirement: "Altersvorsorge"
+ "401k": "401(k)"
+ roth_401k: "Roth 401(k)"
+ "403b": "403(b)"
+ tsp: "Thrift Savings Plan"
+ "529_plan": "529 Plan"
+ hsa: "Gesundheits-Sparkonto"
+ mutual_fund: "Investmentfonds"
+ ira: "Traditioneller IRA"
+ roth_ira: "Roth IRA"
+ angel: "Angel"
+ loan:
+ mortgage: "Hypothek"
+ student: "Studienkredit"
+ auto: "Autokredit"
+ other: "Sonstiges Darlehen"
+ balance: "Saldo"
+ cancel: "Abbrechen"
+ choose_account_type: "Wählen Sie den passenden Kontotyp für jedes IndexaCapital-Konto:"
+ create_accounts: "Konten erstellen"
+ creating_accounts: "Konten werden erstellt..."
+ historical_data_range: "Zeitraum für Verlauf:"
+ subtitle: "Wählen Sie die passenden Kontotypen für Ihre importierten Konten"
+ sync_start_date_help: "Wählen Sie, wie weit die Transaktionshistorie synchronisiert werden soll."
+ sync_start_date_label: "Transaktionen synchronisieren ab:"
+ title: "Ihre IndexaCapital-Konten einrichten"
+
+ complete_account_setup:
+ all_skipped: "Alle Konten wurden übersprungen. Es wurden keine Konten erstellt."
+ creation_failed: "Konten konnten nicht erstellt werden: %{error}"
+ no_accounts: "Keine Konten zum Einrichten."
+ success: "Erfolgreich %{count} Konto/Konten erstellt."
+
+ preload_accounts:
+ no_credentials_configured: "Bitte konfigurieren Sie zuerst Ihre IndexaCapital-Zugangsdaten in den Anbieter-Einstellungen."
diff --git a/config/locales/views/investments/de.yml b/config/locales/views/investments/de.yml
index b7ba4e403..ba6066fdb 100644
--- a/config/locales/views/investments/de.yml
+++ b/config/locales/views/investments/de.yml
@@ -10,6 +10,109 @@ de:
title: Kontostand eingeben
show:
chart_title: Gesamtwert
+ subtypes:
+ brokerage:
+ short: Brokerage
+ long: Brokerage
+ "401k":
+ short: "401(k)"
+ long: "401(k)"
+ roth_401k:
+ short: Roth 401(k)
+ long: Roth 401(k)
+ "403b":
+ short: "403(b)"
+ long: "403(b)"
+ "457b":
+ short: "457(b)"
+ long: "457(b)"
+ tsp:
+ short: TSP
+ long: Thrift Savings Plan
+ ira:
+ short: IRA
+ long: Traditionelles IRA
+ roth_ira:
+ short: Roth IRA
+ long: Roth IRA
+ sep_ira:
+ short: SEP IRA
+ long: SEP IRA
+ simple_ira:
+ short: SIMPLE IRA
+ long: SIMPLE IRA
+ "529_plan":
+ short: "529 Plan"
+ long: "529 Bildungssparplan"
+ hsa:
+ short: HSA
+ long: Health Savings Account
+ ugma:
+ short: UGMA
+ long: UGMA-Treuhandkonto
+ utma:
+ short: UTMA
+ long: UTMA-Treuhandkonto
+ isa:
+ short: ISA
+ long: Individual Savings Account
+ lisa:
+ short: LISA
+ long: Lifetime ISA
+ sipp:
+ short: SIPP
+ long: Self-Invested Personal Pension
+ workplace_pension_uk:
+ short: Pension
+ long: Betriebliche Altersvorsorge
+ rrsp:
+ short: RRSP
+ long: Registered Retirement Savings Plan
+ tfsa:
+ short: TFSA
+ long: Tax-Free Savings Account
+ resp:
+ short: RESP
+ long: Registered Education Savings Plan
+ lira:
+ short: LIRA
+ long: Locked-In Retirement Account
+ rrif:
+ short: RRIF
+ long: Registered Retirement Income Fund
+ super:
+ short: Super
+ long: Superannuation
+ smsf:
+ short: SMSF
+ long: Self-Managed Super Fund
+ pea:
+ short: PEA
+ long: Plan d'Épargne en Actions
+ pillar_3a:
+ short: Säule 3a
+ long: Private Vorsorge (Säule 3a)
+ riester:
+ short: Riester
+ long: Riester-Rente
+ pension:
+ short: Pension
+ long: Pension
+ retirement:
+ short: Ruhestand
+ long: Ruhestandskonto
+ mutual_fund:
+ short: Fonds
+ long: Investmentfonds
+ angel:
+ short: Angel
+ long: Angel-Investment
+ trust:
+ short: Trust
+ long: Trust
+ other:
+ short: Sonstige
+ long: Sonstige Anlage
value_tooltip:
cash: Bargeld
holdings: Positionen
diff --git a/config/locales/views/invitations/de.yml b/config/locales/views/invitations/de.yml
index 759899268..8aec53344 100644
--- a/config/locales/views/invitations/de.yml
+++ b/config/locales/views/invitations/de.yml
@@ -1,7 +1,14 @@
---
de:
invitations:
+ accept_choice:
+ create_account: Neues Konto erstellen
+ joined_household: Sie sind dem Haushalt beigetreten.
+ message: "%{inviter} hat Sie eingeladen, als %{role} beizutreten."
+ sign_in_existing: Ich habe bereits ein Konto
+ title: "%{family} beitreten"
create:
+ existing_user_added: Der Benutzer wurde Ihrem Haushalt hinzugefügt.
failure: Einladung konnte nicht gesendet werden.
success: Einladung erfolgreich gesendet.
destroy:
@@ -12,6 +19,7 @@ de:
email_label: E-Mail-Adresse
email_placeholder: E-Mail-Adresse eingeben
role_admin: Administrator
+ role_guest: Gast
role_label: Rolle
role_member: Mitglied
submit: Einladung senden
diff --git a/config/locales/views/lunchflow_items/de.yml b/config/locales/views/lunchflow_items/de.yml
index e25330471..5aa783ebc 100644
--- a/config/locales/views/lunchflow_items/de.yml
+++ b/config/locales/views/lunchflow_items/de.yml
@@ -1,62 +1,145 @@
+---
de:
lunchflow_items:
create:
- success: Lunch-Flow-Verbindung erfolgreich erstellt
+ success: Lunch‑Flow-Verbindung erfolgreich erstellt
destroy:
- success: Lunch-Flow-Verbindung entfernt
+ success: Lunch‑Flow-Verbindung entfernt
index:
- title: Lunch-Flow-Verbindungen
+ title: Lunch‑Flow-Verbindungen
loading:
- loading_message: Lunch-Flow-Konten werden geladen...
+ loading_message: Lunch‑Flow-Konten werden geladen...
loading_title: Wird geladen
link_accounts:
all_already_linked:
one: "Das ausgewählte Konto (%{names}) ist bereits verknüpft"
other: "Alle %{count} ausgewählten Konten sind bereits verknüpft: %{names}"
api_error: "API-Fehler: %{message}"
+ invalid_account_names:
+ one: "Konto mit leerem Namen kann nicht verknüpft werden"
+ other: "%{count} Konten mit leerem Namen können nicht verknüpft werden"
link_failed: Konten konnten nicht verknüpft werden
no_accounts_selected: Bitte wähle mindestens ein Konto aus
+ partial_invalid: "%{created_count} Konto/Konten verknüpft, %{already_linked_count} waren bereits verknüpft, %{invalid_count} hatten ungültige Namen"
partial_success: "%{created_count} Konto/Konten erfolgreich verknüpft. %{already_linked_count} Konto/Konten waren bereits verknüpft: %{already_linked_names}"
success:
one: "%{count} Konto erfolgreich verknüpft"
other: "%{count} Konten erfolgreich verknüpft"
lunchflow_item:
+ accounts_need_setup: Konten müssen eingerichtet werden
delete: Verbindung löschen
deletion_in_progress: Löschung wird durchgeführt...
error: Fehler
no_accounts_description: Diese Verbindung enthält derzeit keine verknüpften Konten.
no_accounts_title: Keine Konten
+ setup_action: Neue Konten einrichten
+ setup_description: "%{linked} von %{total} Konten verknüpft. Wähle die richtigen Kontotypen für deine neu importierten Lunch‑Flow-Konten."
+ setup_needed: Neue Konten bereit zur Einrichtung
status: "Vor %{timestamp} synchronisiert"
status_never: Noch nie synchronisiert
+ status_with_summary: "Zuletzt vor %{timestamp} synchronisiert • %{summary}"
syncing: Wird synchronisiert...
+ total: Gesamt
+ unlinked: Nicht verknüpft
select_accounts:
accounts_selected: Konten ausgewählt
api_error: "API-Fehler: %{message}"
cancel: Abbrechen
+ configure_name_in_lunchflow: Import nicht möglich – bitte Kontoname in Lunch‑Flow konfigurieren
description: Wähle die Konten aus, die du mit deinem %{product_name}-Konto verknüpfen möchtest.
link_accounts: Ausgewählte Konten verknüpfen
no_accounts_found: Keine Konten gefunden. Bitte überprüfe deine API-Key-Konfiguration.
- no_api_key: Lunch-Flow-API-Schlüssel ist nicht konfiguriert. Bitte konfiguriere ihn in den Einstellungen.
- title: Lunch-Flow-Konten auswählen
+ no_api_key: Lunch‑Flow-API-Schlüssel ist nicht konfiguriert. Bitte konfiguriere ihn in den Einstellungen.
+ no_name_placeholder: "(Kein Name)"
+ title: Lunch‑Flow-Konten auswählen
select_existing_account:
account_already_linked: Dieses Konto ist bereits mit einem Anbieter verknüpft
- all_accounts_already_linked: Alle Lunch-Flow-Konten sind bereits verknüpft
+ all_accounts_already_linked: Alle Lunch‑Flow-Konten sind bereits verknüpft
api_error: "API-Fehler: %{message}"
cancel: Abbrechen
- description: Wähle ein Lunch-Flow-Konto aus, um es mit diesem Konto zu verknüpfen. Transaktionen werden automatisch synchronisiert und doppelte Einträge entfernt.
+ configure_name_in_lunchflow: Import nicht möglich – bitte Kontoname in Lunch‑Flow konfigurieren
+ description: Wähle ein Lunch‑Flow-Konto aus, um es mit diesem Konto zu verknüpfen. Transaktionen werden automatisch synchronisiert und doppelte Einträge entfernt.
link_account: Konto verknüpfen
no_account_specified: Kein Konto angegeben
- no_accounts_found: Keine Lunch-Flow-Konten gefunden. Bitte überprüfe deine API-Key-Konfiguration.
- no_api_key: Lunch-Flow-API-Schlüssel ist nicht konfiguriert. Bitte konfiguriere ihn in den Einstellungen.
- title: "%{account_name} mit Lunch Flow verknüpfen"
+ no_accounts_found: Keine Lunch‑Flow-Konten gefunden. Bitte überprüfe deine API-Key-Konfiguration.
+ no_api_key: Lunch‑Flow-API-Schlüssel ist nicht konfiguriert. Bitte konfiguriere ihn in den Einstellungen.
+ no_name_placeholder: "(Kein Name)"
+ title: "%{account_name} mit Lunch‑Flow verknüpfen"
link_existing_account:
account_already_linked: Dieses Konto ist bereits mit einem Anbieter verknüpft
api_error: "API-Fehler: %{message}"
- lunchflow_account_already_linked: Dieses Lunch-Flow-Konto ist bereits mit einem anderen Konto verknüpft
- lunchflow_account_not_found: Lunch-Flow-Konto nicht gefunden
+ invalid_account_name: Konto mit leerem Namen kann nicht verknüpft werden
+ lunchflow_account_already_linked: Dieses Lunch‑Flow-Konto ist bereits mit einem anderen Konto verknüpft
+ lunchflow_account_not_found: Lunch‑Flow-Konto nicht gefunden
missing_parameters: Erforderliche Parameter fehlen
- success: "%{account_name} erfolgreich mit Lunch Flow verknüpft"
+ success: "%{account_name} erfolgreich mit Lunch‑Flow verknüpft"
+ setup_accounts:
+ account_type_label: "Kontotyp:"
+ all_accounts_linked: "Alle deine Lunch‑Flow-Konten sind bereits eingerichtet."
+ api_error: "API-Fehler: %{message}"
+ fetch_failed: "Konten konnten nicht geladen werden"
+ no_accounts_to_setup: "Keine Konten zum Einrichten"
+ no_api_key: "Der Lunch‑Flow-API-Schlüssel ist nicht konfiguriert. Bitte prüfe deine Verbindungseinstellungen."
+ account_types:
+ skip: Dieses Konto überspringen
+ depository: Giro- oder Sparkonto
+ credit_card: Kreditkarte
+ investment: Anlagekonto
+ loan: Darlehen oder Hypothek
+ other_asset: Sonstiges Vermögen
+ subtype_labels:
+ depository: "Konto-Untertyp:"
+ credit_card: ""
+ investment: "Anlagetyp:"
+ loan: "Darlehenstyp:"
+ other_asset: ""
+ subtype_messages:
+ credit_card: "Kreditkarten werden automatisch als Kreditkartenkonten eingerichtet."
+ other_asset: "Für sonstiges Vermögen sind keine weiteren Optionen nötig."
+ subtypes:
+ depository:
+ checking: Girokonto
+ savings: Sparkonto
+ hsa: Health Savings Account
+ cd: Festgeld
+ money_market: Geldmarkt
+ investment:
+ brokerage: Brokerage
+ pension: Pension
+ retirement: Ruhestand
+ "401k": "401(k)"
+ roth_401k: "Roth 401(k)"
+ "403b": "403(b)"
+ tsp: Thrift Savings Plan
+ "529_plan": "529 Plan"
+ hsa: Health Savings Account
+ mutual_fund: Fonds
+ ira: Traditionelles IRA
+ roth_ira: Roth IRA
+ angel: Business Angel
+ loan:
+ mortgage: Hypothek
+ student: Studienkredit
+ auto: Autokredit
+ other: Sonstiges Darlehen
+ balance: Saldo
+ cancel: Abbrechen
+ choose_account_type: "Wähle den richtigen Kontotyp für jedes Lunch‑Flow-Konto:"
+ create_accounts: Konten anlegen
+ creating_accounts: Konten werden angelegt...
+ historical_data_range: "Historischer Datenbereich:"
+ subtitle: Wähle die richtigen Kontotypen für deine importierten Konten
+ sync_start_date_help: Wähle, wie weit die Buchungshistorie zurück synchronisiert werden soll. Maximal sind 3 Jahre verfügbar.
+ sync_start_date_label: "Buchungen synchronisieren ab:"
+ title: Lunch‑Flow-Konten einrichten
+ complete_account_setup:
+ all_skipped: "Alle Konten wurden übersprungen. Es wurden keine Konten angelegt."
+ creation_failed: "Konten konnten nicht angelegt werden: %{error}"
+ no_accounts: "Keine Konten zum Einrichten."
+ success:
+ one: "%{count} Konto erfolgreich angelegt."
+ other: "%{count} Konten erfolgreich angelegt."
sync:
success: Synchronisierung gestartet
update:
- success: Lunch-Flow-Verbindung aktualisiert
+ success: Lunch‑Flow-Verbindung aktualisiert
diff --git a/config/locales/views/merchants/de.yml b/config/locales/views/merchants/de.yml
index 2efbc7dc5..f0da0c60e 100644
--- a/config/locales/views/merchants/de.yml
+++ b/config/locales/views/merchants/de.yml
@@ -6,19 +6,26 @@ de:
success: Neuer Händler erfolgreich erstellt
destroy:
success: Händler erfolgreich gelöscht
+ unlinked_success: Händler von deinen Transaktionen entfernt
edit:
title: Händler bearbeiten
form:
name_placeholder: Händlername
+ website_placeholder: Website (z. B. starbucks.com)
+ website_hint: Gib die Website des Händlers ein, um dessen Logo automatisch anzuzeigen
index:
empty: Noch keine Händler vorhanden
new: Neuer Händler
+ merge: Händler zusammenführen
title: Händler
family_title: Händler der Familie
family_empty: Noch keine Händler der Familie vorhanden
provider_title: Anbieter-Händler
provider_empty: Noch keine Anbieter-Händler mit dieser Familie verbunden
provider_read_only: Anbieter-Händler werden von deinen verbundenen Institutionen synchronisiert. Sie können hier nicht bearbeitet werden.
+ provider_info: Diese Händler wurden automatisch von deinen Bankverbindungen oder der KI erkannt. Du kannst sie bearbeiten, um deine eigene Kopie zu erstellen, oder sie entfernen, um sie von deinen Transaktionen zu trennen.
+ unlinked_title: Kürzlich getrennt
+ unlinked_info: Diese Händler wurden kürzlich von deinen Transaktionen entfernt. Sie verschwinden nach 30 Tagen aus dieser Liste, sofern sie nicht erneut einer Transaktion zugewiesen werden.
table:
merchant: Händler
actions: Aktionen
@@ -30,7 +37,26 @@ de:
confirm_title: Händler löschen
delete: Händler löschen
edit: Händler bearbeiten
+ merge:
+ title: Händler zusammenführen
+ description: Wähle einen Zielhändler und die Händler, die darin zusammengeführt werden sollen. Alle Transaktionen der zusammengeführten Händler werden dem Ziel zugewiesen.
+ target_label: Zusammenführen in (Ziel)
+ select_target: Zielhändler auswählen …
+ sources_label: Händler zum Zusammenführen
+ sources_hint: Die ausgewählten Händler werden in den Zielhändler zusammengeführt. Familienhändler werden gelöscht, Anbieter-Händler werden getrennt.
+ submit: Ausgewählte zusammenführen
new:
title: Neuer Händler
+ perform_merge:
+ success: "%{count} Händler erfolgreich zusammengeführt"
+ no_merchants_selected: Keine Händler zum Zusammenführen ausgewählt
+ target_not_found: Zielhändler nicht gefunden
+ invalid_merchants: Ungültige Händler ausgewählt
+ provider_merchant:
+ edit: Bearbeiten
+ remove: Entfernen
+ remove_confirm_title: Händler entfernen?
+ remove_confirm_body: Bist du sicher, dass du %{name} entfernen möchtest? Dadurch werden alle zugehörigen Transaktionen von diesem Händler getrennt, der Händler selbst wird nicht gelöscht.
update:
success: Händler erfolgreich aktualisiert
+ converted_success: Händler umgewandelt und erfolgreich aktualisiert
diff --git a/config/locales/views/mercury_items/de.yml b/config/locales/views/mercury_items/de.yml
new file mode 100644
index 000000000..85c1a15d9
--- /dev/null
+++ b/config/locales/views/mercury_items/de.yml
@@ -0,0 +1,147 @@
+---
+de:
+ mercury_items:
+ create:
+ success: "Mercury-Verbindung erfolgreich erstellt"
+ destroy:
+ success: "Mercury-Verbindung entfernt"
+ index:
+ title: "Mercury-Verbindungen"
+ loading:
+ loading_message: "Mercury-Konten werden geladen..."
+ loading_title: "Laden"
+ link_accounts:
+ all_already_linked:
+ one: "Das ausgewählte Konto (%{names}) ist bereits verknüpft"
+ other: "Alle %{count} ausgewählten Konten sind bereits verknüpft: %{names}"
+ api_error: "API-Fehler: %{message}"
+ invalid_account_names:
+ one: "Konto mit leerem Namen kann nicht verknüpft werden"
+ other: "%{count} Konten mit leeren Namen können nicht verknüpft werden"
+ link_failed: "Konten konnten nicht verknüpft werden"
+ no_accounts_selected: "Bitte wählen Sie mindestens ein Konto aus"
+ no_api_token: "Mercury API-Token nicht gefunden. Bitte in den Anbieter-Einstellungen konfigurieren."
+ partial_invalid: "Erfolgreich %{created_count} Konto/Konten verknüpft, %{already_linked_count} waren bereits verknüpft, %{invalid_count} Konto/Konten hatten ungültige Namen"
+ partial_success: "Erfolgreich %{created_count} Konto/Konten verknüpft. %{already_linked_count} Konto/Konten waren bereits verknüpft: %{already_linked_names}"
+ success:
+ one: "Erfolgreich %{count} Konto verknüpft"
+ other: "Erfolgreich %{count} Konten verknüpft"
+ mercury_item:
+ accounts_need_setup: "Konten benötigen Einrichtung"
+ delete: "Verbindung löschen"
+ deletion_in_progress: "Löschung läuft..."
+ error: "Fehler"
+ no_accounts_description: "Diese Verbindung hat noch keine verknüpften Konten."
+ no_accounts_title: "Keine Konten"
+ setup_action: "Neue Konten einrichten"
+ setup_description: "%{linked} von %{total} Konten verknüpft. Wählen Sie Kontotypen für Ihre neu importierten Mercury-Konten."
+ setup_needed: "Neue Konten bereit zur Einrichtung"
+ status: "Vor %{timestamp} synchronisiert"
+ status_never: "Noch nie synchronisiert"
+ status_with_summary: "Zuletzt vor %{timestamp} synchronisiert – %{summary}"
+ syncing: "Synchronisiere..."
+ total: "Gesamt"
+ unlinked: "Nicht verknüpft"
+ select_accounts:
+ accounts_selected: "Konten ausgewählt"
+ api_error: "API-Fehler: %{message}"
+ cancel: "Abbrechen"
+ configure_name_in_mercury: "Import nicht möglich – bitte Kontoname in Mercury konfigurieren"
+ description: "Wählen Sie die Konten aus, die Sie mit Ihrem %{product_name}-Konto verknüpfen möchten."
+ link_accounts: "Ausgewählte Konten verknüpfen"
+ no_accounts_found: "Keine Konten gefunden. Bitte überprüfen Sie Ihre API-Token-Konfiguration."
+ no_api_token: "Mercury API-Token ist nicht konfiguriert. Bitte in den Einstellungen konfigurieren."
+ no_credentials_configured: "Bitte konfigurieren Sie zuerst Ihren Mercury API-Token in den Anbieter-Einstellungen."
+ no_name_placeholder: "(Kein Name)"
+ title: "Mercury-Konten auswählen"
+ select_existing_account:
+ account_already_linked: "Dieses Konto ist bereits mit einem Anbieter verknüpft"
+ all_accounts_already_linked: "Alle Mercury-Konten sind bereits verknüpft"
+ api_error: "API-Fehler: %{message}"
+ cancel: "Abbrechen"
+ configure_name_in_mercury: "Import nicht möglich – bitte Kontoname in Mercury konfigurieren"
+ description: "Wählen Sie ein Mercury-Konto zur Verknüpfung mit diesem Konto. Transaktionen werden automatisch synchronisiert und dedupliziert."
+ link_account: "Konto verknüpfen"
+ no_account_specified: "Kein Konto angegeben"
+ no_accounts_found: "Keine Mercury-Konten gefunden. Bitte überprüfen Sie Ihre API-Token-Konfiguration."
+ no_api_token: "Mercury API-Token ist nicht konfiguriert. Bitte in den Einstellungen konfigurieren."
+ no_credentials_configured: "Bitte konfigurieren Sie zuerst Ihren Mercury API-Token in den Anbieter-Einstellungen."
+ no_name_placeholder: "(Kein Name)"
+ title: "%{account_name} mit Mercury verknüpfen"
+ link_existing_account:
+ account_already_linked: "Dieses Konto ist bereits mit einem Anbieter verknüpft"
+ api_error: "API-Fehler: %{message}"
+ invalid_account_name: "Konto mit leerem Namen kann nicht verknüpft werden"
+ mercury_account_already_linked: "Dieses Mercury-Konto ist bereits mit einem anderen Konto verknüpft"
+ mercury_account_not_found: "Mercury-Konto nicht gefunden"
+ missing_parameters: "Erforderliche Parameter fehlen"
+ no_api_token: "Mercury API-Token nicht gefunden. Bitte in den Anbieter-Einstellungen konfigurieren."
+ success: "%{account_name} erfolgreich mit Mercury verknüpft"
+ setup_accounts:
+ account_type_label: "Kontotyp:"
+ all_accounts_linked: "Alle Ihre Mercury-Konten sind bereits eingerichtet."
+ api_error: "API-Fehler: %{message}"
+ fetch_failed: "Konten konnten nicht geladen werden"
+ no_accounts_to_setup: "Keine Konten zum Einrichten"
+ no_api_token: "Mercury API-Token ist nicht konfiguriert. Bitte überprüfen Sie Ihre Verbindungseinstellungen."
+ account_types:
+ skip: "Dieses Konto überspringen"
+ depository: "Giro- oder Sparkonto"
+ credit_card: "Kreditkarte"
+ investment: "Depot/Anlagekonto"
+ loan: "Darlehen oder Hypothek"
+ other_asset: "Sonstiges Vermögen"
+ subtype_labels:
+ depository: "Konto-Untertyp:"
+ credit_card: ""
+ investment: "Anlagetyp:"
+ loan: "Darlehenstyp:"
+ other_asset: ""
+ subtype_messages:
+ credit_card: "Kreditkarten werden automatisch als Kreditkartenkonten eingerichtet."
+ other_asset: "Für sonstiges Vermögen sind keine weiteren Optionen nötig."
+ subtypes:
+ depository:
+ checking: "Girokonto"
+ savings: "Sparkonto"
+ hsa: "Gesundheits-Sparkonto"
+ cd: "Festgeld"
+ money_market: "Geldmarkt"
+ investment:
+ brokerage: "Brokerage"
+ pension: "Rente"
+ retirement: "Altersvorsorge"
+ "401k": "401(k)"
+ roth_401k: "Roth 401(k)"
+ "403b": "403(b)"
+ tsp: "Thrift Savings Plan"
+ "529_plan": "529 Plan"
+ hsa: "Gesundheits-Sparkonto"
+ mutual_fund: "Investmentfonds"
+ ira: "Traditioneller IRA"
+ roth_ira: "Roth IRA"
+ angel: "Angel"
+ loan:
+ mortgage: "Hypothek"
+ student: "Studienkredit"
+ auto: "Autokredit"
+ other: "Sonstiges Darlehen"
+ balance: "Saldo"
+ cancel: "Abbrechen"
+ choose_account_type: "Wählen Sie den passenden Kontotyp für jedes Mercury-Konto:"
+ create_accounts: "Konten erstellen"
+ creating_accounts: "Konten werden erstellt..."
+ historical_data_range: "Zeitraum für Verlauf:"
+ subtitle: "Wählen Sie die passenden Kontotypen für Ihre importierten Konten"
+ sync_start_date_help: "Wählen Sie, wie weit die Transaktionshistorie synchronisiert werden soll. Maximal 3 Jahre Verlauf verfügbar."
+ sync_start_date_label: "Transaktionen synchronisieren ab:"
+ title: "Ihre Mercury-Konten einrichten"
+ complete_account_setup:
+ all_skipped: "Alle Konten wurden übersprungen. Es wurden keine Konten erstellt."
+ creation_failed: "Konten konnten nicht erstellt werden: %{error}"
+ no_accounts: "Keine Konten zum Einrichten."
+ success: "Erfolgreich %{count} Konto/Konten erstellt."
+ sync:
+ success: "Synchronisation gestartet"
+ update:
+ success: "Mercury-Verbindung aktualisiert"
diff --git a/config/locales/views/onboardings/de.yml b/config/locales/views/onboardings/de.yml
index 845e9a3fb..741805a63 100644
--- a/config/locales/views/onboardings/de.yml
+++ b/config/locales/views/onboardings/de.yml
@@ -16,8 +16,13 @@ de:
first_name_placeholder: Vorname
last_name: Nachname
last_name_placeholder: Nachname
+ group_name: Gruppenname
+ group_name_placeholder: Gruppenname
household_name: Haushaltsname
household_name_placeholder: Haushaltsname
+ moniker_prompt: "%{product_name} wird genutzt mit …"
+ moniker_family: Familienmitglieder (nur Sie selbst oder mit Partner, Kindern usw.)
+ moniker_group: Personengruppe (Firma, Verein, Verband o. Ä.)
country: Land
submit: Weiter
preferences:
diff --git a/config/locales/views/other_assets/de.yml b/config/locales/views/other_assets/de.yml
index 969e44f52..a6bc88674 100644
--- a/config/locales/views/other_assets/de.yml
+++ b/config/locales/views/other_assets/de.yml
@@ -3,5 +3,7 @@ de:
other_assets:
edit:
edit: "%{account} bearbeiten"
+ balance_tracking_info: "Sonstige Vermögenswerte werden über manuelle Bewertungen („Neuer Saldo“) erfasst, nicht über Buchungen. Cashflow ändert den Kontostand nicht."
new:
title: Vermögenswertdetails eingeben
+ balance_tracking_info: "Sonstige Vermögenswerte werden über manuelle Bewertungen („Neuer Saldo“) erfasst, nicht über Buchungen. Cashflow ändert den Kontostand nicht."
diff --git a/config/locales/views/pages/de.yml b/config/locales/views/pages/de.yml
index 4df171506..a381eb2d6 100644
--- a/config/locales/views/pages/de.yml
+++ b/config/locales/views/pages/de.yml
@@ -3,10 +3,20 @@ de:
pages:
changelog:
title: Was ist neu
+ privacy:
+ title: Datenschutzrichtlinie
+ heading: Datenschutzrichtlinie
+ placeholder: Der Inhalt der Datenschutzrichtlinie wird hier angezeigt.
+ terms:
+ title: Nutzungsbedingungen
+ heading: Nutzungsbedingungen
+ placeholder: Der Inhalt der Nutzungsbedingungen wird hier angezeigt.
dashboard:
welcome: "Willkommen zurück, %{name}"
subtitle: "Hier siehst du, was in deinen Finanzen passiert."
new: "Neu"
+ drag_to_reorder: "Bereich per Drag & Drop neu anordnen"
+ toggle_section: "Sichtbarkeit des Bereichs umschalten"
net_worth_chart:
data_not_available: Für den ausgewählten Zeitraum sind keine Daten verfügbar.
title: Nettovermögen
@@ -15,6 +25,7 @@ de:
no_account_subtitle: Da noch keine Konten hinzugefügt wurden, gibt es keine Daten anzuzeigen. Füge dein erstes Konto hinzu, um Dashboard-Daten zu sehen.
no_account_title: Noch keine Konten vorhanden
balance_sheet:
+ title: "Bilanz"
no_items: "Noch keine %{name}"
add_accounts: "Füge deine %{name}-Konten hinzu, um eine vollständige Übersicht zu erhalten."
cashflow_sankey:
@@ -29,3 +40,19 @@ de:
outflows_donut:
title: "Ausgaben"
total_outflows: "Gesamtausgaben"
+ categories: "Kategorien"
+ value: "Wert"
+ weight: "Gewicht"
+ investment_summary:
+ title: "Investitionen"
+ total_return: "Gesamtrendite"
+ holding: "Position"
+ weight: "Gewicht"
+ value: "Wert"
+ return: "Rendite"
+ period_activity: "%{period} Aktivität"
+ contributions: "Einlagen"
+ withdrawals: "Entnahmen"
+ trades: "Trades"
+ no_investments: "Keine Anlagekonten"
+ add_investment: "Füge ein Anlagekonto hinzu, um dein Portfolio zu verfolgen"
diff --git a/config/locales/views/password_resets/de.yml b/config/locales/views/password_resets/de.yml
index 01d03288d..4f7536949 100644
--- a/config/locales/views/password_resets/de.yml
+++ b/config/locales/views/password_resets/de.yml
@@ -1,6 +1,8 @@
---
de:
password_resets:
+ disabled: Passwort-Zurücksetzen über Sure ist deaktiviert. Bitte setzen Sie Ihr Passwort über Ihren Identitätsanbieter zurück.
+ sso_only_user: Ihr Konto nutzt SSO zur Anmeldung. Bitte wenden Sie sich an Ihren Administrator, um Ihre Zugangsdaten zu verwalten.
edit:
title: Passwort zurücksetzen
new:
diff --git a/config/locales/views/pdf_import_mailer/de.yml b/config/locales/views/pdf_import_mailer/de.yml
new file mode 100644
index 000000000..8df811a38
--- /dev/null
+++ b/config/locales/views/pdf_import_mailer/de.yml
@@ -0,0 +1,17 @@
+---
+de:
+ pdf_import_mailer:
+ next_steps:
+ greeting: "Hallo %{name},"
+ intro: "Wir haben die PDF-Datei analysiert, die Sie an %{product} hochgeladen haben."
+ document_type_label: Dokumenttyp
+ summary_label: KI-Zusammenfassung
+ transactions_note: Dieses Dokument scheint Buchungen zu enthalten. Sie können diese jetzt extrahieren und prüfen.
+ document_stored_note: Dieses Dokument wurde zu Ihrer Referenz gespeichert. Es kann für Kontext in zukünftigen KI-Gesprächen verwendet werden.
+ next_steps_label: Was als Nächstes?
+ next_steps_intro: "Sie haben mehrere Möglichkeiten:"
+ option_extract_transactions: Buchungen aus diesem Kontoauszug extrahieren
+ option_keep_reference: Dokument für Referenz in zukünftigen KI-Gesprächen behalten
+ option_delete: Import löschen, wenn Sie ihn nicht mehr benötigen
+ view_import_button: Importdetails anzeigen
+ footer_note: Dies ist eine automatische Nachricht. Bitte antworten Sie nicht direkt auf diese E-Mail.
diff --git a/config/locales/views/plaid_items/de.yml b/config/locales/views/plaid_items/de.yml
index 01371319d..033449fd2 100644
--- a/config/locales/views/plaid_items/de.yml
+++ b/config/locales/views/plaid_items/de.yml
@@ -21,3 +21,8 @@ de:
status_never: Synchronisierung erforderlich
syncing: Wird synchronisiert...
update: Verbindung aktualisieren
+ select_existing_account:
+ title: "%{account_name} mit Plaid verknüpfen"
+ description: Wählen Sie ein Plaid-Konto zur Verknüpfung mit Ihrem bestehenden Konto
+ cancel: Abbrechen
+ link_account: Konto verknüpfen
diff --git a/config/locales/views/recurring_transactions/de.yml b/config/locales/views/recurring_transactions/de.yml
index 305e2461f..ddb4bc938 100644
--- a/config/locales/views/recurring_transactions/de.yml
+++ b/config/locales/views/recurring_transactions/de.yml
@@ -4,10 +4,18 @@ de:
upcoming: Anstehende wiederkehrende Transaktionen
projected: Prognostiziert
recurring: Wiederkehrend
+ expected_today: "Erwartet heute"
+ expected_in:
+ one: "Erwartet in %{count} Tag"
+ other: "Erwartet in %{count} Tagen"
expected_on: Erwartet am %{date}
day_of_month: Tag %{day} des Monats
identify_patterns: Muster erkennen
cleanup_stale: Alte Einträge bereinigen
+ settings:
+ enable_label: Wiederkehrende Transaktionen aktivieren
+ enable_description: Erkenne automatisch wiederkehrende Transaktionsmuster und zeige anstehende prognostizierte Transaktionen an.
+ settings_updated: Einstellungen für wiederkehrende Transaktionen aktualisiert
info:
title: Automatische Mustererkennung
manual_description: Du kannst Muster manuell erkennen oder alte wiederkehrende Transaktionen mit den obigen Schaltflächen bereinigen.
@@ -21,6 +29,11 @@ de:
marked_active: Wiederkehrende Transaktion als aktiv markiert
deleted: Wiederkehrende Transaktion gelöscht
confirm_delete: Bist du sicher, dass du diese wiederkehrende Transaktion löschen möchtest?
+ marked_as_recurring: Transaktion als wiederkehrend markiert
+ already_exists: Für dieses Muster existiert bereits eine manuelle wiederkehrende Transaktion
+ creation_failed: Wiederkehrende Transaktion konnte nicht erstellt werden. Bitte überprüfe die Transaktionsdetails und versuche es erneut.
+ unexpected_error: Beim Erstellen der wiederkehrenden Transaktion ist ein unerwarteter Fehler aufgetreten
+ amount_range: "Bereich: %{min} bis %{max}"
empty:
title: Keine wiederkehrenden Transaktionen gefunden
description: Klicke auf „Muster erkennen“, um automatisch wiederkehrende Transaktionen aus deinem Verlauf zu erkennen.
@@ -35,3 +48,5 @@ de:
status:
active: Aktiv
inactive: Inaktiv
+ badges:
+ manual: Manuell
diff --git a/config/locales/views/registrations/de.yml b/config/locales/views/registrations/de.yml
index f0747f360..f60f7d6ba 100644
--- a/config/locales/views/registrations/de.yml
+++ b/config/locales/views/registrations/de.yml
@@ -17,6 +17,7 @@ de:
invitation_message: "%{inviter} hat dich eingeladen als %{role} beizutreten"
join_family_title: "%{family} beitreten"
role_admin: Administrator
+ role_guest: Gast
role_member: Mitglied
submit: Konto erstellen
title: Erstelle dein Konto
diff --git a/config/locales/views/reports/de.yml b/config/locales/views/reports/de.yml
index 66f68d5a2..9baf148c1 100644
--- a/config/locales/views/reports/de.yml
+++ b/config/locales/views/reports/de.yml
@@ -5,6 +5,9 @@ de:
title: Berichte
subtitle: Umfassende Einblicke in deine finanzielle Situation
export: CSV exportieren
+ print_report: Bericht drucken
+ drag_to_reorder: "Bereich per Drag & Drop neu anordnen"
+ toggle_section: "Sichtbarkeit des Bereichs umschalten"
periods:
monthly: Monatlich
quarterly: Vierteljährlich
@@ -45,6 +48,7 @@ de:
budgeted: Budgetiert
remaining: Verbleibend
over_by: Überschritten um
+ shared: geteilt
suggested_daily: "%{amount} pro Tag empfohlen für %{days} verbleibende Tage"
no_budgets: Keine Budgetkategorien für diesen Monat eingerichtet
status:
@@ -80,6 +84,49 @@ de:
description: Erfasse deine Finanzen, indem du Transaktionen hinzufügst oder deine Konten verbindest, um umfassende Berichte zu sehen
add_transaction: Transaktion hinzufügen
add_account: Konto hinzufügen
+ net_worth:
+ title: Nettovermögen
+ current_net_worth: Aktuelles Nettovermögen
+ period_change: Änderung im Zeitraum
+ assets_vs_liabilities: Vermögen vs. Verbindlichkeiten
+ total_assets: Vermögen
+ total_liabilities: Verbindlichkeiten
+ no_assets: Keine Vermögenswerte
+ no_liabilities: Keine Verbindlichkeiten
+ investment_performance:
+ title: Anlageperformance
+ portfolio_value: Portfoliowert
+ total_return: Gesamtrendite
+ contributions: Einlagen im Zeitraum
+ withdrawals: Entnahmen im Zeitraum
+ top_holdings: Top-Positionen
+ holding: Position
+ weight: Gewicht
+ value: Wert
+ return: Rendite
+ accounts: Anlagekonten
+ gains_by_tax_treatment: Gewinne nach Steuerbehandlung
+ unrealized_gains: Nicht realisierte Gewinne
+ realized_gains: Realisierte Gewinne
+ total_gains: Gesamtgewinne
+ taxable_realized_note: Diese Gewinne können steuerpflichtig sein
+ no_data: "-"
+ view_details: Details anzeigen
+ holdings_count:
+ one: "%{count} Position"
+ other: "%{count} Positionen"
+ sells_count:
+ one: "%{count} Verkauf"
+ other: "%{count} Verkäufe"
+ holdings: Positionen
+ sell_trades: Verkaufstrades
+ and_more: "+%{count} weitere"
+ investment_flows:
+ title: Anlageflüsse
+ description: Verfolge Geldflüsse in und aus deinen Anlagekonten
+ contributions: Einlagen
+ withdrawals: Entnahmen
+ net_flow: Nettozufluss
transactions_breakdown:
title: Transaktionsübersicht
no_transactions: Keine Transaktionen für den ausgewählten Zeitraum und Filter gefunden
@@ -114,10 +161,14 @@ de:
expense: Ausgaben
income: Einnahmen
uncategorized: Ohne Kategorie
- transactions: Transaktionen
+ entries:
+ one: "%{count} Eintrag"
+ other: "%{count} Einträge"
percentage: "% des Gesamtbetrags"
pagination:
- showing: Zeige %{count} Transaktionen
+ showing:
+ one: Zeige %{count} Eintrag
+ other: Zeige %{count} Einträge
previous: Zurück
next: Weiter
google_sheets_instructions:
@@ -136,3 +187,52 @@ de:
open_sheets: Google Sheets öffnen
go_to_api_keys: Zu den API-Schlüsseln
close: Verstanden
+ print:
+ document_title: Finanzbericht
+ title: Finanzbericht
+ generated_on: "Erstellt am %{date}"
+ summary:
+ title: Zusammenfassung
+ income: Einnahmen
+ expenses: Ausgaben
+ net_savings: Nettoersparnis
+ budget: Budget
+ vs_prior: "%{percent}% vs. Vorperiode"
+ of_income: "%{percent}% der Einnahmen"
+ used: genutzt
+ net_worth:
+ title: Nettovermögen
+ current_balance: Aktueller Kontostand
+ this_period: dieser Zeitraum
+ assets: Vermögen
+ liabilities: Verbindlichkeiten
+ no_liabilities: Keine Verbindlichkeiten
+ trends:
+ title: Monatliche Trends
+ month: Monat
+ income: Einnahmen
+ expenses: Ausgaben
+ net: Netto
+ savings_rate: Sparquote
+ average: Durchschnitt
+ current_month_note: "* Aktueller Monat (Teildaten)"
+ investments:
+ title: Anlagen
+ portfolio_value: Portfoliowert
+ total_return: Gesamtrendite
+ contributions: Einlagen
+ withdrawals: Entnahmen
+ this_period: dieser Zeitraum
+ top_holdings: Top-Positionen
+ holding: Position
+ weight: Gewicht
+ value: Wert
+ return: Rendite
+ spending:
+ title: Ausgaben nach Kategorie
+ income: Einnahmen
+ expenses: Ausgaben
+ category: Kategorie
+ amount: Betrag
+ percent: "%"
+ more_categories: "+ %{count} weitere Kategorien"
diff --git a/config/locales/views/rules/de.yml b/config/locales/views/rules/de.yml
index cc57171b0..c6da99379 100644
--- a/config/locales/views/rules/de.yml
+++ b/config/locales/views/rules/de.yml
@@ -3,6 +3,21 @@ de:
rules:
no_action: Keine Aktion
no_condition: Keine Bedingung
+ actions:
+ value_placeholder: Wert eingeben
+ apply_all:
+ button: Alle anwenden
+ confirm_title: Alle Regeln anwenden
+ confirm_message: Du bist dabei, %{count} Regeln anzuwenden, die %{transactions} eindeutige Transaktionen betreffen. Bitte bestätige, wenn du fortfahren möchtest.
+ confirm_button: Bestätigen und alle anwenden
+ success: Alle Regeln wurden zur Ausführung in die Warteschlange gestellt
+ ai_cost_title: KI-Kostenschätzung
+ ai_cost_message: Dies verwendet KI, um bis zu %{transactions} Transaktionen zu kategorisieren.
+ estimated_cost: "Geschätzte Kosten: ca. %{cost} $"
+ cost_unavailable_model: Kostenschätzung für Modell „%{model}“ nicht verfügbar.
+ cost_unavailable_no_provider: Kostenschätzung nicht verfügbar (kein LLM-Anbieter konfiguriert).
+ cost_warning: Es können Kosten entstehen. Bitte informiere dich beim Modellanbieter über die aktuellen Preise.
+ view_usage: Nutzungshistorie anzeigen
recent_runs:
title: Letzte Ausführungen
description: Zeige die Ausführungsgeschichte deiner Regeln einschließlich Erfolgs-/Fehlerstatus und Transaktionsanzahlen.
@@ -23,3 +38,15 @@ de:
pending: Ausstehend
success: Erfolgreich
failed: Fehlgeschlagen
+ clear_ai_cache:
+ button: KI-Cache zurücksetzen
+ confirm_title: KI-Cache zurücksetzen?
+ confirm_body: Bist du sicher, dass du den KI-Cache zurücksetzen möchtest? Dadurch können KI-Regeln alle Transaktionen erneut verarbeiten. Dies kann zusätzliche API-Kosten verursachen.
+ confirm_button: Cache zurücksetzen
+ success: Der KI-Cache wird geleert. Das kann einen Moment dauern.
+ condition_filters:
+ transaction_type:
+ income: Einnahme
+ expense: Ausgabe
+ transfer: Überweisung
+ equal_to: Gleich
diff --git a/config/locales/views/sessions/de.yml b/config/locales/views/sessions/de.yml
index 1d307a7de..f472825b0 100644
--- a/config/locales/views/sessions/de.yml
+++ b/config/locales/views/sessions/de.yml
@@ -3,12 +3,19 @@ de:
sessions:
create:
invalid_credentials: Ungültige E-Mail-Adresse oder falsches Passwort.
+ local_login_disabled: Anmeldung mit Passwort ist deaktiviert. Bitte nutze Single Sign-On.
destroy:
logout_successful: Du hast dich erfolgreich abgemeldet.
+ post_logout:
+ logout_successful: Du hast dich erfolgreich abgemeldet.
openid_connect:
+ account_linked: "Konto erfolgreich mit %{provider} verknüpft"
failed: Anmeldung über OpenID Connect fehlgeschlagen.
failure:
failed: Anmeldung fehlgeschlagen.
+ sso_provider_unavailable: "Der SSO-Anbieter ist derzeit nicht verfügbar. Bitte versuche es später erneut oder wende dich an einen Administrator."
+ sso_invalid_response: "Vom SSO-Anbieter wurde eine ungültige Antwort erhalten. Bitte versuche es erneut."
+ sso_failed: "Single Sign-On-Anmeldung fehlgeschlagen. Bitte versuche es erneut."
new:
email: E-Mail-Adresse
email_placeholder: du@beispiel.de
@@ -20,3 +27,7 @@ de:
openid_connect: Mit OpenID Connect anmelden
oidc: Mit OpenID Connect anmelden
google_auth_connect: Mit Google anmelden
+ local_login_admin_only: Lokale Anmeldung ist auf Administratoren beschränkt.
+ no_auth_methods_enabled: Derzeit sind keine Anmeldemethoden aktiviert. Bitte wende dich an einen Administrator.
+ demo_banner_title: "Demo-Modus aktiv"
+ demo_banner_message: "Dies ist eine Demo-Umgebung. Anmeldedaten wurden zur Vereinfachung vorausgefüllt. Bitte gib keine echten oder sensiblen Daten ein."
diff --git a/config/locales/views/settings/de.yml b/config/locales/views/settings/de.yml
index 708145ff9..e8a64d97e 100644
--- a/config/locales/views/settings/de.yml
+++ b/config/locales/views/settings/de.yml
@@ -3,6 +3,7 @@ de:
settings:
payments:
renewal: "Ihr Beitrag wird fortgesetzt am %{date}."
+ cancellation: "Ihr Beitrag endet am %{date}."
settings:
ai_prompts:
show:
@@ -42,6 +43,9 @@ de:
theme_system: System
theme_title: Design
timezone: Zeitzone
+ month_start_day: Budgetmonat beginnt am
+ month_start_day_hint: Lege fest, wann dein Budgetmonat beginnt (z. B. Gehaltstag)
+ month_start_day_warning: Deine Budgets und MTD-Berechnungen verwenden diesen benutzerdefinierten Starttag anstelle des 1. jedes Monats.
profiles:
destroy:
cannot_remove_self: Du kannst dich nicht selbst aus dem Konto entfernen.
@@ -73,6 +77,9 @@ de:
reset_account_with_sample_data_warning: Löscht alle vorhandenen Daten und lädt anschließend neue Beispieldaten, um eine vorbefüllte Umgebung zu erkunden.
email: E-Mail
first_name: Vorname
+ group_form_input_placeholder: Gruppennamen eingeben
+ group_form_label: Gruppenname
+ group_title: Gruppenmitglieder
household_form_input_placeholder: Haushaltsnamen eingeben
household_form_label: Haushaltsname
household_subtitle: Lade Familienmitglieder, Partner oder andere Personen ein. Eingeladene können sich in deinen Haushalt einloggen und auf gemeinsame Konten zugreifen.
@@ -90,6 +97,23 @@ de:
securities:
show:
page_title: Sicherheit
+ mfa_title: Zwei-Faktor-Authentifizierung
+ mfa_description: Erhöhe die Sicherheit deines Kontos, indem du bei der Anmeldung einen Code von deiner Authenticator-App verlangst
+ enable_mfa: 2FA aktivieren
+ disable_mfa: 2FA deaktivieren
+ disable_mfa_confirm: Bist du sicher, dass du die Zwei-Faktor-Authentifizierung deaktivieren möchtest?
+ sso_title: Verbundene Konten
+ sso_subtitle: Verwalte deine Single Sign-On-Kontoverbindungen
+ sso_disconnect: Trennen
+ sso_last_used: Zuletzt verwendet
+ sso_never: Nie
+ sso_no_email: Keine E-Mail
+ sso_no_identities: Keine SSO-Konten verbunden
+ sso_connect_hint: Melde dich ab und mit einem SSO-Anbieter an, um ein Konto zu verbinden.
+ sso_confirm_title: Konto trennen?
+ sso_confirm_body: Bist du sicher, dass du dein %{provider}-Konto trennen möchtest? Du kannst es später erneut verbinden, indem du dich erneut mit diesem Anbieter anmeldest.
+ sso_confirm_button: Trennen
+ sso_warning_message: Dies ist deine einzige Anmeldemethode. Du solltest vor dem Trennen ein Passwort in den Sicherheitseinstellungen festlegen, sonst könntest du dich aus deinem Konto ausschließen.
settings_nav:
accounts_label: Konten
advanced_section_title: Erweitert
@@ -124,3 +148,27 @@ de:
choose: Foto hochladen
choose_label: (optional)
change: Foto ändern
+ providers:
+ show:
+ coinbase_title: Coinbase
+ encryption_error:
+ title: Verschlüsselungskonfiguration erforderlich
+ message: Die Active-Record-Verschlüsselungsschlüssel sind nicht konfiguriert. Bitte stelle die Verschlüsselungszugangsdaten (active_record_encryption.primary_key, active_record_encryption.deterministic_key und active_record_encryption.key_derivation_salt) in deinen Rails-Zugangsdaten oder Umgebungsvariablen ein, bevor du Sync-Anbieter verwendest.
+ coinbase_panel:
+ setup_instructions: "So verbindest du Coinbase:"
+ step1_html: Gehe zu Coinbase API-Einstellungen
+ step2: Erstelle einen neuen API-Schlüssel mit Leseberechtigung (Konten anzeigen, Transaktionen anzeigen)
+ step3: Kopiere deinen API-Schlüssel und dein API-Geheimnis und füge sie unten ein
+ api_key_label: API-Schlüssel
+ api_key_placeholder: Gib deinen Coinbase-API-Schlüssel ein
+ api_secret_label: API-Geheimnis
+ api_secret_placeholder: Gib dein Coinbase-API-Geheimnis ein
+ connect_button: Coinbase verbinden
+ syncing: Wird synchronisiert…
+ sync: Synchronisieren
+ disconnect_confirm: Bist du sicher, dass du diese Coinbase-Verbindung trennen möchtest? Deine synchronisierten Konten werden zu manuellen Konten.
+ status_connected: Coinbase ist verbunden und synchronisiert deine Krypto-Bestände.
+ status_not_connected: Nicht verbunden. Gib deine API-Zugangsdaten oben ein, um zu starten.
+ enable_banking_panel:
+ callback_url_instruction: "Für die Callback-URL, verwende %{callback_url}."
+ connection_error: Verbindungsfehler
diff --git a/config/locales/views/settings/hostings/de.yml b/config/locales/views/settings/hostings/de.yml
index cef56500f..322560e6c 100644
--- a/config/locales/views/settings/hostings/de.yml
+++ b/config/locales/views/settings/hostings/de.yml
@@ -16,6 +16,7 @@ de:
show:
general: Allgemeine Einstellungen
financial_data_providers: Finanzdatenanbieter
+ sync_settings: Synchronisierungseinstellungen
invites: Einladungscodes
title: Self-Hosting
danger_zone: Gefahrenbereich
@@ -24,11 +25,22 @@ de:
confirm_clear_cache:
title: Daten-Cache leeren?
body: Bist du sicher, dass du den Daten-Cache leeren möchtest? Dadurch werden alle Wechselkurse, Wertpapierpreise, Kontostände und andere Daten entfernt. Diese Aktion kann nicht rückgängig gemacht werden.
+ provider_selection:
+ title: Anbieterauswahl
+ description: Wähle, welcher Dienst für Wechselkurse und Wertpapierpreise verwendet werden soll. Yahoo Finance ist kostenlos und benötigt keinen API-Schlüssel. Twelve Data erfordert einen kostenlosen API-Schlüssel, bietet aber möglicherweise eine bessere Datenabdeckung.
+ exchange_rate_provider_label: Wechselkursanbieter
+ securities_provider_label: Wertpapiere (Aktienkurse) Anbieter
+ env_configured_message: Die Anbieterauswahl ist deaktiviert, weil Umgebungsvariablen (EXCHANGE_RATE_PROVIDER oder SECURITIES_PROVIDER) gesetzt sind. Um die Auswahl hier zu aktivieren, entferne diese Umgebungsvariablen aus deiner Konfiguration.
+ providers:
+ twelve_data: Twelve Data
+ yahoo_finance: Yahoo Finance
brand_fetch_settings:
description: Gib die von Brand Fetch bereitgestellte Client-ID ein.
label: Client-ID
placeholder: Gib hier deine Client-ID ein
title: Brand Fetch Einstellungen
+ high_res_label: Hochauflösende Logos aktivieren
+ high_res_description: Wenn aktiviert, werden Logos in 120x120 statt 40x40 abgerufen. Das liefert schärfere Bilder auf hochauflösenden Displays.
openai_settings:
description: Gib dein Zugriffstoken ein und konfiguriere optional einen benutzerdefinierten, OpenAI-kompatiblen Anbieter.
env_configured_message: Erfolgreich über Umgebungsvariablen konfiguriert.
@@ -38,6 +50,12 @@ de:
uri_base_placeholder: "https://api.openai.com/v1 (Standard)"
model_label: Modell (optional)
model_placeholder: "gpt-4.1 (Standard)"
+ json_mode_label: JSON-Modus
+ json_mode_auto: Auto (empfohlen)
+ json_mode_strict: Streng (am besten für Denk-Modelle)
+ json_mode_none: Keiner (am besten für Standard-Modelle)
+ json_mode_json_object: JSON-Objekt
+ json_mode_help: "Der strenge Modus funktioniert am besten mit Denk-Modellen (qwen-thinking, deepseek-reasoner). Der Modus Keiner funktioniert am besten mit Standard-Modellen (llama, mistral, gpt-oss)."
title: OpenAI
yahoo_finance_settings:
title: Yahoo Finance
@@ -53,11 +71,25 @@ de:
label: API-Schlüssel
placeholder: Gib hier deinen API-Schlüssel ein
plan: "%{plan}-Tarif"
+ plan_upgrade_warning_title: Einige Ticker erfordern einen kostenpflichtigen Tarif
+ plan_upgrade_warning_description: Die folgenden Ticker in deinem Portfolio können mit deinem aktuellen Twelve-Data-Tarif keine Kurse synchronisieren.
+ requires_plan: erfordert %{plan}-Tarif
+ view_pricing: Twelve-Data-Preise anzeigen
title: Twelve Data
update:
failure: Ungültiger Einstellungswert
success: Einstellungen aktualisiert
invalid_onboarding_state: Ungültiger Onboarding-Status
+ invalid_sync_time: Ungültiges Synchronisierungszeitformat. Bitte verwende das Format HH:MM (z. B. 02:30).
+ scheduler_sync_failed: Einstellungen gespeichert, aber die Synchronisierungsplanung konnte nicht aktualisiert werden. Bitte versuche es erneut oder prüfe die Server-Logs.
clear_cache:
cache_cleared: Daten-Cache wurde geleert. Dies kann einige Augenblicke dauern.
not_authorized: Du bist nicht berechtigt, diese Aktion auszuführen.
+ sync_settings:
+ auto_sync_label: Automatische Synchronisierung aktivieren
+ auto_sync_description: Wenn aktiviert, werden alle Konten täglich zur angegebenen Zeit automatisch synchronisiert.
+ auto_sync_time_label: Synchronisierungszeit (HH:MM)
+ auto_sync_time_description: Lege die Tageszeit fest, zu der die automatische Synchronisierung erfolgen soll.
+ include_pending_label: Ausstehende Transaktionen einbeziehen
+ include_pending_description: Wenn aktiviert, werden ausstehende (noch nicht gebuchte) Transaktionen importiert und bei Buchung automatisch abgeglichen. Deaktivieren, wenn deine Bank unzuverlässige Ausstehend-Daten liefert.
+ env_configured_message: Diese Einstellung ist deaktiviert, weil eine Anbieter-Umgebungsvariable (SIMPLEFIN_INCLUDE_PENDING oder PLAID_INCLUDE_PENDING) gesetzt ist. Entferne sie, um diese Einstellung zu aktivieren.
diff --git a/config/locales/views/settings/sso_identities/de.yml b/config/locales/views/settings/sso_identities/de.yml
new file mode 100644
index 000000000..2df58d70a
--- /dev/null
+++ b/config/locales/views/settings/sso_identities/de.yml
@@ -0,0 +1,7 @@
+---
+de:
+ settings:
+ sso_identities:
+ destroy:
+ cannot_unlink_last: Die letzte Identität kann nicht getrennt werden
+ success: Erfolg
diff --git a/config/locales/views/simplefin_items/de.yml b/config/locales/views/simplefin_items/de.yml
index 9e6201489..105640fb8 100644
--- a/config/locales/views/simplefin_items/de.yml
+++ b/config/locales/views/simplefin_items/de.yml
@@ -30,8 +30,27 @@ de:
label: "SimpleFin-Setup-Token:"
placeholder: "Füge hier dein SimpleFin-Setup-Token ein..."
help_text: "Das Token sollte eine lange Zeichenfolge aus Buchstaben und Zahlen sein."
+ setup_accounts:
+ stale_accounts:
+ title: "Konten nicht mehr in SimpleFIN"
+ description: "Diese Konten existieren in deiner Datenbank, werden aber nicht mehr von SimpleFIN bereitgestellt. Das kann passieren, wenn sich Kontokonfigurationen beim Anbieter ändern."
+ action_prompt: "Was möchtest du tun?"
+ action_delete: "Konto und alle Transaktionen löschen"
+ action_move: "Transaktionen verschieben nach:"
+ action_skip: "Vorerst überspringen"
+ transaction_count:
+ one: "%{count} Transaktion"
+ other: "%{count} Transaktionen"
complete_account_setup:
- success: SimpleFin-Konten wurden erfolgreich eingerichtet! Deine Transaktionen und Positionen werden im Hintergrund importiert.
+ all_skipped: "Alle Konten wurden übersprungen. Es wurden keine Konten erstellt."
+ no_accounts: "Keine Konten zum Einrichten."
+ success:
+ one: "Ein SimpleFIN-Konto erfolgreich erstellt! Deine Transaktionen und Positionen werden im Hintergrund importiert."
+ other: "%{count} SimpleFIN-Konten erfolgreich erstellt! Deine Transaktionen und Positionen werden im Hintergrund importiert."
+ stale_accounts_processed: "Veraltete Konten: %{deleted} gelöscht, %{moved} verschoben."
+ stale_accounts_errors:
+ one: "%{count} Aktion für veraltetes Konto fehlgeschlagen. Details in den Logs prüfen."
+ other: "%{count} Aktionen für veraltete Konten fehlgeschlagen. Details in den Logs prüfen."
simplefin_item:
add_new: Neue Verbindung hinzufügen
confirm_accept: Verbindung löschen
@@ -46,8 +65,43 @@ de:
setup_needed: Neue Konten bereit zur Einrichtung
setup_description: Wähle die Kontotypen für deine neu importierten SimpleFin-Konten aus.
setup_action: Neue Konten einrichten
+ setup_accounts_menu: Konten einrichten
+ more_accounts_available:
+ one: "%{count} weiteres Konto kann eingerichtet werden"
+ other: "%{count} weitere Konten können eingerichtet werden"
+ accounts_skipped_tooltip: "Einige Konten wurden aufgrund von Fehlern bei der Synchronisierung übersprungen"
+ accounts_skipped_label: "Übersprungen: %{count}"
+ rate_limited_ago: "Ratenbegrenzung (vor %{time})"
+ rate_limited_recently: "Kürzlich ratenbegrenzt"
status: Zuletzt vor %{timestamp} synchronisiert
status_never: Noch nie synchronisiert
status_with_summary: "Zuletzt vor %{timestamp} synchronisiert • %{summary}"
syncing: Wird synchronisiert...
update: Verbindung aktualisieren
+ stale_pending_note: "(von Budgets ausgeschlossen)"
+ stale_pending_accounts: "in: %{accounts}"
+ reconciled_details_note: "(Details siehe Synchronisierungszusammenfassung)"
+ duplicate_accounts_skipped: "Einige Konten wurden als Duplikate übersprungen — nutze „Bestehendes Konto verknüpfen“, um sie zusammenzuführen."
+ select_existing_account:
+ title: "%{account_name} mit SimpleFIN verknüpfen"
+ description: Wähle ein SimpleFIN-Konto aus, das mit deinem bestehenden Konto verknüpft werden soll
+ cancel: Abbrechen
+ link_account: Konto verknüpfen
+ no_accounts_found: "Keine SimpleFIN-Konten für diesen %{moniker} gefunden."
+ wait_for_sync: Wenn du gerade verbunden oder synchronisiert hast, versuche es nach Abschluss der Synchronisierung erneut.
+ unlink_to_move: Um eine Verknüpfung zu verschieben, trenne sie zuerst im Aktionsmenü des Kontos.
+ all_accounts_already_linked: Alle SimpleFIN-Konten scheinen bereits verknüpft zu sein.
+ currently_linked_to: "Aktuell verknüpft mit: %{account_name}"
+ link_existing_account:
+ success: Konto erfolgreich mit SimpleFIN verknüpft
+ errors:
+ only_manual: Nur manuelle Konten können verknüpft werden
+ invalid_simplefin_account: Ungültiges SimpleFIN-Konto ausgewählt
+ reconciled_status:
+ message:
+ one: "%{count} doppelte ausstehende Transaktion abgeglichen"
+ other: "%{count} doppelte ausstehende Transaktionen abgeglichen"
+ stale_pending_status:
+ message:
+ one: "%{count} ausstehende Transaktion älter als %{days} Tage"
+ other: "%{count} ausstehende Transaktionen älter als %{days} Tage"
diff --git a/config/locales/views/snaptrade_items/de.yml b/config/locales/views/snaptrade_items/de.yml
new file mode 100644
index 000000000..d50ae7bb6
--- /dev/null
+++ b/config/locales/views/snaptrade_items/de.yml
@@ -0,0 +1,188 @@
+---
+de:
+ snaptrade_items:
+ default_name: "SnapTrade-Verbindung"
+ create:
+ success: "SnapTrade wurde erfolgreich eingerichtet."
+ update:
+ success: "SnapTrade-Konfiguration wurde erfolgreich aktualisiert."
+ destroy:
+ success: "SnapTrade-Verbindung wurde zur Löschung vorgemerkt."
+ connect:
+ decryption_failed: "SnapTrade-Zugangsdaten konnten nicht gelesen werden. Bitte löschen Sie die Verbindung und legen Sie sie neu an."
+ connection_failed: "Verbindung zu SnapTrade fehlgeschlagen: %{message}"
+ callback:
+ success: "Broker verbunden! Bitte wählen Sie die zu verknüpfenden Konten."
+ no_item: "SnapTrade-Konfiguration nicht gefunden."
+ complete_account_setup:
+ success:
+ one: "%{count} Konto erfolgreich verknüpft."
+ other: "%{count} Konten erfolgreich verknüpft."
+ partial_success: "%{linked} Konto/Konten verknüpft. %{failed} Verknüpfung(en) fehlgeschlagen."
+ link_failed: "Konten konnten nicht verknüpft werden: %{errors}"
+ no_accounts: "Es wurden keine Konten zur Verknüpfung ausgewählt."
+ preload_accounts:
+ not_configured: "SnapTrade ist nicht konfiguriert."
+ select_accounts:
+ not_configured: "SnapTrade ist nicht konfiguriert."
+ select_existing_account:
+ not_found: "Konto oder SnapTrade-Konfiguration nicht gefunden."
+ title: "Mit SnapTrade-Konto verknüpfen"
+ header: "Bestehendes Konto verknüpfen"
+ subtitle: "Wählen Sie ein SnapTrade-Konto zur Verknüpfung"
+ no_accounts: "Keine unverknüpften SnapTrade-Konten verfügbar."
+ connect_hint: "Möglicherweise müssen Sie zuerst einen Broker verbinden."
+ settings_link: "Zu den Provider-Einstellungen"
+ linking_to: "Verknüpfe mit Konto:"
+ balance_label: "Saldo:"
+ link_button: "Verknüpfen"
+ cancel_button: "Abbrechen"
+ link_existing_account:
+ success: "Erfolgreich mit SnapTrade-Konto verknüpft."
+ failed: "Verknüpfung fehlgeschlagen: %{message}"
+ not_found: "Konto nicht gefunden."
+ connections:
+ unknown_brokerage: "Unbekannter Broker"
+ delete_connection:
+ success: "Verbindung erfolgreich gelöscht. Ein Platz ist frei."
+ failed: "Löschen der Verbindung fehlgeschlagen: %{message}"
+ missing_authorization_id: "Autorisierungs-ID fehlt"
+ api_deletion_failed: "Verbindung konnte bei SnapTrade nicht gelöscht werden – Zugangsdaten fehlen. Die Verbindung kann in Ihrem SnapTrade-Konto noch existieren."
+ delete_orphaned_user:
+ success: "Verwaiste Registrierung wurde erfolgreich gelöscht."
+ failed: "Löschen der verwaisten Registrierung fehlgeschlagen."
+ setup_accounts:
+ title: "SnapTrade-Konten einrichten"
+ header: "SnapTrade-Konten einrichten"
+ subtitle: "Wählen Sie die zu verknüpfenden Broker-Konten"
+ syncing: "Ihre Konten werden abgerufen..."
+ loading: "Konten werden von SnapTrade geladen..."
+ loading_hint: "Klicken Sie auf Aktualisieren, um nach Konten zu suchen."
+ refresh: "Aktualisieren"
+ info_title: "SnapTrade-Anlagedaten"
+ info_holdings: "Bestände mit aktuellen Preisen und Mengen"
+ info_cost_basis: "Einstandskosten pro Position (falls verfügbar)"
+ info_activities: "Handelshistorie mit Aktivitätslabels (Kaufen, Verkaufen, Dividende usw.)"
+ info_history: "Bis zu 3 Jahre Buchungshistorie"
+ free_tier_note: "SnapTrade Free Tier erlaubt 5 Broker-Verbindungen. Nutzung im SnapTrade-Dashboard prüfen."
+ no_accounts_title: "Keine Konten gefunden"
+ no_accounts_message: "Es wurden keine Broker-Konten gefunden. Das kann passieren, wenn Sie die Verbindung abgebrochen haben oder Ihr Broker nicht unterstützt wird."
+ try_again: "Broker verbinden"
+ back_to_settings: "Zurück zu Einstellungen"
+ available_accounts: "Verfügbare Konten"
+ balance_label: "Saldo:"
+ account_number: "Konto:"
+ create_button: "Ausgewählte Konten anlegen"
+ cancel_button: "Abbrechen"
+ creating: "Konten werden angelegt..."
+ done_button: "Fertig"
+ or_link_existing: "Oder mit einem bestehenden Konto verknüpfen statt neu anlegen:"
+ select_account: "Konto auswählen..."
+ link_button: "Verknüpfen"
+ linked_accounts: "Bereits verknüpft"
+ linked_to: "Verknüpft mit:"
+ snaptrade_item:
+ accounts_need_setup:
+ one: "%{count} Konto muss eingerichtet werden"
+ other: "%{count} Konten müssen eingerichtet werden"
+ deletion_in_progress: "Löschung läuft..."
+ syncing: "Synchronisiere..."
+ requires_update: "Verbindung muss aktualisiert werden"
+ error: "Sync-Fehler"
+ status: "Zuletzt synchronisiert vor %{timestamp} – %{summary}"
+ status_never: "Noch nie synchronisiert"
+ reconnect: "Erneut verbinden"
+ connect_brokerage: "Broker verbinden"
+ add_another_brokerage: "Weiteren Broker verbinden"
+ delete: "Löschen"
+ setup_needed: "Konten müssen eingerichtet werden"
+ setup_description: "Einige Konten von SnapTrade müssen Sure-Konten zugeordnet werden."
+ setup_action: "Konten einrichten"
+ setup_accounts_menu: "Konten einrichten"
+ manage_connections: "Verbindungen verwalten"
+ more_accounts_available:
+ one: "%{count} weiteres Konto kann eingerichtet werden"
+ other: "%{count} weitere Konten können eingerichtet werden"
+ no_accounts_title: "Keine Konten gefunden"
+ no_accounts_description: "Verbinden Sie einen Broker, um Ihre Anlagekonten zu importieren."
+
+ providers:
+ snaptrade:
+ name: "SnapTrade"
+ connection_description: "Verbinden Sie Ihren Broker über SnapTrade (25+ Broker unterstützt)"
+ description: "SnapTrade verbindet mit 25+ großen Brokern (Fidelity, Vanguard, Schwab, Robinhood usw.) und liefert vollständige Handelshistorie mit Aktivitätslabels und Einstandskosten."
+ setup_title: "Einrichtungsanleitung:"
+ step_1_html: "Konto erstellen unter dashboard.snaptrade.com"
+ step_2: "Client ID und Consumer Key aus dem Dashboard kopieren"
+ step_3: "Zugangsdaten unten eintragen und auf Speichern klicken"
+ step_4: "Auf die Konten-Seite gehen und „Weiteren Broker verbinden“ nutzen, um Ihre Anlagekonten zu verknüpfen"
+ free_tier_warning: "Free Tier enthält 5 Broker-Verbindungen. Weitere erfordern einen kostenpflichtigen SnapTrade-Plan."
+ client_id_label: "Client ID"
+ client_id_placeholder: "SnapTrade Client ID eingeben"
+ client_id_update_placeholder: "Neue Client ID zum Aktualisieren eingeben"
+ consumer_key_label: "Consumer Key"
+ consumer_key_placeholder: "SnapTrade Consumer Key eingeben"
+ consumer_key_update_placeholder: "Neuen Consumer Key zum Aktualisieren eingeben"
+ save_button: "Konfiguration speichern"
+ update_button: "Konfiguration aktualisieren"
+ status_connected:
+ one: "%{count} Konto von SnapTrade"
+ other: "%{count} Konten von SnapTrade"
+ needs_setup:
+ one: "%{count} muss eingerichtet werden"
+ other: "%{count} müssen eingerichtet werden"
+ status_ready: "Bereit zum Verbinden von Brokern"
+ status_needs_registration: "Zugangsdaten gespeichert. Gehen Sie zur Konten-Seite, um Broker zu verbinden."
+ status_not_configured: "Nicht konfiguriert"
+ setup_accounts_button: "Konten einrichten"
+ connect_button: "Broker verbinden"
+ connected_brokerages: "Verbunden:"
+ manage_connections: "Verbindungen verwalten"
+ connection_limit_info: "SnapTrade Free Tier erlaubt 5 Broker-Verbindungen. Löschen Sie ungenutzte Verbindungen, um Plätze freizugeben."
+ loading_connections: "Verbindungen werden geladen..."
+ connections_error: "Verbindungen konnten nicht geladen werden: %{message}"
+ accounts_count:
+ one: "%{count} Konto"
+ other: "%{count} Konten"
+ orphaned_connection: "Verwaiste Verbindung (lokal nicht synchronisiert)"
+ needs_linking: "muss verknüpft werden"
+ no_connections: "Keine Broker-Verbindungen gefunden."
+ delete_connection: "Löschen"
+ delete_connection_title: "Broker-Verbindung löschen?"
+ delete_connection_body: "Die Verbindung zu %{brokerage} wird dauerhaft von SnapTrade entfernt. Alle Konten dieses Brokers werden getrennt. Zum erneuten Sync müssen Sie sich wieder verbinden."
+ delete_connection_confirm: "Verbindung löschen"
+ orphaned_users_title:
+ one: "%{count} verwaiste Registrierung"
+ other: "%{count} verwaiste Registrierungen"
+ orphaned_users_description: "Das sind frühere SnapTrade-Registrierungen, die Ihre Verbindungsplätze belegen. Löschen Sie sie, um Plätze freizugeben."
+ orphaned_user: "Verwaiste Registrierung"
+ delete_orphaned_user: "Löschen"
+ delete_orphaned_user_title: "Verwaiste Registrierung löschen?"
+ delete_orphaned_user_body: "Diese verwaiste SnapTrade-Registrierung und alle zugehörigen Broker-Verbindungen werden dauerhaft gelöscht, Verbindungsplätze werden frei."
+ delete_orphaned_user_confirm: "Registrierung löschen"
+
+ snaptrade_item:
+ sync_status:
+ no_accounts: "Keine Konten gefunden"
+ synced:
+ one: "%{count} Konto synchronisiert"
+ other: "%{count} Konten synchronisiert"
+ synced_with_setup: "%{linked} synchronisiert, %{unlinked} müssen eingerichtet werden"
+ institution_summary:
+ none: "Keine Institute verbunden"
+ count:
+ one: "%{count} Institut"
+ other: "%{count} Institute"
+ brokerage_summary:
+ none: "Keine Broker verbunden"
+ count:
+ one: "%{count} Broker"
+ other: "%{count} Broker"
+ syncer:
+ discovering: "Konten werden ermittelt..."
+ importing: "Konten werden von SnapTrade importiert..."
+ processing: "Bestände und Aktivitäten werden verarbeitet..."
+ calculating: "Salden werden berechnet..."
+ checking_config: "Kontokonfiguration wird geprüft..."
+ needs_setup: "%{count} Konten müssen eingerichtet werden..."
+ activities_fetching_async: "Aktivitäten werden im Hintergrund geladen. Bei neuen Broker-Verbindungen kann das bis zu einer Minute dauern."
diff --git a/config/locales/views/trades/de.yml b/config/locales/views/trades/de.yml
index 51417c1f9..8fadd71af 100644
--- a/config/locales/views/trades/de.yml
+++ b/config/locales/views/trades/de.yml
@@ -24,6 +24,8 @@ de:
title: Neue Transaktion
show:
additional: Zusätzlich
+ buy: Kaufen
+ category_label: Kategorie
cost_per_share_label: Kosten pro Anteil
date_label: Datum
delete: Löschen
@@ -32,7 +34,10 @@ de:
details: Details
exclude_subtitle: Dieser Trade wird nicht in Berichten und Berechnungen berücksichtigt
exclude_title: Von Analysen ausschließen
+ no_category: Keine Kategorie
note_label: Notiz
note_placeholder: Füge hier zusätzliche Notizen hinzu …
quantity_label: Menge
+ sell: Verkaufen
settings: Einstellungen
+ type_label: Typ
diff --git a/config/locales/views/transactions/de.yml b/config/locales/views/transactions/de.yml
index 2674005b4..a8e280497 100644
--- a/config/locales/views/transactions/de.yml
+++ b/config/locales/views/transactions/de.yml
@@ -1,6 +1,7 @@
---
de:
transactions:
+ unknown_name: Unbekannte Transaktion
form:
account: Konto
account_prompt: Konto auswählen
@@ -29,6 +30,15 @@ de:
delete_subtitle: Diese Aktion löscht die Transaktion dauerhaft, beeinflusst deine bisherigen Kontostände und kann nicht rückgängig gemacht werden.
delete_title: Transaktion löschen
details: Details
+ exclude: Ausschließen
+ exclude_description: Ausgeschlossene Transaktionen werden aus Budgetberechnungen und Berichten entfernt.
+ activity_type: Aktivitätsart
+ activity_type_description: Art der Anlageaktivität (Kauf, Verkauf, Dividende usw.). Wird automatisch erkannt oder manuell gesetzt.
+ one_time_title: Einmalige %{type}
+ one_time_description: Einmalige Transaktionen werden aus bestimmten Budgetberechnungen und Berichten ausgeschlossen, damit du das Wichtige besser erkennst.
+ convert_to_trade_title: In Wertpapier-Trade umwandeln
+ convert_to_trade_description: Diese Transaktion in einen Kauf- oder Verkaufstrade mit Wertpapierdetails für die Portfolioverfolgung umwandeln.
+ convert_to_trade_button: In Trade umwandeln
merchant_label: Händler
name_label: Name
nature: Typ
@@ -38,7 +48,45 @@ de:
overview: Übersicht
settings: Einstellungen
tags_label: Tags
+ tab_transactions: Transaktionen
+ tab_upcoming: Anstehend
uncategorized: (ohne Kategorie)
+ activity_labels:
+ buy: Kaufen
+ sell: Verkaufen
+ sweep_in: Sweep In
+ sweep_out: Sweep Out
+ dividend: Dividende
+ reinvestment: Reinvestition
+ interest: Zinsen
+ fee: Gebühr
+ transfer: Überweisung
+ contribution: Einlage
+ withdrawal: Entnahme
+ exchange: Umtausch
+ other: Sonstige
+ mark_recurring: Als wiederkehrend markieren
+ mark_recurring_subtitle: Als wiederkehrende Transaktion verfolgen. Die Betragsabweichung wird automatisch aus den letzten 6 Monaten ähnlicher Transaktionen berechnet.
+ mark_recurring_title: Wiederkehrende Transaktion
+ potential_duplicate_title: Mögliches Duplikat erkannt
+ potential_duplicate_description: Diese ausstehende Transaktion könnte mit der unten stehenden gebuchten Transaktion übereinstimmen. Wenn ja, führe sie zusammen, um Doppelzählung zu vermeiden.
+ merge_duplicate: Ja, zusammenführen
+ keep_both: Nein, beide behalten
+ transaction:
+ pending: Ausstehend
+ pending_tooltip: Ausstehende Transaktion — kann sich bei Buchung ändern
+ linked_with_plaid: Mit Plaid verknüpft
+ activity_type_tooltip: Art der Anlageaktivität
+ possible_duplicate: Duplikat?
+ potential_duplicate_tooltip: Dies könnte ein Duplikat einer anderen Transaktion sein
+ review_recommended: Prüfen
+ review_recommended_tooltip: Große Betragsabweichung — Prüfung empfohlen, ob es sich um ein Duplikat handelt
+ merge_duplicate:
+ success: Transaktionen erfolgreich zusammengeführt
+ failure: Transaktionen konnten nicht zusammengeführt werden
+ dismiss_duplicate:
+ success: Als getrennte Transaktionen beibehalten
+ failure: Duplikatshinweis konnte nicht verworfen werden
header:
edit_categories: Kategorien bearbeiten
edit_imports: Importe bearbeiten
@@ -48,6 +96,65 @@ de:
index:
transaction: Transaktion
transactions: Transaktionen
+ import: Import
+ list:
+ drag_drop_title: CSV zum Importieren ablegen
+ drag_drop_subtitle: Transaktionen direkt hochladen
+ transaction: Transaktion
+ transactions: Transaktionen
+ toggle_recurring_section: Anstehende wiederkehrende Transaktionen ein-/ausblenden
+ search:
+ filters:
+ account: Konto
+ date: Datum
+ type: Typ
+ status: Status
+ amount: Betrag
+ category: Kategorie
+ tag: Tag
+ merchant: Händler
+ convert_to_trade:
+ title: In Wertpapier-Trade umwandeln
+ description: Diese Transaktion in einen Trade mit Wertpapierdetails umwandeln
+ date_label: "Datum:"
+ account_label: "Konto:"
+ amount_label: "Betrag:"
+ security_label: Wertpapier
+ security_prompt: Wertpapier auswählen…
+ security_custom: "+ Eigenes Tickersymbol eingeben"
+ security_not_listed_hint: Dein Wertpapier nicht dabei? Wähle unten in der Liste „Eigenes Tickersymbol eingeben“.
+ ticker_placeholder: AAPL
+ ticker_hint: Gib das Aktien-/ETF-Tickersymbol ein (z. B. AAPL, MSFT)
+ ticker_search_placeholder: Nach Ticker suchen…
+ ticker_search_hint: Nach Tickersymbol oder Firmenname suchen oder eigenes Tickersymbol eingeben
+ price_mismatch_title: Preis weicht möglicherweise ab
+ price_mismatch_message: "Dein Preis (%{entered_price}/Aktie) weicht deutlich vom aktuellen Marktpreis von %{ticker} (%{market_price}) ab. Wenn das falsch erscheint, hast du vielleicht das falsche Wertpapier gewählt — versuche „Eigenes Tickersymbol eingeben“, um das richtige anzugeben."
+ quantity_label: Menge (Aktien)
+ quantity_placeholder: z. B. 20
+ quantity_hint: Anzahl der gehandelten Aktien
+ price_label: Preis pro Aktie
+ price_placeholder: z. B. 52,15
+ price_hint: Preis pro Aktie (%{currency})
+ qty_or_price_hint: Gib mindestens Menge ODER Preis ein. Der andere Wert wird aus dem Transaktionsbetrag (%{amount}) berechnet.
+ trade_type_label: Trade-Typ
+ trade_type_hint: Kauf oder Verkauf von Wertpapieranteilen
+ exchange_label: Börse (optional)
+ exchange_placeholder: XNAS
+ exchange_hint: Leer lassen für automatische Erkennung
+ cancel: Abbrechen
+ submit: In Trade umwandeln
+ success: Transaktion in Trade umgewandelt
+ conversion_note: "Umgewandelt aus Transaktion: %{original_name} (%{original_date})"
+ errors:
+ not_investment_account: Nur Transaktionen in Anlagekonten können in Trades umgewandelt werden
+ already_converted: Diese Transaktion wurde bereits umgewandelt oder ausgeschlossen
+ enter_ticker: Bitte gib ein Tickersymbol ein
+ security_not_found: Das gewählte Wertpapier existiert nicht mehr. Bitte wähle ein anderes.
+ select_security: Bitte wähle ein Wertpapier aus oder gib eines ein
+ enter_qty_or_price: Bitte gib entweder Menge oder Preis pro Aktie ein. Der andere Wert wird aus dem Transaktionsbetrag berechnet.
+ invalid_qty_or_price: Ungültige Menge oder Preis. Bitte gib gültige positive Werte ein.
+ conversion_failed: "Transaktion konnte nicht umgewandelt werden: %{error}"
+ unexpected_error: "Unerwarteter Fehler bei der Umwandlung: %{error}"
searches:
filters:
amount_filter:
@@ -61,10 +168,15 @@ de:
on_or_after: am oder nach %{date}
on_or_before: am oder vor %{date}
transfer: Überweisung
+ confirmed: Bestätigt
+ pending: Ausstehend
type_filter:
expense: Ausgabe
income: Einnahme
transfer: Überweisung
+ status_filter:
+ confirmed: Bestätigt
+ pending: Ausstehend
menu:
account_filter: Konto
amount_filter: Betrag
@@ -74,6 +186,7 @@ de:
clear_filters: Filter löschen
date_filter: Datum
merchant_filter: Händler
+ status_filter: Status
tag_filter: Tag
type_filter: Typ
search: