translation 4
This commit is contained in:
parent
c04416ae0e
commit
87a6f444b3
|
@ -102,9 +102,51 @@
|
||||||
"identityCreated": "Identity created",
|
"identityCreated": "Identity created",
|
||||||
"identityConfirmed": "Identity confirmed",
|
"identityConfirmed": "Identity confirmed",
|
||||||
"identityExpired": "Identity expired",
|
"identityExpired": "Identity expired",
|
||||||
"confirmYourIdentity": "Confirm your identity"
|
"confirmYourIdentity": "Confirm your identity",
|
||||||
|
"noDuniterNodeAvailableTryLater": "No Duniter node available, please try again later",
|
||||||
|
"youAreConnectedToNode": "You are connected to node",
|
||||||
|
"accountActivity": "Account activity",
|
||||||
|
"noNetworkNoHistory": "Network state does not allow\nto display account history",
|
||||||
|
"noDataToDisplay": "No data to be displayed.",
|
||||||
|
"noTranscationToDisplay": "No transaction to display",
|
||||||
|
"month1": "January",
|
||||||
|
"month2": "February",
|
||||||
|
"month3": "March",
|
||||||
|
"month4": "April",
|
||||||
|
"month5": "May",
|
||||||
|
"month6": "June",
|
||||||
|
"month7": "July",
|
||||||
|
"month8": "August",
|
||||||
|
"month9": "September",
|
||||||
|
"month10": "October",
|
||||||
|
"month11": "November",
|
||||||
|
"month12": "December",
|
||||||
|
"today": "Today",
|
||||||
|
"yesterday": "Yesterday",
|
||||||
|
"thisWeek": "This week",
|
||||||
|
"chestNotCompatibleMustReinstallGecko": "The version of your safes is no longer compatible with this version of Ğecko.\nAll your safes will be forgotten, you must import them again.",
|
||||||
|
"notConnectedToInternet": "You are note connected to internet",
|
||||||
|
"researchResults": "Results of your research",
|
||||||
|
"resultsFor": "Results for ",
|
||||||
|
"forgetAllMyChests": "Forget all my chests",
|
||||||
|
"transaction": "Transaction",
|
||||||
|
"certification": "Certification",
|
||||||
|
"identityConfirm": "Identity confirmation",
|
||||||
|
"revokeAdhesion": "Adhesion revocation",
|
||||||
|
"strangeTransaction": "Strange transaction",
|
||||||
|
"sending": "Sending...",
|
||||||
|
"propagating": "Propagating...",
|
||||||
|
"validating": "Validating...",
|
||||||
|
"anErrorOccured": "An error occured",
|
||||||
|
"24hbetweenCerts": "You have to wait 24h between certs",
|
||||||
|
"canNotCertifySelf": "You can not certify yourself",
|
||||||
|
"nameAlreadyExist": "This name is already taken",
|
||||||
|
"2GDtoKeepAlive": "You have to keep at least 2ĞD to keep your account alive",
|
||||||
|
"youHaveToFeedThisAccountBeforeUsing": "You have to feed this account\nbefore using it.",
|
||||||
|
"execTimeoutOver": "Execution timeout is over",
|
||||||
|
"seeAWallet": "See a wallet",
|
||||||
|
"mustWaitXBeforeCertify": "You have to wait\n{} before\ncertifying again",
|
||||||
|
"canRenewCertInX": "You can renew\nthis certification\nin {}",
|
||||||
|
"executeATransfer": "Execute a transfer",
|
||||||
|
"executeTheTransfer": "Execute the transfer"
|
||||||
}
|
}
|
|
@ -102,5 +102,52 @@
|
||||||
"identityCreated": "Identité créée",
|
"identityCreated": "Identité créée",
|
||||||
"identityConfirmed": "Identité confirmée",
|
"identityConfirmed": "Identité confirmée",
|
||||||
"identityExpired": "Identité expirée",
|
"identityExpired": "Identité expirée",
|
||||||
"confirmYourIdentity": "Confirmez votre identité"
|
"confirmYourIdentity": "Confirmez votre identité",
|
||||||
|
"noResult": "Aucun résultat",
|
||||||
|
"noDuniterNodeAvailableTryLater": "Aucun noeud Duniter disponible, veuillez réessayer ultérieurement",
|
||||||
|
"youAreConnectedToNode": "Vous êtes connecté au noeud",
|
||||||
|
"accountActivity": "Activité du compte",
|
||||||
|
"noNetworkNoHistory": "L'état du réseau ne permet pas\nd'afficher l'historique du compte",
|
||||||
|
"noDataToDisplay": "Aucune donnée à afficher.",
|
||||||
|
"noTranscationToDisplay": "Aucune transaction à afficher",
|
||||||
|
"month1": "Janvier",
|
||||||
|
"month2": "Février",
|
||||||
|
"month3": "Mars",
|
||||||
|
"month4": "Avril",
|
||||||
|
"month5": "Mai",
|
||||||
|
"month6": "Juin",
|
||||||
|
"month7": "Juillet",
|
||||||
|
"month8": "Aout",
|
||||||
|
"month9": "Septembre",
|
||||||
|
"month10": "Octobre",
|
||||||
|
"month11": "Novembre",
|
||||||
|
"month12": "Décembre",
|
||||||
|
"today": "Aujourd'hui",
|
||||||
|
"yesterday": "Hier",
|
||||||
|
"thisWeek": "Cette semaine",
|
||||||
|
"chestNotCompatibleMustReinstallGecko": "La version de vos coffres n'est plus comptabile avec cette version de Ğecko.\nTous vos coffres vont être oubliés, vous devez les importer de nouveau.",
|
||||||
|
"notConnectedToInternet": "Vous n'êtes pas connecté à internet",
|
||||||
|
"researchResults": "Résultats de votre recherche",
|
||||||
|
"resultsFor": "Résultats pour ",
|
||||||
|
"forgetAllMyChests": "Oublier tous mes coffres",
|
||||||
|
"transaction": "Transaction",
|
||||||
|
"certification": "Certification",
|
||||||
|
"identityConfirm": "Confirmation d'identité",
|
||||||
|
"revokeAdhesion": "Révocation d'adhésion",
|
||||||
|
"strangeTransaction": "Transaction étrange",
|
||||||
|
"sending": "Envoi en cours...",
|
||||||
|
"propagating": "En cours de propagation...",
|
||||||
|
"validating": "En cours de validation...",
|
||||||
|
"anErrorOccured": "Une erreur s'est produite",
|
||||||
|
"24hbetweenCerts": "Vous devez attendre 24h entre chaque certification",
|
||||||
|
"canNotCertifySelf": "Vous ne pouvez pas vous certifier\nvous même ...",
|
||||||
|
"nameAlreadyExist": "Ce nom est déjà pris",
|
||||||
|
"2GDtoKeepAlive": "Vous devez garder au moins 2ĞD sur votre compte pour le garder actif",
|
||||||
|
"youHaveToFeedThisAccountBeforeUsing": "Vous devez alimenter ce compte avant\nde pouvoir l'utiliser",
|
||||||
|
"execTimeoutOver": "Le délais d'éxecution est dépassé",
|
||||||
|
"seeAWallet": "Voir un portefeuille",
|
||||||
|
"mustWaitXBeforeCertify": "Vous devez attendre\n{} avant\nde pouvoir certifier",
|
||||||
|
"canRenewCertInX": "Vous pourrez renouveller\ncette certification\ndans {}",
|
||||||
|
"executeATransfer": "Effectuer un virement",
|
||||||
|
"executeTheTransfer": "Effectuer le virement"
|
||||||
}
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:gecko/globals.dart';
|
import 'package:gecko/globals.dart';
|
||||||
|
@ -229,13 +230,13 @@ class DuniterIndexer with ChangeNotifier {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result.isLoading) {
|
if (result.isLoading) {
|
||||||
return const Text('Loading');
|
return Text('loading'.tr());
|
||||||
}
|
}
|
||||||
|
|
||||||
final List identities = result.data?['search_identity'] ?? [];
|
final List identities = result.data?['search_identity'] ?? [];
|
||||||
|
|
||||||
if (identities.isEmpty) {
|
if (identities.isEmpty) {
|
||||||
return const Text('Aucun résultat');
|
return Text('noResult'.tr());
|
||||||
}
|
}
|
||||||
|
|
||||||
int keyID = 0;
|
int keyID = 0;
|
||||||
|
|
|
@ -758,13 +758,13 @@ class AddressInfo {
|
||||||
void snackNode(BuildContext context, bool isConnected) {
|
void snackNode(BuildContext context, bool isConnected) {
|
||||||
String _message;
|
String _message;
|
||||||
if (!isConnected) {
|
if (!isConnected) {
|
||||||
_message =
|
_message = "noDuniterNodeAvailableTryLater".tr() +
|
||||||
"Aucun noeud Duniter disponible, veuillez réessayer ultérieurement:\n${configBox.get('endpoint').first}";
|
":\n${configBox.get('endpoint').first}";
|
||||||
} else {
|
} else {
|
||||||
SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
|
SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
|
||||||
|
|
||||||
_message =
|
_message = "youAreConnectedToNode".tr() +
|
||||||
"Vous êtes connecté au noeud\n${_sub.getConnectedEndpoint()!.split('//')[1]}";
|
"\n${_sub.getConnectedEndpoint()!.split('//')[1]}";
|
||||||
}
|
}
|
||||||
final snackBar = SnackBar(
|
final snackBar = SnackBar(
|
||||||
padding: const EdgeInsets.all(20),
|
padding: const EdgeInsets.all(20),
|
||||||
|
|
|
@ -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:gecko/models/queries_indexer.dart';
|
import 'package:gecko/models/queries_indexer.dart';
|
||||||
|
@ -9,7 +10,6 @@ import 'package:gecko/providers/wallets_profiles.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:gecko/screens/wallet_view.dart';
|
import 'package:gecko/screens/wallet_view.dart';
|
||||||
import 'package:graphql_flutter/graphql_flutter.dart';
|
import 'package:graphql_flutter/graphql_flutter.dart';
|
||||||
import 'package:intl/intl.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
// ignore: must_be_immutable
|
// ignore: must_be_immutable
|
||||||
|
@ -40,9 +40,9 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier {
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
toolbarHeight: 60 * ratio,
|
toolbarHeight: 60 * ratio,
|
||||||
title: const SizedBox(
|
title: SizedBox(
|
||||||
height: 22,
|
height: 22,
|
||||||
child: Text('Activité du compte'),
|
child: Text('accountActivity'.tr()),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
bottomNavigationBar: _homeProvider.bottomAppBar(context),
|
bottomNavigationBar: _homeProvider.bottomAppBar(context),
|
||||||
|
@ -57,12 +57,12 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier {
|
||||||
Provider.of<DuniterIndexer>(context, listen: false);
|
Provider.of<DuniterIndexer>(context, listen: false);
|
||||||
|
|
||||||
if (indexerEndpoint == '') {
|
if (indexerEndpoint == '') {
|
||||||
Column(children: const <Widget>[
|
Column(children: <Widget>[
|
||||||
SizedBox(height: 50),
|
const SizedBox(height: 50),
|
||||||
Text(
|
Text(
|
||||||
"L'état du réseau ne permet pas\nd'afficher l'historique du compte",
|
"noNetworkNoHistory".tr(),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: TextStyle(fontSize: 18),
|
style: const TextStyle(fontSize: 18),
|
||||||
)
|
)
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
@ -103,20 +103,20 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier {
|
||||||
|
|
||||||
if (result.hasException) {
|
if (result.hasException) {
|
||||||
log.e('Error Indexer: ' + result.exception.toString());
|
log.e('Error Indexer: ' + result.exception.toString());
|
||||||
return Column(children: const <Widget>[
|
return Column(children: <Widget>[
|
||||||
SizedBox(height: 50),
|
const SizedBox(height: 50),
|
||||||
Text(
|
Text(
|
||||||
"L'état du réseau ne permet pas\nd'afficher l'historique du compte",
|
"noNetworkNoHistory".tr(),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: TextStyle(fontSize: 18),
|
style: const TextStyle(fontSize: 18),
|
||||||
)
|
)
|
||||||
]);
|
]);
|
||||||
} else if (result.data == null) {
|
} else if (result.data == null) {
|
||||||
return Column(children: const <Widget>[
|
return Column(children: <Widget>[
|
||||||
SizedBox(height: 50),
|
const SizedBox(height: 50),
|
||||||
Text(
|
Text(
|
||||||
"Aucune donnée à afficher.",
|
"noDataToDisplay".tr(),
|
||||||
style: TextStyle(fontSize: 18),
|
style: const TextStyle(fontSize: 18),
|
||||||
)
|
)
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
@ -159,11 +159,11 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier {
|
||||||
Provider.of<DuniterIndexer>(context, listen: false);
|
Provider.of<DuniterIndexer>(context, listen: false);
|
||||||
|
|
||||||
return _duniterIndexer.transBC == null
|
return _duniterIndexer.transBC == null
|
||||||
? Column(children: const <Widget>[
|
? Column(children: <Widget>[
|
||||||
SizedBox(height: 50),
|
const SizedBox(height: 50),
|
||||||
Text(
|
Text(
|
||||||
"Aucune transaction à afficher.",
|
"noTransactionToDisplay".tr(),
|
||||||
style: TextStyle(fontSize: 18),
|
style: const TextStyle(fontSize: 18),
|
||||||
)
|
)
|
||||||
])
|
])
|
||||||
: Column(children: <Widget>[
|
: Column(children: <Widget>[
|
||||||
|
@ -202,19 +202,19 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier {
|
||||||
bool isYesterday = false;
|
bool isYesterday = false;
|
||||||
bool isThisWeek = false;
|
bool isThisWeek = false;
|
||||||
|
|
||||||
const Map<int, String> monthsInYear = {
|
final Map<int, String> monthsInYear = {
|
||||||
1: "Janvier",
|
1: "month1".tr(),
|
||||||
2: "Février",
|
2: "month2".tr(),
|
||||||
3: "Mars",
|
3: "month3".tr(),
|
||||||
4: "Avril",
|
4: "month4".tr(),
|
||||||
5: "Mai",
|
5: "month5".tr(),
|
||||||
6: "Juin",
|
6: "month6".tr(),
|
||||||
7: "Juillet",
|
7: "month7".tr(),
|
||||||
8: "Aout",
|
8: "month8".tr(),
|
||||||
9: "Septembre",
|
9: "month9".tr(),
|
||||||
10: "Octobre",
|
10: "month10".tr(),
|
||||||
11: "Novembre",
|
11: "month11".tr(),
|
||||||
12: "Décembre"
|
12: "month12".tr()
|
||||||
};
|
};
|
||||||
|
|
||||||
return Column(
|
return Column(
|
||||||
|
@ -243,18 +243,18 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier {
|
||||||
final yesterdayDate = DateTime(now.year, now.month, now.day - 1);
|
final yesterdayDate = DateTime(now.year, now.month, now.day - 1);
|
||||||
|
|
||||||
if (transactionDate == todayDate && !isTody) {
|
if (transactionDate == todayDate && !isTody) {
|
||||||
dateDelimiter = lastDateDelimiter = "Aujourd'hui";
|
dateDelimiter = lastDateDelimiter = "today".tr();
|
||||||
isTody = true;
|
isTody = true;
|
||||||
} else if (transactionDate == yesterdayDate && !isYesterday) {
|
} else if (transactionDate == yesterdayDate && !isYesterday) {
|
||||||
dateDelimiter = lastDateDelimiter = "Hier";
|
dateDelimiter = lastDateDelimiter = "yesterday".tr();
|
||||||
isYesterday = true;
|
isYesterday = true;
|
||||||
} else if (weekNumber(date) == weekNumber(now) &&
|
} else if (weekNumber(date) == weekNumber(now) &&
|
||||||
date.year == now.year &&
|
date.year == now.year &&
|
||||||
lastDateDelimiter != "Cette semaine" &&
|
lastDateDelimiter != "thisWeek".tr() &&
|
||||||
transactionDate != yesterdayDate &&
|
transactionDate != yesterdayDate &&
|
||||||
transactionDate != todayDate &&
|
transactionDate != todayDate &&
|
||||||
!isThisWeek) {
|
!isThisWeek) {
|
||||||
dateDelimiter = lastDateDelimiter = "Cette semaine";
|
dateDelimiter = lastDateDelimiter = "thisWeek".tr();
|
||||||
isThisWeek = true;
|
isThisWeek = true;
|
||||||
} else if (lastDateDelimiter != monthsInYear[date.month] &&
|
} else if (lastDateDelimiter != monthsInYear[date.month] &&
|
||||||
lastDateDelimiter != "${monthsInYear[date.month]} ${date.year}" &&
|
lastDateDelimiter != "${monthsInYear[date.month]} ${date.year}" &&
|
||||||
|
|
|
@ -112,8 +112,8 @@ class HomeScreen extends StatelessWidget {
|
||||||
// Check if versionData non compatible, drop everything
|
// Check if versionData non compatible, drop everything
|
||||||
if (walletBox.isNotEmpty &&
|
if (walletBox.isNotEmpty &&
|
||||||
walletBox.getAt(0)!.version! < dataVersion) {
|
walletBox.getAt(0)!.version! < dataVersion) {
|
||||||
await infoPopup(context,
|
await infoPopup(
|
||||||
"La version de vos coffres n'est plus comptabile avec cette version de Ğecko.\nTous vos coffres vont être oubliés, vous devez les importer de nouveau.");
|
context, "chestNotCompatibleMustReinstallGecko".tr());
|
||||||
await walletBox.clear();
|
await walletBox.clear();
|
||||||
await chestBox.clear();
|
await chestBox.clear();
|
||||||
await configBox.delete('defaultWallet');
|
await configBox.delete('defaultWallet');
|
||||||
|
@ -128,7 +128,7 @@ class HomeScreen extends StatelessWidget {
|
||||||
if (connectivityResult != ConnectivityResult.mobile &&
|
if (connectivityResult != ConnectivityResult.mobile &&
|
||||||
connectivityResult != ConnectivityResult.wifi) {
|
connectivityResult != ConnectivityResult.wifi) {
|
||||||
_homeProvider.changeMessage(
|
_homeProvider.changeMessage(
|
||||||
"Vous n'êtes pas connecté à internet", 0);
|
"notConnectedToInternet".tr(), 0);
|
||||||
_sub.nodeConnected = false;
|
_sub.nodeConnected = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,7 +140,7 @@ class HomeScreen extends StatelessWidget {
|
||||||
_sub.nodeConnected = false;
|
_sub.nodeConnected = false;
|
||||||
await _sub.sdk.api.setting.unsubscribeBestNumber();
|
await _sub.sdk.api.setting.unsubscribeBestNumber();
|
||||||
_homeProvider.changeMessage(
|
_homeProvider.changeMessage(
|
||||||
"Vous n'êtes pas connecté à internet", 0);
|
"notConnectedToInternet".tr(), 0);
|
||||||
_sub.reload();
|
_sub.reload();
|
||||||
} else {
|
} else {
|
||||||
await _sub.connectNode(ctx);
|
await _sub.connectNode(ctx);
|
||||||
|
|
|
@ -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';
|
||||||
|
@ -38,9 +39,9 @@ class SearchResultScreen extends StatelessWidget {
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
elevation: 1,
|
elevation: 1,
|
||||||
toolbarHeight: 60 * ratio,
|
toolbarHeight: 60 * ratio,
|
||||||
title: const SizedBox(
|
title: SizedBox(
|
||||||
height: 22,
|
height: 22,
|
||||||
child: Text('Résultats de votre recherche'),
|
child: Text('researchResults'.tr()),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
bottomNavigationBar: _homeProvider.bottomAppBar(context),
|
bottomNavigationBar: _homeProvider.bottomAppBar(context),
|
||||||
|
@ -59,8 +60,8 @@ class SearchResultScreen extends StatelessWidget {
|
||||||
color: Colors.grey[700],
|
color: Colors.grey[700],
|
||||||
),
|
),
|
||||||
children: <TextSpan>[
|
children: <TextSpan>[
|
||||||
const TextSpan(
|
TextSpan(
|
||||||
text: "Résultats pour ",
|
text: "resultsFor".tr(),
|
||||||
),
|
),
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: '"${_searchProvider.searchController.text}"',
|
text: '"${_searchProvider.searchController.text}"',
|
||||||
|
|
|
@ -98,9 +98,9 @@ class SettingsScreen extends StatelessWidget {
|
||||||
log.i('Oublier tous mes coffres');
|
log.i('Oublier tous mes coffres');
|
||||||
await _myWallets.deleteAllWallet(context);
|
await _myWallets.deleteAllWallet(context);
|
||||||
},
|
},
|
||||||
child: const Text(
|
child: Text(
|
||||||
'Oublier tous mes coffres',
|
'forgetAllMyChests'.tr(),
|
||||||
style: TextStyle(
|
style: const TextStyle(
|
||||||
fontSize: fontSize + 4,
|
fontSize: fontSize + 4,
|
||||||
color: Color(0xffD80000),
|
color: Color(0xffD80000),
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
|
|
|
@ -21,7 +21,7 @@ class SubstrateSandBox extends StatelessWidget {
|
||||||
toolbarHeight: 60 * ratio,
|
toolbarHeight: 60 * ratio,
|
||||||
title: const SizedBox(
|
title: const SizedBox(
|
||||||
height: 22,
|
height: 22,
|
||||||
child: Text('Substrate Sandbox'),
|
child: Text('⏳ Substrate Sandbox'),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
|
@ -36,12 +36,12 @@ class SubstrateSandBox extends StatelessWidget {
|
||||||
await _sub.connectNode(context);
|
await _sub.connectNode(context);
|
||||||
},
|
},
|
||||||
child: Text(
|
child: Text(
|
||||||
'Noeud connecté ?: ${_sub.nodeConnected} (${_sub.sdk.api.connectedNode?.endpoint})')),
|
'🌐 Noeud connecté ?: ${_sub.nodeConnected} (${_sub.sdk.api.connectedNode?.endpoint})')),
|
||||||
if (_sub.nodeConnected)
|
if (_sub.nodeConnected)
|
||||||
Text('Noeud "$currencyName", bloc N°${_sub.blocNumber}'),
|
Text('🏆 Noeud "$currencyName", bloc N°${_sub.blocNumber}'),
|
||||||
const SizedBox(height: 20),
|
const SizedBox(height: 20),
|
||||||
Row(children: [
|
Row(children: [
|
||||||
const Text('Liste des coffres:'),
|
const Text('💳 Liste des coffres:'),
|
||||||
const Spacer(),
|
const Spacer(),
|
||||||
InkWell(
|
InkWell(
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
|
@ -93,13 +93,13 @@ class SubstrateSandBox extends StatelessWidget {
|
||||||
addressInfo.address!,
|
addressInfo.address!,
|
||||||
2,
|
2,
|
||||||
_sub.keystorePassword.text),
|
_sub.keystorePassword.text),
|
||||||
child: const Text("Dériver"),
|
child: const Text("🏂 Dériver"),
|
||||||
)
|
)
|
||||||
])
|
])
|
||||||
]);
|
]);
|
||||||
}),
|
}),
|
||||||
const SizedBox(height: 20),
|
const SizedBox(height: 20),
|
||||||
const Text('Mot de passe du coffre:'),
|
const Text('🔒 Mot de passe du coffre:'),
|
||||||
TextField(
|
TextField(
|
||||||
controller: _sub.keystorePassword,
|
controller: _sub.keystorePassword,
|
||||||
obscureText: true,
|
obscureText: true,
|
||||||
|
@ -130,7 +130,7 @@ class SubstrateSandBox extends StatelessWidget {
|
||||||
}
|
}
|
||||||
: null,
|
: null,
|
||||||
child: const Text(
|
child: const Text(
|
||||||
'Importer depuis le presse-papier',
|
'📎 Importer depuis le presse-papier',
|
||||||
style: TextStyle(fontSize: 20),
|
style: TextStyle(fontSize: 20),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -149,7 +149,7 @@ class SubstrateSandBox extends StatelessWidget {
|
||||||
snack(context, 'Le mnemonic a été copié');
|
snack(context, 'Le mnemonic a été copié');
|
||||||
},
|
},
|
||||||
child: const Text(
|
child: const Text(
|
||||||
"Générer un mnemonic et le copier",
|
"🏦 Générer un mnemonic et le copier",
|
||||||
style: TextStyle(fontSize: 20),
|
style: TextStyle(fontSize: 20),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -161,7 +161,7 @@ class SubstrateSandBox extends StatelessWidget {
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const Text('--------'),
|
const Text('-〰️---〰️---〰️-'),
|
||||||
const SizedBox(height: 10),
|
const SizedBox(height: 10),
|
||||||
Text(_sub.debugConnection)
|
Text(_sub.debugConnection)
|
||||||
])
|
])
|
||||||
|
|
|
@ -40,44 +40,44 @@ class TransactionInProgress extends StatelessWidget {
|
||||||
switch (transType) {
|
switch (transType) {
|
||||||
case 'pay':
|
case 'pay':
|
||||||
{
|
{
|
||||||
_actionName = 'Transaction';
|
_actionName = 'transaction'.tr();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'cert':
|
case 'cert':
|
||||||
{
|
{
|
||||||
_actionName = 'Certification';
|
_actionName = 'certification'.tr();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'comfirmIdty':
|
case 'comfirmIdty':
|
||||||
{
|
{
|
||||||
_actionName = "Confirmation d'identité";
|
_actionName = "identityConfirm".tr();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'revokeIdty':
|
case 'revokeIdty':
|
||||||
{
|
{
|
||||||
_actionName = "Révocation d'adhésion";
|
_actionName = "revokeAdhesion".tr();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
_actionName = 'Transaction étrange';
|
_actionName = 'strangeTransaction'.tr();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (_result) {
|
switch (_result) {
|
||||||
case '':
|
case '':
|
||||||
{
|
{
|
||||||
_resultText = 'Envoi en cours ...';
|
_resultText = 'sending'.tr();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'Ready':
|
case 'Ready':
|
||||||
{
|
{
|
||||||
_resultText = 'En cours de propagation...';
|
_resultText = 'propagating'.tr();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'Broadcast':
|
case 'Broadcast':
|
||||||
{
|
{
|
||||||
_resultText = 'En cours de validation ...';
|
_resultText = 'validating'.tr();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -90,7 +90,7 @@ class TransactionInProgress extends StatelessWidget {
|
||||||
_resultText = '$_actionName validé !';
|
_resultText = '$_actionName validé !';
|
||||||
} else {
|
} else {
|
||||||
isValid = false;
|
isValid = false;
|
||||||
_resultText = "Une erreur s'est produite:\n";
|
_resultText = "anErrorOccured".tr() + ":\n";
|
||||||
final List _exceptionSplit = _result.split('Exception: ');
|
final List _exceptionSplit = _result.split('Exception: ');
|
||||||
String _exception;
|
String _exception;
|
||||||
if (_exceptionSplit.length > 1) {
|
if (_exceptionSplit.length > 1) {
|
||||||
|
@ -103,37 +103,33 @@ class TransactionInProgress extends StatelessWidget {
|
||||||
case 'cert.NotRespectCertPeriod':
|
case 'cert.NotRespectCertPeriod':
|
||||||
case 'identity.CreatorNotAllowedToCreateIdty':
|
case 'identity.CreatorNotAllowedToCreateIdty':
|
||||||
{
|
{
|
||||||
_resultText =
|
_resultText = "24hbetweenCerts".tr();
|
||||||
"Vous devez attendre 24h entre chaque certification";
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'cert.CannotCertifySelf':
|
case 'cert.CannotCertifySelf':
|
||||||
{
|
{
|
||||||
_resultText =
|
_resultText = "canNotCertifySelf".tr();
|
||||||
"Vous ne pouvez pas vous certifier\nvous même ...";
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'identity.IdtyNameAlreadyExist':
|
case 'identity.IdtyNameAlreadyExist':
|
||||||
{
|
{
|
||||||
_resultText = "Ce nom est déjà pris";
|
_resultText = "nameAlreadyExist".tr();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'balances.KeepAlive':
|
case 'balances.KeepAlive':
|
||||||
{
|
{
|
||||||
_resultText =
|
_resultText = "2GDtoKeepAlive".tr();
|
||||||
"Vous devez garder au moins 2ĞD sur votre compte pour le garder actif";
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case '1010: Invalid Transaction: Inability to pay some fees , e.g. account balance too low':
|
case '1010: Invalid Transaction: Inability to pay some fees , e.g. account balance too low':
|
||||||
{
|
{
|
||||||
_resultText =
|
_resultText = "youHaveToFeedThisAccountBeforeUsing".tr();
|
||||||
"Vous devez alimenter ce compte avant\nde pouvoir l'utiliser";
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'timeout':
|
case 'timeout':
|
||||||
{
|
{
|
||||||
_resultText += "Le délais d'éxecution est dépassé";
|
_resultText += "execTimeoutOver".tr();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -70,9 +70,9 @@ class WalletViewScreen extends StatelessWidget {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
title: const SizedBox(
|
title: SizedBox(
|
||||||
height: 22,
|
height: 22,
|
||||||
child: Text('Voir un portefeuille'),
|
child: Text('seeAWallet'.tr()),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
bottomNavigationBar: _homeProvider.bottomAppBar(context),
|
bottomNavigationBar: _homeProvider.bottomAppBar(context),
|
||||||
|
@ -137,6 +137,7 @@ class WalletViewScreen extends StatelessWidget {
|
||||||
final int _seconds = _durationSeconds.inSeconds;
|
final int _seconds = _durationSeconds.inSeconds;
|
||||||
final int _minutes = _durationSeconds.inMinutes;
|
final int _minutes = _durationSeconds.inMinutes;
|
||||||
|
|
||||||
|
// TODO translate timing
|
||||||
if (_seconds <= 0) {
|
if (_seconds <= 0) {
|
||||||
_duration = '0 secondes';
|
_duration = '0 secondes';
|
||||||
} else if (_seconds <= 60) {
|
} else if (_seconds <= 60) {
|
||||||
|
@ -260,7 +261,8 @@ class WalletViewScreen extends StatelessWidget {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"Vous devez attendre\n$_duration avant\nde pouvoir certifier",
|
"mustWaitXBeforeCertify"
|
||||||
|
.tr(args: [_duration.toString()]),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: buttonFontSize - 4,
|
fontSize: buttonFontSize - 4,
|
||||||
|
@ -290,7 +292,8 @@ class WalletViewScreen extends StatelessWidget {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"Vous pourrez renouveller\ncette certification\ndans $_duration",
|
"canRenewCertInX"
|
||||||
|
.tr(args: [_duration.toString()]),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: buttonFontSize - 4,
|
fontSize: buttonFontSize - 4,
|
||||||
|
@ -471,9 +474,9 @@ class WalletViewScreen extends StatelessWidget {
|
||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
const Text(
|
Text(
|
||||||
'Effectuer un virement',
|
'executeATransfer'.tr(),
|
||||||
style: TextStyle(
|
style: const TextStyle(
|
||||||
fontSize: 26, fontWeight: FontWeight.w700),
|
fontSize: 26, fontWeight: FontWeight.w700),
|
||||||
),
|
),
|
||||||
IconButton(
|
IconButton(
|
||||||
|
@ -681,9 +684,9 @@ class WalletViewScreen extends StatelessWidget {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
: null,
|
: null,
|
||||||
child: const Text(
|
child: Text(
|
||||||
'Effectuer le virement',
|
'executeTheTransfer'.tr(),
|
||||||
style: TextStyle(
|
style: const TextStyle(
|
||||||
fontSize: 20, fontWeight: FontWeight.w600),
|
fontSize: 20, fontWeight: FontWeight.w600),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
Loading…
Reference in New Issue