diff --git a/lib/di.dart b/lib/di.dart index 067dc9ece..25e8dd31c 100644 --- a/lib/di.dart +++ b/lib/di.dart @@ -297,7 +297,7 @@ Future setup({ : ThemeList.darkTheme, ); - if (settingsStore.shouldStartTorOnLaunch) { + if (DeviceInfo.instance.isMobile && settingsStore.shouldStartTorOnLaunch) { Tor.instance.enable(); Tor.instance.start(); } diff --git a/lib/src/screens/nodes/widgets/node_indicator.dart b/lib/src/screens/nodes/widgets/node_indicator.dart index 47a89f551..64a1ba07f 100644 --- a/lib/src/screens/nodes/widgets/node_indicator.dart +++ b/lib/src/screens/nodes/widgets/node_indicator.dart @@ -1,3 +1,4 @@ +import 'package:cake_wallet/generated/i18n.dart'; import 'package:flutter/material.dart'; import 'package:cake_wallet/palette.dart'; @@ -8,11 +9,20 @@ class NodeIndicator extends StatelessWidget { @override Widget build(BuildContext context) { - return Container( - width: 12.0, - height: 12.0, - decoration: BoxDecoration( - shape: BoxShape.circle, color: isLive ? Palette.green : Palette.red), + return Row( + children: [ + Container( + width: 12.0, + height: 12.0, + decoration: + BoxDecoration(shape: BoxShape.circle, color: isLive ? Palette.green : Palette.red), + ), + const SizedBox(width: 8.0), + Text( + isLive ? S.current.connected : S.current.disconnected, + style: TextStyle(fontSize: 14.0), + ) + ], ); } } diff --git a/lib/src/screens/settings/connection_sync_page.dart b/lib/src/screens/settings/connection_sync_page.dart index cd667f8cf..10473fa44 100644 --- a/lib/src/screens/settings/connection_sync_page.dart +++ b/lib/src/screens/settings/connection_sync_page.dart @@ -2,6 +2,7 @@ import 'package:cake_wallet/reactions/wallet_connect.dart'; import 'package:cake_wallet/src/screens/settings/widgets/settings_cell_with_arrow.dart'; import 'package:cake_wallet/src/screens/settings/widgets/settings_picker_cell.dart'; import 'package:cake_wallet/src/screens/settings/widgets/settings_switcher_cell.dart'; +import 'package:cake_wallet/src/screens/settings/widgets/settings_tor_status.dart'; import 'package:cake_wallet/src/screens/settings/widgets/wallet_connect_button.dart'; import 'package:cake_wallet/utils/device_info.dart'; import 'package:cake_wallet/utils/feature_flag.dart'; @@ -92,22 +93,29 @@ class ConnectionSyncPage extends BasePage { ], if (FeatureFlag.isInAppTorEnabled) ...[ Container( - color: Colors.amber, // TODO: CW-519 change - padding: EdgeInsets.symmetric(horizontal: 24, vertical: 10), - + padding: EdgeInsets.symmetric(horizontal: 12, vertical: 10), child: Column(children: [ Observer(builder: (context) { return SettingsPickerCell( - title: S.current.background_sync_mode, + title: S.current.tor_connection, items: TorConnection.all, displayItem: (TorConnection torConnection) => torConnection.name, selectedItem: dashboardViewModel.torConnection, onItemSelected: dashboardViewModel.setTorConnection, + decoration: BoxDecoration( + borderRadius: BorderRadius.only(topLeft: Radius.circular(25), topRight: Radius.circular(25)), + color: const Color.fromARGB(255, 236, 244, 255), + ), ); }), - SettingsCellWithArrow( - title: S.current.tor_connection, - handler: (context) => Navigator.of(context).pushNamed(Routes.torPage), + TorListRow( + decoration: BoxDecoration( + borderRadius: BorderRadius.only(bottomLeft: Radius.circular(25), bottomRight: Radius.circular(25)), + color: const Color.fromARGB(255, 236, 244, 255), + ), + title: S.current.tor_status, + isSelected: false, + onTap: (context) {}, ), ]), ), diff --git a/lib/src/screens/settings/privacy_page.dart b/lib/src/screens/settings/privacy_page.dart index 0160f6516..dcc41254e 100644 --- a/lib/src/screens/settings/privacy_page.dart +++ b/lib/src/screens/settings/privacy_page.dart @@ -47,12 +47,6 @@ class PrivacyPage extends BasePage { _privacySettingsViewModel.setExchangeApiMode(mode), ), ), - SettingsSwitcherCell( - title: S.current.start_tor_on_launch, - value: _privacySettingsViewModel.shouldStartTorOnLaunch, - onValueChange: (BuildContext _, bool value) { - _privacySettingsViewModel.setShouldStartTorOnLaunch(value); - }), SettingsSwitcherCell( title: S.current.settings_save_recipient_address, value: _privacySettingsViewModel.shouldSaveRecipientAddress, diff --git a/lib/src/screens/settings/widgets/settings_picker_cell.dart b/lib/src/screens/settings/widgets/settings_picker_cell.dart index 8e0492330..019a2b3c1 100644 --- a/lib/src/screens/settings/widgets/settings_picker_cell.dart +++ b/lib/src/screens/settings/widgets/settings_picker_cell.dart @@ -14,10 +14,12 @@ class SettingsPickerCell extends StandardListRow { this.searchHintText, this.isGridView = false, this.matchingCriteria, - this.onItemSelected}) + this.onItemSelected, + this.decoration}) : super( title: title, isSelected: false, + decoration: decoration, onTap: (BuildContext context) async { final selectedAtIndex = items.indexOf(selectedItem); @@ -47,6 +49,7 @@ class SettingsPickerCell extends StandardListRow { final String? searchHintText; final bool isGridView; final bool Function(ItemType, String)? matchingCriteria; + final BoxDecoration? decoration; @override Widget buildTrailing(BuildContext context) { diff --git a/lib/src/screens/settings/widgets/settings_tor_status.dart b/lib/src/screens/settings/widgets/settings_tor_status.dart index 180942f84..3ca024e8e 100644 --- a/lib/src/screens/settings/widgets/settings_tor_status.dart +++ b/lib/src/screens/settings/widgets/settings_tor_status.dart @@ -5,51 +5,44 @@ import 'package:cake_wallet/themes/extensions/receive_page_theme.dart'; import 'package:cw_core/node.dart'; import 'package:flutter/material.dart'; import 'package:cake_wallet/themes/extensions/filter_theme.dart'; +import 'package:tor/tor.dart'; -class NodeListRow extends StandardListRow { - NodeListRow( +class TorListRow extends StandardListRow { + TorListRow( {required String title, - required this.node, required void Function(BuildContext context) onTap, required bool isSelected, - required this.isPow}) - : super(title: title, onTap: onTap, isSelected: isSelected); + BoxDecoration? decoration}) + : super(title: title, onTap: onTap, isSelected: isSelected, decoration: decoration); - final Node node; - final bool isPow; - - @override - Widget buildLeading(BuildContext context) { - return FutureBuilder( - future: node.requestNode(), - builder: (context, snapshot) { - switch (snapshot.connectionState) { - case ConnectionState.done: - return NodeIndicator(isLive: (snapshot.data as bool?) ?? false); - default: - return NodeIndicator(isLive: false); - } - }); - } @override Widget buildTrailing(BuildContext context) { - return GestureDetector( - onTap: () => Navigator.of(context).pushNamed(isPow ? Routes.newPowNode : Routes.newNode, - arguments: {'editingNode': node, 'isSelected': isSelected}), - child: Container( - padding: EdgeInsets.all(10), - decoration: BoxDecoration( - shape: BoxShape.circle, - color: Theme.of(context) - .extension()! - .iconsBackgroundColor), - child: Icon(Icons.edit, - size: 14, - color: Theme.of(context) - .extension()! - .iconsColor))); + // return FutureBuilder( + // future: node.requestNode(), + // builder: (context, snapshot) { + // switch (snapshot.connectionState) { + // case ConnectionState.done: + // return NodeIndicator(isLive: (snapshot.data as bool?) ?? false); + // default: + // return NodeIndicator(isLive: false); + // } + // }); + return NodeIndicator(isLive: Tor.instance.started); } + + // @override + // Widget buildTrailing(BuildContext context) { + // return GestureDetector( + // onTap: () {}, + // child: Container( + // padding: EdgeInsets.all(10), + // decoration: BoxDecoration( + // shape: BoxShape.circle, + // color: Theme.of(context).extension()!.iconsBackgroundColor), + // child: Icon(Icons.edit, + // size: 14, color: Theme.of(context).extension()!.iconsColor))); + // } } class NodeHeaderListRow extends StandardListRow { @@ -61,7 +54,7 @@ class NodeHeaderListRow extends StandardListRow { return SizedBox( width: 20, child: Icon(Icons.add, - color: Theme.of(context).extension()!.titlesColor,size: 24.0), + color: Theme.of(context).extension()!.titlesColor, size: 24.0), ); } } diff --git a/lib/store/settings_store.dart b/lib/store/settings_store.dart index 149f4010d..1bba0eba2 100644 --- a/lib/store/settings_store.dart +++ b/lib/store/settings_store.dart @@ -39,6 +39,7 @@ import 'package:cake_wallet/monero/monero.dart'; import 'package:cake_wallet/entities/action_list_display_mode.dart'; import 'package:cake_wallet/entities/fiat_api_mode.dart'; import 'package:cw_core/set_app_secure_native.dart'; +import 'package:tor/tor.dart'; part 'settings_store.g.dart'; class SettingsStore = SettingsStoreBase with _$SettingsStore; @@ -192,8 +193,9 @@ abstract class SettingsStoreBase with Store { final key = 'buyProvider_${walletType.toString()}'; final providerId = sharedPreferences.getString(key); if (providerId != null) { - defaultBuyProviders[walletType] = ProviderType.values - .firstWhere((provider) => provider.id == providerId, orElse: () => ProviderType.askEachTime); + defaultBuyProviders[walletType] = ProviderType.values.firstWhere( + (provider) => provider.id == providerId, + orElse: () => ProviderType.askEachTime); } else { defaultBuyProviders[walletType] = ProviderType.askEachTime; } @@ -203,8 +205,9 @@ abstract class SettingsStoreBase with Store { final key = 'sellProvider_${walletType.toString()}'; final providerId = sharedPreferences.getString(key); if (providerId != null) { - defaultSellProviders[walletType] = ProviderType.values - .firstWhere((provider) => provider.id == providerId, orElse: () => ProviderType.askEachTime); + defaultSellProviders[walletType] = ProviderType.values.firstWhere( + (provider) => provider.id == providerId, + orElse: () => ProviderType.askEachTime); } else { defaultSellProviders[walletType] = ProviderType.askEachTime; } @@ -314,10 +317,8 @@ abstract class SettingsStoreBase with Store { (FiatApiMode mode) => sharedPreferences.setInt(PreferencesKey.currentFiatApiModeKey, mode.serialize())); - reaction( - (_) => shouldStartTorOnLaunch, - (bool value) => - sharedPreferences.setBool(PreferencesKey.shouldStartTorOnLaunch, value)); + reaction((_) => shouldStartTorOnLaunch, + (bool value) => sharedPreferences.setBool(PreferencesKey.shouldStartTorOnLaunch, value)); reaction((_) => currentTheme, (ThemeBase theme) => sharedPreferences.setInt(PreferencesKey.currentTheme, theme.raw)); @@ -435,6 +436,21 @@ abstract class SettingsStoreBase with Store { _backgroundTasks.registerSyncTask(changeExisting: true); }); + reaction((_) => currentTorConnection, (TorConnection torConnection) async { + sharedPreferences.setInt(PreferencesKey.torConnectionKey, torConnection.type.index); + + if (torConnection.type == TorConnectionType.enabled) { + // Start the proxy + await Tor.init(); + await Tor.instance.start(); + + shouldStartTorOnLaunch = true; + } else { + Tor.instance.disable(); + shouldStartTorOnLaunch = false; + } + }); + reaction( (_) => exchangeStatus, (ExchangeApiMode mode) => @@ -786,7 +802,8 @@ abstract class SettingsStoreBase with Store { final currentFiatApiMode = FiatApiMode.deserialize( raw: sharedPreferences.getInt(PreferencesKey.currentFiatApiModeKey) ?? FiatApiMode.enabled.raw); - final shouldStartTorOnLaunch = sharedPreferences.getBool(PreferencesKey.shouldStartTorOnLaunch) ?? false; + final shouldStartTorOnLaunch = + sharedPreferences.getBool(PreferencesKey.shouldStartTorOnLaunch) ?? false; final allowBiometricalAuthentication = sharedPreferences.getBool(PreferencesKey.allowBiometricalAuthenticationKey) ?? false; final selectedCake2FAPreset = Cake2FAPresetsOptions.deserialize( diff --git a/res/values/strings_ar.arb b/res/values/strings_ar.arb index 80b535a07..4558fbb8c 100644 --- a/res/values/strings_ar.arb +++ b/res/values/strings_ar.arb @@ -760,5 +760,8 @@ "select_sell_provider_notice": ".ﻖﻴﺒﻄﺘﻟﺍ ﺕﺍﺩﺍﺪﻋﺇ ﻲﻓ ﻚﺑ ﺹﺎﺨﻟﺍ ﻲﺿﺍﺮﺘﻓﻻﺍ ﻊﻴﺒﻟﺍ ﺩﻭﺰﻣ ﻦﻴﻴﻌﺗ ﻖﻳﺮﻃ ﻦﻋ ﺔﺷﺎﺸﻟﺍ ﻩﺬﻫ ﻲﻄﺨﺗ", "custom_drag": "مخصص (عقد وسحب)", "switchToEVMCompatibleWallet": " (Ethereum، Polygon) ﻯﺮﺧﺃ ﺓﺮﻣ ﺔﻟﻭﺎﺤﻤﻟﺍﻭ EVM ﻊﻣ ﺔﻘﻓﺍﻮﺘﻣ ﺔﻈﻔﺤﻣ ﻰﻟﺇ ﻞﻳﺪﺒﺘﻟﺍ ﻰﺟﺮﻳ", - "start_tor_on_launch": "ابدأ في الإطلاق" + "start_tor_on_launch": "ابدأ في الإطلاق", + "tor_status": "وضع تور", + "connected": "متصل", + "disconnected": "انقطع الاتصال" } \ No newline at end of file diff --git a/res/values/strings_bg.arb b/res/values/strings_bg.arb index f4efff3e9..7f62a47c1 100644 --- a/res/values/strings_bg.arb +++ b/res/values/strings_bg.arb @@ -756,5 +756,8 @@ "select_sell_provider_notice": "Изберете доставчик на продажба по-горе. Можете да пропуснете този екран, като зададете своя доставчик на продажба по подразбиране в настройките на приложението.", "custom_drag": "Персонализиране (задръжте и плъзнете)", "switchToEVMCompatibleWallet": "Моля, превключете към портфейл, съвместим с EVM, и опитайте отново (Ethereum, Polygon)", - "start_tor_on_launch": "Стартирайте Tor при стартиране" + "start_tor_on_launch": "Стартирайте Tor при стартиране", + "tor_status": "TOR статус", + "connected": "Свързани", + "disconnected": "Изключен" } \ No newline at end of file diff --git a/res/values/strings_cs.arb b/res/values/strings_cs.arb index 32fb8614f..6c0bcbc87 100644 --- a/res/values/strings_cs.arb +++ b/res/values/strings_cs.arb @@ -756,5 +756,8 @@ "select_sell_provider_notice": "Výše vyberte poskytovatele prodeje. Tuto obrazovku můžete přeskočit nastavením výchozího poskytovatele prodeje v nastavení aplikace.", "custom_drag": "Custom (Hold and Drag)", "switchToEVMCompatibleWallet": "Přepněte na peněženku kompatibilní s EVM a zkuste to znovu (Ethereum, Polygon)", - "start_tor_on_launch": "Začněte tor při spuštění" + "start_tor_on_launch": "Začněte tor při spuštění", + "tor_status": "TOR status", + "connected": "Připojeno", + "disconnected": "Odpojené" } \ No newline at end of file diff --git a/res/values/strings_de.arb b/res/values/strings_de.arb index d43749116..4369fb492 100644 --- a/res/values/strings_de.arb +++ b/res/values/strings_de.arb @@ -764,5 +764,8 @@ "select_sell_provider_notice": "Wählen Sie oben einen Verkaufsanbieter aus. Sie können diesen Bildschirm überspringen, indem Sie in den App-Einstellungen Ihren Standard-Verkaufsanbieter festlegen.", "custom_drag": "Custom (Hold and Drag)", "switchToEVMCompatibleWallet": "Bitte wechseln Sie zu einem EVM-kompatiblen Wallet und versuchen Sie es erneut (Ethereum, Polygon)", - "start_tor_on_launch": "Starten Sie den Start" + "start_tor_on_launch": "Starten Sie den Start", + "tor_status": "Torstatus", + "connected": "In Verbindung gebracht", + "disconnected": "Getrennt" } \ No newline at end of file diff --git a/res/values/strings_en.arb b/res/values/strings_en.arb index 570113509..7644d187e 100644 --- a/res/values/strings_en.arb +++ b/res/values/strings_en.arb @@ -765,5 +765,8 @@ "select_sell_provider_notice": "Select a sell provider above. You can skip this screen by setting your default sell provider in app settings.", "custom_drag": "Custom (Hold and Drag)", "switchToEVMCompatibleWallet": "Please switch to an EVM compatible wallet and try again (Ethereum, Polygon)", - "start_tor_on_launch": "Start Tor on launch" + "start_tor_on_launch": "Start Tor on launch", + "tor_status": "Tor status", + "connected": "Connected", + "disconnected": "Disconnected" } \ No newline at end of file diff --git a/res/values/strings_es.arb b/res/values/strings_es.arb index c1f45e085..c015f59e5 100644 --- a/res/values/strings_es.arb +++ b/res/values/strings_es.arb @@ -764,5 +764,8 @@ "select_sell_provider_notice": "Seleccione un proveedor de venta arriba. Puede omitir esta pantalla configurando su proveedor de venta predeterminado en la configuración de la aplicación.", "custom_drag": "Custom (mantenía y arrastre)", "switchToEVMCompatibleWallet": "Cambie a una billetera compatible con EVM e inténtelo nuevamente (Ethereum, Polygon)", - "start_tor_on_launch": "Iniciar tor en el lanzamiento" + "start_tor_on_launch": "Iniciar tor en el lanzamiento", + "tor_status": "Estado de Tor", + "connected": "Conectado", + "disconnected": "Desconectado" } \ No newline at end of file diff --git a/res/values/strings_fr.arb b/res/values/strings_fr.arb index b902d0e68..01243e78d 100644 --- a/res/values/strings_fr.arb +++ b/res/values/strings_fr.arb @@ -764,5 +764,8 @@ "select_sell_provider_notice": "Sélectionnez un fournisseur de vente ci-dessus. Vous pouvez ignorer cet écran en définissant votre fournisseur de vente par défaut dans les paramètres de l'application.", "custom_drag": "Custom (maintenir et traîner)", "switchToEVMCompatibleWallet": "Veuillez passer à un portefeuille compatible EVM et réessayer (Ethereum, Polygon)", - "start_tor_on_launch": "Démarrez Tor sur le lancement" + "start_tor_on_launch": "Démarrez Tor sur le lancement", + "tor_status": "Statut", + "connected": "Connecté", + "disconnected": "Débranché" } \ No newline at end of file diff --git a/res/values/strings_ha.arb b/res/values/strings_ha.arb index a7c2f6ecb..61d06ad9a 100644 --- a/res/values/strings_ha.arb +++ b/res/values/strings_ha.arb @@ -746,5 +746,8 @@ "select_sell_provider_notice": "Zaɓi mai bada siyarwa a sama. Kuna iya tsallake wannan allon ta saita mai bada siyar da ku a cikin saitunan app.", "custom_drag": "Al'ada (riƙe da ja)", "switchToEVMCompatibleWallet": "Da fatan za a canza zuwa walat ɗin EVM mai jituwa kuma a sake gwadawa (Ethereum, Polygon)", - "start_tor_on_launch": "Fara tor a kan shimfiɗa" + "start_tor_on_launch": "Fara tor a kan shimfiɗa", + "tor_status": "State State", + "connected": "Wanda aka haɗa", + "disconnected": "Katse" } \ No newline at end of file diff --git a/res/values/strings_hi.arb b/res/values/strings_hi.arb index 3a5028622..6c34a93ba 100644 --- a/res/values/strings_hi.arb +++ b/res/values/strings_hi.arb @@ -764,5 +764,8 @@ "select_sell_provider_notice": "ऊपर एक विक्रय प्रदाता का चयन करें। आप ऐप सेटिंग में अपना डिफ़ॉल्ट विक्रय प्रदाता सेट करके इस स्क्रीन को छोड़ सकते हैं।", "custom_drag": "कस्टम (पकड़ और खींचें)", "switchToEVMCompatibleWallet": "कृपया ईवीएम संगत वॉलेट पर स्विच करें और पुनः प्रयास करें (एथेरियम, पॉलीगॉन)", - "start_tor_on_launch": "लॉन्च पर टोर शुरू करें" + "start_tor_on_launch": "लॉन्च पर टोर शुरू करें", + "tor_status": "टोर की स्थिति", + "connected": "जुड़े हुए", + "disconnected": "डिस्कनेक्ट किया गया" } \ No newline at end of file diff --git a/res/values/strings_hr.arb b/res/values/strings_hr.arb index 9e040e108..8d1532cc8 100644 --- a/res/values/strings_hr.arb +++ b/res/values/strings_hr.arb @@ -762,5 +762,8 @@ "select_sell_provider_notice": "Gore odaberite pružatelja usluga prodaje. Ovaj zaslon možete preskočiti postavljanjem zadanog pružatelja usluga prodaje u postavkama aplikacije.", "custom_drag": "Prilagođeni (držite i povucite)", "switchToEVMCompatibleWallet": "Prijeđite na novčanik kompatibilan s EVM-om i pokušajte ponovno (Ethereum, Polygon)", - "start_tor_on_launch": "Započnite s lansiranjem" + "start_tor_on_launch": "Započnite s lansiranjem", + "tor_status": "Status tor", + "connected": "Povezan", + "disconnected": "Isključen" } \ No newline at end of file diff --git a/res/values/strings_id.arb b/res/values/strings_id.arb index 35c658f3c..091780360 100644 --- a/res/values/strings_id.arb +++ b/res/values/strings_id.arb @@ -752,5 +752,8 @@ "select_sell_provider_notice": "Pilih penyedia jual di atas. Anda dapat melewati layar ini dengan mengatur penyedia penjualan default Anda di pengaturan aplikasi.", "custom_drag": "Khusus (tahan dan seret)", "switchToEVMCompatibleWallet": "Silakan beralih ke dompet yang kompatibel dengan EVM dan coba lagi (Ethereum, Polygon)", - "start_tor_on_launch": "Mulailah untuk peluncuran" + "start_tor_on_launch": "Mulailah untuk peluncuran", + "tor_status": "Status Tor", + "connected": "Terhubung", + "disconnected": "Terputus" } \ No newline at end of file diff --git a/res/values/strings_it.arb b/res/values/strings_it.arb index 87197c1aa..fc610c835 100644 --- a/res/values/strings_it.arb +++ b/res/values/strings_it.arb @@ -764,5 +764,8 @@ "select_sell_provider_notice": "Seleziona un fornitore di vendita sopra. Puoi saltare questa schermata impostando il tuo fornitore di vendita predefinito nelle impostazioni dell'app.", "custom_drag": "Custom (Hold and Drag)", "switchToEVMCompatibleWallet": "Passa a un portafoglio compatibile con EVM e riprova (Ethereum, Polygon)", - "start_tor_on_launch": "Inizia Tor al lancio" + "start_tor_on_launch": "Inizia Tor al lancio", + "tor_status": "Stato di tor", + "connected": "Collegato", + "disconnected": "Disconnesso" } \ No newline at end of file diff --git a/res/values/strings_ja.arb b/res/values/strings_ja.arb index 53833555e..9a510f0a0 100644 --- a/res/values/strings_ja.arb +++ b/res/values/strings_ja.arb @@ -764,5 +764,8 @@ "select_sell_provider_notice": "上記の販売プロバイダーを選択してください。アプリ設定でデフォルトの販売プロバイダーを設定することで、この画面をスキップできます。", "custom_drag": "カスタム(ホールドとドラッグ)", "switchToEVMCompatibleWallet": "EVM 互換のウォレットに切り替えて再試行してください (イーサリアム、ポリゴン)", - "start_tor_on_launch": "起動時にTORを開始します" + "start_tor_on_launch": "起動時にTORを開始します", + "tor_status": "TORステータス", + "connected": "接続", + "disconnected": "切断された" } \ No newline at end of file diff --git a/res/values/strings_ko.arb b/res/values/strings_ko.arb index 9e2447061..955ec1229 100644 --- a/res/values/strings_ko.arb +++ b/res/values/strings_ko.arb @@ -762,5 +762,8 @@ "select_sell_provider_notice": "위에서 판매 공급자를 선택하세요. 앱 설정에서 기본 판매 공급자를 설정하면 이 화면을 건너뛸 수 있습니다.", "custom_drag": "사용자 정의 (홀드 앤 드래그)", "switchToEVMCompatibleWallet": "EVM 호환 지갑으로 전환 후 다시 시도해 주세요. (이더리움, 폴리곤)", - "start_tor_on_launch": "출시시 TOR를 시작하십시오" + "start_tor_on_launch": "출시시 TOR를 시작하십시오", + "tor_status": "Tor 상태", + "connected": "연결", + "disconnected": "연결이 끊어졌습니다" } \ No newline at end of file diff --git a/res/values/strings_my.arb b/res/values/strings_my.arb index 4d839a624..0084a2140 100644 --- a/res/values/strings_my.arb +++ b/res/values/strings_my.arb @@ -762,5 +762,8 @@ "select_sell_provider_notice": "အထက်ဖော်ပြပါ အရောင်းဝန်ဆောင်မှုပေးသူကို ရွေးပါ။ အက်ပ်ဆက်တင်များတွင် သင်၏မူလရောင်းချပေးသူကို သတ်မှတ်ခြင်းဖြင့် ဤစခရင်ကို ကျော်နိုင်သည်။", "custom_drag": "စိတ်ကြိုက် (Drag)", "switchToEVMCompatibleWallet": "ကျေးဇူးပြု၍ EVM တွဲဖက်သုံးနိုင်သော ပိုက်ဆံအိတ်သို့ ပြောင်းပြီး ထပ်စမ်းကြည့်ပါ (Ethereum၊ Polygon)", - "start_tor_on_launch": "Tor ကိုဖွင့်ပါ" + "start_tor_on_launch": "Tor ကိုဖွင့်ပါ", + "tor_status": "Tor Status", + "connected": "ချိတ်ဆက်ထားသော", + "disconnected": "ချို့ယွင်းချက်" } \ No newline at end of file diff --git a/res/values/strings_nl.arb b/res/values/strings_nl.arb index 9ba72b4b3..e5267d2dc 100644 --- a/res/values/strings_nl.arb +++ b/res/values/strings_nl.arb @@ -764,5 +764,8 @@ "select_sell_provider_notice": "Selecteer hierboven een verkoopaanbieder. U kunt dit scherm overslaan door uw standaardverkoopprovider in te stellen in de app-instellingen.", "custom_drag": "Custom (vasthouden en slepen)", "switchToEVMCompatibleWallet": "Schakel over naar een EVM-compatibele portemonnee en probeer het opnieuw (Ethereum, Polygon)", - "start_tor_on_launch": "Begin met de lancering" + "start_tor_on_launch": "Begin met de lancering", + "tor_status": "Tor Status", + "connected": "Verbonden", + "disconnected": "Losgekoppeld" } \ No newline at end of file diff --git a/res/values/strings_pl.arb b/res/values/strings_pl.arb index 34525f809..927f973f9 100644 --- a/res/values/strings_pl.arb +++ b/res/values/strings_pl.arb @@ -764,5 +764,8 @@ "select_sell_provider_notice": "Wybierz dostawcę sprzedaży powyżej. Możesz pominąć ten ekran, ustawiając domyślnego dostawcę sprzedaży w ustawieniach aplikacji.", "custom_drag": "Niestandardowe (trzymaj i przeciągnij)", "switchToEVMCompatibleWallet": "Przejdź na portfel zgodny z EVM i spróbuj ponownie (Ethereum, Polygon)", - "start_tor_on_launch": "Rozpocznij TOR OD LATH" + "start_tor_on_launch": "Rozpocznij TOR OD LATH", + "tor_status": "Status TOR", + "connected": "Połączony", + "disconnected": "Bezładny" } \ No newline at end of file diff --git a/res/values/strings_pt.arb b/res/values/strings_pt.arb index 932024cab..f099c4fb6 100644 --- a/res/values/strings_pt.arb +++ b/res/values/strings_pt.arb @@ -763,5 +763,8 @@ "select_sell_provider_notice": "Selecione um fornecedor de venda acima. Você pode pular esta tela definindo seu provedor de venda padrão nas configurações do aplicativo.", "custom_drag": "Personalizado (segure e arraste)", "switchToEVMCompatibleWallet": "Mude para uma carteira compatível com EVM e tente novamente (Ethereum, Polygon)", - "start_tor_on_launch": "Inicie o TOR no lançamento" + "start_tor_on_launch": "Inicie o TOR no lançamento", + "tor_status": "Status de tor", + "connected": "Conectado", + "disconnected": "Desconectado" } \ No newline at end of file diff --git a/res/values/strings_ru.arb b/res/values/strings_ru.arb index 1cfb03225..91c10bf13 100644 --- a/res/values/strings_ru.arb +++ b/res/values/strings_ru.arb @@ -764,5 +764,8 @@ "select_sell_provider_notice": "Выберите поставщика услуг продажи выше. Вы можете пропустить этот экран, установив поставщика услуг продаж по умолчанию в настройках приложения.", "custom_drag": "Пользователь (удерживайте и перетаскивайте)", "switchToEVMCompatibleWallet": "Пожалуйста, переключитесь на кошелек, совместимый с EVM, и повторите попытку (Ethereum, Polygon).", - "start_tor_on_launch": "Запустить" + "start_tor_on_launch": "Запустить", + "tor_status": "ТОР Статус", + "connected": "Связанный", + "disconnected": "Отключен" } \ No newline at end of file diff --git a/res/values/strings_th.arb b/res/values/strings_th.arb index 1e729a359..2389a5bc6 100644 --- a/res/values/strings_th.arb +++ b/res/values/strings_th.arb @@ -762,5 +762,8 @@ "select_sell_provider_notice": "เลือกผู้ให้บริการการขายด้านบน คุณสามารถข้ามหน้าจอนี้ได้โดยการตั้งค่าผู้ให้บริการการขายเริ่มต้นในการตั้งค่าแอป", "custom_drag": "กำหนดเอง (ค้างและลาก)", "switchToEVMCompatibleWallet": "โปรดเปลี่ยนไปใช้กระเป๋าเงินที่รองรับ EVM แล้วลองอีกครั้ง (Ethereum, Polygon)", - "start_tor_on_launch": "เริ่มต้นเมื่อเปิดตัว" + "start_tor_on_launch": "เริ่มต้นเมื่อเปิดตัว", + "tor_status": "สถานะ tor", + "connected": "ซึ่งเชื่อมต่อกัน", + "disconnected": "ตัดการเชื่อมต่อ" } \ No newline at end of file diff --git a/res/values/strings_tl.arb b/res/values/strings_tl.arb index f1aff41a3..42f4b5118 100644 --- a/res/values/strings_tl.arb +++ b/res/values/strings_tl.arb @@ -758,5 +758,8 @@ "select_sell_provider_notice": "Pumili ng provider ng nagbebenta sa itaas. Maaari mong laktawan ang screen na ito sa pamamagitan ng pagtatakda ng iyong default na sell provider sa mga setting ng app.", "custom_drag": "Pasadyang (hawakan at i -drag)", "switchToEVMCompatibleWallet": "Mangyaring lumipat sa isang EVM compatible na wallet at subukang muli (Ethereum, Polygon)", - "start_tor_on_launch": "Simulan ang tor sa paglulunsad" + "start_tor_on_launch": "Simulan ang tor sa paglulunsad", + "tor_status": "Katayuan ng tor", + "connected": "Konektado", + "disconnected": "Naka -disconnect" } \ No newline at end of file diff --git a/res/values/strings_tr.arb b/res/values/strings_tr.arb index e668e9ad4..df7d2cff7 100644 --- a/res/values/strings_tr.arb +++ b/res/values/strings_tr.arb @@ -762,5 +762,8 @@ "select_sell_provider_notice": "Yukarıdan bir satış sağlayıcısı seçin. Uygulama ayarlarında varsayılan satış sağlayıcınızı ayarlayarak bu ekranı atlayabilirsiniz.", "custom_drag": "Özel (Bekle ve Sürükle)", "switchToEVMCompatibleWallet": "Lütfen EVM uyumlu bir cüzdana geçin ve tekrar deneyin (Ethereum, Polygon)", - "start_tor_on_launch": "Lansmanda Tor'a Başla" + "start_tor_on_launch": "Lansmanda Tor'a Başla", + "tor_status": "Tor Durumu", + "connected": "Bağlı", + "disconnected": "Bağlantı kesildi" } \ No newline at end of file diff --git a/res/values/strings_uk.arb b/res/values/strings_uk.arb index 249c39140..c06edaea5 100644 --- a/res/values/strings_uk.arb +++ b/res/values/strings_uk.arb @@ -764,5 +764,8 @@ "select_sell_provider_notice": "Виберіть вище постачальника послуг продажу. Ви можете пропустити цей екран, встановивши постачальника послуг продажу за умовчанням у налаштуваннях програми.", "custom_drag": "На замовлення (утримуйте та перетягується)", "switchToEVMCompatibleWallet": "Перейдіть на гаманець, сумісний з EVM, і повторіть спробу (Ethereum, Polygon)", - "start_tor_on_launch": "Почніть Тор на запуску" + "start_tor_on_launch": "Почніть Тор на запуску", + "tor_status": "Статус Tor", + "connected": "З'єднаний", + "disconnected": "Роз'єднаний" } \ No newline at end of file diff --git a/res/values/strings_ur.arb b/res/values/strings_ur.arb index ace95dfa3..d0118d391 100644 --- a/res/values/strings_ur.arb +++ b/res/values/strings_ur.arb @@ -756,5 +756,8 @@ "select_sell_provider_notice": "۔ﮟﯿﮨ ﮯﺘﮑﺳ ﮌﻮﮭﭼ ﻮﮐ ﻦﯾﺮﮑﺳﺍ ﺱﺍ ﺮﮐ ﮮﺩ ﺐﯿﺗﺮﺗ ﻮﮐ ﮦﺪﻨﻨﮐ ﻢﮨﺍﺮﻓ ﻞﯿﺳ ﭧﻟﺎﻔﯾﮈ ﮯﻨﭘﺍ ﮟﯿﻣ ﺕﺎﺒ", "custom_drag": "کسٹم (ہولڈ اینڈ ڈریگ)", "switchToEVMCompatibleWallet": "(Ethereum, Polygon) ﮟﯾﺮﮐ ﺶﺷﻮﮐ ﮦﺭﺎﺑﻭﺩ ﺭﻭﺍ ﮟﯾﺮﮐ ﭻﺋﻮﺳ ﺮﭘ ﭧﯿﻟﺍﻭ ﮯﻟﺍﻭ ﮯﻨﮭﮐﺭ ﺖﻘﺑﺎﻄﻣ ", - "start_tor_on_launch": "لانچ پر ٹور شروع کریں" + "start_tor_on_launch": "لانچ پر ٹور شروع کریں", + "tor_status": "ٹور کی حیثیت", + "connected": "منسلک", + "disconnected": "منقطع" } \ No newline at end of file diff --git a/res/values/strings_yo.arb b/res/values/strings_yo.arb index 053db3851..afd4519b9 100644 --- a/res/values/strings_yo.arb +++ b/res/values/strings_yo.arb @@ -758,5 +758,8 @@ "select_sell_provider_notice": "Yan olupese ti o ta loke. O le foju iboju yii nipa tito olupese iṣẹ tita aiyipada rẹ ni awọn eto app.", "custom_drag": "Aṣa (mu ati fa)", "switchToEVMCompatibleWallet": "Jọwọ yipada si apamọwọ ibaramu EVM ki o tun gbiyanju lẹẹkansi (Ethereum, Polygon)", - "start_tor_on_launch": "Bẹrẹ tor lori ifilole" + "start_tor_on_launch": "Bẹrẹ tor lori ifilole", + "tor_status": "Ipo Tor", + "connected": "Sopọ", + "disconnected": "Ge asopọ" } \ No newline at end of file diff --git a/res/values/strings_zh.arb b/res/values/strings_zh.arb index 1c1951bf0..864e78b09 100644 --- a/res/values/strings_zh.arb +++ b/res/values/strings_zh.arb @@ -763,5 +763,8 @@ "select_sell_provider_notice": "选择上面的销售提供商。您可以通过在应用程序设置中设置默认销售提供商来跳过此屏幕。", "custom_drag": "定制(保持和拖动)", "switchToEVMCompatibleWallet": "请切换到 EVM 兼容钱包并重试(以太坊、Polygon)", - "start_tor_on_launch": "启动TOR发射" + "start_tor_on_launch": "启动TOR发射", + "tor_status": "TOR状态", + "connected": "连接的", + "disconnected": "断开连接" } \ No newline at end of file