async i18n and json translation format (#369)

* start working on loading locales async and as json

* finish off langs and UI

* fix path

* fix tests
This commit is contained in:
Andrew Camilleri
2018-11-09 08:48:38 +01:00
committed by Nicolas Dorier
parent aa1ac3da50
commit f23e2a3ec4
25 changed files with 379 additions and 353 deletions

View File

@@ -270,7 +270,7 @@ namespace BTCPayServer.Controllers
ServerUrl = HttpContext.Request.GetAbsoluteRoot(), ServerUrl = HttpContext.Request.GetAbsoluteRoot(),
OrderId = invoice.OrderId, OrderId = invoice.OrderId,
InvoiceId = invoice.Id, InvoiceId = invoice.Id,
DefaultLang = storeBlob.DefaultLang ?? "en-US", DefaultLang = storeBlob.DefaultLang ?? "en",
HtmlTitle = storeBlob.HtmlTitle ?? "BTCPay Invoice", HtmlTitle = storeBlob.HtmlTitle ?? "BTCPay Invoice",
CustomCSSLink = storeBlob.CustomCSS?.AbsoluteUri, CustomCSSLink = storeBlob.CustomCSS?.AbsoluteUri,
CustomLogoLink = storeBlob.CustomLogo?.AbsoluteUri, CustomLogoLink = storeBlob.CustomLogo?.AbsoluteUri,

View File

@@ -58,7 +58,7 @@ namespace BTCPayServer.Models.StoreViewModels
public void SetLanguages(LanguageService langService, string defaultLang) public void SetLanguages(LanguageService langService, string defaultLang)
{ {
defaultLang = defaultLang ?? "en-US"; defaultLang = defaultLang ?? "en";
var choices = langService.GetLanguages().Select(o => new Format() { Name = o.DisplayName, Value = o.Code }).ToArray(); var choices = langService.GetLanguages().Select(o => new Format() { Name = o.DisplayName, Value = o.Code }).ToArray();
var chosen = choices.FirstOrDefault(f => f.Value == defaultLang) ?? choices.FirstOrDefault(); var chosen = choices.FirstOrDefault(f => f.Value == defaultLang) ?? choices.FirstOrDefault();
Languages = new SelectList(choices, nameof(chosen.Value), nameof(chosen.Name), chosen); Languages = new SelectList(choices, nameof(chosen.Value), nameof(chosen.Name), chosen);

View File

@@ -1,7 +1,11 @@
using System; using System.Collections.Generic;
using System.Collections.Generic; using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting.Internal;
using Microsoft.Extensions.Hosting;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Serialization;
namespace BTCPayServer.Services namespace BTCPayServer.Services
{ {
@@ -12,34 +16,53 @@ namespace BTCPayServer.Services
DisplayName = displayName; DisplayName = displayName;
Code = code; Code = code;
} }
[JsonProperty("code")]
public string Code { get; set; } public string Code { get; set; }
[JsonProperty("currentLanguage")]
public string DisplayName { get; set; } public string DisplayName { get; set; }
} }
public class LanguageService public class LanguageService
{ {
private readonly Language[] _languages;
public LanguageService(IHostingEnvironment environment)
{
var path = (environment as HostingEnvironment)?.WebRootPath;
if (string.IsNullOrEmpty(path))
{
//test environment
path = Path.Combine(TryGetSolutionDirectoryInfo().FullName,"BTCPayServer", "wwwroot");
}
path = Path.Combine(path, "locales");
var files = Directory.GetFiles(path, "*.json");
var result = new List<Language>();
foreach (var file in files)
{
using (var stream = new StreamReader(file))
{
var json = stream.ReadToEnd();
result.Add(JObject.Parse(json).ToObject<Language>());
}
}
_languages = result.ToArray();
}
private static DirectoryInfo TryGetSolutionDirectoryInfo(string currentPath = null)
{
var directory = new DirectoryInfo(
currentPath ?? Directory.GetCurrentDirectory());
while (directory != null && !directory.GetFiles("*.sln").Any())
{
directory = directory.Parent;
}
return directory;
}
public Language[] GetLanguages() public Language[] GetLanguages()
{ {
return new[] return _languages;
{
new Language("en-US", "English"),
new Language("de-DE", "Deutsch"),
new Language("ja-JP", "日本語"),
new Language("fr-FR", "Français"),
new Language("es-ES", "Spanish"),
new Language("pt-PT", "Portuguese"),
new Language("pt-BR", "Portuguese (Brazil)"),
new Language("nl-NL", "Dutch"),
new Language("np-NP", "नेपाली"),
new Language("cs-CZ", "Česky"),
new Language("is-IS", "Íslenska"),
new Language("hr-HR", "Croatian"),
new Language("it-IT", "Italiano"),
new Language("kk-KZ", "Қазақша"),
new Language("ru-RU", "русский"),
new Language("uk-UA", "Українська"),
new Language("vi-VN", "Tiếng Việt"),
new Language("zh-SP", "中文(简体)"),
};
} }
} }
} }

View File

@@ -288,7 +288,7 @@
:disabled="isLoading" :disabled="isLoading"
v-on:change="onCurrencyChange($event)" v-on:change="onCurrencyChange($event)"
ref="changellyCurrenciesDropdown"> ref="changellyCurrenciesDropdown">
<option value="">Select a currency to convert from</option> <option value="">{{$t("ConversionTab_CurrencyList_Select_Option")}}</option>
<option v-for="currency of currencies" <option v-for="currency of currencies"
:data-prefix="'<img src=\''+currency.image+'\'/>'" :data-prefix="'<img src=\''+currency.image+'\'/>'"
:value="currency.name"> :value="currency.name">

View File

@@ -79,20 +79,14 @@
@* Not working because of nsSeparator: false, keySeparator: false, @* Not working because of nsSeparator: false, keySeparator: false,
{{$t("nested.lang")}} >> {{$t("nested.lang")}} >>
*@ *@
<select class="cmblang reverse invisible" onchange="changeLanguage($(this).val())">
@foreach (var lang in langService.GetLanguages()) <select asp-for="DefaultLang"
{ class="cmblang reverse invisible"
<option value="@lang.Code">@lang.DisplayName</option> onchange="changeLanguage($(this).val())"
} asp-items="@langService.GetLanguages().Select((language) => new SelectListItem(language.DisplayName,language.Code, language.Code == Model.DefaultLang))"></select>
</select>
<script> <script>
$(function() { $(function() {
var storeDefaultLang = '@Model.DefaultLang';
if (urlParams.lang) {
$(".cmblang").val(urlParams.lang);
} else if (storeDefaultLang) {
$(".cmblang").val(storeDefaultLang);
}
// REVIEW: don't use initDropdown method but rather directly initialize select whenever you are using it // REVIEW: don't use initDropdown method but rather directly initialize select whenever you are using it
initDropdown(".cmblang"); initDropdown(".cmblang");
@@ -118,31 +112,16 @@
<script type="text/javascript"> <script type="text/javascript">
var storeDefaultLang = '@Model.DefaultLang'; var storeDefaultLang = '@Model.DefaultLang';
// initialization // initialization
i18next.init({ i18next
lng: storeDefaultLang, .use(window.i18nextXHRBackend)
fallbackLng: 'en-US', .init({
nsSeparator: false, backend: {
keySeparator: false, loadPath: '/locales/{{lng}}.json',
resources: {
'en-US': { translation: locales_en },
'de-DE': { translation: locales_de },
'es-ES': { translation: locales_es },
'ja-JP': { translation: locales_ja },
'fr-FR': { translation: locales_fr },
'pt': { translation: locales_pt },
'pt-BR': { translation: locales_pt_br },
'nl': { translation: locales_nl },
'np': { translation: locales_np },
'cs-CZ': { translation: locales_cs },
'is-IS': { translation: locales_is },
'it-IT': { translation: locales_it },
'hr-HR': { translation: locales_hr },
'kk-KZ': { translation: locales_kk },
'ru-RU': { translation: locales_ru },
'uk-UA': { translation: locales_uk },
'vi-VN': { translation: locales_vi },
'zh-SP': { translation: locales_zh_sp }
}, },
lng: storeDefaultLang,
fallbackLng: 'en',
nsSeparator: false,
keySeparator: false
}); });
function changeLanguage(lang) { function changeLanguage(lang) {
@@ -151,9 +130,10 @@
if (urlParams.lang) { if (urlParams.lang) {
changeLanguage(urlParams.lang); changeLanguage(urlParams.lang);
} else if (storeDefaultLang) {
changeLanguage(storeDefaultLang);
} }
// else if (storeDefaultLang) {
// changeLanguage(storeDefaultLang);
// }
const i18n = new VueI18next(i18next); const i18n = new VueI18next(i18next);

View File

@@ -46,6 +46,7 @@
"wwwroot/vendor/vuejs/vue.min.js", "wwwroot/vendor/vuejs/vue.min.js",
"wwwroot/vendor/vuejs/vue-qrcode.js", "wwwroot/vendor/vuejs/vue-qrcode.js",
"wwwroot/vendor/i18next/i18next.js", "wwwroot/vendor/i18next/i18next.js",
"wwwroot/vendor/i18next/i18nextXHRBackend.js",
"wwwroot/vendor/i18next/vue-i18next.js", "wwwroot/vendor/i18next/vue-i18next.js",
"wwwroot/vendor/jquery-prettydropdowns/jquery.prettydropdowns.js", "wwwroot/vendor/jquery-prettydropdowns/jquery.prettydropdowns.js",
"wwwroot/vendor/vex/js/vex.combined.min.js", "wwwroot/vendor/vex/js/vex.combined.min.js",

View File

@@ -1,7 +1,7 @@
const locales_cs = { {
nested: { "code": "cs-CZ",
lang: 'Jazyk' "currentLanguage": "Česky",
}, "lang": "Jazyk",
"Awaiting Payment...": "Očekávám platbu...", "Awaiting Payment...": "Očekávám platbu...",
"Pay with": "Zaplatit pomocí", "Pay with": "Zaplatit pomocí",
"Contact and Refund Email": "Kontaktní email", "Contact and Refund Email": "Kontaktní email",
@@ -13,42 +13,32 @@ const locales_cs = {
"Network Cost": "Síťové náklady", "Network Cost": "Síťové náklady",
"Already Paid": "Již zaplaceno", "Already Paid": "Již zaplaceno",
"Due": "Zbývá", "Due": "Zbývá",
// Tabs
"Scan": "Skenovat", "Scan": "Skenovat",
"Copy": "Kopírovat", "Copy": "Kopírovat",
"Conversion": "Konverze", "Conversion": "Konverze",
// Scan tab
"Open in wallet": "Otevřít v peněžence", "Open in wallet": "Otevřít v peněžence",
// Copy tab
"CompletePay_Body": "K dokončení platby, prosíme pošlete {{btcDue}} {{cryptoCode}} na adresu níže.", "CompletePay_Body": "K dokončení platby, prosíme pošlete {{btcDue}} {{cryptoCode}} na adresu níže.",
"Amount": "Částka", "Amount": "Částka",
"Address": "Adresa", "Address": "Adresa",
"Copied": "Zkopírováno", "Copied": "Zkopírováno",
// Conversion tab
"ConversionTab_BodyTop": "Můžete zaplatit {{btcDue}} {{cryptoCode}} i pomocí altcoinů které přímo nepodporuje obchodník.", "ConversionTab_BodyTop": "Můžete zaplatit {{btcDue}} {{cryptoCode}} i pomocí altcoinů které přímo nepodporuje obchodník.",
"ConversionTab_BodyDesc": "Tato služba je poskytována třetí stranou. Prosíme mějte na paměti, že nemáme žádnou kontrolu nad tím, jak poskytovatelé budou nakládat s vašimi prostředky. Faktura bude označena jako zaplacena, pouze když jsou prostředky obdrženy v {{cryptoCode}} Blockchainu.", "ConversionTab_BodyDesc": "Tato služba je poskytována třetí stranou. Prosíme mějte na paměti, že nemáme žádnou kontrolu nad tím, jak poskytovatelé budou nakládat s vašimi prostředky. Faktura bude označena jako zaplacena, pouze když jsou prostředky obdrženy v {{cryptoCode}} Blockchainu.",
"Shapeshift_Button_Text": "Zaplatit pomocí Altcoinů", "Shapeshift_Button_Text": "Zaplatit pomocí Altcoinů",
"ConversionTab_Lightning": "Pro platby Lightning Network nejsou dostupní žádní poskytovatelé konverzí.", "ConversionTab_Lightning": "Pro platby Lightning Network nejsou dostupní žádní poskytovatelé konverzí.",
// Invoice expired
"Invoice expiring soon...": "Faktura brzy vyprší...", "Invoice expiring soon...": "Faktura brzy vyprší...",
"Invoice expired": "Faktura vypršela", "Invoice expired": "Faktura vypršela",
"What happened?": "Co se stalo?", "What happened?": "Co se stalo?",
"InvoiceExpired_Body_1": "Tato faktura již vypršela. Faktura je platná pouze {{maxTimeMinutes}} minut. \ "InvoiceExpired_Body_1": "Tato faktura již vypršela. Faktura je platná pouze {{maxTimeMinutes}} minut. \nMůžete se vrátit do {{storeName}}, pokud chcete svojí objednávku založit znovu.",
Můžete se vrátit do {{storeName}}, pokud chcete svojí objednávku založit znovu.",
"InvoiceExpired_Body_2": "Pokud jste se pokoušeli poslat platbu, nebyla zatím zaznamenána v Bitcoinové síti. Zatím jsme neobdrželi vaše prostředky.", "InvoiceExpired_Body_2": "Pokud jste se pokoušeli poslat platbu, nebyla zatím zaznamenána v Bitcoinové síti. Zatím jsme neobdrželi vaše prostředky.",
"InvoiceExpired_Body_3": "Pokud nebude transakce přijata Bitcoinovou sítí, vaše prostředky bude opět použitelné ve vaší peněžence. V závislosti na vaší peněžence toto může trvat 48-72 hodin.", "InvoiceExpired_Body_3": "Pokud nebude transakce přijata Bitcoinovou sítí, vaše prostředky bude opět použitelné ve vaší peněžence. V závislosti na vaší peněžence toto může trvat 48-72 hodin.",
"Invoice ID": "ID Faktury", "Invoice ID": "ID Faktury",
"Order ID": "ID Objednávky", "Order ID": "ID Objednávky",
"Return to StoreName": "Vrátit se na {{storeName}}", "Return to StoreName": "Vrátit se na {{storeName}}",
// Invoice paid
"This invoice has been paid": "Faktura byla zaplacena", "This invoice has been paid": "Faktura byla zaplacena",
// Invoice archived
"This invoice has been archived": "Tato faktura byla archivována", "This invoice has been archived": "Tato faktura byla archivována",
"Archived_Body": "Prosíme kontaktujte prodejce pro informace o objednávce a případnou pomoc", "Archived_Body": "Prosíme kontaktujte prodejce pro informace o objednávce a případnou pomoc",
// Lightning
"BOLT 11 Invoice": "BOLT 11 Faktura", "BOLT 11 Invoice": "BOLT 11 Faktura",
"Node Info": "Info o uzlu", "Node Info": "Info o uzlu",
//
"txCount": "{{count}} transakce", "txCount": "{{count}} transakce",
"txCount_plural": "{{count}} transakcí" "txCount_plural": "{{count}} transakcí"
}; }

View File

@@ -1,7 +1,7 @@
const locales_de = { {
nested: { "code": "de-DE",
lang: 'Sprache' "currentLanguage": "Deutsch",
}, "lang": "Sprache",
"Awaiting Payment...": "Warten auf Zahlung...", "Awaiting Payment...": "Warten auf Zahlung...",
"Pay with": "Bezahlen mit", "Pay with": "Bezahlen mit",
"Contact and Refund Email": "Kontakt und Rückerstattungs Email", "Contact and Refund Email": "Kontakt und Rückerstattungs Email",
@@ -13,42 +13,32 @@ const locales_de = {
"Network Cost": "Netzwerkkosten", "Network Cost": "Netzwerkkosten",
"Already Paid": "Bereits bezahlt", "Already Paid": "Bereits bezahlt",
"Due": "Fällig", "Due": "Fällig",
// Tabs
"Scan": "Scan", "Scan": "Scan",
"Copy": "Kopieren", "Copy": "Kopieren",
"Conversion": "Umrechnung", "Conversion": "Umrechnung",
// Scan tab
"Open in wallet": "In der Wallet öffnen", "Open in wallet": "In der Wallet öffnen",
// Copy tab
"CompletePay_Body": "Um Ihre Zahlung abzuschließen, senden Sie bitte {{btcDue}} {{cryptoCode}} an die unten angegebene Adresse.", "CompletePay_Body": "Um Ihre Zahlung abzuschließen, senden Sie bitte {{btcDue}} {{cryptoCode}} an die unten angegebene Adresse.",
"Amount": "Menge", "Amount": "Menge",
"Address": "Adresse", "Address": "Adresse",
"Copied": "Kopiert", "Copied": "Kopiert",
// Conversion tab
"ConversionTab_BodyTop": "Sie können {{btcDue}} {{cryptoCode}} mit Altcoins bezahlen, die nicht direkt vom Händler unterstützt werden.", "ConversionTab_BodyTop": "Sie können {{btcDue}} {{cryptoCode}} mit Altcoins bezahlen, die nicht direkt vom Händler unterstützt werden.",
"ConversionTab_BodyDesc": "Dieser Service wird von Drittanbietern bereitgestellt. Bitte beachten Sie, dass wir keine Kontrolle darüber haben, wie die Anbieter Ihre Gelder weiterleiten. Die Rechnung wird erst als bezahlt markiert, wenn das Geld in {{cryptoCode}} Blockchain eingegangen ist.", "ConversionTab_BodyDesc": "Dieser Service wird von Drittanbietern bereitgestellt. Bitte beachten Sie, dass wir keine Kontrolle darüber haben, wie die Anbieter Ihre Gelder weiterleiten. Die Rechnung wird erst als bezahlt markiert, wenn das Geld in {{cryptoCode}} Blockchain eingegangen ist.",
"Shapeshift_Button_Text": "Bezahlen mit Altcoins", "Shapeshift_Button_Text": "Bezahlen mit Altcoins",
"ConversionTab_Lightning": "Für Lightning Network-Zahlungen sind keine Umrechnungsanbieter verfügbar.", "ConversionTab_Lightning": "Für Lightning Network-Zahlungen sind keine Umrechnungsanbieter verfügbar.",
// Invoice expired
"Invoice expiring soon...": "Die Rechnung läuft bald ab...", "Invoice expiring soon...": "Die Rechnung läuft bald ab...",
"Invoice expired": "Die Rechnung ist abgelaufen", "Invoice expired": "Die Rechnung ist abgelaufen",
"What happened?": "Was ist passiert?", "What happened?": "Was ist passiert?",
"InvoiceExpired_Body_1": "Diese Rechnung ist abgelaufen. Eine Rechnung ist nur für {{maxTimeMinutes}} Minuten gültig. \ "InvoiceExpired_Body_1": "Diese Rechnung ist abgelaufen. Eine Rechnung ist nur für {{maxTimeMinutes}} Minuten gültig. \nSie können zu {{storeName}} zurückkehren, wenn Sie Ihre Zahlung erneut senden möchten.",
Sie können zu {{storeName}} zurückkehren, wenn Sie Ihre Zahlung erneut senden möchten.",
"InvoiceExpired_Body_2": "Wenn Sie versucht haben, eine Zahlung zu senden, wurde sie vom Netzwerk noch nicht akzeptiert. Wir haben Ihre Gelder noch nicht erhalten.", "InvoiceExpired_Body_2": "Wenn Sie versucht haben, eine Zahlung zu senden, wurde sie vom Netzwerk noch nicht akzeptiert. Wir haben Ihre Gelder noch nicht erhalten.",
"InvoiceExpired_Body_3": "Wenn die Transaktion vom Netzwerk nicht akzeptiert wird, ist das Geld wieder in Ihrer Wallet verfügbar. Abhängig von Ihrer Wallet, kann dies 48-72 Stunden dauern.", "InvoiceExpired_Body_3": "Wenn die Transaktion vom Netzwerk nicht akzeptiert wird, ist das Geld wieder in Ihrer Wallet verfügbar. Abhängig von Ihrer Wallet, kann dies 48-72 Stunden dauern.",
"Invoice ID": "Rechnungs ID", "Invoice ID": "Rechnungs ID",
"Order ID": "Auftrag ID", "Order ID": "Auftrag ID",
"Return to StoreName": "Zurück zu {{storeName}}", "Return to StoreName": "Zurück zu {{storeName}}",
// Invoice paid
"This invoice has been paid": "Diese Rechnung wurde bezahlt", "This invoice has been paid": "Diese Rechnung wurde bezahlt",
// Invoice archived
"This invoice has been archived": "Diese Rechnung wurde archiviert", "This invoice has been archived": "Diese Rechnung wurde archiviert",
"Archived_Body": "Bitte kontaktieren Sie den Shop für Bestellinformationen oder Hilfe", "Archived_Body": "Bitte kontaktieren Sie den Shop für Bestellinformationen oder Hilfe",
// Lightning
"BOLT 11 Invoice": "BOLT 11 Rechnung", "BOLT 11 Invoice": "BOLT 11 Rechnung",
"Node Info": "Netzwerkknoten Info", "Node Info": "Netzwerkknoten Info",
//
"txCount": "{{count}} transaktion", "txCount": "{{count}} transaktion",
"txCount_plural": "{{count}} transaktionen" "txCount_plural": "{{count}} transaktionen"
}; }

View File

@@ -1,7 +1,7 @@
const locales_en = { {
nested: { "code": "en",
lang: 'Language' "currentLanguage": "English",
}, "lang": "Language",
"Awaiting Payment...": "Awaiting Payment...", "Awaiting Payment...": "Awaiting Payment...",
"Pay with": "Pay with", "Pay with": "Pay with",
"Contact and Refund Email": "Contact & Refund Email", "Contact and Refund Email": "Contact & Refund Email",
@@ -13,43 +13,34 @@ const locales_en = {
"Network Cost": "Network Cost", "Network Cost": "Network Cost",
"Already Paid": "Already Paid", "Already Paid": "Already Paid",
"Due": "Due", "Due": "Due",
// Tabs
"Scan": "Scan", "Scan": "Scan",
"Copy": "Copy", "Copy": "Copy",
"Conversion": "Conversion", "Conversion": "Conversion",
// Scan tab
"Open in wallet": "Open in wallet", "Open in wallet": "Open in wallet",
// Copy tab
"CompletePay_Body": "To complete your payment, please send {{btcDue}} {{cryptoCode}} to the address below.", "CompletePay_Body": "To complete your payment, please send {{btcDue}} {{cryptoCode}} to the address below.",
"Amount": "Amount", "Amount": "Amount",
"Address": "Address", "Address": "Address",
"Copied": "Copied", "Copied": "Copied",
// Conversion tab
"ConversionTab_BodyTop": "You can pay {{btcDue}} {{cryptoCode}} using altcoins other than the ones merchant directly supports.", "ConversionTab_BodyTop": "You can pay {{btcDue}} {{cryptoCode}} using altcoins other than the ones merchant directly supports.",
"ConversionTab_BodyDesc": "This service is provided by 3rd party. Please keep in mind that we have no control over how providers will forward your funds. Invoice will only be marked paid once funds are received on {{cryptoCode}} Blockchain.", "ConversionTab_BodyDesc": "This service is provided by 3rd party. Please keep in mind that we have no control over how providers will forward your funds. Invoice will only be marked paid once funds are received on {{cryptoCode}} Blockchain.",
"ConversionTab_CalculateAmount_Error": "Retry", "ConversionTab_CalculateAmount_Error": "Retry",
"ConversionTab_LoadCurrencies_Error": "Retry", "ConversionTab_LoadCurrencies_Error": "Retry",
"ConversionTab_Lightning": "No conversion providers available for Lightning Network payments.", "ConversionTab_Lightning": "No conversion providers available for Lightning Network payments.",
// Invoice expired "ConversionTab_CurrencyList_Select_Option": "Please select a currency to convert from",
"Invoice expiring soon...": "Invoice expiring soon...", "Invoice expiring soon...": "Invoice expiring soon...",
"Invoice expired": "Invoice expired", "Invoice expired": "Invoice expired",
"What happened?": "What happened?", "What happened?": "What happened?",
"InvoiceExpired_Body_1": "This invoice has expired. An invoice is only valid for {{maxTimeMinutes}} minutes. \ "InvoiceExpired_Body_1": "This invoice has expired. An invoice is only valid for {{maxTimeMinutes}} minutes. \\nYou can return to {{storeName}} if you would like to submit your payment again.",
You can return to {{storeName}} if you would like to submit your payment again.",
"InvoiceExpired_Body_2": "If you tried to send a payment, it has not yet been accepted by the network. We have not yet received your funds.", "InvoiceExpired_Body_2": "If you tried to send a payment, it has not yet been accepted by the network. We have not yet received your funds.",
"InvoiceExpired_Body_3": "If the transaction is not accepted by the network, the funds will be spendable again in your wallet. Depending on your wallet, this may take 48-72 hours.", "InvoiceExpired_Body_3": "If the transaction is not accepted by the network, the funds will be spendable again in your wallet. Depending on your wallet, this may take 48-72 hours.",
"Invoice ID": "Invoice ID", "Invoice ID": "Invoice ID",
"Order ID": "Order ID", "Order ID": "Order ID",
"Return to StoreName": "Return to {{storeName}}", "Return to StoreName": "Return to {{storeName}}",
// Invoice paid
"This invoice has been paid": "This invoice has been paid", "This invoice has been paid": "This invoice has been paid",
// Invoice archived
"This invoice has been archived": "This invoice has been archived", "This invoice has been archived": "This invoice has been archived",
"Archived_Body": "Please contact the store for order information or assistance", "Archived_Body": "Please contact the store for order information or assistance",
// Lightning
"BOLT 11 Invoice": "BOLT 11 Invoice", "BOLT 11 Invoice": "BOLT 11 Invoice",
"Node Info": "Node Info", "Node Info": "Node Info",
//
"txCount": "{{count}} transaction", "txCount": "{{count}} transaction",
"txCount_plural": "{{count}} transactions" "txCount_plural": "{{count}} transactions"
}; }

View File

@@ -1,7 +1,7 @@
const locales_es = { {
nested: { "code": "es-ES",
lang: 'Lenguaje' "currentLanguage": "Spanish",
}, "lang": "Lenguaje",
"Awaiting Payment...": "En espera de pago...", "Awaiting Payment...": "En espera de pago...",
"Pay with": "Pagar con", "Pay with": "Pagar con",
"Contact and Refund Email": "Contacto y correo electrónico de reembolso", "Contact and Refund Email": "Contacto y correo electrónico de reembolso",
@@ -13,23 +13,18 @@ const locales_es = {
"Network Cost": "Costo de la red", "Network Cost": "Costo de la red",
"Already Paid": "Ya has pagado", "Already Paid": "Ya has pagado",
"Due": "Aún debes", "Due": "Aún debes",
// Tabs
"Scan": "Escanear", "Scan": "Escanear",
"Copy": "Copiar", "Copy": "Copiar",
"Conversion": "Conversión", "Conversion": "Conversión",
// Scan tab
"Open in wallet": "Abrir en la billetera", "Open in wallet": "Abrir en la billetera",
// Copy tab
"CompletePay_Body": "Para completar tu pago, envía {{btcDue}} {{cryptoCode}} a la siguiente dirección:", "CompletePay_Body": "Para completar tu pago, envía {{btcDue}} {{cryptoCode}} a la siguiente dirección:",
"Amount": "Cantidad", "Amount": "Cantidad",
"Address": "Dirección", "Address": "Dirección",
"Copied": "Copiado", "Copied": "Copiado",
// Conversion tab
"ConversionTab_BodyTop": "Puedes pagar {{btcDue}} {{cryptoCode}} usando Altcoins que este comercio no soporta directamente.", "ConversionTab_BodyTop": "Puedes pagar {{btcDue}} {{cryptoCode}} usando Altcoins que este comercio no soporta directamente.",
"ConversionTab_BodyDesc": "Este servicio es provisto por terceros. Ten en cuenta que no tenemos control sobre cómo estos terceros envían los fondos. La factura solo se marcará como pagada una vez se reciban los fondos en la cadena de bloques de {{cryptoCode}} .", "ConversionTab_BodyDesc": "Este servicio es provisto por terceros. Ten en cuenta que no tenemos control sobre cómo estos terceros envían los fondos. La factura solo se marcará como pagada una vez se reciban los fondos en la cadena de bloques de {{cryptoCode}} .",
"Shapeshift_Button_Text": "Pagar con Altcoins", "Shapeshift_Button_Text": "Pagar con Altcoins",
"ConversionTab_Lightning": "No hay proveedores de conversión disponibles para los pagos de Lightning Network.", "ConversionTab_Lightning": "No hay proveedores de conversión disponibles para los pagos de Lightning Network.",
// Invoice expired
"Invoice expiring soon...": "La factura expira pronto...", "Invoice expiring soon...": "La factura expira pronto...",
"Invoice expired": "La factura expiró", "Invoice expired": "La factura expiró",
"What happened?": "¿Qué sucedió?", "What happened?": "¿Qué sucedió?",
@@ -39,15 +34,11 @@ const locales_es = {
"Invoice ID": "ID de la factura", "Invoice ID": "ID de la factura",
"Order ID": "ID del pedido", "Order ID": "ID del pedido",
"Return to StoreName": "Regresar a {{storeName}}", "Return to StoreName": "Regresar a {{storeName}}",
// Invoice paid
"This invoice has been paid": "Esta factura ha sido pagada", "This invoice has been paid": "Esta factura ha sido pagada",
// Invoice archived
"This invoice has been archived": "Esta factura ha sido archivada", "This invoice has been archived": "Esta factura ha sido archivada",
"Archived_Body": "Por favor, comunícate con la tienda para obtener información de tu pedido o asistencia", "Archived_Body": "Por favor, comunícate con la tienda para obtener información de tu pedido o asistencia",
// Lightning
"BOLT 11 Invoice": "Factura BOLT 11", "BOLT 11 Invoice": "Factura BOLT 11",
"Node Info": "Información del nodo", "Node Info": "Información del nodo",
//
"txCount": "{{count}} transacción", "txCount": "{{count}} transacción",
"txCount_plural": "{{count}} transacciones" "txCount_plural": "{{count}} transacciones"
}; }

View File

@@ -1,7 +1,7 @@
const locales_fr = { {
nested: { "code": "fr-FR",
lang: 'Langue' "currentLanguage": "Français",
}, "lang": "Langue",
"Awaiting Payment...": "En attente du paiement...", "Awaiting Payment...": "En attente du paiement...",
"Pay with": "Payer avec", "Pay with": "Payer avec",
"Contact and Refund Email": "Adresse de contact et de remboursement", "Contact and Refund Email": "Adresse de contact et de remboursement",
@@ -13,42 +13,32 @@ const locales_fr = {
"Network Cost": "Coût réseau", "Network Cost": "Coût réseau",
"Already Paid": "Déjà payé", "Already Paid": "Déjà payé",
"Due": "Reste à payer", "Due": "Reste à payer",
// Tabs
"Scan": "Scanner", "Scan": "Scanner",
"Copy": "Copier", "Copy": "Copier",
"Conversion": "Convertir", "Conversion": "Convertir",
// Scan tab
"Open in wallet": "Ouvrir le portefeuille", "Open in wallet": "Ouvrir le portefeuille",
// Copy tab
"CompletePay_Body": "Pour terminer le paiement, merci d'envoyer {{btcDue}} {{cryptoCode}} à l'adresse ci-dessous.", "CompletePay_Body": "Pour terminer le paiement, merci d'envoyer {{btcDue}} {{cryptoCode}} à l'adresse ci-dessous.",
"Amount": "Montant", "Amount": "Montant",
"Address": "Adresse", "Address": "Adresse",
"Copied": "Copié", "Copied": "Copié",
// Conversion tab
"ConversionTab_BodyTop": "Vous pouvez payer {{btcDue}} {{cryptoCode}} en utilisant d'autres crypto-monnaies alternatives non supportées directement par le marchand.", "ConversionTab_BodyTop": "Vous pouvez payer {{btcDue}} {{cryptoCode}} en utilisant d'autres crypto-monnaies alternatives non supportées directement par le marchand.",
"ConversionTab_BodyDesc": "Ce service est fourni par un tiers. Nous n'avons aucun contrôle sur la façon dont seront traités vos fonds. La facture sera considérée payée seulement quand les fonds seront reçus sur la blockchain {{ cryptoCode }}.", "ConversionTab_BodyDesc": "Ce service est fourni par un tiers. Nous n'avons aucun contrôle sur la façon dont seront traités vos fonds. La facture sera considérée payée seulement quand les fonds seront reçus sur la blockchain {{ cryptoCode }}.",
"Shapeshift_Button_Text": "Payer en altcoins", "Shapeshift_Button_Text": "Payer en altcoins",
"ConversionTab_Lightning": "Le service de conversion n'est pas disponible pour les paiements sur le Lightning Network.", "ConversionTab_Lightning": "Le service de conversion n'est pas disponible pour les paiements sur le Lightning Network.",
// Invoice expired
"Invoice expiring soon...": "La facture va bientôt expirer...", "Invoice expiring soon...": "La facture va bientôt expirer...",
"Invoice expired": "Facture expirée", "Invoice expired": "Facture expirée",
"What happened?": "Que s'est-il passé ?", "What happened?": "Que s'est-il passé ?",
"InvoiceExpired_Body_1": "La facture a expiré. Une facture est valide seulement {{maxTimeMinutes}} minutes. \ "InvoiceExpired_Body_1": "La facture a expiré. Une facture est valide seulement {{maxTimeMinutes}} minutes. \nSi vous voulez soumettre à nouveau votre paiement, vous pouvez revenir sur {{storeName}} .",
Si vous voulez soumettre à nouveau votre paiement, vous pouvez revenir sur {{storeName}} .",
"InvoiceExpired_Body_2": "Si vous avez envoyé un paiement, ce dernier n'a pas encore été inscrit dans la blockchain. Nous n'avons pas reçu vos fonds.", "InvoiceExpired_Body_2": "Si vous avez envoyé un paiement, ce dernier n'a pas encore été inscrit dans la blockchain. Nous n'avons pas reçu vos fonds.",
"InvoiceExpired_Body_3": "Si votre transaction n'est pas inscrite dans la blockchain, vos fonds reviendront dans votre portefeuille. Selon votre portefeuille, cela peut prendre entre 48 et 72 heures.", "InvoiceExpired_Body_3": "Si votre transaction n'est pas inscrite dans la blockchain, vos fonds reviendront dans votre portefeuille. Selon votre portefeuille, cela peut prendre entre 48 et 72 heures.",
"Invoice ID": "Numéro de facture", "Invoice ID": "Numéro de facture",
"Order ID": "Numéro de commande", "Order ID": "Numéro de commande",
"Return to StoreName": "Retourner sur {{storeName}}", "Return to StoreName": "Retourner sur {{storeName}}",
// Invoice paid
"This invoice has been paid": "Cette facture a été payée", "This invoice has been paid": "Cette facture a été payée",
// Invoice archived
"This invoice has been archived": "Cette facture a été archivée", "This invoice has been archived": "Cette facture a été archivée",
"Archived_Body": "Merci de contacter le marchand pour obtenir de l'aide ou des informations sur cette commande.", "Archived_Body": "Merci de contacter le marchand pour obtenir de l'aide ou des informations sur cette commande.",
// Lightning
"BOLT 11 Invoice": "Facture BOLT 11", "BOLT 11 Invoice": "Facture BOLT 11",
"Node Info": "Informations sur le nœud", "Node Info": "Informations sur le nœud",
//
"txCount": "{{count}} transaction", "txCount": "{{count}} transaction",
"txCount_plural": "{{count}} transactions" "txCount_plural": "{{count}} transactions"
}; }

View File

@@ -1,7 +1,7 @@
const locales_hr = { {
nested: { "code": "hr-HR",
lang: 'Croatian' "currentLanguage": "Croatian",
}, "lang": "Croatian",
"Awaiting Payment...": "Čekamo uplatu...", "Awaiting Payment...": "Čekamo uplatu...",
"Pay with": "Plati sa", "Pay with": "Plati sa",
"Contact and Refund Email": "E-mail za kontakt i povrat sredstava", "Contact and Refund Email": "E-mail za kontakt i povrat sredstava",
@@ -13,36 +13,28 @@ const locales_hr = {
"Network Cost": "Trošak mreže", "Network Cost": "Trošak mreže",
"Already Paid": "Već plaćeno", "Already Paid": "Već plaćeno",
"Due": "Rok", "Due": "Rok",
// Tabs
"Scan": "Skeniraj", "Scan": "Skeniraj",
"Copy": "Kopiraj", "Copy": "Kopiraj",
"Conversion": "Pretvori", "Conversion": "Pretvori",
// Scan tab
"Open in wallet": "Otvori u novčaniku", "Open in wallet": "Otvori u novčaniku",
// Copy tab
"CompletePay_Body": "Kako bi završili uplatu pošaljite {{btcDue}} {{cryptoCode}} na navedenu adresu", "CompletePay_Body": "Kako bi završili uplatu pošaljite {{btcDue}} {{cryptoCode}} na navedenu adresu",
"Amount": "Iznos", "Amount": "Iznos",
"Address": "Adresa", "Address": "Adresa",
"Copied": "Kopirano", "Copied": "Kopirano",
// Conversion tab
"ConversionTab_BodyTop": "Možete platiti {{btcDue}} {{cryptoCode}} pomoću altcoina koje prodavač ne podržava.", "ConversionTab_BodyTop": "Možete platiti {{btcDue}} {{cryptoCode}} pomoću altcoina koje prodavač ne podržava.",
"ConversionTab_BodyDesc": "Ovu usluga pruža treća strana. Vodite računa da nemamo kontroli nad načinom kako će Vam davatelji usluge proslijediti sredstva. Vodite računa da je račun plaćen tek kada su primljena sredstva na {{cryptoCode}} Blockchainu.", "ConversionTab_BodyDesc": "Ovu usluga pruža treća strana. Vodite računa da nemamo kontroli nad načinom kako će Vam davatelji usluge proslijediti sredstva. Vodite računa da je račun plaćen tek kada su primljena sredstva na {{cryptoCode}} Blockchainu.",
"Shapeshift_Button_Text": "Plati s Alt-coinovima", "Shapeshift_Button_Text": "Plati s Alt-coinovima",
"ConversionTab_Lightning": "Ne postoji treća strana koja bi konvertirala Lightning Network uplate.", "ConversionTab_Lightning": "Ne postoji treća strana koja bi konvertirala Lightning Network uplate.",
// Invoice expired
"Invoice expiring soon...": "Račun uskoro ističe...", "Invoice expiring soon...": "Račun uskoro ističe...",
"Invoice expired": "Račun je istekao", "Invoice expired": "Račun je istekao",
"What happened?": "Što se dogodilo", "What happened?": "Što se dogodilo",
"InvoiceExpired_Body_1": "Račun je istekao i nije više valjan. Račun vrijedi samo {{maxTimeMinutes}} minuta. \ "InvoiceExpired_Body_1": "Račun je istekao i nije više valjan. Račun vrijedi samo {{maxTimeMinutes}} minuta. \nMožete se vratiti na {{storeName}}, gdje možete ponovo inicirati plaćanje.",
Možete se vratiti na {{storeName}}, gdje možete ponovo inicirati plaćanje.",
"InvoiceExpired_Body_2": "Ako ste pokušali poslati uplatu, ista nije registrirana na Blockchainu. Nismo još zaprimili Vašu uplatu.", "InvoiceExpired_Body_2": "Ako ste pokušali poslati uplatu, ista nije registrirana na Blockchainu. Nismo još zaprimili Vašu uplatu.",
"InvoiceExpired_Body_3": "Ako poslana sredstva na budu potvrđena na Blockchainu, sredstva će biti ponovo dostupna u Vašem novčaniku.", "InvoiceExpired_Body_3": "Ako poslana sredstva na budu potvrđena na Blockchainu, sredstva će biti ponovo dostupna u Vašem novčaniku.",
"Invoice ID": "Broj računa", "Invoice ID": "Broj računa",
"Order ID": "Broj narudžbe", "Order ID": "Broj narudžbe",
"Return to StoreName": "Vrati se na {{storeName}}", "Return to StoreName": "Vrati se na {{storeName}}",
// Invoice paid
"This invoice has been paid": "Račun je plaćen", "This invoice has been paid": "Račun je plaćen",
// Invoice archived
"This invoice has been archived": "Račun je arhiviran.", "This invoice has been archived": "Račun je arhiviran.",
"Archived_Body": "Kontaktirajte dućan za detalje oko narudžbe ili pomoć." "Archived_Body": "Kontaktirajte dućan za detalje oko narudžbe ili pomoć."
}; }

View File

@@ -1,7 +1,7 @@
const locales_is = { {
nested: { "code": "is-IS",
lang: 'Tungumál' "currentLanguage": "Íslenska",
}, "lang": "Tungumál",
"Awaiting Payment...": "Bíð eftir greiðslu...", "Awaiting Payment...": "Bíð eftir greiðslu...",
"Pay with": "Borga með", "Pay with": "Borga með",
"Contact and Refund Email": "Netfang", "Contact and Refund Email": "Netfang",
@@ -13,42 +13,32 @@ const locales_is = {
"Network Cost": "Auka gjöld", "Network Cost": "Auka gjöld",
"Already Paid": "Nú þegar greitt", "Already Paid": "Nú þegar greitt",
"Due": "Gjalddagi", "Due": "Gjalddagi",
// Tabs
"Scan": "Skanna", "Scan": "Skanna",
"Copy": "Afrita", "Copy": "Afrita",
"Conversion": "Umbreyting", "Conversion": "Umbreyting",
// Scan tab
"Open in wallet": "Opna með veski", "Open in wallet": "Opna með veski",
// Copy tab
"CompletePay_Body": "Til að klára greiðsluna skaltu senda {{btcDue}} {{cryptoCode}} á lykilinn fyrir neðan.", "CompletePay_Body": "Til að klára greiðsluna skaltu senda {{btcDue}} {{cryptoCode}} á lykilinn fyrir neðan.",
"Amount": "Magn", "Amount": "Magn",
"Address": "Lykill", "Address": "Lykill",
"Copied": "Afritað", "Copied": "Afritað",
// Conversion tab
"ConversionTab_BodyTop": "Þú getur borgað {{btcDue}} {{cryptoCode}} með altcoins.", "ConversionTab_BodyTop": "Þú getur borgað {{btcDue}} {{cryptoCode}} með altcoins.",
"ConversionTab_BodyDesc": "Þessi þjónusta er veitt af þriðja aðila. Mundu að við höfum ekki stjórn á því hvað þeir gera við peningana. Reikningurinn verður aðeins móttekinn þegar {{cryptoCode}} greiðslan hefur verið staðfest á netinu.", "ConversionTab_BodyDesc": "Þessi þjónusta er veitt af þriðja aðila. Mundu að við höfum ekki stjórn á því hvað þeir gera við peningana. Reikningurinn verður aðeins móttekinn þegar {{cryptoCode}} greiðslan hefur verið staðfest á netinu.",
"Shapeshift_Button_Text": "Borga með Altcoins", "Shapeshift_Button_Text": "Borga með Altcoins",
"ConversionTab_Lightning": "Engir viðskiptaveitendur eru í boði fyrir Lightning Network greiðslur.", "ConversionTab_Lightning": "Engir viðskiptaveitendur eru í boði fyrir Lightning Network greiðslur.",
// Invoice expired
"Invoice expiring soon...": "Reikningurinn rennur út fljótlega...", "Invoice expiring soon...": "Reikningurinn rennur út fljótlega...",
"Invoice expired": "Reikningurinn er útrunnin", "Invoice expired": "Reikningurinn er útrunnin",
"What happened?": "Hvað gerðist?", "What happened?": "Hvað gerðist?",
"InvoiceExpired_Body_1": "Þessi reikningur er útrunnin. Reikningurinn er aðeins gildur í {{maxTimeMinutes}} mínútur. \ "InvoiceExpired_Body_1": "Þessi reikningur er útrunnin. Reikningurinn er aðeins gildur í {{maxTimeMinutes}} mínútur. \nÞú getur farið aftur á {{storeName}} ef þú vilt reyna aftur.",
Þú getur farið aftur á {{storeName}} ef þú vilt reyna aftur.",
"InvoiceExpired_Body_2": "Ef þú reyndir að senda greiðslu, þá hefur hún ekki verið samþykkt.", "InvoiceExpired_Body_2": "Ef þú reyndir að senda greiðslu, þá hefur hún ekki verið samþykkt.",
"InvoiceExpired_Body_3": "Ef viðskiptin eru ekki samþykkt af netinu verða fjármunirnir aðgengilegar aftur í veskinu þínu. Það fer eftir veskinu þínu og getur tekið 48-72 klukkustundir.", "InvoiceExpired_Body_3": "Ef viðskiptin eru ekki samþykkt af netinu verða fjármunirnir aðgengilegar aftur í veskinu þínu. Það fer eftir veskinu þínu og getur tekið 48-72 klukkustundir.",
"Invoice ID": "Innheimtu ID", "Invoice ID": "Innheimtu ID",
"Order ID": "Pöntun ID", "Order ID": "Pöntun ID",
"Return to StoreName": "Fara aftur á {{storeName}}", "Return to StoreName": "Fara aftur á {{storeName}}",
// Invoice paid
"This invoice has been paid": "Þetta hefur verið greitt", "This invoice has been paid": "Þetta hefur verið greitt",
// Invoice archived
"This invoice has been archived": "Þessi reikningur hefur verið gerður ógildur", "This invoice has been archived": "Þessi reikningur hefur verið gerður ógildur",
"Archived_Body": "Vinsamlegast hafðu samband fyrir upplýsingar eða aðstoð.", "Archived_Body": "Vinsamlegast hafðu samband fyrir upplýsingar eða aðstoð.",
// Lightning
"BOLT 11 Invoice": "BOLT 11 Reikningur", "BOLT 11 Invoice": "BOLT 11 Reikningur",
"Node Info": "Nótu upplýsingar", "Node Info": "Nótu upplýsingar",
//
"txCount": "{{count}} reikningur", "txCount": "{{count}} reikningur",
"txCount_plural": "{{count}} reikningar" "txCount_plural": "{{count}} reikningar"
}; }

View File

@@ -1,7 +1,7 @@
const locales_it = { {
nested: { "code": "it-IT",
lang: 'Lingua' "currentLanguage": "Italiano",
}, "lang": "Lingua",
"Awaiting Payment...": "In attesa del Pagamento...", "Awaiting Payment...": "In attesa del Pagamento...",
"Pay with": "Paga con", "Pay with": "Paga con",
"Contact and Refund Email": "Email di Contatto e Rimborso", "Contact and Refund Email": "Email di Contatto e Rimborso",
@@ -13,42 +13,32 @@ const locales_it = {
"Network Cost": "Costi di Rete", "Network Cost": "Costi di Rete",
"Already Paid": "Già pagato", "Already Paid": "Già pagato",
"Due": "Dovuto", "Due": "Dovuto",
// Tabs
"Scan": "Scansiona", "Scan": "Scansiona",
"Copy": "Copia", "Copy": "Copia",
"Conversion": "Conversione", "Conversion": "Conversione",
// Scan tab
"Open in wallet": "Apri nel portafoglio", "Open in wallet": "Apri nel portafoglio",
// Copy tab
"CompletePay_Body": "Per completare il pagamento, inviare {{btcDue}} {{cryptoCode}} all'indirizzo riportato di seguito.", "CompletePay_Body": "Per completare il pagamento, inviare {{btcDue}} {{cryptoCode}} all'indirizzo riportato di seguito.",
"Amount": "Importo", "Amount": "Importo",
"Address": "Indirizzo", "Address": "Indirizzo",
"Copied": "Copiato", "Copied": "Copiato",
// Conversion tab
"ConversionTab_BodyTop": "Puoi pagare {{btcDue}} {{cryptoCode}} usando altcoin diverse da quelle che il commerciante supporta direttamente.", "ConversionTab_BodyTop": "Puoi pagare {{btcDue}} {{cryptoCode}} usando altcoin diverse da quelle che il commerciante supporta direttamente.",
"ConversionTab_BodyDesc": "Questo servizio è fornito da terze parti. Si prega di tenere presente che non abbiamo alcun controllo su come i fornitori inoltreranno i fondi. La fattura verrà contrassegnata solo dopo aver ricevuto i fondi su {{cryptoCode}} Blockchain.", "ConversionTab_BodyDesc": "Questo servizio è fornito da terze parti. Si prega di tenere presente che non abbiamo alcun controllo su come i fornitori inoltreranno i fondi. La fattura verrà contrassegnata solo dopo aver ricevuto i fondi su {{cryptoCode}} Blockchain.",
"Shapeshift_Button_Text": "Paga con Altcoin", "Shapeshift_Button_Text": "Paga con Altcoin",
"ConversionTab_Lightning": "Nessun fornitore di conversione disponibile per i pagamenti Lightning Network.", "ConversionTab_Lightning": "Nessun fornitore di conversione disponibile per i pagamenti Lightning Network.",
// Invoice expired
"Invoice expiring soon...": "Fattura in scadenza a breve...", "Invoice expiring soon...": "Fattura in scadenza a breve...",
"Invoice expired": "Fattura scaduta", "Invoice expired": "Fattura scaduta",
"What happened?": "Cosa è successo?", "What happened?": "Cosa è successo?",
"InvoiceExpired_Body_1": "Questa fattura è scaduta. Una fattura è valida solo per {{maxTime minuti}} minuti. \ "InvoiceExpired_Body_1": "Questa fattura è scaduta. Una fattura è valida solo per {{maxTime minuti}} minuti. \nPuoi tornare a {{store name}} se desideri inviare nuovamente il pagamento.",
Puoi tornare a {{store name}} se desideri inviare nuovamente il pagamento.",
"InvoiceExpired_Body_2": "Se hai provato a inviare un pagamento, non è ancora stato accettato dalla rete. Non abbiamo ancora ricevuto i tuoi fondi.", "InvoiceExpired_Body_2": "Se hai provato a inviare un pagamento, non è ancora stato accettato dalla rete. Non abbiamo ancora ricevuto i tuoi fondi.",
"InvoiceExpired_Body_3": "Se la transazione non viene accettata dalla rete, i fondi saranno nuovamente spendibili nel tuo portafoglio. A seconda del portafoglio, potrebbero essere necessarie 48-72 ore.", "InvoiceExpired_Body_3": "Se la transazione non viene accettata dalla rete, i fondi saranno nuovamente spendibili nel tuo portafoglio. A seconda del portafoglio, potrebbero essere necessarie 48-72 ore.",
"Invoice ID": "Numero della Fattura", "Invoice ID": "Numero della Fattura",
"Order ID": "Numero dell'Ordine", "Order ID": "Numero dell'Ordine",
"Return to StoreName": "Ritorna a {{storeName}}", "Return to StoreName": "Ritorna a {{storeName}}",
// Invoice paid
"This invoice has been paid": "La fattura è stata pagata", "This invoice has been paid": "La fattura è stata pagata",
// Invoice archived
"This invoice has been archived": "TQuesta fattura è stata pagata", "This invoice has been archived": "TQuesta fattura è stata pagata",
"Archived_Body": "Contatta il negozio per informazioni sull'ordine o per assistenza", "Archived_Body": "Contatta il negozio per informazioni sull'ordine o per assistenza",
// Lightning
"BOLT 11 Invoice": "Fattura BOLT 11", "BOLT 11 Invoice": "Fattura BOLT 11",
"Node Info": "Informazioni sul Nodo", "Node Info": "Informazioni sul Nodo",
//
"txCount": "{{count}} transazione", "txCount": "{{count}} transazione",
"txCount_plural": "{{count}} transazioni" "txCount_plural": "{{count}} transazioni"
}; }

View File

@@ -1,7 +1,7 @@
const locales_ja = { {
nested: { "code": "ja-JP",
lang: 'Language' "currentLanguage": "日本語",
}, "lang": "Language",
"Awaiting Payment...": "お支払いをお待ちしております…", "Awaiting Payment...": "お支払いをお待ちしております…",
"Pay with": "お支払い方法", "Pay with": "お支払い方法",
"Contact and Refund Email": "問題発生時の連絡先", "Contact and Refund Email": "問題発生時の連絡先",
@@ -13,42 +13,32 @@
"Network Cost": "ネットワーク手数料", "Network Cost": "ネットワーク手数料",
"Already Paid": "支払い済み金額", "Already Paid": "支払い済み金額",
"Due": "未払い金額", "Due": "未払い金額",
// Tabs
"Scan": "スキャン", "Scan": "スキャン",
"Copy": "コピー", "Copy": "コピー",
"Conversion": "変換", "Conversion": "変換",
// Scan tab
"Open in wallet": "ウォレットで開く", "Open in wallet": "ウォレットで開く",
// Copy tab
"CompletePay_Body": "決済をするために、下記のアドレスに {{btcDue}} {{cryptoCode}} をお送りください", "CompletePay_Body": "決済をするために、下記のアドレスに {{btcDue}} {{cryptoCode}} をお送りください",
"Amount": "金額", "Amount": "金額",
"Address": "アドレス", "Address": "アドレス",
"Copied": "コピーしました", "Copied": "コピーしました",
// Conversion tab
"ConversionTab_BodyTop": "代わりに、お店が受け付けていなくても {{btcDue}} {{cryptoCode}} での支払いもできます。", "ConversionTab_BodyTop": "代わりに、お店が受け付けていなくても {{btcDue}} {{cryptoCode}} での支払いもできます。",
"ConversionTab_BodyDesc": "ただし、この変換は第三者サービスによるものですので、お店が受け付けている通貨で着金するまでの間の処理に関しては何の保証もいたしません。変換後に受付中の通貨 ({{cryptoCode}}) がお店に着金してから支払い済みとなりますのでご了承ください。", "ConversionTab_BodyDesc": "ただし、この変換は第三者サービスによるものですので、お店が受け付けている通貨で着金するまでの間の処理に関しては何の保証もいたしません。変換後に受付中の通貨 ({{cryptoCode}}) がお店に着金してから支払い済みとなりますのでご了承ください。",
"Shapeshift_Button_Text": "他の仮想通貨で支払う", "Shapeshift_Button_Text": "他の仮想通貨で支払う",
"ConversionTab_Lightning": "ライトニングのペイメントでは現在変換サービスが存在しないためご利用いただけません。ご了承ください。", "ConversionTab_Lightning": "ライトニングのペイメントでは現在変換サービスが存在しないためご利用いただけません。ご了承ください。",
// Invoice expired
"Invoice expiring soon...": "お支払いの期限が迫っています...", "Invoice expiring soon...": "お支払いの期限が迫っています...",
"Invoice expired": "お支払いの期限が切れました", "Invoice expired": "お支払いの期限が切れました",
"What happened?": "え!?ナニコレ!?", "What happened?": "え!?ナニコレ!?",
"InvoiceExpired_Body_1": " {{maxTimeMinutes}} \ "InvoiceExpired_Body_1": "当件のお支払いの有効期限が過ぎてしまいました。最大 {{maxTimeMinutes}} 分以内に支払うことが義務付けられています。 \nまだお支払いのご希望の場合 {{storeName}} に一旦戻っていただき、もう一度お支払いの手続きを最初からやり直してみてください。",
{{storeName}} ",
"InvoiceExpired_Body_2": "送金手続きを完了したつもりでも、ネットワークにて取り込まれて処理されるまでは決済となりません。現時点ではまだ着金しておりません。", "InvoiceExpired_Body_2": "送金手続きを完了したつもりでも、ネットワークにて取り込まれて処理されるまでは決済となりません。現時点ではまだ着金しておりません。",
"InvoiceExpired_Body_3": "ネットワークにて取り込まれなかった送金はいずれ送金元のウォレットに戻りますが、ウォレットソフトによっては2〜3日かかる場合もございますのでご了承ください。", "InvoiceExpired_Body_3": "ネットワークにて取り込まれなかった送金はいずれ送金元のウォレットに戻りますが、ウォレットソフトによっては2〜3日かかる場合もございますのでご了承ください。",
"Invoice ID": "お支払い ID", "Invoice ID": "お支払い ID",
"Order ID": "ご注文 ID", "Order ID": "ご注文 ID",
"Return to StoreName": "{{storeName}} に戻る", "Return to StoreName": "{{storeName}} に戻る",
// Invoice paid
"This invoice has been paid": "お支払いが完了しました", "This invoice has been paid": "お支払いが完了しました",
// Invoice archived
"This invoice has been archived": "お支払いをアーカイブしました", "This invoice has been archived": "お支払いをアーカイブしました",
"Archived_Body": "ご注文に関わる詳細などでお困りの場合はお店の担当窓口へお問い合わせください。", "Archived_Body": "ご注文に関わる詳細などでお困りの場合はお店の担当窓口へお問い合わせください。",
// Lightning
"BOLT 11 Invoice": "お支払いコード", "BOLT 11 Invoice": "お支払いコード",
"Node Info": "接続情報", "Node Info": "接続情報",
//
"txCount": "取引 {{count}} 個", "txCount": "取引 {{count}} 個",
"txCount_plural": "取引 {{count}} 個" "txCount_plural": "取引 {{count}} 個"
}; }

View File

@@ -1,7 +1,7 @@
const locales_kk = { {
nested: { "code": "kk-KZ",
lang: 'Тіл' "currentLanguage": "Қазақша",
}, "lang": "Тіл",
"Awaiting Payment...": "Күтіп тұрған төлем…", "Awaiting Payment...": "Күтіп тұрған төлем…",
"Pay with": "Төлеу", "Pay with": "Төлеу",
"Contact and Refund Email": "Байланыс және ақша қайтару үшін арналған электрондық пошта", "Contact and Refund Email": "Байланыс және ақша қайтару үшін арналған электрондық пошта",
@@ -13,42 +13,32 @@ const locales_kk = {
"Network Cost": "Желі бағасы", "Network Cost": "Желі бағасы",
"Already Paid": "Төленген", "Already Paid": "Төленген",
"Due": "Жалпы сома", "Due": "Жалпы сома",
// Tabs
"Scan": "Сканерлеу", "Scan": "Сканерлеу",
"Copy": "Көшіру", "Copy": "Көшіру",
"Conversion": "Айырбастау", "Conversion": "Айырбастау",
// Scan tab
"Open in wallet": "Әмиянда ашу", "Open in wallet": "Әмиянда ашу",
// Copy tab
"CompletePay_Body": "Төлеміңізді аяқтау үшін төмендегі мекенжайға {{btcDue}} {{cryptoCode}} жіберуіңізді сұраймыз", "CompletePay_Body": "Төлеміңізді аяқтау үшін төмендегі мекенжайға {{btcDue}} {{cryptoCode}} жіберуіңізді сұраймыз",
"Amount": "Сан", "Amount": "Сан",
"Address": "Мекенжай", "Address": "Мекенжай",
"Copied": "Көшірілді", "Copied": "Көшірілді",
// Conversion tab
"ConversionTab_BodyTop": "Сатушы тікелей қолдау көрсетуден тыс кезде сіз altcoins көмегімен {{btcDue}} {{cryptoCode}} төлеуіңізге болады.", "ConversionTab_BodyTop": "Сатушы тікелей қолдау көрсетуден тыс кезде сіз altcoins көмегімен {{btcDue}} {{cryptoCode}} төлеуіңізге болады.",
"ConversionTab_BodyDesc": "Бұл қызмет үшінші тараптан қамтамасыз етіледі. Сіздің ақшаңызды провайдерлер сізге қалай жеткізетінін біз бақылауға алмайтынымызды есте сақтауыңызды сұраймыз. Шот тек қана {{cryptoCode}} Blockchain жүйесі қаражаттырылған соң көрсетіледі.", "ConversionTab_BodyDesc": "Бұл қызмет үшінші тараптан қамтамасыз етіледі. Сіздің ақшаңызды провайдерлер сізге қалай жеткізетінін біз бақылауға алмайтынымызды есте сақтауыңызды сұраймыз. Шот тек қана {{cryptoCode}} Blockchain жүйесі қаражаттырылған соң көрсетіледі.",
"Shapeshift_Button_Text": "Төлеу Altcoins", "Shapeshift_Button_Text": "Төлеу Altcoins",
"ConversionTab_Lightning": "Lightning Төлемдерді айырбастау жеткізушілер байланыстан тыс жерде", "ConversionTab_Lightning": "Lightning Төлемдерді айырбастау жеткізушілер байланыстан тыс жерде",
// Invoice expired
"Invoice expiring soon...": "Шот-фактура жақын арада аяқталады…", "Invoice expiring soon...": "Шот-фактура жақын арада аяқталады…",
"Invoice expired": "Шот-фактураның мерзімі аяқталды", "Invoice expired": "Шот-фактураның мерзімі аяқталды",
"What happened?": "Не жағдай болды?", "What happened?": "Не жағдай болды?",
"InvoiceExpired_Body_1": "Бұл шот-фактураның мерзімі аяқталды. Шот-фактура {{maxTimeMinutes}} минуттарға жарамды. \ "InvoiceExpired_Body_1": "Бұл шот-фактураның мерзімі аяқталды. Шот-фактура {{maxTimeMinutes}} минуттарға жарамды. \nТөлеміңізді қайтадан жібергіңіз келсе {{storeName}} ға оралуға болады.",
Төлеміңізді қайтадан жібергіңіз келсе {{storeName}} ға оралуға болады.",
"InvoiceExpired_Body_2": "Егер сіз төлемді жіберуге тырыссқан болсаңыз, ол әлі желімен қабылданған жоқ. Біз сіздің қаражатыңызды әлі алған жоқпыз.", "InvoiceExpired_Body_2": "Егер сіз төлемді жіберуге тырыссқан болсаңыз, ол әлі желімен қабылданған жоқ. Біз сіздің қаражатыңызды әлі алған жоқпыз.",
"InvoiceExpired_Body_3": "Егер транзакция желі арқылы қабылданбаса, қаражат әмияныңызға қайтадан қайтарылады. Бұл сіздің әмияныңызға байланысты 48-72 сағат алуы мүмкін.", "InvoiceExpired_Body_3": "Егер транзакция желі арқылы қабылданбаса, қаражат әмияныңызға қайтадан қайтарылады. Бұл сіздің әмияныңызға байланысты 48-72 сағат алуы мүмкін.",
"Invoice ID": "Шот анықтамасы", "Invoice ID": "Шот анықтамасы",
"Order ID": "Тапсырыс нөмірі", "Order ID": "Тапсырыс нөмірі",
"Return to StoreName": "{{storeName}} оралу", "Return to StoreName": "{{storeName}} оралу",
// Invoice paid
"This invoice has been paid": "Бұл шот төленген", "This invoice has been paid": "Бұл шот төленген",
// Invoice archived
"This invoice has been archived": "Бұл шот мұрағатталған", "This invoice has been archived": "Бұл шот мұрағатталған",
"Archived_Body": "Тапсырыс туралы ақпарат немесе көмек үшін дүкенге хабарласуыңызды сұраймыз", "Archived_Body": "Тапсырыс туралы ақпарат немесе көмек үшін дүкенге хабарласуыңызды сұраймыз",
// Lightning
"BOLT 11 Invoice": "BOLT 11 Шот-фактура", "BOLT 11 Invoice": "BOLT 11 Шот-фактура",
"Node Info": "Node анықтамасы", "Node Info": "Node анықтамасы",
//
"txCount": "{{count}} Транзакция", "txCount": "{{count}} Транзакция",
"txCount_plural": "{{count}} Транзакциялар" "txCount_plural": "{{count}} Транзакциялар"
}; }

View File

@@ -1,7 +1,7 @@
const locales_nl = { {
nested: { "code": "nl-NL",
lang: 'Taal' "currentLanguage": "Dutch",
}, "lang": "Taal",
"Awaiting Payment...": "Wachtende op de betaling...", "Awaiting Payment...": "Wachtende op de betaling...",
"Pay with": "Betalen met", "Pay with": "Betalen met",
"Contact and Refund Email": "Email adres voor opvolging en terugbetaling", "Contact and Refund Email": "Email adres voor opvolging en terugbetaling",
@@ -13,42 +13,32 @@ const locales_nl = {
"Network Cost": "Netwerk kosten", "Network Cost": "Netwerk kosten",
"Already Paid": "Reeds betaald", "Already Paid": "Reeds betaald",
"Due": "Verschuldigd", "Due": "Verschuldigd",
// Tabs
"Scan": "Scannen", "Scan": "Scannen",
"Copy": "Kopiëren", "Copy": "Kopiëren",
"Conversion": "Omzetting", "Conversion": "Omzetting",
// Scan tab
"Open in wallet": "Wallet openen", "Open in wallet": "Wallet openen",
// Copy tab
"CompletePay_Body": "Om de betaling te vervoledigen, bedankt om {{btcDue}} {{cryptoCode}} naar het hieronder vemelde adres op te sturen.", "CompletePay_Body": "Om de betaling te vervoledigen, bedankt om {{btcDue}} {{cryptoCode}} naar het hieronder vemelde adres op te sturen.",
"Amount": "Bedrag", "Amount": "Bedrag",
"Address": "Adres", "Address": "Adres",
"Copied": "Gekopieerd", "Copied": "Gekopieerd",
// Conversion tab
"ConversionTab_BodyTop": "Je kan altcoins gebruiken die niet ondersteund zijn door de verkoper, om {{btcDue}} {{cryptoCode}} te betalen.", "ConversionTab_BodyTop": "Je kan altcoins gebruiken die niet ondersteund zijn door de verkoper, om {{btcDue}} {{cryptoCode}} te betalen.",
"ConversionTab_BodyDesc": "Deze dienst wordt door een externe partij geleverd. Bijgevolg, hebben we geen zicht over jouw fondsen. De factuur wordt pas als betaald beschouwd, wanneer de fondsen door de blockchain aanvaard zijn {{ cryptoCode }}.", "ConversionTab_BodyDesc": "Deze dienst wordt door een externe partij geleverd. Bijgevolg, hebben we geen zicht over jouw fondsen. De factuur wordt pas als betaald beschouwd, wanneer de fondsen door de blockchain aanvaard zijn {{ cryptoCode }}.",
"Shapeshift_Button_Text": "Betalen met altcoins", "Shapeshift_Button_Text": "Betalen met altcoins",
"ConversionTab_Lightning": "Geen leverancier beschikbaar voor de betalingen op het Lightning Network", "ConversionTab_Lightning": "Geen leverancier beschikbaar voor de betalingen op het Lightning Network",
// Invoice expired
"Invoice expiring soon...": "De factuur verloopt binnenkort...", "Invoice expiring soon...": "De factuur verloopt binnenkort...",
"Invoice expired": "Vervallen factuur", "Invoice expired": "Vervallen factuur",
"What happened?": "Wat gebeurde er?", "What happened?": "Wat gebeurde er?",
"InvoiceExpired_Body_1": "De factuur is vervallen. Een factuur is alleen geldig voor {{maxTimeMinutes}} minuten. \ "InvoiceExpired_Body_1": "De factuur is vervallen. Een factuur is alleen geldig voor {{maxTimeMinutes}} minuten. \nJe kan terug komen naar {{storeName}} als je de betaling opnieuw wilt proberen",
Je kan terug komen naar {{storeName}} als je de betaling opnieuw wilt proberen",
"InvoiceExpired_Body_2": "Als je een betaling uitvoerde, dan werd dit nog niet bevestigd door het netwerk. We hebben je fondsen nog niet ontvangen.", "InvoiceExpired_Body_2": "Als je een betaling uitvoerde, dan werd dit nog niet bevestigd door het netwerk. We hebben je fondsen nog niet ontvangen.",
"InvoiceExpired_Body_3": "Als de transactie niet geaccepteerd werd door het netwerk, zullen je fondsen terug in wallet verschijnen. Afhankelijk van je wallet, kan dit 48 to 72 uren duren.", "InvoiceExpired_Body_3": "Als de transactie niet geaccepteerd werd door het netwerk, zullen je fondsen terug in wallet verschijnen. Afhankelijk van je wallet, kan dit 48 to 72 uren duren.",
"Invoice ID": "Factuurnummer", "Invoice ID": "Factuurnummer",
"Order ID": "Bestllingsnummer", "Order ID": "Bestllingsnummer",
"Return to StoreName": "Terug naar {{storeName}}", "Return to StoreName": "Terug naar {{storeName}}",
// Invoice paid
"This invoice has been paid": "Deze factuur is betaald", "This invoice has been paid": "Deze factuur is betaald",
// Invoice archived
"This invoice has been archived": "Deze factuur is gearchiveerd", "This invoice has been archived": "Deze factuur is gearchiveerd",
"Archived_Body": "Bedankt om de winkel te contacteren voor bijstand met of informatie over deze bestelling", "Archived_Body": "Bedankt om de winkel te contacteren voor bijstand met of informatie over deze bestelling",
// Lightning
"BOLT 11 Invoice": "BOLT 11 Factuur", "BOLT 11 Invoice": "BOLT 11 Factuur",
"Node Info": "Node Info", "Node Info": "Node Info",
//
"txCount": "{{count}} transactie", "txCount": "{{count}} transactie",
"txCount_plural": "{{count}} transacties" "txCount_plural": "{{count}} transacties"
}; }

View File

@@ -1,7 +1,7 @@
const locales_np = { {
nested: { "code": "np-NP",
lang: '' "currentLanguage": "नेपाली",
}, "lang": "भाषा",
"Awaiting Payment...": "भुक्तानी पर्खँदै...", "Awaiting Payment...": "भुक्तानी पर्खँदै...",
"Pay with": "तिर्नुहोस्", "Pay with": "तिर्नुहोस्",
"Contact and Refund Email": "सम्पर्क र फिर्ता इमेल", "Contact and Refund Email": "सम्पर्क र फिर्ता इमेल",
@@ -13,43 +13,33 @@
"Network Cost": "नेटवर्क लागत", "Network Cost": "नेटवर्क लागत",
"Already Paid": "तिरिसकेको", "Already Paid": "तिरिसकेको",
"Due": "बाँकी", "Due": "बाँकी",
// Tabs
"Scan": "स्क्यान गर्नुहोस्", "Scan": "स्क्यान गर्नुहोस्",
"Copy": "कापी", "Copy": "कापी",
"Conversion": "रूपान्तरण", "Conversion": "रूपान्तरण",
// Scan tab
"Open in wallet": "वालेटमा खोल्नुहोस्", "Open in wallet": "वालेटमा खोल्नुहोस्",
// Copy tab
"CompletePay_Body": "आफ्नो भुक्तानी पूरा गर्न, कृपया तल ठेगानामा {{btcDue}} {{cryptoCode}} पठाउनुहोस्", "CompletePay_Body": "आफ्नो भुक्तानी पूरा गर्न, कृपया तल ठेगानामा {{btcDue}} {{cryptoCode}} पठाउनुहोस्",
"Amount": "राशि", "Amount": "राशि",
"Address": "ठेगाना", "Address": "ठेगाना",
"Copied": "प्रतिलिपि गरियो", "Copied": "प्रतिलिपि गरियो",
// Conversion tab
"ConversionTab_BodyTop": "तपाईं एक व्यापारी को सीधा समर्थन भन्दा Altcoins अन्य को उपयोग को {{btcDue}} {{cryptoCode}} भुगतान गर्न सक्छन्", "ConversionTab_BodyTop": "तपाईं एक व्यापारी को सीधा समर्थन भन्दा Altcoins अन्य को उपयोग को {{btcDue}} {{cryptoCode}} भुगतान गर्न सक्छन्",
"ConversionTab_BodyDesc": "यो सेवा तेस्रो पार्टी द्वारा प्रदान गरिएको छ। कृपया ध्यान राख्नुहोस् कि हामीसँग कुनै नियन्त्रण छैन कि कसरी प्रदायकहरूले तपाईंको रकम अगाडि बढ्नेछन्। रकम प्राप्त {{cryptoCode}} Blockchain भएको बेलामा इनभ्वाइस मात्र भुक्तानी चिन्ह लगाइनेछ", "ConversionTab_BodyDesc": "यो सेवा तेस्रो पार्टी द्वारा प्रदान गरिएको छ। कृपया ध्यान राख्नुहोस् कि हामीसँग कुनै नियन्त्रण छैन कि कसरी प्रदायकहरूले तपाईंको रकम अगाडि बढ्नेछन्। रकम प्राप्त {{cryptoCode}} Blockchain भएको बेलामा इनभ्वाइस मात्र भुक्तानी चिन्ह लगाइनेछ",
"Shapeshift_Button_Text": "तिर्नुहोस् Altcoins", "Shapeshift_Button_Text": "तिर्नुहोस् Altcoins",
"ConversionTab_Lightning": "Lightning Network भुक्तानीको लागि कुनै परिवर्तन प्रदायकहरू उपलब्ध छैनन्", "ConversionTab_Lightning": "Lightning Network भुक्तानीको लागि कुनै परिवर्तन प्रदायकहरू उपलब्ध छैनन्",
// Invoice expired
"Invoice expiring soon...": "चलानीको म्याद सकियो", "Invoice expiring soon...": "चलानीको म्याद सकियो",
"Invoice expired": "इनभ्वाइस समाप्त भयो", "Invoice expired": "इनभ्वाइस समाप्त भयो",
"What happened?": "के भयो", "What happened?": "के भयो",
"InvoiceExpired_Body_1": " {{maxTimeMinutes}} ि ि \ "InvoiceExpired_Body_1": "यो चलानी समाप्त भएको छ। इनभ्वाइस {{maxTimeMinutes}} मिनेटको लागि मात्र वैध छ। \nतपाइँ आफ्नो भुक्तानी पुन: पेश गर्न चाहानुहुन्छ यदि तपाइँ {{ storeName }} भुक्तानी पठाउन प्रयास गर्नुभयो भने।",
: ि {{ storeName }} ",
"InvoiceExpired_Body_2": "भने यो अझै नेटवर्कद्वारा स्वीकार गरिएको छैन। हामीले अझै सम्म तपाईंको रकम प्राप्त गरेका छैनौ।", "InvoiceExpired_Body_2": "भने यो अझै नेटवर्कद्वारा स्वीकार गरिएको छैन। हामीले अझै सम्म तपाईंको रकम प्राप्त गरेका छैनौ।",
"InvoiceExpired_Body_3": "यदि लेनदेन नेटवर्क द्वारा स्वीकार गरेन भने, रकम तपाईंको वालेटमा फेरि खर्चयोग्य हुनेछ। तपाईंको वालेटको आधारमा, यो 48-72 घण्टा लाग्न सक्छ", "InvoiceExpired_Body_3": "यदि लेनदेन नेटवर्क द्वारा स्वीकार गरेन भने, रकम तपाईंको वालेटमा फेरि खर्चयोग्य हुनेछ। तपाईंको वालेटको आधारमा, यो 48-72 घण्टा लाग्न सक्छ",
"Invoice ID": "चलानी आईडी", "Invoice ID": "चलानी आईडी",
"Order ID": "अर्डर आईडी", "Order ID": "अर्डर आईडी",
"Return to StoreName": "यसलाई फर्काउनुहोस् {{storeName}}", "Return to StoreName": "यसलाई फर्काउनुहोस् {{storeName}}",
// Invoice paid
"This invoice has been paid": "इनभ्वाइस भुक्तानी गरिएको छ", "This invoice has been paid": "इनभ्वाइस भुक्तानी गरिएको छ",
// Invoice archived
"This invoice has been archived": "इनभ्वाइस संग्रहीत गरिएको छ", "This invoice has been archived": "इनभ्वाइस संग्रहीत गरिएको छ",
"Archived_Body": "कृपया स्टोर जानकारी वा सहयोगको लागि स्टोरलाई सम्पर्क गर्नुहोस्", "Archived_Body": "कृपया स्टोर जानकारी वा सहयोगको लागि स्टोरलाई सम्पर्क गर्नुहोस्",
// Lightning
"BOLT 11 Invoice": "BOLT 11 इनभ्वाइस", "BOLT 11 Invoice": "BOLT 11 इनभ्वाइस",
"Node Info": "नोड जानकारी", "Node Info": "नोड जानकारी",
//
"txCount": "{{count}} लेनदेन", "txCount": "{{count}} लेनदेन",
"txCount_plural": "{{count}} लेनदेन" "txCount_plural": "{{count}} लेनदेन"
}; }

View File

@@ -1,7 +1,7 @@
const locales_pt = { {
nested: { "code": "pt-PT",
lang: 'Idioma' "currentLanguage": "Portuguese",
}, "lang": "Idioma",
"Awaiting Payment...": "A Aguardar Pagamento...", "Awaiting Payment...": "A Aguardar Pagamento...",
"Pay with": "Pague com", "Pay with": "Pague com",
"Contact and Refund Email": "E-mail de Contacto e Reembolso", "Contact and Refund Email": "E-mail de Contacto e Reembolso",
@@ -13,42 +13,32 @@ const locales_pt = {
"Network Cost": "Custo da Rede", "Network Cost": "Custo da Rede",
"Already Paid": "Já Pago", "Already Paid": "Já Pago",
"Due": "Devido", "Due": "Devido",
// Tabs
"Scan": "Digitalizar", "Scan": "Digitalizar",
"Copy": "Copiar", "Copy": "Copiar",
"Conversion": "Conversão", "Conversion": "Conversão",
// Scan tab
"Open in wallet": "Abrir na carteira", "Open in wallet": "Abrir na carteira",
// Copy tab
"CompletePay_Body": "Para completar o seu pagamento, por favor envie {{btcDue}} {{cryptoCode}} para o endereço abaixo.", "CompletePay_Body": "Para completar o seu pagamento, por favor envie {{btcDue}} {{cryptoCode}} para o endereço abaixo.",
"Amount": "Quantia", "Amount": "Quantia",
"Address": "Endereço", "Address": "Endereço",
"Copied": "Copiado", "Copied": "Copiado",
// Conversion tab
"ConversionTab_BodyTop": "Pode pagar {{btcDue}} {{cryptoCode}} utilizando outras altcoins além das que a loja aceita diretamente.", "ConversionTab_BodyTop": "Pode pagar {{btcDue}} {{cryptoCode}} utilizando outras altcoins além das que a loja aceita diretamente.",
"ConversionTab_BodyDesc": "Este serviço é oferecido por terceiros. Por favor tenha em mente que não temos qualquer controlo sobre como os seus fundos serão utilizados. A fatura será marcada como paga apenas quando os fundos forem recebidos na Blockchain {{cryptoCode}}.", "ConversionTab_BodyDesc": "Este serviço é oferecido por terceiros. Por favor tenha em mente que não temos qualquer controlo sobre como os seus fundos serão utilizados. A fatura será marcada como paga apenas quando os fundos forem recebidos na Blockchain {{cryptoCode}}.",
"Shapeshift_Button_Text": "Pagar com Altcoins", "Shapeshift_Button_Text": "Pagar com Altcoins",
"ConversionTab_Lightning": "Não há fornecedores de conversão disponíveis para pagamentos via Lightning Network.", "ConversionTab_Lightning": "Não há fornecedores de conversão disponíveis para pagamentos via Lightning Network.",
// Invoice expired
"Invoice expiring soon...": "A fatura está a expirar...", "Invoice expiring soon...": "A fatura está a expirar...",
"Invoice expired": "Fatura expirada", "Invoice expired": "Fatura expirada",
"What happened?": "O que aconteceu?", "What happened?": "O que aconteceu?",
"InvoiceExpired_Body_1": "Esta fatura expirou. Uma fatura é válida durante {{maxTimeMinutes}} minutos. \ "InvoiceExpired_Body_1": "Esta fatura expirou. Uma fatura é válida durante {{maxTimeMinutes}} minutos. \nPode voltar para {{storeName}} se quiser enviar o seu pagamento novamente.",
Pode voltar para {{storeName}} se quiser enviar o seu pagamento novamente.",
"InvoiceExpired_Body_2": "Se tentou enviar um pagamento, ele ainda não foi aceite pela rede Bitcoin. Nós ainda não recebemos o valor enviado.", "InvoiceExpired_Body_2": "Se tentou enviar um pagamento, ele ainda não foi aceite pela rede Bitcoin. Nós ainda não recebemos o valor enviado.",
"InvoiceExpired_Body_3": "Se a transação não for aceite pela rede Bitcoin, o valor voltará para sua carteira. Dependendo da sua carteira, isto pode demorar entre 48 e 72 horas.", "InvoiceExpired_Body_3": "Se a transação não for aceite pela rede Bitcoin, o valor voltará para sua carteira. Dependendo da sua carteira, isto pode demorar entre 48 e 72 horas.",
"Invoice ID": "Nº da Fatura", "Invoice ID": "Nº da Fatura",
"Order ID": "Nº da Encomenda", "Order ID": "Nº da Encomenda",
"Return to StoreName": "Voltar para {{storeName}}", "Return to StoreName": "Voltar para {{storeName}}",
// Invoice paid
"This invoice has been paid": "Esta fatura foi paga", "This invoice has been paid": "Esta fatura foi paga",
// Invoice archived
"This invoice has been archived": "Esta fatura foi arquivada", "This invoice has been archived": "Esta fatura foi arquivada",
"Archived_Body": "Por favor, entre em contacto com o vendedor para informações e suporte", "Archived_Body": "Por favor, entre em contacto com o vendedor para informações e suporte",
// Lightning
"BOLT 11 Invoice": "Fatura BOLT 11", "BOLT 11 Invoice": "Fatura BOLT 11",
"Node Info": "Informação do Nó", "Node Info": "Informação do Nó",
//
"txCount": "{{count}} transação", "txCount": "{{count}} transação",
"txCount_plural": "{{count}} transações" "txCount_plural": "{{count}} transações"
}; }

View File

@@ -1,7 +1,7 @@
const locales_pt_br = { {
nested: { "code": "pt-BR",
lang: 'Idioma' "currentLanguage": "Portuguese (Brazil)",
}, "lang": "Idioma",
"Awaiting Payment...": "Aguardando o pagamento...", "Awaiting Payment...": "Aguardando o pagamento...",
"Pay with": "Pague com", "Pay with": "Pague com",
"Contact and Refund Email": "E-mail de contato e reembolso", "Contact and Refund Email": "E-mail de contato e reembolso",
@@ -13,42 +13,32 @@ const locales_pt_br = {
"Network Cost": "Custo da rede", "Network Cost": "Custo da rede",
"Already Paid": "Já foi pago", "Already Paid": "Já foi pago",
"Due": "Devido", "Due": "Devido",
// Tabs
"Scan": "Escanear", "Scan": "Escanear",
"Copy": "Copiar", "Copy": "Copiar",
"Conversion": "Conversão", "Conversion": "Conversão",
// Scan tab
"Open in wallet": "Abrir na carteira", "Open in wallet": "Abrir na carteira",
// Copy tab
"CompletePay_Body": "Para completar seu pagamento, por favor envie {{btcDue}} {{cryptoCode}} para o endereço abaixo.", "CompletePay_Body": "Para completar seu pagamento, por favor envie {{btcDue}} {{cryptoCode}} para o endereço abaixo.",
"Amount": "Quantia", "Amount": "Quantia",
"Address": "Endereço", "Address": "Endereço",
"Copied": "Copiado", "Copied": "Copiado",
// Conversion tab
"ConversionTab_BodyTop": "Você pode pagar {{btcDue}} {{cryptoCode}} utilizando outras altcoins além das que a loja aceita diretamente.", "ConversionTab_BodyTop": "Você pode pagar {{btcDue}} {{cryptoCode}} utilizando outras altcoins além das que a loja aceita diretamente.",
"ConversionTab_BodyDesc": "Esse serviço é oferecido por terceiros. Por favor, tenha em mente que não temos nenhum controle sobre como seus fundos serão utilizados. A fatura apenas será marcada como paga quando os fundos forem recebidos na Blockchain {{cryptoCode}}.", "ConversionTab_BodyDesc": "Esse serviço é oferecido por terceiros. Por favor, tenha em mente que não temos nenhum controle sobre como seus fundos serão utilizados. A fatura apenas será marcada como paga quando os fundos forem recebidos na Blockchain {{cryptoCode}}.",
"Shapeshift_Button_Text": "Pagar com Altcoins", "Shapeshift_Button_Text": "Pagar com Altcoins",
"ConversionTab_Lightning": "Não há provedores de conversão disponíveis para pagamentos via Lightning Network.", "ConversionTab_Lightning": "Não há provedores de conversão disponíveis para pagamentos via Lightning Network.",
// Invoice expired
"Invoice expiring soon...": "A fatura está expirando...", "Invoice expiring soon...": "A fatura está expirando...",
"Invoice expired": "Fatura expirada", "Invoice expired": "Fatura expirada",
"What happened?": "O que aconteceu?", "What happened?": "O que aconteceu?",
"InvoiceExpired_Body_1": "Essa fatura expirou. Uma fatura é válida por apenas {{maxTimeMinutes}} minutos. \ "InvoiceExpired_Body_1": "Essa fatura expirou. Uma fatura é válida por apenas {{maxTimeMinutes}} minutos. \nVocê pode voltar para {{storeName}} se quiser enviar o seu pagamento novamente.",
Você pode voltar para {{storeName}} se quiser enviar o seu pagamento novamente.",
"InvoiceExpired_Body_2": "Se você tentou enviar um pagamento, ele ainda não foi aceito pela rede Bitcoin. Nós ainda não recebemos o valor enviado.", "InvoiceExpired_Body_2": "Se você tentou enviar um pagamento, ele ainda não foi aceito pela rede Bitcoin. Nós ainda não recebemos o valor enviado.",
"InvoiceExpired_Body_3": "Se a transação não for aceita pela rede Bitcoin, o valor voltará para sua carteira. Dependendo da sua carteira, isso pode demorar de 48 a 72 horas.", "InvoiceExpired_Body_3": "Se a transação não for aceita pela rede Bitcoin, o valor voltará para sua carteira. Dependendo da sua carteira, isso pode demorar de 48 a 72 horas.",
"Invoice ID": "Nº da Fatura", "Invoice ID": "Nº da Fatura",
"Order ID": "Nº do Pedido", "Order ID": "Nº do Pedido",
"Return to StoreName": "Voltar para {{storeName}}", "Return to StoreName": "Voltar para {{storeName}}",
// Invoice paid
"This invoice has been paid": "Essa fatura foi paga", "This invoice has been paid": "Essa fatura foi paga",
// Invoice archived
"This invoice has been archived": "Essa fatura foi arquivada", "This invoice has been archived": "Essa fatura foi arquivada",
"Archived_Body": "Por favor, entre em contato com o estabelecimento para informações e suporte", "Archived_Body": "Por favor, entre em contato com o estabelecimento para informações e suporte",
// Lightning
"BOLT 11 Invoice": "Fatura BOLT 11", "BOLT 11 Invoice": "Fatura BOLT 11",
"Node Info": "Informação de nó", "Node Info": "Informação de nó",
//
"txCount": "{{count}} transação", "txCount": "{{count}} transação",
"txCount_plural": "{{count}} transações" "txCount_plural": "{{count}} transações"
}; }

View File

@@ -1,7 +1,7 @@
const locales_ru = { {
nested: { "code": "ru-RU",
lang: 'язык' "currentLanguage": "русский",
}, "lang": "язык",
"Awaiting Payment...": "Ожидание оплаты...", "Awaiting Payment...": "Ожидание оплаты...",
"Pay with": "заплатить", "Pay with": "заплатить",
"Contact and Refund Email": "Контактный адрес электронной почты", "Contact and Refund Email": "Контактный адрес электронной почты",
@@ -13,42 +13,32 @@ const locales_ru = {
"Network Cost": "Ценность сети", "Network Cost": "Ценность сети",
"Already Paid": "Уже оплачено", "Already Paid": "Уже оплачено",
"Due": "является обязательной", "Due": "является обязательной",
// Tabs
"Scan": "просканировать", "Scan": "просканировать",
"Copy": "Скопировать", "Copy": "Скопировать",
"Conversion": "Конвертация", "Conversion": "Конвертация",
// Scan tab
"Open in wallet": "Открыть кошелек", "Open in wallet": "Открыть кошелек",
// Copy tab
"CompletePay_Body": "Чтобы завершить оплату, отправьте {{btcDue}} {{cryptoCode}} по адресу, указанному ниже.", "CompletePay_Body": "Чтобы завершить оплату, отправьте {{btcDue}} {{cryptoCode}} по адресу, указанному ниже.",
"Amount": "Сумма", "Amount": "Сумма",
"Address": "Адрес", "Address": "Адрес",
"Copied": "Скопировано", "Copied": "Скопировано",
// Conversion tab
"ConversionTab_BodyTop": "Вы можете заплатить {{btcDue}} {{cryptoCode}} используя Altcoins отличные от предпочитаемых продавцом.", "ConversionTab_BodyTop": "Вы можете заплатить {{btcDue}} {{cryptoCode}} используя Altcoins отличные от предпочитаемых продавцом.",
"ConversionTab_BodyDesc": "Эта услуга предоставляется третьим лицом. Пожалуйста, имейте в виду, что мы не контролируем, каким образом провайдеры переедут ваши фондовые средства. Счет будет закрыт только после {{cryptoCode}} Blockchain получения средств.", "ConversionTab_BodyDesc": "Эта услуга предоставляется третьим лицом. Пожалуйста, имейте в виду, что мы не контролируем, каким образом провайдеры переедут ваши фондовые средства. Счет будет закрыт только после {{cryptoCode}} Blockchain получения средств.",
"Shapeshift_Button_Text": "заплатить Altcoins", "Shapeshift_Button_Text": "заплатить Altcoins",
"ConversionTab_Lightning": "Возможность конвертации Lightning Network платежей отсутствует.", "ConversionTab_Lightning": "Возможность конвертации Lightning Network платежей отсутствует.",
// Invoice expired
"Invoice expiring soon...": "Время выставленного счета вскоре истечёт...", "Invoice expiring soon...": "Время выставленного счета вскоре истечёт...",
"Invoice expired": "Срок действия выставленного счета истек", "Invoice expired": "Срок действия выставленного счета истек",
"What happened?": "Что случилось?", "What happened?": "Что случилось?",
"InvoiceExpired_Body_1": "Срок действия этого счета истек. Счет действителен только {{maxTimeMinutes}} минут. \ "InvoiceExpired_Body_1": "Срок действия этого счета истек. Счет действителен только {{maxTimeMinutes}} минут. \nвы можете посетить {{storeName}} опять, если захотите оплатить.",
вы можете посетить {{storeName}} опять, если захотите оплатить.",
"InvoiceExpired_Body_2": "ваша оплата пока еще не принята системой. Мы еще не получили ваши фонды.", "InvoiceExpired_Body_2": "ваша оплата пока еще не принята системой. Мы еще не получили ваши фонды.",
"InvoiceExpired_Body_3": "если транзакция не пройдёт Ваши фонды будут возвращены в ваш кошелек.в зависимости от Вашего кошелек это может занять от 48 до 72 часов.", "InvoiceExpired_Body_3": "если транзакция не пройдёт Ваши фонды будут возвращены в ваш кошелек.в зависимости от Вашего кошелек это может занять от 48 до 72 часов.",
"Invoice ID": "Порядковый номер выставленного счета", "Invoice ID": "Порядковый номер выставленного счета",
"Order ID": "Порядковый номер заказа", "Order ID": "Порядковый номер заказа",
"Return to StoreName": "возвратить в {{storeName}}", "Return to StoreName": "возвратить в {{storeName}}",
// Invoice paid
"This invoice has been paid": "Этот выставленный счет был оплачен", "This invoice has been paid": "Этот выставленный счет был оплачен",
// Invoice archived
"This invoice has been archived": "Этот счет был заархивирован.", "This invoice has been archived": "Этот счет был заархивирован.",
"Archived_Body": "ожалуйста, обратитесь в магазин для получения информации о заказе или помощи", "Archived_Body": "ожалуйста, обратитесь в магазин для получения информации о заказе или помощи",
// Lightning
"BOLT 11 Invoice": "счет BOLT 11", "BOLT 11 Invoice": "счет BOLT 11",
"Node Info": "Информация об устройстве", "Node Info": "Информация об устройстве",
//
"txCount": "{{count}} Сделка", "txCount": "{{count}} Сделка",
"txCount_plural": "{{count}} операции" "txCount_plural": "{{count}} операции"
}; }

View File

@@ -1,7 +1,7 @@
const locales_uk = { {
nested: { "code": "uk-UA",
lang: 'Мова' "currentLanguage": "Українська",
}, "lang": "Мова",
"Awaiting Payment...": "Очікування платежу…", "Awaiting Payment...": "Очікування платежу…",
"Pay with": "Оплатити", "Pay with": "Оплатити",
"Contact and Refund Email": "Електронна адреса для зв’язку та повернення коштів", "Contact and Refund Email": "Електронна адреса для зв’язку та повернення коштів",
@@ -13,42 +13,32 @@ const locales_uk = {
"Network Cost": "Мережева вартість", "Network Cost": "Мережева вартість",
"Already Paid": "Вже сплачено", "Already Paid": "Вже сплачено",
"Due": "До сплати", "Due": "До сплати",
// Tabs
"Scan": "Сканувати", "Scan": "Сканувати",
"Copy": "Копіювати", "Copy": "Копіювати",
"Conversion": "Конверсія", "Conversion": "Конверсія",
// Scan tab
"Open in wallet": "Відкрити гаманець", "Open in wallet": "Відкрити гаманець",
// Copy tab
"CompletePay_Body": "Для завершення платежу, будь ласка, надішліть {{btcDue}} {{cryptoCode}} на адресу нижче.", "CompletePay_Body": "Для завершення платежу, будь ласка, надішліть {{btcDue}} {{cryptoCode}} на адресу нижче.",
"Amount": "Сума", "Amount": "Сума",
"Address": "Адреса", "Address": "Адреса",
"Copied": "Скопійовано", "Copied": "Скопійовано",
// Conversion tab
"ConversionTab_BodyTop": "Ви можете сплатити {{btcDue}} {{cryptoCode}} використовуючи альткоїни, що відрізняються від тих, що підтримує продавець.", "ConversionTab_BodyTop": "Ви можете сплатити {{btcDue}} {{cryptoCode}} використовуючи альткоїни, що відрізняються від тих, що підтримує продавець.",
"ConversionTab_BodyDesc": "Послуга надається третьою особою. Будь ласка, майте на увазі, що ми не контролюємо те, як провайдери пересилатимуть ваші кошти. Рахунок буде позначений як сплачений тільки після надходження коштів на блокчейн {{cryptoCode}}.", "ConversionTab_BodyDesc": "Послуга надається третьою особою. Будь ласка, майте на увазі, що ми не контролюємо те, як провайдери пересилатимуть ваші кошти. Рахунок буде позначений як сплачений тільки після надходження коштів на блокчейн {{cryptoCode}}.",
"Shapeshift_Button_Text": "Заплатити альткоїнами", "Shapeshift_Button_Text": "Заплатити альткоїнами",
"ConversionTab_Lightning": "Для платежів з використанням Lightning Network немає провайдерів конверсії.", "ConversionTab_Lightning": "Для платежів з використанням Lightning Network немає провайдерів конверсії.",
// Invoice expired
"Invoice expiring soon...": "Строк дії рахунку скоро закінчується...", "Invoice expiring soon...": "Строк дії рахунку скоро закінчується...",
"Invoice expired": "Строк дії рахунку закінчився", "Invoice expired": "Строк дії рахунку закінчився",
"What happened?": "Що сталось?", "What happened?": "Що сталось?",
"InvoiceExpired_Body_1": "Строк дії цього рахунку закінчився. Рахунок дійсний лише {{maxTimeMinutes}} хвилин. \ "InvoiceExpired_Body_1": "Строк дії цього рахунку закінчився. Рахунок дійсний лише {{maxTimeMinutes}} хвилин. \nВи можете повернутись до {{storeName}} якщо ви хочете ще раз надіслати ваш платіж.",
Ви можете повернутись до {{storeName}} якщо ви хочете ще раз надіслати ваш платіж.",
"InvoiceExpired_Body_2": "Якщо ви пробували надіслати платіж, він ще не був прийнятий мережею. Ми ще не отримали ваші кошти.", "InvoiceExpired_Body_2": "Якщо ви пробували надіслати платіж, він ще не був прийнятий мережею. Ми ще не отримали ваші кошти.",
"InvoiceExpired_Body_3": "Якщо транзакція не прийнята мережею, кошти будуть знову доступними у вашому гаманці. Залежно від вашого гаманця, це може зайняти приблизно 48-72 годин.", "InvoiceExpired_Body_3": "Якщо транзакція не прийнята мережею, кошти будуть знову доступними у вашому гаманці. Залежно від вашого гаманця, це може зайняти приблизно 48-72 годин.",
"Invoice ID": "ID рахунку", "Invoice ID": "ID рахунку",
"Order ID": "ID замовлення", "Order ID": "ID замовлення",
"Return to StoreName": "Повернутись до {{storeName}}", "Return to StoreName": "Повернутись до {{storeName}}",
// Invoice paid
"This invoice has been paid": "Цей рахунок вже оплачений", "This invoice has been paid": "Цей рахунок вже оплачений",
// Invoice archived
"This invoice has been archived": "Цей рахунок заархівований", "This invoice has been archived": "Цей рахунок заархівований",
"Archived_Body": "Будь ласка, зв’яжіться з магазином для отримання інформації щодо замовлення або допомоги", "Archived_Body": "Будь ласка, зв’яжіться з магазином для отримання інформації щодо замовлення або допомоги",
// Lightning
"BOLT 11 Invoice": "Рахунок BOLT 11", "BOLT 11 Invoice": "Рахунок BOLT 11",
"Node Info": "Інформація щодо вузла", "Node Info": "Інформація щодо вузла",
//
"txCount": "транзакція {{count}}", "txCount": "транзакція {{count}}",
"txCount_plural": "транзакції {{count}}" "txCount_plural": "транзакції {{count}}"
}; }

View File

@@ -1,7 +1,7 @@
const locales_vi = { {
nested: { "code": "vi-VN",
lang: 'Ngôn ng' "currentLanguage": "Tiếng Việt",
}, "lang": "Ngôn ngữ",
"Awaiting Payment...": "Đang chờ Thanh toán...", "Awaiting Payment...": "Đang chờ Thanh toán...",
"Pay with": "Thanh toán bằng", "Pay with": "Thanh toán bằng",
"Contact and Refund Email": "Email để Liên lạc và Hoàn Tiền", "Contact and Refund Email": "Email để Liên lạc và Hoàn Tiền",
@@ -13,42 +13,32 @@ const locales_vi = {
"Network Cost": "Chi phí Mạng lưới", "Network Cost": "Chi phí Mạng lưới",
"Already Paid": "Số Tiền Đã Thanh toán", "Already Paid": "Số Tiền Đã Thanh toán",
"Due": "Số tiền chưa thanh toán", "Due": "Số tiền chưa thanh toán",
// Tabs
"Scan": "Quét mã", "Scan": "Quét mã",
"Copy": "Sao chép", "Copy": "Sao chép",
"Conversion": "Chuyển đổi", "Conversion": "Chuyển đổi",
// Scan tab
"Open in wallet": "Mở ví", "Open in wallet": "Mở ví",
// Copy tab
"CompletePay_Body": "Để hoàn tất việc thanh toán của bạn, hãy gửi {{btcDue}} {{cryptoCode}}tới địa chỉ sau.", "CompletePay_Body": "Để hoàn tất việc thanh toán của bạn, hãy gửi {{btcDue}} {{cryptoCode}}tới địa chỉ sau.",
"Amount": "Số tiền", "Amount": "Số tiền",
"Address": "Địa chỉ", "Address": "Địa chỉ",
"Copied": "Đã sao chép", "Copied": "Đã sao chép",
// Conversion tab
"ConversionTab_BodyTop": "Bạn có thể dùng Altcoin để trả cho {{btcDue}} {{cryptoCode}} chứ không phải dùng những loại tiền người bán chấp nhận trực tiếp.", "ConversionTab_BodyTop": "Bạn có thể dùng Altcoin để trả cho {{btcDue}} {{cryptoCode}} chứ không phải dùng những loại tiền người bán chấp nhận trực tiếp.",
"ConversionTab_BodyDesc": "Dịch vụ này được cung cấp bởi một bên thứ ba. Xin vui lòng ghi nhớ, chúng tôi không kiểm soát phương thức các nhà cung cấp chuyển tiếp các nguồn tiền của bạn. Hóa đơn sẽ chỉ được đánh dấu đã thanh toán khi nào các nguồn tiền đã được nhận bởi Chuỗi khối Blockchain {{cryptoCode}}.", "ConversionTab_BodyDesc": "Dịch vụ này được cung cấp bởi một bên thứ ba. Xin vui lòng ghi nhớ, chúng tôi không kiểm soát phương thức các nhà cung cấp chuyển tiếp các nguồn tiền của bạn. Hóa đơn sẽ chỉ được đánh dấu đã thanh toán khi nào các nguồn tiền đã được nhận bởi Chuỗi khối Blockchain {{cryptoCode}}.",
"Shapeshift_Button_Text": "Thanh toán bằng Altcoins", "Shapeshift_Button_Text": "Thanh toán bằng Altcoins",
"ConversionTab_Lightning": "Không có nhà cung cấp nào có dịch vụ chuyển đổi cho các phương thức thanh toán Lightning Network.", "ConversionTab_Lightning": "Không có nhà cung cấp nào có dịch vụ chuyển đổi cho các phương thức thanh toán Lightning Network.",
// Invoice expired
"Invoice expiring soon...": "Hóa đơn sắp quá hạn...", "Invoice expiring soon...": "Hóa đơn sắp quá hạn...",
"Invoice expired": "Hóa đơn đã quá hạn", "Invoice expired": "Hóa đơn đã quá hạn",
"What happened?": "Đã xảy ra chuyện gì?", "What happened?": "Đã xảy ra chuyện gì?",
"InvoiceExpired_Body_1": "Hóa đơn này đã quá hn. Mt hóa đơn ch có giá tr trong {{maxTimeMinutes}} phút. \ "InvoiceExpired_Body_1": "Hóa đơn này đã quá hạn. Một hóa đơn chỉ có giá trị trong {{maxTimeMinutes}} phút. \nNếu muốn đệ trình việc thanh toán một lần nữa, bạn có thể quay lại {{storeName}}.",
Nếu mun đ trình vic thanh toán mt ln na, bn có th quay li {{storeName}}.",
"InvoiceExpired_Body_2": "Nếu bạn vừa định gửi thanh toán, thì hệ thống vẫn chưa chấp nhận thanh toán của bạn. Chúng tôi vẫn chưa nhận được tiền của bạn.", "InvoiceExpired_Body_2": "Nếu bạn vừa định gửi thanh toán, thì hệ thống vẫn chưa chấp nhận thanh toán của bạn. Chúng tôi vẫn chưa nhận được tiền của bạn.",
"InvoiceExpired_Body_3": "Nếu giao dịch không được hệ thống chấp nhận, các khoản tiền của bạn sẽ được phân bổ trở lại ví của bạn để bạn tiêu dùng. Tuỳ thuộc vào ví của bạn, việc này có thể mất 48-72 giờ.", "InvoiceExpired_Body_3": "Nếu giao dịch không được hệ thống chấp nhận, các khoản tiền của bạn sẽ được phân bổ trở lại ví của bạn để bạn tiêu dùng. Tuỳ thuộc vào ví của bạn, việc này có thể mất 48-72 giờ.",
"Invoice ID": "Số Hóa đơn", "Invoice ID": "Số Hóa đơn",
"Order ID": "Số Đơn hàng", "Order ID": "Số Đơn hàng",
"Return to StoreName": "Quay lại {{storeName}}", "Return to StoreName": "Quay lại {{storeName}}",
// Invoice paid
"This invoice has been paid": "Hóa đơn này đã được thanh toán", "This invoice has been paid": "Hóa đơn này đã được thanh toán",
// Invoice archived
"This invoice has been archived": "Hóa đơn này đã được lưu trữ", "This invoice has been archived": "Hóa đơn này đã được lưu trữ",
"Archived_Body": "Hãy liên lạc với cửa hàng để biết thông tin về đơn hàng hoặc nếu cần trợ giúp", "Archived_Body": "Hãy liên lạc với cửa hàng để biết thông tin về đơn hàng hoặc nếu cần trợ giúp",
// Lightning
"BOLT 11 Invoice": "Hóa đơn BOLT 11", "BOLT 11 Invoice": "Hóa đơn BOLT 11",
"Node Info": "Nút Thông tin", "Node Info": "Nút Thông tin",
//
"txCount": "{{count}} giao dịch", "txCount": "{{count}} giao dịch",
"txCount_plural": "{{count}} các giao dịch" "txCount_plural": "{{count}} các giao dịch"
}; }

View File

@@ -1,7 +1,7 @@
const locales_zh_sp = { {
nested: { "code": "zh-SP",
lang: '' "currentLanguage": "中文(简体)",
}, "lang": "语言",
"Awaiting Payment...": "等待付款中...", "Awaiting Payment...": "等待付款中...",
"Pay with": "支付方式", "Pay with": "支付方式",
"Contact and Refund Email": "联络和退款邮箱", "Contact and Refund Email": "联络和退款邮箱",
@@ -13,42 +13,32 @@ const locales_zh_sp = {
"Network Cost": "网络费用", "Network Cost": "网络费用",
"Already Paid": "已支付", "Already Paid": "已支付",
"Due": "待支付", "Due": "待支付",
// Tabs
"Scan": "扫一扫", "Scan": "扫一扫",
"Copy": "复制", "Copy": "复制",
"Conversion": "兑换支付", "Conversion": "兑换支付",
// Scan tab
"Open in wallet": "在钱包中打开", "Open in wallet": "在钱包中打开",
// Copy tab
"CompletePay_Body": "请发送{{btcDue}} {{cryptoCode}}至下方地址以完成支付。", "CompletePay_Body": "请发送{{btcDue}} {{cryptoCode}}至下方地址以完成支付。",
"Amount": "金额", "Amount": "金额",
"Address": "地址", "Address": "地址",
"Copied": "已复制", "Copied": "已复制",
// Conversion tab
"ConversionTab_BodyTop": "您也可以使用商家支持以外的其他altcoins支付{{btcDue}} {{cryptoCode}}。", "ConversionTab_BodyTop": "您也可以使用商家支持以外的其他altcoins支付{{btcDue}} {{cryptoCode}}。",
"ConversionTab_BodyDesc": "请您注意,这项服务由第三方应用提供,所以我们无法直接获悉和操控第三方应用的具体兑换过程。订单只有在支付款被{{cryptocode}}的区块链接收之后,才会显示已支付。", "ConversionTab_BodyDesc": "请您注意,这项服务由第三方应用提供,所以我们无法直接获悉和操控第三方应用的具体兑换过程。订单只有在支付款被{{cryptocode}}的区块链接收之后,才会显示已支付。",
"Shapeshift_Button_Text": "Altcoins支付", "Shapeshift_Button_Text": "Altcoins支付",
"ConversionTab_Lightning": "闪电网络不支持其他altcoins兑换支付。", "ConversionTab_Lightning": "闪电网络不支持其他altcoins兑换支付。",
// Invoice expired
"Invoice expiring soon...": "订单即将过期...", "Invoice expiring soon...": "订单即将过期...",
"Invoice expired": "订单已过期 ", "Invoice expired": "订单已过期 ",
"What happened?": "发生了什么?", "What happened?": "发生了什么?",
"InvoiceExpired_Body_1": "{{maxTimeMinutes}} \ "InvoiceExpired_Body_1": "您的订单已过期。一个订单只在{{maxTimeMinutes}}分钟内有效。 \n如果您想要再次支付可返回{{storeName}}。",
{{storeName}}",
"InvoiceExpired_Body_2": "如果您已支付,但付款没有被网络确认接收。这说明我方目前还未收到您的支付款。", "InvoiceExpired_Body_2": "如果您已支付,但付款没有被网络确认接收。这说明我方目前还未收到您的支付款。",
"InvoiceExpired_Body_3": "如果您的支付最终被网络拒绝支付款将被返回您的钱包。根据您使用的钱包不同可能需要48-72小时。", "InvoiceExpired_Body_3": "如果您的支付最终被网络拒绝支付款将被返回您的钱包。根据您使用的钱包不同可能需要48-72小时。",
"Invoice ID": "订单号", "Invoice ID": "订单号",
"Order ID": "订货号", "Order ID": "订货号",
"Return to StoreName": "返回{{storeName}}。", "Return to StoreName": "返回{{storeName}}。",
// Invoice paid
"This invoice has been paid": "此订单已支付", "This invoice has been paid": "此订单已支付",
// Invoice archived
"This invoice has been archived": "此订单已归档", "This invoice has been archived": "此订单已归档",
"Archived_Body": "请联系商家获得更多的订单信息或帮助", "Archived_Body": "请联系商家获得更多的订单信息或帮助",
// Lightning
"BOLT 11 Invoice": "BOLT 11 订单", "BOLT 11 Invoice": "BOLT 11 订单",
"Node Info": "节点信息(Node Info)", "Node Info": "节点信息(Node Info)",
//
"txCount": "{{count}}笔交易", "txCount": "{{count}}笔交易",
"txCount_plural": "{{count}}笔交易" "txCount_plural": "{{count}}笔交易"
}; }

View File

@@ -0,0 +1,198 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global.i18nextXHRBackend = factory());
}(this, (function () { 'use strict';
var arr = [];
var each = arr.forEach;
var slice = arr.slice;
function defaults(obj) {
each.call(slice.call(arguments, 1), function (source) {
if (source) {
for (var prop in source) {
if (obj[prop] === undefined) obj[prop] = source[prop];
}
}
});
return obj;
}
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
function addQueryString(url, params) {
if (params && (typeof params === 'undefined' ? 'undefined' : _typeof(params)) === 'object') {
var queryString = '',
e = encodeURIComponent;
// Must encode data
for (var paramName in params) {
queryString += '&' + e(paramName) + '=' + e(params[paramName]);
}
if (!queryString) {
return url;
}
url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);
}
return url;
}
// https://gist.github.com/Xeoncross/7663273
function ajax(url, options, callback, data, cache) {
if (data && (typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object') {
if (!cache) {
data['_t'] = new Date();
}
// URL encoded form data must be in querystring format
data = addQueryString('', data).slice(1);
}
if (options.queryStringParams) {
url = addQueryString(url, options.queryStringParams);
}
try {
var x;
if (XMLHttpRequest) {
x = new XMLHttpRequest();
} else {
x = new ActiveXObject('MSXML2.XMLHTTP.3.0');
}
x.open(data ? 'POST' : 'GET', url, 1);
if (!options.crossDomain) {
x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
}
x.withCredentials = !!options.withCredentials;
if (data) {
x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
}
if (x.overrideMimeType) {
x.overrideMimeType("application/json");
}
var h = options.customHeaders;
if (h) {
for (var i in h) {
x.setRequestHeader(i, h[i]);
}
}
x.onreadystatechange = function () {
x.readyState > 3 && callback && callback(x.responseText, x);
};
x.send(data);
} catch (e) {
console && console.log(e);
}
}
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function getDefaults() {
return {
loadPath: '/locales/{{lng}}/{{ns}}.json',
addPath: '/locales/add/{{lng}}/{{ns}}',
allowMultiLoading: false,
parse: JSON.parse,
crossDomain: false,
ajax: ajax
};
}
var Backend = function () {
function Backend(services) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
_classCallCheck(this, Backend);
this.init(services, options);
this.type = 'backend';
}
_createClass(Backend, [{
key: 'init',
value: function init(services) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
this.services = services;
this.options = defaults(options, this.options || {}, getDefaults());
}
}, {
key: 'readMulti',
value: function readMulti(languages, namespaces, callback) {
var loadPath = this.options.loadPath;
if (typeof this.options.loadPath === 'function') {
loadPath = this.options.loadPath(languages, namespaces);
}
var url = this.services.interpolator.interpolate(loadPath, { lng: languages.join('+'), ns: namespaces.join('+') });
this.loadUrl(url, callback);
}
}, {
key: 'read',
value: function read(language, namespace, callback) {
var loadPath = this.options.loadPath;
if (typeof this.options.loadPath === 'function') {
loadPath = this.options.loadPath([language], [namespace]);
}
var url = this.services.interpolator.interpolate(loadPath, { lng: language, ns: namespace });
this.loadUrl(url, callback);
}
}, {
key: 'loadUrl',
value: function loadUrl(url, callback) {
var _this = this;
this.options.ajax(url, this.options, function (data, xhr) {
if (xhr.status >= 500 && xhr.status < 600) return callback('failed loading ' + url, true /* retry */);
if (xhr.status >= 400 && xhr.status < 500) return callback('failed loading ' + url, false /* no retry */);
var ret = void 0,
err = void 0;
try {
ret = _this.options.parse(data, url);
} catch (e) {
err = 'failed parsing ' + url + ' to json';
}
if (err) return callback(err, false);
callback(null, ret);
});
}
}, {
key: 'create',
value: function create(languages, namespace, key, fallbackValue) {
var _this2 = this;
if (typeof languages === 'string') languages = [languages];
var payload = {};
payload[key] = fallbackValue || '';
languages.forEach(function (lng) {
var url = _this2.services.interpolator.interpolate(_this2.options.addPath, { lng: lng, ns: namespace });
_this2.options.ajax(url, _this2.options, function (data, xhr) {
//const statusCode = xhr.status.toString();
// TODO: if statusCode === 4xx do log
}, payload);
});
}
}]);
return Backend;
}();
Backend.type = 'backend';
return Backend;
})));