Skip to content

Commit

Permalink
added support to indo and german languages
Browse files Browse the repository at this point in the history
  • Loading branch information
coppolla committed Jul 9, 2023
1 parent 520e4a0 commit 92a2de2
Show file tree
Hide file tree
Showing 14 changed files with 239 additions and 31 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Framework: Flutter (>=3.3)

**Release:**

* Currently [`version v0.9.5`](https://github.com/sahharYoucef/alephium_wallet/releases/)
* Currently [`version v0.9.6`](https://github.com/sahharYoucef/alephium_wallet/releases/)

## Getting Started

Expand Down
18 changes: 9 additions & 9 deletions assets/icons/alephium_icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
170 changes: 170 additions & 0 deletions assets/translations/de.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
{
"dark": "Dunkel",
"light": "Klar",
"alephiumWallet": "Alephium-Geldbörse",
"wallet": "Geldbörse",
"mainAddress": "Hauptadresse",
"showMoreAddresses": "Weitere Adressen anzeigen",
"discreetMode": "Diskreter Modus",
"advancedMode": "Fortgeschrittener Modus",
"walletHome": "Home-Portfolio",
"transactions": "Transaktion",
"transaction": "Transaktion",
"walletAddresses": "Portfolio-Adressen",
"amountIsZero": "Betrag muss größer sein als {}",
"balanceIsZero": "Mangelhaftes Gleichgewicht",
"invalidAmount": "Geben Sie einen gültigen Betrag ein!",
"amountExceeded": "Der Betrag muss kleiner sein als {}",
"gasPriceExceeded": "Der Gaspreis muss größer sein als {}",
"minimalGasAmount": "Betrag muss größer sein als {}",
"invalidAddress": "Ungültige Adresse",
"selectToken": "Wählen Sie Token aus",
"gasAmount": "Gasmenge",
"gasPrice": "Benzinpreis",
"confirmed": "Bestätigt",
"pending": "Ausstehend",
"amount": "Menge",
"address": "Adresse",
"addresses": "Adressen",
"fee": "Kommission",
"apply": "Anwenden",
"tokens": "Token",
"token": "Token",
"addToken": "Token hinzufügen",
"tokensBalances": "Token-Guthaben",
"derivedAddresses": "Ein Wallet kann mehrere öffentliche Adressen haben, die von der Hauptadresse abgeleitet sind.",
"readOnlyDescription": "Sie können dieses Wallet mit Ihrem erweiterten öffentlichen Schlüssel als schreibgeschütztes Wallet zu anderen Wallet-Anwendungen hinzufügen. Es werden keine Geheimnisse weitergegeben.",
"displayPublicKey": "Öffentlichen Schlüssel anzeigen",
"displayMnemonicDescription": "Sie können Ihre Mnemonik (Startphrase, Papierschlüssel) anzeigen, falls Sie Ihr Backup verloren haben oder um zu bestätigen, dass Ihr Backup korrekt ist.",
"displayMnemonic": "Mnemonik anzeigen",
"walletSetting": "WalletSetting",
"deleteWallet": "Wallet löschen",
"deleteWalletDescription": "Bitte stellen Sie sicher, dass Sie Ihre Mnemonik gespeichert haben, bevor Sie diese Brieftasche löschen. Möchten Sie wirklich fortfahren?",
"close": "Schließen",
"confirm": "Er bestätigt",
"mnemonicSafe": "Bitte bewahren Sie diese Mnemonik sorgfältig auf.",
"next": "Nach Ihnen",
"walletMnemonic": "Mnemonische Geldbörse",
"index": "Index",
"group": "Gruppe",
"balance": "Stufen",
"copy": "Kopieren",
"QRscanner": "QR-Scanner",
"addContact": "Kontakt hinzufügen",
"updateContact": "Kontakt aktualisieren",
"addressesBook": "Adressbuch",
"firstName": "Stapelname",
"lastName": "Apellid",
"addNewAddress": "Neue Richtung hinzufügen",
"launchUrl": "URL starten",
"back": "rückwärts",
"lockedBalance": "Guthaben blockiert",
"addressCopied": "Adresse in Zwischenablage kopiert!",
"advancedOperations": "Erweiterte Operationen:",
"advancedOptions": "Erweiterte Optionen",
"advancedOperationsDescription": "Erweiterte Vorgänge sind erfahreneren Benutzern vorbehalten. Ein „normaler“ Benutzer sollte sie, wenn überhaupt, nicht sehr oft verwenden müssen.",
"consolidateUTXOs": "Konsolidieren Sie UTXOs",
"consolidateUTXOsDescription": "Konsolidieren (zusammenführen) Sie Ihre UTXOs zu einem.",
"generateOneAddress": "Generieren Sie eine Adresse pro Gruppe",
"minersOrDeFiUse": "Nützlich für Miner oder DeFi-Nutzung.",
"generateAddressDescription": "Standardadresse zum Senden von Transaktionen. Beachten Sie, dass {}... bei Aktivierung nicht mehr die Hauptadresse ist.",
"chooseWallet": "Wählen Sie die Wallet aus, von der aus Sie senden möchten",
"sendTo": "Senden an",
"title": "Titel",
"generateAddress": "Adresse generieren",
"generate": "Erzeugt",
"send": "Einreichen",
"check": "Verifizieren",
"receive": "Erhalten",
"details": "Einzelheiten",
"verifyMnemonic": "Mnemonik-Check",
"verifyMnemonicDescription": "Bitte tragen Sie das entsprechende Wort in den Index ein.",
"mnemonicIncorrect": "Die Mnemonik ist falsch",
"newWallet": "Neues Portemonnaie",
"newWalletDescription": "Erstellen Sie eine Wallet (Schlüssel und eine Adresse) aus einer zufällig generierten Mnemonik.",
"restoreWallet": "Wallet zurücksetzen",
"restoreWalletDescription": "Stellen Sie die Schlüssel und die Adresse einer Brieftasche aus einer mnemonischen Phrase wieder her.",
"enterMnemonic": "Geben Sie Ihre Mnemonik ein, um Ihr Wallet zurückzusetzen:",
"readOnlyWallet": "Nur-Lese-Wallet",
"readOnlyWalletDescription": "Fügen Sie eine Wallet-Adresse im schreibgeschützten Modus hinzu. Dadurch werden keine Geheimnisse auf diesem Gerät gespeichert.",
"enterAddressOrPublicKey": "Geben Sie Ihre öffentlichen Wallet-Adressen oder Ihren erweiterten öffentlichen Schlüssel ein, um das Wallet im schreibgeschützten Modus hinzuzufügen",
"walletName": "Wallet-Name",
"fromAddress": "von der Adresse",
"toAddress": "leiten",
"availableBalance": "Verfügbares Guthaben",
"sweep": "Fegen",
"sendTransaction": "Transaktion abschicken",
"max": "max",
"expectedFees": "Erwartete Gebühren",
"amountToSend": "Betrag zu senden",
"broughtBy": "Präsentiert bis {} 2022",
"licensedUnder": "Lizenz unten",
"socialLink": "Dieses Projekt ist",
"openSource": "Open Source",
"findHelpOn": "Finden Sie Hilfe unter",
"priceSource": "Alephium Price wird unterstützt von",
"currency": "Auswerten",
"network": "Netz",
"theme": "Thema",
"language": "Zunge",
"en": "Englisch",
"fr": "Französisch",
"es": "Spanisch",
"it": "Italienisch",
"de": "Deutsch",
"id": "indonesische",
"system": "System",
"license": "Lizenz",
"errorMessageGenericError": "Etwas ist schief gelaufen!",
"incomingAmounts": "Komm herein",
"outgoingAmounts": "Ausgehende Beträge",
"timestamp": "Zeitstempel",
"status": "Zustand",
"transactionDetails": "Transaktionsdetails",
"authToSend": "Lokale Authentifizierung",
"activateLocalAuthentication": "Aktivieren Sie die lokale Authentifizierung zum Senden von Transaktionen",
"authenticateToSendTransaction": "Melden Sie sich an, um die Transaktion zu senden",
"clear": "Klar",
"paste": "Paste",
"signer": "Unterzeichner",
"cancel": "Stornieren",
"save": "Speichern",
"pasteTxId": "Fügen Sie Ihre Transaktionsdetails ein",
"txIdFilled": "Transaktionsdetails ausgefüllt!",
"chooseAddress": "Adresse wählen",
"selectSignerAddress": "Wählen Sie die Wallet-Adresse aus, die Sie als Unterzeichner für die Transaktionsdetails verwenden möchten",
"signMultisigTx": "Unterzeichner der Transaktion",
"copySignature": "Unterschrift kopieren",
"signTransaction": "Transaktionssignatur",
"multisigWallet": "Multisign-Wallet",
"multisigWalletDescription": "Erstellen Sie ein Multisig-Adress-Wallet mit mehreren Schlüsseln",
"selectNofSigners": "Wählen Sie die Adresse der Anzahl der Unterzeichner aus",
"selectNofRequiredSigners": "Wählen Sie die erforderliche Signatur aus, um eine Transaktion zu validieren",
"signersErrorMessage": "Wählen Sie die Anzahl der benötigten Schlüssel und Unterzeichner!",
"requiredSignersErrorMessage": "Wählen Sie die Anzahl der benötigten Unterschriften!",
"multisigKeys": "Multisign-Schlüssel",
"addAddress": "Adresse hinzufügen",
"addPublicKey": "Öffentlichen Schlüssel hinzufügen",
"addPublicKeyDescription": "Fügen Sie den öffentlichen Schlüssel zur Liste hinzu, indem Sie qr scannen oder ihn aus der Zwischenablage oder einer vorhandenen Brieftasche einfügen",
"multisigKeysDescription": "Fügen Sie öffentliche Schlüsseladressen zur Verwendung als Unterzeichner aus Ihrem Multisig-Wallet hinzu:",
"multisigSafetyMsg": "Bitte bewahren Sie alle öffentlichen und privaten Schlüssel für die von Ihnen verwendeten Adressen sicher auf. Beachten Sie außerdem, dass die Reihenfolge dieser Adressen bei der Wiederherstellung Ihrer Adresse wichtig ist.",
"clipboardIconMsg": "Aus der Zwischenablage einfügen",
"QrIconMsg": "Scannen Sie den öffentlichen Schlüssel vom QR",
"selectKeyIconMsg": "Wählen Sie aus Ihren Geldbörsen",
"selectKeyDialogMessage": "Wählen Sie die Wallet aus, aus der Sie die Adresse hinzufügen möchten:",
"selectWallet": "Wählen Sie eine Wallet aus",
"waitRequiredSignature": "{} von {} Signaturen erforderlich",
"addressBookEmpty": "Das Adressbuch ist leer. Erstellen Sie eine neue Kontaktadresse",
"signersSettingButton": "Die Adressen der Unterzeichner, die zum Erstellen dieser Multisig-Wallet und ihrer öffentlichen Schlüssel in der richtigen Reihenfolge verwendet wurden",
"customNodeUrls": "Fügen Sie benutzerdefinierte Knoteneinstellungen hinzu",
"nodeHostUrl": "Knoten-Host-URL",
"invalidUrl": "Ungültiges URL-Format",
"explorerUrl": "explorerUrl",
"explorerApiUrl": "Explorer-APIhost-URL",
"verifyTransaction": "Transaktion überprüfen",
"invalidTransactionDetails": "Ungültige Transaktionsdetails!",
"name": "Name",
"symbol": "Symbol",
"totalSupply": "Gesamtangebot",
"decimals": "Dezimalstellen"
}
8 changes: 7 additions & 1 deletion assets/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@
"fr": "French",
"es": "Spanish",
"it": "Italian",
"de": "German",
"id": "Indonesian",
"system": "System",
"license": "License",
"errorMessageGenericError": "Something went wrong!",
Expand Down Expand Up @@ -160,5 +162,9 @@
"explorerUrl": "Explorer Url",
"explorerApiUrl": "Explorer Api host Url",
"verifyTransaction": "Verify transaction",
"invalidTransactionDetails": "invalid transaction details!"
"invalidTransactionDetails": "invalid transaction details!",
"name": "name",
"symbol": "symbol",
"totalSupply": "total supply",
"decimals": "decimals"
}
8 changes: 7 additions & 1 deletion assets/translations/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@
"fr": "Francés",
"es": "Español",
"it": "Italiano",
"de": "alemán",
"id": "Indonesio",
"system": "Sistema",
"license": "Licencia",
"errorMessageGenericError": "¡Algo salió mal!",
Expand Down Expand Up @@ -160,5 +162,9 @@
"explorerUrl": "explorerUrl",
"explorerApiUrl": "Explorer Apihost Url",
"verifyTransaction": "Verificar transacción",
"invalidTransactionDetails": "¡Detalles de transacción no válidos!"
"invalidTransactionDetails": "¡Detalles de transacción no válidos!",
"name": "nombre",
"symbol": "símbolo",
"totalSupply": "suministro total",
"decimals": "decimales"
}
8 changes: 7 additions & 1 deletion assets/translations/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@
"fr": "Français",
"es": "Espagnol",
"it": "Italien",
"de": "Allemand",
"id": "Indonésien",
"system": "Système",
"license": "Licence",
"errorMessageGenericError": "Quelque chose s'est mal passé !",
Expand Down Expand Up @@ -160,5 +162,9 @@
"explorerUrl": "explorerUrl",
"explorerApiUrl": "URL de l'explorateur Apihost",
"verifyTransaction": "Vérifier la transaction",
"invalidTransactionDetails": "détails de transaction invalides !"
"invalidTransactionDetails": "détails de transaction invalides !",
"name": "nom",
"symbol": "symbole",
"totalSupply": "offre totale",
"decimals": "décimales"
}
10 changes: 8 additions & 2 deletions assets/translations/id.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@
"fr": "Perancis",
"es": "Spanyol",
"it": "Italia",
"de": "Jerman",
"id": "Indonesia",
"system": "Sistem",
"license": "Lisensi",
"errorMessageGenericError": "Ada yang salah!",
Expand Down Expand Up @@ -160,5 +162,9 @@
"explorerUrl": "Penjelajah URL",
"explorerApiUrl": "Penjelajah api host Url",
"verifyTransaction": "Verifikasi transaksi",
"invalidTransactionDetails": "detail transaksi tidak valid!"
}
"invalidTransactionDetails": "detail transaksi tidak valid!",
"name": "nama",
"symbol": "simbol",
"totalSupply": "pasokan total",
"decimals": "desimal"
}
8 changes: 7 additions & 1 deletion assets/translations/it.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@
"fr": "Francese",
"es": "Spagnolo",
"it": "Italiano",
"de": "tedesco",
"id": "indonesiano",
"system": "Sistema",
"license": "Licenza",
"errorMessageGenericError": "Qualcosa è andato storto!",
Expand Down Expand Up @@ -160,5 +162,9 @@
"explorerUrl": "explorerUrl",
"explorerApiUrl": "URL dell'apihost di Explorer",
"verifyTransaction": "Verifica transazione",
"invalidTransactionDetails": "Dettagli della transazione non validi!"
"invalidTransactionDetails": "Dettagli della transazione non validi!",
"name": "nome",
"symbol": "simbolo",
"totalSupply": "offerta totale",
"decimals": "decimali"
}
10 changes: 6 additions & 4 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import 'package:alephium_wallet/storage/app_storage.dart';
import 'package:alephium_wallet/storage/base_db_helper.dart';
import 'package:alephium_wallet/storage/sqflite_database/sqflite_database.dart';
import 'package:alephium_wallet/utils/helpers.dart';
import 'package:alephium_wallet/utils/languages.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
Expand Down Expand Up @@ -69,10 +70,11 @@ void main() async {
],
child: EasyLocalization(
supportedLocales: [
Locale('en'),
Locale('fr'),
Locale('it'),
Locale('es'),
...languages.keys
.where(
(element) => element != "system",
)
.map((e) => Locale(e))
],
useOnlyLangCode: true,
fallbackLocale: Locale('en'),
Expand Down
3 changes: 2 additions & 1 deletion lib/routes/settings/settings_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class SettingsPage extends StatelessWidget {
height: 4,
),
Text(
"v0.9.5",
"v0.9.6",
style: Theme.of(context).textTheme.bodySmall,
),
const SizedBox(
Expand All @@ -57,6 +57,7 @@ class SettingsPage extends StatelessWidget {
Text(
"broughtBy".tr(args: ["Sahhar Youcef"]),
style: Theme.of(context).textTheme.bodyMedium,
textAlign: TextAlign.center,
),
RichText(
text: TextSpan(children: [
Expand Down
11 changes: 3 additions & 8 deletions lib/routes/settings/widgets/language_drop_down.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,13 @@ import 'package:alephium_wallet/utils/theme.dart';
import 'package:flutter/material.dart';
import 'package:easy_localization/easy_localization.dart';

import '../../../utils/languages.dart';

class LanguageDropDown extends StatelessWidget {
const LanguageDropDown({super.key});

@override
Widget build(BuildContext context) {
final _languages = {
"system": "",
"en": "English",
"fr": "Français",
"es": "Español",
"it": "Italiano"
};
return ButtonTheme(
alignedDropdown: true,
child: DropdownButtonFormField<String>(
Expand All @@ -42,7 +37,7 @@ class LanguageDropDown extends StatelessWidget {
),
value: AppStorage.instance.language,
items: [
..._languages
...languages
.map(
(key, value) => MapEntry(
key,
Expand Down
3 changes: 2 additions & 1 deletion lib/storage/app_storage.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:alephium_wallet/api/models/tokens.dart';
import 'package:alephium_wallet/api/utils/network.dart';
import 'package:alephium_wallet/utils/format.dart';
import 'package:alephium_wallet/utils/languages.dart';
import 'package:flutter/material.dart';
import 'package:hive_flutter/hive_flutter.dart';
import 'package:path_provider/path_provider.dart';
Expand Down Expand Up @@ -75,7 +76,7 @@ class AppStorage {
String get language {
var settings = Hive.box("settings");
var _language = settings.get("language");
if (_language == null) {
if (_language == null || !languages.keys.contains(_language)) {
language = _language = "en";
}
return _language;
Expand Down
Loading

0 comments on commit 92a2de2

Please sign in to comment.