Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-78-Ethereum

 Conflicts:
	lib/src/screens/dashboard/widgets/balance_page.dart
	res/values/strings_ar.arb
	res/values/strings_bg.arb
	res/values/strings_cs.arb
	res/values/strings_de.arb
	res/values/strings_en.arb
	res/values/strings_es.arb
	res/values/strings_fr.arb
	res/values/strings_ha.arb
	res/values/strings_hi.arb
	res/values/strings_hr.arb
	res/values/strings_id.arb
	res/values/strings_it.arb
	res/values/strings_ja.arb
	res/values/strings_ko.arb
	res/values/strings_my.arb
	res/values/strings_nl.arb
	res/values/strings_pl.arb
	res/values/strings_pt.arb
	res/values/strings_ru.arb
	res/values/strings_th.arb
	res/values/strings_tr.arb
	res/values/strings_uk.arb
	res/values/strings_ur.arb
	res/values/strings_yo.arb
	res/values/strings_zh.arb
This commit is contained in:
OmarHatem 2023-07-12 02:02:50 +03:00
commit fa494af5ab
51 changed files with 476 additions and 322 deletions

View file

@ -86,4 +86,5 @@ abstract class ElectrumTransactionHistoryBase
void _update(ElectrumTransactionInfo transaction) => void _update(ElectrumTransactionInfo transaction) =>
transactions[transaction.id] = transaction; transactions[transaction.id] = transaction;
} }

View file

@ -14,6 +14,8 @@ abstract class TransactionHistoryBase<TransactionType extends TransactionInfo> {
void addMany(Map<String, TransactionType> transactions); void addMany(Map<String, TransactionType> transactions);
void clear() => transactions.clear();
// bool _isUpdating; // bool _isUpdating;
// @action // @action

View file

@ -24,4 +24,5 @@ abstract class MoneroTransactionHistoryBase
@override @override
void addMany(Map<String, MoneroTransactionInfo> transactions) => void addMany(Map<String, MoneroTransactionInfo> transactions) =>
this.transactions.addAll(transactions); this.transactions.addAll(transactions);
} }

View file

@ -5,6 +5,7 @@ import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/di.dart'; import 'package:cake_wallet/di.dart';
import 'package:cake_wallet/store/settings_store.dart'; import 'package:cake_wallet/store/settings_store.dart';
import 'package:cake_wallet/src/widgets/nav_bar.dart'; import 'package:cake_wallet/src/widgets/nav_bar.dart';
import 'package:cake_wallet/generated/i18n.dart';
enum AppBarStyle { regular, withShadow, transparent } enum AppBarStyle { regular, withShadow, transparent }
@ -58,7 +59,7 @@ abstract class BasePage extends StatelessWidget {
child: ButtonTheme( child: ButtonTheme(
minWidth: double.minPositive, minWidth: double.minPositive,
child: Semantics( child: Semantics(
label: 'Back', label: S.of(context).seed_alert_back,
child: TextButton( child: TextButton(
style: ButtonStyle( style: ButtonStyle(
overlayColor: MaterialStateColor.resolveWith( overlayColor: MaterialStateColor.resolveWith(

View file

@ -24,35 +24,40 @@ class ContactListPage extends BasePage {
@override @override
Widget? trailing(BuildContext context) { Widget? trailing(BuildContext context) {
return Container( return MergeSemantics(
width: 32.0, child: Container(
height: 32.0, width: 32.0,
decoration: BoxDecoration( height: 32.0,
shape: BoxShape.circle, decoration: BoxDecoration(
color: Theme.of(context) shape: BoxShape.circle,
color: Theme.of(context)
.accentTextTheme! .accentTextTheme!
.bodySmall! .bodySmall!
.color!), .color!),
child: Stack( child: Stack(
alignment: Alignment.center, alignment: Alignment.center,
children: <Widget>[ children: <Widget>[
Icon(Icons.add, Icon(Icons.add,
color: Theme.of(context).primaryTextTheme!.titleLarge!.color!, color: Theme.of(context).primaryTextTheme!.titleLarge!.color!,
size: 22.0), size: 22.0),
ButtonTheme( ButtonTheme(
minWidth: 32.0, minWidth: 32.0,
height: 32.0, height: 32.0,
child: TextButton( child: Semantics(
// FIX-ME: Style label: S.of(context).add,
//shape: CircleBorder(), child: TextButton(
onPressed: () async { // FIX-ME: Style
await Navigator.of(context) //shape: CircleBorder(),
.pushNamed(Routes.addressBookAddContact); onPressed: () async {
}, await Navigator.of(context)
child: Offstage()), .pushNamed(Routes.addressBookAddContact);
) },
], child: Offstage()),
)); ),
)
],
)),
);
} }
@override @override

View file

@ -111,7 +111,8 @@ class _DashboardPageView extends BasePage {
//splashColor: Colors.transparent, //splashColor: Colors.transparent,
//padding: EdgeInsets.all(0), //padding: EdgeInsets.all(0),
onPressed: () => onOpenEndDrawer(), onPressed: () => onOpenEndDrawer(),
child: Semantics(label: 'Menu', child: menuButton))); child: Semantics(
label: S.of(context).wallet_menu, child: menuButton)));
} }
final DashboardViewModel dashboardViewModel; final DashboardViewModel dashboardViewModel;
@ -248,7 +249,7 @@ class _DashboardPageView extends BasePage {
} }
if (dashboardViewModel.shouldShowMarketPlaceInDashboard) { if (dashboardViewModel.shouldShowMarketPlaceInDashboard) {
pages.add(Semantics( pages.add(Semantics(
label: 'Marketplace Page', label: S.of(context).market_place,
child: MarketPlacePage( child: MarketPlacePage(
dashboardViewModel: dashboardViewModel, dashboardViewModel: dashboardViewModel,
marketPlaceViewModel: getIt.get<MarketPlaceViewModel>(), marketPlaceViewModel: getIt.get<MarketPlaceViewModel>(),
@ -256,9 +257,9 @@ class _DashboardPageView extends BasePage {
), ),
); );
} }
pages.add(Semantics(label: 'Balance Page', child: balancePage)); pages.add(Semantics(label: S.of(context).balance_page, child: balancePage));
pages.add(Semantics( pages.add(Semantics(
label: 'Transactions Page', label: S.of(context).settings_transactions,
child: TransactionsPage(dashboardViewModel: dashboardViewModel))); child: TransactionsPage(dashboardViewModel: dashboardViewModel)));
_isEffectsInstalled = true; _isEffectsInstalled = true;

View file

@ -14,72 +14,75 @@ class DesktopDashboardActions extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Observer( return Container(
builder: (_) { color: Theme.of(context).colorScheme.background,
return Column( child: Observer(
children: [ builder: (_) {
const SizedBox(height: 16), return Column(
DesktopActionButton( children: [
title: MainActions.exchangeAction.name(context), const SizedBox(height: 16),
image: MainActions.exchangeAction.image, DesktopActionButton(
canShow: MainActions.exchangeAction.canShow?.call(dashboardViewModel), title: MainActions.exchangeAction.name(context),
isEnabled: MainActions.exchangeAction.isEnabled?.call(dashboardViewModel), image: MainActions.exchangeAction.image,
onTap: () async => await MainActions.exchangeAction.onTap(context, dashboardViewModel), canShow: MainActions.exchangeAction.canShow?.call(dashboardViewModel),
), isEnabled: MainActions.exchangeAction.isEnabled?.call(dashboardViewModel),
Row( onTap: () async => await MainActions.exchangeAction.onTap(context, dashboardViewModel),
children: [
Expanded(
child: DesktopActionButton(
title: MainActions.receiveAction.name(context),
image: MainActions.receiveAction.image,
canShow: MainActions.receiveAction.canShow?.call(dashboardViewModel),
isEnabled: MainActions.receiveAction.isEnabled?.call(dashboardViewModel),
onTap: () async =>
await MainActions.receiveAction.onTap(context, dashboardViewModel),
),
),
Expanded(
child: DesktopActionButton(
title: MainActions.sendAction.name(context),
image: MainActions.sendAction.image,
canShow: MainActions.sendAction.canShow?.call(dashboardViewModel),
isEnabled: MainActions.sendAction.isEnabled?.call(dashboardViewModel),
onTap: () async => await MainActions.sendAction.onTap(context, dashboardViewModel),
),
),
],
),
Row(
children: [
Expanded(
child: DesktopActionButton(
title: MainActions.buyAction.name(context),
image: MainActions.buyAction.image,
canShow: MainActions.buyAction.canShow?.call(dashboardViewModel),
isEnabled: MainActions.buyAction.isEnabled?.call(dashboardViewModel),
onTap: () async => await MainActions.buyAction.onTap(context, dashboardViewModel),
),
),
Expanded(
child: DesktopActionButton(
title: MainActions.sellAction.name(context),
image: MainActions.sellAction.image,
canShow: MainActions.sellAction.canShow?.call(dashboardViewModel),
isEnabled: MainActions.sellAction.isEnabled?.call(dashboardViewModel),
onTap: () async => await MainActions.sellAction.onTap(context, dashboardViewModel),
),
),
],
),
Expanded(
child: MarketPlacePage(
dashboardViewModel: dashboardViewModel,
marketPlaceViewModel: getIt.get<MarketPlaceViewModel>(),
), ),
), Row(
], children: [
); Expanded(
} child: DesktopActionButton(
title: MainActions.receiveAction.name(context),
image: MainActions.receiveAction.image,
canShow: MainActions.receiveAction.canShow?.call(dashboardViewModel),
isEnabled: MainActions.receiveAction.isEnabled?.call(dashboardViewModel),
onTap: () async =>
await MainActions.receiveAction.onTap(context, dashboardViewModel),
),
),
Expanded(
child: DesktopActionButton(
title: MainActions.sendAction.name(context),
image: MainActions.sendAction.image,
canShow: MainActions.sendAction.canShow?.call(dashboardViewModel),
isEnabled: MainActions.sendAction.isEnabled?.call(dashboardViewModel),
onTap: () async => await MainActions.sendAction.onTap(context, dashboardViewModel),
),
),
],
),
Row(
children: [
Expanded(
child: DesktopActionButton(
title: MainActions.buyAction.name(context),
image: MainActions.buyAction.image,
canShow: MainActions.buyAction.canShow?.call(dashboardViewModel),
isEnabled: MainActions.buyAction.isEnabled?.call(dashboardViewModel),
onTap: () async => await MainActions.buyAction.onTap(context, dashboardViewModel),
),
),
Expanded(
child: DesktopActionButton(
title: MainActions.sellAction.name(context),
image: MainActions.sellAction.image,
canShow: MainActions.sellAction.canShow?.call(dashboardViewModel),
isEnabled: MainActions.sellAction.isEnabled?.call(dashboardViewModel),
onTap: () async => await MainActions.sellAction.onTap(context, dashboardViewModel),
),
),
],
),
Expanded(
child: MarketPlacePage(
dashboardViewModel: dashboardViewModel,
marketPlaceViewModel: getIt.get<MarketPlaceViewModel>(),
),
),
],
);
}
),
); );
} }
} }

View file

@ -77,27 +77,21 @@ class DesktopSidebarWrapper extends BasePage {
SideMenuItem( SideMenuItem(
imagePath: 'assets/images/wallet_outline.png', imagePath: 'assets/images/wallet_outline.png',
isSelected: desktopSidebarViewModel.currentPage == SidebarItem.dashboard, isSelected: desktopSidebarViewModel.currentPage == SidebarItem.dashboard,
onTap: () => desktopSidebarViewModel.onPageChange(SidebarItem.dashboard), onTap: () {
desktopSidebarViewModel.onPageChange(SidebarItem.dashboard);
desktopNavigatorKey.currentState
?.pushNamedAndRemoveUntil(Routes.desktop_actions, (route) => false);
},
), ),
SideMenuItem( SideMenuItem(
onTap: () { onTap: () {
String? currentPath; if (desktopSidebarViewModel.currentPage == SidebarItem.transactions) {
desktopNavigatorKey.currentState
desktopNavigatorKey.currentState?.popUntil((route) { ?.pushNamedAndRemoveUntil(Routes.desktop_actions, (route) => false);
currentPath = route.settings.name; desktopSidebarViewModel.resetSidebar();
return true; } else {
}); desktopSidebarViewModel.onPageChange(SidebarItem.transactions);
desktopNavigatorKey.currentState?.pushNamed(Routes.transactionsPage);
switch (currentPath) {
case Routes.transactionsPage:
desktopSidebarViewModel.resetSidebar();
break;
default:
desktopSidebarViewModel.resetSidebar();
Future.delayed(Duration(milliseconds: 10), () {
desktopSidebarViewModel.onPageChange(SidebarItem.transactions);
desktopNavigatorKey.currentState?.pushNamed(Routes.transactionsPage);
});
} }
}, },
isSelected: desktopSidebarViewModel.currentPage == SidebarItem.transactions, isSelected: desktopSidebarViewModel.currentPage == SidebarItem.transactions,
@ -156,20 +150,11 @@ class DesktopSidebarWrapper extends BasePage {
void _setEffects() async { void _setEffects() async {
reaction<SidebarItem>((_) => desktopSidebarViewModel.currentPage, (page) { reaction<SidebarItem>((_) => desktopSidebarViewModel.currentPage, (page) {
String? currentPath; if (page == SidebarItem.dashboard) {
pageController.jumpToPage(0);
desktopNavigatorKey.currentState?.popUntil((route) {
currentPath = route.settings.name;
return true;
});
if (page == SidebarItem.transactions) {
return; return;
} }
pageController.jumpToPage(page.index - 1);
if (currentPath == Routes.transactionsPage) {
Navigator.of(desktopNavigatorKey.currentContext!).pop();
}
pageController.jumpToPage(page.index);
}); });
} }
} }

View file

@ -82,7 +82,9 @@ class AddressPage extends BasePage {
child: ButtonTheme( child: ButtonTheme(
minWidth: double.minPositive, minWidth: double.minPositive,
child: Semantics( child: Semantics(
label: !isMobileView ? 'Close' : 'Back', label: !isMobileView
? S.of(context).close
: S.of(context).seed_alert_back,
child: TextButton( child: TextButton(
style: ButtonStyle( style: ButtonStyle(
overlayColor: MaterialStateColor.resolveWith( overlayColor: MaterialStateColor.resolveWith(

View file

@ -2,6 +2,7 @@ import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/src/screens/exchange_trade/information_page.dart'; import 'package:cake_wallet/src/screens/exchange_trade/information_page.dart';
import 'package:cake_wallet/store/settings_store.dart'; import 'package:cake_wallet/store/settings_store.dart';
import 'package:cake_wallet/themes/theme_base.dart'; import 'package:cake_wallet/themes/theme_base.dart';
import 'package:cake_wallet/utils/feature_flag.dart';
import 'package:cake_wallet/utils/responsive_layout_util.dart'; import 'package:cake_wallet/utils/responsive_layout_util.dart';
import 'package:cake_wallet/utils/show_pop_up.dart'; import 'package:cake_wallet/utils/show_pop_up.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -17,9 +18,6 @@ class BalancePage extends StatelessWidget {
final DashboardViewModel dashboardViewModel; final DashboardViewModel dashboardViewModel;
final SettingsStore settingsStore; final SettingsStore settingsStore;
Color get backgroundLightColor =>
settingsStore.currentTheme.type == ThemeType.bright ? Colors.transparent : Colors.white;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return GestureDetector( return GestureDetector(
@ -70,7 +68,7 @@ class BalancePage extends StatelessWidget {
), ),
Observer( Observer(
builder: (_) { builder: (_) {
if (dashboardViewModel.balanceViewModel.isShowCard) { if (dashboardViewModel.balanceViewModel.isShowCard && FeatureFlag.isCakePayEnabled) {
return IntroducingCard( return IntroducingCard(
title: S.of(context).introducing_cake_pay, title: S.of(context).introducing_cake_pay,
subTitle: S.of(context).cake_pay_learn_more, subTitle: S.of(context).cake_pay_learn_more,

View file

@ -52,7 +52,10 @@ class MarketPlacePage extends StatelessWidget {
children: <Widget>[ children: <Widget>[
SizedBox(height: 20), SizedBox(height: 20),
DashBoardRoundedCardWidget( DashBoardRoundedCardWidget(
onTap: () => _navigatorToGiftCardsPage(context), onTap: () => launchUrl(
Uri.parse("https://cakelabs.com/news/cake-pay-mobile-to-shut-down/"),
mode: LaunchMode.externalApplication,
),
title: S.of(context).cake_pay_title, title: S.of(context).cake_pay_title,
subTitle: S.of(context).cake_pay_subtitle, subTitle: S.of(context).cake_pay_subtitle,
), ),
@ -75,6 +78,7 @@ class MarketPlacePage extends StatelessWidget {
); );
} }
// TODO: Remove ionia flow/files if we will discard it
void _navigatorToGiftCardsPage(BuildContext context) { void _navigatorToGiftCardsPage(BuildContext context) {
final walletType = dashboardViewModel.type; final walletType = dashboardViewModel.type;

View file

@ -126,7 +126,9 @@ class ExchangePage extends BasePage {
child: ButtonTheme( child: ButtonTheme(
minWidth: double.minPositive, minWidth: double.minPositive,
child: Semantics( child: Semantics(
label: !isMobileView ? 'Close' : 'Back', label: !isMobileView
? S.of(context).close
: S.of(context).seed_alert_back,
child: TextButton( child: TextButton(
style: ButtonStyle( style: ButtonStyle(
overlayColor: MaterialStateColor.resolveWith( overlayColor: MaterialStateColor.resolveWith(

View file

@ -66,40 +66,6 @@ class IoniaManageCardsPage extends BasePage {
@override @override
Widget get endDrawer => CardMenu(); Widget get endDrawer => CardMenu();
@override
Widget leading(BuildContext context) {
final _backButton = Icon(
Icons.arrow_back_ios,
color: Theme.of(context)
.accentTextTheme!
.displayMedium!
.backgroundColor!,
size: 16,
);
return SizedBox(
height: 37,
width: 37,
child: ButtonTheme(
minWidth: double.minPositive,
child: TextButton(
// FIX-ME: Style
//highlightColor: Colors.transparent,
//splashColor: Colors.transparent,
//padding: EdgeInsets.all(0),
onPressed: (){
if (searchFocusNode.hasFocus) {
searchFocusNode.unfocus();
return;
}
Navigator.of(context).pop();
},
child: _backButton),
),
);
}
@override @override
Widget middle(BuildContext context) { Widget middle(BuildContext context) {
return Text( return Text(
@ -123,26 +89,28 @@ class IoniaManageCardsPage extends BasePage {
@override @override
Widget body(BuildContext context) { Widget body(BuildContext context) {
final filterButton = InkWell( final filterButton = Semantics(
onTap: () async { label: S.of(context).filter_by,
await showCategoryFilter(context); child: InkWell(
_cardsListViewModel.getMerchants(); onTap: () async {
}, await showCategoryFilter(context);
child: Container( _cardsListViewModel.getMerchants();
width: 32, },
padding: EdgeInsets.all(8), child: Container(
decoration: BoxDecoration( width: 32,
color: Theme.of(context).textTheme!.titleLarge!.backgroundColor!, padding: EdgeInsets.all(8),
border: Border.all( decoration: BoxDecoration(
color: Colors.white.withOpacity(0.2), color: Theme.of(context).textTheme!.titleLarge!.backgroundColor!,
border: Border.all(
color: Colors.white.withOpacity(0.2),
),
borderRadius: BorderRadius.circular(10),
), ),
borderRadius: BorderRadius.circular(10), child: Image.asset(
), 'assets/images/filter.png',
child: Image.asset( color: Theme.of(context).textTheme!.bodySmall!.decorationColor!,
'assets/images/filter.png', ),
color: Theme.of(context).textTheme!.bodySmall!.decorationColor!, )),
),
)
); );
return Padding( return Padding(
@ -281,11 +249,13 @@ class _SearchWidget extends StatelessWidget {
final FocusNode focusNode; final FocusNode focusNode;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final searchIcon = Padding( final searchIcon = ExcludeSemantics(
padding: EdgeInsets.all(8), child: Padding(
child: Image.asset( padding: EdgeInsets.all(8),
'assets/images/mini_search_icon.png', child: Image.asset(
color: Theme.of(context).textTheme!.bodySmall!.decorationColor!, 'assets/images/mini_search_icon.png',
color: Theme.of(context).textTheme!.bodySmall!.decorationColor!,
),
), ),
); );
@ -335,18 +305,22 @@ class _TrailingIcon extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Material( return Semantics(
color: Colors.transparent, label: S.of(context).profile,
child: IconButton( child: Material(
padding: EdgeInsets.zero, color: Colors.transparent,
constraints: BoxConstraints(), child: IconButton(
highlightColor: Colors.transparent, padding: EdgeInsets.zero,
splashColor: Colors.transparent, constraints: BoxConstraints(),
iconSize: 25, highlightColor: Colors.transparent,
onPressed: onPressed, splashColor: Colors.transparent,
icon: Image.asset( iconSize: 25,
asset, onPressed: onPressed,
color: Theme.of(context).accentTextTheme!.displayMedium!.backgroundColor!, icon: Image.asset(
asset,
color:
Theme.of(context).accentTextTheme!.displayMedium!.backgroundColor!,
),
), ),
), ),
); );

View file

@ -118,19 +118,21 @@ class _AdvancedPrivacySettingsBodyState extends State<AdvancedPrivacySettingsBod
textColor: Colors.white, textColor: Colors.white,
), ),
const SizedBox(height: 25), const SizedBox(height: 25),
Padding( LayoutBuilder(
padding: EdgeInsets.symmetric(horizontal: MediaQuery.of(context).size.width * 0.15), builder: (_, constraints) => SizedBox(
child: Text( width: constraints.maxWidth * 0.8,
S.of(context).settings_can_be_changed_later, child: Text(
textAlign: TextAlign.center, S.of(context).settings_can_be_changed_later,
style: TextStyle( textAlign: TextAlign.center,
color: Theme.of(context) style: TextStyle(
color: Theme.of(context)
.accentTextTheme! .accentTextTheme!
.displayMedium! .displayMedium!
.color, .color,
),
), ),
), ),
), )
], ],
), ),
), ),

View file

@ -146,7 +146,7 @@ class _WalletNameFormState extends State<WalletNameForm> {
width: 1.0), width: 1.0),
), ),
suffixIcon: Semantics( suffixIcon: Semantics(
label: 'Generate Name', label: S.of(context).generate_name,
child: IconButton( child: IconButton(
onPressed: () async { onPressed: () async {
final rName = await generateName(); final rName = await generateName();

View file

@ -115,6 +115,7 @@ class NodeCreateOrEditPage extends BasePage {
bottomSectionPadding: EdgeInsets.only(bottom: 24), bottomSectionPadding: EdgeInsets.only(bottom: 24),
bottomSection: Observer( bottomSection: Observer(
builder: (_) => Row( builder: (_) => Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[ children: <Widget>[
Flexible( Flexible(
child: Container( child: Container(

View file

@ -226,7 +226,7 @@ class PinCodeState<T extends PinCodeWidget> extends State<T> {
child: Container( child: Container(
margin: EdgeInsets.only(left: marginLeft, right: marginRight), margin: EdgeInsets.only(left: marginLeft, right: marginRight),
child: Semantics( child: Semantics(
label: 'Delete', label: S.of(context).delete,
button: true, button: true,
onTap: () => _pop(), onTap: () => _pop(),
child: TextButton( child: TextButton(

View file

@ -87,7 +87,7 @@ class ReceivePage extends BasePage {
return Material( return Material(
color: Colors.transparent, color: Colors.transparent,
child: Semantics( child: Semantics(
label: 'Share', label: S.of(context).share,
child: IconButton( child: IconButton(
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
constraints: BoxConstraints(), constraints: BoxConstraints(),

View file

@ -71,7 +71,7 @@ class AddressCell extends StatelessWidget {
), ),
)); ));
return Semantics( return Semantics(
label: 'Slidable', label: S.of(context).slidable,
selected: isCurrent, selected: isCurrent,
enabled: !isCurrent, enabled: !isCurrent,
child: Slidable( child: Slidable(

View file

@ -71,7 +71,9 @@ class SendPage extends BasePage {
child: ButtonTheme( child: ButtonTheme(
minWidth: double.minPositive, minWidth: double.minPositive,
child: Semantics( child: Semantics(
label: !isMobileView ? 'Close' : 'Back', label: !isMobileView
? S.of(context).close
: S.of(context).seed_alert_back,
child: TextButton( child: TextButton(
style: ButtonStyle( style: ButtonStyle(
overlayColor: MaterialStateColor.resolveWith( overlayColor: MaterialStateColor.resolveWith(

View file

@ -114,55 +114,66 @@ class AddressTextField extends StatelessWidget {
width: prefixIconWidth, width: prefixIconWidth,
height: prefixIconHeight, height: prefixIconHeight,
padding: EdgeInsets.only(top: 0), padding: EdgeInsets.only(top: 0),
child: InkWell( child: Semantics(
onTap: () async => _pasteAddress(context), label: S.of(context).paste,
child: Container( child: InkWell(
padding: EdgeInsets.all(8), onTap: () async => _pasteAddress(context),
decoration: BoxDecoration( child: Container(
color: buttonColor ?? padding: EdgeInsets.all(8),
Theme.of(context) decoration: BoxDecoration(
.accentTextTheme! color: buttonColor ??
Theme.of(context)
.accentTextTheme
!
.titleLarge! .titleLarge!
.color!, .color!,
borderRadius: borderRadius:
BorderRadius.all(Radius.circular(6))), BorderRadius.all(Radius.circular(6))),
child: Image.asset( child: Image.asset(
'assets/images/paste_ios.png', 'assets/images/paste_ios.png',
color: iconColor ?? color: iconColor ??
Theme.of(context) Theme.of(context)
.primaryTextTheme! .primaryTextTheme
!
.headlineMedium! .headlineMedium!
.decorationColor!, .decorationColor!,
)), )),
),
)), )),
], ],
if (this.options.contains(AddressTextFieldOption.qrCode) && DeviceInfo.instance.isMobile) if (this.options.contains(AddressTextFieldOption.qrCode) &&
...[ DeviceInfo.instance.isMobile) ...[
Container( Container(
width: prefixIconWidth, width: prefixIconWidth,
height: prefixIconHeight, height: prefixIconHeight,
padding: EdgeInsets.only(top: 0), padding: EdgeInsets.only(top: 0),
child: InkWell( child: Semantics(
onTap: () async => _presentQRScanner(context), label: S.of(context).scan_qr_code,
child: Container( child: InkWell(
padding: EdgeInsets.all(8), onTap: () async => _presentQRScanner(context),
decoration: BoxDecoration( child: Container(
color: buttonColor ?? padding: EdgeInsets.all(8),
Theme.of(context) decoration: BoxDecoration(
.accentTextTheme color: buttonColor ??
Theme.of(context)
.accentTextTheme
.titleLarge! .titleLarge!
.color!, .color!,
borderRadius: borderRadius:
BorderRadius.all(Radius.circular(6))), BorderRadius.all(Radius.circular(6))),
child: Image.asset( child: Image.asset(
'assets/images/qr_code_icon.png', 'assets/images/qr_code_icon.png',
color: iconColor ?? color: iconColor ??
Theme.of(context) Theme.of(context)
.primaryTextTheme!.headlineMedium! .primaryTextTheme
.decorationColor!, !.headlineMedium!
)), .decorationColor!,
)),
),
)) ))
] else SizedBox(width: 5), ] else
SizedBox(width: 5),
if (this if (this
.options .options
.contains(AddressTextFieldOption.addressBook)) ...[ .contains(AddressTextFieldOption.addressBook)) ...[
@ -170,26 +181,32 @@ class AddressTextField extends StatelessWidget {
width: prefixIconWidth, width: prefixIconWidth,
height: prefixIconHeight, height: prefixIconHeight,
padding: EdgeInsets.only(top: 0), padding: EdgeInsets.only(top: 0),
child: InkWell( child: Semantics(
onTap: () async => _presetAddressBookPicker(context), label: S.of(context).address_book,
child: Container( child: InkWell(
padding: EdgeInsets.all(8), onTap: () async =>
decoration: BoxDecoration( _presetAddressBookPicker(context),
color: buttonColor ?? child: Container(
Theme.of(context) padding: EdgeInsets.all(8),
.accentTextTheme! decoration: BoxDecoration(
color: buttonColor ??
Theme.of(context)
.accentTextTheme
!
.titleLarge! .titleLarge!
.color!, .color!,
borderRadius: borderRadius:
BorderRadius.all(Radius.circular(6))), BorderRadius.all(Radius.circular(6))),
child: Image.asset( child: Image.asset(
'assets/images/open_book.png', 'assets/images/open_book.png',
color: iconColor ?? color: iconColor ??
Theme.of(context) Theme.of(context)
.primaryTextTheme! .primaryTextTheme
!
.headlineMedium! .headlineMedium!
.decorationColor!, .decorationColor!,
)), )),
),
)) ))
] ]
], ],

View file

@ -1,6 +1,7 @@
import 'package:auto_size_text/auto_size_text.dart'; import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:cake_wallet/palette.dart'; import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/generated/i18n.dart';
class IntroducingCard extends StatelessWidget { class IntroducingCard extends StatelessWidget {
IntroducingCard( IntroducingCard(
@ -70,7 +71,7 @@ class IntroducingCard extends StatelessWidget {
Padding( Padding(
padding: const EdgeInsets.fromLTRB(0,16,16,0), padding: const EdgeInsets.fromLTRB(0,16,16,0),
child: Semantics( child: Semantics(
label: 'Close', label: S.of(context).close,
child: GestureDetector( child: GestureDetector(
onTap: closeCard, onTap: closeCard,
child: Container( child: Container(

View file

@ -0,0 +1,3 @@
class FeatureFlag {
static const bool isCakePayEnabled = false;
}

View file

@ -4,9 +4,9 @@ part 'desktop_sidebar_view_model.g.dart';
enum SidebarItem { enum SidebarItem {
dashboard, dashboard,
transactions,
support, support,
settings, settings,
transactions;
} }
class DesktopSidebarViewModel = DesktopSidebarViewModelBase with _$DesktopSidebarViewModel; class DesktopSidebarViewModel = DesktopSidebarViewModelBase with _$DesktopSidebarViewModel;

View file

@ -24,6 +24,7 @@ abstract class RescanViewModelBase with Store {
Future<void> rescanCurrentWallet({required int restoreHeight}) async { Future<void> rescanCurrentWallet({required int restoreHeight}) async {
state = RescanWalletState.rescaning; state = RescanWalletState.rescaning;
await _wallet.rescan(height: restoreHeight); await _wallet.rescan(height: restoreHeight);
_wallet.transactionHistory.clear();
state = RescanWalletState.none; state = RescanWalletState.none;
} }
} }

View file

@ -115,10 +115,10 @@ SPEC CHECKSUMS:
platform_device_id_macos: f763bb55f088be804d61b96eb4710b8ab6598e94 platform_device_id_macos: f763bb55f088be804d61b96eb4710b8ab6598e94
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
share_plus_macos: 853ee48e7dce06b633998ca0735d482dd671ade4 share_plus_macos: 853ee48e7dce06b633998ca0735d482dd671ade4
shared_preferences_foundation: e2dae3258e06f44cc55f49d42024fd8dd03c590c shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
url_launcher_macos: 5335912b679c073563f29d89d33d10d459f95451 url_launcher_macos: 5335912b679c073563f29d89d33d10d459f95451
wakelock_macos: bc3f2a9bd8d2e6c89fee1e1822e7ddac3bd004a9 wakelock_macos: bc3f2a9bd8d2e6c89fee1e1822e7ddac3bd004a9
PODFILE CHECKSUM: 5107934592df7813b33d744aebc8ddc6b5a5445f PODFILE CHECKSUM: 5107934592df7813b33d744aebc8ddc6b5a5445f
COCOAPODS: 1.11.3 COCOAPODS: 1.12.1

View file

@ -606,6 +606,8 @@
"error_text_input_above_maximum_limit": "المبلغ أكبر من الحد الأقصى", "error_text_input_above_maximum_limit": "المبلغ أكبر من الحد الأقصى",
"show_market_place": "إظهار السوق", "show_market_place": "إظهار السوق",
"prevent_screenshots": "منع لقطات الشاشة وتسجيل الشاشة", "prevent_screenshots": "منع لقطات الشاشة وتسجيل الشاشة",
"profile": "حساب تعريفي",
"close": "يغلق",
"modify_2fa": "تعديل 2 عامل المصادقة", "modify_2fa": "تعديل 2 عامل المصادقة",
"disable_cake_2fa": "تعطيل 2 عامل المصادقة", "disable_cake_2fa": "تعطيل 2 عامل المصادقة",
"question_to_disable_2fa": "هل أنت متأكد أنك تريد تعطيل Cake 2FA؟ لن تكون هناك حاجة إلى رمز 2FA للوصول إلى المحفظة ووظائف معينة.", "question_to_disable_2fa": "هل أنت متأكد أنك تريد تعطيل Cake 2FA؟ لن تكون هناك حاجة إلى رمز 2FA للوصول إلى المحفظة ووظائف معينة.",
@ -628,21 +630,25 @@
"available_balance_description": "الرصيد المتاح هو الرصيد الذي يمكنك إنفاقه أو تحويله إلى محفظة أخرى. يتم تجميد الرصيد المتاح للمعاملات الصادرة والمعاملات الواردة غير المؤكدة.", "available_balance_description": "الرصيد المتاح هو الرصيد الذي يمكنك إنفاقه أو تحويله إلى محفظة أخرى. يتم تجميد الرصيد المتاح للمعاملات الصادرة والمعاملات الواردة غير المؤكدة.",
"syncing_wallet_alert_title": "محفظتك تتم مزامنتها", "syncing_wallet_alert_title": "محفظتك تتم مزامنتها",
"syncing_wallet_alert_content": "قد لا يكتمل رصيدك وقائمة المعاملات الخاصة بك حتى تظهر عبارة “SYNCHRONIZED“ في الأعلى. انقر / اضغط لمعرفة المزيد.", "syncing_wallet_alert_content": "قد لا يكتمل رصيدك وقائمة المعاملات الخاصة بك حتى تظهر عبارة “SYNCHRONIZED“ في الأعلى. انقر / اضغط لمعرفة المزيد.",
"home_screen_settings": "إعدادات الشاشة الرئيسية", "home_screen_settings": "إعدادات الشاشة الرئيسية",
"sort_by": "ترتيب حسب", "sort_by": "ترتيب حسب",
"search_add_token": "بحث / إضافة رمز", "search_add_token": "بحث / إضافة رمز",
"edit_token": "تحرير الرمز المميز", "edit_token": "تحرير الرمز المميز",
"warning": "تحذير", "warning": "تحذير",
"add_token_warning": "لا تقم بتحرير أو إضافة رموز وفقًا لتعليمات المحتالين.\nقم دائمًا بتأكيد عناوين الرموز مع مصادر حسنة السمعة!", "add_token_warning": "لا تقم بتحرير أو إضافة رموز وفقًا لتعليمات المحتالين.\nقم دائمًا بتأكيد عناوين الرموز مع مصادر حسنة السمعة!",
"add_token_disclaimer_check": "لقد قمت بتأكيد عنوان ومعلومات عقد الرمز المميز باستخدام مصدر حسن السمعة. يمكن أن تؤدي إضافة معلومات خبيثة أو غير صحيحة إلى خسارة الأموال.", "add_token_disclaimer_check": "لقد قمت بتأكيد عنوان ومعلومات عقد الرمز المميز باستخدام مصدر حسن السمعة. يمكن أن تؤدي إضافة معلومات خبيثة أو غير صحيحة إلى خسارة الأموال.",
"token_contract_address": "عنوان عقد الرمز", "token_contract_address": "عنوان عقد الرمز",
"token_name": "اسم الرمز ، على سبيل المثال: Tether", "token_name": "اسم الرمز ، على سبيل المثال: Tether",
"token_symbol": "رمز العملة ، على سبيل المثال: USDT", "token_symbol": "رمز العملة ، على سبيل المثال: USDT",
"token_decimal": "رمز عشري", "token_decimal": "رمز عشري",
"field_required": "هذه الخانة مطلوبه", "field_required": "هذه الخانة مطلوبه",
"pin_at_top": "تثبيت ${token} في الأعلى", "pin_at_top": "تثبيت ${token} في الأعلى",
"invalid_input": "مدخل غير صالح", "invalid_input": "مدخل غير صالح",
"fiat_balance": "الرصيد فيات", "fiat_balance": "الرصيد فيات",
"gross_balance": "إجمالي الرصيد", "gross_balance": "إجمالي الرصيد",
"alphabetical": "مرتب حسب الحروف الأبجدية" "alphabetical": "مرتب حسب الحروف الأبجدية",
"generate_name": "توليد الاسم",
"balance_page": "صفحة التوازن",
"share": "يشارك",
"slidable": "قابل للانزلاق"
} }

View file

@ -602,6 +602,8 @@
"error_text_input_above_maximum_limit": "Сумата надвишава максималната", "error_text_input_above_maximum_limit": "Сумата надвишава максималната",
"show_market_place": "Покажи пазар", "show_market_place": "Покажи пазар",
"prevent_screenshots": "Предотвратете екранни снимки и запис на екрана", "prevent_screenshots": "Предотвратете екранни снимки и запис на екрана",
"profile": "Профил",
"close": "затвори",
"modify_2fa": "Модифициране на тортата 2FA", "modify_2fa": "Модифициране на тортата 2FA",
"disable_cake_2fa": "Деактивирайте Cake 2FA", "disable_cake_2fa": "Деактивирайте Cake 2FA",
"question_to_disable_2fa": "Сигурни ли сте, че искате да деактивирате Cake 2FA? Вече няма да е необходим 2FA код за достъп до портфейла и определени функции.", "question_to_disable_2fa": "Сигурни ли сте, че искате да деактивирате Cake 2FA? Вече няма да е необходим 2FA код за достъп до портфейла и определени функции.",
@ -640,5 +642,9 @@
"invalid_input": "Невалиден вход", "invalid_input": "Невалиден вход",
"fiat_balance": "Фиат Баланс", "fiat_balance": "Фиат Баланс",
"gross_balance": "Брутен баланс", "gross_balance": "Брутен баланс",
"alphabetical": "Азбучен ред" "alphabetical": "Азбучен ред",
"generate_name": "Генериране на име",
"balance_page": "Страница за баланс",
"share": "Дял",
"slidable": "Плъзгащ се"
} }

View file

@ -602,6 +602,8 @@
"error_text_input_above_maximum_limit": "Částka je větší než maximální hodnota", "error_text_input_above_maximum_limit": "Částka je větší než maximální hodnota",
"show_market_place": "Zobrazit trh", "show_market_place": "Zobrazit trh",
"prevent_screenshots": "Zabránit vytváření snímků obrazovky a nahrávání obrazovky", "prevent_screenshots": "Zabránit vytváření snímků obrazovky a nahrávání obrazovky",
"profile": "Profil",
"close": "zavřít",
"modify_2fa": "Upravte Cake 2FA", "modify_2fa": "Upravte Cake 2FA",
"disable_cake_2fa": "Zakázat Cake 2FA", "disable_cake_2fa": "Zakázat Cake 2FA",
"question_to_disable_2fa": "Opravdu chcete deaktivovat Cake 2FA? Pro přístup k peněžence a některým funkcím již nebude potřeba kód 2FA.", "question_to_disable_2fa": "Opravdu chcete deaktivovat Cake 2FA? Pro přístup k peněžence a některým funkcím již nebude potřeba kód 2FA.",
@ -640,5 +642,9 @@
"invalid_input": "Neplatný vstup", "invalid_input": "Neplatný vstup",
"fiat_balance": "Fiat Balance", "fiat_balance": "Fiat Balance",
"gross_balance": "Hrubý zůstatek", "gross_balance": "Hrubý zůstatek",
"alphabetical": "Abecední" "alphabetical": "Abecední",
"generate_name": "Generovat jméno",
"balance_page": "Stránka zůstatku",
"share": "Podíl",
"slidable": "Posuvné"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "Menge ist über dem Maximum", "error_text_input_above_maximum_limit": "Menge ist über dem Maximum",
"show_market_place": "Marktplatz anzeigen", "show_market_place": "Marktplatz anzeigen",
"prevent_screenshots": "Verhindern Sie Screenshots und Bildschirmaufzeichnungen", "prevent_screenshots": "Verhindern Sie Screenshots und Bildschirmaufzeichnungen",
"profile": "Profil",
"close": "Schließen",
"modify_2fa": "Kuchen 2FA ändern", "modify_2fa": "Kuchen 2FA ändern",
"disable_cake_2fa": "Kuchen 2FA deaktivieren", "disable_cake_2fa": "Kuchen 2FA deaktivieren",
"question_to_disable_2fa": "Sind Sie sicher, dass Sie Cake 2FA deaktivieren möchten? Für den Zugriff auf die Brieftasche und bestimmte Funktionen wird kein 2FA-Code mehr benötigt.", "question_to_disable_2fa": "Sind Sie sicher, dass Sie Cake 2FA deaktivieren möchten? Für den Zugriff auf die Brieftasche und bestimmte Funktionen wird kein 2FA-Code mehr benötigt.",
@ -646,5 +648,9 @@
"invalid_input": "Ungültige Eingabe", "invalid_input": "Ungültige Eingabe",
"fiat_balance": "Fiat Balance", "fiat_balance": "Fiat Balance",
"gross_balance": "Bruttosaldo", "gross_balance": "Bruttosaldo",
"alphabetical": "Alphabetisch" "alphabetical": "Alphabetisch",
"generate_name": "Namen generieren",
"balance_page": "Balance-Seite",
"share": "Aktie",
"slidable": "Verschiebbar"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "Amount is more than the maximum", "error_text_input_above_maximum_limit": "Amount is more than the maximum",
"show_market_place": "Show Marketplace", "show_market_place": "Show Marketplace",
"prevent_screenshots": "Prevent screenshots and screen recording", "prevent_screenshots": "Prevent screenshots and screen recording",
"profile": "Profile",
"close": "Close",
"modify_2fa": "Modify Cake 2FA", "modify_2fa": "Modify Cake 2FA",
"disable_cake_2fa": "Disable Cake 2FA", "disable_cake_2fa": "Disable Cake 2FA",
"question_to_disable_2fa": "Are you sure that you want to disable Cake 2FA? A 2FA code will no longer be needed to access the wallet and certain functions.", "question_to_disable_2fa": "Are you sure that you want to disable Cake 2FA? A 2FA code will no longer be needed to access the wallet and certain functions.",
@ -646,5 +648,9 @@
"invalid_input": "Invalid input", "invalid_input": "Invalid input",
"fiat_balance": "Fiat Balance", "fiat_balance": "Fiat Balance",
"gross_balance": "Gross Balance", "gross_balance": "Gross Balance",
"alphabetical": "Alphabetical" "alphabetical": "Alphabetical",
"generate_name": "Generate Name",
"balance_page": "Balance Page",
"share": "Share",
"slidable": "Slidable"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "La cantidad es más que el máximo", "error_text_input_above_maximum_limit": "La cantidad es más que el máximo",
"show_market_place": "Mostrar mercado", "show_market_place": "Mostrar mercado",
"prevent_screenshots": "Evitar capturas de pantalla y grabación de pantalla", "prevent_screenshots": "Evitar capturas de pantalla y grabación de pantalla",
"profile": "Perfil",
"close": "Cerca",
"modify_2fa": "Modificar torta 2FA", "modify_2fa": "Modificar torta 2FA",
"disable_cake_2fa": "Desactivar pastel 2FA", "disable_cake_2fa": "Desactivar pastel 2FA",
"question_to_disable_2fa": "¿Está seguro de que desea deshabilitar Cake 2FA? Ya no se necesitará un código 2FA para acceder a la billetera y a ciertas funciones.", "question_to_disable_2fa": "¿Está seguro de que desea deshabilitar Cake 2FA? Ya no se necesitará un código 2FA para acceder a la billetera y a ciertas funciones.",
@ -646,5 +648,9 @@
"invalid_input": "Entrada inválida", "invalid_input": "Entrada inválida",
"fiat_balance": "Equilibrio Fiat", "fiat_balance": "Equilibrio Fiat",
"gross_balance": "Saldo bruto", "gross_balance": "Saldo bruto",
"alphabetical": "Alfabético" "alphabetical": "Alfabético",
"generate_name": "Generar nombre",
"balance_page": "Página de saldo",
"share": "Compartir",
"slidable": "deslizable"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "Le montant est supérieur au maximum", "error_text_input_above_maximum_limit": "Le montant est supérieur au maximum",
"show_market_place": "Afficher la place de marché", "show_market_place": "Afficher la place de marché",
"prevent_screenshots": "Empêcher les captures d'écran et l'enregistrement d'écran", "prevent_screenshots": "Empêcher les captures d'écran et l'enregistrement d'écran",
"profile": "Profil",
"close": "Fermer",
"modify_2fa": "Modifier les paramètres Cake 2FA", "modify_2fa": "Modifier les paramètres Cake 2FA",
"disable_cake_2fa": "Désactiver Cake 2FA", "disable_cake_2fa": "Désactiver Cake 2FA",
"question_to_disable_2fa": "Êtes-vous sûr de vouloir désactiver Cake 2FA ? Un code 2FA ne sera plus nécessaire pour accéder au portefeuille (wallet) et à certaines fonctions.", "question_to_disable_2fa": "Êtes-vous sûr de vouloir désactiver Cake 2FA ? Un code 2FA ne sera plus nécessaire pour accéder au portefeuille (wallet) et à certaines fonctions.",
@ -646,5 +648,9 @@
"invalid_input": "Entrée invalide", "invalid_input": "Entrée invalide",
"fiat_balance": "Fiat Balance", "fiat_balance": "Fiat Balance",
"gross_balance": "Solde brut", "gross_balance": "Solde brut",
"alphabetical": "Alphabétique" "alphabetical": "Alphabétique",
"generate_name": "Générer un nom",
"balance_page": "Page Solde",
"share": "Partager",
"slidable": "Glissable"
} }

View file

@ -628,5 +628,9 @@
"invalid_input": "Shigar da ba daidai ba", "invalid_input": "Shigar da ba daidai ba",
"fiat_balance": "Fiat Balance", "fiat_balance": "Fiat Balance",
"gross_balance": "Babban Ma'auni", "gross_balance": "Babban Ma'auni",
"alphabetical": "Harafi" "alphabetical": "Harafi",
"generate_name": "Ƙirƙirar Suna",
"balance_page": "Ma'auni Page",
"share": "Raba",
"slidable": "Mai iya zamewa"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "राशि अधिकतम से अधिक है", "error_text_input_above_maximum_limit": "राशि अधिकतम से अधिक है",
"show_market_place": "बाज़ार दिखाएँ", "show_market_place": "बाज़ार दिखाएँ",
"prevent_screenshots": "स्क्रीनशॉट और स्क्रीन रिकॉर्डिंग रोकें", "prevent_screenshots": "स्क्रीनशॉट और स्क्रीन रिकॉर्डिंग रोकें",
"profile": "प्रोफ़ाइल",
"close": "बंद करना",
"modify_2fa": "केक 2FA संशोधित करें", "modify_2fa": "केक 2FA संशोधित करें",
"disable_cake_2fa": "केक 2FA अक्षम करें", "disable_cake_2fa": "केक 2FA अक्षम करें",
"question_to_disable_2fa": "क्या आप सुनिश्चित हैं कि आप Cake 2FA को अक्षम करना चाहते हैं? वॉलेट और कुछ कार्यों तक पहुँचने के लिए अब 2FA कोड की आवश्यकता नहीं होगी।", "question_to_disable_2fa": "क्या आप सुनिश्चित हैं कि आप Cake 2FA को अक्षम करना चाहते हैं? वॉलेट और कुछ कार्यों तक पहुँचने के लिए अब 2FA कोड की आवश्यकता नहीं होगी।",
@ -646,5 +648,9 @@
"invalid_input": "अमान्य निवेश", "invalid_input": "अमान्य निवेश",
"fiat_balance": "फिएट बैलेंस", "fiat_balance": "फिएट बैलेंस",
"gross_balance": "सकल संतुलन", "gross_balance": "सकल संतुलन",
"alphabetical": "वर्णमाला" "alphabetical": "वर्णमाला",
"generate_name": "नाम जनरेट करें",
"balance_page": "बैलेंस पेज",
"share": "शेयर करना",
"slidable": "फिसलने लायक"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "Iznos je veći od maskimalnog", "error_text_input_above_maximum_limit": "Iznos je veći od maskimalnog",
"show_market_place": "Prikaži tržište", "show_market_place": "Prikaži tržište",
"prevent_screenshots": "Spriječite snimke zaslona i snimanje zaslona", "prevent_screenshots": "Spriječite snimke zaslona i snimanje zaslona",
"profile": "Profil",
"close": "Zatvoriti",
"modify_2fa": "Izmijenite tortu 2FA", "modify_2fa": "Izmijenite tortu 2FA",
"disable_cake_2fa": "Onemogući Cake 2FA", "disable_cake_2fa": "Onemogući Cake 2FA",
"question_to_disable_2fa": "Jeste li sigurni da želite onemogućiti Cake 2FA? 2FA kod više neće biti potreban za pristup novčaniku i određenim funkcijama.", "question_to_disable_2fa": "Jeste li sigurni da želite onemogućiti Cake 2FA? 2FA kod više neće biti potreban za pristup novčaniku i određenim funkcijama.",
@ -646,5 +648,9 @@
"invalid_input": "Pogrešan unos", "invalid_input": "Pogrešan unos",
"fiat_balance": "Fiat Bilans", "fiat_balance": "Fiat Bilans",
"gross_balance": "Bruto bilanca", "gross_balance": "Bruto bilanca",
"alphabetical": "Abecedno" "alphabetical": "Abecedno",
"generate_name": "Generiraj ime",
"balance_page": "Stranica sa stanjem",
"share": "Udio",
"slidable": "Klizna"
} }

View file

@ -598,6 +598,8 @@
"error_text_input_above_maximum_limit": "Jumlah lebih dari maksimal", "error_text_input_above_maximum_limit": "Jumlah lebih dari maksimal",
"show_market_place": "Tampilkan Pasar", "show_market_place": "Tampilkan Pasar",
"prevent_screenshots": "Cegah tangkapan layar dan perekaman layar", "prevent_screenshots": "Cegah tangkapan layar dan perekaman layar",
"profile": "Profil",
"close": "Menutup",
"modify_2fa": "Ubah Kue 2FA", "modify_2fa": "Ubah Kue 2FA",
"disable_cake_2fa": "Nonaktifkan Kue 2FA", "disable_cake_2fa": "Nonaktifkan Kue 2FA",
"question_to_disable_2fa": "Apakah Anda yakin ingin menonaktifkan Cake 2FA? Kode 2FA tidak lagi diperlukan untuk mengakses dompet dan fungsi tertentu.", "question_to_disable_2fa": "Apakah Anda yakin ingin menonaktifkan Cake 2FA? Kode 2FA tidak lagi diperlukan untuk mengakses dompet dan fungsi tertentu.",
@ -636,5 +638,9 @@
"invalid_input": "Masukan tidak valid", "invalid_input": "Masukan tidak valid",
"fiat_balance": "Saldo Fiat", "fiat_balance": "Saldo Fiat",
"gross_balance": "Saldo Kotor", "gross_balance": "Saldo Kotor",
"alphabetical": "Alfabetis" "alphabetical": "Alfabetis",
"generate_name": "Hasilkan Nama",
"balance_page": "Halaman Saldo",
"share": "Membagikan",
"slidable": "Dapat digeser"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "L'ammontare è superiore al massimo", "error_text_input_above_maximum_limit": "L'ammontare è superiore al massimo",
"show_market_place": "Mostra mercato", "show_market_place": "Mostra mercato",
"prevent_screenshots": "Impedisci screenshot e registrazione dello schermo", "prevent_screenshots": "Impedisci screenshot e registrazione dello schermo",
"profile": "Profilo",
"close": "Chiudere",
"modify_2fa": "Modifica Torta 2FA", "modify_2fa": "Modifica Torta 2FA",
"disable_cake_2fa": "Disabilita Cake 2FA", "disable_cake_2fa": "Disabilita Cake 2FA",
"question_to_disable_2fa": "Sei sicuro di voler disabilitare Cake 2FA? Non sarà più necessario un codice 2FA per accedere al portafoglio e ad alcune funzioni.", "question_to_disable_2fa": "Sei sicuro di voler disabilitare Cake 2FA? Non sarà più necessario un codice 2FA per accedere al portafoglio e ad alcune funzioni.",
@ -646,5 +648,9 @@
"invalid_input": "Inserimento non valido", "invalid_input": "Inserimento non valido",
"fiat_balance": "Equilibrio fiat", "fiat_balance": "Equilibrio fiat",
"gross_balance": "Saldo lordo", "gross_balance": "Saldo lordo",
"alphabetical": "Alfabetico" "alphabetical": "Alfabetico",
"generate_name": "Genera nome",
"balance_page": "Pagina di equilibrio",
"share": "Condividere",
"slidable": "Scorrevole"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "金額は最大値を超えています", "error_text_input_above_maximum_limit": "金額は最大値を超えています",
"show_market_place": "マーケットプレイスを表示", "show_market_place": "マーケットプレイスを表示",
"prevent_screenshots": "スクリーンショットと画面録画を防止する", "prevent_screenshots": "スクリーンショットと画面録画を防止する",
"profile": "プロフィール",
"close": "近い",
"modify_2fa": "ケーキの 2FA を変更する", "modify_2fa": "ケーキの 2FA を変更する",
"disable_cake_2fa": "Cake 2FA を無効にする", "disable_cake_2fa": "Cake 2FA を無効にする",
"question_to_disable_2fa": "Cake 2FA を無効にしてもよろしいですか?ウォレットと特定の機能にアクセスするために 2FA コードは必要なくなります。", "question_to_disable_2fa": "Cake 2FA を無効にしてもよろしいですか?ウォレットと特定の機能にアクセスするために 2FA コードは必要なくなります。",
@ -646,5 +648,9 @@
"invalid_input": "無効入力", "invalid_input": "無効入力",
"fiat_balance": "フィアットバランス", "fiat_balance": "フィアットバランス",
"gross_balance": "グロス残高", "gross_balance": "グロス残高",
"alphabetical": "アルファベット順" "alphabetical": "アルファベット順",
"generate_name": "名前の生成",
"balance_page": "残高ページ",
"share": "共有",
"slidable": "スライド可能"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "금액이 최대 값보다 많습니다.", "error_text_input_above_maximum_limit": "금액이 최대 값보다 많습니다.",
"show_market_place": "마켓플레이스 표시", "show_market_place": "마켓플레이스 표시",
"prevent_screenshots": "스크린샷 및 화면 녹화 방지", "prevent_screenshots": "스크린샷 및 화면 녹화 방지",
"profile": "프로필",
"close": "닫다",
"modify_2fa": "수정 케이크 2FA", "modify_2fa": "수정 케이크 2FA",
"disable_cake_2fa": "케이크 2FA 비활성화", "disable_cake_2fa": "케이크 2FA 비활성화",
"question_to_disable_2fa": "Cake 2FA를 비활성화하시겠습니까? 지갑 및 특정 기능에 액세스하는 데 더 이상 2FA 코드가 필요하지 않습니다.", "question_to_disable_2fa": "Cake 2FA를 비활성화하시겠습니까? 지갑 및 특정 기능에 액세스하는 데 더 이상 2FA 코드가 필요하지 않습니다.",
@ -646,5 +648,9 @@
"invalid_input": "잘못된 입력", "invalid_input": "잘못된 입력",
"fiat_balance": "피아트 잔액", "fiat_balance": "피아트 잔액",
"gross_balance": "총 잔액", "gross_balance": "총 잔액",
"alphabetical": "알파벳순" "alphabetical": "알파벳순",
"generate_name": "이름 생성",
"balance_page": "잔액 페이지",
"share": "공유하다",
"slidable": "슬라이딩 가능"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "ပမာဏသည် အများဆုံးထက် ပိုများသည်။", "error_text_input_above_maximum_limit": "ပမာဏသည် အများဆုံးထက် ပိုများသည်။",
"show_market_place": "စျေးကွက်ကိုပြသပါ။", "show_market_place": "စျေးကွက်ကိုပြသပါ။",
"prevent_screenshots": "ဖန်သားပြင်ဓာတ်ပုံများနှင့် မျက်နှာပြင်ရိုက်ကူးခြင်းကို တားဆီးပါ။", "prevent_screenshots": "ဖန်သားပြင်ဓာတ်ပုံများနှင့် မျက်နှာပြင်ရိုက်ကူးခြင်းကို တားဆီးပါ။",
"profile": "ကိုယ်ရေးအကျဉ်း",
"close": "အနီးကပ်",
"modify_2fa": "ကိတ်မုန့် 2FA ကို ပြင်ဆင်ပါ။", "modify_2fa": "ကိတ်မုန့် 2FA ကို ပြင်ဆင်ပါ။",
"disable_cake_2fa": "ကိတ်မုန့် 2FA ကို ပိတ်ပါ။", "disable_cake_2fa": "ကိတ်မုန့် 2FA ကို ပိတ်ပါ။",
"question_to_disable_2fa": "Cake 2FA ကို ပိတ်လိုသည်မှာ သေချာပါသလား။ ပိုက်ဆံအိတ်နှင့် အချို့သောလုပ်ဆောင်ချက်များကို အသုံးပြုရန်အတွက် 2FA ကုဒ်တစ်ခု မလိုအပ်တော့ပါ။", "question_to_disable_2fa": "Cake 2FA ကို ပိတ်လိုသည်မှာ သေချာပါသလား။ ပိုက်ဆံအိတ်နှင့် အချို့သောလုပ်ဆောင်ချက်များကို အသုံးပြုရန်အတွက် 2FA ကုဒ်တစ်ခု မလိုအပ်တော့ပါ။",
@ -646,5 +648,9 @@
"invalid_input": "ထည့်သွင်းမှု မမှန်ကန်ပါ။", "invalid_input": "ထည့်သွင်းမှု မမှန်ကန်ပါ။",
"fiat_balance": "Fiat Balance", "fiat_balance": "Fiat Balance",
"gross_balance": "စုစုပေါင်းလက်ကျန်ငွေ", "gross_balance": "စုစုပေါင်းလက်ကျန်ငွေ",
"alphabetical": "အက္ခရာစဉ်" "alphabetical": "အက္ခရာစဉ်",
"generate_name": "အမည်ဖန်တီးပါ။",
"balance_page": "လက်ကျန်စာမျက်နှာ",
"share": "မျှဝေပါ။",
"slidable": "လျှောချနိုင်သည်။"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "Bedrag is meer dan maximaal", "error_text_input_above_maximum_limit": "Bedrag is meer dan maximaal",
"show_market_place": "Toon Marktplaats", "show_market_place": "Toon Marktplaats",
"prevent_screenshots": "Voorkom screenshots en schermopname", "prevent_screenshots": "Voorkom screenshots en schermopname",
"profile": "Profiel",
"close": "Dichtbij",
"modify_2fa": "Wijzig Cake 2FA", "modify_2fa": "Wijzig Cake 2FA",
"disable_cake_2fa": "Taart 2FA uitschakelen", "disable_cake_2fa": "Taart 2FA uitschakelen",
"question_to_disable_2fa": "Weet je zeker dat je Cake 2FA wilt uitschakelen? Er is geen 2FA-code meer nodig om toegang te krijgen tot de portemonnee en bepaalde functies.", "question_to_disable_2fa": "Weet je zeker dat je Cake 2FA wilt uitschakelen? Er is geen 2FA-code meer nodig om toegang te krijgen tot de portemonnee en bepaalde functies.",
@ -646,5 +648,9 @@
"invalid_input": "Ongeldige invoer", "invalid_input": "Ongeldige invoer",
"fiat_balance": "Fiat Balans", "fiat_balance": "Fiat Balans",
"gross_balance": "Bruto saldo", "gross_balance": "Bruto saldo",
"alphabetical": "Alfabetisch" "alphabetical": "Alfabetisch",
"generate_name": "Naam genereren",
"balance_page": "Saldo pagina",
"share": "Deel",
"slidable": "Verschuifbaar"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "Kwota jest większa niż maksymalna", "error_text_input_above_maximum_limit": "Kwota jest większa niż maksymalna",
"show_market_place": "Pokaż rynek", "show_market_place": "Pokaż rynek",
"prevent_screenshots": "Zapobiegaj zrzutom ekranu i nagrywaniu ekranu", "prevent_screenshots": "Zapobiegaj zrzutom ekranu i nagrywaniu ekranu",
"profile": "Profil",
"close": "Zamknąć",
"modify_2fa": "Zmodyfikuj ciasto 2FA", "modify_2fa": "Zmodyfikuj ciasto 2FA",
"disable_cake_2fa": "Wyłącz Cake 2FA", "disable_cake_2fa": "Wyłącz Cake 2FA",
"question_to_disable_2fa": "Czy na pewno chcesz wyłączyć Cake 2FA? Kod 2FA nie będzie już potrzebny do uzyskania dostępu do portfela i niektórych funkcji.", "question_to_disable_2fa": "Czy na pewno chcesz wyłączyć Cake 2FA? Kod 2FA nie będzie już potrzebny do uzyskania dostępu do portfela i niektórych funkcji.",
@ -646,5 +648,9 @@
"invalid_input": "Nieprawidłowe dane wejściowe", "invalid_input": "Nieprawidłowe dane wejściowe",
"fiat_balance": "Bilans Fiata", "fiat_balance": "Bilans Fiata",
"gross_balance": "Saldo brutto", "gross_balance": "Saldo brutto",
"alphabetical": "Alfabetyczny" "alphabetical": "Alfabetyczny",
"generate_name": "Wygeneruj nazwę",
"balance_page": "Strona salda",
"share": "Udział",
"slidable": "Przesuwne"
} }

View file

@ -436,7 +436,7 @@
"electrum_address_disclaimer": "Geramos novos endereços cada vez que você usa um, mas os endereços anteriores continuam funcionando", "electrum_address_disclaimer": "Geramos novos endereços cada vez que você usa um, mas os endereços anteriores continuam funcionando",
"wallet_name_exists": "A carteira com esse nome já existe", "wallet_name_exists": "A carteira com esse nome já existe",
"market_place": "Mercado", "market_place": "Mercado",
"cake_pay_title": "Cartões de presente de pagamento de bolo", "cake_pay_title": "Cartões de presente de CakePay",
"cake_pay_subtitle": "Compre vales-presente com desconto (somente nos EUA)", "cake_pay_subtitle": "Compre vales-presente com desconto (somente nos EUA)",
"cake_pay_web_cards_title": "Cartões Cake Pay Web", "cake_pay_web_cards_title": "Cartões Cake Pay Web",
"cake_pay_web_cards_subtitle": "Compre cartões pré-pagos e cartões-presente em todo o mundo", "cake_pay_web_cards_subtitle": "Compre cartões pré-pagos e cartões-presente em todo o mundo",
@ -607,11 +607,13 @@
"error_text_input_above_maximum_limit": "O valor é superior ao máximo", "error_text_input_above_maximum_limit": "O valor é superior ao máximo",
"show_market_place": "Mostrar mercado", "show_market_place": "Mostrar mercado",
"prevent_screenshots": "Evite capturas de tela e gravação de tela", "prevent_screenshots": "Evite capturas de tela e gravação de tela",
"modify_2fa": "Modificar Bolo 2FA", "profile": "Perfil",
"disable_cake_2fa": "Desabilitar Bolo 2FA", "close": "Fechar",
"modify_2fa": "Modificar o Cake 2FA",
"disable_cake_2fa": "Desabilitar o Cake 2FA",
"question_to_disable_2fa": "Tem certeza de que deseja desativar o Cake 2FA? Um código 2FA não será mais necessário para acessar a carteira e certas funções.", "question_to_disable_2fa": "Tem certeza de que deseja desativar o Cake 2FA? Um código 2FA não será mais necessário para acessar a carteira e certas funções.",
"disable": "Desativar", "disable": "Desativar",
"setup_2fa": "Bolo de Configuração 2FA", "setup_2fa": "Configurar o Cake 2FA",
"verify_with_2fa": "Verificar com Cake 2FA", "verify_with_2fa": "Verificar com Cake 2FA",
"totp_code": "Código TOTP", "totp_code": "Código TOTP",
"please_fill_totp": "Por favor, preencha o código de 8 dígitos presente em seu outro dispositivo", "please_fill_totp": "Por favor, preencha o código de 8 dígitos presente em seu outro dispositivo",
@ -645,5 +647,9 @@
"invalid_input": "Entrada inválida", "invalid_input": "Entrada inválida",
"fiat_balance": "Equilíbrio Fiat", "fiat_balance": "Equilíbrio Fiat",
"gross_balance": "Saldo Bruto", "gross_balance": "Saldo Bruto",
"alphabetical": "alfabética" "alphabetical": "alfabética",
"generate_name": "Gerar nome",
"balance_page": "Página de saldo",
"share": "Compartilhar",
"slidable": "Deslizável"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "Сумма больше максимальной", "error_text_input_above_maximum_limit": "Сумма больше максимальной",
"show_market_place": "Показать торговую площадку", "show_market_place": "Показать торговую площадку",
"prevent_screenshots": "Предотвратить скриншоты и запись экрана", "prevent_screenshots": "Предотвратить скриншоты и запись экрана",
"profile": "Профиль",
"close": "Закрывать",
"modify_2fa": "Изменить торт 2FA", "modify_2fa": "Изменить торт 2FA",
"disable_cake_2fa": "Отключить торт 2FA", "disable_cake_2fa": "Отключить торт 2FA",
"question_to_disable_2fa": "Вы уверены, что хотите отключить Cake 2FA? Код 2FA больше не потребуется для доступа к кошельку и некоторым функциям.", "question_to_disable_2fa": "Вы уверены, что хотите отключить Cake 2FA? Код 2FA больше не потребуется для доступа к кошельку и некоторым функциям.",
@ -646,5 +648,9 @@
"invalid_input": "Неверный Ввод", "invalid_input": "Неверный Ввод",
"fiat_balance": "Фиатный баланс", "fiat_balance": "Фиатный баланс",
"gross_balance": "Валовой баланс", "gross_balance": "Валовой баланс",
"alphabetical": "Алфавитный" "alphabetical": "Алфавитный",
"generate_name": "Создать имя",
"balance_page": "Страница баланса",
"share": "Делиться",
"slidable": "Скользящий"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "จำนวนเงินสูงกว่าค่าสูงสุด", "error_text_input_above_maximum_limit": "จำนวนเงินสูงกว่าค่าสูงสุด",
"show_market_place": "แสดงตลาดกลาง", "show_market_place": "แสดงตลาดกลาง",
"prevent_screenshots": "ป้องกันภาพหน้าจอและการบันทึกหน้าจอ", "prevent_screenshots": "ป้องกันภาพหน้าจอและการบันทึกหน้าจอ",
"profile": "ประวัติโดยย่อ",
"close": "ปิด",
"modify_2fa": "แก้ไขเค้ก 2FA", "modify_2fa": "แก้ไขเค้ก 2FA",
"disable_cake_2fa": "ปิดการใช้งานเค้ก 2FA", "disable_cake_2fa": "ปิดการใช้งานเค้ก 2FA",
"question_to_disable_2fa": "คุณแน่ใจหรือไม่ว่าต้องการปิดการใช้งาน Cake 2FA ไม่จำเป็นต้องใช้รหัส 2FA ในการเข้าถึงกระเป๋าเงินและฟังก์ชั่นบางอย่างอีกต่อไป", "question_to_disable_2fa": "คุณแน่ใจหรือไม่ว่าต้องการปิดการใช้งาน Cake 2FA ไม่จำเป็นต้องใช้รหัส 2FA ในการเข้าถึงกระเป๋าเงินและฟังก์ชั่นบางอย่างอีกต่อไป",
@ -646,5 +648,9 @@
"invalid_input": "อินพุตไม่ถูกต้อง", "invalid_input": "อินพุตไม่ถูกต้อง",
"fiat_balance": "เฟียต บาลานซ์", "fiat_balance": "เฟียต บาลานซ์",
"gross_balance": "ยอดคงเหลือ", "gross_balance": "ยอดคงเหลือ",
"alphabetical": "ตามตัวอักษร" "alphabetical": "ตามตัวอักษร",
"generate_name": "สร้างชื่อ",
"balance_page": "หน้ายอดคงเหลือ",
"share": "แบ่งปัน",
"slidable": "เลื่อนได้"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "Miktar maksimumdan daha fazla", "error_text_input_above_maximum_limit": "Miktar maksimumdan daha fazla",
"show_market_place": "Pazar Yerini Göster", "show_market_place": "Pazar Yerini Göster",
"prevent_screenshots": "Ekran görüntülerini ve ekran kaydını önleyin", "prevent_screenshots": "Ekran görüntülerini ve ekran kaydını önleyin",
"profile": "Profil",
"close": "Kapalı",
"modify_2fa": "Cake 2FA'yı Değiştirin", "modify_2fa": "Cake 2FA'yı Değiştirin",
"disable_cake_2fa": "Cake 2FA'yı Devre Dışı Bırak", "disable_cake_2fa": "Cake 2FA'yı Devre Dışı Bırak",
"question_to_disable_2fa": "Cake 2FA'yı devre dışı bırakmak istediğinizden emin misiniz? M-cüzdana ve belirli işlevlere erişmek için artık 2FA koduna gerek kalmayacak.", "question_to_disable_2fa": "Cake 2FA'yı devre dışı bırakmak istediğinizden emin misiniz? M-cüzdana ve belirli işlevlere erişmek için artık 2FA koduna gerek kalmayacak.",
@ -646,5 +648,9 @@
"invalid_input": "Geçersiz Giriş", "invalid_input": "Geçersiz Giriş",
"fiat_balance": "Fiat Bakiyesi", "fiat_balance": "Fiat Bakiyesi",
"gross_balance": "Brüt Bakiye", "gross_balance": "Brüt Bakiye",
"alphabetical": "Alfabetik" "alphabetical": "Alfabetik",
"generate_name": "İsim Oluştur",
"balance_page": "Bakiye Sayfası",
"share": "Paylaşmak",
"slidable": "kaydırılabilir"
} }

View file

@ -608,6 +608,8 @@
"error_text_input_above_maximum_limit": "Сума більше максимальної", "error_text_input_above_maximum_limit": "Сума більше максимальної",
"show_market_place": "Відображати маркетплейс", "show_market_place": "Відображати маркетплейс",
"prevent_screenshots": "Запобігати знімкам екрана та запису екрана", "prevent_screenshots": "Запобігати знімкам екрана та запису екрана",
"profile": "Профіль",
"close": "Закрити",
"modify_2fa": "Змінити торт 2FA", "modify_2fa": "Змінити торт 2FA",
"disable_cake_2fa": "Вимкнути Cake 2FA", "disable_cake_2fa": "Вимкнути Cake 2FA",
"question_to_disable_2fa": "Ви впевнені, що хочете вимкнути Cake 2FA? Код 2FA більше не потрібен для доступу до гаманця та певних функцій.", "question_to_disable_2fa": "Ви впевнені, що хочете вимкнути Cake 2FA? Код 2FA більше не потрібен для доступу до гаманця та певних функцій.",
@ -646,5 +648,9 @@
"invalid_input": "Неправильні дані", "invalid_input": "Неправильні дані",
"fiat_balance": "Фіат Баланс", "fiat_balance": "Фіат Баланс",
"gross_balance": "Валовий баланс", "gross_balance": "Валовий баланс",
"alphabetical": "Алфавітний" "alphabetical": "Алфавітний",
"generate_name": "Згенерувати назву",
"balance_page": "Сторінка балансу",
"share": "Поділіться",
"slidable": "Розсувний"
} }

View file

@ -602,6 +602,8 @@
"error_text_input_above_maximum_limit": "رقم زیادہ سے زیادہ سے زیادہ ہے۔", "error_text_input_above_maximum_limit": "رقم زیادہ سے زیادہ سے زیادہ ہے۔",
"show_market_place": "بازار دکھائیں۔", "show_market_place": "بازار دکھائیں۔",
"prevent_screenshots": "اسکرین شاٹس اور اسکرین ریکارڈنگ کو روکیں۔", "prevent_screenshots": "اسکرین شاٹس اور اسکرین ریکارڈنگ کو روکیں۔",
"profile": "پروفائل",
"close": "بند کریں",
"modify_2fa": "کیک 2FA میں ترمیم کریں۔", "modify_2fa": "کیک 2FA میں ترمیم کریں۔",
"disable_cake_2fa": "کیک 2FA کو غیر فعال کریں۔", "disable_cake_2fa": "کیک 2FA کو غیر فعال کریں۔",
"question_to_disable_2fa": "کیا آپ واقعی کیک 2FA کو غیر فعال کرنا چاہتے ہیں؟ بٹوے اور بعض افعال تک رسائی کے لیے اب 2FA کوڈ کی ضرورت نہیں ہوگی۔", "question_to_disable_2fa": "کیا آپ واقعی کیک 2FA کو غیر فعال کرنا چاہتے ہیں؟ بٹوے اور بعض افعال تک رسائی کے لیے اب 2FA کوڈ کی ضرورت نہیں ہوگی۔",
@ -640,5 +642,9 @@
"invalid_input": "غلط ان پٹ", "invalid_input": "غلط ان پٹ",
"fiat_balance": "فیاٹ بیلنس", "fiat_balance": "فیاٹ بیلنس",
"gross_balance": "مجموعی بیلنس", "gross_balance": "مجموعی بیلنس",
"alphabetical": "حروف تہجی کے مطابق" "alphabetical": "حروف تہجی کے مطابق",
"generate_name": "نام پیدا کریں۔",
"balance_page": "بیلنس صفحہ",
"share": "بانٹیں",
"slidable": "سلائیڈ ایبل"
} }

View file

@ -604,6 +604,8 @@
"error_text_input_above_maximum_limit": "Iye jọwọ ni o yẹ diẹ ti o wọle diẹ", "error_text_input_above_maximum_limit": "Iye jọwọ ni o yẹ diẹ ti o wọle diẹ",
"show_market_place": "Wa Sopọ Pataki", "show_market_place": "Wa Sopọ Pataki",
"prevent_screenshots": "Pese asapọ ti awọn ẹrọ eto aṣa", "prevent_screenshots": "Pese asapọ ti awọn ẹrọ eto aṣa",
"profile": "profaili",
"close": "sunmo",
"modify_2fa": "Fi iṣiro 2FA sii Cake", "modify_2fa": "Fi iṣiro 2FA sii Cake",
"disable_cake_2fa": "Ko 2FA Cake sii", "disable_cake_2fa": "Ko 2FA Cake sii",
"question_to_disable_2fa": "Ṣe o wa daadaa pe o fẹ ko 2FA Cake? Ko si itumọ ti a yoo nilo lati ranse si iwe iwe naa ati eyikeyi iṣẹ ti o ni.", "question_to_disable_2fa": "Ṣe o wa daadaa pe o fẹ ko 2FA Cake? Ko si itumọ ti a yoo nilo lati ranse si iwe iwe naa ati eyikeyi iṣẹ ti o ni.",
@ -642,5 +644,9 @@
"invalid_input": "Iṣawọle ti ko tọ", "invalid_input": "Iṣawọle ti ko tọ",
"fiat_balance": "Fiat Iwontunws.funfun", "fiat_balance": "Fiat Iwontunws.funfun",
"gross_balance": "Iwontunws.funfun apapọ", "gross_balance": "Iwontunws.funfun apapọ",
"alphabetical": "Labidibi" "alphabetical": "Labidibi",
"generate_name": "Ṣẹda Orukọ",
"balance_page": "Oju-iwe iwọntunwọnsi",
"share": "Pinpin",
"slidable": "Slidable"
} }

View file

@ -607,6 +607,8 @@
"error_text_input_above_maximum_limit": "金额大于最大值", "error_text_input_above_maximum_limit": "金额大于最大值",
"show_market_place": "显示市场", "show_market_place": "显示市场",
"prevent_screenshots": "防止截屏和录屏", "prevent_screenshots": "防止截屏和录屏",
"profile": "轮廓",
"close": "关闭",
"modify_2fa": "修改蛋糕2FA", "modify_2fa": "修改蛋糕2FA",
"disable_cake_2fa": "禁用蛋糕 2FA", "disable_cake_2fa": "禁用蛋糕 2FA",
"question_to_disable_2fa": "您确定要禁用 Cake 2FA 吗?访问钱包和某些功能将不再需要 2FA 代码。", "question_to_disable_2fa": "您确定要禁用 Cake 2FA 吗?访问钱包和某些功能将不再需要 2FA 代码。",
@ -645,5 +647,9 @@
"invalid_input": "输入无效", "invalid_input": "输入无效",
"fiat_balance": "法币余额", "fiat_balance": "法币余额",
"gross_balance": "毛余额", "gross_balance": "毛余额",
"alphabetical": "按字母顺序" "alphabetical": "按字母顺序",
"generate_name": "生成名称",
"balance_page": "余额页",
"share": "分享",
"slidable": "可滑动"
} }