CWA-210 | added template class, template tile, send template page and send template store

wownero
Oleksandr Sobol 4 years ago
parent 722efa2f89
commit 25f3920073

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

@ -77,6 +77,7 @@ class S implements WidgetsLocalizations {
String get error_text_node_port => "Node port can only contain numbers between 0 and 65535";
String get error_text_payment_id => "Payment ID can only contain from 16 to 64 chars in hex";
String get error_text_subaddress_name => "Subaddress name can't contain ` , ' \" symbols\nand must be between 1 and 20 characters long";
String get error_text_template => "Template name and address can't contain ` , ' \" symbols\nand must be between 1 and 106 characters long";
String get error_text_wallet_name => "Wallet name can only contain letters, numbers\nand must be between 1 and 15 characters long";
String get error_text_xmr => "XMR value can't exceed available balance.\nThe number of fraction digits must be less or equal to 12";
String get estimated => "Estimated";
@ -165,12 +166,20 @@ class S implements WidgetsLocalizations {
String get seed_share => "Share seed";
String get seed_title => "Seed";
String get send => "Send";
String get send_amount => "Amount:";
String get send_creating_transaction => "Creating transaction";
String get send_error_currency => "Currency can only contain numbers";
String get send_error_minimum_value => "Minimum value of amount is 0.01";
String get send_estimated_fee => "Estimated fee:";
String get send_fee => "Fee:";
String get send_got_it => "Got it";
String get send_monero_address => "Monero address";
String get send_name => "Name";
String get send_new => "New";
String get send_payment_id => "Payment ID (optional)";
String get send_sending => "Sending...";
String get send_success => "Your Monero was successfully sent";
String get send_templates => "Templates";
String get send_title => "Send Monero";
String get send_xmr => "Send XMR";
String get send_your_wallet => "Your wallet";
@ -338,6 +347,8 @@ class $de extends S {
@override
String get transaction_sent => "Transaktion gesendet!";
@override
String get send_fee => "Gebühr:";
@override
String get password => "Passwort";
@override
String get you_will_get => "Sie erhalten";
@ -350,6 +361,8 @@ class $de extends S {
@override
String get share_address => "Adresse teilen ";
@override
String get send_templates => "Vorlagen";
@override
String get please_try_to_connect_to_another_node => "Bitte versuchen Sie, eine Verbindung zu einem anderen Knoten herzustellen";
@override
String get trade_state_traded => "Handeln";
@ -374,6 +387,8 @@ class $de extends S {
@override
String get seed_language_portuguese => "Portugiesisch";
@override
String get send_new => "Neu";
@override
String get setup_pin => "PIN einrichten";
@override
String get transaction_details_recipient_address => "Empfängeradresse";
@ -388,6 +403,8 @@ class $de extends S {
@override
String get trade_state_trading => "Handel";
@override
String get send_sending => "Senden...";
@override
String get error_text_address => "Die Walletadresse muss dem Typ entsprechen\nder Kryptowährung";
@override
String get send_your_wallet => "Deine Geldbörse";
@ -516,6 +533,8 @@ class $de extends S {
@override
String get paste => "Einfügen";
@override
String get send_got_it => "Ich habs";
@override
String get widgets_or => "oder";
@override
String get remove => "Löschen";
@ -524,12 +543,16 @@ class $de extends S {
@override
String get yesterday => "Gestern";
@override
String get send_amount => "Menge:";
@override
String get expired => "Abgelaufen";
@override
String get transaction_priority_regular => "Regulär";
@override
String get trade_details_created_at => "Hergestellt in";
@override
String get send_success => "Ihr Monero wurde erfolgreich gesendet";
@override
String get settings_wallets => "Brieftaschen";
@override
String get settings_only_transactions => "Nur Transaktionen";
@ -552,6 +575,8 @@ class $de extends S {
@override
String get nodes => "Knoten";
@override
String get error_text_template => "Vorlagenname und Adresse dürfen nicht enthalten ` , ' \" symbole\nund muss zwischen 1 und 106 Zeichen lang sein";
@override
String get seed_share => "Teilen Sie Seed";
@override
String get widgets_restore_from_blockheight => "Aus Blockhöhe wiederherstellen";
@ -688,6 +713,8 @@ class $de extends S {
@override
String get restore_active_seed => "Aktives Seed";
@override
String get send_name => "Name";
@override
String get settings_personal => "persönlich";
@override
String get seed_title => "Seed";
@ -922,6 +949,8 @@ class $hi extends S {
@override
String get transaction_sent => "भेजा गया लेन-देन";
@override
String get send_fee => "शुल्क:";
@override
String get password => "पारण शब्द";
@override
String get you_will_get => "आपको मिल जायेगा";
@ -934,6 +963,8 @@ class $hi extends S {
@override
String get share_address => "पता साझा करें";
@override
String get send_templates => "टेम्पलेट्स";
@override
String get please_try_to_connect_to_another_node => "कृपया दूसरे नोड से कनेक्ट करने का प्रयास करें";
@override
String get trade_state_traded => "ट्रेडेड";
@ -958,6 +989,8 @@ class $hi extends S {
@override
String get seed_language_portuguese => "पुर्तगाली";
@override
String get send_new => "नया";
@override
String get setup_pin => "पिन सेट करें";
@override
String get transaction_details_recipient_address => "प्राप्तकर्ता का पता";
@ -972,6 +1005,8 @@ class $hi extends S {
@override
String get trade_state_trading => "व्यापार";
@override
String get send_sending => "भेजना...";
@override
String get error_text_address => "वॉलेट पता प्रकार के अनुरूप होना चाहिए\nक्रिप्टोकरेंसी का";
@override
String get send_your_wallet => "आपका बटुआ";
@ -1100,6 +1135,8 @@ class $hi extends S {
@override
String get paste => "पेस्ट करें";
@override
String get send_got_it => "समझ गया";
@override
String get widgets_or => "या";
@override
String get remove => "हटाना";
@ -1108,12 +1145,16 @@ class $hi extends S {
@override
String get yesterday => "बिता कल";
@override
String get send_amount => "रकम:";
@override
String get expired => "समय सीमा समाप्त";
@override
String get transaction_priority_regular => "नियमित";
@override
String get trade_details_created_at => "पर बनाया गया";
@override
String get send_success => "आपका Monero सफलतापूर्वक भेजा गया";
@override
String get settings_wallets => "पर्स";
@override
String get settings_only_transactions => "केवल लेन-देन";
@ -1136,6 +1177,8 @@ class $hi extends S {
@override
String get nodes => "नोड्स";
@override
String get error_text_template => "टेम्प्लेट का नाम और पता नहीं हो सकता ` , ' \" प्रतीकों\nऔर 1 और 106 वर्णों के बीच लंबा होना चाहिए";
@override
String get seed_share => "बीज साझा करें";
@override
String get widgets_restore_from_blockheight => "ब्लॉकचेन से पुनर्स्थापित करें";
@ -1272,6 +1315,8 @@ class $hi extends S {
@override
String get restore_active_seed => "सक्रिय बीज";
@override
String get send_name => "नाम";
@override
String get settings_personal => "निजी";
@override
String get seed_title => "बीज";
@ -1506,6 +1551,8 @@ class $ru extends S {
@override
String get transaction_sent => "Tранзакция отправлена!";
@override
String get send_fee => "Комиссия:";
@override
String get password => "Пароль";
@override
String get you_will_get => "Вы получите";
@ -1518,6 +1565,8 @@ class $ru extends S {
@override
String get share_address => "Поделиться адресом";
@override
String get send_templates => "Шаблоны";
@override
String get please_try_to_connect_to_another_node => "Пожалуйста, попробуйте подключиться к другой ноде";
@override
String get trade_state_traded => "Сделка завершена";
@ -1542,6 +1591,8 @@ class $ru extends S {
@override
String get seed_language_portuguese => "Португальский";
@override
String get send_new => "Новый";
@override
String get setup_pin => "Настроить PIN";
@override
String get transaction_details_recipient_address => "Адрес получателя";
@ -1556,6 +1607,8 @@ class $ru extends S {
@override
String get trade_state_trading => "Совершение сделки";
@override
String get send_sending => "Отправка...";
@override
String get error_text_address => "Адрес кошелька должен соответствовать типу\nкриптовалюты";
@override
String get send_your_wallet => "Ваш кошелёк";
@ -1684,6 +1737,8 @@ class $ru extends S {
@override
String get paste => "Вставить";
@override
String get send_got_it => "Понял";
@override
String get widgets_or => "или";
@override
String get remove => "Удалить";
@ -1692,12 +1747,16 @@ class $ru extends S {
@override
String get yesterday => "Вчера";
@override
String get send_amount => "Сумма:";
@override
String get expired => "Истекает";
@override
String get transaction_priority_regular => "Обычный";
@override
String get trade_details_created_at => "Создано";
@override
String get send_success => "Ваш Monero был успешно отправлен";
@override
String get settings_wallets => "Кошельки";
@override
String get settings_only_transactions => "Транзакции";
@ -1720,6 +1779,8 @@ class $ru extends S {
@override
String get nodes => "Ноды";
@override
String get error_text_template => "Имя и адрес шаблона не может содержать ` , ' \" символы\nи должно быть от 1 до 106 символов в длину";
@override
String get seed_share => "Поделиться мнемонической фразой";
@override
String get widgets_restore_from_blockheight => "Восстановить на высоте блока";
@ -1856,6 +1917,8 @@ class $ru extends S {
@override
String get restore_active_seed => "Активная мнемоническая фраза";
@override
String get send_name => "Имя";
@override
String get settings_personal => "Персональные";
@override
String get seed_title => "Мнемоническая фраза";
@ -2090,6 +2153,8 @@ class $ko extends S {
@override
String get transaction_sent => "거래가 전송되었습니다!";
@override
String get send_fee => "회비:";
@override
String get password => "암호";
@override
String get you_will_get => "당신은 얻을 것이다";
@ -2102,6 +2167,8 @@ class $ko extends S {
@override
String get share_address => "주소 공유";
@override
String get send_templates => "템플릿";
@override
String get please_try_to_connect_to_another_node => "다른 노드에 연결을 시도하십시오";
@override
String get trade_state_traded => "거래";
@ -2126,6 +2193,8 @@ class $ko extends S {
@override
String get seed_language_portuguese => "포르투갈 인";
@override
String get send_new => "새로운";
@override
String get setup_pin => "설정 PIN";
@override
String get transaction_details_recipient_address => "받는 사람 주소";
@ -2140,6 +2209,8 @@ class $ko extends S {
@override
String get trade_state_trading => "거래";
@override
String get send_sending => "배상...";
@override
String get error_text_address => "지갑 주소는 유형과 일치해야합니다\n암호 화폐";
@override
String get send_your_wallet => "지갑";
@ -2268,6 +2339,8 @@ class $ko extends S {
@override
String get paste => "";
@override
String get send_got_it => "알았다";
@override
String get widgets_or => "또는";
@override
String get remove => "없애다";
@ -2276,12 +2349,16 @@ class $ko extends S {
@override
String get yesterday => "어제";
@override
String get send_amount => "양:";
@override
String get expired => "만료";
@override
String get transaction_priority_regular => "정규병";
@override
String get trade_details_created_at => "에 작성";
@override
String get send_success => "Monero가 성공적으로 전송되었습니다";
@override
String get settings_wallets => "지갑";
@override
String get settings_only_transactions => "거래 만";
@ -2304,6 +2381,8 @@ class $ko extends S {
@override
String get nodes => "노드";
@override
String get error_text_template => "템플릿 이름과 주소는 포함 할 수 없습니다 ` , ' \" 기호 \n1 ~ 106 자 사이 여야합니다";
@override
String get seed_share => "시드 공유";
@override
String get widgets_restore_from_blockheight => "블록 높이에서 복원";
@ -2440,6 +2519,8 @@ class $ko extends S {
@override
String get restore_active_seed => "활성 종자";
@override
String get send_name => "이름";
@override
String get settings_personal => "개인적인";
@override
String get seed_title => "";
@ -2674,6 +2755,8 @@ class $pt extends S {
@override
String get transaction_sent => "Transação enviada!";
@override
String get send_fee => "Taxa:";
@override
String get password => "Senha";
@override
String get you_will_get => "Você receberá";
@ -2686,6 +2769,8 @@ class $pt extends S {
@override
String get share_address => "Compartilhar endereço";
@override
String get send_templates => "Modelos";
@override
String get please_try_to_connect_to_another_node => "Por favor, tente conectar-se a outro nó";
@override
String get trade_state_traded => "Troca realizada";
@ -2710,6 +2795,8 @@ class $pt extends S {
@override
String get seed_language_portuguese => "Português";
@override
String get send_new => "Novo";
@override
String get setup_pin => "Configurar PIN";
@override
String get transaction_details_recipient_address => "Endereço do destinatário";
@ -2724,6 +2811,8 @@ class $pt extends S {
@override
String get trade_state_trading => "Em andamento";
@override
String get send_sending => "Enviando...";
@override
String get error_text_address => "O endereço da carteira deve corresponder à\ncriptomoeda selecionada";
@override
String get send_your_wallet => "Sua carteira";
@ -2852,6 +2941,8 @@ class $pt extends S {
@override
String get paste => "Colar";
@override
String get send_got_it => "Entendi";
@override
String get widgets_or => "ou";
@override
String get remove => "Remover";
@ -2860,12 +2951,16 @@ class $pt extends S {
@override
String get yesterday => "Ontem";
@override
String get send_amount => "Montante:";
@override
String get expired => "Expirada";
@override
String get transaction_priority_regular => "Regular";
@override
String get trade_details_created_at => "Criada em";
@override
String get send_success => "Seu Monero foi enviado com sucesso";
@override
String get settings_wallets => "Carteiras";
@override
String get settings_only_transactions => "Somente transações";
@ -2888,6 +2983,8 @@ class $pt extends S {
@override
String get nodes => "Nós";
@override
String get error_text_template => "O nome e o endereço do modelo não podem conter os símbolos ` , ' \" \ne deve ter entre 1 e 106 caracteres";
@override
String get seed_share => "Compartilhar semente";
@override
String get widgets_restore_from_blockheight => "Restaurar a partir de altura do bloco";
@ -3024,6 +3121,8 @@ class $pt extends S {
@override
String get restore_active_seed => "Semente ativa";
@override
String get send_name => "Nome";
@override
String get settings_personal => "Pessoal";
@override
String get seed_title => "Semente";
@ -3258,6 +3357,8 @@ class $uk extends S {
@override
String get transaction_sent => "Tранзакцію відправлено!";
@override
String get send_fee => "Комісія:";
@override
String get password => "Пароль";
@override
String get you_will_get => "Ви отримаєте";
@ -3270,6 +3371,8 @@ class $uk extends S {
@override
String get share_address => "Поділитися адресою";
@override
String get send_templates => "Шаблони";
@override
String get please_try_to_connect_to_another_node => "Будь ласка, спробуйте підключитися до іншого вузлу";
@override
String get trade_state_traded => "Операція виконана";
@ -3294,6 +3397,8 @@ class $uk extends S {
@override
String get seed_language_portuguese => "Португальська";
@override
String get send_new => "Новий";
@override
String get setup_pin => "Встановити PIN";
@override
String get transaction_details_recipient_address => "Адреса отримувача";
@ -3308,6 +3413,8 @@ class $uk extends S {
@override
String get trade_state_trading => "Виконання операції";
@override
String get send_sending => "Відправлення...";
@override
String get error_text_address => "Адреса гаманця повинна відповідати типу\nкриптовалюти";
@override
String get send_your_wallet => "Ваш гаманець";
@ -3334,7 +3441,7 @@ class $uk extends S {
@override
String get copy_address => "опіювати адресу";
@override
String get error_text_subaddress_name => "Ім'я субадреси не може містити ` , ' \" символи\nі може бути від 1 до 32 символів в довжину";
String get error_text_subaddress_name => "Ім'я субадреси не може містити ` , ' \" символи\nі може бути від 1 до 20 символів в довжину";
@override
String get incorrect_seed => "Введений текст невірний.";
@override
@ -3436,6 +3543,8 @@ class $uk extends S {
@override
String get paste => "Вставити";
@override
String get send_got_it => "Зрозумів";
@override
String get widgets_or => "або";
@override
String get remove => "Видалити";
@ -3444,12 +3553,16 @@ class $uk extends S {
@override
String get yesterday => "Вчора";
@override
String get send_amount => "Сума:";
@override
String get expired => "Закінчується";
@override
String get transaction_priority_regular => "Звичайний";
@override
String get trade_details_created_at => "Створено";
@override
String get send_success => "Ваш Monero успішно надісланий";
@override
String get settings_wallets => "Гаманці";
@override
String get settings_only_transactions => "Транзакції";
@ -3472,6 +3585,8 @@ class $uk extends S {
@override
String get nodes => "Вузли";
@override
String get error_text_template => "Ім'я та адреса шаблону не може містити ` , ' \" символи\nі може бути від 1 до 106 символів в довжину";
@override
String get seed_share => "Поділитися мнемонічною фразою";
@override
String get widgets_restore_from_blockheight => "Відновити на висоті блоку";
@ -3608,6 +3723,8 @@ class $uk extends S {
@override
String get restore_active_seed => "Активна мнемонічна фраза";
@override
String get send_name => "Ім'я";
@override
String get settings_personal => "Персональні";
@override
String get seed_title => "Мнемонічна фраза";
@ -3842,6 +3959,8 @@ class $ja extends S {
@override
String get transaction_sent => "トランザクションが送信されました!";
@override
String get send_fee => "費用:";
@override
String get password => "パスワード";
@override
String get you_will_get => "あなたが取得します";
@ -3854,6 +3973,8 @@ class $ja extends S {
@override
String get share_address => "住所を共有する";
@override
String get send_templates => "テンプレート";
@override
String get please_try_to_connect_to_another_node => "別のノードに接続してみてください";
@override
String get trade_state_traded => "取引済み";
@ -3878,6 +3999,8 @@ class $ja extends S {
@override
String get seed_language_portuguese => "ポルトガル語";
@override
String get send_new => "新着";
@override
String get setup_pin => "PINのセットアップ";
@override
String get transaction_details_recipient_address => "受取人の住所";
@ -3892,6 +4015,8 @@ class $ja extends S {
@override
String get trade_state_trading => "トレーディング";
@override
String get send_sending => "送信...";
@override
String get error_text_address => "ウォレットアドレスは、\n暗号通貨";
@override
String get send_your_wallet => "あなたの財布";
@ -4020,6 +4145,8 @@ class $ja extends S {
@override
String get paste => "ペースト";
@override
String get send_got_it => "とった";
@override
String get widgets_or => "または";
@override
String get remove => "削除する";
@ -4028,12 +4155,16 @@ class $ja extends S {
@override
String get yesterday => "昨日";
@override
String get send_amount => "量:";
@override
String get expired => "期限切れ";
@override
String get transaction_priority_regular => "レギュラー";
@override
String get trade_details_created_at => "で作成";
@override
String get send_success => "Moneroが送信されました";
@override
String get settings_wallets => "財布";
@override
String get settings_only_transactions => "トランザクションのみ";
@ -4056,6 +4187,8 @@ class $ja extends S {
@override
String get nodes => "ノード";
@override
String get error_text_template => "テンプレートの名前とアドレスに含めることはできません ` , ' \" シンボル\n1〜106文字の長さである必要があります";
@override
String get seed_share => "シードを共有する";
@override
String get widgets_restore_from_blockheight => "ブロックの高さから復元";
@ -4192,6 +4325,8 @@ class $ja extends S {
@override
String get restore_active_seed => "アクティブシード";
@override
String get send_name => "名前";
@override
String get settings_personal => "パーソナル";
@override
String get seed_title => "シード";
@ -4430,6 +4565,8 @@ class $pl extends S {
@override
String get transaction_sent => "Transakcja wysłana!";
@override
String get send_fee => "Opłata:";
@override
String get password => "Hasło";
@override
String get you_will_get => "Dostaniesz";
@ -4442,6 +4579,8 @@ class $pl extends S {
@override
String get share_address => "Udostępnij adres";
@override
String get send_templates => "Szablony";
@override
String get please_try_to_connect_to_another_node => "Spróbuj połączyć się z innym węzłem";
@override
String get trade_state_traded => "Handlowane";
@ -4466,6 +4605,8 @@ class $pl extends S {
@override
String get seed_language_portuguese => "Portugalski";
@override
String get send_new => "Nowy";
@override
String get setup_pin => "Ustaw PIN";
@override
String get transaction_details_recipient_address => "Adres odbiorcy";
@ -4480,6 +4621,8 @@ class $pl extends S {
@override
String get trade_state_trading => "Handlowy";
@override
String get send_sending => "Wysyłanie...";
@override
String get error_text_address => "Wallet address must correspond to the type\nof cryptocurrency";
@override
String get send_your_wallet => "Twój portfel";
@ -4608,6 +4751,8 @@ class $pl extends S {
@override
String get paste => "Pasta";
@override
String get send_got_it => "Rozumiem";
@override
String get widgets_or => "lub";
@override
String get remove => "Usunąć";
@ -4616,12 +4761,16 @@ class $pl extends S {
@override
String get yesterday => "Wczoraj";
@override
String get send_amount => "Ilość:";
@override
String get expired => "Przedawniony";
@override
String get transaction_priority_regular => "Regularny";
@override
String get trade_details_created_at => "Utworzono w";
@override
String get send_success => "Twoje Monero zostało pomyślnie wysłane";
@override
String get settings_wallets => "Portfele";
@override
String get settings_only_transactions => "Tylko transakcje";
@ -4644,6 +4793,8 @@ class $pl extends S {
@override
String get nodes => "Węzły";
@override
String get error_text_template => "Nazwa i adres szablonu nie mogą zawierać ` , ' \" symbolika\ni musi mieć od 1 do 106 znaków";
@override
String get seed_share => "Udostępnij ziarno";
@override
String get widgets_restore_from_blockheight => "Przywróć z wysokości bloku";
@ -4780,6 +4931,8 @@ class $pl extends S {
@override
String get restore_active_seed => "Aktywne nasiona";
@override
String get send_name => "Imię";
@override
String get settings_personal => "Osobisty";
@override
String get seed_title => "Ziarno";
@ -5014,6 +5167,8 @@ class $es extends S {
@override
String get transaction_sent => "Transacción enviada!";
@override
String get send_fee => "Cuota:";
@override
String get password => "Contraseña";
@override
String get you_will_get => "Conseguirás";
@ -5026,6 +5181,8 @@ class $es extends S {
@override
String get share_address => "Compartir dirección";
@override
String get send_templates => "Plantillas";
@override
String get please_try_to_connect_to_another_node => "Intenta conectarte a otro nodo";
@override
String get trade_state_traded => "Negociado";
@ -5050,6 +5207,8 @@ class $es extends S {
@override
String get seed_language_portuguese => "Portugués";
@override
String get send_new => "Nuevo";
@override
String get setup_pin => "PIN de configuración";
@override
String get transaction_details_recipient_address => "Dirección del receptor";
@ -5064,6 +5223,8 @@ class $es extends S {
@override
String get trade_state_trading => "Comercio";
@override
String get send_sending => "Enviando...";
@override
String get error_text_address => "La dirección de la billetera debe corresponder al tipo \nde criptomoneda";
@override
String get send_your_wallet => "Tu billetera";
@ -5192,6 +5353,8 @@ class $es extends S {
@override
String get paste => "Pegar";
@override
String get send_got_it => "Entendido";
@override
String get widgets_or => "o";
@override
String get remove => "Retirar";
@ -5200,12 +5363,16 @@ class $es extends S {
@override
String get yesterday => "Ayer";
@override
String get send_amount => "Cantidad:";
@override
String get expired => "Muerto";
@override
String get transaction_priority_regular => "Regular";
@override
String get trade_details_created_at => "Creado en";
@override
String get send_success => "Su Monero fue enviado con éxito";
@override
String get settings_wallets => "Carteras";
@override
String get settings_only_transactions => "Solo transacciones";
@ -5228,6 +5395,8 @@ class $es extends S {
@override
String get nodes => "Nodos";
@override
String get error_text_template => "El nombre y la dirección de la plantilla no pueden contener símbolos ` , '\" \ny debe tener entre 1 y 106 caracteres de longitud";
@override
String get seed_share => "Compartir semillas";
@override
String get widgets_restore_from_blockheight => "Restaurar desde blockheight";
@ -5364,6 +5533,8 @@ class $es extends S {
@override
String get restore_active_seed => "Semilla activa";
@override
String get send_name => "Nombre";
@override
String get settings_personal => "Personal";
@override
String get seed_title => "Semilla";
@ -5598,6 +5769,8 @@ class $nl extends S {
@override
String get transaction_sent => "Transactie verzonden!";
@override
String get send_fee => "Vergoeding:";
@override
String get password => "Wachtwoord";
@override
String get you_will_get => "Je zult krijgen";
@ -5610,6 +5783,8 @@ class $nl extends S {
@override
String get share_address => "Deel adres";
@override
String get send_templates => "Sjablonen";
@override
String get please_try_to_connect_to_another_node => "Probeer verbinding te maken met een ander knooppunt";
@override
String get trade_state_traded => "Traded";
@ -5634,6 +5809,8 @@ class $nl extends S {
@override
String get seed_language_portuguese => "Portugees";
@override
String get send_new => "Nieuw";
@override
String get setup_pin => "PIN instellen";
@override
String get transaction_details_recipient_address => "Adres van de ontvanger";
@ -5648,6 +5825,8 @@ class $nl extends S {
@override
String get trade_state_trading => "Handel";
@override
String get send_sending => "Bezig met verzenden...";
@override
String get error_text_address => "Portemonnee-adres moet overeenkomen met het type\nvan cryptocurrency";
@override
String get send_your_wallet => "Uw portemonnee";
@ -5776,6 +5955,8 @@ class $nl extends S {
@override
String get paste => "Plakken";
@override
String get send_got_it => "Ik snap het";
@override
String get widgets_or => "of";
@override
String get remove => "Verwijderen";
@ -5784,12 +5965,16 @@ class $nl extends S {
@override
String get yesterday => "Gisteren";
@override
String get send_amount => "Bedrag:";
@override
String get expired => "Verlopen";
@override
String get transaction_priority_regular => "Regelmatig";
@override
String get trade_details_created_at => "Gemaakt bij";
@override
String get send_success => "Uw Monero is succesvol verzonden";
@override
String get settings_wallets => "Portemonnee";
@override
String get settings_only_transactions => "Alleen transacties";
@ -5812,6 +5997,8 @@ class $nl extends S {
@override
String get nodes => "Knooppunten";
@override
String get error_text_template => "Sjabloonnaam en -adres mogen niet bevatten ` , ' \" symbolen\nen moet tussen de 1 en 106 tekens lang zijn";
@override
String get seed_share => "Deel zaad";
@override
String get widgets_restore_from_blockheight => "Herstel vanaf blockheight";
@ -5948,6 +6135,8 @@ class $nl extends S {
@override
String get restore_active_seed => "Actief zaad";
@override
String get send_name => "Naam";
@override
String get settings_personal => "Persoonlijk";
@override
String get seed_title => "Zaad";
@ -6182,6 +6371,8 @@ class $zh extends S {
@override
String get transaction_sent => "交易已发送";
@override
String get send_fee => "費用:";
@override
String get password => "密码";
@override
String get you_will_get => "你会得到";
@ -6194,6 +6385,8 @@ class $zh extends S {
@override
String get share_address => "分享地址";
@override
String get send_templates => "範本";
@override
String get please_try_to_connect_to_another_node => "请尝试连接到另一个节点";
@override
String get trade_state_traded => "交易";
@ -6218,6 +6411,8 @@ class $zh extends S {
@override
String get seed_language_portuguese => "葡萄牙語";
@override
String get send_new => "";
@override
String get setup_pin => "设定PIN码";
@override
String get transaction_details_recipient_address => "收件人地址";
@ -6232,6 +6427,8 @@ class $zh extends S {
@override
String get trade_state_trading => "贸易";
@override
String get send_sending => "正在發送...";
@override
String get error_text_address => "钱包地址必须与类型对应\n加密货币";
@override
String get send_your_wallet => "你的钱包";
@ -6360,6 +6557,8 @@ class $zh extends S {
@override
String get paste => "";
@override
String get send_got_it => "得到它了";
@override
String get widgets_or => "要么";
@override
String get remove => "去掉";
@ -6368,12 +6567,16 @@ class $zh extends S {
@override
String get yesterday => "昨天";
@override
String get send_amount => "量:";
@override
String get expired => "已过期";
@override
String get transaction_priority_regular => "定期";
@override
String get trade_details_created_at => "创建于";
@override
String get send_success => "你Monero已成功發送";
@override
String get settings_wallets => "皮夹";
@override
String get settings_only_transactions => "仅交易";
@ -6396,6 +6599,8 @@ class $zh extends S {
@override
String get nodes => "节点";
@override
String get error_text_template => "模板名稱和地址不能包含`' \" 符号\n并且必须在1到106个字符之间";
@override
String get seed_share => "分享种子";
@override
String get widgets_restore_from_blockheight => "从块高还原";
@ -6532,6 +6737,8 @@ class $zh extends S {
@override
String get restore_active_seed => "活性種子";
@override
String get send_name => "名稱";
@override
String get settings_personal => "个人";
@override
String get seed_title => "种子";

@ -21,6 +21,7 @@ import 'package:cake_wallet/src/stores/login/login_store.dart';
import 'package:cake_wallet/src/stores/balance/balance_store.dart';
import 'package:cake_wallet/src/stores/sync/sync_store.dart';
import 'package:cake_wallet/src/stores/wallet/wallet_store.dart';
import 'package:cake_wallet/src/stores/send_template/send_template_store.dart';
import 'package:cake_wallet/src/screens/root/root.dart';
import 'package:cake_wallet/src/stores/authentication/authentication_store.dart';
import 'package:cake_wallet/src/stores/settings/settings_store.dart';
@ -32,6 +33,7 @@ import 'package:cake_wallet/src/domain/common/default_settings_migration.dart';
import 'package:cake_wallet/src/domain/common/fiat_currency.dart';
import 'package:cake_wallet/src/domain/common/transaction_priority.dart';
import 'package:cake_wallet/src/domain/common/wallet_type.dart';
import 'package:cake_wallet/src/domain/common/template.dart';
import 'package:cake_wallet/src/domain/services/wallet_service.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/src/domain/common/language.dart';
@ -48,6 +50,7 @@ void main() async {
Hive.registerAdapter(TradeAdapter(), 3);
Hive.registerAdapter(WalletInfoAdapter(), 4);
Hive.registerAdapter(WalletTypeAdapter(), 5);
Hive.registerAdapter(TemplateAdapter(), 6);
final secureStorage = FlutterSecureStorage();
final transactionDescriptionsBoxKey = await getEncryptionKey(
@ -65,6 +68,7 @@ void main() async {
final trades =
await Hive.openBox<Trade>(Trade.boxName, encryptionKey: tradesBoxKey);
final walletInfoSource = await Hive.openBox<WalletInfo>(WalletInfo.boxName);
final templates = await Hive.openBox<Template>(Template.boxName);
final sharedPreferences = await SharedPreferences.getInstance();
final walletService = WalletService();
@ -101,6 +105,7 @@ void main() async {
final loginStore = LoginStore(
sharedPreferences: sharedPreferences, walletsService: walletListService);
final seedLanguageStore = SeedLanguageStore();
final sendTemplateStore = SendTemplateStore(templateSource: templates);
setReactions(
settingsStore: settingsStore,
@ -126,7 +131,8 @@ void main() async {
Provider(create: (_) => nodes),
Provider(create: (_) => transactionDescriptions),
Provider(create: (_) => trades),
Provider(create: (_) => seedLanguageStore)
Provider(create: (_) => seedLanguageStore),
Provider(create: (_) => sendTemplateStore),
], child: CakeWalletApp()));
}

@ -88,6 +88,7 @@ import 'package:cake_wallet/src/screens/seed/create_seed_page.dart';
import 'package:cake_wallet/src/screens/dashboard/create_dashboard_page.dart';
import 'package:cake_wallet/src/screens/welcome/create_welcome_page.dart';
import 'package:cake_wallet/src/screens/new_wallet/new_wallet_type_page.dart';
import 'package:cake_wallet/src/screens/send/send_template_page.dart';
class Router {
static Route<dynamic> generateRoute(
@ -236,6 +237,13 @@ class Router {
transactionDescriptions: transactionDescriptions)),
], child: SendPage()));
case Routes.sendTemplate:
return CupertinoPageRoute<void>(
builder: (_) => SendTemplatePage(
sendStore: settings.arguments as SendStore,
)
);
case Routes.receive:
return CupertinoPageRoute<void>(
fullscreenDialog: true,

@ -45,4 +45,5 @@ class Routes {
static const faq = '/faq';
static const changeLanguage = '/change_language';
static const newWalletType = '/new_wallet_type';
static const sendTemplate = '/send_template';
}

@ -0,0 +1,22 @@
import 'package:hive/hive.dart';
part 'template.g.dart';
@HiveType()
class Template extends HiveObject {
Template({this.name, this.address, this.cryptoCurrency, this.amount});
static const boxName = 'Template';
@HiveField(0)
String name;
@HiveField(1)
String address;
@HiveField(2)
String cryptoCurrency;
@HiveField(3)
String amount;
}

@ -27,6 +27,8 @@ import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
import 'package:cake_wallet/src/screens/send/widgets/confirm_sending_alert.dart';
import 'package:cake_wallet/src/screens/send/widgets/sending_alert.dart';
import 'package:cake_wallet/src/screens/send/widgets/template_tile.dart';
import 'package:cake_wallet/src/stores/send_template/send_template_store.dart';
class SendPage extends BasePage {
@override
@ -97,6 +99,7 @@ class SendFormState extends State<SendForm> {
final balanceStore = Provider.of<BalanceStore>(context);
final walletStore = Provider.of<WalletStore>(context);
final syncStore = Provider.of<SyncStore>(context);
final sendTemplateStore = Provider.of<SendTemplateStore>(context);
_setEffects(context);
@ -280,7 +283,7 @@ class SendFormState extends State<SendForm> {
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Text(
'Templates',
S.of(context).send_templates,
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.w600,
@ -294,47 +297,67 @@ class SendFormState extends State<SendForm> {
height: 40,
width: double.infinity,
padding: EdgeInsets.only(left: 24),
child: ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: 1,
itemBuilder: (context, index) {
if (index == 0) {
return GestureDetector(
onTap: () {},
child: Container(
padding: EdgeInsets.only(right: 10),
child: DottedBorder(
borderType: BorderType.RRect,
dashPattern: [8, 4],
color: PaletteDark.menuList,
strokeWidth: 2,
radius: Radius.circular(20),
child: Observer(
builder: (_) {
final itemCount = sendTemplateStore.templates.length + 1;
return ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: itemCount,
itemBuilder: (context, index) {
if (index == 0) {
return GestureDetector(
onTap: () => Navigator.of(context)
.pushNamed(Routes.sendTemplate, arguments: sendStore),
child: Container(
height: 40,
width: 75,
padding: EdgeInsets.only(left: 10, right: 10),
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(20)),
color: Colors.transparent,
),
child: Text(
'New',
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
color: PaletteDark.walletCardText
),
padding: EdgeInsets.only(right: 10),
child: DottedBorder(
borderType: BorderType.RRect,
dashPattern: [8, 4],
color: PaletteDark.menuList,
strokeWidth: 2,
radius: Radius.circular(20),
child: Container(
height: 40,
width: 75,
padding: EdgeInsets.only(left: 10, right: 10),
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(20)),
color: Colors.transparent,
),
child: Text(
S.of(context).send_new,
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
color: PaletteDark.walletCardText
),
),
)
),
)
),
),
);
}
),
);
}
index -= 1;
final template = sendTemplateStore.templates[index];
return Container();
}
return TemplateTile(
name: template.name,
amount: template.amount,
cryptoCurrency: template.cryptoCurrency,
onTap: () {
_addressController.text = template.address;
_cryptoAmountController.text = template.amount;
getOpenaliasRecord(context);
}
);
}
);
}
),
)
],
@ -450,9 +473,9 @@ class SendFormState extends State<SendForm> {
builder: (BuildContext context) {
return ConfirmSendingAlert(
alertTitle: S.of(context).confirm_sending,
amount: 'Amount:',
amount: S.of(context).send_amount,
amountValue: sendStore.pendingTransaction.amount,
fee: 'Fee:',
fee: S.of(context).send_fee,
feeValue: sendStore.pendingTransaction.fee,
leftButtonText: S.of(context).ok,
rightButtonText: S.of(context).cancel,

@ -0,0 +1,311 @@
import 'package:cake_wallet/src/widgets/scollable_with_bottom_section.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:mobx/mobx.dart';
import 'package:provider/provider.dart';
import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/src/widgets/address_text_field.dart';
import 'package:cake_wallet/src/widgets/primary_button.dart';
import 'package:cake_wallet/src/stores/settings/settings_store.dart';
import 'package:cake_wallet/src/stores/balance/balance_store.dart';
import 'package:cake_wallet/src/stores/send/send_store.dart';
import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/src/widgets/top_panel.dart';
import 'package:cake_wallet/src/stores/send_template/send_template_store.dart';
class SendTemplatePage extends BasePage {
SendTemplatePage({@required this.sendStore});
final SendStore sendStore;
@override
String get title => S.current.send_title;
@override
Color get backgroundColor => PaletteDark.menuList;
@override
bool get resizeToAvoidBottomPadding => false;
@override
Widget body(BuildContext context) => SendTemplateForm(sendStore);
}
class SendTemplateForm extends StatefulWidget {
SendTemplateForm(this.sendStore);
final SendStore sendStore;
@override
SendTemplateFormState createState() => SendTemplateFormState(sendStore);
}
class SendTemplateFormState extends State<SendTemplateForm> {
SendTemplateFormState(this.sendStore);
final SendStore sendStore;
final _nameController = TextEditingController();
final _addressController = TextEditingController();
final _cryptoAmountController = TextEditingController();
final _fiatAmountController = TextEditingController();
final _formKey = GlobalKey<FormState>();
bool _effectsInstalled = false;
@override
void dispose() {
_nameController.dispose();
_addressController.dispose();
_cryptoAmountController.dispose();
_fiatAmountController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
final settingsStore = Provider.of<SettingsStore>(context);
final balanceStore = Provider.of<BalanceStore>(context);
final sendTemplateStore = Provider.of<SendTemplateStore>(context);
_setEffects(context, sendStore);
return Container(
color: PaletteDark.historyPanel,
child: ScrollableWithBottomSection(
contentPadding: EdgeInsets.only(bottom: 24),
content: Column(
children: <Widget>[
TopPanel(
color: PaletteDark.menuList,
widget: Form(
key: _formKey,
child: Column(children: <Widget>[
TextFormField(
style: TextStyle(
fontSize: 16.0,
color: Colors.white),
controller: _nameController,
decoration: InputDecoration(
hintStyle: TextStyle(
fontSize: 16.0,
color: PaletteDark.walletCardText),
hintText: S.of(context).send_name,
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: PaletteDark.walletCardSubAddressField,
width: 1.0)),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: PaletteDark.walletCardSubAddressField,
width: 1.0))),
validator: (value) {
sendTemplateStore.validateTemplate(value);
return sendTemplateStore.errorMessage;
},
),
Padding(
padding: EdgeInsets.only(top: 20),
child: AddressTextField(
controller: _addressController,
placeholder: S.of(context).send_monero_address,
onURIScanned: (uri) {
var address = '';
var amount = '';
if (uri != null) {
address = uri.path;
amount = uri.queryParameters['tx_amount'];
} else {
address = uri.toString();
}
_addressController.text = address;
_cryptoAmountController.text = amount;
},
options: [
AddressTextFieldOption.qrCode,
AddressTextFieldOption.addressBook
],
validator: (value) {
sendTemplateStore.validateTemplate(value);
return sendTemplateStore.errorMessage;
},
),
),
Observer(
builder: (_) {
return Padding(
padding: const EdgeInsets.only(top: 20),
child: TextFormField(
style: TextStyle(
fontSize: 16.0,
color: Colors.white
),
controller: _cryptoAmountController,
keyboardType: TextInputType.numberWithOptions(
signed: false, decimal: true),
inputFormatters: [
BlacklistingTextInputFormatter(
RegExp('[\\-|\\ |\\,]'))
],
decoration: InputDecoration(
prefixIcon: Padding(
padding: EdgeInsets.only(top: 12),
child: Text('XMR:',
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.bold,
color: Colors.white,
)),
),
suffixIcon: Padding(
padding: EdgeInsets.only(
bottom: 5
),
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Container(
width: MediaQuery.of(context).size.width/2,
alignment: Alignment.centerLeft,
child: Text(
' / ' + balanceStore.unlockedBalance,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: 16,
color: PaletteDark.walletCardText
)
),
),
],
),
),
hintStyle: TextStyle(
fontSize: 16.0,
color: Colors.white),
hintText: '0.0000',
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: PaletteDark.walletCardSubAddressField,
width: 1.0)),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: PaletteDark.walletCardSubAddressField,
width: 1.0))),
validator: (value) {
sendStore.validateXMR(
value, balanceStore.unlockedBalance);
return sendStore.errorMessage;
}),
);
}
),
Padding(
padding: const EdgeInsets.only(top: 20),
child: TextFormField(
style: TextStyle(
fontSize: 16.0,
color: Colors.white),
controller: _fiatAmountController,
keyboardType: TextInputType.numberWithOptions(
signed: false, decimal: true),
inputFormatters: [
BlacklistingTextInputFormatter(
RegExp('[\\-|\\ |\\,]'))
],
decoration: InputDecoration(
prefixIcon: Padding(
padding: EdgeInsets.only(top: 12),
child: Text(
'${settingsStore.fiatCurrency.toString()}:',
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.bold,
color: Colors.white,
)),
),
hintStyle: TextStyle(
fontSize: 16.0,
color: PaletteDark.walletCardText),
hintText: '0.00',
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: PaletteDark.walletCardSubAddressField,
width: 1.0)),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: PaletteDark.walletCardSubAddressField,
width: 1.0)))),
),
]),
),
),
],
),
bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24),
bottomSection: PrimaryButton(
onPressed: () {
if (_formKey.currentState.validate()) {
sendTemplateStore.addTemplate(
name: _nameController.text,
address: _addressController.text,
cryptoCurrency: 'XMR',
amount: _cryptoAmountController.text
);
sendTemplateStore.update();
Navigator.of(context).pop();
}
},
text: S.of(context).save,
color: Colors.blue,
textColor: Colors.white
),
),
);
}
void _setEffects(BuildContext context, SendStore sendStore) {
if (_effectsInstalled) {
return;
}
//final sendStore = Provider.of<SendStore>(context);
reaction((_) => sendStore.fiatAmount, (String amount) {
if (amount != _fiatAmountController.text) {
_fiatAmountController.text = amount;
}
});
reaction((_) => sendStore.cryptoAmount, (String amount) {
if (amount != _cryptoAmountController.text) {
_cryptoAmountController.text = amount;
}
});
_fiatAmountController.addListener(() {
final fiatAmount = _fiatAmountController.text;
if (sendStore.fiatAmount != fiatAmount) {
sendStore.changeFiatAmount(fiatAmount);
}
});
_cryptoAmountController.addListener(() {
final cryptoAmount = _cryptoAmountController.text;
if (sendStore.cryptoAmount != cryptoAmount) {
sendStore.changeCryptoAmount(cryptoAmount);
}
});
_effectsInstalled = true;
}
}

@ -41,7 +41,7 @@ class SendingAlertState extends State<SendingAlert> {
child: Padding(
padding: EdgeInsets.only(top: 220, left: 24, right: 24),
child: Text(
'Your Monero was successfully sent',
S.of(context).send_success,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 22,
@ -58,7 +58,7 @@ class SendingAlertState extends State<SendingAlert> {
bottom: 24,
child: PrimaryButton(
onPressed: () => Navigator.of(context).pop(),
text: 'Got it',
text: S.of(context).send_got_it,
color: Colors.blue,
textColor: Colors.white
)
@ -84,7 +84,7 @@ class SendingAlertState extends State<SendingAlert> {
child: Padding(
padding: EdgeInsets.only(top: 220),
child: Text(
'Sending...',
S.of(context).send_sending,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 22,

@ -0,0 +1,76 @@
import 'package:flutter/material.dart';
import 'package:cake_wallet/palette.dart';
class TemplateTile extends StatelessWidget {
TemplateTile({
@required this.name,
@required this.amount,
@required this.cryptoCurrency,
@required this.onTap
});
final String name;
final String amount;
final String cryptoCurrency;
final VoidCallback onTap;
final toIcon = Image.asset('assets/images/to_icon.png');
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.only(right: 10),
child: GestureDetector(
onTap: onTap,
child: Container(
height: 40,
padding: EdgeInsets.only(left: 24, right: 24),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(20)),
color: PaletteDark.menuList
),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Text(
amount,
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
color: Colors.white
),
),
Padding(
padding: EdgeInsets.only(left: 5),
child: Text(
cryptoCurrency,
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
color: Colors.white
),
),
),
Padding(
padding: EdgeInsets.only(left: 5),
child: toIcon,
),
Padding(
padding: EdgeInsets.only(left: 5),
child: Text(
name,
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
color: Colors.white
),
),
),
],
),
),
),
);
}
}

@ -0,0 +1,48 @@
import 'dart:async';
import 'package:mobx/mobx.dart';
import 'package:hive/hive.dart';
import 'package:cake_wallet/src/domain/common/template.dart';
import 'package:cake_wallet/generated/i18n.dart';
part 'send_template_store.g.dart';
class SendTemplateStore = SendTemplateBase with _$SendTemplateStore;
abstract class SendTemplateBase with Store {
SendTemplateBase({this.templateSource}) {
templates = ObservableList<Template>();
update();
}
@observable
ObservableList<Template> templates;
@observable
bool isValid;
@observable
String errorMessage;
Box<Template> templateSource;
@action
void update() =>
templates.replaceRange(0, templates.length, templateSource.values.toList());
@action
Future addTemplate({String name, String address, String cryptoCurrency, String amount}) async {
final template = Template(name: name, address: address,
cryptoCurrency: cryptoCurrency, amount: amount);
await templateSource.add(template);
}
@action
Future remove({Template template}) async => await template.delete();
void validateTemplate(String value) {
const pattern = '''^[^`,'"]{1,106}\$''';
final regExp = RegExp(pattern);
isValid = regExp.hasMatch(value);
errorMessage = isValid ? null : S.current.error_text_template;
}
}

@ -185,6 +185,14 @@
"send_estimated_fee" : "Geschätzte Gebühr:",
"send_priority" : "Derzeit ist die Gebühr auf festgelegt ${transactionPriority} priorität.\nDie Transaktionspriorität kann in den Einstellungen angepasst werden",
"send_creating_transaction" : "Transaktion erstellen",
"send_templates" : "Vorlagen",
"send_new" : "Neu",
"send_amount" : "Menge:",
"send_fee" : "Gebühr:",
"send_name" : "Name",
"send_got_it" : "Ich habs",
"send_sending" : "Senden...",
"send_success" : "Ihr Monero wurde erfolgreich gesendet",
"settings_title" : "die Einstellungen",
@ -291,6 +299,7 @@
"error_text_minimal_limit" : "Handel für ${provider} wird nicht erstellt. Menge ist weniger als minimal: ${min} ${currency}",
"error_text_maximum_limit" : "Handel für ${provider} wird nicht erstellt. Menge ist mehr als maximal: ${max} ${currency}",
"error_text_limits_loading_failed" : "Handel für ${provider} wird nicht erstellt. Das Laden der Limits ist fehlgeschlagen",
"error_text_template" : "Vorlagenname und Adresse dürfen nicht enthalten ` , ' \" symbole\nund muss zwischen 1 und 106 Zeichen lang sein",
"auth_store_ban_timeout" : "Auszeit verbieten",

@ -185,6 +185,14 @@
"send_estimated_fee" : "Estimated fee:",
"send_priority" : "Currently the fee is set at ${transactionPriority} priority.\nTransaction priority can be adjusted in the settings",
"send_creating_transaction" : "Creating transaction",
"send_templates" : "Templates",
"send_new" : "New",
"send_amount" : "Amount:",
"send_fee" : "Fee:",
"send_name" : "Name",
"send_got_it" : "Got it",
"send_sending" : "Sending...",
"send_success" : "Your Monero was successfully sent",
"settings_title" : "Settings",
@ -291,6 +299,7 @@
"error_text_minimal_limit" : "Trade for ${provider} is not created. Amount is less then minimal: ${min} ${currency}",
"error_text_maximum_limit" : "Trade for ${provider} is not created. Amount is more then maximum: ${max} ${currency}",
"error_text_limits_loading_failed" : "Trade for ${provider} is not created. Limits loading failed",
"error_text_template" : "Template name and address can't contain ` , ' \" symbols\nand must be between 1 and 106 characters long",
"auth_store_ban_timeout" : "ban_timeout",

@ -185,6 +185,14 @@
"send_estimated_fee" : "Tarifa estimada:",
"send_priority" : "Actualmente la tarifa se establece en ${transactionPriority} prioridad.\nLa prioridad de la transacción se puede ajustar en la configuración",
"send_creating_transaction" : "Creando transacción",
"send_templates" : "Plantillas",
"send_new" : "Nuevo",
"send_amount" : "Cantidad:",
"send_fee" : "Cuota:",
"send_name" : "Nombre",
"send_got_it" : "Entendido",
"send_sending" : "Enviando...",
"send_success" : "Su Monero fue enviado con éxito",
"settings_title" : "Configuraciones",
@ -291,6 +299,7 @@
"error_text_minimal_limit" : "El comercio por ${provider} no se crea. La cantidad es menos que mínima: ${min} ${currency}",
"error_text_maximum_limit" : "El comercio por ${provider} no se crea. La cantidad es más que el máximo: ${max} ${currency}",
"error_text_limits_loading_failed" : "El comercio por ${provider} no se crea. Límites de carga fallidos",
"error_text_template" : "El nombre y la dirección de la plantilla no pueden contener símbolos ` , '\" \ny debe tener entre 1 y 106 caracteres de longitud",
"auth_store_ban_timeout" : "prohibición de tiempo de espera",

@ -185,6 +185,14 @@
"send_estimated_fee" : "अनुमानित शुल्क:",
"send_priority" : "वर्तमान में शुल्क निर्धारित है ${transactionPriority} प्राथमिकता.\nलेन-देन की प्राथमिकता को सेटिंग्स में समायोजित किया जा सकता है",
"send_creating_transaction" : "लेन-देन बनाना",
"send_templates" : "टेम्पलेट्स",
"send_new" : "नया",
"send_amount" : "रकम:",
"send_fee" : "शुल्क:",
"send_name" : "नाम",
"send_got_it" : "समझ गया",
"send_sending" : "भेजना...",
"send_success" : "आपका Monero सफलतापूर्वक भेजा गया",
"settings_title" : "सेटिंग्स",
@ -291,6 +299,7 @@
"error_text_minimal_limit" : "व्यापार ${provider} के लिए नहीं बनाया गया है। राशि कम है तो न्यूनतम: ${min} ${currency}",
"error_text_maximum_limit" : "व्यापार ${provider} के लिए नहीं बनाया गया है। राशि अधिक है तो अधिकतम: ${max} ${currency}",
"error_text_limits_loading_failed" : "व्यापार ${provider} के लिए नहीं बनाया गया है। लोडिंग की सीमाएं विफल रहीं",
"error_text_template" : "टेम्प्लेट का नाम और पता नहीं हो सकता ` , ' \" प्रतीकों\nऔर 1 और 106 वर्णों के बीच लंबा होना चाहिए",
"auth_store_ban_timeout" : "समय की पाबंदी",

@ -185,6 +185,14 @@
"send_estimated_fee" : "見積手数料:",
"send_priority" : "現在、料金は ${transactionPriority} 優先度.\nトランザクションの優先度は設定で調整できます",
"send_creating_transaction" : "トランザクションを作成する",
"send_templates" : "テンプレート",
"send_new" : "新着",
"send_amount" : "量:",
"send_fee" : "費用:",
"send_name" : "名前",
"send_got_it" : "とった",
"send_sending" : "送信...",
"send_success" : "Moneroが送信されました",
"settings_title" : "設定",
@ -291,6 +299,7 @@
"error_text_minimal_limit" : "${provider} の取引は作成されません。 金額は最小額より少ない: ${min} ${currency}",
"error_text_maximum_limit" : "${provider} の取引は作成されません。 金額は最大値を超えています: ${max} ${currency}",
"error_text_limits_loading_failed" : "${provider} の取引は作成されません。 制限の読み込みに失敗しました",
"error_text_template" : "テンプレートの名前とアドレスに含めることはできません ` , ' \" シンボル\n1〜106文字の長さである必要があります",
"auth_store_ban_timeout" : "禁止タイムアウト",

@ -185,6 +185,14 @@
"send_estimated_fee" : "예상 수수료:",
"send_priority" : "현재 수수료는 ${transactionPriority} 우선 순위.\n거래 우선 순위는 설정에서 조정할 수 있습니다",
"send_creating_transaction" : "거래 생성",
"send_templates" : "템플릿",
"send_new" : "새로운",
"send_amount" : "양:",
"send_fee" : "회비:",
"send_name" : "이름",
"send_got_it" : "알았다",
"send_sending" : "배상...",
"send_success" : "Monero가 성공적으로 전송되었습니다",
"settings_title" : "설정",
@ -291,6 +299,7 @@
"error_text_minimal_limit" : "거래 ${provider} 가 생성되지 않습니다. 금액이 최소보다 적습니다. ${min} ${currency}",
"error_text_maximum_limit" : "거래 ${provider} 가 생성되지 않습니다. 금액이 최대 값보다 많습니다. ${max} ${currency}",
"error_text_limits_loading_failed" : "거래 ${provider} 가 생성되지 않습니다. 로딩 실패",
"error_text_template" : "템플릿 이름과 주소는 포함 할 수 없습니다 ` , ' \" 기호 \n1 ~ 106 자 사이 여야합니다",
"auth_store_ban_timeout" : "타임 아웃 금지",

@ -185,6 +185,14 @@
"send_estimated_fee" : "Geschatte vergoeding:",
"send_priority" : "Momenteel is de vergoeding vastgesteld op ${transactionPriority} prioriteit.\nTransactieprioriteit kan worden aangepast in de instellingen",
"send_creating_transaction" : "Transactie maken",
"send_templates" : "Sjablonen",
"send_new" : "Nieuw",
"send_amount" : "Bedrag:",
"send_fee" : "Vergoeding:",
"send_name" : "Naam",
"send_got_it" : "Ik snap het",
"send_sending" : "Bezig met verzenden...",
"send_success" : "Uw Monero is succesvol verzonden",
"settings_title" : "Instellingen",
@ -291,6 +299,7 @@
"error_text_minimal_limit" : "Ruil voor ${provider} is niet gemaakt. Bedrag is minder dan minimaal: ${min} ${currency}",
"error_text_maximum_limit" : "Ruil voor ${provider} is niet gemaakt. Bedrag is meer dan maximaal: ${max} ${currency}",
"error_text_limits_loading_failed" : "Ruil voor ${provider} is niet gemaakt. Beperkingen laden mislukt",
"error_text_template" : "Sjabloonnaam en -adres mogen niet bevatten ` , ' \" symbolen\nen moet tussen de 1 en 106 tekens lang zijn",
"auth_store_ban_timeout" : "time-out verbieden",

@ -185,6 +185,14 @@
"send_estimated_fee" : "Szacowana opłata:",
"send_priority" : "Obecnie opłata ustalona jest na ${transactionPriority} priorytet.\nPriorytet transakcji można zmienić w ustawieniach",
"send_creating_transaction" : "Tworzenie transakcji",
"send_templates" : "Szablony",
"send_new" : "Nowy",
"send_amount" : "Ilość:",
"send_fee" : "Opłata:",
"send_name" : "Imię",
"send_got_it" : "Rozumiem",
"send_sending" : "Wysyłanie...",
"send_success" : "Twoje Monero zostało pomyślnie wysłane",
"settings_title" : "Ustawienia",
@ -291,6 +299,7 @@
"error_text_minimal_limit" : "Wymiana dla ${provider} nie została utworzona. Kwota jest mniejsza niż minimalna: ${min} ${currency}",
"error_text_maximum_limit" : "Wymiana dla ${provider} nie została utworzona. Kwota jest większa niż maksymalna: ${max} ${currency}",
"error_text_limits_loading_failed" : "Wymiana dla ${provider} nie została utworzona. Ładowanie limitów nie powiodło się",
"error_text_template" : "Nazwa i adres szablonu nie mogą zawierać ` , ' \" symbolika\ni musi mieć od 1 do 106 znaków",
"auth_store_ban_timeout" : "przekroczenie limitu czasu",

@ -185,6 +185,14 @@
"send_estimated_fee" : "Taxa estimada:",
"send_priority" : "Atualmente, a taxa está definida para a prioridade: ${transactionPriority}.\nA prioridade da transação pode ser ajustada nas configurações",
"send_creating_transaction" : "Criando transação",
"send_templates" : "Modelos",
"send_new" : "Novo",
"send_amount" : "Montante:",
"send_fee" : "Taxa:",
"send_name" : "Nome",
"send_got_it" : "Entendi",
"send_sending" : "Enviando...",
"send_success" : "Seu Monero foi enviado com sucesso",
"settings_title" : "Configurações",
@ -291,6 +299,7 @@
"error_text_minimal_limit" : "A troca por ${provider} não é criada. O valor é menor que o mínimo: ${min} ${currency}",
"error_text_maximum_limit" : "A troca por ${provider} não é criada. O valor é superior ao máximo: ${max} ${currency}",
"error_text_limits_loading_failed" : "A troca por ${provider} não é criada. Falha no carregamento dos limites",
"error_text_template" : "O nome e o endereço do modelo não podem conter os símbolos ` , ' \" \ne deve ter entre 1 e 106 caracteres",
"auth_store_ban_timeout" : "ban_timeout",

@ -185,6 +185,14 @@
"send_estimated_fee" : "Предполагаемая комиссия:",
"send_priority" : "Комиссия установлена в зависимости от приоритета: ${transactionPriority}.\nПриоритет транзакции может быть изменён в настройках",
"send_creating_transaction" : "Создать транзакцию",
"send_templates" : "Шаблоны",
"send_new" : "Новый",
"send_amount" : "Сумма:",
"send_fee" : "Комиссия:",
"send_name" : "Имя",
"send_got_it" : "Понял",
"send_sending" : "Отправка...",
"send_success" : "Ваш Monero был успешно отправлен",
"settings_title" : "Настройки",
@ -291,6 +299,7 @@
"error_text_minimal_limit" : "Сделка для ${provider} не создана. Сумма меньше минимальной: ${min} ${currency}",
"error_text_maximum_limit" : "Сделка для ${provider} не создана. Сумма больше максимальной: ${max} ${currency}",
"error_text_limits_loading_failed" : "Сделка для ${provider} не создана. Ошибка загрузки лимитов",
"error_text_template" : "Имя и адрес шаблона не может содержать ` , ' \" символы\nи должно быть от 1 до 106 символов в длину",
"auth_store_ban_timeout" : "ban_timeout",

@ -185,6 +185,14 @@
"send_estimated_fee" : "Ймовірна комісія:",
"send_priority" : "Комісія встановлена в залежності від пріоритету: ${transactionPriority}.\nПріоритет транзакції може бути змінений в налаштуваннях",
"send_creating_transaction" : "Створити транзакцію",
"send_templates" : "Шаблони",
"send_new" : "Новий",
"send_amount" : "Сума:",
"send_fee" : "Комісія:",
"send_name" : "Ім'я",
"send_got_it" : "Зрозумів",
"send_sending" : "Відправлення...",
"send_success" : "Ваш Monero успішно надісланий",
"settings_title" : "Налаштування",
@ -283,7 +291,7 @@
"error_text_payment_id" : "Ідентифікатор платежу може містити від 16 до 64 символів в hex",
"error_text_xmr" : "Значення XMR не може перевищувати доступний баланс.\nКількість цифр після коми повинно бути меншим або дорівнювати 12",
"error_text_fiat" : "Значення суми не може перевищувати доступний баланс.\nКількість цифр після коми повинно бути меншим або дорівнювати 2",
"error_text_subaddress_name" : "Ім'я субадреси не може містити ` , ' \" символи\nі може бути від 1 до 32 символів в довжину",
"error_text_subaddress_name" : "Ім'я субадреси не може містити ` , ' \" символи\nі може бути від 1 до 20 символів в довжину",
"error_text_amount" : "Баланс може містити тільки цифри",
"error_text_wallet_name" : "Ім'я гаманця може містити тільки букви, цифри\nі повинно бути від 1 до 15 символів в довжину",
"error_text_keys" : "Ключі гаманця можуть містити тільки 64 символів в hex",
@ -291,6 +299,7 @@
"error_text_minimal_limit" : "Операція для ${provider} не створена. Сума менша мінімальної: ${min} ${currency}",
"error_text_maximum_limit" : "Операція для ${provider} не створена. Сума більше максимальної: ${max} ${currency}",
"error_text_limits_loading_failed" : "Операція для ${provider} не створена. Помилка завантаження лімітів",
"error_text_template" : "Ім'я та адреса шаблону не може містити ` , ' \" символи\nі може бути від 1 до 106 символів в довжину",
"auth_store_ban_timeout" : "ban_timeout",

@ -185,6 +185,14 @@
"send_estimated_fee" : "预估费用:",
"send_priority" : "目前,费用设置为 ${transactionPriority} 优先.\n交易优先级可以在设置中进行调整",
"send_creating_transaction" : "创建交易",
"send_templates" : "範本",
"send_new" : "新",
"send_amount" : "量:",
"send_fee" : "費用:",
"send_name" : "名稱",
"send_got_it" : "得到它了",
"send_sending" : "正在發送...",
"send_success" : "你Monero已成功發送",
"settings_title" : "设定值",
@ -291,6 +299,7 @@
"error_text_minimal_limit" : "未創建 ${provider} 交易。 金額少於最小值:${min} ${currency}",
"error_text_maximum_limit" : "未創建 ${provider} 交易。 金額大於最大值:${max} ${currency}",
"error_text_limits_loading_failed" : "未創建 ${provider} 交易。 限制加載失敗",
"error_text_template" : "模板名稱和地址不能包含`' \" 符号\n并且必须在1到106个字符之间",
"auth_store_ban_timeout" : "禁止超时",

Loading…
Cancel
Save