Merge branch 'main' into CAKE-303-add-buy-button-for-xmr-wallet

This commit is contained in:
M 2021-05-10 19:33:46 +03:00
commit d9d9e3d4c1
43 changed files with 1275 additions and 251 deletions

View file

@ -1,15 +1,49 @@
package com.cakewallet.cake_wallet; package com.cakewallet.cake_wallet;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterFragmentActivity; import io.flutter.embedding.android.FlutterFragmentActivity;
import io.flutter.embedding.engine.FlutterEngine; import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugins.GeneratedPluginRegistrant; import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.Looper;
import java.security.SecureRandom;
public class MainActivity extends FlutterFragmentActivity { public class MainActivity extends FlutterFragmentActivity {
final String UTILS_CHANNEL = "com.cake_wallet/native_utils";
@Override @Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) { public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine); GeneratedPluginRegistrant.registerWith(flutterEngine);
MethodChannel utilsChannel =
new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(),
UTILS_CHANNEL);
utilsChannel.setMethodCallHandler(this::handle);
}
private void handle(@NonNull MethodCall call, @NonNull MethodChannel.Result result) {
Handler handler = new Handler(Looper.getMainLooper());
try {
if (call.method.equals("sec_random")) {
int count = call.argument("count");
SecureRandom random = new SecureRandom();
byte bytes[] = new byte[count];
random.nextBytes(bytes);
handler.post(() -> result.success(bytes));
} else {
handler.post(() -> result.notImplemented());
}
} catch (Exception e) {
handler.post(() -> result.error("UNCAUGHT_ERROR", e.getMessage(), null));
}
} }
} }

View file

@ -1,13 +0,0 @@
package com.cakewallet.cake_wallet
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.android.FlutterFragmentActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity: FlutterActivity() {
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine){
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@android:color/white" />
<foreground android:drawable="@drawable/ic_launcher" />
</adaptive-icon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 3 KiB

View file

@ -0,0 +1,12 @@
import Foundation
func secRandom(count: Int) -> Data? {
var bytes = [Int8](repeating: 0, count: count)
let status = SecRandomCopyBytes(kSecRandomDefault, bytes.count, &bytes)
if status == errSecSuccess {
return Data(bytes: bytes, count: bytes.count)
}
return nil
}

View file

@ -8,6 +8,7 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
0C44A71A2518EF8000B570ED /* decrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C44A7192518EF8000B570ED /* decrypt.swift */; }; 0C44A71A2518EF8000B570ED /* decrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C44A7192518EF8000B570ED /* decrypt.swift */; };
0C9D68C9264854B60011B691 /* secRandom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C9D68C8264854B60011B691 /* secRandom.swift */; };
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
20ED0868E1BD7E12278C0CB3 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B26E3F56D69167FBB1DC160A /* Pods_Runner.framework */; }; 20ED0868E1BD7E12278C0CB3 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B26E3F56D69167FBB1DC160A /* Pods_Runner.framework */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
@ -21,6 +22,7 @@
0C400E0F25B21ABB0025E469 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; }; 0C400E0F25B21ABB0025E469 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
0C44A7192518EF8000B570ED /* decrypt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = decrypt.swift; sourceTree = "<group>"; }; 0C44A7192518EF8000B570ED /* decrypt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = decrypt.swift; sourceTree = "<group>"; };
0C9986A3251A932F00D566FD /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 0C9986A3251A932F00D566FD /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
0C9D68C8264854B60011B691 /* secRandom.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = secRandom.swift; sourceTree = "<group>"; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
20F67A1B2C2FCB2A3BB048C1 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; }; 20F67A1B2C2FCB2A3BB048C1 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
@ -65,6 +67,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
0C44A7192518EF8000B570ED /* decrypt.swift */, 0C44A7192518EF8000B570ED /* decrypt.swift */,
0C9D68C8264854B60011B691 /* secRandom.swift */,
); );
path = CakeWallet; path = CakeWallet;
sourceTree = "<group>"; sourceTree = "<group>";
@ -274,6 +277,7 @@
files = ( files = (
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
0C9D68C9264854B60011B691 /* secRandom.swift in Sources */,
0C44A71A2518EF8000B570ED /* decrypt.swift in Sources */, 0C44A71A2518EF8000B570ED /* decrypt.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
@ -358,7 +362,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 35; CURRENT_PROJECT_VERSION = 37;
DEVELOPMENT_TEAM = 32J6BB6VUS; DEVELOPMENT_TEAM = 32J6BB6VUS;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
@ -375,7 +379,7 @@
"$(inherited)", "$(inherited)",
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
MARKETING_VERSION = 4.1.6; MARKETING_VERSION = 4.1.7;
PRODUCT_BUNDLE_IDENTIFIER = com.fotolockr.cakewallet; PRODUCT_BUNDLE_IDENTIFIER = com.fotolockr.cakewallet;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@ -501,7 +505,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 35; CURRENT_PROJECT_VERSION = 37;
DEVELOPMENT_TEAM = 32J6BB6VUS; DEVELOPMENT_TEAM = 32J6BB6VUS;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
@ -518,7 +522,7 @@
"$(inherited)", "$(inherited)",
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
MARKETING_VERSION = 4.1.6; MARKETING_VERSION = 4.1.7;
PRODUCT_BUNDLE_IDENTIFIER = com.fotolockr.cakewallet; PRODUCT_BUNDLE_IDENTIFIER = com.fotolockr.cakewallet;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@ -536,7 +540,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 35; CURRENT_PROJECT_VERSION = 37;
DEVELOPMENT_TEAM = 32J6BB6VUS; DEVELOPMENT_TEAM = 32J6BB6VUS;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
@ -553,7 +557,7 @@
"$(inherited)", "$(inherited)",
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
MARKETING_VERSION = 4.1.6; MARKETING_VERSION = 4.1.7;
PRODUCT_BUNDLE_IDENTIFIER = com.fotolockr.cakewallet; PRODUCT_BUNDLE_IDENTIFIER = com.fotolockr.cakewallet;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";

View file

@ -8,9 +8,10 @@ import Flutter
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool { ) -> Bool {
let controller : FlutterViewController = window?.rootViewController as! FlutterViewController let controller : FlutterViewController = window?.rootViewController as! FlutterViewController
let batteryChannel = FlutterMethodChannel(name: "com.cakewallet.cakewallet/legacy_wallet_migration", let legacyMigrationChannel = FlutterMethodChannel(
binaryMessenger: controller.binaryMessenger) name: "com.cakewallet.cakewallet/legacy_wallet_migration",
batteryChannel.setMethodCallHandler({ binaryMessenger: controller.binaryMessenger)
legacyMigrationChannel.setMethodCallHandler({
(call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in (call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in
switch call.method { switch call.method {
@ -52,6 +53,24 @@ import Flutter
} }
}) })
let utilsChannel = FlutterMethodChannel(
name: "com.cake_wallet/native_utils",
binaryMessenger: controller.binaryMessenger)
utilsChannel.setMethodCallHandler({ (call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in
switch call.method {
case "sec_random":
guard let args = call.arguments as? Dictionary<String, Any>,
let count = args["count"] as? Int else {
result(nil)
return
}
result(secRandom(count: count))
default:
result(FlutterMethodNotImplemented)
}
})
GeneratedPluginRegistrant.register(with: self) GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions) return super.application(application, didFinishLaunchingWithOptions: launchOptions)
} }

View file

@ -4,23 +4,11 @@ import 'dart:typed_data';
import 'package:crypto/crypto.dart'; import 'package:crypto/crypto.dart';
import 'package:unorm_dart/unorm_dart.dart' as unorm; import 'package:unorm_dart/unorm_dart.dart' as unorm;
import 'package:cryptography/cryptography.dart' as cryptography; import 'package:cryptography/cryptography.dart' as cryptography;
import 'package:cake_wallet/core/sec_random_native.dart';
const segwit = '100'; const segwit = '100';
final wordlist = englishWordlist; final wordlist = englishWordlist;
Uint8List randomBytes(int length, {bool secure = false}) {
assert(length > 0);
final random = secure ? Random.secure() : Random();
final ret = Uint8List(length);
for (var i = 0; i < length; i++) {
ret[i] = random.nextInt(256);
}
return ret;
}
double logBase(num x, num base) => log(x) / log(base); double logBase(num x, num base) => log(x) / log(base);
String mnemonicEncode(int i) { String mnemonicEncode(int i) {
@ -102,14 +90,15 @@ List<bool> prefixMatches(String source, List<String> prefixes) {
return prefixes.map((prefix) => hx.startsWith(prefix.toLowerCase())).toList(); return prefixes.map((prefix) => hx.startsWith(prefix.toLowerCase())).toList();
} }
String generateMnemonic({int strength = 132, String prefix = segwit}) { Future<String> generateMnemonic(
{int strength = 264, String prefix = segwit}) async {
final wordBitlen = logBase(wordlist.length, 2).ceil(); final wordBitlen = logBase(wordlist.length, 2).ceil();
final wordCount = strength / wordBitlen; final wordCount = strength / wordBitlen;
final byteCount = ((wordCount * wordBitlen).ceil() / 8).ceil(); final byteCount = ((wordCount * wordBitlen).ceil() / 8).ceil();
var result = ''; var result = '';
do { do {
final bytes = randomBytes(byteCount); final bytes = await secRandom(byteCount);
maskBytes(bytes, strength); maskBytes(bytes, strength);
result = encode(bytes); result = encode(bytes);
} while (!prefixMatches(result, [prefix]).first); } while (!prefixMatches(result, [prefix]).first);
@ -134,7 +123,7 @@ bool matchesAnyPrefix(String mnemonic) =>
bool validateMnemonic(String mnemonic, {String prefix = segwit}) { bool validateMnemonic(String mnemonic, {String prefix = segwit}) {
try { try {
return matchesAnyPrefix(mnemonic); return matchesAnyPrefix(mnemonic);
} catch(e) { } catch (e) {
return false; return false;
} }
} }

View file

@ -1,5 +1,5 @@
class BitcoinMnemonicIsIncorrectException implements Exception { class BitcoinMnemonicIsIncorrectException implements Exception {
@override @override
String toString() => String toString() =>
'Bitcoin mnemonic has incorrect format. Mnemonic should contain 12 words separated by space.'; 'Bitcoin mnemonic has incorrect format. Mnemonic should contain 24 words separated by space.';
} }

View file

@ -25,7 +25,7 @@ class BitcoinWalletService extends WalletService<
type: WalletType.bitcoin, name: credentials.name); type: WalletType.bitcoin, name: credentials.name);
final wallet = BitcoinWalletBase.build( final wallet = BitcoinWalletBase.build(
dirPath: dirPath, dirPath: dirPath,
mnemonic: generateMnemonic(), mnemonic: await generateMnemonic(),
password: credentials.password, password: credentials.password,
name: credentials.name, name: credentials.name,
walletInfo: credentials.walletInfo); walletInfo: credentials.walletInfo);
@ -47,7 +47,7 @@ class BitcoinWalletService extends WalletService<
final walletPath = '$walletDirPath/$name'; final walletPath = '$walletDirPath/$name';
final walletJSONRaw = await read(path: walletPath, password: password); final walletJSONRaw = await read(path: walletPath, password: password);
final walletInfo = walletInfoSource.values.firstWhere( final walletInfo = walletInfoSource.values.firstWhere(
(info) => info.id == WalletBase.idFor(name, WalletType.bitcoin), (info) => info.id == WalletBase.idFor(name, WalletType.bitcoin),
orElse: () => null); orElse: () => null);
final wallet = BitcoinWalletBase.fromJSON( final wallet = BitcoinWalletBase.fromJSON(
password: password, password: password,

View file

@ -0,0 +1,13 @@
import 'dart:typed_data';
import 'package:flutter/services.dart';
const utils = const MethodChannel('com.cake_wallet/native_utils');
Future<Uint8List> secRandom(int count) async {
try {
return await utils.invokeMethod<Uint8List>('sec_random', {'count': count});
} on PlatformException catch (_) {
return Uint8List.fromList([]);
}
}

View file

@ -19,7 +19,6 @@ class CryptoCurrency extends EnumerableItem<int> with Serializable<int> {
CryptoCurrency.eos, CryptoCurrency.eos,
CryptoCurrency.eth, CryptoCurrency.eth,
CryptoCurrency.ltc, CryptoCurrency.ltc,
CryptoCurrency.nano,
CryptoCurrency.trx, CryptoCurrency.trx,
CryptoCurrency.usdt, CryptoCurrency.usdt,
CryptoCurrency.usdterc20, CryptoCurrency.usdterc20,
@ -29,7 +28,7 @@ class CryptoCurrency extends EnumerableItem<int> with Serializable<int> {
static const xmr = CryptoCurrency(title: 'XMR', raw: 0); static const xmr = CryptoCurrency(title: 'XMR', raw: 0);
static const ada = CryptoCurrency(title: 'ADA', raw: 1); static const ada = CryptoCurrency(title: 'ADA', raw: 1);
static const bch = CryptoCurrency(title: 'BCH', raw: 2); static const bch = CryptoCurrency(title: 'BCH', raw: 2);
static const bnb = CryptoCurrency(title: 'BNB', raw: 3); static const bnb = CryptoCurrency(title: 'BNB BEP2', raw: 3);
static const btc = CryptoCurrency(title: 'BTC', raw: 4); static const btc = CryptoCurrency(title: 'BTC', raw: 4);
static const dai = CryptoCurrency(title: 'DAI', raw: 5); static const dai = CryptoCurrency(title: 'DAI', raw: 5);
static const dash = CryptoCurrency(title: 'DASH', raw: 6); static const dash = CryptoCurrency(title: 'DASH', raw: 6);
@ -90,7 +89,7 @@ class CryptoCurrency extends EnumerableItem<int> with Serializable<int> {
return CryptoCurrency.ada; return CryptoCurrency.ada;
case 'bch': case 'bch':
return CryptoCurrency.bch; return CryptoCurrency.bch;
case 'bnb': case 'bnbmainnet':
return CryptoCurrency.bnb; return CryptoCurrency.bnb;
case 'btc': case 'btc':
return CryptoCurrency.btc; return CryptoCurrency.btc;

View file

@ -15,7 +15,9 @@ class LanguageService {
'pt': 'Português (Portuguese)', 'pt': 'Português (Portuguese)',
'ru': 'Русский (Russian)', 'ru': 'Русский (Russian)',
'uk': 'Українська (Ukrainian)', 'uk': 'Українська (Ukrainian)',
'zh': '中文 (Chinese)' 'zh': '中文 (Chinese)',
'hr': 'Hrvatski (Croatian)',
'it': 'Italiano (Italian)'
}; };
static final list = <String, String> {}; static final list = <String, String> {};

View file

@ -48,7 +48,9 @@ class ChangeNowExchangeProvider extends ExchangeProvider {
@override @override
Future<Limits> fetchLimits({CryptoCurrency from, CryptoCurrency to, Future<Limits> fetchLimits({CryptoCurrency from, CryptoCurrency to,
bool isFixedRateMode}) async { bool isFixedRateMode}) async {
final symbol = from.toString() + '_' + to.toString(); final fromTitle = defineCurrencyTitle(from);
final toTitle = defineCurrencyTitle(to);
final symbol = fromTitle + '_' + toTitle;
final url = isFixedRateMode final url = isFixedRateMode
? apiUri + _marketInfoUriSufix + _fixedRateUriSufix + apiKey ? apiUri + _marketInfoUriSufix + _fixedRateUriSufix + apiKey
: apiUri + _minAmountUriSufix + symbol; : apiUri + _minAmountUriSufix + symbol;
@ -61,8 +63,7 @@ class ChangeNowExchangeProvider extends ExchangeProvider {
final elemFrom = elem["from"] as String; final elemFrom = elem["from"] as String;
final elemTo = elem["to"] as String; final elemTo = elem["to"] as String;
if ((elemFrom == from.toString().toLowerCase()) && if ((elemFrom == fromTitle) && (elemTo == toTitle)) {
(elemTo == to.toString().toLowerCase())) {
final min = elem["min"] as double; final min = elem["min"] as double;
final max = elem["max"] as double; final max = elem["max"] as double;
@ -84,9 +85,11 @@ class ChangeNowExchangeProvider extends ExchangeProvider {
? apiUri + _transactionsUriSufix + _fixedRateUriSufix + apiKey ? apiUri + _transactionsUriSufix + _fixedRateUriSufix + apiKey
: apiUri + _transactionsUriSufix + apiKey; : apiUri + _transactionsUriSufix + apiKey;
final _request = request as ChangeNowRequest; final _request = request as ChangeNowRequest;
final fromTitle = defineCurrencyTitle(_request.from);
final toTitle = defineCurrencyTitle(_request.to);
final body = { final body = {
'from': _request.from.toString(), 'from': fromTitle,
'to': _request.to.toString(), 'to': toTitle,
'address': _request.address, 'address': _request.address,
'amount': _request.amount, 'amount': _request.amount,
'refundAddress': _request.refundAddress 'refundAddress': _request.refundAddress
@ -182,6 +185,8 @@ class ChangeNowExchangeProvider extends ExchangeProvider {
final url = apiUri + _marketInfoUriSufix + _fixedRateUriSufix + apiKey; final url = apiUri + _marketInfoUriSufix + _fixedRateUriSufix + apiKey;
final response = await get(url); final response = await get(url);
final responseJSON = json.decode(response.body) as List<dynamic>; final responseJSON = json.decode(response.body) as List<dynamic>;
final fromTitle = defineCurrencyTitle(from);
final toTitle = defineCurrencyTitle(to);
var rate = 0.0; var rate = 0.0;
var fee = 0.0; var fee = 0.0;
@ -189,8 +194,7 @@ class ChangeNowExchangeProvider extends ExchangeProvider {
final elemFrom = elem["from"] as String; final elemFrom = elem["from"] as String;
final elemTo = elem["to"] as String; final elemTo = elem["to"] as String;
if ((elemFrom == to.toString().toLowerCase()) && if ((elemFrom == toTitle) && (elemTo == fromTitle)) {
(elemTo == from.toString().toLowerCase())) {
rate = elem["rate"] as double; rate = elem["rate"] as double;
fee = elem["minerFee"] as double; fee = elem["minerFee"] as double;
break; break;
@ -216,22 +220,32 @@ class ChangeNowExchangeProvider extends ExchangeProvider {
CryptoCurrency to, CryptoCurrency to,
double amount, double amount,
bool isFixedRateMode) { bool isFixedRateMode) {
final fromTitle = defineCurrencyTitle(from);
final toTitle = defineCurrencyTitle(to);
return isFixedRateMode return isFixedRateMode
? apiUri + ? apiUri +
_exchangeAmountUriSufix + _exchangeAmountUriSufix +
_fixedRateUriSufix + _fixedRateUriSufix +
amount.toString() + amount.toString() +
'/' + '/' +
from.toString() + fromTitle +
'_' + '_' +
to.toString() + toTitle +
'?api_key=' + apiKey '?api_key=' + apiKey
: apiUri + : apiUri +
_exchangeAmountUriSufix + _exchangeAmountUriSufix +
amount.toString() + amount.toString() +
'/' + '/' +
from.toString() + fromTitle +
'_' + '_' +
to.toString(); toTitle;
}
static String defineCurrencyTitle(CryptoCurrency currency) {
const bnbTitle = 'bnbmainnet';
final currencyTitle = currency == CryptoCurrency.bnb
? bnbTitle : currency.title.toLowerCase();
return currencyTitle;
} }
} }

View file

@ -228,7 +228,7 @@ class MoneroWalletService extends WalletService<
final name = f.path.split('/').last; final name = f.path.split('/').last;
final newPath = newWalletDirPath + '/$name'; final newPath = newWalletDirPath + '/$name';
final newFile = File(newPath); final newFile = File(newPath);
print(file.path);
if (!newFile.existsSync()) { if (!newFile.existsSync()) {
newFile.createSync(); newFile.createSync();
} }

View file

@ -237,9 +237,11 @@ Route<dynamic> createRoute(RouteSettings settings) {
case Routes.unlock: case Routes.unlock:
return MaterialPageRoute<void>( return MaterialPageRoute<void>(
fullscreenDialog: true, fullscreenDialog: true,
builder: (_) => getIt.get<AuthPage>( builder: (_) => WillPopScope(
param1: settings.arguments as OnAuthenticationFinished, child: getIt.get<AuthPage>(
param2: false)); param1: settings.arguments as OnAuthenticationFinished,
param2: false),
onWillPop: () async => false));
case Routes.nodeList: case Routes.nodeList:
return CupertinoPageRoute<void>( return CupertinoPageRoute<void>(

View file

@ -13,7 +13,7 @@ class PreSeedPage extends BasePage {
imageDark = Image.asset('assets/images/pre_seed_dark.png'), imageDark = Image.asset('assets/images/pre_seed_dark.png'),
wordsCount = type == WalletType.monero wordsCount = type == WalletType.monero
? 25 ? 25
: 12; // FIXME: Stupid fast implementation : 24; // FIXME: Stupid fast implementation
final Image imageDark; final Image imageDark;
final Image imageLight; final Image imageLight;
@ -49,7 +49,9 @@ class PreSeedPage extends BasePage {
Padding( Padding(
padding: EdgeInsets.only(top: 70, left: 16, right: 16), padding: EdgeInsets.only(top: 70, left: 16, right: 16),
child: Text( child: Text(
S.of(context).pre_seed_description(wordsCount.toString()), S
.of(context)
.pre_seed_description(wordsCount.toString()),
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,

View file

@ -110,8 +110,6 @@ abstract class AuthViewModelBase with Store {
if (isAuthenticated) { if (isAuthenticated) {
state = ExecutedSuccessfullyState(); state = ExecutedSuccessfullyState();
} else {
state = FailureState('Failure biometric authentication');
} }
} }
} catch(e) { } catch(e) {

View file

@ -59,7 +59,8 @@ abstract class ExchangeViewModelBase with Store {
}); });
receiveCurrencies = CryptoCurrency.all.where((cryptoCurrency) => receiveCurrencies = CryptoCurrency.all.where((cryptoCurrency) =>
(cryptoCurrency != CryptoCurrency.xlm)&& (cryptoCurrency != CryptoCurrency.xlm)&&
(cryptoCurrency != CryptoCurrency.xrp)).toList(); (cryptoCurrency != CryptoCurrency.xrp)&&
(cryptoCurrency != CryptoCurrency.bnb)).toList();
_defineIsReceiveAmountEditable(); _defineIsReceiveAmountEditable();
isFixedRateMode = false; isFixedRateMode = false;
isReceiveAmountEntered = false; isReceiveAmountEntered = false;

View file

@ -11,7 +11,7 @@ description: Cake Wallet.
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at # Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 4.1.6+45 version: 4.1.7+46
environment: environment:
sdk: ">=2.7.0 <3.0.0" sdk: ">=2.7.0 <3.0.0"

View file

@ -170,7 +170,7 @@
"restore_wallet_restore_description" : "Beschreibung zur Wiederherstellung der Brieftasche", "restore_wallet_restore_description" : "Beschreibung zur Wiederherstellung der Brieftasche",
"restore_new_seed" : "Neuer Seed", "restore_new_seed" : "Neuer Seed",
"restore_active_seed" : "Aktives Seed", "restore_active_seed" : "Aktives Seed",
"restore_bitcoin_description_from_seed" : "Stellen Sie Ihre Brieftasche aus dem 12-Wort-Kombinationscode wieder her", "restore_bitcoin_description_from_seed" : "Stellen Sie Ihre Brieftasche aus dem 24-Wort-Kombinationscode wieder her",
"restore_bitcoin_description_from_keys" : "Stellen Sie Ihre Brieftasche aus der generierten WIF-Zeichenfolge aus Ihren privaten Schlüsseln wieder her", "restore_bitcoin_description_from_keys" : "Stellen Sie Ihre Brieftasche aus der generierten WIF-Zeichenfolge aus Ihren privaten Schlüsseln wieder her",
"restore_bitcoin_title_from_keys" : "Aus WIF wiederherstellen", "restore_bitcoin_title_from_keys" : "Aus WIF wiederherstellen",
"restore_from_date_or_blockheight" : "Bitte geben Sie einige Tage vor dem Erstellen dieser Brieftasche ein Datum ein. Oder wenn Sie die Blockhöhe kennen, geben Sie sie stattdessen ein", "restore_from_date_or_blockheight" : "Bitte geben Sie einige Tage vor dem Erstellen dieser Brieftasche ein Datum ein. Oder wenn Sie die Blockhöhe kennen, geben Sie sie stattdessen ein",

View file

@ -170,7 +170,7 @@
"restore_wallet_restore_description" : "Wallet restore description", "restore_wallet_restore_description" : "Wallet restore description",
"restore_new_seed" : "New seed", "restore_new_seed" : "New seed",
"restore_active_seed" : "Active seed", "restore_active_seed" : "Active seed",
"restore_bitcoin_description_from_seed" : "Restore your wallet from 12 word combination code", "restore_bitcoin_description_from_seed" : "Restore your wallet from 24 word combination code",
"restore_bitcoin_description_from_keys" : "Restore your wallet from generated WIF string from your private keys", "restore_bitcoin_description_from_keys" : "Restore your wallet from generated WIF string from your private keys",
"restore_bitcoin_title_from_keys" : "Restore from WIF", "restore_bitcoin_title_from_keys" : "Restore from WIF",
"restore_from_date_or_blockheight" : "Please enter a date a few days before you created this wallet. Or if you know the blockheight, please enter it instead", "restore_from_date_or_blockheight" : "Please enter a date a few days before you created this wallet. Or if you know the blockheight, please enter it instead",

View file

@ -170,7 +170,7 @@
"restore_wallet_restore_description" : "Restaurar billetera", "restore_wallet_restore_description" : "Restaurar billetera",
"restore_new_seed" : "Nueva semilla", "restore_new_seed" : "Nueva semilla",
"restore_active_seed" : "Semilla activa", "restore_active_seed" : "Semilla activa",
"restore_bitcoin_description_from_seed" : "Restaure su billetera a partir del código de combinación de 12 palabras", "restore_bitcoin_description_from_seed" : "Restaure su billetera a partir del código de combinación de 24 palabras",
"restore_bitcoin_description_from_keys" : "Restaure su billetera a partir de una cadena WIF generada a partir de sus claves privadas", "restore_bitcoin_description_from_keys" : "Restaure su billetera a partir de una cadena WIF generada a partir de sus claves privadas",
"restore_bitcoin_title_from_keys" : "Restaurar desde WIF", "restore_bitcoin_title_from_keys" : "Restaurar desde WIF",
"restore_from_date_or_blockheight" : "Ingrese una fecha unos días antes de crear esta billetera. O si conoce la altura del bloque, ingréselo en su lugar", "restore_from_date_or_blockheight" : "Ingrese una fecha unos días antes de crear esta billetera. O si conoce la altura del bloque, ingréselo en su lugar",

View file

@ -170,7 +170,7 @@
"restore_wallet_restore_description" : "बटुआ विवरण पुनर्स्थापित करें", "restore_wallet_restore_description" : "बटुआ विवरण पुनर्स्थापित करें",
"restore_new_seed" : "नया बीज", "restore_new_seed" : "नया बीज",
"restore_active_seed" : "सक्रिय बीज", "restore_active_seed" : "सक्रिय बीज",
"restore_bitcoin_description_from_seed" : "12 शब्द संयोजन कोड से अपने वॉलेट को पुनर्स्थापित करें", "restore_bitcoin_description_from_seed" : "24 शब्द संयोजन कोड से अपने वॉलेट को पुनर्स्थापित करें",
"restore_bitcoin_description_from_keys" : "अपने निजी कुंजी से उत्पन्न WIF स्ट्रिंग से अपने वॉलेट को पुनर्स्थापित करें", "restore_bitcoin_description_from_keys" : "अपने निजी कुंजी से उत्पन्न WIF स्ट्रिंग से अपने वॉलेट को पुनर्स्थापित करें",
"restore_bitcoin_title_from_keys" : "WIF से पुनर्स्थापित करें", "restore_bitcoin_title_from_keys" : "WIF से पुनर्स्थापित करें",
"restore_from_date_or_blockheight" : "कृपया इस वॉलेट को बनाने से कुछ दिन पहले एक तारीख दर्ज करें। या यदि आप ब्लॉकचेट जानते हैं, तो कृपया इसके बजाय इसे दर्ज करें", "restore_from_date_or_blockheight" : "कृपया इस वॉलेट को बनाने से कुछ दिन पहले एक तारीख दर्ज करें। या यदि आप ब्लॉकचेट जानते हैं, तो कृपया इसके बजाय इसे दर्ज करें",

473
res/values/strings_hr.arb Normal file
View file

@ -0,0 +1,473 @@
{
"welcome" : "Dobrodošli na",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Odličan novčanik za Monero i Bitcoin",
"please_make_selection" : "Molimo odaberite opcije niže za izradu novog novčanika ili za oporavak postojećeg.",
"create_new" : "Izradi novi novčanik",
"restore_wallet" : "Oporavi novčanik",
"accounts" : "Računi",
"edit" : "Uredi",
"account" : "Račun",
"add" : "Dodaj",
"address_book" : "Imenik",
"contact" : "Kontakt",
"please_select" : "Molimo odaberite:",
"cancel" : "Poništi",
"ok" : "OK",
"contact_name" : "Ime kontakta",
"reset" : "Resetiraj",
"save" : "Spremi",
"address_remove_contact" : "Ukloni kontakt",
"address_remove_content" : "Jeste li sigurni da želite ukloniti odabrani kontakt?",
"authenticated" : "Autentificiran",
"authentication" : "Autentifikacija",
"failed_authentication" : "Autentifikacija neuspješna. ${state_error}",
"wallet_menu" : "Izbornik",
"Blocks_remaining" : "${status} preostalih blokova",
"please_try_to_connect_to_another_node" : "Molimo pokušajte se spojiti na drugi node.",
"xmr_hidden" : "Sakriven",
"xmr_available_balance" : "Raspoloživ iznos",
"xmr_full_balance" : "Ukupan iznos",
"send" : "Pošalji",
"receive" : "Primi",
"transactions" : "Transakcije",
"incoming" : "Dolazno",
"outgoing" : "Odlazno",
"transactions_by_date" : "Transakcije prema datumu",
"trades" : "Razmjene",
"filters" : "Filter",
"today" : "Danas",
"yesterday" : "Jučer",
"received" : "Primljeno",
"sent" : "Poslano",
"pending" : " (u tijeku)",
"rescan" : "Ponovno skeniranje",
"reconnect" : "Ponovno povezivanje",
"wallets" : "Novčanici",
"show_seed" : "Prikaži pristupni izraz",
"show_keys" : "Prikaži pristupni izraz/ključ",
"address_book_menu" : "Imenik",
"reconnection" : "Ponovno povezivanje",
"reconnect_alert_text" : "Jeste li sigurni da se želite ponovno povezati?",
"exchange" : "Razmijeni",
"clear" : "Izbriši",
"refund_address" : "Adresa za povrat",
"change_exchange_provider" : "Promjena davatelja usluge razmjene",
"you_will_send" : "Razmijeni iz",
"you_will_get" : "Razmijeni u",
"amount_is_guaranteed" : "Iznos koji ćete primiti je zajamčen",
"amount_is_estimate" : "Iznos koji ćete primiti je okviran",
"powered_by" : "Omogućio ${title}",
"error" : "Greška",
"estimated" : "procijenjen",
"min_value" : "Min.: ${value} ${currency}",
"max_value" : "Maks.: ${value} ${currency}",
"change_currency" : "Promijenite valutu",
"copy_id" : "Kopirati ID",
"exchange_result_write_down_trade_id" : "Molimo kopirajte ili zapišite transakcijski ID za nastavak.",
"trade_id" : "Transakcijski ID:",
"copied_to_clipboard" : "Kopirano u međuspremnik",
"saved_the_trade_id" : "Spremio/la sam transakcijski ID",
"fetching" : "Dohvaćanje",
"id" : "ID: ",
"amount" : "Iznos: ",
"payment_id" : "ID plaćanja: ",
"status" : "Status: ",
"offer_expires_in" : "Ponuda istječe za: ",
"trade_is_powered_by" : "Razmjenu je omogućio ${provider}",
"copy_address" : "Kopiraj adresu",
"exchange_result_confirm" : "Pritiskom na potvrdi, poslat ćete ${fetchingLabel} ${from} sa svog novčanika pod nazivom ${walletName} na adresu prikazanu ispod ili iznos možete poslati s vanjskog novčanika na niže navedenu adresu. /QR code.\n\nMolimo potvrdite za nastavak ili se vratite natrag za promjenu iznosa.",
"exchange_result_description" : "Potrebno poslati minimalno ${fetchingLabel} ${from} na adresu prikazanu na sljedećoj stranici. Ukoliko pošaljete iznos manji od ${fetchingLabel} ${from}, postoji mogućnost da razmjena neće biti uspješna i da iznos neće biti vraćen.",
"exchange_result_write_down_ID" : "*Molimo kopirajte ili zapišite svoj ID prikazan ispod.",
"confirm" : "Potvrdi",
"confirm_sending" : "Potvrdi slanje",
"commit_transaction_amount_fee" : "Izvrši transakciju \nAmount: ${amount}\nFee: ${fee}",
"sending" : "Slanje",
"transaction_sent" : "Transakcija provedena!",
"expired" : "Isteklo",
"time" : "${minutes}m ${seconds}s",
"send_xmr" : "Pošalji XMR",
"exchange_new_template" : "Novi predložak",
"faq" : "FAQ",
"enter_your_pin" : "Upišite PIN",
"loading_your_wallet" : "Novčanik se učitava",
"new_wallet" : "Novi novčanik",
"wallet_name" : "Ime novčanika",
"continue_text" : "Nastavak",
"choose_wallet_currency" : "Molimo odaberite valutu novčanika:",
"node_new" : "Novi node",
"node_address" : "Node adresa",
"node_port" : "Node port",
"login" : "Prijava",
"password" : "Lozinka",
"nodes" : "Nodes",
"node_reset_settings_title" : "Resetiraj postavke",
"nodes_list_reset_to_default_message" : "Jeste li sigurni da se želite vratiti na početne postavke?",
"change_current_node" : "Jeste li sigurni da želite promijeniti trenutni node na ${node}?",
"change" : "Promijeni",
"remove_node" : "Ukloni node",
"remove_node_message" : "Jeste li sigurni da želite ukloniti odabrani node?",
"remove" : "Ukloni",
"delete" : "Izbriši",
"add_new_node" : "Dodaj novi node",
"change_current_node_title" : "Promijeni trenutni node",
"node_test" : "Provjeri",
"node_connection_successful" : "Uspješno spajanje",
"node_connection_failed" : "Neuspješno spajanje",
"new_node_testing" : "Provjera novog nodea",
"use" : "Prebaci na",
"digit_pin" : "-znamenkasti PIN",
"share_address" : "Podijeli adresu",
"receive_amount" : "Iznos",
"subaddresses" : "Podadrese",
"addresses" : "Adrese",
"scan_qr_code" : "Skeniraj QR kod za dobivanje adrese",
"rename" : "Preimenuj",
"choose_account" : "Odaberi račun",
"create_new_account" : "Izradi novi račun",
"accounts_subaddresses" : "Računi i podadrese",
"restore_restore_wallet" : "Oporavi novčanik",
"restore_title_from_seed_keys" : "Oporavi pomoću pristupnog izraza/ključa",
"restore_description_from_seed_keys" : "Oporavi novčanik pomoću pristupnog izraza/ključa spremljenog na sigurno mjesto",
"restore_next" : "Dalje",
"restore_title_from_backup" : "Oporavak pomoću sigurnosne kopije",
"restore_description_from_backup" : "Možete oporaviti cijelu Cake Wallet aplikaciju pomoću vlastite datoteke sa sigurnosnom kopijom",
"restore_seed_keys_restore" : "Oporavak pomoću pristupnog izraza/ključa",
"restore_title_from_seed" : "Oporavi pomoću pristupnog izraza",
"restore_description_from_seed" : "Oporavi novčanik pomoću koda koji sadrži kombinaciju od 25 ili 13 riječi",
"restore_title_from_keys" : "Oporavi pomoću ključa",
"restore_description_from_keys" : "Oporavi novčanik pomoću generiranih pritisaka na tipke spremljenih od vlastitih privatnih ključeva (keys)",
"restore_wallet_name" : "Ime novčanika",
"restore_address" : "Adresa",
"restore_view_key_private" : "View key (privatni)",
"restore_spend_key_private" : "Spend key (privatni)",
"restore_recover" : "Oporavi",
"restore_wallet_restore_description" : "Opis oporavka novčanika",
"restore_new_seed" : "Novi pristupi izraz",
"restore_active_seed" : "Aktivan pristupni izraz",
"restore_bitcoin_description_from_seed" : "Oporavi novčanik pomoću koda od 12 riječi",
"restore_bitcoin_description_from_keys" : "Oporavi novčanik pomoću WIF niza generiranog iz vlastitih privatnih ključeva (keys)",
"restore_bitcoin_title_from_keys" : "Oporavi pomoću formata uvoza novčanika (WIF)",
"restore_from_date_or_blockheight" : "Molimo unesite datum od nekoliko dana prije nego što ste izradili ovaj novčanik ili ako znate visinu bloka, molimo unesite je.",
"seed_reminder" : "Molimo zapišite ih u slučaju da izgubite mobitel ili izbrišete podatke",
"seed_title" : "Prisupni izraz",
"seed_share" : "Podijeli pristupni izraz",
"copy" : "Kopiraj",
"seed_language_choose" : "Molimo odaberite jezik pristupnog izraza:",
"seed_choose" : "Odaberi jezik pristupnog izraza",
"seed_language_next" : "Dalje",
"seed_language_english" : "Engleski",
"seed_language_chinese" : "Kineski",
"seed_language_dutch" : "Nizozemski",
"seed_language_german" : "Njemački",
"seed_language_japanese" : "Japanski",
"seed_language_portuguese" : "Portugalski",
"seed_language_russian" : "Ruski",
"seed_language_spanish" : "Španjolski",
"send_title" : "Pošalji",
"send_your_wallet" : "Tvoj novčanik",
"send_address" : "${cryptoCurrency} adresa",
"send_payment_id" : "ID plaćanja (nije obvezno)",
"all" : "SVE",
"send_error_minimum_value" : "Minimalna vrijednost iznosa je 0.01",
"send_error_currency" : "Iznos smije sadržavati samo brojeve",
"send_estimated_fee" : "Procijenjena naknada:",
"send_priority" : "Trenutno se naknada nalazi na ${transactionPriority} mjestu prioriteta.\nPrioritet transakcije moguće je prilagoditi u postavkama",
"send_creating_transaction" : "Izrada transakcije",
"send_templates" : "Predlošci",
"send_new" : "Novi",
"send_amount" : "Iznos:",
"send_fee" : "Naknada:",
"send_name" : "Ime",
"send_got_it" : "U redu",
"send_sending" : "Slanje...",
"send_success" : "Vaš ${crypto} je uspješno poslan",
"settings_title" : "Postavke",
"settings_nodes" : "Nodovi",
"settings_current_node" : "Trenutni node",
"settings_wallets" : "Novčanik",
"settings_display_balance_as" : "Prikaži stanje računa kao",
"settings_currency" : "Valuta",
"settings_fee_priority" : "Prioritet naknade",
"settings_save_recipient_address" : "Spremi primateljevu adresu",
"settings_personal" : "Osobni",
"settings_change_pin" : "Promijeni PIN",
"settings_change_language" : "Promijeni jezik",
"settings_allow_biometrical_authentication" : "Dopusti biometrijsku autentifikaciju",
"settings_dark_mode" : "Tamni način rada",
"settings_transactions" : "Transakcije",
"settings_trades" : "Razmjene",
"settings_display_on_dashboard_list" : "Prikaži na listi kontrolne ploče",
"settings_all" : "SVE",
"settings_only_trades" : "Samo razmjene",
"settings_only_transactions" : "Samo transakcije",
"settings_none" : "Nijedno",
"settings_support" : "Podrška",
"settings_terms_and_conditions" : "Uvjeti i odredbe",
"pin_is_incorrect" : "Netočan PIN",
"setup_pin" : "Podesi PIN",
"enter_your_pin_again" : "Ponovno upišite pin",
"setup_successful" : "Vaš je pin uspješno postavljen!",
"wallet_keys" : "Pristupni izraz/ključ novčanika",
"wallet_seed" : "Pristupni izraz novčanika",
"private_key" : "Privatni ključ",
"public_key" : "Javni ključ",
"view_key_private" : "View key (privatni)",
"view_key_public" : "View key (javni)",
"spend_key_private" : "Spend key (privatni)",
"spend_key_public" : "Spend key (javni)",
"copied_key_to_clipboard" : "${key} kopiran u međuspremnik",
"new_subaddress_title" : "Nova adresa",
"new_subaddress_label_name" : "Oznaka",
"new_subaddress_create" : "Izradi",
"subaddress_title" : "Lista podadresa",
"trade_details_title" : "Detalji razmjene",
"trade_details_id" : "ID",
"trade_details_state" : "Stanje",
"trade_details_fetching" : "Dohvaćanje",
"trade_details_provider" : "Pružatelj",
"trade_details_created_at" : "Stvoreno u",
"trade_details_pair" : "Upari",
"trade_details_copied" : "${title} kopiran u međuspremnik",
"trade_history_title" : "Povijest razmjena",
"transaction_details_title" : "Detalji transakcije",
"transaction_details_transaction_id" : "Transakcijski ID",
"transaction_details_date" : "Datum",
"transaction_details_height" : "Visina",
"transaction_details_amount" : "Iznos",
"transaction_details_fee" : "Naknada",
"transaction_details_copied" : "${title} kopiran u međuspremnik",
"transaction_details_recipient_address" : "Primateljeva adresa",
"wallet_list_title" : "Monero novčanik",
"wallet_list_create_new_wallet" : "Izradi novi novčanik",
"wallet_list_restore_wallet" : "Oporavi novčanik",
"wallet_list_load_wallet" : "Učitaj novčanik",
"wallet_list_loading_wallet" : "Učitavanje novčanika ${wallet_name}",
"wallet_list_failed_to_load" : "Neuspješno učitavanje novčanika ${wallet_name}. ${error}",
"wallet_list_removing_wallet" : "Uklanjanje novčanika ${wallet_name}",
"wallet_list_failed_to_remove" : "Neuspješno uklanjanje novčanika ${wallet_name}. ${error}",
"widgets_address" : "Adresa",
"widgets_restore_from_blockheight" : "Oporavi pomoću visine bloka",
"widgets_restore_from_date" : "Oporavi pomoću datuma",
"widgets_or" : "ili",
"widgets_seed" : "pristupnog izraza",
"router_no_route" : "Nije definirana ruta za ${name}",
"error_text_account_name" : "Ime računa smije sadržavati samo slova i brojeve\nte mora biti dužine između 1 i 15 znakova",
"error_text_contact_name" : "Ime kontakta ne smije sadržavati znakove ` , ' \" \ni mora biti dužine između 1 i 32 znaka",
"error_text_address" : "Adresa novčanika mora odgovarati\nvrsti kriptovalute",
"error_text_node_address" : "Molimo unesite iPv4 adresu",
"error_text_node_port" : "Node port smije sadržavati samo brojeve između 0 i 65535",
"error_text_payment_id" : "ID plaćanja smije sadržavati samo od 16 do 64 znakova hex vrijednosti",
"error_text_xmr" : "XMR vrijednost ne smije biti veća od raspoloživog iznosa.\nBroj decimala smije biti 12 ili manji.",
"error_text_fiat" : "Vrijednost iznosa ne smije biti veća od raspoloživog iznosa.\nBroj decimala smije biti 2 ili manji.",
"error_text_subaddress_name" : "Ime podadrese ne smije sadržavati znakove ` , ' \" \ni mora biti dužine između 1 i 20 znakova",
"error_text_amount" : "Iznos smije sadržavati samo brojeve",
"error_text_wallet_name" : "Ime novčanika smije sadržavati samo slova i brojeve\nte mora biti dužine između 1 i 15 znakova",
"error_text_keys" : "Novčanik smije sadržavati samo 64 znakova hex vrijednosti",
"error_text_crypto_currency" : "Broj decimala mora\nbiti 12 ili manji",
"error_text_minimal_limit" : "Razmjena za ${provider} nije izrađena. Iznos je manji od minimalnog: ${min} ${currency}",
"error_text_maximum_limit" : "Razmjena za ${provider} nije izrađena. Iznos je veći od maskimalnog: ${max} ${currency}",
"error_text_limits_loading_failed" : "Razmjena za ${provider} nije izrađena. Neuspješno učitavanje limita",
"error_text_template" : "Ime i adresa predloška ne smiju sadržavati znakove ` , ' \" \ni moraju biti dužine između 1 i 106 znakova",
"auth_store_ban_timeout" : "ban_timeout",
"auth_store_banned_for" : "Suspendiran na ",
"auth_store_banned_minutes" : " minute",
"auth_store_incorrect_password" : "Pogrešan PIN",
"wallet_store_monero_wallet" : "Monero novčanik",
"wallet_restoration_store_incorrect_seed_length" : "Netočna dužina pristupnog izraza",
"full_balance" : "Pun iznos",
"available_balance" : "Raspoloživ iznos",
"hidden_balance" : "Skriven iznos",
"sync_status_syncronizing" : "SINKRONIZIRANJE",
"sync_status_syncronized" : "SINKRONIZIRANO",
"sync_status_not_connected" : "NIJE POVEZANO",
"sync_status_starting_sync" : "ZAPOČINJEMO SINKRONIZIRANJE",
"sync_status_failed_connect" : "ISKLJUČENO",
"sync_status_connecting" : "SPAJANJE",
"sync_status_connected" : "SPOJENO",
"transaction_priority_slow" : "Sporo",
"transaction_priority_regular" : "Uobičajeno",
"transaction_priority_medium" : "Srednje",
"transaction_priority_fast" : "Brzo",
"transaction_priority_fastest" : "Najbrže",
"trade_for_not_created" : "Razmjena za ${title} nije izrađena.",
"trade_not_created" : "Razmjena nije izrađena.",
"trade_id_not_found" : "Razmjena ${tradeId} za ${title} nije pronađena.",
"trade_not_found" : "Razmjena nije pronađena.",
"trade_state_pending" : "U tijeku",
"trade_state_confirming" : "Potvrđivanje",
"trade_state_trading" : "Razmjenjivanje",
"trade_state_traded" : "Razmijenjeno",
"trade_state_complete" : "Dovršeno",
"trade_state_to_be_created" : "Stvaranje",
"trade_state_unpaid" : "Neplaćen",
"trade_state_underpaid" : "Nedovoljno plaćen",
"trade_state_paid_unconfirmed" : "Plaćanje nije potrđeno",
"trade_state_paid" : "Plaćen",
"trade_state_btc_sent" : "BTC poslan",
"trade_state_timeout" : "Isteklo",
"trade_state_created" : "Stvoreno",
"trade_state_finished" : "Završeno",
"change_language" : "Promijeni jezik",
"change_language_to" : "Promijeni jezik u ${language}?",
"paste" : "Zalijepi",
"restore_from_seed_placeholder" : "Molimo unesite ili zalijepite svoj pristupni izraz ovdje",
"add_new_word" : "Dodaj novu riječ",
"incorrect_seed" : "Uneseni tekst nije valjan.",
"biometric_auth_reason" : "Skenirajte svoj otisak prsta za autentifikaciju",
"version" : "Verzija ${currentVersion}",
"openalias_alert_title" : "XMR primatelj otkriven",
"openalias_alert_content" : "Poslat ćete sredstva primatelju\n${recipient_name}",
"card_address" : "Adresa:",
"buy" : "Kupi",
"placeholder_transactions" : "Vaše će transakcije biti prikazane ovdje",
"placeholder_contacts" : "Vaši će kontakti biti prikazani ovdje",
"template" : "Predložak",
"confirm_delete_template" : "Ovom ćete radnjom izbrisati ovaj predložak. Želite li nastaviti?",
"confirm_delete_wallet" : "Ovom ćete radnjom izbrisati ovaj novčanik. Želite li nastaviti?",
"picker_description" : "Da biste odabrali ChangeNOW ili MorphToken, molimo da prvo odabete dvije valute za trgovanje",
"change_wallet_alert_title" : "Izmijeni trenutni novčanik",
"change_wallet_alert_content" : "Želite li promijeniti trenutni novčanik u ${wallet_name}?",
"creating_new_wallet" : "Stvaranje novog novčanika",
"creating_new_wallet_error" : "Greška: ${description}",
"seed_alert_title" : "Upozorenje",
"seed_alert_content" : "Pristupni izraz jedini je način za oporavak novčanika. Jeste li ga zapisali?",
"seed_alert_back" : "Vrati se natrag",
"seed_alert_yes" : "Jesam",
"exchange_sync_alert_content" : "Molimo pričekajte dok se Vaš novčanik ne sinkronizira.",
"pre_seed_title" : "VAŽNO",
"pre_seed_description" : "Na sljedećoj ćete stranici vidjeti niz ${words} riječi. Radi se o Vašem jedinstvenom i tajnom pristupnom izrazu koji je ujedno i JEDINI način na koji možete oporaviti svoj novčanik u slučaju gubitka ili kvara. VAŠA je odgovornost zapisati ga te pohraniti na sigurno mjesto izvan Cake Wallet aplikacije.",
"pre_seed_button_text" : "Razumijem. Prikaži mi moj pristupni izraz",
"xmr_to_error" : "XMR.TO greška",
"xmr_to_error_description" : "Nevažeći iznos. Dopušteno je najviše 8 znamenki iza točke",
"provider_error" : "${provider} greška",
"use_ssl" : "Koristi SSL",
"color_theme" : "Shema boja",
"light_theme" : "Svijetla",
"bright_theme" : "Jarka",
"dark_theme" : "Tamna",
"enter_your_note" : "Unesite svoju poruku…",
"note_optional" : "Poruka (nije obvezno)",
"note_tap_to_change" : "Poruka (dodirnite za promjenu)",
"transaction_key" : "Transakcijski ključ",
"confirmations" : "Potvrde",
"recipient_address" : "Primateljeva adresa",
"extra_id" : "Dodatni ID:",
"destination_tag" : "Odredišna oznaka:",
"memo" : "Memo:",
"backup" : "Sigurnosna kopija",
"change_password" : "Promijeni lozinku",
"backup_password" : "Lozinka za sigurnosnu kopiju",
"write_down_backup_password" : "Molimo zapišite svoju lozinku za sigurnosnu kopiju koja se koristi za uvoz datoteka sigurnosne kopije.",
"export_backup" : "Izvezi sigurnosnu kopiju",
"save_backup_password" : "Molimo pobrinite se da spremite svoju lozinku za sigurnosnu kopiju. Bez nje nećete moći uvesti datoteke sigurnosne kopije.",
"backup_file" : "Sigurnosna kopija datoteke",
"edit_backup_password" : "Uredi lozinku za sigurnosnu kopiju",
"save_backup_password_alert" : "Spremi lozinku za sigurnosnu kopiju",
"change_backup_password_alert" : "Nećemo moći uvesti Vaše prethodne datoteke sigurnosne kopije s novom lozinkom za sigurnosnu kopiju. Novu lozinku za sigurnosnu kopiju moći ćete koristiti samo za nove datoteke sigurnosne kopije. Jeste li sigurni da želite promijeniti lozinku za sigurnosnu kopiju?",
"enter_backup_password" : "Unesite svoju lozinku za sigurnosnu kopiju ovdje",
"select_backup_file" : "Odaberite datoteku sigurnosne kopije",
"import" : "Uvezi",
"please_select_backup_file" : "Molimo odaberite datoteku sigurnosne kopije i unesite lozinku za sigurnosnu kopiju.",
"fixed_rate" : "Fiksna stopa",
"fixed_rate_alert" : "Moći ćete unijeti iznos koji želite primiti nakon što označite način rada fiksne stope. Želite li se prebaciti na način rada fiksne stope?",
"xlm_extra_info" : "Molimo ne zaboravite navesti memo ID prilikom slanja XLM transakcije na razmjenu",
"xrp_extra_info" : "Molimo ne zaboravite navesti odredišnu oznaku prilikom slanja XRP transakcije na razmjenu",
"exchange_incorrect_current_wallet_for_xmr" : "Ako želite razmijeniti XMR s vlastitog Monero računa na Cake Wallet novčaniku, molimo prvo se prebacite na svoj Monero novčanik.",
"confirmed" : "Potvrđeno",
"unconfirmed" : "Nepotvrđeno",
"displayable" : "Dostupno za prikaz",
"submit_request" : "podnesi zahtjev"
}

473
res/values/strings_it.arb Normal file
View file

@ -0,0 +1,473 @@
{
"welcome" : "Benvenuto",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Fantastico portafoglio per Monero e Bitcoin",
"please_make_selection" : "Gentilmente seleziona se vuoi generare o recuperare il tuo portafoglio.",
"create_new" : "Genera nuovo Portafoglio",
"restore_wallet" : "Recupera Portafoglio",
"accounts" : "Accounts",
"edit" : "Modifica",
"account" : "Account",
"add" : "Aggiungi",
"address_book" : "Rubrica indirizzi",
"contact" : "Contatta",
"please_select" : "Gentilmente seleziona:",
"cancel" : "Cancella",
"ok" : "OK",
"contact_name" : "Nome Contatto",
"reset" : "Resetta",
"save" : "Salva",
"address_remove_contact" : "Rimuovi contatto",
"address_remove_content" : "Sei sicuro di voler eliminare il contatto selezionato?",
"authenticated" : "Autenticato",
"authentication" : "Autenticazione",
"failed_authentication" : "Autenticazione fallita. ${state_error}",
"wallet_menu" : "Menu",
"Blocks_remaining" : "${status} Blocchi Rimanenti",
"please_try_to_connect_to_another_node" : "Gentilmente prova a connetterti ad un altro nodo",
"xmr_hidden" : "Nascosto",
"xmr_available_balance" : "Saldo Disponibile",
"xmr_full_balance" : "Saldo Completo",
"send" : "Invia",
"receive" : "Ricevi",
"transactions" : "Transazioni",
"incoming" : "In arrivo",
"outgoing" : "In uscita",
"transactions_by_date" : "Transazioni per data",
"trades" : "Scambi",
"filters" : "Filtri",
"today" : "Oggi",
"yesterday" : "Ieri",
"received" : "Ricevuto",
"sent" : "Inviato",
"pending" : " (pendente)",
"rescan" : "Scansiona di nuovo",
"reconnect" : "Riconnetti",
"wallets" : "Portafogli",
"show_seed" : "Mostra seme",
"show_keys" : "Mostra seme/chiavi",
"address_book_menu" : "Rubrica indirizzi",
"reconnection" : "Riconnessione",
"reconnect_alert_text" : "Sei sicuro di volerti riconnettere?",
"exchange" : "Scambia",
"clear" : "Pulisci",
"refund_address" : "Indirizzo di rimborso",
"change_exchange_provider" : "Cambia Exchange",
"you_will_send" : "Conveti da",
"you_will_get" : "Converti a",
"amount_is_guaranteed" : "L'ammonare da ricevere è fissato",
"amount_is_estimate" : "L'ammontare da ricevere è una stima",
"powered_by" : "Sviluppato da ${title}",
"error" : "Errore",
"estimated" : "Stimato",
"min_value" : "Min: ${value} ${currency}",
"max_value" : "Max: ${value} ${currency}",
"change_currency" : "Cambia Moneta",
"copy_id" : "Copia ID",
"exchange_result_write_down_trade_id" : "Gentilmente fai una copia o trascrivi l'ID dello scambio per continuare.",
"trade_id" : "ID Scambio:",
"copied_to_clipboard" : "Copiato negli Appunti",
"saved_the_trade_id" : "Ho salvato l'ID dello scambio",
"fetching" : "Recupero",
"id" : "ID: ",
"amount" : "Ammontare: ",
"payment_id" : "ID Pagamento: ",
"status" : "Stato: ",
"offer_expires_in" : "Offerta termina tra: ",
"trade_is_powered_by" : "Questo scambio è fornito da ${provider}",
"copy_address" : "Copia Indirizzo",
"exchange_result_confirm" : "Cliccando su Conferma, invierai ${fetchingLabel} ${from} dal tuo portafoglio chiamato ${walletName} all'indirizzo mostrato qui in basso. O puoi inviare dal tuo portafoglio esterno all'indirizzo/codice QR mostrato in basso.\n\nGentilmente clicca su Conferma per continuare o torna indietro per cambiare l'ammontare.",
"exchange_result_description" : "Devi inviare un minimo di ${fetchingLabel} ${from} all'indirizzo mostrato nella pagina seguente. Se invii un ammontare inferiore a ${fetchingLabel} ${from} la conversione potrebbe non andare a buon fine e l'indirizzo potrebbe non essere rimborsato.",
"exchange_result_write_down_ID" : "*Gentilmente fai una copia o trascrivi il tuo ID mostrato in alto.",
"confirm" : "Conferma",
"confirm_sending" : "Conferma l'invio",
"commit_transaction_amount_fee" : "Invia transazione\nAmmontare: ${amount}\nCommissione: ${fee}",
"sending" : "Invio",
"transaction_sent" : "Transazione inviata!",
"expired" : "Scaduta",
"time" : "${minutes}m ${seconds}s",
"send_xmr" : "Invia XMR",
"exchange_new_template" : "Nuovo modello",
"faq" : "Domande Frequenti",
"enter_your_pin" : "Inserisci il tuo PIN",
"loading_your_wallet" : "Caricamento portafoglio",
"new_wallet" : "Nuovo Portafoglio",
"wallet_name" : "Nome del Portafoglio",
"continue_text" : "Continua",
"choose_wallet_currency" : "Gentilmente scegli la moneta del portafoglio:",
"node_new" : "Nuovo Nodo",
"node_address" : "Indirizzo Nodo",
"node_port" : "Porta Nodo",
"login" : "Accedi",
"password" : "Password",
"nodes" : "Nodi",
"node_reset_settings_title" : "Ripristina impostazioni",
"nodes_list_reset_to_default_message" : "Sei sicuro di voler ripristinare le impostazioni predefinite?",
"change_current_node" : "Sei sicuro di voler cambiare il nodo corrente con ${node}?",
"change" : "Cambia",
"remove_node" : "Rimuovi nodo",
"remove_node_message" : "Sei sicuro di voler rimuovere il nodo selezionato?",
"remove" : "Remuovi",
"delete" : "Elimina",
"add_new_node" : "Aggiungi nuovo nodo",
"change_current_node_title" : "Cambia nodo corrente",
"node_test" : "Test",
"node_connection_successful" : "Connessione avvenuta con successo",
"node_connection_failed" : "Connessione fallita",
"new_node_testing" : "Test novo nodo",
"use" : "Passa a ",
"digit_pin" : "-cifre PIN",
"share_address" : "Condividi indirizzo",
"receive_amount" : "Ammontare",
"subaddresses" : "Sottoindirizzi",
"addresses" : "Indirizzi",
"scan_qr_code" : "Scansiona il codice QR per ottenere l'indirizzo",
"rename" : "Rinomina",
"choose_account" : "Scegli account",
"create_new_account" : "Crea nuovo account",
"accounts_subaddresses" : "Accounts e sottoindirizzi",
"restore_restore_wallet" : "Recupera Portafoglio",
"restore_title_from_seed_keys" : "Recupera dal seme/chiavi",
"restore_description_from_seed_keys" : "Recupera il tuo portafoglio dal seme/chiavi che hai salvato in un posto sicuro",
"restore_next" : "Prossimo",
"restore_title_from_backup" : "Recupera da backup",
"restore_description_from_backup" : "Puoi recuperare l'app Cake Wallet per intero dal tuo file di backup",
"restore_seed_keys_restore" : "Recupera Seme/Chiavi",
"restore_title_from_seed" : "Recupera dal seme",
"restore_description_from_seed" : "Recupera il tuo portafoglio da una combinazione di 25 o 13 parole",
"restore_title_from_keys" : "Recupera dalle chiavi",
"restore_description_from_keys" : "Recupera il tuo portafoglio da una sequenza di caratteri generati dalle tue chiavi private",
"restore_wallet_name" : "Nome Portafoglio",
"restore_address" : "Indirizzo",
"restore_view_key_private" : "Chiave di Visualizzazione (privata)",
"restore_spend_key_private" : "Chiave di Spesa (privata)",
"restore_recover" : "Recupera",
"restore_wallet_restore_description" : "Descrizione recupero Portafoglio",
"restore_new_seed" : "Nuovo seme",
"restore_active_seed" : "Seme attivo",
"restore_bitcoin_description_from_seed" : "Recupera il tuo portafoglio da una combinazione di 12 parole",
"restore_bitcoin_description_from_keys" : "Recupera il tuo portafoglio da una stringa WIF generata dalle tue chiavi private",
"restore_bitcoin_title_from_keys" : "Recupera da WIF",
"restore_from_date_or_blockheight" : "Gentilmente inserisci la data di un paio di giorni prima che hai creato questo portafoglio. Oppure inserisci l'altezza del blocco se la conosci",
"seed_reminder" : "Gentilmente trascrivi le parole. Ti tornerà utie in caso perdessi o ripristinassi il tuo telefono",
"seed_title" : "Seme",
"seed_share" : "Condividi seme",
"copy" : "Copia",
"seed_language_choose" : "Gentilmente scegli la lingua del seme:",
"seed_choose" : "Scegli la lingua del seme",
"seed_language_next" : "Prossimo",
"seed_language_english" : "Inglese",
"seed_language_chinese" : "Cinese",
"seed_language_dutch" : "Olandese",
"seed_language_german" : "Tedesco",
"seed_language_japanese" : "Giapponese",
"seed_language_portuguese" : "Portoghese",
"seed_language_russian" : "Russo",
"seed_language_spanish" : "Spagnolo",
"send_title" : "Invia",
"send_your_wallet" : "Il tuo portafoglio",
"send_address" : "${cryptoCurrency} indirizzo",
"send_payment_id" : "ID Pagamento (opzionale)",
"all" : "TUTTO",
"send_error_minimum_value" : "L'ammontare minimo è 0.01",
"send_error_currency" : "L'ammontare può contenere solo numeri",
"send_estimated_fee" : "Commissione stimata:",
"send_priority" : "Attualmente la commissione è impostata a priorità ${transactionPriority} .\nLa priorità della transazione può essere modificata nelle impostazioni",
"send_creating_transaction" : "Creazione della transazione",
"send_templates" : "Modelli",
"send_new" : "Nuovo",
"send_amount" : "Ammontare:",
"send_fee" : "Commissione:",
"send_name" : "Nome",
"send_got_it" : "Ho capito",
"send_sending" : "Invio...",
"send_success" : " ${crypto} inviati con successo",
"settings_title" : "Impostazioni",
"settings_nodes" : "Nodi",
"settings_current_node" : "Nodo attuale",
"settings_wallets" : "Portafogli",
"settings_display_balance_as" : "Mostra saldo come",
"settings_currency" : "Moneta",
"settings_fee_priority" : "Priorità commissione",
"settings_save_recipient_address" : "Salva indirizzo di destinazione",
"settings_personal" : "Personali",
"settings_change_pin" : "Cambia PIN",
"settings_change_language" : "Cambia lingua",
"settings_allow_biometrical_authentication" : "Consenti autenticazione biometrica",
"settings_dark_mode" : "Tema scuro",
"settings_transactions" : "Transazioni",
"settings_trades" : "Scambi",
"settings_display_on_dashboard_list" : "Mostra nella lista della pagina principale",
"settings_all" : "TUTTO",
"settings_only_trades" : "Solo scambi",
"settings_only_transactions" : "Solo transazioni",
"settings_none" : "Nessuno",
"settings_support" : "Supporto",
"settings_terms_and_conditions" : "Termini e condizioni",
"pin_is_incorrect" : "Il PIN non è corretto",
"setup_pin" : "Imposta PIN",
"enter_your_pin_again" : "Inserisci il tuo pin di nuovo",
"setup_successful" : "Il tuo PIN è stato impostato con successo!",
"wallet_keys" : "Seme Portafoglio /chiavi",
"wallet_seed" : "Seme Portafoglio",
"private_key" : "Chiave privata",
"public_key" : "Chiave pubblica",
"view_key_private" : "Chiave di visualizzazione (privata)",
"view_key_public" : "Chiave di visualizzazione (pubblica)",
"spend_key_private" : "Chiave di spesa (privata)",
"spend_key_public" : "Chiave di spesa (pubblica)",
"copied_key_to_clipboard" : " ${key} copiata negli Appunti",
"new_subaddress_title" : "Nuovo indirizzo",
"new_subaddress_label_name" : "Nome etichetta",
"new_subaddress_create" : "Crea",
"subaddress_title" : "Lista sottoindirizzi",
"trade_details_title" : "Dettagli Scambio",
"trade_details_id" : "ID",
"trade_details_state" : "Stato",
"trade_details_fetching" : "Recupero",
"trade_details_provider" : "Fornitore",
"trade_details_created_at" : "Creato alle",
"trade_details_pair" : "Coppia",
"trade_details_copied" : "${title} copiati negli Appunti",
"trade_history_title" : "Storico scambi",
"transaction_details_title" : "Dettagli Transazione",
"transaction_details_transaction_id" : "ID Transazione",
"transaction_details_date" : "Data",
"transaction_details_height" : "Altezza",
"transaction_details_amount" : "Ammontare",
"transaction_details_fee" : "Commissione",
"transaction_details_copied" : "${title} copiati negli Appunti",
"transaction_details_recipient_address" : "Indirizzo destinatario",
"wallet_list_title" : "Portafoglio Monero",
"wallet_list_create_new_wallet" : "Crea Nuovo Portafoglio",
"wallet_list_restore_wallet" : "Recupera Portafoglio",
"wallet_list_load_wallet" : "Caricamento Portafoglio",
"wallet_list_loading_wallet" : "Caricamento portafoglio ${wallet_name}",
"wallet_list_failed_to_load" : "Caricamento portafoglio ${wallet_name} fallito. ${error}",
"wallet_list_removing_wallet" : "Rimozione portafoglio ${wallet_name}",
"wallet_list_failed_to_remove" : "Rimozione portafoglio ${wallet_name} fallita. ${error}",
"widgets_address" : "Indirizzo",
"widgets_restore_from_blockheight" : "Recupera da altezza blocco",
"widgets_restore_from_date" : "Recupera da data",
"widgets_or" : "o",
"widgets_seed" : "Seme",
"router_no_route" : "Nessun percorso definito per ${name}",
"error_text_account_name" : "Il nome dell'Account può contenere solo lettere, numeri\ne deve avere una lunghezza compresa tra 1 e 15 caratteri",
"error_text_contact_name" : "Il nome del Contatto non può contenere i simboli ` , ' \" \ne deve avere una lunghezza compresa tra 1 e 32 caratteri",
"error_text_address" : "L'indirizzo del Portafoglio deve corrispondere alla tipologia\ndi criptovaluta",
"error_text_node_address" : "Gentilmente inserisci un indirizzo iPv4",
"error_text_node_port" : "La porta del nodo può contenere solo numeri compresi tra 0 e 65535",
"error_text_payment_id" : "l'ID del pagamento può contenere solo da 16 a 64 caratteri in hex",
"error_text_xmr" : "Il valore XMR non può eccedere il saldo disponibile.\nIl numero delle cifre decimali deve essere inferiore o uguale a 12",
"error_text_fiat" : "L'ammontare non può eccedere il saldo dispoinibile.\nIl numero di cifre decimali deve essere inferiore o uguale a 2",
"error_text_subaddress_name" : "Il nome del sottoindirizzo non può contenere i simboli ` , ' \" \ne deve avere una lunghezza compresa tra 1 e 20 caratteri",
"error_text_amount" : "L'ammontare può contenere solo numeri",
"error_text_wallet_name" : "Il nome del portafoglio può contenere solo lettere, numeri\ne deve avere una lunghezza compresa tra 1 e 15 caratteri",
"error_text_keys" : "Le chiavi del portafoglio possono contenere solo 64 caratteri in hex",
"error_text_crypto_currency" : "Il numero delle cifre decimali\ndeve essere inferiore o uguale a 12",
"error_text_minimal_limit" : "Lo scambio per ${provider} non è stato creato. L'ammontare è inferiore al minimo: ${min} ${currency}",
"error_text_maximum_limit" : "Lo scambio per ${provider} non è stato creato. L'ammontare è superiore al massimo: ${max} ${currency}",
"error_text_limits_loading_failed" : "Lo scambio per ${provider} non è stato creato. Caricamento dei limiti fallito",
"error_text_template" : "Il nome del modello e l'indirizzo non possono contenere i simboli ` , ' \" \ne devono avere una lunghezza compresa tra 1 e 106 caratteri",
"auth_store_ban_timeout" : "ban_timeout",
"auth_store_banned_for" : "Bannato per ",
"auth_store_banned_minutes" : " minuti",
"auth_store_incorrect_password" : "PIN non corretto",
"wallet_store_monero_wallet" : "Portafoglio Monero",
"wallet_restoration_store_incorrect_seed_length" : "Lunghezza seme non corretta",
"full_balance" : "Saldo Completo",
"available_balance" : "Saldo Disponibile",
"hidden_balance" : "Saldo Nascosto",
"sync_status_syncronizing" : "SINCRONIZZAZIONE",
"sync_status_syncronized" : "SINCRONIZZATO",
"sync_status_not_connected" : "NON CONNESSO",
"sync_status_starting_sync" : "INIZIO SINC",
"sync_status_failed_connect" : "DISCONNESSO",
"sync_status_connecting" : "CONNESSIONE",
"sync_status_connected" : "CONNESSO",
"transaction_priority_slow" : "Bassa",
"transaction_priority_regular" : "Regolare",
"transaction_priority_medium" : "Media",
"transaction_priority_fast" : "Alta",
"transaction_priority_fastest" : "Massima",
"trade_for_not_created" : "Lo scambio per ${title} non è stato creato.",
"trade_not_created" : "Scambio non creato.",
"trade_id_not_found" : "Scambio ${tradeId} di ${title} not trovato.",
"trade_not_found" : "Scambio non trovato.",
"trade_state_pending" : "In corso",
"trade_state_confirming" : "Conferma",
"trade_state_trading" : "Scambio",
"trade_state_traded" : "Scambiato",
"trade_state_complete" : "Completato",
"trade_state_to_be_created" : "Da creare",
"trade_state_unpaid" : "Non pagato",
"trade_state_underpaid" : "Sottopagato",
"trade_state_paid_unconfirmed" : "Pagato non confermato",
"trade_state_paid" : "Pagato",
"trade_state_btc_sent" : "Btc inviati",
"trade_state_timeout" : "Timeout",
"trade_state_created" : "Creato",
"trade_state_finished" : "Finito",
"change_language" : "Cambia lingua",
"change_language_to" : "Cambia lingua in ${language}?",
"paste" : "Incolla",
"restore_from_seed_placeholder" : "Gentilmente inserisci o incolla il tuo seme qui",
"add_new_word" : "Aggiungi nuova parola",
"incorrect_seed" : "Il testo inserito non è valido.",
"biometric_auth_reason" : "Scansiona la tua impronta per autenticarti",
"version" : "Versione ${currentVersion}",
"openalias_alert_title" : "XMR Destinatario Rilevato",
"openalias_alert_content" : "Invierai i tuoi fondi a\n${recipient_name}",
"card_address" : "Indirizzo:",
"buy" : "Compra",
"placeholder_transactions" : "Le tue transazioni saranno mostrate qui",
"placeholder_contacts" : "I tuoi contatti saranno mostrati qui",
"template" : "Modello",
"confirm_delete_template" : "Questa azione cancellerà questo modello. Desideri continuare?",
"confirm_delete_wallet" : "Questa azione cancellerà questo portafoglio. Desideri continuare?",
"picker_description" : "Per scegliere ChangeNOW o MorphToken, gentilmente cambia prima la tua coppia di valute",
"change_wallet_alert_title" : "Cambia portafoglio attuale",
"change_wallet_alert_content" : "Sei sicuro di voler cambiare il portafoglio attuale con ${wallet_name}?",
"creating_new_wallet" : "Creazione nuovo portafoglio",
"creating_new_wallet_error" : "Errore: ${description}",
"seed_alert_title" : "Attenzione",
"seed_alert_content" : "Il seme è l'unico modo per recuperare il tuo portafoglio. L'hai trascritto?",
"seed_alert_back" : "Torna indietro",
"seed_alert_yes" : "Sì, l'ho fatto",
"exchange_sync_alert_content" : "Gentilmente aspetta che il tuo portafoglio sia sincronizzato",
"pre_seed_title" : "IMPORTANTE",
"pre_seed_description" : "Nella pagina seguente ti sarà mostrata una serie di parole ${words}. Questo è il tuo seme unico e privato ed è l'UNICO modo per recuperare il tuo portafoglio in caso di perdita o malfunzionamento. E' TUA responsabilità trascriverlo e conservarlo in un posto sicuro fuori dall'app Cake Wallet.",
"pre_seed_button_text" : "Ho capito. Mostrami il seme",
"xmr_to_error" : "XMR.TO errore",
"xmr_to_error_description" : "Ammontare invalido. Il limite massimo è 8 cifre dopo il punto decimale",
"provider_error" : "${provider} errore",
"use_ssl" : "Usa SSL",
"color_theme" : "Colore tema",
"light_theme" : "Bianco",
"bright_theme" : "Colorato",
"dark_theme" : "Scuro",
"enter_your_note" : "Inserisci la tua nota…",
"note_optional" : "Nota (opzionale)",
"note_tap_to_change" : "Nota (clicca per cambiare)",
"transaction_key" : "Chiave Transazione",
"confirmations" : "Conferme",
"recipient_address" : "Indirizzo di destinazione",
"extra_id" : "Extra ID:",
"destination_tag" : "Tag destinazione:",
"memo" : "Memo:",
"backup" : "Backup",
"change_password" : "Cambia password",
"backup_password" : "Backup password",
"write_down_backup_password" : "Gentilmente trascrivi la password del backup, che è usata per importare i tuoi file di backup.",
"export_backup" : "Esporta backup",
"save_backup_password" : "Gentilmente assicurati di aver salvato la password del tuo backup. Senza questa non sarai in grado di importare i tuoi file di backup.",
"backup_file" : "Backup file",
"edit_backup_password" : "Modifica Password Backup",
"save_backup_password_alert" : "Salva password Backup",
"change_backup_password_alert" : "I precedenti file di backup non potranno essere importati con la nuova password di backup. La nuova password di backup verrà usata soltanto per i nuovi file di backup. Sei sicuro di voler cambiare la tua password di backup?",
"enter_backup_password" : "Inserisci la password di backup qui",
"select_backup_file" : "Seleziona file di backup",
"import" : "Importa",
"please_select_backup_file" : "Gentilmente seleziona il file di backup e inserisci la password di backup.",
"fixed_rate" : "Tasso fisso",
"fixed_rate_alert" : "Potrai inserire l'ammontare da ricevere quando il tasso è fisso. Vuoi cambiare alla modalità tasso fisso?",
"xlm_extra_info" : "Gentilmente ricorda di indicare il Memo ID quando invii la transazione XLM per lo scambio",
"xrp_extra_info" : "Gentilmente ricorda di indicare il Tag di Destinazione quando invii una transazione XRP per lo scambio",
"exchange_incorrect_current_wallet_for_xmr" : "Se vuoi scambiare XMR dal tuo saldo Cake Wallet Monero, gentilmente passa al tuo portafoglio Monero.",
"confirmed" : "Confermato",
"unconfirmed" : "Non confermato",
"displayable" : "Visualizzabile",
"submit_request" : "invia una richiesta"
}

View file

@ -170,7 +170,7 @@
"restore_wallet_restore_description" : "ウォレットの復元", "restore_wallet_restore_description" : "ウォレットの復元",
"restore_new_seed" : "新しい種", "restore_new_seed" : "新しい種",
"restore_active_seed" : "アクティブシード", "restore_active_seed" : "アクティブシード",
"restore_bitcoin_description_from_seed" : "12ワードの組み合わせコードからウォレットを復元する", "restore_bitcoin_description_from_seed" : "24ワードの組み合わせコードからウォレットを復元する",
"restore_bitcoin_description_from_keys" : "秘密鍵から生成されたWIF文字列からウォレットを復元します", "restore_bitcoin_description_from_keys" : "秘密鍵から生成されたWIF文字列からウォレットを復元します",
"restore_bitcoin_title_from_keys" : "WIFから復元", "restore_bitcoin_title_from_keys" : "WIFから復元",
"restore_from_date_or_blockheight" : "このウォレットを作成する数日前に日付を入力してください。 または、ブロックの高さがわかっている場合は、代わりに入力してください", "restore_from_date_or_blockheight" : "このウォレットを作成する数日前に日付を入力してください。 または、ブロックの高さがわかっている場合は、代わりに入力してください",

View file

@ -170,7 +170,7 @@
"restore_wallet_restore_description" : "월렛 복원 설명", "restore_wallet_restore_description" : "월렛 복원 설명",
"restore_new_seed" : "새로운 씨앗", "restore_new_seed" : "새로운 씨앗",
"restore_active_seed" : "활성 종자", "restore_active_seed" : "활성 종자",
"restore_bitcoin_description_from_seed" : "12 단어 조합 코드에서 지갑 복원", "restore_bitcoin_description_from_seed" : "24 단어 조합 코드에서 지갑 복원",
"restore_bitcoin_description_from_keys" : "개인 키에서 생성 된 WIF 문자열에서 지갑 복원", "restore_bitcoin_description_from_keys" : "개인 키에서 생성 된 WIF 문자열에서 지갑 복원",
"restore_bitcoin_title_from_keys" : "WIF에서 복원", "restore_bitcoin_title_from_keys" : "WIF에서 복원",
"restore_from_date_or_blockheight" : "이 지갑을 생성하기 며칠 전에 날짜를 입력하십시오. 또는 블록 높이를 알고있는 경우 대신 입력하십시오.", "restore_from_date_or_blockheight" : "이 지갑을 생성하기 며칠 전에 날짜를 입력하십시오. 또는 블록 높이를 알고있는 경우 대신 입력하십시오.",

View file

@ -170,7 +170,7 @@
"restore_wallet_restore_description" : "Portemonnee-herstelbeschrijving", "restore_wallet_restore_description" : "Portemonnee-herstelbeschrijving",
"restore_new_seed" : "Nieuw zaad", "restore_new_seed" : "Nieuw zaad",
"restore_active_seed" : "Actief zaad", "restore_active_seed" : "Actief zaad",
"restore_bitcoin_description_from_seed" : "Herstel uw portemonnee met een combinatiecode van 12 woorden", "restore_bitcoin_description_from_seed" : "Herstel uw portemonnee met een combinatiecode van 24 woorden",
"restore_bitcoin_description_from_keys" : "Herstel uw portemonnee van de gegenereerde WIF-string van uw privésleutels", "restore_bitcoin_description_from_keys" : "Herstel uw portemonnee van de gegenereerde WIF-string van uw privésleutels",
"restore_bitcoin_title_from_keys" : "Herstel van WIF", "restore_bitcoin_title_from_keys" : "Herstel van WIF",
"restore_from_date_or_blockheight" : "Voer een datum in een paar dagen voordat u deze portemonnee heeft gemaakt. Of als u de blokhoogte kent, voert u deze in", "restore_from_date_or_blockheight" : "Voer een datum in een paar dagen voordat u deze portemonnee heeft gemaakt. Of als u de blokhoogte kent, voert u deze in",

View file

@ -170,7 +170,7 @@
"restore_wallet_restore_description" : "Opis przywracania portfela", "restore_wallet_restore_description" : "Opis przywracania portfela",
"restore_new_seed" : "Nowe nasienie", "restore_new_seed" : "Nowe nasienie",
"restore_active_seed" : "Aktywne nasiona", "restore_active_seed" : "Aktywne nasiona",
"restore_bitcoin_description_from_seed" : "Przywróć swój portfel z kodu złożonego z 12 słów", "restore_bitcoin_description_from_seed" : "Przywróć swój portfel z kodu złożonego z 24 słów",
"restore_bitcoin_description_from_keys" : "Przywróć swój portfel z wygenerowanego ciągu WIF z kluczy prywatnych", "restore_bitcoin_description_from_keys" : "Przywróć swój portfel z wygenerowanego ciągu WIF z kluczy prywatnych",
"restore_bitcoin_title_from_keys" : "Przywróć z WIF", "restore_bitcoin_title_from_keys" : "Przywróć z WIF",
"restore_from_date_or_blockheight" : "Wprowadź datę na kilka dni przed utworzeniem tego portfela. Lub jeśli znasz wysokość bloku, wprowadź go zamiast tego", "restore_from_date_or_blockheight" : "Wprowadź datę na kilka dni przed utworzeniem tego portfela. Lub jeśli znasz wysokość bloku, wprowadź go zamiast tego",

View file

@ -170,7 +170,7 @@
"restore_wallet_restore_description" : "Restauração da carteira", "restore_wallet_restore_description" : "Restauração da carteira",
"restore_new_seed" : "Nova semente", "restore_new_seed" : "Nova semente",
"restore_active_seed" : "Semente ativa", "restore_active_seed" : "Semente ativa",
"restore_bitcoin_description_from_seed" : "Restaure sua carteira a partir de um código de combinação de 12 palavras", "restore_bitcoin_description_from_seed" : "Restaure sua carteira a partir de um código de combinação de 24 palavras",
"restore_bitcoin_description_from_keys" : "Restaure sua carteira a partir da string WIF gerada de suas chaves privadas", "restore_bitcoin_description_from_keys" : "Restaure sua carteira a partir da string WIF gerada de suas chaves privadas",
"restore_bitcoin_title_from_keys" : "Restaurar de WIF", "restore_bitcoin_title_from_keys" : "Restaurar de WIF",
"restore_from_date_or_blockheight" : "Insira uma data alguns dias antes de criar esta carteira. Ou se você souber a altura do bloco, insira-o", "restore_from_date_or_blockheight" : "Insira uma data alguns dias antes de criar esta carteira. Ou se você souber a altura do bloco, insira-o",

View file

@ -170,7 +170,7 @@
"restore_wallet_restore_description" : "Описание восстановления кошелька", "restore_wallet_restore_description" : "Описание восстановления кошелька",
"restore_new_seed" : "Новая мнемоническая фраза", "restore_new_seed" : "Новая мнемоническая фраза",
"restore_active_seed" : "Активная мнемоническая фраза", "restore_active_seed" : "Активная мнемоническая фраза",
"restore_bitcoin_description_from_seed" : "Вы можете восстановить кошелёк используя 12-ти значную мнемоническую фразу", "restore_bitcoin_description_from_seed" : "Вы можете восстановить кошелёк используя 24-ти значную мнемоническую фразу",
"restore_bitcoin_description_from_keys" : "Вы можете восстановить кошелёк с помощью WIF", "restore_bitcoin_description_from_keys" : "Вы можете восстановить кошелёк с помощью WIF",
"restore_bitcoin_title_from_keys" : "Восстановить с помощью WIF", "restore_bitcoin_title_from_keys" : "Восстановить с помощью WIF",
"restore_from_date_or_blockheight" : "Пожалуйста, введите дату за несколько дней до создания этого кошелька. Или, если вы знаете высоту блока, введите ее значение", "restore_from_date_or_blockheight" : "Пожалуйста, введите дату за несколько дней до создания этого кошелька. Или, если вы знаете высоту блока, введите ее значение",

View file

@ -170,7 +170,7 @@
"restore_wallet_restore_description" : "Опис відновлюваного гаманця", "restore_wallet_restore_description" : "Опис відновлюваного гаманця",
"restore_new_seed" : "Нова мнемонічна фраза", "restore_new_seed" : "Нова мнемонічна фраза",
"restore_active_seed" : "Активна мнемонічна фраза", "restore_active_seed" : "Активна мнемонічна фраза",
"restore_bitcoin_description_from_seed" : "Ви можете відновити гаманець використовуючи 12-ти слівну мнемонічну фразу", "restore_bitcoin_description_from_seed" : "Ви можете відновити гаманець використовуючи 24-ти слівну мнемонічну фразу",
"restore_bitcoin_description_from_keys" : "Ви можете відновити гаманець за допомогою WIF", "restore_bitcoin_description_from_keys" : "Ви можете відновити гаманець за допомогою WIF",
"restore_bitcoin_title_from_keys" : "Відновити за допомогою WIF", "restore_bitcoin_title_from_keys" : "Відновити за допомогою WIF",
"restore_from_date_or_blockheight" : "Будь ласка, введіть дату за кілька днів до створення цього гаманця. Або, якщо ви знаєте висоту блоку, введіть її значення", "restore_from_date_or_blockheight" : "Будь ласка, введіть дату за кілька днів до створення цього гаманця. Або, якщо ви знаєте висоту блоку, введіть її значення",

View file

@ -1,28 +1,28 @@
{ {
"welcome" : "歡迎來到", "welcome" : "欢迎使用",
"cake_wallet" : "Cake Wallet", "cake_wallet" : "Cake Wallet",
"first_wallet_text" : "很棒的Monero和比特幣錢包", "first_wallet_text" : "很棒的门罗币和比特币钱包",
"please_make_selection" : "请在下面进行选择 创建或恢复您的钱包.", "please_make_selection" : "请在下面进行选择 创建或恢复您的钱包.",
"create_new" : "创建新钱包", "create_new" : "创建新钱包",
"restore_wallet" : "恢复钱包", "restore_wallet" : "恢复钱包",
"accounts" : "帐目", "accounts" : "账户",
"edit" : "编辑", "edit" : "编辑",
"account" : "帐户", "account" : "帐户",
"add" : "加", "add" : "加",
"address_book" : "地址簿", "address_book" : "地址簿",
"contact" : "联系", "contact" : "联系",
"please_select" : "请选择:", "please_select" : "请选择:",
"cancel" : "取消", "cancel" : "取消",
"ok" : "", "ok" : "确认",
"contact_name" : "联系人姓名", "contact_name" : "联系人姓名",
"reset" : "重", "reset" : "重",
"save" : "保存", "save" : "保存",
"address_remove_contact" : "刪除聯繫人", "address_remove_contact" : "刪除联系人",
"address_remove_content" : "您確定要刪除所選的聯繫人嗎", "address_remove_content" : "您确定要刪除所选的联系人吗",
"authenticated" : "已认证", "authenticated" : "已认证",
@ -32,18 +32,18 @@
"wallet_menu" : "钱包菜单", "wallet_menu" : "钱包菜单",
"Blocks_remaining" : "${status} 剩余的块", "Blocks_remaining" : "${status} 剩余的块",
"please_try_to_connect_to_another_node" : "请尝试连接到另一个节点", "please_try_to_connect_to_another_node" : "请尝试连接到其他节点",
"xmr_hidden" : "", "xmr_hidden" : "隐藏",
"xmr_available_balance" : "可用余额 ", "xmr_available_balance" : "可用余额 ",
"xmr_full_balance" : "全部余额", "xmr_full_balance" : "全部余额",
"send" : "发送", "send" : "发送",
"receive" : "接收", "receive" : "接收",
"transactions" : "交易次数", "transactions" : "交易情况",
"incoming" : "传入", "incoming" : "收到",
"outgoing" : "外向", "outgoing" : "发送",
"transactions_by_date" : "按日期交易", "transactions_by_date" : "按日期交易",
"trades" : "交易", "trades" : "交易",
"filters" : "過濾", "filters" : "过滤",
"today" : "今天", "today" : "今天",
"yesterday" : "昨天", "yesterday" : "昨天",
"received" : "已收到", "received" : "已收到",
@ -51,67 +51,67 @@
"pending" : " (待定)", "pending" : " (待定)",
"rescan" : "重新扫描", "rescan" : "重新扫描",
"reconnect" : "重新连接", "reconnect" : "重新连接",
"wallets" : "皮夹", "wallets" : "钱包",
"show_seed" : "显示种子", "show_seed" : "显示种子",
"show_keys" : "顯示種子/密鑰", "show_keys" : "显示种子/密钥",
"address_book_menu" : "地址簿", "address_book_menu" : "地址簿",
"reconnection" : "重新连线", "reconnection" : "重新连",
"reconnect_alert_text" : "您确定要重新连接吗?", "reconnect_alert_text" : "您确定要重新连接吗?",
"exchange" : "换", "exchange" : "换",
"clear" : "明确", "clear" : "清空",
"refund_address" : "退款地址", "refund_address" : "退款地址",
"change_exchange_provider" : "更改交易所提供商", "change_exchange_provider" : "更改交易所",
"you_will_send" : "從轉換", "you_will_send" : "转换自",
"you_will_get" : "轉換成", "you_will_get" : "转换到",
"amount_is_guaranteed" : "接收金額有保證", "amount_is_guaranteed" : "保证收到的金额",
"amount_is_estimate" : "收款金额为估算值", "amount_is_estimate" : "收款金额为估算值",
"powered_by" : "供电 ${title}", "powered_by" : "Powered by ${title}",
"error" : "错误", "error" : "错误",
"estimated" : "估计", "estimated" : "估计",
"min_value" : ": ${value} ${currency}", "min_value" : "最低: ${value} ${currency}",
"max_value" : "最高: ${value} ${currency}", "max_value" : "最高: ${value} ${currency}",
"change_currency" : "更改币种", "change_currency" : "更改币种",
"copy_id" : "复ID", "copy_id" : "复ID",
"exchange_result_write_down_trade_id" : "请复制或写下交易编号以继续.", "exchange_result_write_down_trade_id" : "请复制或写下交易编号以继续.",
"trade_id" : "易编号:", "trade_id" : "易编号:",
"copied_to_clipboard" : "复制到剪贴板", "copied_to_clipboard" : "复制到剪贴板",
"saved_the_trade_id" : "我已经保存了交易ID", "saved_the_trade_id" : "我已经保存了交易编号",
"fetching" : "正在取", "fetching" : "正在取",
"id" : "ID: ", "id" : "ID: ",
"amount" : ": ", "amount" : "金额: ",
"payment_id" : "付款 ID: ", "payment_id" : "付款 ID: ",
"status" : "状态: ", "status" : "状态: ",
"offer_expires_in" : "优惠有效期至 ", "offer_expires_in" : "优惠有效期至 ",
"trade_is_powered_by" : "该交易由 ${provider}", "trade_is_powered_by" : "该交易由 ${provider}",
"copy_address" : "复制地址", "copy_address" : "复制地址",
"exchange_result_confirm" : "点击确认 您将发送 ${fetchingLabel} ${from} 从你的钱包里 ${walletName} 到下面顯示的地址。 或者您可以從外部錢包發送到以下地址/ QR码。\n\n请按确认继续或返回以更改金额", "exchange_result_confirm" : "点击确认 您将发送 ${fetchingLabel} ${from} 从你的钱包里 ${walletName} 到下面显示的地址。 或者您可以从外部钱包发送到以下地址/ QR码。\n\n请按确认继续或返回以更改金额",
"exchange_result_description" : "您必須至少發送 ${fetchingLabel} ${from} 到下一頁上顯示的地址。 如果您發送的金額少於 ${fetchingLabel} ${from},則可能無法轉換,因此無法退還。", "exchange_result_description" : "您必須至少发送 ${fetchingLabel} ${from} 到下一页上显示的地址。 如果您发送的金额少于 ${fetchingLabel} ${from},则可能无法转换,因此无法退还。",
"exchange_result_write_down_ID" : "*请复制或写下您上面显示的ID.", "exchange_result_write_down_ID" : "*请复制或写下您上面显示的ID.",
"confirm" : "确认", "confirm" : "确认",
"confirm_sending" : "确认发送", "confirm_sending" : "确认发送",
"commit_transaction_amount_fee" : "提交交易\n量: ${amount}\nFee: ${fee}", "commit_transaction_amount_fee" : "提交交易\n金额: ${amount}\n手续费: ${fee}",
"sending" : "正在发送", "sending" : "正在发送",
"transaction_sent" : "交易已发送", "transaction_sent" : "交易已发送",
"expired" : "已过期", "expired" : "已过期",
"time" : "${minutes}m ${seconds}s", "time" : "${minutes}m ${seconds}s",
"send_xmr" : "发送 XMR", "send_xmr" : "发送 XMR",
"exchange_new_template" : "新範本", "exchange_new_template" : "新模板",
"faq" : "FAQ", "faq" : "FAQ",
"enter_your_pin" : "输入密码", "enter_your_pin" : "输入密码",
"loading_your_wallet" : "钱包", "loading_your_wallet" : "加载您的钱包",
"new_wallet" : "新钱包", "new_wallet" : "新钱包",
"wallet_name" : "钱包名称", "wallet_name" : "钱包名称",
"continue_text" : "继续", "continue_text" : "继续",
"choose_wallet_currency" : "請選擇錢包貨幣", "choose_wallet_currency" : "请选择钱包货币",
"node_new" : "新节点", "node_new" : "新节点",
@ -128,27 +128,27 @@
"remove_node_message" : "您确定要删除所选节点吗?", "remove_node_message" : "您确定要删除所选节点吗?",
"remove" : "去掉", "remove" : "去掉",
"delete" : "删除", "delete" : "删除",
"add_new_node" : "添加新節點", "add_new_node" : "添加新节点",
"change_current_node_title" : "更改當前節點", "change_current_node_title" : "更改当前节点",
"node_test" : "測試", "node_test" : "测试",
"node_connection_successful" : "接成功", "node_connection_successful" : "接成功",
"node_connection_failed" : "接失敗", "node_connection_failed" : "接失敗",
"new_node_testing" : "新節點測試", "new_node_testing" : "新节点测试",
"use" : "用 ", "use" : "使用 ",
"digit_pin" : "数字别针", "digit_pin" : "位 PIN",
"share_address" : "分享地址", "share_address" : "分享地址",
"receive_amount" : "", "receive_amount" : "金额",
"subaddresses" : "子地址", "subaddresses" : "子地址",
"addresses" : "地址", "addresses" : "地址",
"scan_qr_code" : "掃描二維碼獲取地址", "scan_qr_code" : "扫描二维码获取地址",
"rename" : "名", "rename" : "重命名",
"choose_account" : "選擇帳號", "choose_account" : "选择账户",
"create_new_account" : "建立新帳戶", "create_new_account" : "建立新账户",
"accounts_subaddresses" : "帳戶和子地址", "accounts_subaddresses" : "账户和子地址",
"restore_restore_wallet" : "恢复钱包", "restore_restore_wallet" : "恢复钱包",
@ -161,41 +161,40 @@
"restore_title_from_seed" : "从种子还原", "restore_title_from_seed" : "从种子还原",
"restore_description_from_seed" : "从25个字中恢复您的钱包或13个字的组合码", "restore_description_from_seed" : "从25个字中恢复您的钱包或13个字的组合码",
"restore_title_from_keys" : "从密钥还原", "restore_title_from_keys" : "从密钥还原",
"restore_description_from_keys" : "R从生成的电子钱包从您的私钥中保存的击键", "restore_description_from_keys" : "使用私钥恢复钱包",
"restore_wallet_name" : "钱包名称", "restore_wallet_name" : "钱包名称",
"restore_address" : "地址", "restore_address" : "地址",
"restore_view_key_private" : "查看金钥 (私人的)", "restore_view_key_private" : "View私钥",
"restore_spend_key_private" : "支出金钥 (私人的)", "restore_spend_key_private" : "Spend私钥",
"restore_recover" : "恢复", "restore_recover" : "恢复",
"restore_wallet_restore_description" : "钱包还原说明", "restore_wallet_restore_description" : "钱包还原说明",
"restore_new_seed" : "新子", "restore_new_seed" : "新子",
"restore_active_seed" : "活性子", "restore_active_seed" : "活性子",
"restore_bitcoin_description_from_seed" : "從12個單詞的組合碼恢復您的錢包", "restore_bitcoin_description_from_seed" : "从24个文字的组成码恢复您的钱包",
"restore_bitcoin_description_from_keys" : "從私鑰中生成的WIF字符串還原您的錢包", "restore_bitcoin_description_from_keys" : "从私钥中生成的WIF字符串恢复您钱包",
"restore_bitcoin_title_from_keys" : "從WIF還原", "restore_bitcoin_title_from_keys" : "从WIF还原",
"restore_from_date_or_blockheight" : "請在創建此錢包之前幾天輸入一個日期。 或者,如果您知道塊高,請改為輸入", "restore_from_date_or_blockheight" : "请输入您创建这个钱包前几天的日期。或者如果您知道区块高度,请输入区块高度",
"seed_reminder" : "请记下这些内容,以防丟失或数据损坏",
"seed_reminder" : "請寫下這些,以防丟失或擦拭手機",
"seed_title" : "种子", "seed_title" : "种子",
"seed_share" : "分享种子", "seed_share" : "分享种子",
"copy" : "复制", "copy" : "复制",
"seed_language_choose" : "請選擇種子語言:", "seed_language_choose" : "请选择种子语言:",
"seed_choose" : "選擇種子語言", "seed_choose" : "选择种子语言",
"seed_language_next" : "下一个", "seed_language_next" : "下一个",
"seed_language_english" : "英", "seed_language_english" : "英",
"seed_language_chinese" : "中文", "seed_language_chinese" : "中文",
"seed_language_dutch" : "荷蘭人", "seed_language_dutch" : "荷兰文",
"seed_language_german" : "德", "seed_language_german" : "德",
"seed_language_japanese" : "日", "seed_language_japanese" : "日",
"seed_language_portuguese" : "葡萄牙", "seed_language_portuguese" : "葡萄牙",
"seed_language_russian" : "俄", "seed_language_russian" : "俄",
"seed_language_spanish" : "西班牙文", "seed_language_spanish" : "西班牙文",
"send_title" : "送", "send_title" : "送",
"send_your_wallet" : "你的钱包", "send_your_wallet" : "你的钱包",
"send_address" : "${cryptoCurrency} 地址", "send_address" : "${cryptoCurrency} 地址",
"send_payment_id" : "付款编号 (可选的)", "send_payment_id" : "付款编号 (可选的)",
@ -205,37 +204,37 @@
"send_estimated_fee" : "预估费用:", "send_estimated_fee" : "预估费用:",
"send_priority" : "目前,费用设置为 ${transactionPriority} 优先.\n交易优先级可以在设置中进行调整", "send_priority" : "目前,费用设置为 ${transactionPriority} 优先.\n交易优先级可以在设置中进行调整",
"send_creating_transaction" : "创建交易", "send_creating_transaction" : "创建交易",
"send_templates" : "範本", "send_templates" : "模板",
"send_new" : "新", "send_new" : "新",
"send_amount" : ":", "send_amount" : "金额:",
"send_fee" : "費用:", "send_fee" : "手续费:",
"send_name" : "名", "send_name" : "名",
"send_got_it" : "得到它了", "send_got_it" : "明白",
"send_sending" : "正在送...", "send_sending" : "正在送...",
"send_success" : "你${crypto}已成功發送", "send_success" : "您的${crypto}已成功发送",
"settings_title" : "设定值", "settings_title" : "设定值",
"settings_nodes" : "节点数", "settings_nodes" : "节点数",
"settings_current_node" : "当前节点", "settings_current_node" : "当前节点",
"settings_wallets" : "皮夹", "settings_wallets" : "钱包",
"settings_display_balance_as" : "将余额显示为", "settings_display_balance_as" : "将余额显示为",
"settings_currency" : "货币", "settings_currency" : "货币",
"settings_fee_priority" : "费用优先", "settings_fee_priority" : "交易优先级",
"settings_save_recipient_address" : "保存收件人地址", "settings_save_recipient_address" : "保存收件人地址",
"settings_personal" : "个人", "settings_personal" : "个人",
"settings_change_pin" : "更改密码", "settings_change_pin" : "更改密码",
"settings_change_language" : "改语言", "settings_change_language" : "改语言",
"settings_allow_biometrical_authentication" : "允许生物特征认证", "settings_allow_biometrical_authentication" : "允许生物识别认证",
"settings_dark_mode" : "暗模式", "settings_dark_mode" : "暗模式",
"settings_transactions" : "交易次数", "settings_transactions" : "交易情况",
"settings_trades" : "交易", "settings_trades" : "交易",
"settings_display_on_dashboard_list" : "显示在仪表板上", "settings_display_on_dashboard_list" : "显示在仪表板上",
"settings_all" : "所有", "settings_all" : "所有",
"settings_only_trades" : "只交易", "settings_only_trades" : "只交易",
"settings_only_transactions" : "仅交易", "settings_only_transactions" : "仅交易",
"settings_none" : "没有", "settings_none" : "没有",
"settings_support" : "支持", "settings_support" : "帮助",
"settings_terms_and_conditions" : "条款和条件", "settings_terms_and_conditions" : "条款和条件",
"pin_is_incorrect" : "PIN码不正确", "pin_is_incorrect" : "PIN码不正确",
@ -245,14 +244,14 @@
"setup_successful" : "您的PIN码已成功设置!", "setup_successful" : "您的PIN码已成功设置!",
"wallet_keys" : "錢包種子/鑰匙", "wallet_keys" : "钱包种子/密钥",
"wallet_seed" : "錢包種子", "wallet_seed" : "钱包种子",
"private_key" : "私", "private_key" : "私",
"public_key" : "公", "public_key" : "公",
"view_key_private" : "查看金钥 (私人的)", "view_key_private" : "View 密钥(私钥)",
"view_key_public" : "查看金钥 (public)", "view_key_public" : "View 密钥(公钥)",
"spend_key_private" : "支出金钥 (私人的)", "spend_key_private" : "Spend 密钥 (私钥)",
"spend_key_public" : "支出金钥 (public)", "spend_key_public" : "Spend 密钥 (公钥)",
"copied_key_to_clipboard" : "复制 ${key} 到剪贴板", "copied_key_to_clipboard" : "复制 ${key} 到剪贴板",
@ -261,7 +260,7 @@
"new_subaddress_create" : "创建", "new_subaddress_create" : "创建",
"subaddress_title" : "子地址清单", "subaddress_title" : "子地址列表",
"trade_details_title" : "交易明细", "trade_details_title" : "交易明细",
@ -280,9 +279,9 @@
"transaction_details_title" : "交易明细", "transaction_details_title" : "交易明细",
"transaction_details_transaction_id" : "交易编号", "transaction_details_transaction_id" : "交易编号",
"transaction_details_date" : "日期", "transaction_details_date" : "日期",
"transaction_details_height" : "高度", "transaction_details_height" : "区块高度",
"transaction_details_amount" : "", "transaction_details_amount" : "金额",
"transaction_details_fee" : "費用", "transaction_details_fee" : "手续费",
"transaction_details_copied" : "${title} 复制到剪贴板", "transaction_details_copied" : "${title} 复制到剪贴板",
"transaction_details_recipient_address" : "收件人地址", "transaction_details_recipient_address" : "收件人地址",
@ -290,17 +289,17 @@
"wallet_list_title" : "Monero 钱包", "wallet_list_title" : "Monero 钱包",
"wallet_list_create_new_wallet" : "创建新钱包", "wallet_list_create_new_wallet" : "创建新钱包",
"wallet_list_restore_wallet" : "恢复钱包", "wallet_list_restore_wallet" : "恢复钱包",
"wallet_list_load_wallet" : "装入钱包", "wallet_list_load_wallet" : "加载钱包",
"wallet_list_loading_wallet" : "载入中 ${wallet_name} 钱包", "wallet_list_loading_wallet" : "载入中 ${wallet_name} 钱包",
"wallet_list_failed_to_load" : "加载失败 ${wallet_name} 钱包. ${error}", "wallet_list_failed_to_load" : "加载失败 ${wallet_name} 钱包. ${error}",
"wallet_list_removing_wallet" : "拆下 ${wallet_name} 钱包", "wallet_list_removing_wallet" : "删除 ${wallet_name} 钱包",
"wallet_list_failed_to_remove" : "删除失败 ${wallet_name} 钱包. ${error}", "wallet_list_failed_to_remove" : "删除失败 ${wallet_name} 钱包. ${error}",
"widgets_address" : "地址", "widgets_address" : "地址",
"widgets_restore_from_blockheight" : "从块高还原", "widgets_restore_from_blockheight" : "从块高还原",
"widgets_restore_from_date" : "从日期还原", "widgets_restore_from_date" : "从日期还原",
"widgets_or" : "要么", "widgets_or" : "或者",
"widgets_seed" : "种子", "widgets_seed" : "种子",
@ -310,7 +309,7 @@
"error_text_account_name" : "帐户名称只能包含字母数字\n且必须介于1到15个字符之间", "error_text_account_name" : "帐户名称只能包含字母数字\n且必须介于1到15个字符之间",
"error_text_contact_name" : "联系人姓名不能包含`' \" 符号\n并且必须介于1到32个字符之间", "error_text_contact_name" : "联系人姓名不能包含`' \" 符号\n并且必须介于1到32个字符之间",
"error_text_address" : "钱包地址必须与类型对应\n加密货币", "error_text_address" : "钱包地址必须与类型对应\n加密货币",
"error_text_node_address" : "请输入一个iPv4地址", "error_text_node_address" : "请输入一个IPv4地址",
"error_text_node_port" : "节点端口只能包含0到65535之间的数字", "error_text_node_port" : "节点端口只能包含0到65535之间的数字",
"error_text_payment_id" : "付款ID只能包含16到64个字符十六进制", "error_text_payment_id" : "付款ID只能包含16到64个字符十六进制",
"error_text_xmr" : "XMR值不能超过可用余额.\n小数位数必须小于或等于12", "error_text_xmr" : "XMR值不能超过可用余额.\n小数位数必须小于或等于12",
@ -320,10 +319,10 @@
"error_text_wallet_name" : "钱包名称只能包含字母,数字\n且必须介于1到15个字符之间", "error_text_wallet_name" : "钱包名称只能包含字母,数字\n且必须介于1到15个字符之间",
"error_text_keys" : "钱包密钥只能包含16个字符的十六进制字符", "error_text_keys" : "钱包密钥只能包含16个字符的十六进制字符",
"error_text_crypto_currency" : "小数位数\n必须小于或等于12", "error_text_crypto_currency" : "小数位数\n必须小于或等于12",
"error_text_minimal_limit" : "未創建 ${provider} 交易。 金額少於最小值:${min} ${currency}", "error_text_minimal_limit" : "未创建 ${provider} 交易。 金额小于最小值:${min} ${currency}",
"error_text_maximum_limit" : "未創建 ${provider} 交易。 金額大於最大值:${max} ${currency}", "error_text_maximum_limit" : "未创建 ${provider} 交易。 金额大于最大值:${max} ${currency}",
"error_text_limits_loading_failed" : "未創建 ${provider} 交易。 限制加載失敗", "error_text_limits_loading_failed" : "未创建 ${provider} 交易。 限制加载失敗",
"error_text_template" : "模板名和地址不能包含`' \" 符号\n并且必须在1到106个字符之间", "error_text_template" : "模板名和地址不能包含`' \" 符号\n并且必须在1到106个字符之间",
"auth_store_ban_timeout" : "禁止超时", "auth_store_ban_timeout" : "禁止超时",
@ -339,32 +338,32 @@
"hidden_balance" : "隐藏余额", "hidden_balance" : "隐藏余额",
"sync_status_syncronizing" : "同步", "sync_status_syncronizing" : "正在同步",
"sync_status_syncronized" : "已同步", "sync_status_syncronized" : "已同步",
"sync_status_not_connected" : "未连接", "sync_status_not_connected" : "未连接",
"sync_status_starting_sync" : "开始同步", "sync_status_starting_sync" : "开始同步",
"sync_status_failed_connect" : "斷線", "sync_status_failed_connect" : "断线",
"sync_status_connecting" : "连接中", "sync_status_connecting" : "连接中",
"sync_status_connected" : "连接", "sync_status_connected" : "连接",
"transaction_priority_slow" : "慢", "transaction_priority_slow" : "慢",
"transaction_priority_regular" : "定期", "transaction_priority_regular" : "常规",
"transaction_priority_medium" : "介质", "transaction_priority_medium" : "中等",
"transaction_priority_fast" : "快速", "transaction_priority_fast" : "快速",
"transaction_priority_fastest" : "最快", "transaction_priority_fastest" : "最快",
"trade_for_not_created" : "交易 ${title} 未创建.", "trade_for_not_created" : "交易 ${title} 未创建.",
"trade_not_created" : "未建立交易.", "trade_not_created" : "未建立交易.",
"trade_id_not_found" : "易方式 ${tradeId} 的 ${title} 未找到.", "trade_id_not_found" : "易方式 ${tradeId} 的 ${title} 未找到.",
"trade_not_found" : "找不到交易.", "trade_not_found" : "找不到交易.",
"trade_state_pending" : "待定", "trade_state_pending" : "待定",
"trade_state_confirming" : "确认中", "trade_state_confirming" : "确认中",
"trade_state_trading" : "易", "trade_state_trading" : "易",
"trade_state_traded" : "交易", "trade_state_traded" : "交易",
"trade_state_complete" : "完成", "trade_state_complete" : "完成",
"trade_state_to_be_created" : "待创建", "trade_state_to_be_created" : "待创建",
"trade_state_unpaid" : "未付", "trade_state_unpaid" : "未付",
@ -376,100 +375,98 @@
"trade_state_created" : "已建立", "trade_state_created" : "已建立",
"trade_state_finished" : "已完成", "trade_state_finished" : "已完成",
"change_language" : "改變語言", "change_language" : "修改语言",
"change_language_to" : "將語言更改為 ${language}?", "change_language_to" : "修改语言为 ${language}?",
"paste" : "", "paste" : "粘贴",
"restore_from_seed_placeholder" : "请在此处输入或粘贴您的代码短语", "restore_from_seed_placeholder" : "请在此处输入或粘贴您的代码短语",
"add_new_word" : "添加新词", "add_new_word" : "添加新词",
"incorrect_seed" : "输入的文字无效。", "incorrect_seed" : "输入的文字无效。",
"biometric_auth_reason" : "掃描指紋以進行身份驗證", "biometric_auth_reason" : "扫描指纹进行身份认证",
"version" : "版 ${currentVersion}", "version" : "版 ${currentVersion}",
"openalias_alert_title" : "檢測到XMR收件人", "openalias_alert_title" : "检测到XMR收件人",
"openalias_alert_content" : "您將匯款至\n${recipient_name}", "openalias_alert_content" : "您将汇款至\n${recipient_name}",
"card_address" : "地址:", "card_address" : "地址:",
"buy" : "購買", "buy" : "购买",
"placeholder_transactions" : "您的交易將顯示在這裡", "placeholder_transactions" : "您的交易将显示在这里",
"placeholder_contacts" : "您的聯繫人將顯示在這裡", "placeholder_contacts" : "您的联系人将显示在这里",
"template" : "模板", "template" : "模板",
"confirm_delete_template" : "此操作將刪除此模板。 你想繼續嗎", "confirm_delete_template" : "此操作将刪除此模板。 确定吗",
"confirm_delete_wallet" : "此操作將刪除此錢包。 你想繼續嗎", "confirm_delete_wallet" : "此操作将刪除此钱包。确定吗",
"picker_description" : "要選擇ChangeNOW或MorphToken請先更改您的交易對", "picker_description" : "要选择ChangeNOW或MorphToken请先更改您的交易币",
"change_wallet_alert_title" : "更換當前錢包", "change_wallet_alert_title" : "更换当前钱包",
"change_wallet_alert_content" : "您要將當前的錢包更改為 ${wallet_name}?", "change_wallet_alert_content" : "您是否想将当前钱包改为 ${wallet_name}?",
"creating_new_wallet" : "創建新錢包", "creating_new_wallet" : "创建新钱包",
"creating_new_wallet_error" : "錯誤 ${description}", "creating_new_wallet_error" : "错误 ${description}",
"seed_alert_title" : "注意", "seed_alert_title" : "注意",
"seed_alert_content" : "種子是恢復錢包的唯一方法。 你寫下來了嗎", "seed_alert_content" : "种子是恢复钱包的唯一方法。记住了吗",
"seed_alert_back" : "回", "seed_alert_back" : "回",
"seed_alert_yes" : "是的,我有", "seed_alert_yes" : "确定",
"exchange_sync_alert_content" : "請等待,直到您的錢包同步", "exchange_sync_alert_content" : "请等待,直到您的钱包同步",
"pre_seed_title" : "重要", "pre_seed_title" : "重要",
"pre_seed_description" : "在下一頁上,您將看到一系列${words}個單詞。 這是您獨特的私人種子,是丟失或出現故障時恢復錢包的唯一方法。 您有責任將其寫下並存儲在Cake Wallet應用程序外部的安全地方。", "pre_seed_description" : "在下一页上,您将看到${words}个文字。 这是您独有的种子,是丟失或出现故障时恢复钱包的唯一方法。 您有必须将其写下并储存在Cake Wallet应用程序以外的安全地方。",
"pre_seed_button_text" : "我明白。 給我看我的種子", "pre_seed_button_text" : "我明白。 查看种子",
"xmr_to_error" : "XMR.TO錯誤", "xmr_to_error" : "XMR.TO 错误",
"xmr_to_error_description" : "無效的金額。 小數點後最多8位數字", "xmr_to_error_description" : "无效的金额。 小数点后最多8位数字",
"provider_error" : "${provider} 錯誤", "provider_error" : "${provider} 错误",
"use_ssl" : "使用SSL", "use_ssl" : "使用SSL",
"color_theme" : "顏色主題", "color_theme" : "主題",
"light_theme" : "", "light_theme" : "艳丽",
"bright_theme" : "亮", "bright_theme" : "亮",
"dark_theme" : "黑暗", "dark_theme" : "黑暗",
"enter_your_note" : "輸入您的筆記...", "enter_your_note" : "输入您的笔记...",
"note_optional" : "注意(可", "note_optional" : "注意(可",
"note_tap_to_change" : "注意(按即可更改)", "note_tap_to_change" : "注意(按即可更改)",
"transaction_key" : "交易密", "transaction_key" : "交易密",
"confirmations" : "確認書", "confirmations" : "确认",
"recipient_address" : "收件人地址", "recipient_address" : "收件人地址",
"extra_id" : "額外編號:", "extra_id" : "额外ID:",
"destination_tag" : "目標標籤:", "destination_tag" : "目标Tag:",
"memo" : "備忘錄:", "memo" : "备忘录:",
"backup" : "後備", "backup" : "备份",
"change_password" : "更改密", "change_password" : "更改密",
"backup_password" : "備用密碼", "backup_password" : "备份密码",
"write_down_backup_password" : "請寫下您的備份密碼,該密碼用於導入備份文件。", "write_down_backup_password" : "请写下您的备份密码,该密码用于导入备份文件。",
"export_backup" : "導出備份", "export_backup" : "导出备份",
"save_backup_password" : "請確保您已保存備份密碼。 沒有它,您將無法導入備份文件。", "save_backup_password" : "请确保您已保存备份密码。 沒有它,您将无法导入备份文件。",
"backup_file" : "備份檔案", "backup_file" : "备份文件",
"edit_backup_password" : "編輯備份密碼", "edit_backup_password" : "编辑备份密码",
"save_backup_password_alert" : "保存備份密碼", "save_backup_password_alert" : "保存备份密码",
"change_backup_password_alert" : "您以前的備份文件將無法使用新的備份密碼導入。 新的備份密碼將僅用於新的備份文件。 您確定要更改備份密碼嗎", "change_backup_password_alert" : "您以前的备份文件将无法使用新的备份密码導入。 新的备份密码将仅用于新的备份文件。 您确定要更改备份密码吗",
"enter_backup_password" : "在此處輸入備用密碼", "enter_backup_password" : "在此处输入備用密码",
"select_backup_file" : "選擇備份文件", "select_backup_file" : "选择备份文件",
"import" : "進口", "import" : "导入",
"please_select_backup_file" : "請選擇備份文件,然後輸入備份密碼。", "please_select_backup_file" : "请选择备份文件,然后输入备份密码。",
"fixed_rate" : "固定率", "fixed_rate" : "固定率",
"fixed_rate_alert" : "選中固定費率模式後,您將可以輸入接收金額。 您要切換到固定速率模式嗎", "fixed_rate_alert" : "选中固定汇率模式后,您将可以输入接收金额。 您要切换到固定汇率模式吗",
"xlm_extra_info" : "發送用於交換的XLM交易時請不要忘記指定備忘錄ID", "xlm_extra_info" : "发送用于交换的XLM交易时请不要忘记指定备忘录ID",
"xrp_extra_info" : "發送用於交換的XRP交易時請不要忘記指定目標標記", "xrp_extra_info" : "发送用于交换的XRP交易时请不要忘记指定目标Tag",
"exchange_incorrect_current_wallet_for_xmr" : "如果要从Cake Wallet Monero余额中兑换XMR请先切换到Monero钱包。", "exchange_incorrect_current_wallet_for_xmr" : "如果要从Cake Wallet Monero余额中兑换XMR请先切换到Monero钱包。",
"confirmed" : "已确认", "confirmed" : "已确认",
"unconfirmed" : "未经证实", "unconfirmed" : "未经证实",
"displayable" : "可显示", "displayable" : "可显示",
"submit_request" : "提交请求",
"submit_request" : "提交請求",
"buy_alert_content" : "目前,我們僅支持購買比特幣。 要購買比特幣,請創建或切換到您的比特幣錢包" "buy_alert_content" : "目前,我們僅支持購買比特幣。 要購買比特幣,請創建或切換到您的比特幣錢包"
} }