Translations

- added IT locale
- added some untranslated strings to locale conf files
- this is a first try run test, Doc? Marty
This commit is contained in:
atlasan 2023-01-31 15:24:13 +01:00
parent 9a4c1d602b
commit 5b561d52ae
8 changed files with 245 additions and 10 deletions

View File

@ -205,5 +205,10 @@
"memberAccountOf": "Account of {}",
"pasteAddress": "Paste address from\nclipboard",
"historyStart" :"Beginning of history",
"blockchainStart": "Beginning of the ĞDev"
"blockchainStart": "Beginning of the ĞDev",
"networkSettings": "Network Settings",
"displaySettings": "Display Settings",
"indexer": "Indexer",
"anAutoNodeChoosed": "A secure and valid node will be automatically used from a random list.",
"rootWallet": "Root Wallet"
}

View File

@ -206,5 +206,10 @@
"memberAccountOf": "Account of {}",
"pasteAddress": "Paste address from\nclipboard",
"historyStart" :"Beginning of history",
"blockchainStart": "Comienzo de la ĞDev"
"blockchainStart": "Comienzo de la ĞDev",
"networkSettings": "Parametros de red",
"displaySettings": "Parametros interficie",
"indexer": "Indexer",
"anAutoNodeChoosed": "Se usará automáticamente un nodo seguro y valido desde una lista aleatoria.",
"rootWallet": "Monedero raíz"
}

View File

@ -206,5 +206,10 @@
"memberAccountOf": "Compte de {}",
"pasteAddress": "Coller l'adresse depuis\nle presse-papier",
"historyStart" :"Début de l'historique",
"blockchainStart": "Début de la ĞDev"
"blockchainStart": "Début de la ĞDev",
"networkSettings": "Connectivité réseau",
"displaySettings": "Affichage",
"indexer": "Indexer",
"anAutoNodeChoosed": "Un noeud sûr et valide sera choisi automatiquement parmis une liste aléatoire.",
"rootWallet": "Portefeuille racine"
}

215
assets/translations/it.json Normal file
View File

@ -0,0 +1,215 @@
{
"searchWallet": "Cerca\nportafoglio",
"manageWallets": "Gestisci\nportafogli",
"scanQRCode": "Scannerizza un\ncodice QR",
"wellConnectedToNode": "Sei ben connesso al nodo\n{}",
"networkLost": "Rete persa...",
"noDuniterEndointAvailable": "Server non disponibile...",
"connectionPending": "Connessione in corso...",
"noLizard": "non ci sono lucertole ;-)",
"loading": "Caricando...",
"forgot_password.png": "forgot_password_es.png",
"warningForgotPassword": "In una catena di blocchi o blockchain, non ci sono procedure per recupero tramite email. Solo la tua frase di recupero puó permetterti di recuperare i tuoi Ğ1 in qualunque momento.",
"fastAppDescription": "L'applicazione di pagamento {}\npiú rapida che un rettile del Vietnam",
"createWallet": "Crea un portafoglio",
"restoreWallet": "Restaura miei portafogli",
"parameters": "Parametri",
"chooseAnotherMnemonic": "Scegli un'altra frase di recupero",
"iNotedMyMnemonic": "Ho annotato la mia frase di recupero",
"printMyMnemonic": "Stampa la mia frase di recupero",
"manageChest": "Configura questo scrigno",
"changeChest": "Cambia scrigno",
"GeckoChest": "Scrigno di Ğecko",
"toUnlockEnterPassword": "Per sbloccare il tuo scrigno, introduci la password, lontano da lucertole curiose:",
"rememberPassword": "Mantieni in memoria la mia password per 15 minuti",
"myRootWallet": "Il mio portafoglio principale",
"currentWallet": "Il mio scrigno attuale",
"wallet": "portafoglio",
"displayMnemonic": "Mostra la mia frase di recupero",
"changePassword": "Cambia la mia password",
"createDerivation": "Crea una nuova derivazione",
"createCustomDerivation": "Crea una nuova derivazione personalizzata",
"deleteChest": "Elimina questo scrigno",
"openThisChest": "Apri questo scrigno",
"createChest": "Crea un nuovo scrigno",
"importChest": "Importa uno scrigno",
"selectMyChest": "Seleziona scrigno",
"accessMyChest": "Accedi a scrigno",
"manageMembership": "Amministra affiliazione",
"chooseThisWallet": "Scegli questo portafoglio",
"thisWalletIsDefault": "portafoglio predefinito",
"defineWalletAsDefault": "Imposta come predefinito",
"displayActivity": "Visualizza attivitá",
"displayNActivity": "Visualizza\nattivitá",
"memberValidated": "Membro confermato!",
"copyAddress": "Copia\nl'indirizzo",
"copy": "Copia",
"thisAddressHasBeenCopiedToClipboard": "Questo indirizzo é stato copiato negli appunti",
"chooseWalletName": "Scegli un nuovo nome\nper il tuo portafoglio:",
"choosePassword": "Scegli una password casuale:",
"chooseDerivation": "Scegli una derivazione:",
"validate": "Valida",
"confirm": "Conferma",
"confirmPayment": "Conferma pagamento",
"GeckoGenerateYourWalletFromMnemonic": "Ğecko costruisce il tuo portafoglio da una **frase di recupero**. É come una mappa che permette ricostruire il tuo portafoglio.",
"keepThisMnemonicSecure": "Sii attento nel salvare e conservare questa frase, perché senza di essa Ğecko non potrá ricostruire il tuo portafoglio il giorno che cambierai dispositivo.",
"GeckoGeneratedYourMnemonicKeepItSecret": "Ğecko ha generato la tua frase di recupero! Mantienila segreta, perché chiunque che la sappia potrá accedere al tuo portafoglio.",
"newWallet": "Nuovo portafoglio",
"itsTimeToUseAPenAndPaper": "É il momento di prendere **carta e penna** per annotare la frase di recupero.",
"yourMnemonic": "la tua frase di recupero",
"gecko_also_can_forget.png": "gecko_also_can_forget_es.png",
"didYouNoteMnemonicToBeSureTypeWord": "Ti sei segnato bene la frase di recupero? Per assicurarcene, scrivi la **parola {}** della tua frase di recupero:",
"GeckoWillGenerateAPassword": "Ora Ğecko ti creerá una password corta che ti permetterá accedere rapidamente ai tuoi portafogli, senza dover ogni volta inserire la frase di recupero.",
"myPassword": "La mia password",
"thisPasswordProtectsYourWalletsInASecureChest": "Questa password protegge i tuo portafogli e uno scrigno **di cui solo tu hai accesso**, cosicché i tuoi portafogli non possano essere usati da altri.",
"hereIsThePasswordKeepIt": "Ecco la tua password!\n\nMemorizzala e annotala, perché Ğecko te la chiederá **ogni volta** che si voglia effettuare una pagamento da questo dispositivo.",
"chooseAnotherPassword": "Scegli un'altra password",
"iNotedMyPassword": "Ho annotato la password",
"GeckoWillCheckPassword": "Ğecko controllará insieme a te se ti ricordi la password. Scrivi la password per controllare che l'hai appuntata correttamente.",
"yourChestAndWalletWereCreatedSuccessfully": "Fantastico!\n\nIl tuo scrigno e il primo portafoglio sono stati creati con successo.\n\nCongratulazioni!",
"allGood": "Tutto bene!",
"areYouSureToDeleteWallet": "Sicuro che vuoi eliminare lo scrigno \"{}\"?",
"areYouSureForgetAllChests": "Sicuro che vuoi dimenticare tutti i tuoi scrigni?",
"areYouSureToForgetWallet": "Sicuro che vuoi dimenticare il tuo portafoglio \"{}\"?",
"areYouSureYouWantToCertify": "Sicuro che vuoi certificare l'indirizzo\n\n{}?",
"areYouSureYouWantToCertify1": "Sicuro che vuoi certificare l'identitá :",
"areYouSureYouWantToCertify2": " all'indirizzo :",
"yes": "Sí",
"no": "No",
"keepYourMnemonicSecret": "Cerca di mantenere questa frase di recupero segreta, essa permette a chiunque la conosca di accedere a tutti i tuoi portafogli.",
"iGeneratedYourMnemonicKeepItSecret": "La tua frase di recupero é stata creata!\nCerca di mantenere questa frase di recupero segreta, essa permette a chiunque la conosca di accedere a tutti i tuoi portafogli.",
"myMnemonic": "la mia frase di recupero",
"close": "Chiudi",
"toRestoreEnterMnemonic": "Per recuperare i tuoi portafogli Ğecko, introduci le 12 parole che compongono la tua frase di recupero:",
"pasteFromClipboard": "Incolla dagli\nappunti",
"restoreAChest": "Recupera uno scrigno",
"restoreThisChest": "Recupera questo scrigno",
"continue": "Continua",
"itsTheGoodWord": "É la parola corretta!",
"nthMnemonicWord": "parola della tua mnemotecnia",
"1th": "Prima",
"2th": "Seconda",
"3th": "Terza",
"4th": "Quarta",
"5th": "Quinta",
"6th": "Sesta",
"7th": "Settima",
"8th": "Ottava",
"9th": "Nona",
"10th": "Decima",
"11th": "Undicesima",
"12th": "Dodicesima",
"yourPasswordLengthIsX": "La lunghezza della tua password é {}",
"noIdentity": "Nessuna identitá",
"identityCreated": "Identitá creata",
"identityConfirmed": "Identitá confermata",
"identityExpired": "Identitá scaduta",
"confirmYourIdentity": "Conferma identitá",
"noDuniterNodeAvailableTryLater": "Non ci sono nodi Duniter disponibili, per favore, riprova piú tardi",
"youAreConnectedToNode": "Sei connesso al nodo",
"accountActivity": "Attivitá del conto",
"noNetworkNoHistory": "Lo stato della rete non lo permette\nmostra lo storico del conto",
"noDataToDisplay": "Non ci sono dati da mostrare.",
"noTransactionToDisplay": "Non ci sono transazioni da mostrare",
"month1": "Gennaio",
"month2": "Febbraio",
"month3": "Marzo",
"month4": "Aprile",
"month5": "Maggio",
"month6": "Giugno",
"month7": "Luglio",
"month8": "Agosto",
"month9": "Settembre",
"month10": "Ottobre",
"month11": "Novembre",
"month12": "Dicembre",
"today": "Oggi",
"yesterday": "Ieri",
"thisWeek": "Questa settimana",
"chestNotCompatibleMustReinstallGecko": "la versione dei tuoi scrigni non é compatibile con questa versione di Ğecko.\nTutti i tuoi scrigni saranno dimenticati, dovrai importarli di nuovo.",
"notConnectedToInternet": "Non connesso ad Internet",
"researchResults": "Risultati ricerca",
"resultsFor": "Risultati per ",
"forgetAllMyChests": "Dimentica tutti i miei scrigni",
"transaction": "Transazione",
"certification": "Certificazione",
"identityConfirm": "Conferma di identitá",
"revokeAdhesion": "Revocazione di adesione",
"strangeTransaction": "Transazione 'strana'",
"sending": "Inviando...",
"propagating": "Propagando...",
"validating": "Validando...",
"anErrorOccured": "Si é verificato un errore",
"24hbetweenCerts": "Bisogna aspettare 24 ore fra le certificazioni",
"canNotCertifySelf": "Non puoi certificare te stesso",
"nameAlreadyExist": "Nome giá in uso",
"2GDtoKeepAlive": "Devi mantenere almeno 2ĞD per mantenere il conto vivo",
"youHaveToFeedThisAccountBeforeUsing": "Devi incrementare il saldo\ndi questo conto prima di usarlo.",
"execTimeoutOver": "Tempo di esecuzione terminato",
"seeAWallet": "Vedi un portafoglio",
"mustWaitXBeforeCertify": "Devi aspettare\n{} prima di\ncertificare di nuovo",
"mustConfirmHisIdentity": "Questa persona deve confermare\nla sua identitá prima di essere certificata",
"canRenewCertInX": "Potrai rinnovare\nla certificazione\nin {}",
"executeATransfer": "Esegui una transazione",
"executeTheTransfer": "Esegui la transazione",
"doATransfer" : "Esegui una\ntransazione",
"seconds": "{} secondi",
"minutes": "{} minuti",
"hours": "{} ore {}",
"days": "{} giorni",
"months": "{} mesi",
"certify": "Certifica questa\nidentitá",
"from": "Da:",
"to": "A:",
"amount": "Importo:",
"choiceOfSourceWallet": "Scegli un portafoglio sorgente",
"extrinsicInProgress": "{} in corso",
"extrinsicValidated": "¡ {} validato !",
"fromMinus": "da",
"toMinus": "a",
"deleteThisWallet": "Elimina questo portafoglio",
"cancel": "Annulla",
"inBlockchainResult": "Nella blockchain {}",
"search": "Cerca una identitá\no un indirizzo",
"currencyNode": "Nodo {} :",
"contactsManagementWithNbr": "I miei contatti ({})",
"contactsManagement": "I miei contatti",
"noContacts": "Non ci sono contatti salvati",
"addContact": "Aggiungi\nun contatto",
"removeContact": "Elimina\nquesto contatto",
"derivationsScanProgress": "Scannerizzando l'indirizzo {}/{}",
"youAreOffline": "Disconnesso...",
"importG1v1": "Importa il conto antico da G1v1, versione precedente",
"selectDestWallet": "Seleziona un portafoglio di destinazione:",
"youMustWaitBeforeCashoutThisAccount": "Devi aspettare qualche minuto prima di migrare questo conto",
"thisAccountIsEmpty": "Questo conto é vuoto",
"youCannotMigrateIdentityToExistingIdentity": "Non si puó migrare un'identitá\na un conto che ne ha giá una",
"importOldAccount": "Importa conto precedente",
"enterCesiumId": "Inserisci la tua frase segreta di Cesium",
"enterCesiumPassword": "Inserisci la tua password di Cesium",
"migrateAccount": "Migra conto",
"migrateIdentity": "Migra identitá",
"identityMigration": "Migrazione dell'identitá",
"areYouSureMigrateIdentity": "Sei sicuro che vuoi permanentemente migrare l'identitá **{}** con saldo di **{}**?",
"someoneCreatedYourIdentity": "Qualcuno ha creato la tua {} identitá !",
"confirmMyIdentity": "Conferma la mia identitá",
"revokeMyIdentity": "Revoca la mia identitá",
"youCannotRevokeThisIdentity": "Non puoi revocare questa identitá fintanto che\nappartieni alla rete di forgiatori",
"showUdAmounts": "Mostra importi in DU",
"ud": "{}DU",
"chooseATargetWallet": "Scegli un portafoglio di destinazione",
"thisMnemonicHasBeenCopiedToClipboard": "Questo mnemonic é statocopiato negli appunti",
"smithCantMigrateIdentity":"Non puoi migrare questa identitá fintanto che\nappartieni alla rete di forgiatori",
"received": "Ricevuto",
"sent": "Inviato",
"createIdentity": "Crea una nuova \nidentitá",
"memberAccountOf": "Conto di {}",
"pasteAddress": "Incolla l'indirizzo \ndagli appunti",
"historyStart" :"Inizio della storia",
"blockchainStart": "Inizio di ĞDev",
"networkSettings": "Impostazioni di rete",
"displaySettings": "Impostazioni interfaccia",
"indexer": "Indexer",
"anAutoNodeChoosed": "Un nodo sicuro e valido sará automaticamente scelto da una lista casuale.",
"rootWallet": "Portafoglio radice"
}

View File

@ -100,7 +100,8 @@ Future<void> main() async {
supportedLocales: const [
Locale('en'),
Locale('fr'),
Locale('es')
Locale('es'),
Locale('it'),
],
path: 'assets/translations',
fallbackLocale: const Locale('en'),
@ -108,12 +109,13 @@ Future<void> main() async {
));
}));
} else {
log.i('Debug mode enabled: No sentry alerte');
log.i('Debug mode enabled: No sentry alert');
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
.then((_) {
runApp(EasyLocalization(
supportedLocales: const [Locale('en'), Locale('fr'), Locale('es')],
// test, force locale :: startLocale: Locale.fromSubtags(languageCode: 'it'),
supportedLocales: const [Locale('en'), Locale('fr'), Locale('es'), Locale('it'),],
path: 'assets/translations',
fallbackLocale: const Locale('en'),
child: const Gecko(),

View File

@ -271,6 +271,7 @@ class GenerateWalletsProvider with ChangeNotifier {
// Needed for bad encoding of UTF-8
word = word.replaceAll('é', '');
word = word.replaceAll('è', '');
// TODO: what about á à ó ò í ì ú ù ... ? make a function to clean data
int nbrMatch = 0;
if (bip39Words(appLang).contains(word.toLowerCase())) {
@ -291,6 +292,7 @@ class GenerateWalletsProvider with ChangeNotifier {
// Needed for bad encoding of UTF-8
word = word.replaceAll('é', '');
word = word.replaceAll('è', '');
// TODO: what about á à ó ò í ì ú ù ... ? make a function to clean data
if (!bip39Words(appLang).contains(word.toLowerCase())) {
isValid = false;
}

View File

@ -129,7 +129,7 @@ class _CustomDerivationState extends State<CustomDerivation> {
'${'wallet'.tr()} ${myWalletProvider.listWallets.last.number! + 2}';
if (dropdownValue == 'root') {
await myWalletProvider.generateRootWallet(
context, 'Portefeuille racine');
context, 'rootWallet'.tr());
} else {
await myWalletProvider.generateNewDerivation(
context,

View File

@ -33,7 +33,7 @@ class SettingsScreen extends StatelessWidget {
body: Column(children: <Widget>[
const SizedBox(height: 30),
Text(
'Connectivité réseau',
'networkSettings'.tr(),
style: TextStyle(color: Colors.grey[500], fontSize: 22),
),
const SizedBox(height: 20),
@ -42,7 +42,7 @@ class SettingsScreen extends StatelessWidget {
indexerEndpointSelection(context),
const SizedBox(height: 40),
Text(
'Affichage',
'displaySettings'.tr(),
style: TextStyle(color: Colors.grey[500], fontSize: 22),
),
const SizedBox(height: 20),
@ -297,7 +297,8 @@ class SettingsScreen extends StatelessWidget {
const SizedBox(width: 10),
const SizedBox(
width: 100,
child: Text('Indexer : '),
// child: Text('indexer'.tr()), // why translation does not work??
child: Text('Indexer'),
),
const Spacer(),
Icon(indexerEndpoint != '' ? Icons.check : Icons.close),