aboutsummaryrefslogtreecommitdiffstats
path: root/src/locales/de.json
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-06-24 08:59:31 -0700
committerAdam Soltys <[email protected]>2026-06-24 08:59:31 -0700
commit17acf5ec80a0c0b0acc44a6a8373e154c68d4748 (patch)
treea3fb56b85cc9cd21962ed64b084294096948d75b /src/locales/de.json
parentf59cca61111f38963099190bdbbce9a76bc3fafe (diff)
downloadcoinosv3-17acf5ec80a0c0b0acc44a6a8373e154c68d4748.tar.gz
coinosv3-17acf5ec80a0c0b0acc44a6a8373e154c68d4748.zip
Split translations into per-language files, lazy-loaded
Only English is bundled in index.html now; the other 19 languages are emitted as dist/locales/<code>.json and fetched on demand when a visitor actually uses one (via auto-detect, the picker, or ?lang=xx). This drops index.html from ~511KB to ~318KB; a non-English visitor fetches just their one ~8-10KB locale, which the service worker then caches for offline use. t() falls back to English until a locale resolves. - i18n.js keeps only en + a loadLocale() fetcher; locale data moved to src/locales/*.json. - build.js emits dist/locales/; dev.js serves /locales/<code>.json. - Deploy hook publishes the locales/ subdir. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src/locales/de.json')
-rw-r--r--src/locales/de.json145
1 files changed, 145 insertions, 0 deletions
diff --git a/src/locales/de.json b/src/locales/de.json
new file mode 100644
index 0000000..9e44612
--- /dev/null
+++ b/src/locales/de.json
@@ -0,0 +1,145 @@
+{
+ "passphrase": "Passphrase",
+ "howItWorks": "So funktioniert es",
+ "installApp": "App installieren",
+ "hiwBasicsTitle": "Die Grundlagen",
+ "hiwBasics1": "Wenn du eine Wallet erstellst, erzeugt die Seite zwölf zufällige Wörter. Diese Wörter sind der Schlüssel zu deiner Wallet. Wer sie besitzt, kann die Coins ausgeben. Schreibe sie deshalb auf Papier und bewahre sie an einem Ort auf, zu dem nur du Zugang hast.",
+ "hiwBasics2": "Wenn du die zwölf Wörter verlierst und kein Backup hast, sind die Coins endgültig verloren. Es gibt keinen Zurücksetzen-Link und niemanden, den du anrufen kannst. Sichere sie daher, bevor du Geld einzahlst.",
+ "hiwBasics3": "Es gibt keinen Server und kein Konto. Die gesamte App ist eine einzige Seite, die in deinem Browser läuft. Niemand verwahrt deine Coins und kein Server bekommt jemals deine Schlüssel zu sehen. Um deinen Kontostand und deinen Verlauf anzuzeigen, liest sie von einem öffentlichen Block-Explorer (standardmäßig mempool.space oder deinem eigenen Node, falls du in den Einstellungen einen festlegst).",
+ "hiwBasics4": "Du kannst diese Seite sogar speichern und ganz ohne Internet direkt von deinem Computer aus öffnen. Sie funktioniert auch offline weiter.",
+ "hiwBasics5": "Sie folgt den üblichen Bitcoin-Standards (eine 12-Wörter-Phrase nach BIP39 und native SegWit-Schlüssel nach BIP84). Sollte diese Seite jemals verschwinden, kannst du dieselbe Phrase in Sparrow, Electrum oder einer beliebigen anderen Standard-Wallet wiederherstellen, und deine Coins sind genau dort.",
+ "hiwTribute": "Der Name Hal Wallet ist eine Hommage an den legendären Cypherpunk und Bitcoin-Pionier Hal Finney (1956–2014).",
+ "signExport": "Signieren & (anderswo senden)",
+ "scanQr": "QR scannen",
+ "scanHint": "Richte die Kamera auf einen QR-Code",
+ "scanNoCamera": "Zugriff auf die Kamera nicht möglich.",
+ "scanNoDecoder": "Das QR-Scannen benötigt beim ersten Mal eine Verbindung.",
+ "scanUnrecognized": "Aus diesem QR konnte keine Bitcoin-Adresse gelesen werden.",
+ "broadcastScanned": "Transaktion senden?",
+ "broadcastNow": "Senden",
+ "scanOffline": "Du bist offline — stelle die Verbindung wieder her, um diese Transaktion zu senden.",
+ "loadingHistory": "Transaktionen werden geladen…",
+ "explorer": "Block-Explorer",
+ "explorerDesc": "Der Server, den diese Wallet für Kontostände und Verlauf abfragt. Richte ihn auf deinen eigenen Node aus, um maximale Privatsphäre zu erreichen.",
+ "explorerUrl": "Server-URL",
+ "explorerUrlHint": "Esplora-/electrs-REST-Basis, z. B. https://mempool.space/api",
+ "deviceSync": "Geräteabgleich",
+ "deviceSyncDesc": "Halte diese Wallet über deine Geräte hinweg synchron, indem du eine verschlüsselte Kopie auf einem Nostr-Relay speicherst — nur ein Gerät mit deinem Seed kann sie lesen. Schalte ihn aus, um alles auf diesem Gerät zu behalten.",
+ "syncAcross": "Über Geräte synchronisieren",
+ "syncOn": "An",
+ "syncOff": "Aus",
+ "relaysLabel": "Relays",
+ "relaysHint": "Eine wss://-URL pro Zeile.",
+ "home": "Start",
+ "logout": "Abmelden",
+ "createNew": "Neu erstellen",
+ "importExisting": "Importieren",
+ "genIntro": "Erzeuge eine neue Seed-Phrase aus 12 Wörtern. Schreibe sie auf. Sie ist die einzige Möglichkeit, dieses Wallet wiederherzustellen.",
+ "generateSeed": "Seed-Phrase erzeugen",
+ "writeDownWarn": "⚠ Schreibe diese 12 Wörter in der richtigen Reihenfolge auf Papier. Wer sie hat, kann deine Coins ausgeben.",
+ "copyPhrase": "Phrase kopieren",
+ "regenerate": "Neu erzeugen",
+ "verifyBackup": "Backup prüfen",
+ "skipVerification": "Prüfung überspringen",
+ "confirmBackupIntro": "Bestätige dein Backup, indem du die abgefragten Wörter eingibst.",
+ "wordN": "Wort #{n}",
+ "reenterPassphrase": "Passphrase erneut eingeben",
+ "back": "← Zurück",
+ "openWallet": "Wallet öffnen",
+ "wordsMismatch": "Diese Wörter passen nicht zu deiner Phrase. Prüfe dein Backup.",
+ "passphraseMismatch": "Diese Passphrase stimmt nicht mit der eingegebenen überein.",
+ "seedPhrase": "Seed-Phrase",
+ "seedPlaceholder": "gib deine Wörter durch Leerzeichen getrennt ein",
+ "optionalPassphrase": "Optionale Passphrase",
+ "leaveBlank": "leer lassen, falls nicht genutzt",
+ "show": "Zeigen",
+ "hide": "Verbergen",
+ "invalidSeed": "Ungültige Seed-Phrase — prüfe Schreibweise und Reihenfolge.",
+ "keysNote": "Schlüssel verlassen nie deinen Browser. Funktioniert offline. Speichere diese Seite und öffne sie lokal.",
+ "balance": "Guthaben",
+ "pending": "Ausstehend",
+ "tabReceive": "Empfangen",
+ "tabSend": "Senden",
+ "tabHistory": "Verlauf",
+ "tabSettings": "Einstellungen",
+ "copyAddress": "Adresse kopieren",
+ "paymentReceived": "Zahlung erhalten!",
+ "tapToProceed": "Tippe irgendwo, um fortzufahren",
+ "recipient": "Empfänger",
+ "recipients": "Empfänger",
+ "max": "Max",
+ "feeRate": "Gebühr",
+ "feeEconomy": "Sparsam",
+ "feeNormal": "Normal",
+ "feePriority": "Priorität",
+ "feeCustom": "Benutzerdef.",
+ "selectedRate": "Gewählte Gebühr: {n} sat/vB",
+ "coinSelection": "Coin-Auswahl",
+ "automatic": "Automatisch",
+ "manual": "Manuell",
+ "noCoins": "Keine Coins verfügbar.",
+ "nSelected": "{n} ausgewählt",
+ "addRecipient": "+ Empfänger hinzufügen",
+ "reviewTx": "Transaktion prüfen",
+ "remove": "Entfernen",
+ "enterRecipientAddr": "Gib eine Empfängeradresse ein.",
+ "enterAddrForN": "Gib eine Adresse für Empfänger {n} ein.",
+ "enterValidAmtForN": "Gib einen gültigen Betrag für Empfänger {n} ein.",
+ "selectCoin": "Wähle mindestens einen Coin zum Ausgeben.",
+ "networkFee": "Netzwerkgebühr",
+ "offlineSignNote": "Offline: jetzt signieren und die Transaktion von einem Online-Gerät senden.",
+ "signBroadcast": "Signieren & senden",
+ "signTx": "Transaktion signieren",
+ "broadcastFailed": "Senden fehlgeschlagen: {msg}",
+ "signingFailed": "Signieren fehlgeschlagen: {msg}",
+ "done": "Fertig",
+ "txSignedNote": "✓ Transaktion signiert. Sende den Code unten von einem Online-Gerät (z. B. mempool.space → Broadcast).",
+ "transactionId": "Transaktions-ID",
+ "signedTxRaw": "Signierte Transaktion (Code)",
+ "copyHex": "Code kopieren",
+ "downloadLabel": "Herunterladen",
+ "showQrAirgap": "QR anzeigen (für Offline-Übertragung)",
+ "txBroadcast": "✓ Transaktion gesendet!",
+ "copyTxid": "Transaktions-ID kopieren",
+ "viewOnMempool": "Auf mempool.space ansehen ↗",
+ "noTxYet": "Noch keine Transaktionen.",
+ "received": "Empfangen",
+ "sent": "Gesendet",
+ "pendingTag": "⏳ ausstehend",
+ "awaitingConfirmation": "wartet auf Bestätigung",
+ "feeShort": "Gebühr {x}",
+ "historyOffline": "Verlauf ist offline nicht verfügbar.",
+ "status": "Status",
+ "confirmed": "Bestätigt",
+ "confirmedTag": "bestätigt",
+ "pendingInMempool": "Ausstehend (im Mempool)",
+ "block": "Block",
+ "date": "Datum",
+ "copyId": "ID kopieren",
+ "backToHistory": "← Zurück zum Verlauf",
+ "recoveryPhrase": "Wiederherstellungsphrase",
+ "recoveryWarn": "⚠ Wer diese Wörter sieht, kann deine Coins stehlen. Achte darauf, dass niemand zusieht, bevor du sie anzeigst.",
+ "bip39Passphrase": "Passphrase",
+ "copyPassphrase": "Passphrase kopieren",
+ "revealRecovery": "Wiederherstellungsphrase anzeigen",
+ "offlineTransfer": "Offline-Übertragung",
+ "offlineTransferDesc": "Exportiere deine Coins auf einem Online-Gerät und importiere die Datei auf einem Offline-Gerät (mit diesem Wallet + Seed), um ohne Internet zu signieren.",
+ "exportSnapshot": "⤓ Snapshot exportieren",
+ "importSnapshot": "Snapshot importieren…",
+ "rescan": "Neu scannen",
+ "rescanDesc": "Deine aktuelle Adresse aktualisiert sich automatisch. Scanne nur neu, wenn eine Zahlung an eine alte (wiederverwendete) Adresse ging und nicht erscheint.",
+ "rescanWallet": "Wallet neu scannen",
+ "scanning": "Scanne…",
+ "language": "Sprache",
+ "offlineBanner": "Netzwerk nicht erreichbar — offline. Importiere einen Snapshot unter Einstellungen, um Coins zu laden.",
+ "retry": "Erneut",
+ "copied": "In Zwischenablage kopiert",
+ "snapshotExported": "Snapshot exportiert",
+ "importedNCoins": "{n} Coin(s) importiert",
+ "unmatchedSuffix": " · {n} Adresse(n) nicht in diesem Wallet",
+ "importFailed": "Import fehlgeschlagen: {msg}",
+ "copy": "Kopieren",
+ "switchUnit": "BTC / sats wechseln",
+ "footerMadeBy": "gemacht von",
+ "footerSourceOn": "Quellcode auf"
+} \ No newline at end of file