using System.Collections.Generic;

namespace PalladiumWallet.App.Localization;

/// <summary>
/// UI localisation: key → per-language translations dictionary, with an
/// indexer bindable from XAML ({Binding Loc[key]}). On language change the
/// ViewModel replaces the instance so Avalonia re-evaluates all bindings.
/// </summary>
public sealed class Loc
{
    public static Loc Instance { get; private set; } = new();

    public static readonly string[] Languages = ["it", "en", "es", "fr", "pt", "de", "zh"];
    public static readonly string[] LanguageNames = ["Italiano", "English", "Español", "Français", "Português", "Deutsch", "中文"];

    public string Language { get; private set; } = "en";

    private Loc() { }
    private Loc(string language) { Language = language; }

    /// <summary>
    /// Creates a new instance for the specified language and updates the singleton
    /// used by <see cref="Tr"/>. The ViewModel assigns this instance to its Loc
    /// property so Avalonia sees a different reference and re-evaluates all
    /// {Binding Loc[key]} bindings.
    /// </summary>
    internal static Loc SwitchTo(string language)
    {
        if (System.Array.IndexOf(Languages, language) < 0) language = "en";
        var loc = new Loc(language);
        Instance = loc;
        return loc;
    }

    public string this[string key] =>
        Strings.TryGetValue(key, out var values)
            ? values[System.Math.Max(0, System.Array.IndexOf(Languages, Language))]
            : key;

    public static string Tr(string key) => Instance[key];

    private static readonly Dictionary<string, string[]> Strings = new()
    {
        // Menu                                                it                                          en                              es                                      fr                                          pt                                          de                                              zh
        ["menu.file"]             = ["_File",                                                             "_File",                        "_Archivo",                             "_Fichier",                                 "_Arquivo",                                 "_Datei",                                       "_文件"],
        ["menu.file.new"]         = ["Nuovo / ripristina wallet…",                                        "New / restore wallet…",        "Nuevo / restaurar wallet…",            "Nouveau / restaurer le wallet…",           "Novo / restaurar carteira…",               "Neu / Wallet wiederherstellen…",               "新建/恢复钱包…"],
        ["menu.file.close"]       = ["Chiudi wallet",                                                     "Close wallet",                 "Cerrar wallet",                        "Fermer le wallet",                         "Fechar carteira",                          "Wallet schließen",                             "关闭钱包"],
        ["menu.file.quit"]        = ["Esci",                                                               "Quit",                         "Salir",                                "Quitter",                                  "Sair",                                     "Beenden",                                       "退出"],
        ["menu.net"]              = ["_Rete",                                                             "_Network",                     "_Red",                                 "_Réseau",                                  "_Rede",                                    "_Netzwerk",                                     "_网络"],
        ["menu.net.discover"]     = ["Cerca altri server (peer)",                                         "Discover servers (peers)",     "Buscar otros servidores (peers)",      "Rechercher d'autres serveurs (pairs)",     "Procurar outros servidores (peers)",        "Weitere Server suchen (Peers)",                "发现服务器（节点）"],
        ["menu.net.resetcerts"]   = ["Reset certificati SSL",                                             "Reset SSL certificates",       "Restablecer certificados SSL",         "Réinitialiser les certificats SSL",        "Redefinir certificados SSL",               "SSL-Zertifikate zurücksetzen",                 "重置 SSL 证书"],
        ["menu.settings"]         = ["_Impostazioni",                                                     "_Settings",                    "_Configuración",                       "_Paramètres",                              "_Configurações",                           "_Einstellungen",                               "_设置"],
        ["menu.help"]             = ["_Help",                                                             "_Help",                        "_Ayuda",                               "_Aide",                                    "_Ajuda",                                   "_Hilfe",                                        "_帮助"],
        ["help.title"]            = ["Informazioni",                                                     "About",                        "Información",                          "À propos",                                 "Sobre",                                    "Über",                                          "关于"],
        ["help.info"]             = [
            "Wallet SPV leggero e non-custodiale per la rete Palladium (PLM). Sicurezza locale: seed e chiavi sempre cifrati, mai esposti in rete.",
            "Lightweight, non-custodial SPV wallet for the Palladium (PLM) network. Local security: seed and keys always encrypted, never exposed on the wire.",
            "Monedero SPV ligero y sin custodia para la red Palladium (PLM). Seguridad local: semilla y claves siempre cifradas, nunca expuestas en la red.",
            "Portefeuille SPV léger et non-custodial pour le réseau Palladium (PLM). Sécurité locale : graine et clés toujours chiffrées, jamais exposées sur le réseau.",
            "Carteira SPV leve e não custodial para a rede Palladium (PLM). Segurança local: semente e chaves sempre cifradas, nunca expostas na rede.",
            "Leichtes, nicht-verwahrendes SPV-Wallet für das Palladium (PLM)-Netzwerk. Lokale Sicherheit: Seed und Schlüssel stets verschlüsselt, nie im Netzwerk exponiert.",
            "轻量级、非托管的 Palladium（PLM）网络 SPV 钱包。本地安全：种子和密钥始终加密，绝不在网络上明文传输。"],
        ["help.tab.info"]         = ["Info",                                                               "Info",                         "Info",                                 "Info",                                     "Info",                                     "Info",                                          "信息"],
        ["help.tab.donate"]       = ["Dona",                                                               "Donate",                       "Donar",                                "Faire un don",                             "Doar",                                     "Spenden",                                       "捐赠"],
        ["help.bug.report"]       = ["Segnala un bug",                                                     "Report a bug",                 "Informar un error",                    "Signaler un bug",                          "Reportar um bug",                          "Fehler melden",                                "报告错误"],
        ["help.user.guide"]       = ["Guida utente",                                                       "User guide",                   "Guía del usuario",                     "Guide utilisateur",                        "Guia do usuário",                          "Benutzerhandbuch",                             "用户指南"],
        ["update.title"]          = ["Aggiornamento disponibile",                                          "Update available",             "Actualización disponible",             "Mise à jour disponible",                   "Atualização disponível",                   "Update verfügbar",                             "有可用更新"],
        ["update.message"]        = ["È disponibile una nuova versione:",                                  "A new version is available:",  "Hay una nueva versión disponible:",    "Une nouvelle version est disponible :",    "Uma nova versão está disponível:",         "Eine neue Version ist verfügbar:",             "有新版本可用："],
        ["update.download"]       = ["Scarica",                                                            "Download",                     "Descargar",                            "Télécharger",                              "Baixar",                                   "Herunterladen",                                "下载"],
        ["update.dismiss"]        = ["Ignora",                                                              "Dismiss",                      "Ignorar",                               "Ignorer",                                  "Ignorar",                                  "Verwerfen",                                     "忽略"],
        ["donate.desc"]           = [
            "Se questo wallet ti è utile, considera una piccola donazione allo sviluppatore.",
            "If you find this wallet useful, consider a small donation to the developer.",
            "Si esta wallet te resulta útil, considera una pequeña donación al desarrollador.",
            "Si ce portefeuille vous est utile, envisagez un petit don au développeur.",
            "Se esta carteira é útil para você, considere uma pequena doação ao desenvolvedor.",
            "Wenn Ihnen dieses Wallet nützlich ist, erwägen Sie eine kleine Spende an den Entwickler.",
            "如果您觉得这个钱包有用，请考虑向开发者捐赠一点。"],
        ["donate.dev.address"]    = ["Indirizzo sviluppatore",                                             "Developer address",            "Dirección del desarrollador",          "Adresse du développeur",                   "Endereço do desenvolvedor",                "Entwickleradresse",                            "开发者地址"],
        ["donate.amount"]         = ["Importo donazione",                                                  "Donation amount",              "Monto de donación",                    "Montant du don",                           "Valor da doação",                          "Spendenbetrag",                                "捐赠金额"],
        ["donate.prepare"]        = ["Prepara donazione",                                                  "Prepare donation",             "Preparar donación",                    "Préparer le don",                          "Preparar doação",                          "Spende vorbereiten",                           "准备捐赠"],
        ["donate.confirm"]        = ["Conferma e invia",                                                   "Confirm and send",             "Confirmar y enviar",                   "Confirmer et envoyer",                     "Confirmar e enviar",                       "Bestätigen und senden",                        "确认并发送"],
        ["settings.unit.short"]   = ["Unità",                                                             "Unit",                         "Unidad",                               "Unité",                                    "Unidade",                                  "Einheit",                                       "单位"],

        // Wizard
        ["wiz.data.title"]        = ["Dove salvare i dati",                                               "Where to store data",          "Dónde guardar los datos",              "Où enregistrer les données",               "Onde salvar os dados",                     "Wo Daten gespeichert werden",                  "数据存储位置"],
        ["wiz.data.info"]         = [
            "Scegli la cartella in cui salvare wallet, configurazione e certificati. Puoi usare il percorso predefinito o sceglierne uno tuo.",
            "Choose the folder where wallets, configuration and certificates are stored. Use the default path or pick your own.",
            "Elige la carpeta donde se guardarán wallets, configuración y certificados. Usa la ruta predeterminada o elige la tuya.",
            "Choisissez le dossier où enregistrer les wallets, la configuration et les certificats. Utilisez le chemin par défaut ou le vôtre.",
            "Escolha a pasta onde salvar carteiras, configuração e certificados. Use o caminho padrão ou escolha o seu.",
            "Wählen Sie den Ordner für Wallets, Konfiguration und Zertifikate. Nutzen Sie den Standardpfad oder einen eigenen.",
            "选择用于存储钱包、配置和证书的文件夹。可以使用默认路径，也可以自行选择。"],
        ["wiz.data.default"]      = ["Percorso predefinito:",                                             "Default path:",                "Ruta predeterminada:",                 "Chemin par défaut :",                      "Caminho padrão:",                          "Standardpfad:",                                 "默认路径："],
        ["wiz.data.usedefault"]   = ["Usa il percorso predefinito",                                       "Use the default path",         "Usar la ruta predeterminada",          "Utiliser le chemin par défaut",            "Usar o caminho padrão",                    "Standardpfad verwenden",                       "使用默认路径"],
        ["wiz.data.choose"]       = ["Scegli una cartella…",                                              "Choose a folder…",             "Elegir una carpeta…",                  "Choisir un dossier…",                      "Escolher uma pasta…",                      "Ordner wählen…",                               "选择文件夹…"],
        ["wiz.choose.title"]      = ["Scegli il wallet da aprire",                                        "Choose the wallet to open",    "Elige el wallet a abrir",              "Choisissez le wallet à ouvrir",            "Escolha a carteira a abrir",               "Wallet zum Öffnen wählen",                     "选择要打开的钱包"],
        ["wiz.open.btn"]          = ["Apri il wallet esistente",                                          "Open existing wallet",         "Abrir wallet existente",               "Ouvrir le wallet existant",                "Abrir carteira existente",                 "Vorhandenes Wallet öffnen",                    "打开现有钱包"],
        ["wiz.new.btn"]           = ["Crea un nuovo wallet",                                              "Create a new wallet",          "Crear nuevo wallet",                   "Créer un nouveau wallet",                  "Criar nova carteira",                      "Neues Wallet erstellen",                       "创建新钱包"],
        ["wiz.restore.btn"]       = ["Ripristina da seed",                                                "Restore from seed",            "Restaurar desde semilla",              "Restaurer depuis la graine",               "Restaurar da semente",                     "Aus Seed wiederherstellen",                    "从种子恢复"],
        ["wiz.importxkey.btn"]    = ["Importa xpub / xprv",                                               "Import xpub / xprv",           "Importar xpub / xprv",                 "Importer xpub / xprv",                     "Importar xpub / xprv",                     "xpub / xprv importieren",                      "导入 xpub / xprv"],
        ["wiz.importwif.btn"]     = ["Importa chiave WIF",                                                 "Import WIF key",               "Importar clave WIF",                   "Importer clé WIF",                         "Importar chave WIF",                       "WIF-Schlüssel importieren",                    "导入 WIF 密钥"],
        ["wiz.importaddress.btn"] = ["Importa indirizzo (sola lettura)",                                   "Import address (watch-only)",  "Importar dirección (solo lectura)",    "Importer une adresse (lecture seule)",     "Importar endereço (somente leitura)",      "Adresse importieren (nur lesend)",             "导入地址（仅观察）"],
        ["wiz.open.title"]        = ["Apri il wallet",                                                    "Open the wallet",              "Abrir el wallet",                      "Ouvrir le wallet",                         "Abrir a carteira",                         "Wallet öffnen",                                "打开钱包"],
        ["wiz.open.placeholder"]  = ["Password del file (vuoto se non impostata)",                        "File password (empty if not set)", "Contraseña del archivo (vacío si no establecida)", "Mot de passe du fichier (vide si non défini)", "Senha do arquivo (vazio se não definida)", "Dateipasswort (leer lassen, wenn nicht gesetzt)", "文件密码（未设置则留空）"],
        ["wiz.open.ok"]           = ["Apri",                                                              "Open",                         "Abrir",                                "Ouvrir",                                   "Abrir",                                    "Öffnen",                                        "打开"],
        ["wiz.seed.title"]        = ["Il tuo seed (12 parole)",                                           "Your seed (12 words)",         "Tu semilla (12 palabras)",             "Votre graine (12 mots)",                   "Sua semente (12 palavras)",                "Ihr Seed (12 Wörter)",                         "您的种子（12 个单词）"],
        ["wiz.seed.warning"]      = [
            "Scrivi le parole su carta, nell'ordine. Chi le possiede controlla i fondi; se le perdi, i fondi sono irrecuperabili.",
            "Write the words on paper, in order. Whoever holds them controls the funds; if you lose them, funds are unrecoverable.",
            "Escribe las palabras en papel, en orden. Quien las posea controla los fondos; si las pierdes, los fondos son irrecuperables.",
            "Écrivez les mots sur papier, dans l'ordre. Celui qui les possède contrôle les fonds ; si vous les perdez, les fonds sont irrécupérables.",
            "Escreva as palavras no papel, em ordem. Quem as possuir controla os fundos; se as perder, os fundos são irrecuperáveis.",
            "Schreiben Sie die Wörter auf Papier, in der richtigen Reihenfolge. Wer sie besitzt, kontrolliert die Gelder; wenn Sie sie verlieren, sind die Gelder unwiederbringlich verloren.",
            "请按顺序将这些单词写在纸上。持有这些单词的人即可控制资金；一旦丢失，资金将无法找回。"],
        ["wiz.seed.next"]         = ["Le ho scritte — Avanti",                                            "I wrote them down — Next",     "Las anoté — Siguiente",                "Je les ai notés — Suivant",                "Eu as anotei — Próximo",                   "Ich habe sie notiert — Weiter",                "已记录 — 下一步"],
        ["wiz.confirm.title"]     = ["Conferma il seed",                                                  "Confirm the seed",             "Confirmar la semilla",                 "Confirmer la graine",                      "Confirmar a semente",                      "Seed bestätigen",                              "确认种子"],
        ["wiz.confirm.placeholder"] = ["Reinserisci le 12 parole separate da spazi",                     "Re-enter the 12 words separated by spaces", "Reingresa las 12 palabras separadas por espacios", "Ressaisissez les 12 mots séparés par des espaces", "Reinsira as 12 palavras separadas por espaços", "12 Wörter durch Leerzeichen getrennt erneut eingeben", "重新输入以空格分隔的 12 个单词"],
        ["wiz.words.title"]       = ["Ripristina da seed",                                                "Restore from seed",            "Restaurar desde semilla",              "Restaurer depuis la graine",               "Restaurar da semente",                     "Aus Seed wiederherstellen",                    "从种子恢复"],
        ["wiz.words.placeholder"] = ["Mnemonica BIP39 (12 o 24 parole separate da spazi)",               "BIP39 mnemonic (12 or 24 words separated by spaces)", "Mnemónico BIP39 (12 o 24 palabras separadas por espacios)", "Mnémonique BIP39 (12 ou 24 mots séparés par des espaces)", "Mnemônico BIP39 (12 ou 24 palavras separadas por espaços)", "BIP39-Mnemonic (12 oder 24 durch Leerzeichen getrennte Wörter)", "BIP39 助记词（12 或 24 个单词，以空格分隔）"],
        ["wiz.passphrase.title"]  = ["Passphrase opzionale",                                              "Optional passphrase",          "Frase de contraseña opcional",         "Phrase de passe optionnelle",              "Frase-senha opcional",                     "Optionale Passphrase",                         "可选密码短语"],
        ["wiz.passphrase.placeholder"] = ["Lascia vuoto per non usarla",                                  "Leave empty to skip",          "Deja vacío para omitir",               "Laisser vide pour ignorer",                "Deixe vazio para ignorar",                 "Leer lassen zum Überspringen",                 "留空以跳过"],
        ["wiz.name.label"]        = ["Nome wallet (opzionale)",                                           "Wallet name (optional)",       "Nombre del wallet (opcional)",         "Nom du wallet (optionnel)",                "Nome da carteira (opcional)",              "Wallet-Name (optional)",                       "钱包名称（可选）"],
        ["wiz.name.placeholder"]  = ["es. risparmio, trading… (lascia vuoto per nome automatico)",        "e.g. savings, trading… (leave blank for auto name)", "p.ej. ahorro, trading… (deja en blanco para nombre automático)", "ex. épargne, trading… (laisser vide pour nom automatique)", "ex. poupança, trading… (deixe em branco para nome automático)", "z.B. Sparen, Trading… (leer lassen für automatischen Namen)", "例如：储蓄、交易…（留空则自动命名）"],
        ["msg.wallet.exists"]     = ["Esiste già un wallet con questo nome. Scegli un nome diverso.",      "A wallet with this name already exists. Choose a different name.", "Ya existe un wallet con este nombre. Elige un nombre diferente.", "Un wallet avec ce nom existe déjà. Choisissez un nom différent.", "Já existe uma carteira com este nome. Escolha um nome diferente.", "Ein Wallet mit diesem Namen existiert bereits. Wähle einen anderen Namen.", "已存在同名钱包，请选择其他名称。"],
        ["wiz.password.title"]    = ["Password del file wallet",                                          "Wallet file password",         "Contraseña del archivo wallet",        "Mot de passe du fichier wallet",           "Senha do arquivo da carteira",             "Wallet-Dateipasswort",                         "钱包文件密码"],
        ["wiz.password.placeholder"] = ["Consigliata (vuoto = file in chiaro su disco)",                 "Recommended (empty = plaintext file on disk)", "Recomendada (vacío = archivo en texto claro en disco)", "Recommandé (vide = fichier en texte clair sur disque)", "Recomendada (vazio = arquivo em texto simples no disco)", "Empfohlen (leer = Klartextdatei auf Disk)", "建议设置（留空 = 文件在磁盘上以明文保存）"],
        ["wiz.password.create"]   = ["Crea il wallet",                                                    "Create wallet",                "Crear wallet",                         "Créer le wallet",                          "Criar carteira",                           "Wallet erstellen",                             "创建钱包"],
        ["wiz.password.confirm"]  = ["Ripeti la password",                                                "Repeat the password",          "Repite la contraseña",                 "Répétez le mot de passe",                  "Repita a senha",                           "Passwort wiederholen",                         "重复密码"],
        ["wiz.password.encrypt"]  = ["Cifra il file wallet con la password",                              "Encrypt the wallet file with the password", "Cifrar el archivo wallet con la contraseña", "Chiffrer le fichier wallet avec le mot de passe", "Criptografar o arquivo da carteira com a senha", "Wallet-Datei mit dem Passwort verschlüsseln", "使用密码加密钱包文件"],
        ["wiz.password.encrypt.hint"] = [
            "Attenzione: senza cifratura il seed resta in chiaro sul disco.",
            "Warning: without encryption the seed stays in plaintext on disk.",
            "Atención: sin cifrado la semilla queda en texto claro en el disco.",
            "Attention : sans chiffrement, la graine reste en clair sur le disque.",
            "Atenção: sem criptografia a semente fica em texto simples no disco.",
            "Achtung: ohne Verschlüsselung bleibt der Seed im Klartext auf der Festplatte.",
            "警告：不加密的话，种子将以明文形式保存在磁盘上。"],
        ["wiz.back"]              = ["Indietro",                                                          "Back",                         "Atrás",                                "Retour",                                   "Voltar",                                   "Zurück",                                        "返回"],
        ["wiz.next"]              = ["Avanti",                                                            "Next",                         "Siguiente",                            "Suivant",                                  "Próximo",                                  "Weiter",                                        "下一步"],
        ["wiz.scripttype.title"]  = ["Tipo di script e indirizzi",                                       "Script type and addresses",    "Tipo de script y direcciones",         "Type de script et adresses",               "Tipo de script e endereços",               "Skripttyp und Adressen",                       "脚本类型和地址"],
        ["wiz.scripttype.hint"]   = [
            "Determina il formato degli indirizzi. Se non sai cosa scegliere, usa Native SegWit.",
            "Determines the address format. If unsure, use Native SegWit.",
            "Determina el formato de los direcciones. Si no sabes, usa Native SegWit.",
            "Détermine le format des adresses. En cas de doute, utilisez Native SegWit.",
            "Determina o formato dos endereços. Em caso de dúvida, use Native SegWit.",
            "Bestimmt das Adressformat. Wenn Sie unsicher sind, verwenden Sie Native SegWit.",
            "决定地址格式。如果不确定，请使用原生隔离见证（Native SegWit）。"],
        ["wiz.scripttype.legacy.desc"]  = ["BIP44 · m/44'/… · indirizzi P",  "BIP44 · m/44'/… · P addresses",  "BIP44 · m/44'/… · direcciones P",  "BIP44 · m/44'/… · adresses P",  "BIP44 · m/44'/… · endereços P",  "BIP44 · m/44'/… · P-Adressen",  "BIP44 · m/44'/… · P 地址"],
        ["wiz.scripttype.wrapped.desc"] = ["BIP49 · m/49'/… · indirizzi 3",  "BIP49 · m/49'/… · 3 addresses",  "BIP49 · m/49'/… · direcciones 3",  "BIP49 · m/49'/… · adresses 3",  "BIP49 · m/49'/… · endereços 3",  "BIP49 · m/49'/… · 3-Adressen",  "BIP49 · m/49'/… · 3 地址"],
        ["wiz.scripttype.native.desc"]  = ["BIP84 · m/84'/… · indirizzi plm1q — consigliato", "BIP84 · m/84'/… · plm1q addresses — recommended", "BIP84 · m/84'/… · direcciones plm1q — recomendado", "BIP84 · m/84'/… · adresses plm1q — recommandé", "BIP84 · m/84'/… · endereços plm1q — recomendado", "BIP84 · m/84'/… · plm1q-Adressen — empfohlen", "BIP84 · m/84'/… · plm1q 地址 — 推荐"],
        ["wiz.scripttype.taproot.desc"] = ["BIP86 · m/86'/… · indirizzi plm1p", "BIP86 · m/86'/… · plm1p addresses", "BIP86 · m/86'/… · direcciones plm1p", "BIP86 · m/86'/… · adresses plm1p", "BIP86 · m/86'/… · endereços plm1p", "BIP86 · m/86'/… · plm1p-Adressen", "BIP86 · m/86'/… · plm1p 地址"],
        ["wiz.importxkey.title"]  = ["Importa chiave estesa",                                              "Import extended key",          "Importar clave extendida",             "Importer la clé étendue",                  "Importar chave estendida",                 "Erweiterten Schlüssel importieren",            "导入扩展密钥"],
        ["wiz.importxkey.hint"]   = [
            "Incolla una xpub/zpub/ypub (watch-only) o xprv/zprv/yprv (spendibile). Il tipo di script viene rilevato automaticamente.",
            "Paste an xpub/zpub/ypub (watch-only) or xprv/zprv/yprv (spendable). The script type is detected automatically.",
            "Pega un xpub/zpub/ypub (solo lectura) o xprv/zprv/yprv (gastable). El tipo de script se detecta automáticamente.",
            "Collez un xpub/zpub/ypub (lecture seule) ou xprv/zprv/yprv (dépensable). Le type de script est détecté automatiquement.",
            "Cole um xpub/zpub/ypub (somente leitura) ou xprv/zprv/yprv (gastável). O tipo de script é detectado automaticamente.",
            "Fügen Sie einen xpub/zpub/ypub (nur lesend) oder xprv/zprv/yprv (ausgabefähig) ein. Der Skripttyp wird automatisch erkannt.",
            "粘贴 xpub/zpub/ypub（仅观察）或 xprv/zprv/yprv（可花费）。脚本类型将自动识别。"],
        ["wiz.importxkey.placeholder"] = ["xpub… / zpub… / ypub… / xprv… / zprv…",                       "xpub… / zpub… / ypub… / xprv… / zprv…", "xpub… / zpub… / ypub… / xprv… / zprv…", "xpub… / zpub… / ypub… / xprv… / zprv…", "xpub… / zpub… / ypub… / xprv… / zprv…", "xpub… / zpub… / ypub… / xprv… / zprv…", "xpub… / zpub… / ypub… / xprv… / zprv…"],
        ["wiz.importwif.title"]   = ["Importa chiave privata WIF",                                         "Import WIF private key",       "Importar clave privada WIF",           "Importer la clé privée WIF",               "Importar chave privada WIF",               "WIF-Privatschlüssel importieren",              "导入 WIF 私钥"],
        ["wiz.importwif.hint"]    = [
            "Incolla una o più chiavi WIF (una per riga). Puoi importare più chiavi per controllare più indirizzi con lo stesso wallet.",
            "Paste one or more WIF keys (one per line). You can import multiple keys to control multiple addresses with the same wallet.",
            "Pega una o más claves WIF (una por línea). Puedes importar múltiples claves para controlar múltiples direcciones con el mismo wallet.",
            "Collez une ou plusieurs clés WIF (une par ligne). Vous pouvez importer plusieurs clés pour contrôler plusieurs adresses avec le même wallet.",
            "Cole uma ou mais chaves WIF (uma por linha). Você pode importar várias chaves para controlar vários endereços com a mesma carteira.",
            "Fügen Sie einen oder mehrere WIF-Schlüssel ein (einer pro Zeile). Sie können mehrere Schlüssel importieren, um mehrere Adressen mit demselben Wallet zu verwalten.",
            "粘贴一个或多个 WIF 密钥（每行一个）。您可以导入多个密钥，用同一个钱包控制多个地址。"],
        ["wiz.importwif.placeholder"] = ["K… / L… / 5… (una chiave per riga)",                            "K… / L… / 5… (one key per line)", "K… / L… / 5… (una clave por línea)", "K… / L… / 5… (une clé par ligne)", "K… / L… / 5… (uma chave por linha)", "K… / L… / 5… (ein Schlüssel pro Zeile)", "K… / L… / 5…（每行一个密钥）"],
        ["wiz.importaddress.title"]   = ["Importa indirizzi in sola lettura",                              "Import watch-only addresses",  "Importar direcciones de solo lectura", "Importer des adresses en lecture seule",   "Importar endereços somente leitura",       "Nur-Lese-Adressen importieren",                "导入仅观察地址"],
        ["wiz.importaddress.hint"]    = [
            "Incolla uno o più indirizzi (uno per riga). Nessuna chiave privata è coinvolta: potrai vedere saldo e cronologia ma non potrai mai firmare o inviare transazioni da questo wallet.",
            "Paste one or more addresses (one per line). No private key is involved: you'll be able to see the balance and history but you can never sign or send transactions from this wallet.",
            "Pega una o más direcciones (una por línea). No hay ninguna clave privada involucrada: podrás ver el saldo y el historial, pero nunca podrás firmar ni enviar transacciones desde este wallet.",
            "Collez une ou plusieurs adresses (une par ligne). Aucune clé privée n'est impliquée : vous pourrez voir le solde et l'historique, mais vous ne pourrez jamais signer ni envoyer de transactions depuis ce wallet.",
            "Cole um ou mais endereços (um por linha). Nenhuma chave privada está envolvida: você poderá ver o saldo e o histórico, mas nunca poderá assinar ou enviar transações a partir desta carteira.",
            "Fügen Sie eine oder mehrere Adressen ein (eine pro Zeile). Es ist kein privater Schlüssel beteiligt: Sie können den Kontostand und den Verlauf sehen, aber nie Transaktionen aus diesem Wallet signieren oder senden.",
            "粘贴一个或多个地址（每行一个）。不涉及任何私钥：您可以查看余额和历史记录，但永远无法从此钱包签名或发送交易。"],
        ["wiz.importaddress.placeholder"] = ["Indirizzo… (uno per riga)",                                  "Address… (one per line)", "Dirección… (una por línea)", "Adresse… (une par ligne)", "Endereço… (um por linha)", "Adresse… (eine pro Zeile)", "地址…（每行一个）"],

        // Import error messages
        ["msg.xkey.required"]     = ["Incolla una chiave estesa (xpub/xprv o variante).",                  "Paste an extended key (xpub/xprv or variant).", "Pega una clave extendida (xpub/xprv o variante).", "Collez une clé étendue (xpub/xprv ou variante).", "Cole uma chave estendida (xpub/xprv ou variante).", "Fügen Sie einen erweiterten Schlüssel ein (xpub/xprv oder Variante).", "请粘贴扩展密钥（xpub/xprv 或其变体）。"],
        ["msg.xkey.invalid"]      = ["Chiave estesa non riconosciuta per questa rete.",                     "Extended key not recognised for this network.", "Clave extendida no reconocida para esta red.", "Clé étendue non reconnue pour ce réseau.", "Chave estendida não reconhecida para esta rede.", "Erweiterter Schlüssel für dieses Netzwerk nicht erkannt.", "此网络无法识别该扩展密钥。"],
        ["msg.wif.required"]      = ["Incolla almeno una chiave WIF.",                                      "Paste at least one WIF key.",  "Pega al menos una clave WIF.",         "Collez au moins une clé WIF.",             "Cole pelo menos uma chave WIF.",           "Fügen Sie mindestens einen WIF-Schlüssel ein.", "请至少粘贴一个 WIF 密钥。"],
        ["msg.wif.invalid"]       = ["Chiave WIF non valida per questa rete.",                              "WIF key not valid for this network.", "Clave WIF no válida para esta red.", "Clé WIF invalide pour ce réseau.",        "Chave WIF inválida para esta rede.",       "WIF-Schlüssel für dieses Netzwerk ungültig.", "该 WIF 密钥对此网络无效。"],
        ["msg.address.required"]  = ["Incolla almeno un indirizzo.",                                       "Paste at least one address.",  "Pega al menos una dirección.",        "Collez au moins une adresse.",             "Cole pelo menos um endereço.",             "Fügen Sie mindestens eine Adresse ein.", "请至少粘贴一个地址。"],
        ["msg.address.invalid"]   = ["Indirizzo non valido per questa rete.",                               "Address not valid for this network.", "Dirección no válida para esta red.", "Adresse invalide pour ce réseau.",        "Endereço inválido para esta rede.",        "Adresse für dieses Netzwerk ungültig.", "该地址对此网络无效。"],

        // Wallet panel
        ["wallet.close"]          = ["Chiudi wallet",                                                     "Close wallet",                 "Cerrar wallet",                        "Fermer le wallet",                         "Fechar carteira",                          "Wallet schließen",                             "关闭钱包"],
        ["wallet.server"]         = ["Server:",                                                           "Server:",                      "Servidor:",                            "Serveur :",                                "Servidor:",                                "Server:",                                       "服务器："],
        ["wallet.connect"]        = ["Connetti",                                                          "Connect",                       "Conectar",                             "Connecter",                                "Conectar",                                  "Verbinden",                                     "连接"],
        ["wallet.manual"]         = ["oppure host:porta manuale",                                         "or manual host:port",          "o host:puerto manual",                 "ou hôte:port manuel",                      "ou host:porta manual",                     "oder manuell host:port",                       "或手动输入 host:port"],
        ["wallet.discover"]       = ["Sincronizza",                                                       "Sync servers",                  "Sincronizar",                          "Synchroniser",                             "Sincronizar",                              "Synchronisieren",                              "同步服务器"],
        ["wallet.resetcert"]      = ["Reset cert.",                                                       "Reset certs",                  "Restablecer cert.",                    "Réinit. cert.",                            "Redefinir cert.",                          "Zert. zurücksetzen",                           "重置证书"],
        ["tab.receive"]           = ["Ricevi",                                                            "Receive",                      "Recibir",                              "Recevoir",                                 "Receber",                                  "Empfangen",                                     "接收"],
        ["tab.history"]           = ["Storico",                                                            "History",                      "Historial",                            "Historique",                               "Histórico",                                "Verlauf",                                       "历史"],
        ["tab.addresses"]         = ["Indirizzi",                                                         "Addresses",                    "Direcciones",                          "Adresses",                                 "Endereços",                                "Adressen",                                      "地址"],
        ["tab.send"]              = ["Invia",                                                             "Send",                         "Enviar",                               "Envoyer",                                  "Enviar",                                   "Senden",                                        "发送"],
        ["tab.contacts"]          = ["Contatti",                                                          "Contacts",                     "Contactos",                            "Contacts",                                 "Contatos",                                 "Kontakte",                                      "联系人"],
        ["receive.next"]          = ["Prossimo indirizzo non usato:",                                     "Next unused address:",         "Próxima dirección no usada:",          "Prochaine adresse non utilisée :",         "Próximo endereço não usado:",               "Nächste ungenutzte Adresse:",                  "下一个未使用地址："],
        ["receive.copy"]          = ["Copia",                                                             "Copy",                         "Copiar",                               "Copier",                                   "Copiar",                                   "Kopieren",                                      "复制"],
        ["receive.hint"]          = [
            "Ogni pagamento ricevuto qui comparirà nello storico alla prossima sincronizzazione.",
            "Payments received here will appear in the history at the next synchronization.",
            "Los pagos recibidos aquí aparecerán en el historial en la próxima sincronización.",
            "Les paiements reçus ici apparaîtront dans l'historique à la prochaine synchronisation.",
            "Os pagamentos recebidos aqui aparecerão no histórico na próxima sincronização.",
            "Hier empfangene Zahlungen erscheinen beim nächsten Synchronisieren im Verlauf.",
            "在此收到的付款将在下次同步时出现在历史记录中。"],
        ["addr.type"]             = ["Tipo",                                                              "Type",                         "Tipo",                                 "Type",                                     "Tipo",                                     "Typ",                                           "类型"],
        ["addr.index"]            = ["Indice",                                                            "Index",                        "Índice",                               "Index",                                    "Índice",                                   "Index",                                         "索引"],
        ["addr.address"]          = ["Indirizzo",                                                         "Address",                      "Dirección",                            "Adresse",                                  "Endereço",                                 "Adresse",                                       "地址"],
        ["addr.balance"]          = ["Saldo",                                                             "Balance",                      "Saldo",                                "Solde",                                    "Saldo",                                    "Saldo",                                         "余额"],
        ["addr.copied"]           = ["Indirizzo copiato negli appunti",                                   "Address copied to clipboard",  "Dirección copiada al portapapeles",    "Adresse copiée dans le presse-papiers",    "Endereço copiado para a área de transferência", "Adresse in die Zwischenablage kopiert",   "地址已复制到剪贴板"],
        ["addr.derivpath"]        = ["Percorso di derivazione:",                                          "Derivation path:",             "Ruta de derivación:",                  "Chemin de dérivation :",                   "Caminho de derivação:",                    "Ableitungspfad:",                              "派生路径："],
        ["addr.pubkey"]           = ["Chiave pubblica:",                                                  "Public key:",                  "Clave pública:",                       "Clé publique :",                           "Chave pública:",                           "Öffentlicher Schlüssel:",                      "公钥："],
        ["addr.privkey"]          = ["Chiave privata (WIF):",                                             "Private key (WIF):",           "Clave privada (WIF):",                 "Clé privée (WIF) :",                       "Chave privada (WIF):",                     "Privater Schlüssel (WIF):",                    "私钥（WIF）："],
        ["addr.show.privkey"]     = ["Mostra",                                                            "Show",                         "Mostrar",                              "Afficher",                                 "Mostrar",                                  "Anzeigen",                                      "显示"],
        ["addr.privkey.prompt.title"] = ["Conferma identità",                                           "Confirm identity",             "Confirmar identidad",                  "Confirmer l'identité",                     "Confirmar identidade",                     "Identität bestätigen",                         "确认身份"],
        ["addr.privkey.prompt.desc"]  = ["Inserisci la password del wallet per visualizzare la chiave privata.", "Enter the wallet password to reveal the private key.", "Ingresa la contraseña del wallet para ver la clave privada.", "Entrez le mot de passe du wallet pour afficher la clé privée.", "Digite a senha da carteira para ver a chave privada.", "Geben Sie das Wallet-Passwort ein, um den privaten Schlüssel anzuzeigen.", "输入钱包密码以显示私钥。"],
        ["addr.hide.privkey"]     = ["Nascondi",                                                          "Hide",                         "Ocultar",                              "Masquer",                                  "Ocultar",                                  "Ausblenden",                                    "隐藏"],
        ["addr.receive"]          = ["ricezione",                                                         "receive",                      "recepción",                            "réception",                                "recebimento",                              "Empfang",                                       "接收"],
        ["addr.change"]           = ["change",                                                            "change",                       "cambio",                               "monnaie",                                  "troco",                                    "Wechselgeld",                                   "找零"],
        ["addr.info.title"]       = ["Informazioni indirizzo",                                          "Address information",          "Información de dirección",             "Informations sur l'adresse",               "Informações do endereço",                  "Adressinformationen",                          "地址信息"],
        ["addr.close"]            = ["Chiudi",                                                          "Close",                        "Cerrar",                               "Fermer",                                   "Fechar",                                   "Schließen",                                     "关闭"],

        // History → transaction detail
        ["history.hint"]          = ["Doppio click su una transazione per i dettagli.",                  "Double-click a transaction for details.", "Doble clic en una transacción para ver los detalles.", "Double-cliquez sur une transaction pour les détails.", "Clique duplo numa transação para ver os detalhes.", "Doppelklick auf eine Transaktion für Details.", "双击某笔交易可查看详情。"],
        ["tx.title"]              = ["Dettagli transazione",                                            "Transaction details",          "Detalles de la transacción",           "Détails de la transaction",                "Detalhes da transação",                    "Transaktionsdetails",                          "交易详情"],
        ["tx.close"]              = ["Chiudi",                                                          "Close",                        "Cerrar",                               "Fermer",                                   "Fechar",                                   "Schließen",                                     "关闭"],
        ["tx.loading"]            = ["Carico i dati della transazione dal server…",                     "Loading transaction data from the server…", "Cargando los datos de la transacción desde el servidor…", "Chargement des données de la transaction depuis le serveur…", "Carregando os dados da transação do servidor…", "Lade Transaktionsdaten vom Server…", "正在从服务器加载交易数据…"],
        ["tx.status"]             = ["Stato",                                                           "Status",                       "Estado",                               "Statut",                                   "Estado",                                   "Status",                                        "状态"],
        ["tx.status.mempool"]     = ["0 conferme · in mempool",                                         "0 confirmations · in mempool", "0 confirmaciones · en mempool",        "0 confirmation · dans le mempool",         "0 confirmações · no mempool",              "0 Bestätigungen · im Mempool",                 "0 次确认 · 在内存池中"],
        ["tx.status.confirmations"] = ["conferme",                                                      "confirmations",                "confirmaciones",                       "confirmations",                            "confirmações",                             "Bestätigungen",                                "次确认"],
        ["tx.status.block"]       = ["blocco",                                                          "block",                        "bloque",                               "bloc",                                     "bloco",                                    "Block",                                         "区块"],
        ["tx.mempool"]            = ["in mempool",                                                      "in mempool",                   "en mempool",                           "dans le mempool",                          "no mempool",                               "im Mempool",                                    "在内存池中"],
        ["tx.date"]               = ["Data",                                                            "Date",                         "Fecha",                                "Date",                                     "Data",                                     "Datum",                                         "日期"],
        ["tx.to"]                 = ["A",                                                               "To",                           "Para",                                 "À",                                        "Para",                                     "An",                                            "至"],
        ["tx.from"]               = ["Da",                                                              "From",                         "De",                                   "De",                                       "De",                                       "Von",                                           "来自"],
        ["tx.debit"]              = ["Debito",                                                          "Debit",                        "Débito",                               "Débit",                                    "Débito",                                   "Soll",                                          "支出"],
        ["tx.credit"]             = ["Credito",                                                         "Credit",                       "Crédito",                              "Crédit",                                   "Crédito",                                  "Haben",                                         "收入"],
        ["tx.fee"]                = ["Fee transazione",                                                 "Transaction fee",              "Comisión de transacción",              "Frais de transaction",                     "Taxa da transação",                        "Transaktionsgebühr",                           "交易手续费"],
        ["tx.feerate"]            = ["Fee per vByte",                                                   "Fee per vByte",                "Comisión por vByte",                   "Frais par vOctet",                         "Taxa por vByte",                           "Gebühr pro vByte",                             "每虚拟字节手续费"],
        ["tx.net"]                = ["Importo netto",                                                   "Net amount",                   "Importe neto",                         "Montant net",                              "Valor líquido",                            "Nettobetrag",                                   "净额"],
        ["tx.id"]                 = ["ID transazione",                                                  "Transaction ID",               "ID de transacción",                    "ID de transaction",                        "ID da transação",                          "Transaktions-ID",                              "交易 ID"],
        ["tx.size.total"]         = ["Dimensione totale",                                              "Total size",                   "Tamaño total",                         "Taille totale",                            "Tamanho total",                            "Gesamtgröße",                                   "总大小"],
        ["tx.size.virtual"]       = ["Dimensione virtuale",                                            "Virtual size",                 "Tamaño virtual",                       "Taille virtuelle",                         "Tamanho virtual",                          "Virtuelle Größe",                              "虚拟大小"],
        ["tx.rbf"]                = ["Sostituibile (RBF)",                                              "Replaceable (RBF)",            "Reemplazable (RBF)",                   "Remplaçable (RBF)",                        "Substituível (RBF)",                       "Ersetzbar (RBF)",                              "可替换（RBF）"],
        ["tx.inputs"]             = ["Input",                                                           "Inputs",                       "Entradas",                             "Entrées",                                  "Entradas",                                 "Eingänge",                                      "输入"],
        ["tx.outputs"]            = ["Output",                                                          "Outputs",                      "Salidas",                              "Sorties",                                  "Saídas",                                   "Ausgänge",                                      "输出"],
        ["tx.yes"]                = ["Sì",                                                              "Yes",                          "Sí",                                   "Oui",                                      "Sim",                                      "Ja",                                            "是"],
        ["tx.no"]                 = ["No",                                                              "No",                           "No",                                   "Non",                                      "Não",                                      "Nein",                                          "否"],
        ["tx.needconnection"]     = ["Connettiti al server per vedere i dettagli della transazione.",   "Connect to the server to view transaction details.", "Conéctate al servidor para ver los detalles de la transacción.", "Connectez-vous au serveur pour voir les détails de la transaction.", "Conecte-se ao servidor para ver os detalhes da transação.", "Mit dem Server verbinden, um die Transaktionsdetails zu sehen.", "连接服务器以查看交易详情。"],
        ["tx.sect.overview"]      = ["Panoramica",                                                       "Overview",                     "Resumen",                              "Aperçu",                                   "Visão geral",                              "Übersicht",                                     "概览"],
        ["tx.sect.amounts"]       = ["Importi e commissioni",                                            "Amounts & fees",               "Importes y comisiones",                "Montants et frais",                        "Valores e taxas",                          "Beträge & Gebühren",                           "金额与手续费"],
        ["tx.sect.tech"]          = ["Dettagli tecnici",                                                 "Technical details",            "Detalles técnicos",                    "Détails techniques",                       "Detalhes técnicos",                        "Technische Details",                           "技术详情"],
        ["tx.coinbase"]           = ["Coinbase",                                                        "Coinbase",                     "Coinbase",                             "Coinbase",                                 "Coinbase",                                 "Coinbase",                                      "创币交易"],
        ["tx.coinbase.newcoins"]  = ["Nuova emissione (mining)",                                         "Newly generated (mining)",     "Nueva emisión (minería)",              "Nouvelle émission (minage)",               "Nova emissão (mineração)",                 "Neu erzeugt (Mining)",                         "新生成（挖矿）"],
        ["send.from.contact"]     = ["Da contatti:",                                                      "From contacts:",               "De contactos:",                        "Depuis les contacts :",                    "De contatos:",                             "Aus Kontakten:",                               "来自联系人："],
        ["send.contact.hint"]     = ["seleziona per riempire l'indirizzo",                                "select to fill address",       "selecciona para rellenar la dirección", "sélectionner pour remplir l'adresse",      "selecione para preencher o endereço",      "auswählen um Adresse einzufügen",              "选择以填充地址"],
        ["send.to"]               = ["Indirizzo destinatario",                                            "Recipient address",            "Dirección destinataria",               "Adresse du destinataire",                  "Endereço do destinatário",                 "Empfängeradresse",                             "收款地址"],
        ["send.amount"]           = ["Importo",                                                           "Amount",                       "Importe",                              "Montant",                                  "Valor",                                    "Betrag",                                        "金额"],
        ["send.all"]              = ["Invia tutto",                                                       "Send all",                     "Enviar todo",                          "Tout envoyer",                             "Enviar tudo",                              "Alles senden",                                 "全部发送"],
        ["send.feerate"]          = ["fee sat/vB:",                                                       "fee sat/vB:",                  "tarifa sat/vB:",                       "frais sat/vB :",                           "taxa sat/vB:",                             "Gebühr sat/vB:",                               "手续费 sat/vB："],
        ["send.prepare"]          = ["Prepara transazione",                                               "Prepare transaction",          "Preparar transacción",                 "Préparer la transaction",                  "Preparar transação",                       "Transaktion vorbereiten",                      "准备交易"],
        ["send.scan"]             = ["Scansiona QR",                                                      "Scan QR",                      "Escanear QR",                          "Scanner QR",                               "Escanear QR",                              "QR scannen",                                    "扫描二维码"],
        ["send.confirm"]          = ["CONFERMA E TRASMETTI",                                              "CONFIRM AND BROADCAST",        "CONFIRMAR Y TRANSMITIR",               "CONFIRMER ET DIFFUSER",                    "CONFIRMAR E TRANSMITIR",                   "BESTÄTIGEN UND SENDEN",                        "确认并广播"],
        ["send.sect.recipient"]   = ["Destinatario",                                                       "Recipient",                    "Destinatario",                         "Destinataire",                             "Destinatário",                             "Empfänger",                                     "收款人"],
        ["send.sect.amount"]      = ["Importo e commissione",                                              "Amount & fee",                 "Importe y comisión",                   "Montant et frais",                         "Valor e taxa",                             "Betrag & Gebühr",                              "金额与手续费"],
        ["send.summary"]          = ["Riepilogo",                                                          "Summary",                      "Resumen",                              "Résumé",                                   "Resumo",                                   "Zusammenfassung",                              "摘要"],
        ["send.psbt.label"]       = ["PSBT non firmata (base64) — da firmare altrove",                    "Unsigned PSBT (base64) — sign it elsewhere", "PSBT sin firmar (base64) — fírmala en otro lugar", "PSBT non signée (base64) — à signer ailleurs", "PSBT não assinada (base64) — assine em outro lugar", "Unsignierte PSBT (base64) — anderswo signieren", "未签名 PSBT（base64）— 请在别处签名"],
        ["send.psbt.copy"]        = ["Copia PSBT",                                                        "Copy PSBT",                    "Copiar PSBT",                          "Copier la PSBT",                           "Copiar PSBT",                               "PSBT kopieren",                                 "复制 PSBT"],
        ["send.watchonly.hint"]   = ["Wallet in sola lettura: non può firmare. Esporta la PSBT e firmala con un wallet che possiede le chiavi.", "Watch-only wallet: it cannot sign. Export the PSBT and sign it with a wallet that holds the keys.", "Wallet de solo lectura: no puede firmar. Exporta la PSBT y fírmala con un wallet que tenga las claves.", "Wallet en lecture seule : il ne peut pas signer. Exportez la PSBT et signez-la avec un wallet possédant les clés.", "Carteira somente leitura: não pode assinar. Exporte a PSBT e assine-a com uma carteira que tenha as chaves.", "Nur-Lese-Wallet: kann nicht signieren. Exportieren Sie die PSBT und signieren Sie sie mit einem Wallet, das die Schlüssel besitzt.", "仅观察钱包：无法签名。请导出 PSBT 并用持有密钥的钱包签名。"],
        ["psbt.copied"]           = ["PSBT copiata negli appunti",                                          "PSBT copied to clipboard",     "PSBT copiada al portapapeles",         "PSBT copiée dans le presse-papiers",       "PSBT copiada para a área de transferência", "PSBT in die Zwischenablage kopiert",           "PSBT 已复制到剪贴板"],
        ["receive.your.address"]  = ["Il tuo indirizzo",                                                   "Your address",                 "Tu dirección",                         "Votre adresse",                            "Seu endereço",                             "Deine Adresse",                                "您的地址"],

        // Wallet info overlay
        ["menu.wallet"]              = ["_Wallet",                                                          "_Wallet",                      "_Wallet",                              "_Wallet",                                  "_Wallet",                                  "_Wallet",                                       "_钱包"],
        ["walletinfo.title"]         = ["Informazioni Wallet",                                              "Wallet Information",           "Información del Wallet",               "Informations Wallet",                      "Informações da Carteira",                  "Wallet-Informationen",                         "钱包信息"],
        ["walletinfo.file"]          = ["File",                                                             "File",                         "Archivo",                              "Fichier",                                  "Arquivo",                                  "Datei",                                         "文件"],
        ["walletinfo.network"]       = ["Rete",                                                             "Network",                      "Red",                                  "Réseau",                                   "Rede",                                     "Netzwerk",                                      "网络"],
        ["walletinfo.type"]          = ["Tipo wallet",                                                      "Wallet type",                  "Tipo de wallet",                       "Type de wallet",                           "Tipo de carteira",                         "Wallet-Typ",                                    "钱包类型"],
        ["walletinfo.type.seed"]     = ["HD (seed BIP39)",                                                  "HD (BIP39 seed)",              "HD (seed BIP39)",                      "HD (graine BIP39)",                        "HD (semente BIP39)",                       "HD (BIP39-Seed)",                              "HD（BIP39 种子）"],
        ["walletinfo.type.xprv"]     = ["HD (xprv importato)",                                              "HD (imported xprv)",           "HD (xprv importado)",                  "HD (xprv importé)",                        "HD (xprv importado)",                      "HD (importierter xprv)",                       "HD（已导入 xprv）"],
        ["walletinfo.type.wif"]      = ["Chiave WIF importata",                                             "Imported WIF key",             "Clave WIF importada",                  "Clé WIF importée",                         "Chave WIF importada",                      "Importierter WIF-Schlüssel",                   "已导入 WIF 密钥"],
        ["walletinfo.type.watchonly"] = ["Watch-only (xpub)",                                               "Watch-only (xpub)",            "Watch-only (xpub)",                    "Watch-only (xpub)",                        "Watch-only (xpub)",                        "Watch-only (xpub)",                            "仅观察（xpub）"],
        ["walletinfo.script"]        = ["Script",                                                           "Script",                       "Script",                               "Script",                                   "Script",                                   "Script",                                        "脚本"],
        ["walletinfo.derivpath"]     = ["Percorso derivazione",                                             "Derivation path",              "Ruta de derivación",                   "Chemin de dérivation",                     "Caminho de derivação",                     "Ableitungspfad",                               "派生路径"],
        ["walletinfo.xpub"]          = ["Chiave pubblica estesa",                                           "Extended public key",          "Clave pública extendida",              "Clé publique étendue",                     "Chave pública estendida",                  "Erweiterter öffentlicher Schlüssel",           "扩展公钥"],
        ["walletinfo.fingerprint"]   = ["Master fingerprint",                                               "Master fingerprint",           "Huella maestra",                       "Empreinte maître",                         "Impressão digital mestre",                 "Master-Fingerprint",                           "主指纹"],
        ["walletinfo.seed.section"]  = ["Seed (mnemonica BIP39)",                                           "Seed (BIP39 mnemonic)",        "Semilla (mnemónico BIP39)",            "Graine (mnémonique BIP39)",                "Semente (mnemônico BIP39)",                "Seed (BIP39-Mnemonic)",                        "种子（BIP39 助记词）"],
        ["walletinfo.seed.noseed"]   = ["Questo wallet non ha una seed (watch-only o importato).",          "This wallet has no seed (watch-only or imported).", "Este wallet no tiene seed (watch-only o importado).", "Ce wallet n'a pas de graine (watch-only ou importé).", "Esta carteira não tem semente (watch-only ou importada).", "Dieses Wallet hat keinen Seed (watch-only oder importiert).", "此钱包没有种子（仅观察或已导入）。"],
        ["walletinfo.seed.password"] = ["Password del file wallet per sbloccare il seed:",                  "Wallet file password to unlock the seed:", "Contraseña del archivo para desbloquear la seed:", "Mot de passe du fichier pour déverrouiller la graine :", "Senha do arquivo para desbloquear a semente:", "Dateipasswort zum Entsperren des Seeds:", "输入钱包文件密码以解锁种子："],
        ["walletinfo.seed.reveal"]   = ["Mostra seed",                                                      "Show seed",                    "Mostrar seed",                         "Afficher la graine",                       "Mostrar semente",                          "Seed anzeigen",                                "显示种子"],
        ["walletinfo.seed.hide"]     = ["Nascondi",                                                         "Hide",                         "Ocultar",                              "Masquer",                                  "Ocultar",                                  "Ausblenden",                                    "隐藏"],
        ["walletinfo.seed.warning"]  = [
            "Non condividere mai queste parole. Chi le possiede controlla i fondi.",
            "Never share these words. Whoever holds them controls the funds.",
            "Nunca compartas estas palabras. Quien las tenga controla los fondos.",
            "Ne partagez jamais ces mots. Celui qui les possède contrôle les fonds.",
            "Nunca compartilhe essas palavras. Quem as tiver controla os fundos.",
            "Teilen Sie diese Wörter niemals. Wer sie hat, kontrolliert die Gelder.",
            "切勿分享这些单词。持有者即可控制资金。"],
        ["walletinfo.passphrase"]    = ["Passphrase BIP39",                                                 "BIP39 passphrase",             "Frase de contraseña BIP39",            "Phrase de passe BIP39",                    "Frase-senha BIP39",                        "BIP39-Passphrase",                             "BIP39 密码短语"],
        ["walletinfo.passphrase.set"] = ["(impostata)",                                                     "(set)",                        "(establecida)",                        "(définie)",                                "(definida)",                               "(gesetzt)",                                     "（已设置）"],

        // Connection status
        ["conn.none"]             = ["non connesso",                                                      "not connected",                "no conectado",                         "non connecté",                             "não conectado",                            "nicht verbunden",                              "未连接"],
        ["conn.disconnected"]     = ["disconnesso",                                                       "disconnected",                 "desconectado",                         "déconnecté",                               "desconectado",                             "getrennt",                                      "已断开"],
        ["conn.reconnecting"]     = ["riconnessione…",                                                    "reconnecting…",                "reconectando…",                        "reconnexion…",                             "reconectando…",                            "Verbindung wird wiederhergestellt…",           "正在重新连接…"],
        ["conn.error"]            = ["errore di connessione",                                             "connection error",             "error de conexión",                    "erreur de connexion",                      "erro de conexão",                          "Verbindungsfehler",                            "连接错误"],
        ["conn.certchanged"]      = ["certificato cambiato",                                              "certificate changed",          "certificado cambiado",                 "certificat modifié",                       "certificado alterado",                     "Zertifikat geändert",                          "证书已更改"],
        ["conn.connectedto"]      = ["connesso",                                                          "connected",                    "conectado",                            "connecté",                                 "conectado",                                "verbunden",                                     "已连接"],
        ["conn.connectingto"]     = ["connessione a",                                                     "connecting to",                "conectando a",                         "connexion à",                              "conectando a",                             "Verbindung zu",                                "正在连接"],

        // Main status messages
        ["msg.welcome.existing"]  = [
            "Trovato un wallet esistente su questa rete: aprilo, oppure creane un altro.",
            "Found an existing wallet on this network: open it, or create another one.",
            "Se encontró un wallet existente en esta red: ábrelo o crea otro.",
            "Un wallet existant a été trouvé sur ce réseau : ouvrez-le ou créez-en un autre.",
            "Uma carteira existente foi encontrada nesta rede: abra-a ou crie outra.",
            "Ein vorhandenes Wallet wurde in diesem Netzwerk gefunden: öffnen Sie es oder erstellen Sie ein neues.",
            "在此网络上发现现有钱包：打开它，或创建新钱包。"],
        ["msg.welcome.new"]       = [
            "Benvenuto: crea un nuovo wallet o ripristina da seed.",
            "Welcome: create a new wallet or restore from seed.",
            "Bienvenido: crea un nuevo wallet o restaura desde semilla.",
            "Bienvenue : créez un nouveau wallet ou restaurez depuis une graine.",
            "Bem-vindo: crie uma nova carteira ou restaure da semente.",
            "Willkommen: erstellen Sie ein neues Wallet oder stellen Sie es aus einem Seed wieder her.",
            "欢迎：创建新钱包或从种子恢复。"],
        ["msg.open.password"]     = [
            "Inserisci la password del file (lascia vuoto se non impostata).",
            "Enter the file password (leave empty if not set).",
            "Ingresa la contraseña del archivo (deja vacío si no establecida).",
            "Entrez le mot de passe du fichier (laisser vide si non défini).",
            "Digite a senha do arquivo (deixe vazio se não definida).",
            "Geben Sie das Dateipasswort ein (leer lassen, wenn nicht gesetzt).",
            "输入文件密码（未设置则留空）。"],
        ["msg.seed.write"]        = [
            "Scrivi le 12 parole SU CARTA, nell'ordine. Sono l'unico backup del wallet.",
            "Write the 12 words ON PAPER, in order. They are the only backup of the wallet.",
            "Escribe las 12 palabras EN PAPEL, en orden. Son la única copia de seguridad del wallet.",
            "Écrivez les 12 mots SUR PAPIER, dans l'ordre. C'est la seule sauvegarde du wallet.",
            "Escreva as 12 palavras NO PAPEL, em ordem. São o único backup da carteira.",
            "Schreiben Sie die 12 Wörter AUF PAPIER, in der richtigen Reihenfolge. Sie sind die einzige Sicherung des Wallets.",
            "请将这 12 个单词按顺序写在纸上。它们是钱包唯一的备份。"],
        ["msg.seed.retype"]       = [
            "Reinserisci le 12 parole per confermare di averle scritte.",
            "Re-enter the 12 words to confirm you wrote them down.",
            "Reingresa las 12 palabras para confirmar que las has anotado.",
            "Ressaisissez les 12 mots pour confirmer que vous les avez notés.",
            "Reinsira as 12 palavras para confirmar que as anotou.",
            "Geben Sie die 12 Wörter erneut ein, um zu bestätigen, dass Sie sie notiert haben.",
            "重新输入这 12 个单词，以确认您已记录。"],
        ["msg.seed.mismatch"]     = [
            "Le parole non corrispondono: ricontrolla quello che hai scritto su carta.",
            "The words do not match: check what you wrote on paper.",
            "Las palabras no coinciden: revisa lo que escribiste en papel.",
            "Les mots ne correspondent pas : vérifiez ce que vous avez écrit sur papier.",
            "As palavras não correspondem: verifique o que escreveu no papel.",
            "Die Wörter stimmen nicht überein: überprüfen Sie, was Sie auf Papier geschrieben haben.",
            "单词不匹配：请检查您写在纸上的内容。"],
        ["msg.words.enter"]       = [
            "Inserisci la mnemonica BIP39 (12 o 24 parole separate da spazi).",
            "Enter the BIP39 mnemonic (12 or 24 words separated by spaces).",
            "Ingresa el mnemónico BIP39 (12 o 24 palabras separadas por espacios).",
            "Entrez le mnémonique BIP39 (12 ou 24 mots séparés par des espaces).",
            "Insira o mnemônico BIP39 (12 ou 24 palavras separadas por espaços).",
            "Geben Sie die BIP39-Mnemonic ein (12 oder 24 durch Leerzeichen getrennte Wörter).",
            "输入 BIP39 助记词（12 或 24 个单词，以空格分隔）。"],
        ["msg.words.invalid"]     = [
            "Mnemonica non valida (parole o checksum errati): ricontrolla.",
            "Invalid mnemonic (wrong words or checksum): check again.",
            "Mnemónico no válido (palabras o checksum incorrectos): verifica de nuevo.",
            "Mnémonique invalide (mots ou checksum incorrects) : vérifiez à nouveau.",
            "Mnemônico inválido (palavras ou checksum incorretos): verifique novamente.",
            "Ungültige Mnemonic (falsche Wörter oder Prüfsumme): bitte erneut prüfen.",
            "助记词无效（单词错误或校验和不正确）：请重新检查。"],
        ["msg.passphrase.info"]   = [
            "Passphrase BIP39 opzionale: cambia completamente il wallet. Se la usi, annotala A PARTE dal seed; se la perdi i fondi sono irrecuperabili. Lascia vuoto per non usarla.",
            "Optional BIP39 passphrase: it derives a completely different wallet. If you use it, note it SEPARATELY from the seed; if lost, funds are unrecoverable. Leave empty to skip.",
            "Frase de contraseña BIP39 opcional: deriva un wallet completamente diferente. Si la usas, anótala SEPARADA de la semilla; si la pierdes, los fondos son irrecuperables. Deja vacío para omitir.",
            "Phrase de passe BIP39 optionnelle : elle dérive un wallet complètement différent. Si vous l'utilisez, notez-la SÉPARÉMENT de la graine ; si vous la perdez, les fonds sont irrécupérables. Laisser vide pour ignorer.",
            "Frase-senha BIP39 opcional: deriva uma carteira completamente diferente. Se a usar, anote-a SEPARADAMENTE da semente; se a perder, os fundos são irrecuperáveis. Deixe vazio para ignorar.",
            "Optionale BIP39-Passphrase: leitet ein völlig anderes Wallet ab. Falls verwendet, GETRENNT vom Seed notieren; falls verloren, sind die Gelder unwiederbringlich. Leer lassen zum Überspringen.",
            "可选的 BIP39 密码短语：它会派生出一个完全不同的钱包。如果使用，请与种子分开记录；一旦丢失，资金将无法找回。留空以跳过。"],
        ["msg.password.info"]     = [
            "Password di cifratura del file wallet su disco (consigliata). Non sostituisce il seed: serve solo a proteggere il file.",
            "Encryption password for the wallet file on disk (recommended). It does not replace the seed: it only protects the file.",
            "Contraseña de cifrado para el archivo wallet en disco (recomendada). No reemplaza la semilla: solo protege el archivo.",
            "Mot de passe de chiffrement pour le fichier wallet sur disque (recommandé). Ne remplace pas la graine : protège uniquement le fichier.",
            "Senha de criptografia para o arquivo da carteira no disco (recomendada). Não substitui a semente: apenas protege o arquivo.",
            "Verschlüsselungspasswort für die Wallet-Datei auf der Festplatte (empfohlen). Ersetzt nicht den Seed: schützt nur die Datei.",
            "用于加密磁盘上钱包文件的密码（建议设置）。它不能替代种子，仅用于保护文件。"],
        ["msg.choose.wallet"]     = ["Più wallet disponibili: scegline uno.",                             "Multiple wallets available: pick one.", "Varios wallets disponibles: elige uno.", "Plusieurs wallets disponibles : choisissez-en un.", "Várias carteiras disponíveis: escolha uma.", "Mehrere Wallets verfügbar: wählen Sie eines.", "有多个可用钱包：请选择一个。"],
        ["msg.password.required"] = [
            "Inserisci una password per cifrare il wallet (o togli la spunta «Cifra il file wallet»).",
            "Enter a password to encrypt the wallet (or uncheck “Encrypt the wallet file”).",
            "Ingresa una contraseña para cifrar el wallet (o desmarca «Cifrar el archivo wallet»).",
            "Entrez un mot de passe pour chiffrer le wallet (ou décochez « Chiffrer le fichier wallet »).",
            "Digite uma senha para criptografar a carteira (ou desmarque «Criptografar o arquivo da carteira»).",
            "Geben Sie ein Passwort zum Verschlüsseln ein (oder deaktivieren Sie „Wallet-Datei verschlüsseln“).",
            "请输入密码以加密钱包（或取消勾选“加密钱包文件”）。"],
        ["msg.password.mismatch"] = [
            "Le due password non coincidono.",
            "The two passwords do not match.",
            "Las dos contraseñas no coinciden.",
            "Les deux mots de passe ne correspondent pas.",
            "As duas senhas não coincidem.",
            "Die beiden Passwörter stimmen nicht überein.",
            "两次输入的密码不一致。"],
        ["msg.wrongpassword"]     = ["Password errata.",                                                  "Wrong password.",              "Contraseña incorrecta.",               "Mot de passe incorrect.",                  "Senha incorreta.",                         "Falsches Passwort.",                           "密码错误。"],
        ["msg.wallet.locked"]     = ["Wallet già aperto in un'altra istanza dell'applicazione.",          "Wallet already open in another instance of the application.", "El wallet ya está abierto en otra instancia de la aplicación.", "Le wallet est déjà ouvert dans une autre instance de l'application.", "A carteira já está aberta em outra instância do aplicativo.", "Wallet ist bereits in einer anderen Instanz der Anwendung geöffnet.", "钱包已在应用程序的另一个实例中打开。"],
        ["msg.wallet.noaccess"]   = ["Impossibile accedere al file del wallet: verificare i permessi.",   "Cannot access the wallet file: check file permissions.", "No se puede acceder al archivo del wallet: verifique los permisos.", "Impossible d'accéder au fichier du wallet : vérifiez les autorisations.", "Não é possível acessar o arquivo da carteira: verifique as permissões.", "Zugriff auf die Wallet-Datei nicht möglich: Berechtigungen prüfen.", "无法访问钱包文件：请检查文件权限。"],
        ["msg.opened"]            = ["Wallet aperto: connessione al server…",                             "Wallet opened: connecting to server…", "Wallet abierto: conectando al servidor…", "Wallet ouvert : connexion au serveur…",  "Carteira aberta: conectando ao servidor…", "Wallet geöffnet: Verbindung zum Server…", "钱包已打开：正在连接服务器…"],
        ["msg.synced"]            = ["Sincronizzato",                                                     "Synchronized",                 "Sincronizado",                         "Synchronisé",                              "Sincronizado",                             "Synchronisiert",                               "已同步"],
        ["msg.synced.detail"]     = [
            "transazioni verificate SPV. Aggiornamento in tempo reale attivo.",
            "SPV-verified transactions. Real-time updates active.",
            "transacciones verificadas SPV. Actualizaciones en tiempo real activas.",
            "transactions vérifiées SPV. Mises à jour en temps réel actives.",
            "transações verificadas SPV. Atualizações em tempo real ativas.",
            "SPV-verifizierte Transaktionen. Echtzeit-Updates aktiv.",
            "已通过 SPV 验证的交易。实时更新已启用。"],
        ["msg.height"]            = ["altezza",                                                           "height",                       "altura",                               "hauteur",                                  "altura",                                   "Höhe",                                          "高度"],
        ["msg.pending"]           = ["in attesa di conferma",                                             "pending confirmation",         "pendiente de confirmación",            "en attente de confirmation",               "aguardando confirmação",                   "ausstehende Bestätigung",                      "等待确认"],
        ["msg.notspendable"]      = ["non ancora spendibile",                                             "not yet spendable",            "aún no gastable",                      "pas encore dépensable",                    "ainda não gastável",                       "noch nicht verwendbar",                        "尚不可花费"],
        ["msg.immature"]          = ["in maturazione",                                                    "maturing",                      "en maduración",                        "en maturation",                            "em maturação",                             "in Reifung",                                    "成熟中"],
        ["msg.verifying"]         = ["in verifica SPV",                                                   "SPV-verifying",                 "en verificación SPV",                  "en cours de vérification SPV",             "em verificação SPV",                       "SPV-Prüfung läuft",                            "正在进行 SPV 验证"],
        ["history.unverified"]    = ["in verifica…",                                                      "verifying…",                    "verificando…",                         "vérification…",                            "verificando…",                             "wird geprüft…",                                "验证中…"],
        ["msg.settings.saved"]    = ["Impostazioni salvate.",                                             "Settings saved.",              "Configuración guardada.",              "Paramètres enregistrés.",                  "Configurações salvas.",                    "Einstellungen gespeichert.",                   "设置已保存。"],
        ["msg.certreset"]         = [
            "Certificati SSL azzerati: riprova la connessione.",
            "SSL certificates cleared: retry the connection.",
            "Certificados SSL restablecidos: reintenta la conexión.",
            "Certificats SSL réinitialisés : réessayez la connexion.",
            "Certificados SSL redefinidos: tente novamente a conexão.",
            "SSL-Zertifikate zurückgesetzt: Verbindung erneut versuchen.",
            "SSL 证书已清除：请重试连接。"],
        ["msg.error"]             = ["Errore",                                                            "Error",                        "Error",                                "Erreur",                                   "Erro",                                     "Fehler",                                        "错误"],
        ["msg.broadcast.error"]   = ["Errore broadcast",                                                  "Broadcast error",              "Error de transmisión",                 "Erreur de diffusion",                      "Erro de transmissão",                      "Übertragungsfehler",                           "广播错误"],
        ["msg.peer.discovery.error"] = ["Errore nella scoperta peer",                                     "Peer discovery error",         "Error al descubrir peers",             "Erreur de découverte des pairs",           "Erro na descoberta de peers",              "Fehler bei der Peer-Suche",                    "节点发现错误"],
        ["msg.peer.discovery.found"] = ["Trovati {0} nuovi server dai peer (totale {1}).",                "Found {0} new servers from peers (total {1}).", "Se encontraron {0} nuevos servidores de peers (total {1}).", "{0} nouveaux serveurs trouvés via les pairs (total {1}).", "Encontrados {0} novos servidores dos peers (total {1}).", "{0} neue Server von Peers gefunden (insgesamt {1}).", "从节点发现了 {0} 个新服务器（共 {1} 个）。"],
        ["msg.peer.discovery.none"] = ["Nessun nuovo server annunciato (totale {0}).",                    "No new servers announced (total {0}).", "No se anunciaron nuevos servidores (total {0}).", "Aucun nouveau serveur annoncé (total {0}).", "Nenhum novo servidor anunciado (total {0}).", "Keine neuen Server angekündigt (insgesamt {0}).", "没有新的服务器公告（共 {0} 个）。"],
        ["msg.send.sync.first"]  = ["Sincronizza prima di inviare.",                                     "Synchronize before sending.",  "Sincroniza antes de enviar.",          "Synchronisez avant d'envoyer.",            "Sincronize antes de enviar.",              "Vor dem Senden synchronisieren.",              "发送前请先同步。"],
        ["msg.send.connect.first"] = ["Connettiti al server e sincronizza prima di inviare.",             "Connect to the server and synchronize before sending.", "Conéctate al servidor y sincroniza antes de enviar.", "Connectez-vous au serveur et synchronisez avant d'envoyer.", "Conecte-se ao servidor e sincronize antes de enviar.", "Mit dem Server verbinden und vor dem Senden synchronisieren.", "发送前请先连接服务器并同步。"],
        ["msg.amount.invalid"]   = ["Importo non valido.",                                               "Invalid amount.",              "Importe no válido.",                   "Montant invalide.",                        "Valor inválido.",                          "Ungültiger Betrag.",                           "金额无效。"],
        ["msg.feerate.invalid"]  = ["Fee rate non valido.",                                              "Invalid fee rate.",            "Tarifa no válida.",                    "Taux de frais invalide.",                  "Taxa inválida.",                           "Ungültige Gebührenrate.",                      "手续费率无效。"],
        ["msg.broadcasted"]      = ["Trasmessa",                                                         "Broadcast",                    "Transmitida",                          "Diffusée",                                 "Transmitida",                              "Übertragen",                                    "已广播"],
        ["msg.donate.thanks"]    = ["Grazie! txid",                                                      "Thank you! txid",              "¡Gracias! txid",                       "Merci ! txid",                             "Obrigado! txid",                           "Danke! txid",                                   "谢谢！交易 ID"],
        ["msg.unsigned.watchonly"] = [" · NON firmata (watch-only)",                                    " · NOT signed (watch-only)",   " · NO firmada (watch-only)",           " · NON signée (watch-only)",               " · NÃO assinada (watch-only)",             " · NICHT signiert (watch-only)",               " · 未签名（仅观察）"],
        ["msg.cert.mismatch"]    = [
            "Il certificato TLS di {0} è cambiato rispetto a quello salvato. Se il server ha rinnovato il certificato, esegui il reset dei certificati SSL.",
            "The TLS certificate of {0} has changed from the one saved. If the server renewed its certificate, reset the SSL certificates.",
            "El certificado TLS de {0} ha cambiado respecto al guardado. Si el servidor renovó su certificado, restablece los certificados SSL.",
            "Le certificat TLS de {0} a changé par rapport à celui enregistré. Si le serveur a renouvelé son certificat, réinitialisez les certificats SSL.",
            "O certificado TLS de {0} mudou em relação ao salvo. Se o servidor renovou o certificado, redefina os certificados SSL.",
            "Das TLS-Zertifikat von {0} hat sich gegenüber dem gespeicherten geändert. Wenn der Server das Zertifikat erneuert hat, setzen Sie die SSL-Zertifikate zurück.",
            "{0} 的 TLS 证书与已保存的证书不同。如果服务器更新了证书，请重置 SSL 证书。"],

        // Contacts
        ["contacts.name"]         = ["Nome",                                                              "Name",                         "Nombre",                               "Nom",                                      "Nome",                                     "Name",                                          "姓名"],
        ["contacts.address"]      = ["Indirizzo",                                                         "Address",                      "Dirección",                            "Adresse",                                  "Endereço",                                 "Adresse",                                       "地址"],
        ["contacts.name.ph"]      = ["Nome contatto",                                                     "Contact name",                 "Nombre del contacto",                  "Nom du contact",                           "Nome do contato",                          "Kontaktname",                                   "联系人姓名"],
        ["contacts.address.ph"]   = ["Indirizzo blockchain",                                              "Blockchain address",           "Dirección blockchain",                 "Adresse blockchain",                       "Endereço blockchain",                      "Blockchain-Adresse",                           "区块链地址"],
        ["contacts.add"]          = ["Aggiungi",                                                          "Add",                          "Agregar",                              "Ajouter",                                  "Adicionar",                                "Hinzufügen",                                    "添加"],
        ["contacts.remove"]       = ["Rimuovi selezionato",                                               "Remove selected",              "Eliminar seleccionado",                "Supprimer la sélection",                   "Remover selecionado",                      "Auswahl entfernen",                            "删除所选"],
        ["contacts.empty"]        = ["Nessun contatto salvato.",                                          "No saved contacts.",           "No hay contactos guardados.",          "Aucun contact enregistré.",                "Nenhum contato salvo.",                    "Keine gespeicherten Kontakte.",                "没有已保存的联系人。"],

        // Settings window
        ["settings.title"]        = ["Impostazioni",                                                      "Settings",                     "Configuración",                        "Paramètres",                               "Configurações",                            "Einstellungen",                                "设置"],
        ["settings.language"]     = ["Lingua",                                                            "Language",                     "Idioma",                               "Langue",                                   "Idioma",                                   "Sprache",                                       "语言"],
        ["settings.unit"]         = ["Unità degli importi",                                               "Amount unit",                  "Unidad de importes",                   "Unité des montants",                       "Unidade dos valores",                      "Betrageinheit",                                "金额单位"],
        ["settings.ok"]           = ["Salva",                                                             "Save",                         "Guardar",                              "Enregistrer",                              "Salvar",                                   "Speichern",                                     "保存"],
        ["settings.cancel"]       = ["Annulla",                                                           "Cancel",                       "Cancelar",                             "Annuler",                                  "Cancelar",                                 "Abbrechen",                                     "取消"],
        ["settings.server"]       = ["Server di indicizzazione…",                                         "Indexing server…",             "Servidor de indexación…",              "Serveur d'indexation…",                    "Servidor de indexação…",                   "Indexierungsserver…",                          "索引服务器…"],

        // Server window
        ["server.title"]          = ["Server di indicizzazione",                                          "Indexing server",              "Servidor de indexación",               "Serveur d'indexation",                     "Servidor de indexação",                    "Indexierungsserver",                           "索引服务器"],
        ["server.host"]           = ["Host",                                                              "Host",                         "Host",                                 "Hôte",                                     "Host",                                     "Host",                                          "主机"],
        ["server.port"]           = ["Porta",                                                             "Port",                         "Puerto",                               "Port",                                     "Porta",                                    "Port",                                          "端口"],
        ["server.known"]          = ["Server conosciuti (clicca per usarlo):",                            "Known servers (click to use):", "Servidores conocidos (clic para usar):", "Serveurs connus (cliquez pour utiliser) :", "Servidores conhecidos (clique para usar):", "Bekannte Server (zum Verwenden anklicken):", "已知服务器（点击使用）："],
        ["server.empty"]          = ["Nessun server conosciuto. Usa «Cerca altri server» dopo esserti connesso.", "No known servers. Use “Discover servers” after connecting.", "No hay servidores conocidos. Usa «Buscar otros servidores» tras conectar.", "Aucun serveur connu. Utilisez « Rechercher des serveurs » après connexion.", "Nenhum servidor conhecido. Use «Procurar servidores» após conectar.", "Keine bekannten Server. Nutzen Sie „Server suchen“ nach dem Verbinden.", "没有已知服务器。连接后请使用“发现服务器”。"],
    };
}
