onboarding translation 3
This commit is contained in:
parent
c62c63f064
commit
c04416ae0e
|
@ -33,6 +33,7 @@
|
||||||
"openThisChest": "Open this chest",
|
"openThisChest": "Open this chest",
|
||||||
"createChest": "Create a new chest",
|
"createChest": "Create a new chest",
|
||||||
"importChest": "Import a chest",
|
"importChest": "Import a chest",
|
||||||
|
"selectMyChest": "Select my chest",
|
||||||
"accessMyChest": "Access my chest",
|
"accessMyChest": "Access my chest",
|
||||||
"manageMembership": "Manage my membership",
|
"manageMembership": "Manage my membership",
|
||||||
"chooseThisWallet": "Choose this wallet",
|
"chooseThisWallet": "Choose this wallet",
|
||||||
|
@ -59,7 +60,51 @@
|
||||||
"gecko_also_can_forget.png": "gecko_also_can_forget_en.png",
|
"gecko_also_can_forget.png": "gecko_also_can_forget_en.png",
|
||||||
"didYouNoteMnemonicToBeSureTypeWord": "Did you write down your menmonic?\n\n To be sure, please type the **{}th word** of your restoration phrase in the field below:",
|
"didYouNoteMnemonicToBeSureTypeWord": "Did you write down your menmonic?\n\n To be sure, please type the **{}th word** of your restoration phrase in the field below:",
|
||||||
"geckoWillGenerateAPassword": "Gecko will now generate for you a short password that will allow you to quickly access your wallets, without having to type your recovery sentence every time.",
|
"geckoWillGenerateAPassword": "Gecko will now generate for you a short password that will allow you to quickly access your wallets, without having to type your recovery sentence every time.",
|
||||||
"myPassword": "My password"
|
"myPassword": "My password",
|
||||||
|
"thisPasswordProtectsYourWalletsInASecureChest": "This secret code protects your wallets in a safe **which only you have the code for**, so that your wallets cannot be used by others.",
|
||||||
|
"hereIsThePasswordKeepIt": "And here is your password!\n\nMemorize it or write it down, because you will be asked **every time** you want to make a payment on this device.",
|
||||||
|
"chooseAnotherPassword": "Choose an other password",
|
||||||
|
"iNotedMyPassword": "I noted my password",
|
||||||
|
"geckoWillCheckPassword": "Gecko will check with you if you have remembered your secret code.\n\n Type your secret code in the field below to check that you have written it down correctly.",
|
||||||
|
"yourChestAndWalletWereCreatedSuccessfully": "Super!\n\nYour chest and your first portfolio have been created with great success.\n\nCongratulations!",
|
||||||
|
"allGood": "That's all good!",
|
||||||
|
"areYouSureToDeleteWallet": "Are you sure you want to delete the chest \"{}\"?",
|
||||||
|
"areYouSureForgetAllChests": "Are you sure you want to forget all your chests?",
|
||||||
|
"areYouSureToForgetWallet": "Are you sure you wan to forget the wallet \"{}\"?",
|
||||||
|
"areYouSureYouWantToCertify": "Are you sure you want to certify the address:\n\n{}",
|
||||||
|
"yes": "Yes",
|
||||||
|
"no": "No",
|
||||||
|
"keepYourMnemonicSecret": "Try to keep this phrase a secret, as it allows anyone who knows it to access all your wallets.",
|
||||||
|
"iGeneratedYourMnemonicKeepItSecret": "I've generated your restoration phrase!\n Try to keep it a secret, as it allows anyone who knows it to access all your portfolios.",
|
||||||
|
"myMnemonic": "My mnemonic",
|
||||||
|
"close": "Close",
|
||||||
|
"toRestoreEnterMnemonic": "To restore your Gecko wallets, enter in the fields below the 12 words that constitute your restoration phrase:",
|
||||||
|
"pasteFromClipboard": "Paste from\nclipboard",
|
||||||
|
"restoreAChest": "Restore a chest",
|
||||||
|
"restoreThisChest": "Restore this chest",
|
||||||
|
"continue": "Continue",
|
||||||
|
"itsTheGoodWord": "It's the good word!",
|
||||||
|
"nthMnemonicWord": "word of your mnemonic",
|
||||||
|
"1th": "First",
|
||||||
|
"2th": "Second",
|
||||||
|
"3th": "Third",
|
||||||
|
"4th": "Fourth",
|
||||||
|
"5th": "Fifth",
|
||||||
|
"6th": "Sixth",
|
||||||
|
"7th": "Seventh",
|
||||||
|
"8th": "Eighth",
|
||||||
|
"9th": "Ninth",
|
||||||
|
"10th": "Tenth",
|
||||||
|
"11th": "Eleventh",
|
||||||
|
"12th": "Twelfth",
|
||||||
|
"yourPasswordLengthIsX": "Your password length is {}",
|
||||||
|
"noIdentity": "No identity",
|
||||||
|
"identityCreated": "Identity created",
|
||||||
|
"identityConfirmed": "Identity confirmed",
|
||||||
|
"identityExpired": "Identity expired",
|
||||||
|
"confirmYourIdentity": "Confirm your identity"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -60,6 +60,47 @@
|
||||||
"gecko_also_can_forget.png": "gecko_also_can_forget_fr.png",
|
"gecko_also_can_forget.png": "gecko_also_can_forget_fr.png",
|
||||||
"didYouNoteMnemonicToBeSureTypeWord": "Avez-vous bien noté votre phrase de restauration ?\n\nPour en être sûr, veuillez taper dans le champ ci-dessous le **{}ème mot** de votre phrase de restauration :",
|
"didYouNoteMnemonicToBeSureTypeWord": "Avez-vous bien noté votre phrase de restauration ?\n\nPour en être sûr, veuillez taper dans le champ ci-dessous le **{}ème mot** de votre phrase de restauration :",
|
||||||
"geckoWillGenerateAPassword": "Gecko va maintenant générer pour vous un code secret court qui vous permettra d’accéder rapidement à vos portefeuilles, sans avoir à taper votre phrase de restauration à chaque fois.",
|
"geckoWillGenerateAPassword": "Gecko va maintenant générer pour vous un code secret court qui vous permettra d’accéder rapidement à vos portefeuilles, sans avoir à taper votre phrase de restauration à chaque fois.",
|
||||||
"myPassword": "Mon code secret"
|
"myPassword": "Mon code secret",
|
||||||
|
"thisPasswordProtectsYourWalletsInASecureChest": "Ce code secret protège vos portefeuilles dans un coffre-fort **dont vous seul possédez le code**, de sorte que vos portefeuilles seront inutilisables par d’autres.",
|
||||||
|
"hereIsThePasswordKeepIt": "Et voilà votre code secret !\n\nMémorisez-le ou notez-le, car il vous sera demandé **à chaque fois** que vous voudrez effectuer un paiement sur cet appareil.",
|
||||||
|
"chooseAnotherPassword": "Choisir un autre code secret",
|
||||||
|
"iNotedMyPassword": "J'ai noté mon code secret",
|
||||||
|
"geckoWillCheckPassword": "Gecko va vérifier avec vous si vous avez bien mémorisé votre code secret.\n\nTapez votre code secret dans le champ ci-dessous pour vérifier que vous l’avez bien noté.",
|
||||||
|
"yourChestAndWalletWereCreatedSuccessfully": "Top !\n\nVotre coffre votre premier portefeuille ont été créés avec un immense succès.\n\nFélicitations !",
|
||||||
|
"allGood": "C’est tout bon !",
|
||||||
|
"areYouSureToDeleteWallet": "Êtes-vous sûr de vouloir supprimer le coffre \"{}\" ?",
|
||||||
|
"areYouSureForgetAllChests": "Êtes-vous sûr de vouloir oublier tous vos coffres ?",
|
||||||
|
"areYouSureToForgetWallet": "Êtes-vous sûr de vouloir oublier le portefeuille \"{}\" ?",
|
||||||
|
"areYouSureYouWantToCertify": "Êtes-vous certain de vouloir certifier l'adresse:\n\n{}",
|
||||||
|
"yes": "Oui",
|
||||||
|
"no": "Non",
|
||||||
|
"keepYourMnemonicSecret": "Tâchez de garder cette phrase bien secrète, car elle permet à quiconque la connaît d’accéder à tous vos portefeuilles.",
|
||||||
|
"iGeneratedYourMnemonicKeepItSecret": "J’ai généré votre phrase de restauration !\nTâchez de la garder bien secrète, car elle permet à quiconque la connaît d’accéder à tous vos portefeuilles.",
|
||||||
|
"myMnemonic": "Ma phrase de restauration",
|
||||||
|
"close": "Fermer",
|
||||||
|
"toRestoreEnterMnemonic": "Pour restaurer vos portefeuilles Gecko, rentrez dans les champs ci-dessous les 12 mots qui constituent votre phrase de restauration :",
|
||||||
|
"pasteFromClipboard": "Coller depuis le\npresse-papier",
|
||||||
|
"restoreAChest": "Restaurer un coffre",
|
||||||
|
"restoreThisChest": "Restaurer ce coffre",
|
||||||
|
"continue": "Continuer",
|
||||||
|
"itsTheGoodWord": "C'est le bon mot !",
|
||||||
|
"nthMnemonicWord": "mot de votre phrase de restauration",
|
||||||
|
"1th": "Premier",
|
||||||
|
"2th": "Deuxième",
|
||||||
|
"3th": "Troisième",
|
||||||
|
"4th": "Quatrième",
|
||||||
|
"5th": "Cinquième",
|
||||||
|
"6th": "Sixième",
|
||||||
|
"7th": "Septième",
|
||||||
|
"8th": "Huitième",
|
||||||
|
"9th": "Neuvième",
|
||||||
|
"10th": "Dixième",
|
||||||
|
"11th": "Onzième",
|
||||||
|
"12th": "Douzième",
|
||||||
|
"yourPasswordLengthIsX": "Votre code PIN fait {} caractères",
|
||||||
|
"noIdentity": "Aucune identité",
|
||||||
|
"identityCreated": "Identité créée",
|
||||||
|
"identityConfirmed": "Identité confirmée",
|
||||||
|
"identityExpired": "Identité expirée",
|
||||||
|
"confirmYourIdentity": "Confirmez votre identité"
|
||||||
}
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:gecko/globals.dart';
|
import 'package:gecko/globals.dart';
|
||||||
import 'package:gecko/models/chest_data.dart';
|
import 'package:gecko/models/chest_data.dart';
|
||||||
|
@ -55,17 +56,16 @@ class ChestProvider with ChangeNotifier {
|
||||||
barrierDismissible: true, // user must tap button!
|
barrierDismissible: true, // user must tap button!
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: Text(
|
title: Text('areYouSureToDeleteWallet'.tr(args: [_walletName!])),
|
||||||
'Êtes-vous sûr de vouloir supprimer le coffre "$_walletName" ?'),
|
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
TextButton(
|
TextButton(
|
||||||
child: const Text("Non", key: Key('cancelDeleting')),
|
child: Text("no".tr(), key: const Key('cancelDeleting')),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.pop(context, false);
|
Navigator.pop(context, false);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
TextButton(
|
TextButton(
|
||||||
child: const Text("Oui", key: Key('confirmDeleting')),
|
child: Text("yes".tr(), key: const Key('confirmDeleting')),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.pop(context, true);
|
Navigator.pop(context, true);
|
||||||
},
|
},
|
||||||
|
|
|
@ -120,18 +120,18 @@ class GenerateWalletsProvider with ChangeNotifier {
|
||||||
|
|
||||||
String? intToString(int _nbr) {
|
String? intToString(int _nbr) {
|
||||||
Map nbrToString = {};
|
Map nbrToString = {};
|
||||||
nbrToString[1] = 'Premier';
|
nbrToString[1] = '1th'.tr();
|
||||||
nbrToString[2] = 'Deuxième';
|
nbrToString[2] = '2th'.tr();
|
||||||
nbrToString[3] = 'Troisième';
|
nbrToString[3] = '3th'.tr();
|
||||||
nbrToString[4] = 'Quatrième';
|
nbrToString[4] = '4th'.tr();
|
||||||
nbrToString[5] = 'Cinquième';
|
nbrToString[5] = '5th'.tr();
|
||||||
nbrToString[6] = 'Sixième';
|
nbrToString[6] = '6th'.tr();
|
||||||
nbrToString[7] = 'Septième';
|
nbrToString[7] = '7th'.tr();
|
||||||
nbrToString[8] = 'Huitième';
|
nbrToString[8] = '8th'.tr();
|
||||||
nbrToString[9] = 'Neuvième';
|
nbrToString[9] = '9th'.tr();
|
||||||
nbrToString[10] = 'Dixième';
|
nbrToString[10] = '10th'.tr();
|
||||||
nbrToString[11] = 'Onzième';
|
nbrToString[11] = '11th'.tr();
|
||||||
nbrToString[12] = 'Douzième';
|
nbrToString[12] = '12th'.tr();
|
||||||
|
|
||||||
nbrWordAlpha = nbrToString[_nbr];
|
nbrWordAlpha = nbrToString[_nbr];
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'package:gecko/globals.dart';
|
import 'package:gecko/globals.dart';
|
||||||
|
@ -90,7 +91,7 @@ class MyWalletsProvider with ChangeNotifier {
|
||||||
log.w('DELETE ALL WALLETS ?');
|
log.w('DELETE ALL WALLETS ?');
|
||||||
|
|
||||||
final bool? _answer = await (confirmPopup(
|
final bool? _answer = await (confirmPopup(
|
||||||
context, 'Êtes-vous sûr de vouloir oublier tous vos coffres ?'));
|
context, 'areYouSureForgetAllChests'.tr()));
|
||||||
if (_answer!) {
|
if (_answer!) {
|
||||||
await walletBox.clear();
|
await walletBox.clear();
|
||||||
await chestBox.clear();
|
await chestBox.clear();
|
||||||
|
|
|
@ -47,8 +47,8 @@ class WalletOptionsProvider with ChangeNotifier {
|
||||||
|
|
||||||
Future<int> deleteWallet(context, WalletData wallet) async {
|
Future<int> deleteWallet(context, WalletData wallet) async {
|
||||||
SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
|
SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
|
||||||
final bool? _answer = await (confirmPopup(context,
|
final bool? _answer = await (confirmPopup(
|
||||||
'Êtes-vous sûr de vouloir oublier le portefeuille "${wallet.name}" ?'));
|
context, 'areYouSureToForgetWallet'.tr(args: [wallet.name!])));
|
||||||
|
|
||||||
if (_answer ?? false) {
|
if (_answer ?? false) {
|
||||||
//Check if balance is null
|
//Check if balance is null
|
||||||
|
@ -157,7 +157,7 @@ class WalletOptionsProvider with ChangeNotifier {
|
||||||
switch (snapshot.data.toString()) {
|
switch (snapshot.data.toString()) {
|
||||||
case 'noid':
|
case 'noid':
|
||||||
{
|
{
|
||||||
return _showText('Aucune identité');
|
return _showText('noIdentity'.tr());
|
||||||
}
|
}
|
||||||
case 'Created':
|
case 'Created':
|
||||||
{
|
{
|
||||||
|
@ -169,12 +169,12 @@ class WalletOptionsProvider with ChangeNotifier {
|
||||||
await validateIdentity(context);
|
await validateIdentity(context);
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
: _showText('Identité créé');
|
: _showText('identityCreated'.tr());
|
||||||
}
|
}
|
||||||
case 'ConfirmedByOwner':
|
case 'ConfirmedByOwner':
|
||||||
{
|
{
|
||||||
return isOwner
|
return isOwner
|
||||||
? _showText('Identité confirmé')
|
? _showText('identityConfirmed'.tr())
|
||||||
: _duniterIndexer.getNameByAddress(
|
: _duniterIndexer.getNameByAddress(
|
||||||
context,
|
context,
|
||||||
address,
|
address,
|
||||||
|
@ -203,7 +203,7 @@ class WalletOptionsProvider with ChangeNotifier {
|
||||||
|
|
||||||
case 'expired':
|
case 'expired':
|
||||||
{
|
{
|
||||||
return _showText('Identité expiré');
|
return _showText('identityExpired'.tr());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return SizedBox(
|
return SizedBox(
|
||||||
|
@ -231,10 +231,10 @@ class WalletOptionsProvider with ChangeNotifier {
|
||||||
barrierDismissible: true, // user must tap button!
|
barrierDismissible: true, // user must tap button!
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: const Text(
|
title: Text(
|
||||||
'Confirmez votre identité',
|
'confirmYourIdentity'.tr(),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: TextStyle(fontSize: 20, fontWeight: FontWeight.w500),
|
style: const TextStyle(fontSize: 20, fontWeight: FontWeight.w500),
|
||||||
),
|
),
|
||||||
content: SizedBox(
|
content: SizedBox(
|
||||||
height: 100,
|
height: 100,
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import 'package:dots_indicator/dots_indicator.dart';
|
import 'package:dots_indicator/dots_indicator.dart';
|
||||||
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_markdown/flutter_markdown.dart';
|
import 'package:flutter_markdown/flutter_markdown.dart';
|
||||||
import 'package:gecko/globals.dart';
|
import 'package:gecko/globals.dart';
|
||||||
|
@ -248,9 +249,9 @@ Future<bool?> confirmPopup(BuildContext context, String title) async {
|
||||||
children: [
|
children: [
|
||||||
TextButton(
|
TextButton(
|
||||||
key: const Key('confirmPopop'),
|
key: const Key('confirmPopop'),
|
||||||
child: const Text(
|
child: Text(
|
||||||
"Oui",
|
"yes".tr(),
|
||||||
style: TextStyle(
|
style: const TextStyle(
|
||||||
fontSize: 21,
|
fontSize: 21,
|
||||||
color: Color(0xffD80000),
|
color: Color(0xffD80000),
|
||||||
),
|
),
|
||||||
|
@ -261,9 +262,9 @@ Future<bool?> confirmPopup(BuildContext context, String title) async {
|
||||||
),
|
),
|
||||||
const SizedBox(width: 20),
|
const SizedBox(width: 20),
|
||||||
TextButton(
|
TextButton(
|
||||||
child: const Text(
|
child: Text(
|
||||||
"Non",
|
"no".tr(),
|
||||||
style: TextStyle(fontSize: 21),
|
style: const TextStyle(fontSize: 21),
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.pop(context, false);
|
Navigator.pop(context, false);
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import 'package:bubble/bubble.dart';
|
import 'package:bubble/bubble.dart';
|
||||||
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:gecko/globals.dart';
|
import 'package:gecko/globals.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
@ -43,15 +44,14 @@ class RestoreChest extends StatelessWidget {
|
||||||
genW.resetImportView();
|
genW.resetImportView();
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
}),
|
}),
|
||||||
title: const SizedBox(
|
title: SizedBox(
|
||||||
height: 22,
|
height: 22,
|
||||||
child: Text('Restaurer un coffre'),
|
child: Text('restoreAChest'.tr()),
|
||||||
)),
|
)),
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
child: Column(children: <Widget>[
|
child: Column(children: <Widget>[
|
||||||
SizedBox(height: isTall ? 30 : 15),
|
SizedBox(height: isTall ? 30 : 15),
|
||||||
bubbleSpeak(
|
bubbleSpeak('toRestoreEnterMnemonic'.tr()),
|
||||||
'Pour restaurer vos portefeuilles Gecko, rentrez dans les champs ci-dessous les 12 mots qui constituent votre phrase de restauration :'),
|
|
||||||
SizedBox(height: isTall ? 30 : 15),
|
SizedBox(height: isTall ? 30 : 15),
|
||||||
Column(children: <Widget>[
|
Column(children: <Widget>[
|
||||||
Row(
|
Row(
|
||||||
|
@ -112,10 +112,10 @@ class RestoreChest extends StatelessWidget {
|
||||||
await badMnemonicPopup(context);
|
await badMnemonicPopup(context);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: const Text(
|
child: Text(
|
||||||
'Restaurer ce coffre',
|
'restoreThisChest'.tr(),
|
||||||
style:
|
style: const TextStyle(
|
||||||
TextStyle(fontSize: 24, fontWeight: FontWeight.w600),
|
fontSize: 24, fontWeight: FontWeight.w600),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -137,16 +137,16 @@ class RestoreChest extends StatelessWidget {
|
||||||
genW.pasteMnemonic(context);
|
genW.pasteMnemonic(context);
|
||||||
},
|
},
|
||||||
child: Row(
|
child: Row(
|
||||||
children: const [
|
children: [
|
||||||
Icon(
|
const Icon(
|
||||||
Icons.content_paste_go,
|
Icons.content_paste_go,
|
||||||
size: 25,
|
size: 25,
|
||||||
),
|
),
|
||||||
SizedBox(width: 10),
|
const SizedBox(width: 10),
|
||||||
Text(
|
Text(
|
||||||
'Coller depuis le\npresse-papier',
|
'pasteFromClipboard'.tr(),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: TextStyle(
|
style: const TextStyle(
|
||||||
fontSize: 17, fontWeight: FontWeight.w400),
|
fontSize: 17, fontWeight: FontWeight.w400),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
@ -36,9 +36,9 @@ class ShowSeed extends StatelessWidget {
|
||||||
backgroundColor: backgroundColor,
|
backgroundColor: backgroundColor,
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
toolbarHeight: 60 * ratio,
|
toolbarHeight: 60 * ratio,
|
||||||
title: const SizedBox(
|
title: SizedBox(
|
||||||
height: 22,
|
height: 22,
|
||||||
child: Text('Ma phrase de restauration'),
|
child: Text('myMnemonic'.tr()),
|
||||||
)),
|
)),
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
child: Column(children: <Widget>[
|
child: Column(children: <Widget>[
|
||||||
|
@ -65,8 +65,7 @@ class ShowSeed extends StatelessWidget {
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
Column(children: [
|
Column(children: [
|
||||||
common.buildText(
|
common.buildText('keepYourMnemonicSecret'.tr()),
|
||||||
'Tâchez de garder cette phrase bien secrète, car elle permet à quiconque la connaît d’accéder à tous vos portefeuilles.'),
|
|
||||||
SizedBox(height: 35 * ratio),
|
SizedBox(height: 35 * ratio),
|
||||||
sentanceArray(context, _seed.data!.split(' ')),
|
sentanceArray(context, _seed.data!.split(' ')),
|
||||||
const SizedBox(height: 20),
|
const SizedBox(height: 20),
|
||||||
|
@ -132,7 +131,7 @@ class ShowSeed extends StatelessWidget {
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
},
|
},
|
||||||
child: Text(
|
child: Text(
|
||||||
'Fermer',
|
'close'.tr(),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 23 * ratio, fontWeight: FontWeight.w600),
|
fontSize: 23 * ratio, fontWeight: FontWeight.w600),
|
||||||
),
|
),
|
||||||
|
@ -233,11 +232,11 @@ class PrintWallet extends StatelessWidget {
|
||||||
backgroundColor: yellowC,
|
backgroundColor: yellowC,
|
||||||
foregroundColor: Colors.black,
|
foregroundColor: Colors.black,
|
||||||
toolbarHeight: 60 * ratio,
|
toolbarHeight: 60 * ratio,
|
||||||
title: const SizedBox(
|
title: SizedBox(
|
||||||
height: 22,
|
height: 22,
|
||||||
child: Text(
|
child: Text(
|
||||||
'Imprimer ma phrase de restauration',
|
'printMyMnemonic'.tr(),
|
||||||
style: TextStyle(fontWeight: FontWeight.w600),
|
style: const TextStyle(fontWeight: FontWeight.w600),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
@ -201,7 +201,8 @@ class UnlockingWallet extends StatelessWidget {
|
||||||
animationType: AnimationType.fade,
|
animationType: AnimationType.fade,
|
||||||
validator: (v) {
|
validator: (v) {
|
||||||
if (v!.length < _pinLenght) {
|
if (v!.length < _pinLenght) {
|
||||||
return "Votre code PIN fait $_pinLenght caractères";
|
return "yourPasswordLengthIsX"
|
||||||
|
.tr(args: [_pinLenght.toString()]);
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,8 +53,7 @@ class OnboardingStepTen extends StatelessWidget {
|
||||||
SizedBox(height: isTall ? 40 : 20),
|
SizedBox(height: isTall ? 40 : 20),
|
||||||
common.buildProgressBar(9),
|
common.buildProgressBar(9),
|
||||||
SizedBox(height: isTall ? 40 : 20),
|
SizedBox(height: isTall ? 40 : 20),
|
||||||
common.buildText(
|
common.buildText("geckoWillCheckPassword".tr()),
|
||||||
"Gecko va vérifier avec vous si vous avez bien mémorisé votre code secret.\n\nTapez votre code secret dans le champ ci-dessous pour vérifier que vous l’avez bien noté."),
|
|
||||||
SizedBox(height: isTall ? 80 : 20),
|
SizedBox(height: isTall ? 80 : 20),
|
||||||
Visibility(
|
Visibility(
|
||||||
visible: _generateWalletProvider.scanedWalletNumber != -1,
|
visible: _generateWalletProvider.scanedWalletNumber != -1,
|
||||||
|
@ -104,7 +103,7 @@ class OnboardingStepTen extends StatelessWidget {
|
||||||
),
|
),
|
||||||
const SizedBox(width: 8),
|
const SizedBox(width: 8),
|
||||||
Text(
|
Text(
|
||||||
'Garder ce code en mémoire 15 minutes',
|
'rememberPassword'.tr(),
|
||||||
style:
|
style:
|
||||||
TextStyle(fontSize: 16, color: Colors.grey[700]),
|
TextStyle(fontSize: 16, color: Colors.grey[700]),
|
||||||
),
|
),
|
||||||
|
@ -150,7 +149,7 @@ class OnboardingStepTen extends StatelessWidget {
|
||||||
animationType: AnimationType.fade,
|
animationType: AnimationType.fade,
|
||||||
validator: (v) {
|
validator: (v) {
|
||||||
if (v!.length < _pinLenght) {
|
if (v!.length < _pinLenght) {
|
||||||
return "Votre code PIN fait $_pinLenght caractères";
|
return "yourPasswordLengthIsX".tr(args: [_pinLenght.toString()]);
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,11 +20,11 @@ class OnboardingStepEleven extends StatelessWidget {
|
||||||
backgroundColor: backgroundColor,
|
backgroundColor: backgroundColor,
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
toolbarHeight: 60 * ratio,
|
toolbarHeight: 60 * ratio,
|
||||||
title: const SizedBox(
|
title: SizedBox(
|
||||||
height: 22,
|
height: 22,
|
||||||
child: Text(
|
child: Text(
|
||||||
'C’est tout bon !',
|
'allGood'.tr(),
|
||||||
style: TextStyle(fontWeight: FontWeight.w600),
|
style: const TextStyle(fontWeight: FontWeight.w600),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -32,8 +32,7 @@ class OnboardingStepEleven extends StatelessWidget {
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
child: Column(children: <Widget>[
|
child: Column(children: <Widget>[
|
||||||
const SizedBox(height: 40),
|
const SizedBox(height: 40),
|
||||||
common.buildText(
|
common.buildText("yourChestAndWalletWereCreatedSuccessfully".tr()),
|
||||||
"Top !\n\nVotre coffre votre premier portefeuille ont été créés avec un immense succès.\n\nFélicitations !"),
|
|
||||||
SizedBox(height: isTall ? 20 : 10),
|
SizedBox(height: isTall ? 20 : 10),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/onBoarding/gecko-clin.gif',
|
'assets/onBoarding/gecko-clin.gif',
|
||||||
|
|
|
@ -96,8 +96,9 @@ class OnboardingStepSix extends StatelessWidget {
|
||||||
color: Colors.grey[500],
|
color: Colors.grey[500],
|
||||||
fontWeight: FontWeight.w500),
|
fontWeight: FontWeight.w500),
|
||||||
labelText: _generateWalletProvider.isAskedWordValid
|
labelText: _generateWalletProvider.isAskedWordValid
|
||||||
? "C'est le bon mot !"
|
? "itsTheGoodWord".tr()
|
||||||
: "${_generateWalletProvider.nbrWordAlpha} mot de votre phrase de restauration",
|
: "${_generateWalletProvider.nbrWordAlpha} " +
|
||||||
|
"nthMnemonicWord".tr(),
|
||||||
fillColor: const Color(0xffeeeedd),
|
fillColor: const Color(0xffeeeedd),
|
||||||
filled: true,
|
filled: true,
|
||||||
contentPadding: const EdgeInsets.all(12),
|
contentPadding: const EdgeInsets.all(12),
|
||||||
|
@ -113,7 +114,7 @@ class OnboardingStepSix extends StatelessWidget {
|
||||||
alignment: Alignment.bottomCenter,
|
alignment: Alignment.bottomCenter,
|
||||||
child: nextButton(
|
child: nextButton(
|
||||||
context,
|
context,
|
||||||
'Continuer',
|
'continue'.tr(),
|
||||||
skipIntro
|
skipIntro
|
||||||
? const OnboardingStepNine()
|
? const OnboardingStepNine()
|
||||||
: const OnboardingStepSeven(),
|
: const OnboardingStepSeven(),
|
||||||
|
|
|
@ -31,7 +31,7 @@ class OnboardingStepEight extends StatelessWidget {
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
child: common.infoIntro(
|
child: common.infoIntro(
|
||||||
context,
|
context,
|
||||||
'Ce code secret protège vos portefeuilles dans un coffre-fort **dont vous seul possédez le code**, de sorte que vos portefeuilles seront inutilisables par d’autres.',
|
'thisPasswordProtectsYourWalletsInASecureChest'.tr(),
|
||||||
'coffre-fort-protege-les-portefeuilles.png',
|
'coffre-fort-protege-les-portefeuilles.png',
|
||||||
'>',
|
'>',
|
||||||
OnboardingStepNine(scanDerivation: scanDerivation),
|
OnboardingStepNine(scanDerivation: scanDerivation),
|
||||||
|
|
|
@ -46,7 +46,7 @@ class OnboardingStepNine extends StatelessWidget {
|
||||||
common.buildProgressBar(8),
|
common.buildProgressBar(8),
|
||||||
SizedBox(height: isTall ? 40 : 20),
|
SizedBox(height: isTall ? 40 : 20),
|
||||||
common.buildText(
|
common.buildText(
|
||||||
"Et voilà votre code secret !\n\nMémorisez-le ou notez-le, car il vous sera demandé **à chaque fois** que vous voudrez effectuer un paiement sur cet appareil.",
|
"hereIsThePasswordKeepIt".tr(),
|
||||||
20,
|
20,
|
||||||
true),
|
true),
|
||||||
const SizedBox(height: 100),
|
const SizedBox(height: 100),
|
||||||
|
@ -90,13 +90,13 @@ class OnboardingStepNine extends StatelessWidget {
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
_generateWalletProvider.changePinCode(reload: true);
|
_generateWalletProvider.changePinCode(reload: true);
|
||||||
},
|
},
|
||||||
child: Text("Choisir un autre code secret",
|
child: Text("chooseAnotherPassword".tr(),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 22 * ratio,
|
fontSize: 22 * ratio,
|
||||||
fontWeight: FontWeight.w600))),
|
fontWeight: FontWeight.w600))),
|
||||||
))),
|
))),
|
||||||
SizedBox(height: 22 * ratio),
|
SizedBox(height: 22 * ratio),
|
||||||
common.nextButton(context, "J'ai noté mon code secret",
|
common.nextButton(context, "iNotedMyPassword".tr(),
|
||||||
OnboardingStepTen(scanDerivation: scanDerivation), false),
|
OnboardingStepTen(scanDerivation: scanDerivation), false),
|
||||||
SizedBox(height: 35 * ratio),
|
SizedBox(height: 35 * ratio),
|
||||||
]),
|
]),
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:gecko/globals.dart';
|
import 'package:gecko/globals.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
@ -263,7 +264,7 @@ class TransactionInProgress extends StatelessWidget {
|
||||||
if (transType == 'pay') Navigator.pop(context);
|
if (transType == 'pay') Navigator.pop(context);
|
||||||
},
|
},
|
||||||
child: Text(
|
child: Text(
|
||||||
'Fermer',
|
'close'.tr(),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 23 * ratio,
|
fontSize: 23 * ratio,
|
||||||
fontWeight: FontWeight.w600),
|
fontWeight: FontWeight.w600),
|
||||||
|
|
|
@ -181,9 +181,13 @@ class WalletViewScreen extends StatelessWidget {
|
||||||
'assets/gecko_certify.png')),
|
'assets/gecko_certify.png')),
|
||||||
),
|
),
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
final bool? _result = await confirmPopup(
|
final bool? _result =
|
||||||
context,
|
await confirmPopup(
|
||||||
"Êtes-vous certain de vouloir certifier l'adresse:\n\n${getShortPubkey(pubkey!)}");
|
context,
|
||||||
|
"areYouSureYouWantToCertify".tr(
|
||||||
|
args: [
|
||||||
|
getShortPubkey(pubkey!)
|
||||||
|
]));
|
||||||
|
|
||||||
if (_result ?? false) {
|
if (_result ?? false) {
|
||||||
String? _pin;
|
String? _pin;
|
||||||
|
|
|
@ -161,7 +161,7 @@ void main() {
|
||||||
await driver!.getText(find.byValueKey(
|
await driver!.getText(find.byValueKey(
|
||||||
'step6',
|
'step6',
|
||||||
)),
|
)),
|
||||||
"J’ai généré votre phrase de restauration !\nTâchez de la garder bien secrète, car elle permet à quiconque la connaît d’accéder à tous vos portefeuilles.");
|
"iGeneratedYourMnemonicKeepItSecret".tr());
|
||||||
});
|
});
|
||||||
|
|
||||||
test('OnBoarding - Generate sentance and confirme it', (
|
test('OnBoarding - Generate sentance and confirme it', (
|
||||||
|
|
Loading…
Reference in New Issue