Skip to content

Commit

Permalink
12 add translations 🌐 (#93)
Browse files Browse the repository at this point in the history
* add i18next and react-i18next

* configure i18next

* fmtJson, add UI for changing lang

* translate dashboard DE

* add topNav translations

* add more translations

* add more translations

* fix tests

* added german translation across all components

* lint

* test

* 0.0.6 -> 0.1.0

* save and use saved language

* add french translation

* move translations into assets folder

* move test-i18n init into jest setup

* update simpleKeyValueStore usage for language
  • Loading branch information
KKA11010 committed Jun 30, 2023
1 parent d5b14c8 commit fa92dd7
Show file tree
Hide file tree
Showing 55 changed files with 1,190 additions and 314 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
-O build \
src/AppEntry.ts
# - run: npx tsc
# - run: npx tsc

- run: npm run test:coverage
- name: Upload coverage reports to Codecov
Expand Down
209 changes: 209 additions & 0 deletions assets/translations/de.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
{
"common": {
"yes": "Ja",
"no": "Nein",
"from": "von",
"cancel": "Abbrechen",
"back": "Zurück",
"deepLinkErr": "Link konnte nicht geöffnet werden",
"name": "Name",
"save": "Speichern",
"edit": "Bearbeiten",
"delete": "Löschen",
"contactDel": "Kontakt konnte nicht gelöscht werden",
"contactNotSaved": "Kontakt konnte nicht gespeichert werden. Möglicher Duplikat.",
"n/a": "Nicht verfügbar",
"fee": "Gebühr",
"bigQrMsg": "Die Datenmenge ist zu groß für einen QR-Code.",
"invoice": "Rechnung",
"noTX": "Noch keine Transaktionen",
"coinSelection": "Coin-Auswahl",
"tokensIssued": "Für diese Rechnung wurden bereits Token ausgestellt.",
"smthWrong": "Etwas is schief gelaufen",
"invoiceExpired": "Rechnung abgelaufen",
"checkPayment": "Zahlung prüfen",
"paymentPending": "Zahlung ausstehend",
"copyInvoice": "Rechnung kopieren",
"copyToken": "Token kopieren",
"copied": "Kopiert",
"share": "Teilen",
"payWithLn": "Zahle mit deiner LN wallet",
"close": "Schließen",
"confirm": "Bestätigen",
"selected": "Ausgewählt",
"change": "Rückgeld",
"amount": "Betrag",
"keysetID": "Schlüsselsatz",
"createTokenErr": "Es konnte kein Cashu-Token erstellt werden. Bitte versuchen Sie es später noch einmal.",
"balance": "Guthaben",
"noMint": "Keine Mint gefunden",
"addMemo": "Füge ein Memo mit max. 21 Zeichen hinzu.",
"addMint": "Füge eine Mint hinzu",
"noEnoughFunds": "Nicht genügend Guthaben",
"createInvoice": "Rechnung erstellen",
"invoiceIncoming": "Rechnung unterwegs",
"selectAmount": "Betrag auswählen",
"createToken": "Token erstellen",
"creating": "Erstellen",
"feeErr": "Gebühr kann nicht geschätzt werden. Ist \"{{input}}\" eine valide LNURL?",
"invoiceErr": "Rechnung konnte nicht bezahlt werden. Bitte versuchen Sie es später noch einmal.",
"invoicePayErr": "Ein Fehler ist aufgetreten während der Zahlung.",
"generateInvoiceErr": "Rechnung für \"{{input}}\" konnte nicht erstellt werden.",
"invoiceLowFunds": "Nicht genügend Guthaben! Gesamt nach Gebühr: {{totalToPay}} Satoshi. Betrag ausgewähl: {{LNURLAmount}} Satoshi",
"invalidInvoice": "Rechnung invalid",
"sendBtcHint": "Sende bitcoin von \"{{mintUrl}}\" zu einer Lightning wallet.",
"mintBalance": "Mint Guthaben",
"calculateFeeEst": "Gebühr wird geschätzt",
"estimatedFees": "Geschätzte Gebühr",
"to": "zu",
"expired": "Abgelaufen",
"total": "Gesamt",
"invoiceOrLnurl": "LN Rechnung oder LNURL",
"paste": "Einfügen",
"clear": "Löschen",
"createViaLn": "Rechnung über LN wallet erstellen",
"pay": "Zahlen",
"processingPayment": "Zahlung wird ausgeführt",
"lnPaymentReq": "Lightning Zahlungsanforderung",
"selectMint": "Mint für Zahlung auswählen",
"noFunds": "Nicht genügend Guthaben",
"version": "Version",
"invalidOrSpent": "Invalider Token oder bereits ausgegeben",
"invalidToken": "Token invalid",
"tokenInfoErr": "Ein Fehler ist aufgetreten während der Token-Info-Abfrage",
"claimSuccess": "{{amount}} Satoshi erhalten von {{mintUrl}}! Memo: {{memo}}",
"notQrCode": "Kein QR-Code!",
"unknownType": "Unbekannter Code-Typ",
"scanTokenOrLn": "Cashu Token oder LN Rechnung scannen",
"scanAgain": "Hier tippen, um erneut zu scannen",
"noCamAccess": "Kein Zugriff auf die Kamera",
"darkMode": "Dunkler Modus",
"delHistoryQ": "Sind Sie sicher, dass Sie den Verlauf löschen möchten?",
"delHistoryTxt": "Die Daten können nachträglich nicht wiederhergestellt werden.",
"historyDeleted": "Verlauf gelöscht",
"delHistoryErr": "Verlauf konnte nicht gelöscht werden",
"noProofsToBackup": "Keine Proofs verfügbar für eine Sicherung.",
"backupErr": "Etwas ist schief gelaufen während dem Sicherungsprozess.",
"createBackup": "Sicherung erstellen",
"clipboardInvalid": "Deine Zwischenablage beinhaltet einen invaliden Cashu Token",
"dbErr": "Etwas ist schief gelaufen während der Initialisierung der Datenbank!",
"foundCashuClipboard": "In Ihrer Zwischenablage wurde ein Cashu-Token gefunden",
"fromMint": "von folgende Mint",
"paymentSuccess": "Zahlung erfolgreich!",
"claimed": "beansprucht",
"minted": "bekommen",
"manageMints": "Mints verwalten",
"backToDashboard": "Zurück zu wallet",
"default": "Standard"
},
"wallet": {
"disclaimer": "Bitte beachten Sie, dass es sich hierbei um eine Alpha-Version in einem frühen Stadium handelt und diese noch vor der offiziellen Veröffentlichung getestet wird. Die Software und alle darauf enthaltenen Inhalte werden als „wie besehen“ und „wie verfügbar“ bereitgestellt. Wir geben keine Garantien, ob ausdrücklich oder stillschweigend, hinsichtlich der Eignung oder Verwendbarkeit der Software oder deren Inhalte.",
"submitIssue": "Problem auf GitHub melden",
"send": "Senden",
"sendEcash": "Ecash senden",
"receive": "Empfangen",
"pasteToken": "Ecash aus Zwischenablage",
"payInvoice": "Lightning Rechnung bezahlen",
"createInvoice": "Lightning Rechnung erstellen",
"claiming": "Überprüft"
},
"topNav": {
"history": "Verlauf",
"addressBook": "Adressbuch",
"swap": "Tausch",
"mintBackup": "Mint Sicherung",
"mintSettings": "Mint Einstellungen",
"display": "Anzeige",
"settings": "Einstellungen",
"language": "Sprache",
"security": "Sicherheit",
"backup": "Sicherung"
},
"bottomNav": {
"contacts": "Kontakte"
},
"error": {
"header": "Ein Fehler ist aufgetreten",
"msg": "Es tut uns leid, dass dieses Problem bei Ihnen aufgetreten ist. Sie können uns helfen, die Software zu verbessern, indem Sie einen Screenshot machen und einen kurzen Fehlerbericht erstellen.",
"stackNA": "Ursprung des Fehlers nicht verfügbar",
"reportBug": "Fehler melden"
},
"history": {
"memo": "Memo",
"noMemo": "Keine Memo",
"settleTime": "Zeitpunkt",
"checkSpent": "Überprüfen ob Token ausgegeben wurde",
"isSpent": "Token wurde ausgegeben",
"isPending": "Token steht aus",
"paymentHash": "Zahlungs-Hash",
"showQr": "QR-Code anzeigen",
"justNow": "Gerade eben",
"oneHrAgo": "Vor einer Stunde",
"nHrsAgo": "Vor {{hrs}} Stunden",
"oneMinAgo": "Vor 1 Minute",
"nMinsAgo": "Vor {{mins}} Minuten"
},
"mints": {
"invalidUrl": "URL invalid",
"mntAlreadyAdded": "Mint bereits vorhanden",
"mintConnectionFail": "Verbindung zu Mint fehlgeschlagen",
"newMintSuccess": "{{mintUrl}} erfolgreich hinzugefügt",
"addNewMint": "Neue Mint hinzufügen",
"addMintBtn": "Mint hinzufügen",
"testMintHint": "Dies ist eine Test-Mint für Simulationszwecke. Trotzdem hinzufügen?",
"trustMintSure": "Sind Sie sicher, dass Sie dieser Mint vertrauen möchten?",
"importantNotice": "Wichtiger Hinweis",
"mintNoContact": "Diese Mint verfügt über keine Kontakt Informationen",
"supportedNuts": "Unterstütze NUTs",
"pubKey": "Öffentlicher Schlüssel",
"additionalInfo": "Zusätzliche Informationen",
"noAdditional": "Diese Mint verfügt über keine zusätzliche Informationen",
"noInfo": "Keine Informationen verfügbar",
"swapSuccess": "{{amount}} Satoshi erfolgreich von {{srcMint}} zu {{targetMint}} getauscht",
"swapFail": "Tausch konnte nicht vollbracht werden",
"swapRisk": "Senden Sie Token von einer Mint zu einer anderen Mint. Für einen kurzen Moment werden Sie zwei Mints gleichzeitig vertrauen. Es gibt Dinge, die schief gehen können. Verwendung auf eigene Gefahr.",
"swapNow": "Jetzt tauschen",
"performingSwap": "Wird ausgeführt",
"general": "Allgemein",
"mintInfo": "Mint Info",
"customName": "Benutzerdefinierter Name",
"setDefault": "Als Standard-Mint festlegen",
"removeDefault": "Standard zurücksetzen",
"mintNewTokens": "Neue Tokens anfordern",
"meltToken": "Tokens auszahlen",
"noProofs": "Diese Mint verfügt über keine Proofs.",
"dangerZone": "Gefahrenzone",
"checkProofs": "Proofs überprüfen",
"delMint": "Mint löschen",
"delMintSure": "Sind Sie sicher, dass Sie diese Mint löschen möchten?",
"delMintHint": "Das Löschen einer Mint mit Guthaben kann zu einem unerwarteten Gesamtguthaben führen. Sie behalten die Mint-verbundenen Token, können sie jedoch erst einlösen, wenn Sie die Mint erneut hinzufügen.",
"checkProofsQ": "Sind Sie sicher, dass Sie alle Proofs überprüfen möchten?",
"checkProofsTxt": "Dadurch wird überprüft, ob Ihre Token ausgegeben werden können und werden andernfalls gelöscht.",
"editMintName": "Mint Name bearbeiten",
"addCustomName": "Benutzerdefinierten Namen hinzufügen"
},
"backup": {
"copyBackup": "Kopieren Sie den Token und bewahren Sie ihn an einem sicheren Ort."
},
"addrBook": {
"addOwnLnurl": "füge deine eigene LNURL hinzu",
"yourLnurl": "Deine LNURL",
"newContact": "Neuer Kontakt",
"editContact": "Kontakt bearbeiten",
"zapMeNow": "zap@mich.jetzt"
},
"english": "Englisch",
"german": "Deutsch",
"french": "Französisch",
"delHistory": "Transaktionsverlauf löschen",
"lnPayment": "Lightning Zahlung",
"lnInvoice": "Lightning Rechnung",
"ecashPayment": "Ecash Zahlung",
"trustMint": "Möchten Sie dieser Mint vertrauen",
"notClaim": "Wenn Sie \"Nein\" wählen, wird der Token nicht beansprucht",
"contact_one": "Kontakt",
"contact_other": "Kontakte",
"getStarted": "Loslegen",
"startHint": "Sie sollten eine Mint hinzufügen, der Sie vertrauen, bevor Sie Token senden oder empfangen.",
"willDoLater": "Mache ich später"
}
Loading

0 comments on commit fa92dd7

Please sign in to comment.