diff --git a/locale/de/translation.js b/locale/de/translation.js index 45bc1674a..f23fa3d00 100644 --- a/locale/de/translation.js +++ b/locale/de/translation.js @@ -3,6 +3,7 @@ export const de_translation = { // Basic HTML tags are allowed such as etc. All data is sanitized https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML // NOTE: If a section does NOT need translating, leave it empty. + // NOTE: Variables that MPW insert are denoted by brackets {}, for example, {button}, do NOT translate variables, but place them where it makes the most sense. // General words amount: 'Menge', //Amount @@ -44,7 +45,7 @@ export const de_translation = { dCardThreeTitle: 'Öffne deine', //Access your dCardThreeSubTitle: 'Hardware Geldbörse', //Hardware Wallet dCardThreeDesc: - 'Benutze deine Ledger Hardware Geldbörse via MPWs benutzerfreundlichen Schnittstelle.', //Use your Ledger Hardware wallet with MPW's familiar interface. + 'Benutze deine Ledger Hardware Geldbörse mit MPW als benutzerfreundliche Schnittstelle.', //Use your Ledger Hardware wallet with MPW's familiar interface. dCardThreeButton: 'Öffne meinen Ledger', //Access my Ledger dCardFourTitle: 'Gehe zu', //Go to @@ -55,8 +56,8 @@ export const de_translation = { dCardFourButtonA: 'Öffne meine Geldbörse', //Access My Wallet // Vanity Creation - vanityPrefixNote: '', //Note: addresses will always start with: - vanityPrefixInput: '', //Address Prefix + vanityPrefixNote: 'Hinweis: Adressen starten immer mit:', //Note: addresses will always start with: + vanityPrefixInput: 'Adress-Prefix', //Address Prefix // Seed Phrase Creation thisIsYourSeed: 'Dies ist deine Seed Phrase', //This is your seed phrase: @@ -65,16 +66,20 @@ export const de_translation = { doNotShareWarning: 'Jeder mit einer Kopie der Phrase hat Zugriff auf deine Brieftasche.', //Anyone with a copy of it can access all of your funds. doNotShare: 'Teile Sie unter keinen Umständen mit dritten.', //Do NOT share it with anybody. - digitalStoreNotAdvised: 'Es wird empfohlen diese nicht digital zu sichern', //It is NOT advised to store this digitally. + digitalStoreNotAdvised: + 'Es wird empfohlen diese nicht digital zu sichern', //It is NOT advised to store this digitally. optionalPassphrase: 'Optionale Pass Phrase (BIP39)', //Optional Passphrase (BIP39) writtenDown: 'Ich bestätige, dass ich die Seed Phrase notiert habe', //I have written down my seed phrase // Seed Phrase Import - importSeedValid: '', //Seed Phrase is valid! - importSeedError: '', //Seed Phrase is invalid! - importSeedErrorSize: '', //A Seed Phrase should be 12 or 24 words long! - importSeedErrorTypo: '', //Seed Phrase contains typing errors! Check your input carefully - importSeedErrorSkip: '', //Seed Phrase appears invalid, but the warning was skipped by the user + importSeedValid: 'Seed Phrase ist gültig!', //Seed Phrase is valid! + importSeedError: 'Seed Phrase ist ungültig!', //Seed Phrase is invalid! + importSeedErrorSize: + 'Eine Seed Phrase sollte zwischen 12 und 24 Zeichen lang sein!', //A Seed Phrase should be 12 or 24 words long! + importSeedErrorTypo: + 'Die Seed Phrase enthält fehlerhafte Eingaben! Überprüfe deine Eingaben sorgfältig', //Seed Phrase contains typing errors! Check your input carefully + importSeedErrorSkip: + 'Die Seed Phrase erscheint ungültig, die Warnung wurde durch den Benutzer übergangen.', //Seed Phrase appears invalid, but the warning was skipped by the user // Wallet Dashboard gettingStarted: 'Erste Schritte', //Getting Started @@ -83,12 +88,12 @@ export const de_translation = { lockWallet: 'Sperre deine Geldbörse', //Lock wallet // Encrypt wallet - encryptWallet: 'Verschlüssel deine Brieftasche', //Encrypt wallet - encryptPasswordCurrent: '', //Current Password + encryptWallet: 'Verschlüssel deine Geldbörse', //Encrypt wallet + encryptPasswordCurrent: 'Aktuelles Passwort', //Current Password encryptPasswordFirst: 'Gib dein Passwort ein', //Enter Password encryptPasswordSecond: 'Wiederhole dein Passwort', //Re-enter Password encrypt: 'Verschlüsseln', //Encrypt - changePassword: '', //Change Password + changePassword: 'Passwort ändern', //Change Password // Wallet Dashboard Sub-menu balanceBreakdown: 'Aufgeschlüsselter Kontostand', //Balance Breakdown @@ -105,35 +110,41 @@ export const de_translation = { send: 'Senden', //Send // Contacts System - receive: '', //Receive - contacts: '', //Contacts - name: '', //Name - username: '', //Username - addressOrXPub: '', //Address or XPub - back: '', //Back - chooseAContact: '', //Choose a Contact - createContact: '', //Create Contact - encryptFirstForContacts: '', //Once you hit "{button}" in the Dashboard, you can create a Contact to make receiving PIV easier! - shareContactURL: '', //Share Contact URL - setupYourContact: '', //Setup your Contact - receiveWithContact: '', //Receive using a simple username-based Contact - onlyShareContactPrivately: '', //Only share your Contact with trusted people (family, friends) + receive: 'Erhalten', //Receive + contacts: 'Kontakte', //Contacts + name: 'Name', //Name + username: 'Benutzername', //Username + addressOrXPub: 'Adresse oder XPub', //Address or XPub + back: 'Zurück', //Back + chooseAContact: 'Wähle einen Kontakt', //Choose a Contact + createContact: 'Erstelle einen Kontakt', //Create Contact + encryptFirstForContacts: + 'Nachdem du auf "{button}" in der Übersicht gedrückt hast, kannst du Kontakte erstellen um das Senden und Empfangen von PIV einfacher zu machen.', //Once you hit "{button}" in the Dashboard, you can create a Contact to make receiving PIV easier! + shareContactURL: 'Teile deine Kontakt-URL', //Share Contact URL + setupYourContact: 'Erstelle deinen Kontakt', //Setup your Contact + receiveWithContact: 'Empfangen mittels einfachen Benutzernamens', //Receive using a simple username-based Contact + onlyShareContactPrivately: + 'Teile deine Kontakte nur mit vertrauenswürdigen Personen (Familie, Freunde)', //Only share your Contact with trusted people (family, friends) /* Context: The "Change to" is used in-app with one of the Three options below it, i.e: "Change to Contact" */ - changeTo: '', //Change to - contact: '', //Contact - xpub: '', //XPub + changeTo: 'Ändere zu', //Change to + contact: 'Kontakt', //Contact + xpub: 'XPub', //XPub - addContactTitle: '', //Add {strName} to Contacts - addContactSubtext: '', //Once added you\'ll be able to send transactions to {strName} by their name (either typing, or clicking), no more addresses, nice \'n easy. - addContactWarning: '', //Ensure that this is the real "{strName}", do not accept Contact requests from unknown sources! + addContactTitle: 'Füge {strName} zu Kontakten zu', //Add {strName} to Contacts + addContactSubtext: + 'Einmal hinzugefügt kannst du Transaktionen zu {strName} über den Kontakt (eingeben oder anklicken) erledigen. Keine komplexen Adressen mehr - einfach einfach!', //Once added you\'ll be able to send transactions to {strName} by their name (either typing, or clicking), no more addresses, nice \'n easy. + addContactWarning: + 'Bitte prüfe ob die Exhtheit von "{strName}". Niemals Kontakt-Anfragen von unbekannten annehmen!', //Ensure that this is the real "{strName}", do not accept Contact requests from unknown sources! - editContactTitle: '', //Change "{strName}" Contact - newName: '', //New Name + editContactTitle: 'Ändere Kontakt "{strName}"', //Change "{strName}" Contact + newName: 'Neuer Name', //New Name - removeContactTitle: '', //Remove {strName}? - removeContactSubtext: '', //Are you sure you wish to remove {strName} from your Contacts? - removeContactNote: '', //You can add them again any time in the future. + removeContactTitle: 'Entferne {strName}?', //Remove {strName}? + removeContactSubtext: + 'Willst du wirklich {strName} aus deinen Kontakten entfernen?', //Are you sure you wish to remove {strName} from your Contacts? + removeContactNote: + 'Du kannst den Kontakt später zu jeder Zeit wieder hinzufügen.', //You can add them again any time in the future. // Export privateKey: 'Privater Schlüssel', //Private Key @@ -142,14 +153,14 @@ export const de_translation = { 'Stelle sicher, dass niemand deinen Bildschirm einsehen kann', //Make sure no one can see your screen. privateWarning2: 'Jeder mit diesem Schlüssel kann deine Geldbörse bedienen.', //Anyone with this key can steal your funds. - viewKey: 'zeige Schlüssel', //View key + viewKey: 'Zeige Schlüssel', //View key // PIVX Promos // NOTE: for this below line, continue the sentence "PIVX Promos [...]", since 'PIVX Promos' is a brand, it is not translated. pivxPromos: 'ist ein dezentrales System für PIVX Geschenk-Gutscheine', // [...] is a decentralised system for gift codes worth PIV // NOTE: on this line, if possible, leave 'PIVX Promos' untranslated redeemInput: 'Gib deinen PIVX Promos Code ein', //Enter your 'PIVX Promos' code - createName: 'Promo Name', //Promo Name (Optional) + createName: 'Promo Name (Optional)', //Promo Name (Optional) createAmount: 'Promo Anzahl', //Promo Amount // Stake @@ -179,8 +190,8 @@ export const de_translation = { // Settings settingsCurrency: 'Wähle die angezeigte Währung', //Choose a display currency: - priceProvidedBy: '', //Price data provided by - settingsDecimals: '', //Balance Decimals: + priceProvidedBy: 'Preisinformationen von', //Price data provided by + settingsDecimals: 'Nachkommastellen', //Balance Decimals: settingsExplorer: 'Wähle einen Explorer', //Choose an explorer: settingsLanguage: 'Wähle eine Sprache', //Choose a Language: settingsPivxNode: 'Wähle einen PIVX Knoten', //Choose a PIVX node: @@ -188,8 +199,9 @@ export const de_translation = { settingsAnalytics: 'Wähle die verwendeten Analysedaten dieser Sitzung', //Choose your analytics contribution level: settingsToggleDebug: 'Debug Modus', //Debug Mode settingsToggleTestnet: 'Testnet Modus', //Testnet Mode - settingsToggleAdvancedMode: '', //Advanced Mode - settingsToggleAdvancedModeSubtext: '', //This unlocks deeper functionality and customisation, but may be overwhelming and potentially dangerous for unexperienced users! + settingsToggleAdvancedMode: 'Erweiterte Ansicht', //Advanced Mode + settingsToggleAdvancedModeSubtext: + 'Dies aktiviert tiefere Funktionen und Anpassungen, welche für unerfahrene Nutzer potentiell gefährlich sein können.', //This unlocks deeper functionality and customisation, but may be overwhelming and potentially dangerous for unexperienced users! // Transparency Report transparencyReport: 'Transparenz-Bericht', //Transparency Report @@ -282,7 +294,7 @@ export const de_translation = { unhandledException: 'Unerwarteter Sonderfall', //Unhandled exception. // Alerts - ALERTS: '<-- DO NOT EDIT! All below entries are for Alert Popups', + ALERTS: '<-- DO NOT EDIT THIS LINE! All below entries are for Alert Popups', INTERNAL_ERROR: 'Interner Fehler, bitte versuche es später erneut', //Internal error, please try again later FAILED_TO_IMPORT: 'Import fehlgeschlagen! Falsches Passwort', //Failed to import! Invalid password @@ -363,17 +375,24 @@ export const de_translation = { MN_CANT_CONNECT: 'Keine Verbindung zum RPC-Knoten möglich!', //Unable to connect to RPC node! /* Contacts System Alerts */ - CONTACTS_ENCRYPT_FIRST: '', //You need to hit "{button}" before you can use Contacts! - CONTACTS_NAME_REQUIRED: '', //A name is required! - CONTACTS_NAME_TOO_LONG: '', //That name is too long! - CONTACTS_CANNOT_ADD_YOURSELF: '', //You cannot add yourself as a Contact! - CONTACTS_ALREADY_EXISTS: '', //Contact already exists!
You already saved this contact - CONTACTS_NAME_ALREADY_EXISTS: '', //Contact name already exists!
This could potentially be a phishing attempt, beware! - CONTACTS_EDIT_NAME_ALREADY_EXISTS: '', //Contact already exists!
A contact is already called "{strNewName}"! - CONTACTS_KEY_ALREADY_EXISTS: '', //Contact already exists, but under a different name!
You have {newName} saved as {oldName} in your contacts - CONTACTS_NOT_A_CONTACT_QR: '', //This isn\'t a Contact QR! - CONTACTS_ADDED: '', //New Contact added!
{strName} has been added, hurray! - CONTACTS_YOU_HAVE_NONE: '', //You have no contacts! + CONTACTS_ENCRYPT_FIRST: + 'Du musst erst "{button}" drücken bevor du Kontakt hinzufügen kannst!', //You need to hit "{button}" before you can use Contacts! + CONTACTS_NAME_REQUIRED: 'Ein Name ist bnötigt!', //A name is required! + CONTACTS_NAME_TOO_LONG: 'Der Name ist zu lang!', //That name is too long! + CONTACTS_CANNOT_ADD_YOURSELF: + 'Du kannst dich nicht selbst als Kontakt hinzufügen!', //You cannot add yourself as a Contact! + CONTACTS_ALREADY_EXISTS: + 'Kontakt existiert bereits!
Er ist bereits gespeichert', //Contact already exists!
You already saved this contact + CONTACTS_NAME_ALREADY_EXISTS: + 'Ein Kontakt mit diesem Namen existiert bereits!Dies könnte ein Phishing-Versuch sein, sei Vorsichtig!', //Contact name already exists!
This could potentially be a phishing attempt, beware! + CONTACTS_EDIT_NAME_ALREADY_EXISTS: + 'Der Kontakt existiert bereits!
Ein Kontakt heißt bereits "{strNewName}"!', //Contact already exists!
A contact is already called "{strNewName}"! + CONTACTS_KEY_ALREADY_EXISTS: + 'Der Kontakt existiert bereits, aber unter einem anderen Namen!
{newName} existiert bereits als {oldName}.', //Contact already exists, but under a different name!
You have {newName} saved as {oldName} in your contacts + CONTACTS_NOT_A_CONTACT_QR: 'Dies ist kein Kontakt-QR Code!', //This isn\'t a Contact QR! + CONTACTS_ADDED: + 'Neuer Kontakt hinzugefügt!
{strName} ist jetzt einer deiner Kontakte, Juhuu!', //New Contact added!
{strName} has been added, hurray! + CONTACTS_YOU_HAVE_NONE: 'Du hast noch keine Kontakte!', //You have no contacts! PROPOSAL_FINALISED: 'Antrag finalisiert!', //Proposal finalized! PROPOSAL_UNCONFIRMED: 'Der Antrag wurde noch nicht bestätigt.', //The proposal hasn\'t been confirmed yet. diff --git a/locale/en/translation.js b/locale/en/translation.js index e5bd621ab..cac60a256 100644 --- a/locale/en/translation.js +++ b/locale/en/translation.js @@ -291,7 +291,7 @@ export const en_translation = { unhandledException: 'Unhandled exception.', // Alerts - ALERTS: '<-- DO NOT EDIT! All below entries are for Alert Popups', + ALERTS: '<-- DO NOT EDIT THIS LINE! All below entries are for Alert Popups', INTERNAL_ERROR: 'Internal error, please try again later', FAILED_TO_IMPORT: 'Failed to import! Invalid password', diff --git a/locale/es-mx/translation.js b/locale/es-mx/translation.js new file mode 100644 index 000000000..5d08a748e --- /dev/null +++ b/locale/es-mx/translation.js @@ -0,0 +1,442 @@ +export const es_mx_translation = { + // Este documento se debe usar como una plantilla ya que todo el código base está en inglés + // Se permiten etiquetas HTML básicas como etc. Todos los datos están saneados https://developer.mozilla.org/es/docs/Web/API/Element/innerHTML + + // NOTA: Si una sección NO necesita traducción, déjala vacía. + // NOTA: Las variables que inserta MPW se denotan con corchetes {}, por ejemplo, {button}, NO traduzcas las variables, pero colócalas donde tenga más sentido. + + // General words + amount: 'Cantidad', //Amount + staking: 'Staking', //Staking + wallet: 'Wallet', //Wallet + display: 'Visualizar', //Display + activity: 'Actividad', //Activity + yes: 'Si', //Yes + no: 'No', //No + + // Nav Bar + navDashboard: 'Panel', //Dashboard + navStake: 'Stake', //Stake + navMasternode: 'Masternode', //Masternode + navGovernance: 'Gobernanza', //Governance + navSettings: 'Ajustes', //Settings + + // Footer + footerBuiltWithPivxLabs: 'Hecho con 💜 por PIVX Labs 🇲🇽', //Built with 💜 by PIVX Labs + + // Intro + loading: 'Cargando', //Loading + loadingTitle: 'My PIVX Wallet está', //My PIVX Wallet is + + // Onboarding Dashboard + dashboardTitle: 'Panel', //Dashboard + dCardOneTitle: 'crea una', //Create a + dCardOneSubTitle: 'Nueva Wallet', //New Wallet + dCardOneDesc: + 'Crear una nueva PIVX Wallet, ofreciendo los métodos de respaldo y seguridad más seguros.', //Create a new PIVX wallet, offering the most secure backup & security methods. + dCardOneButton: 'Crear una nueva PIVX Wallet', //Create A New Wallet + + dCardTwoTitle: 'Crear una nueva', //Create a new + dCardTwoSubTitle: 'Vanity Wallet', //Vanity Wallet + dCardTwoDesc: + 'Crear una wallet con un prefijo personalizado, ¡Esto puede llevar mucho tiempo!', //Create a wallet with a custom prefix, this can take a long time! + dCardTwoButton: 'Crear una Vanity Wallet', //Create A Vanity Wallet + + dCardThreeTitle: 'Accede a tu', //Access your + dCardThreeSubTitle: 'Wallet de Hardware', //Hardware Wallet + dCardThreeDesc: + 'Utiliza tu wallet Ledger Hardware con en la interfaz de MPW.', //Use your Ledger Hardware wallet with MPW's familiar interface. + dCardThreeButton: 'Acceder a mi Ledger', //Access my Ledger + + dCardFourTitle: 'Ir a', //Go to + dCardFourSubTitle: 'Mi Wallet', //My Wallet + dCardFourDesc: + 'Importar una wallet de PIVX usando una llave privada, xpriv o frase de semilla.', //Import a PIVX wallet using a Private Key, xpriv, or Seed Phrase. + dCardFourButtonI: 'Importar Wallet', //Import Wallet + dCardFourButtonA: 'Acceder a mi Wallet', //Access My Wallet + + // Vanity Creation + vanityPrefixNote: 'Nota: las direcciones siempre comenzarán con:', //Note: addresses will always start with: + vanityPrefixInput: 'Prefijo de direcciones', //Address Prefix + + // Seed Phrase Creation + thisIsYourSeed: 'Esta es tu frase de semilla:', //This is your seed phrase: + writeDownSeed: + 'Escríbelo en alguna parte. ¡Solo verás esto una vez!', //Write it down somewhere. You'll only see this once! + doNotShareWarning: + 'Cualquiera que tenga una copia puede acceder a todos tus fondos.', //Anyone with a copy of it can access all of your funds. + doNotShare: 'NO lo compartas con nadie.', //Do NOT share it with anybody. + digitalStoreNotAdvised: + 'NO se recomienda almacenar esto digitalmente.', //It is NOT advised to store this digitally. + optionalPassphrase: 'Frase de contraseña opcional (BIP39)', //Optional Passphrase (BIP39) + writtenDown: 'He escrito mi frase semilla', //I have written down my seed phrase + + // Seed Phrase Import + importSeedValid: '¡La frase de semilla es válida!', //Seed Phrase is valid! + importSeedError: '¡La frase de semilla no es válida!', //Seed Phrase is invalid! + importSeedErrorSize: + '¡Una frase de semilla debe tener entre 12 y 24 palabras!', //A Seed Phrase should be 12 or 24 words long! + importSeedErrorTypo: + '¡La frase de semilla contiene errores tipográficos! Revisa atentamente tu escritura', //Seed Phrase contains typing errors! Check your input carefully + importSeedErrorSkip: + 'La frase de semilla parece ser no válida, pero el usuario omitió la advertencia', //Seed Phrase appears invalid, but the warning was skipped by the user + + // Wallet Dashboard + gettingStarted: 'Primeros pasos', //Getting Started + secureYourWallet: 'Asegura tu wallet', //Secure your wallet + unlockWallet: 'Desbloquear wallet', //Unlock wallet + lockWallet: 'Bloquear wallet', //Lock wallet + + // Encrypt wallet + encryptWallet: 'Encriptar wallet', //Encrypt wallet + encryptPasswordCurrent: 'Contraseña actual', //Current Password + encryptPasswordFirst: 'Introduce la contraseña', //Enter Password + encryptPasswordSecond: 'Volver a introducir contraseña', //Re-enter Password + encrypt: 'Encriptar', //Encrypt + changePassword: 'Cambiar contraseña', //Change Password + + // Wallet Dashboard Sub-menu + balanceBreakdown: 'Desglose del Balance', //Balance Breakdown + viewOnExplorer: 'Ver en el Explorador', //View on Explorer + export: 'Exportar', //Export + refreshAddress: 'Actualizar la dirección', //Refresh address + redeemOrCreateCode: 'Canjear o Crear un Código', //Redeem or Create Code + + // Send + address: 'Dirección', //Address + receivingAddress: 'Dirección receptora', //Receiving address + sendAmountCoinsMax: 'MÁXIMO', //MAX + paymentRequestMessage: 'Descripción (de la tienda)', //Description (from the merchant) + send: 'Enviar', //Send + + // Contacts System + receive: 'Recibir', //Receive + contacts: 'Contactos', //Contacts + name: 'Nombre', //Name + username: 'Nombre de usuario', //Username + addressOrXPub: 'Dirección o XPub', //Address or XPub + back: 'Regresar', //Back + chooseAContact: 'Elegir un contacto', //Choose a Contact + createContact: 'Crear un contacto', //Create Contact + encryptFirstForContacts: + 'Una vez que pulses "{button}" en el Panel de control, podrás crear un Contacto para facilitar la recepción de PIV.', //Once you hit "{button}" in the Dashboard, you can create a Contact to make receiving PIV easier! + shareContactURL: 'Compartir URL de contacto', //Share Contact URL + setupYourContact: 'Configurar el contacto', //Setup your Contact + receiveWithContact: + 'Recibir usando un contacto simple basado en el nombre de usuario', //Receive using a simple username-based Contact + onlyShareContactPrivately: + 'Comparte tus Contactos sólamente con personas de confianza (familia, amigos, etc.)', //Only share your Contact with trusted people (family, friends) + + /* Context: The "Change to" is used in-app with one of the Three options below it, i.e: "Change to Contact" */ + changeTo: 'Cambiar a', //Change to + contact: 'Contacto', //Contact + xpub: 'XPub', //XPub + + addContactTitle: 'Añadir a {strName} a los Contactos', //Add {strName} to Contacts + addContactSubtext: + 'Una vez añadido, podrás enviar transacciones a {strName} por su nombre (escribiendo o haciendo click), no más direcciones, fácil y sencillo.', //Once added you\'ll be able to send transactions to {strName} by their name (either typing, or clicking), no more addresses, nice \'n easy. + addContactWarning: + 'Asegúrate de que se trata del verdadero "{strName}", ¡No aceptes solicitudes de personas desconocidas!', //Ensure that this is the real "{strName}", do not accept Contact requests from unknown sources! + + editContactTitle: '', //Change "{strName}" Contact + newName: '', //New Name + + removeContactTitle: '¿Eliminar a {strName}?', //Remove {strName}? + removeContactSubtext: + '¿Estás seguro de que deseas eliminar a {strName} de tus Contactos?', //Are you sure you wish to remove {strName} from your Contacts? + removeContactNote: 'Puedes volver a añadirle en cualquier otro momento.', //You can add them again any time in the future. + + // Export + privateKey: 'Llave Privada', //Private Key + viewPrivateKey: '¿Ver la Llave privada?', //View Private Key? + privateWarning1: 'Asegúrate de que nadie pueda ver tu pantalla.', //Make sure no one can see your screen. + privateWarning2: 'Cualquiera con esta clave puede robar tus fondos.', //Anyone with this key can steal your funds. + viewKey: 'Ver la llave', //View key + + // PIVX Promos + // NOTE: for this below line, continue the sentence "PIVX Promos [...]", since 'PIVX Promos' is a brand, it is not translated. + pivxPromos: + 'es un sistema descentralizado de códigos de regalo comprados con PIV', // [...] is a decentralised system for gift codes worth PIV + // NOTE: on this line, if possible, leave 'PIVX Promos' untranslated + redeemInput: 'Introduce tu código de PIVX Promos', //Enter your 'PIVX Promos' code + createName: 'Nombre de la Promoción (Opcional)', //Promo Name (Optional) + createAmount: 'Monto de la Promo', //Promo Amount + + // Stake + stake: 'Stake', //Stake + stakeUnstake: 'Unstake', //Unstake + rewardHistory: 'Historial de recompensas', //Reward History + loadMore: 'Cargar más', //Load more + + // Masternode + mnControlYour: 'Controla tu', //Control your + mnSubtext: + 'Desde esta pestaña puedes crear y acceder a uno o varios masternodes', //From this tab you can create and access one or more masternodes + + // Governance + govSubtext: + 'Desde esta pestaña puedes consultar las propuestas y, si tienes un masternode, ¡ser parte de la DAO y votar!', //From this tab you can check the proposals and, if you have a masternode, be a part of the DAO and vote! + govMonthlyBudget: 'Presupuesto Mensual', //Monthly Budget + govAllocBudget: 'Presupuesto Asignado', //Allocated Budget + govNextPayout: 'Próximo Pago de la Tesorería', //Next Treasury Payout + govTableStatus: 'ESTATUS', //STATUS + govTableName: 'NOMBRE', //NAME + govTablePayment: 'PAGOS', //PAYMENT + govTableVotes: 'VOTOS', //VOTES + govTableVote: 'VOTA', //VOTE + contestedProposalsDesc: + 'Estas son propuestas que han recibido una cantidad abrumadora de votos negativos, por lo que es probable que se trate de spam o de una propuesta muy cuestionable.', //These are proposals that received an overwhelming amount of downvotes, making it likely spam or a highly contestable proposal. + + // Settings + settingsCurrency: 'Elije una divisa de visualización:', //Choose a display currency: + priceProvidedBy: 'Datos de precios proporcionados por', //Price data provided by + settingsDecimals: 'Decimales en el saldo:', //Balance Decimals: + settingsExplorer: 'Elige un explorador:', //Choose an explorer: + settingsLanguage: 'Elige un idioma:', //Choose a Language: + settingsPivxNode: 'Elige un nodo PIVX:', //Choose a PIVX node: + settingsAutoSelectNet: 'Selección automática de exploradores y nodos', //Auto-select Explorers and Nodes + settingsAnalytics: 'Elige tu nivel de contribución a las analíticas:', //Choose your analytics contribution level: + settingsToggleDebug: 'Modo de depuración', //Debug Mode + settingsToggleTestnet: 'Modo Testnet', //Testnet Mode + settingsToggleAdvancedMode: 'Modo Avanzado', //Advanced Mode + settingsToggleAdvancedModeSubtext: + 'Esto desbloquea una mayor funcionalidad y personalización, pero puede resultar abrumador y potencialmente peligroso para los usuarios inexpertos.', //This unlocks deeper functionality and customisation, but may be overwhelming and potentially dangerous for unexperienced users! + + // Network switching (mainnet <---> testnet) + netSwitchUnsavedWarningTitle: '¡Tu wallet {network} no está guardada!', //Your {network} wallet isn\'t saved! + netSwitchUnsavedWarningSubtitle: '¡Tu cuenta {network} está en riesgo!', //Your {network} account is at risk! + netSwitchUnsavedWarningSubtext: + 'Si cambias a la {network} antes de guardarla, ¡perderás la cuenta!', //If you switch to {network} before saving it, you\'ll lose the account! + netSwitchUnsavedWarningConfirmation: '¿Estás seguro?', //Are you really sure? + + // Transparency Report + transparencyReport: 'Informe de Transparencia', //Transparency Report + hit: 'Un ping que indica la carga de la aplicación, ningún dato se ha enviado.', //A ping indicating an app load, no unique data is sent. + time_to_sync: + 'El tiempo en segundos que tardó MPW en sincronizarse por última vez.', //The time in seconds it took for MPW to last synchronise. + transaction: + 'Un ping que indica un Tx, ningún dato se ha enviado, pero puede inferirse del tiempo en la cadena.', //A ping indicating a Tx, no unique data is sent, but may be inferred from on-chain time. + + // Analytics Levels + analyticDisabled: 'Deshabilitado', //Disabled + analyticMinimal: 'Mínimo', //Minimal + analyticBalanced: 'Balanceado', //Balanced + + // Migration System + MIGRATION_ACCOUNT_FAILURE_TITLE: 'Error al recuperar la cuenta', //Failed to recover account + MIGRATION_ACCOUNT_FAILURE_HTML: + 'Se produjo un error al recuperar tu cuenta.
Vuelva a importar su wallet usando la siguiente clave:', //There was an error recovering your account.
Please reimport your wallet using the following key: + + // Dynamic Elements (Rendered at runtime - TODO in future PR: sort in to above categories for consistency) + ID: 'ID', //ID + time: 'Hora', //Time + description: 'Descripción', //Description + activityBlockReward: 'Recompensa del Bloque', //Block Reward + activitySentTo: 'Enviar a', //Sent to + activitySentToSelf: 'Enviar a ti mismo', //Sent to self + activityShieldedAddress: 'Dirección Shielded', //Shielded address + activityReceivedShield: 'Recibido desde dirección Shielded', //Received from Shielded address + activityReceivedFrom: 'Recibido de', //Received from + activityDelegatedTo: 'Delegado a', //Delegated to + activityUndelegated: 'No delegado', //Undelegated + activityUnknown: 'Tx desconocido', //Unknown Tx + password: 'Contraseña', //Password + walletUnlock: 'Desbloquea tu wallet', //Unlock your wallet + walletPassword: 'Contraseña de la Wallet', //Wallet password + walletUnlockCreateMN: '¡Desbloquea para crear tu Masternode!', //Unlock to create your Masternode! + walletUnlockMNStart: '¡Desbloquea para iniciar tu Masternode!', //Unlock to start your Masternode! + walletUnlockProposal: '¡Desbloquea para crear una propuesta!', //Unlock to create a proposal! + walletUnlockPromo: '¡Desbloquea para finalizar tu Código Promocional!', //Unlock to finalise your Promo Code! + walletUnlockTx: '¡Desbloquea para enviar tu transacción!', //Unlock to send your transaction! + walletUnlockStake: 'Desbloquea para hacer stake tus', //Unlock to stake your + walletUnlockUnstake: 'Desbloquea para dejar de hacer stake tus', //Unlock to unstake your + changelogTitle: 'Novedades en', //What's New in + popupSetColdAddr: 'Configura tu dirección de Cold Staking', //Set your Cold Staking address + popupCurrentAddress: 'Dirección actual', //Current address: + popupColdStakeNote: + '¡Una dirección de Cold Staking hace stake de monedas en tu nombre, pero no puede gastar las monedas, por lo que es seguro utilizar la Dirección Cold Staking de un desconocido!', //A Cold Address stakes coins on your behalf, it cannot spend coins, so it's even safe to use a stranger's Cold Address! + popupExample: 'Ejemplo:', //Example: + popupWalletLock: '¿Quieres bloquear tu wallet?', //Do you want to lock your wallet? + popupWalletWipe: '¿Quieres eliminar los datos privados de tu wallet?', //Do you want to wipe your wallet private data? + popupWalletLockNote: + 'Deberás introducir tu contraseña para acceder a tus fondos', //You will need to enter your password to access your funds + popupWalletWipeNote: + 'Perderás el acceso a tus fondos si no haz hecho una copia de seguridad de tu llave privada o frase de semilla', //You will lose access to your funds if you haven't backed up your private key or seed phrase + popupSeedPhraseBad: 'Frase de Semilla Inesperada', //Unexpected Seed Phrase + popupSeedPhraseBadNote: + 'La frase de semilla no es válida o no ha sido generada por MPW.
¿Aún así deseas continuar?', //The seed phrase is either invalid or was not generated by MPW.
Do you still want to proceed? + popupCreateProposal: 'Crear una Propuesta', //Create Proposal + popupCreateProposalCost: 'Costo', //Cost + popupProposalName: 'Nombre de la Propuesta', //Proposal Name + popupProposalDuration: 'Duración en Ciclos', //Duration in cycles + popupProposalPerCycle: 'por ciclo', //per cycle + popupProposalVoteHash: 'Hash de Votación:', //Vote Hash: + popupProposalFinalisedNote: + '¡Felicitaciones por el lanzamiento de tu propuesta!
¡Los propietarios de Masternode pueden utilizar tu Hash de Votación para votar desde wallets que no sean MPW, así que asegúrate de añadirlo a tu mensaje en el foro, si aplica!', //Congratulations on launching your proposal!
Masternode owners can use your Vote Hash to vote from wallets other than MPW, so make sure to add this to your forum post, if applicable! + popupProposalFinalisedSignoff: + '¡Buena suerte en tu viaje por la DAO, PIVian!', //Good luck on your journey through the DAO, PIVian! + popupHardwareAddrCheck: + 'Por favor, confirma que esta es la dirección que ve en tu', //Please confirm this is the address you see on your + proposalFinalisationConfirming: 'Confirmando...', //Confirming... + proposalFinalisationRemaining: 'restante', //remaining + proposalFinalisationExpired: 'Propuesta Expirada', //Proposal Expired + proposalFinalisationReady: 'Listo para enviarla', //Ready to submit + proposalPassing: 'PASANDO', //PASSING + proposalFailing: 'FRACASANDO', //FAILING + proposalFunded: 'FINANCIADA', //FUNDED + proposalNotFunded: 'NO FINANCIADA', //NOT FUNDED + proposalPaymentsRemaining: 'plazo(s) restante(s)
de', //installment(s) remaining
of + proposalPaymentTotal: 'total', //total + proposalNetYes: 'Sí de la Red', //Net Yes + popupConfirm: 'Confirmar', //Confirm + popupClose: 'Cerrar', //Close + popupCancel: 'Cancelar', //Cancel + chartPublicAvailable: 'Disponible al Público', //Public Available + timeDays: 'Días', //Days + timeHours: 'Horas', //Hours + timeMinutes: 'Minutos', //Minutes + timeSeconds: 'Segundos', //Seconds + unhandledException: 'Excepción sin resolver.', //Unhandled exception. + + // Alerts + ALERTS: '<-- DO NOT EDIT THIS LINE! All below entries are for Alert Popups', + + INTERNAL_ERROR: 'Error interno, vuelve a intentarlo más tarde', //Internal error, please try again later + FAILED_TO_IMPORT: '¡No se ha podido importar! Contraseña inválida', //Failed to import! Invalid password + UNSUPPORTED_CHARACTER: + '¡El carácter {char} no está soportado en las direcciones! (No compatible con Base58)', //The character '{char}' is unsupported in addresses! (Not Base58 compatible) + UNSUPPORTED_WEBWORKERS: + 'Este navegador no soporta Web Workers (multi-threaded JS), ¡lamentablemente no puedes generar wallets Vanity!', //This browser doesn\'t support Web Workers (multi-threaded JS), unfortunately you cannot generate Vanity wallets! + INVALID_ADDRESS: '¡Dirección PIVX no válida!
{address}', //Invalid PIVX address!
{address} + TESTNET_ENCRYPTION_DISABLED: + '¡El modo Testnet está activado!
Encriptado de wallet deshabilitado', //Testnet Mode is ON!
Wallet encryption disabled + PASSWORD_TOO_SMALL: + '¡La contraseña es un poco corta!
Utilice al menos {MIN_PASS_LENGTH} caracteres.', //That password is a little short!
Use at least {MIN_PASS_LENGTH} characters. + PASSWORD_DOESNT_MATCH: '¡Tus contraseñas no coinciden!', //Your passwords don\'t match! + NEW_PASSWORD_SUCCESS: + '¡Estás asegurado! 🔐
¡Buen trabajo, eres un PIVian precavido!', //You\'re Secured! 🔐
Nice stuff, Armoured PIVian! + INCORRECT_PASSWORD: '¡Contraseña incorrecta!', //Incorrect password! + INVALID_AMOUNT: '¡Cantidad no válida!
', //Invalid amount!
+ TX_SENT: '¡Transacción enviada!', //Transaction sent! + TX_FAILED: '¡Transacción fallida!', //Transaction Failed! + QR_SCANNER_BAD_RECEIVER: 'no es un receptor de pago válido', //is not a valid payment receiver + VALIDATE_AMOUNT_LOW: + '¡La cantidad mínima es {minimum Amount} {coinTicker}!', //
Minimum amount is {minimumAmount} {coinTicker}! + VALIDATE_AMOUNT_DECIMAL: '{coinDecimal} límite decimal excedido', //{coinDecimal} decimal limit exceeded + SUCCESS_STAKING_ADDR: + '¡Dirección de Staking establecida!
¡Ahora puedes dejar de hacer stake!', //Staking Address set!
Now go ahead and unstake! + STAKE_ADDR_SET: + '¡Dirección de Cold Staking establecida!
El Staking futuro usarán esta dirección.', //Cold Address set!
Future stakes will use this address. + STAKE_ADDR_BAD: '¡Dirección de Cold Staking no válida!', //Invalid Cold Staking address! + CONFIRM_UNSTAKE_H_WALLET: + 'Confirma tu retiro de Staking
Confirma el TX en tu {strHardwareName}', //Confirm your Unstake
Confirm the TX on your {strHardwareName} + CONFIRM_TRANSACTION_H_WALLET: + 'Confirma tu transacción
Confirma el TX en tu {strHardwareName}', //Confirm your transaction
Confirm the TX on your {strHardwareName} + SUCCESS_STAKING_ADDR_SET: + '¡Dirección de Staking establecida!
¡Ahora puedes hacer stake!', //Staking Address set!
Now go ahead and stake! + STAKE_NOT_SEND: + '¡Aquí, usa la pantalla Stake, no la pantalla Enviar!', //Here, use the Stake screen, not the Send screen! + BAD_ADDR_LENGTH: + '¡Dirección PIVX no válida!
Longitud incorrecta ({addressLength})', //Invalid PIVX address!
Bad length ({addressLength}) + BAD_ADDR_PREFIX: + '¡Dirección PIVX no válida!
Prefijo {address} incorrecto (debe comenzar con {addressPrefix})', //Invalid PIVX address!
Bad prefix {address} (Should start with {addressPrefix}) + SENT_NOTHING: "¡No puedes enviar 'cero'!", //You can\'t send \'nothing\'! + MORE_THEN_8_DECIMALS: 'Se superó el límite de 8 decimales', //8 decimal limit exceeded + SAVE_WALLET_PLEASE: + '¡Guarda su wallet!
Panel de control ➜ Asegura tu wallet', //Save your wallet!
Dashboard ➜ Secure your wallet + BACKUP_OR_ENCRYPT_WALLET: + '¡Por favor ENCRIPTA y/o HAGA UNA COPIA DE SEGURIDAD de tus llaves antes de irte, o puedes perderlas!', //Please ENCRYPT and/or BACKUP your keys before leaving, or you may lose them! + NO_CAMERAS: '¡Este dispositivo no tiene cámara!', //This device has no camera! + STAKING_LEDGER_NO_SUPPORT: 'Ledger no es compatible con Cold Staking', //Ledger is not supported for Cold Staking + CONNECTION_FAILED: + '¡Error al sincronizar! Vuelve a intentarlo más tarde.
Puedes intentar volver a conectarte a través de los Ajustes.', //Failed to synchronize! Please try again later.
You can attempt re-connect via the Settings. + MN_NOT_ENABLED: '¡Tu masternode aún no está habilitado!', //Your masternode is not enabled yet! + VOTE_SUBMITTED: '¡Voto enviado!', //Vote submitted! + VOTED_ALREADY: '¡Ya votaste por esta propuesta! Por favor espera 1 hora', //You already voted for this proposal! Please wait 1 hour + VOTE_SIG_BAD: + 'No se pudo verificar la firma, verifica la llave privada de tu masternode', //Failed to verify signature, please check your masternode\'s private key + MN_CREATED_WAIT_CONFS: + '¡Masternode creado!
Espere 15 confirmaciones para continuar', //Masternode Created!
Wait 15 confirmations to proceed further + MN_ACCESS_BEFORE_VOTE: '¡Accede a un masternode antes de votar!', //Access a masternode before voting! + MN_OFFLINE_STARTING: + 'Tu masternode está fuera de línea, intentaremos iniciarlo', //Your masternode is offline, we will try to start it + MN_STARTED: '¡Masternode iniciado!', //Masternode started! + MN_RESTARTED: '¡Masternode reiniciado!', //Masternode restarted! + MN_STARTED_ONLINE_SOON: + '¡Masternode iniciado!
Estará en línea muy pronto', //Masternode started!
It\'ll be online soon + MN_START_FAILED: '¡El inicio del Masternode ha fallado!', //Masternode started! + MN_RESTART_FAILED: '¡El reiniciado del Masternode ha fallado!', //Masternode restarted! + MN_DESTROYED: + '¡Masternode destruido!
Tus monedas ahora se pueden gastar.', //Masternode destroyed!
Your coins are now spendable. + MN_STATUS_IS: 'El estado de tu masternode es', //Your masternode status is + MN_STATE: 'Tu masternode está {state}', //Your masternode is in {state} state + MN_BAD_IP: '¡La dirección IP no es válida!', //The IP address is invalid! + MN_NOT_ENOUGH_COLLAT: + '¡Necesitas {amount} más {ticker} para crear un Masternode!', //You need {amount} more {ticker} to create a Masternode! + MN_ENOUGH_BUT_NO_COLLAT: + 'Tienes suficiente saldo para un Masternode, pero no tienes una garantía UTXO válida de {amount} {ticker}', //You have enough balance for a Masternode, but no valid collateral UTXO of {amount} {ticker} + MN_COLLAT_NOT_SUITABLE: 'Este no es un UTXO adecuado para un Masternode', //This is not a suitable UTXO for a Masternode + MN_CANT_CONNECT: '¡No se puede conectar al nodo RPC!', //Unable to connect to RPC node! + + /* Contacts System Alerts */ + CONTACTS_ENCRYPT_FIRST: + '¡Debes presionar "{button}" antes de poder usar Contactos!', //You need to hit "{button}" before you can use Contacts! + CONTACTS_NAME_REQUIRED: '¡Se requiere un nombre!', //A name is required! + CONTACTS_NAME_TOO_LONG: '¡El nombre es demasiado largo!', //That name is too long! + CONTACTS_CANNOT_ADD_YOURSELF: + '¡No puedes agregarte a ti mismo como contacto!', //You cannot add yourself as a Contact! + CONTACTS_ALREADY_EXISTS: + '¡El contacto ya existe!
Ya haz guardado este contacto', //Contact already exists!
You already saved this contact + CONTACTS_NAME_ALREADY_EXISTS: + '¡El nombre del contacto ya existe!
Esto podría ser un intento de phishing, ¡cuidado!', //Contact name already exists!
This could potentially be a phishing attempt, beware! + CONTACTS_EDIT_NAME_ALREADY_EXISTS: + '¡El contacto ya existe!
¡Un contacto ya se llama "{strNewName}"!', //Contact already exists!
A contact is already called "{strNewName}"! + CONTACTS_KEY_ALREADY_EXISTS: + '¡El contacto ya existe, pero con un nombre diferente!
Tienes {newName} guardado como {oldName} en tus contactos', //Contact already exists, but under a different name!
You have {newName} saved as {oldName} in your contacts + CONTACTS_NOT_A_CONTACT_QR: '¡Este no es un QR de contacto!', //This isn\'t a Contact QR! + CONTACTS_ADDED: + '¡Nuevo contacto añadido!
Se ha añadido {strName}, ¡bravo!', //New Contact added!
{strName} has been added, hurray! + CONTACTS_YOU_HAVE_NONE: '¡No tienes contactos!', //You have no contacts! + + SWITCHED_EXPLORERS: + '¡El Explorador a cambiado!
Ahora se usa {explorerName}', //Switched explorer!
Now using {explorerName} + SWITCHED_NODE: '¡El Nodo a cambiado!
Ahora se usa {nodo}', //Switched node!
Now using {node} + SWITCHED_ANALYTICS: + '¡El Nivel de análisis a cambiado!
Ahora se usa {level}', //Switched analytics level!
Now {level} + SWITCHED_SYNC: + '¡El Modo de sincronización a cambiado!
Ahora se usa la sincronización {sync}', //Switched sync mode!
Now using {sync} sync + UNABLE_SWITCH_TESTNET: + '¡No se puede cambiar a modo Testnet!
Ya hay una wallet cargada', //Unable to switch Testnet Mode!
A wallet is already loaded + + WALLET_OFFLINE_AUTOMATIC: + '¡El modo sin conexión está activo!
Desactiva el modo sin conexión para transacciones automáticas', //Offline Mode is active!
Please disable Offline Mode for automatic transactions + WALLET_UNLOCK_IMPORT: + '¡Por favor {unlock} tu wallet antes de enviar transacciones!', //Please {unlock} your wallet before sending transactions! + WALLET_FIREFOX_UNSUPPORTED: + '¡Firefox no admite esto!
Desafortunadamente, Firefox no admite wallets de hardware', //Firefox doesn't support this!
Unfortunately, Firefox does not support hardware wallets + WALLET_HARDWARE_WALLET: + '¡Listo para la wallet de hardware!
Manten tu {hardwareWallet} conectada, desbloqueada y en la aplicación PIVX.', //Hardware wallet ready!
Please keep your {hardwareWallet} plugged in, unlocked, and in the PIVX app + WALLET_CONFIRM_L: 'Confirma la importación en tu Ledger', //Confirm the import on your Ledger + WALLET_NO_HARDWARE: + 'No hay ningún dispositivo disponible
No se pudo encontrar una wallet de hardware; ¡Conéctala y desbloquéala!', //No device available
Couldn't find a hardware wallet; please plug it in and unlock! + WALLET_HARDWARE_CONNECTION_LOST: + 'Se perdió la conexión con {hardwareWallet}
Parece que {hardwareWalletProductionName} se desconectó en mitad de la operación, ¡ups!', //Lost connection to {hardwareWallet}
It seems the {hardwareWalletProductionName} was unplugged mid-operation, oops! + WALLET_HARDWARE_BUSY: + '{hardwareWallet} está esperando
Desbloquea tu {hardwareWalletProductionName} o finaliza este mensaje', //{hardwareWallet} is waiting
Please unlock your {hardwareWalletProductionName} or finish it's current prompt + WALLET_HARDWARE_ERROR: ' {hardwareWallet}
{error}', // {hardwareWallet}
{error} + + CONFIRM_POPUP_VOTE: 'Confirmar Voto', //Confirm Vote + CONFIRM_POPUP_VOTE_HTML: + '¿Está seguro? Se necesitan 60 minutos para cambiar el voto.', //Are you sure? It takes 60 minutes to change vote + CONFIRM_POPUP_TRANSACTION: 'Confirma tu transacción', //Confirm your transaction + CONFIRM_POPUP_MN_P_KEY: 'Tu llave privada de Masternode', //Your Masternode Private Key + CONFIRM_POPUP_MN_P_KEY_HTML: + '
Guarda esta llave privada y cópiala en la configuración de tu VPS
', //
Save this private key and copy it to your VPS config
+ CONFIRM_POPUP_VERIFY_ADDR: 'Verifica tu direccion', //Verify your address + + MIGRATION_MASTERNODE_FAILURE: + 'No se pudo recuperar tu masternode. Por favor vuelve a importarlo.', //Failed to recover your masternode. Please reimport it. + MIGRATION_ACCOUNT_FAILURE: + 'No se pudo recuperar tu cuenta. Por favor vuelva a importarlo.', //Failed to recover your account. Please reimport it. + APP_INSTALLED: '¡Aplicación instalada!', //App Installed! +}; diff --git a/locale/fr/translation.js b/locale/fr/translation.js index e4df4d7f9..98c8c7e48 100644 --- a/locale/fr/translation.js +++ b/locale/fr/translation.js @@ -2,6 +2,7 @@ export const fr_translation = { // Les balises HTML de base sont autorisées, comme , etc. Toutes les données sont nettoyées https://developer.mozilla.org/fr/docs/Web/API/Element/innerHTML // NOTA: Si une section n'a PAS besoin d'être traduite, laissez-la vide.. + // NOTE : Les variables que MPW insère sont indiquées par des accolades {}, par exemple, {button}, NE traduisez PAS les variables, mais placez-les là où cela a le plus de sens. // General words amount: 'Montant', //Amount @@ -13,14 +14,14 @@ export const fr_translation = { no: 'Non', //No // Nav Bar - navDashboard: 'Tableau de bBord', //Dashboard + navDashboard: 'Tableau de Bord', //Dashboard navStake: 'Stake', //Stake navMasternode: 'Masternode', //Masternode navGovernance: 'Gouvernance', //Governance - navSettings: 'Configurations', //Settings + navSettings: 'Paramètres', //Settings // Footer - footerBuiltWithPivxLabs: 'Construit avec 💜 par PIVX Labs FR 🇫🇷', //Built with 💜 by PIVX Labs + footerBuiltWithPivxLabs: 'Construit avec 💜 par PIVX Labs 🇫🇷', //Built with 💜 by PIVX Labs // Intro loading: 'Chargement', //Loading @@ -54,8 +55,8 @@ export const fr_translation = { dCardFourButtonA: 'Accéder à mon portefeuille', //Access My Wallet // Vanity Creation - vanityPrefixNote: '', //Note: addresses will always start with: - vanityPrefixInput: '', //Address Prefix + vanityPrefixNote: 'Remarque : les adresses commencent toujours par :', //Note: addresses will always start with: + vanityPrefixInput: 'Adresse Préfixe', //Address Prefix // Seed Phrase Creation thisIsYourSeed: "Voici votre phrase d'introduction:", //This is your seed phrase: @@ -70,11 +71,13 @@ export const fr_translation = { writtenDown: "J'ai écrit ma phrase d'introduction", //I have written down my seed phrase // Seed Phrase Import - importSeedValid: '', //Seed Phrase is valid! - importSeedError: '', //Seed Phrase is invalid! - importSeedErrorSize: '', //A Seed Phrase should be 12 or 24 words long! - importSeedErrorTypo: '', //Seed Phrase contains typing errors! Check your input carefully - importSeedErrorSkip: '', //Seed Phrase appears invalid, but the warning was skipped by the user + importSeedValid: 'La phrase source est valide !', //Seed Phrase is valid! + importSeedError: "La phrase source n'est pas valide !", //Seed Phrase is invalid! + importSeedErrorSize: 'Une phrase clé doit comporter entre 12 et 24 mots !', //A Seed Phrase should be 12 or 24 words long! + importSeedErrorTypo: + 'Seed Phrase contient des fautes de frappe ! Vérifiez soigneusement votre saisie', //Seed Phrase contains typing errors! Check your input carefully + importSeedErrorSkip: + "La phrase de semence semble invalide, mais l'utilisateur n'a pas tenu compte de l'avertissement.", //Seed Phrase appears invalid, but the warning was skipped by the user // Wallet Dashboard gettingStarted: 'Démarrer', //Getting Started @@ -84,56 +87,62 @@ export const fr_translation = { // Encrypt wallet encryptWallet: 'Cryptage du portefeuille', //Encrypt wallet - encryptPasswordCurrent: '', //Current Password + encryptPasswordCurrent: 'Mot de passe actuel', //Current Password encryptPasswordFirst: 'Entrer le mot de passe', //Enter Password encryptPasswordSecond: 'Réintroduire le mot de passe', //Re-enter Password encrypt: 'Crypter', //Encrypt - changePassword: '', //Change Password + changePassword: 'Changer le mot de passe', //Change Password // Wallet Dashboard Sub-menu balanceBreakdown: 'Composition de la balance', //Balance Breakdown viewOnExplorer: "Voir dans l'explorateur", //View on Explorer export: 'Exporter', //Export - refreshAddress: "Mise à jour de l'adresse", //Refresh address - redeemOrCreateCode: 'Remplacer ou créer un code', //Redeem or Create Code + refreshAddress: "Mise à jour de l'Adresse", //Refresh address + redeemOrCreateCode: 'Ouvrir ou Créer un Code', //Redeem or Create Code // Send address: 'Adresse', //Address receivingAddress: 'Adresse de réception', //Receiving address - sendAmountCoinsMax: 'Maximum', //MAX + sendAmountCoinsMax: 'Max', //MAX paymentRequestMessage: "Description (de l'opérateur)", //Description (from the merchant) send: 'Envoyer', //Send // Contacts System - receive: '', //Receive - contacts: '', //Contacts - name: '', //Name - username: '', //Username - addressOrXPub: '', //Address or XPub - back: '', //Back - chooseAContact: '', //Choose a Contact - createContact: '', //Create Contact - encryptFirstForContacts: '', //Once you hit "{button}" in the Dashboard, you can create a Contact to make receiving PIV easier! - shareContactURL: '', //Share Contact URL - setupYourContact: '', //Setup your Contact - receiveWithContact: '', //Receive using a simple username-based Contact - onlyShareContactPrivately: '', //Only share your Contact with trusted people (family, friends) + receive: 'Recevoir', //Receive + contacts: 'Contacts', //Contacts + name: 'Nom', //Name + username: "Nom d'utilisateur", //Username + addressOrXPub: 'Adresse ou XPub', //Address or XPub + back: 'Retour', //Back + chooseAContact: 'Sélectionner un contact', //Choose a Contact + createContact: "Création d'un contact", //Create Contact + encryptFirstForContacts: + 'Une fois que vous avez touché "{button}" dans le tableau de bord, vous pouvez créer un contact pour faciliter la réception des PIV !', //Once you hit "{button}" in the Dashboard, you can create a Contact to make receiving PIV easier! + shareContactURL: "Partager l'URL du contact", //Share Contact URL + setupYourContact: 'Configurez votre contact', //Setup your Contact + receiveWithContact: + "Recevoir par un simple contact basé sur le nom d'utilisateur", //Receive using a simple username-based Contact + onlyShareContactPrivately: + 'Seul partager votre contact avec des personnes de confiance (famille, amis)', //Only share your Contact with trusted people (family, friends) /* Context: The "Change to" is used in-app with one of the Three options below it, i.e: "Change to Contact" */ - changeTo: '', //Change to - contact: '', //Contact - xpub: '', //XPub + changeTo: 'Modifier pour', //Change to + contact: 'Contact', //Contact + xpub: 'XPub', //XPub - addContactTitle: '', //Add {strName} to Contacts - addContactSubtext: '', //Once added you\'ll be able to send transactions to {strName} by their name (either typing, or clicking), no more addresses, nice \'n easy. - addContactWarning: '', //Ensure that this is the real "{strName}", do not accept Contact requests from unknown sources! + addContactTitle: 'Ajouter {strName} aux contacts', //Add {strName} to Contacts + addContactSubtext: + "Une fois ajouté, vous pourrez envoyer des transactions à {strName} par leur nom (en tapant ou en cliquant), plus d'adresses, c'est facile.", //Once added you\'ll be able to send transactions to {strName} by their name (either typing, or clicking), no more addresses, nice \'n easy. + addContactWarning: + "S'assurer qu'il s'agit bien d'un produit authentique \"{strName}\", n'acceptez pas de demandes de contact provenant de sources inconnues ! ", //Ensure that this is the real "{strName}", do not accept Contact requests from unknown sources! - editContactTitle: '', //Change "{strName}" Contact - newName: '', //New Name + editContactTitle: 'Changer "{strName}" Contact', //Change "{strName}" Contact + newName: 'Nouvelle dénomination', //New Name - removeContactTitle: '', //Remove {strName}? - removeContactSubtext: '', //Are you sure you wish to remove {strName} from your Contacts? - removeContactNote: '', //You can add them again any time in the future. + removeContactTitle: 'Supprimer {strName}?', //Remove {strName}? + removeContactSubtext: + 'Êtes-vous sûr de vouloir supprimer {strName} de vos contacts ?', //Are you sure you wish to remove {strName} from your Contacts? + removeContactNote: "Vous pouvez les ajouter à tout moment à l'avenir.", //You can add them again any time in the future. // Export privateKey: 'Clé privée', //Private Key @@ -152,8 +161,8 @@ export const fr_translation = { createAmount: 'Valeur promotionnelle', //Promo Amount // Stake - stake: '', //Stake - stakeUnstake: '', //Unstake + stake: 'Stake', //Stake + stakeUnstake: 'Unstake', //Unstake rewardHistory: 'Historique des récompenses', //Reward History loadMore: 'Chargez plus', //Load more @@ -178,24 +187,27 @@ export const fr_translation = { // Settings settingsCurrency: "Choisissez une devise d'affichage :", //Choose a display currency: - priceProvidedBy: '', //Price data provided by + priceProvidedBy: 'Les prix sont fournis par', //Price data provided by settingsDecimals: 'Solde Décimales :', //Balance Decimals: settingsExplorer: 'Choisissez un explorateur :', //Choose an explorer: settingsLanguage: 'Choisissez une langue :', //Choose a Language: - settingsPivxNode: 'Choisir un nœud PIVX :', //Choose a PIVX node: + settingsPivxNode: 'Choisir un node PIVX :', //Choose a PIVX node: settingsAutoSelectNet: - 'Sélection Automatique des Explorateurs et des Nœuds', //Auto-select Explorers and Nodes + 'Sélection Automatique des Explorateurs et des Nodes', //Auto-select Explorers and Nodes settingsAnalytics: "Choisissez votre niveau d'analyse :", //Choose your analytics contribution level: settingsToggleDebug: 'Mode de débogage', //Debug Mode settingsToggleTestnet: 'Mode testnet', //Testnet Mode - settingsToggleAdvancedMode: '', //Advanced Mode - settingsToggleAdvancedModeSubtext: '', //This unlocks deeper functionality and customisation, but may be overwhelming and potentially dangerous for unexperienced users! + settingsToggleAdvancedMode: 'Mode avancé', //Advanced Mode + settingsToggleAdvancedModeSubtext: + "Cela permet d'accéder à des fonctionnalités et à une personnalisation plus poussées, mais peut s'avérer difficile et potentiellement dangereux pour les utilisateurs inexpérimentés !", //This unlocks deeper functionality and customisation, but may be overwhelming and potentially dangerous for unexperienced users! // Network switching (mainnet <---> testnet) - netSwitchUnsavedWarningTitle: '', //Your {network} wallet isn\'t saved! - netSwitchUnsavedWarningSubtitle: '', //Your {network} account is at risk! - netSwitchUnsavedWarningSubtext: '', //If you switch to {network} before saving it, you\'ll lose the account! - netSwitchUnsavedWarningConfirmation: '', //Are you really sure? + netSwitchUnsavedWarningTitle: + "Votre {network} portefeuille n'est pas sauvé !", //Your {network} wallet isn\'t saved! + netSwitchUnsavedWarningSubtitle: 'Votre {network} compte est en danger !', //Your {network} account is at risk! + netSwitchUnsavedWarningSubtext: + "Si vous changez de compte {network} avant de l'avoir sauvegardé, vous perdrez le compte! ", //If you switch to {network} before saving it, you\'ll lose the account! + netSwitchUnsavedWarningConfirmation: 'Êtes-vous vraiment sûr ?', //Are you really sure? // Transparency Report transparencyReport: 'Rapport de transparence', //Transparency Report @@ -289,7 +301,7 @@ export const fr_translation = { unhandledException: 'Exception non traitée.', //Unhandled exception. // Alerts - ALERTS: '<-- DO NOT EDIT! All below entries are for Alert Popups', + ALERTS: '<-- DO NOT EDIT THIS LINE! All below entries are for Alert Popups', INTERNAL_ERROR: 'Erreur interne, veuillez réessayer plus tard', //Internal error, please try again later FAILED_TO_IMPORT: "Échec de l'importation ! Mot de passe invalide", //Failed to import! Invalid password @@ -371,17 +383,24 @@ export const fr_translation = { MN_CANT_CONNECT: 'Impossible de se connecter au nœud RPC!', //Unable to connect to RPC node! /* Contacts System Alerts */ - CONTACTS_ENCRYPT_FIRST: '', //You need to hit "{button}" before you can use Contacts! - CONTACTS_NAME_REQUIRED: '', //A name is required! - CONTACTS_NAME_TOO_LONG: '', //That name is too long! - CONTACTS_CANNOT_ADD_YOURSELF: '', //You cannot add yourself as a Contact! - CONTACTS_ALREADY_EXISTS: '', //Contact already exists!
You already saved this contact - CONTACTS_NAME_ALREADY_EXISTS: '', //Contact name already exists!
This could potentially be a phishing attempt, beware! - CONTACTS_EDIT_NAME_ALREADY_EXISTS: '', //Contact already exists!
A contact is already called "{strNewName}"! - CONTACTS_KEY_ALREADY_EXISTS: '', //Contact already exists, but under a different name!
You have {newName} saved as {oldName} in your contacts - CONTACTS_NOT_A_CONTACT_QR: '', //This isn\'t a Contact QR! - CONTACTS_ADDED: '', //New Contact added!
{strName} has been added, hurray! - CONTACTS_YOU_HAVE_NONE: '', //You have no contacts! + CONTACTS_ENCRYPT_FIRST: + 'Vous devez appuyer sur "{button}" avant de pouvoir utiliser les contacts !', //You need to hit "{button}" before you can use Contacts! + CONTACTS_NAME_REQUIRED: 'Un nom est nécessaire !', //A name is required! + CONTACTS_NAME_TOO_LONG: 'Le nom est trop long !', //That name is too long! + CONTACTS_CANNOT_ADD_YOURSELF: + 'Vous ne pouvez pas vous ajouter comme contact !', //You cannot add yourself as a Contact! + CONTACTS_ALREADY_EXISTS: + 'Le contact existe déjà!
Vous avez déjà enregistré ce contact', //Contact already exists!
You already saved this contact + CONTACTS_NAME_ALREADY_EXISTS: + "Le nom du contact existe déjà!
Il pourrait s'agir d'une tentative d'hameçonnage, attention!", //Contact name already exists!
This could potentially be a phishing attempt, beware! + CONTACTS_EDIT_NAME_ALREADY_EXISTS: + 'Le contact existe déjà!
Un contact est déjà appelé "{strNewName}"!', //Contact already exists!
A contact is already called "{strNewName}"! + CONTACTS_KEY_ALREADY_EXISTS: + 'Le contact existe déjà, mais sous un nom différent!
Vous avez {newName} sauvegardé comme {oldName} dans vos contacts', //Contact already exists, but under a different name!
You have {newName} saved as {oldName} in your contacts + CONTACTS_NOT_A_CONTACT_QR: "Ce n'est pas un QR de contact!", //This isn\'t a Contact QR! + CONTACTS_ADDED: + 'Nouveau contact ajouté!
{strName} a été ajouté, bravo!', //New Contact added!
{strName} has been added, hurray! + CONTACTS_YOU_HAVE_NONE: "Vous n'avez pas de contacts!", //You have no contacts! SWITCHED_EXPLORERS: 'Explorateur échangé!
En utilisant maintenant le {explorerName}', //Switched explorer!
Now using {explorerName} @@ -396,11 +415,11 @@ export const fr_translation = { WALLET_OFFLINE_AUTOMATIC: 'Le mode hors-ligne est actif !
Veuillez désactiver le mode hors connexion pour les transactions automatiques', //Offline Mode is active!
Please disable Offline Mode for automatic transactions WALLET_UNLOCK_IMPORT: - " //S'il vous plaît, {unlock} votre portefeuille avant d'envoyer des transactions !", //Please {unlock} your wallet before sending transactions! + "S'il vous plaît, {unlock} votre portefeuille avant d'envoyer des transactions !", //Please {unlock} your wallet before sending transactions! WALLET_FIREFOX_UNSUPPORTED: 'O Firefox ne supporte pas cela !
Malheureusement, Firefox ne prend pas en charge les portefeuilles hardware', //Firefox doesn't support this!
Unfortunately, Firefox does not support hardware wallets WALLET_HARDWARE_WALLET: - " //Portefeuille de Hardware prêt!
Gardez votre {hardwareWallet} connecté, déverrouillé et dans l'application PIVX", //Hardware wallet ready!
Please keep your {hardwareWallet} plugged in, unlocked, and in the PIVX app + "Portefeuille de Hardware prêt!
Gardez votre {hardwareWallet} connecté, déverrouillé et dans l'application PIVX", //Hardware wallet ready!
Please keep your {hardwareWallet} plugged in, unlocked, and in the PIVX app WALLET_CONFIRM_L: "Confirmez l'importation dans votre Ledger", //Confirm the import on your Ledger WALLET_NO_HARDWARE: "Aucun dispositif disponible
Il n'a pas été possible de trouver un portefeuille de hardware; brancher et déverrouiller!", //No device available
Couldn't find a hardware wallet; please plug it in and unlock! @@ -420,8 +439,8 @@ export const fr_translation = { CONFIRM_POPUP_VERIFY_ADDR: 'Vérifiez votre adresse', //Verify your address MIGRATION_MASTERNODE_FAILURE: - "//Échec de la récupération de votre masternode. S'il vous plaît, le réimporter.", //Failed to recover your masternode. Please reimport it. + "Échec de la récupération de votre masternode. S'il vous plaît, le réimporter.", //Failed to recover your masternode. Please reimport it. MIGRATION_ACCOUNT_FAILURE: - "//Échec de la récupération de votre compte. S'il vous plaît, le réimporter.", //Failed to recover your account. Please reimport it. - APP_INSTALLED: '//Application installée!', //App Installed! + "Échec de la récupération de votre compte. S'il vous plaît, le réimporter.", //Failed to recover your account. Please reimport it. + APP_INSTALLED: 'Application installée!', //App Installed! }; diff --git a/locale/it/translation.js b/locale/it/translation.js index 0812ec38e..79664de7b 100644 --- a/locale/it/translation.js +++ b/locale/it/translation.js @@ -2,6 +2,7 @@ export const it_translation = { // Sono consentiti tag HTML di base, come ecc. Tutti i dati vengono puliti https://developer.mozilla.org/fr/docs/Web/API/Element/innerHTML // NOTA: Se una sezione NON necessita di traduzione , lasciala vuota. + // NOTA: Le variabili che MPW inserisce sono indicate da parentesi {}, ad esempio, {button}, NON tradurre le variabili, ma posizionale dove ha più senso. // General words amount: 'Quantità', //Amount @@ -20,7 +21,7 @@ export const it_translation = { navSettings: 'Impostazioni', //Settings // Footer - footerBuiltWithPivxLabs: 'Costruito col 💜 da PIVX Labs ', //Built with 💜 by PIVX Labs + footerBuiltWithPivxLabs: 'Costruito col 💜 da PIVX Labs 🇮🇹', //Built with 💜 by PIVX Labs // Intro loading: 'Caricamento', //Loading @@ -280,7 +281,7 @@ export const it_translation = { unhandledException: 'Eccezione non gestita', //Unhandled exception. // Alerts - ALERTS: '<-- DO NOT EDIT! All below entries are for Alert Popups', + ALERTS: '<-- DO NOT EDIT THIS LINE! All below entries are for Alert Popups', INTERNAL_ERROR: 'Errore interno, rirova più tardi', //Internal error, please try again later FAILED_TO_IMPORT: 'Impossibile importare! Password non valida', //Failed to import! Invalid password diff --git a/locale/ph/translation.js b/locale/ph/translation.js index 672b2f35b..05cd5ac93 100644 --- a/locale/ph/translation.js +++ b/locale/ph/translation.js @@ -3,6 +3,7 @@ export const ph_translation = { // Basic HTML tags are allowed such as etc. All data is sanitized https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML // NOTE: If a section does NOT need translating, leave it empty. + // NOTE: Variables that MPW insert are denoted by brackets {}, for example, {button}, do NOT translate variables, but place them where it makes the most sense. // General words amount: 'Halaga', //Amount @@ -55,8 +56,8 @@ export const ph_translation = { dCardFourButtonA: 'I-access ang aking Wallet', //Access My Wallet // Vanity Creation - vanityPrefixNote: '', //Note: addresses will always start with: - vanityPrefixInput: '', //Address Prefix + vanityPrefixNote: 'Tandaan: Ang mga address ay laging naguumpisa sa:', //Note: addresses will always start with: + vanityPrefixInput: 'Prefix ng Address', //Address Prefix // Seed Phrase Creation thisIsYourSeed: 'Ito ang iyong seed phrase:', //This is your seed phrase: @@ -71,11 +72,14 @@ export const ph_translation = { writtenDown: 'Isinulat ko na ang aking seed phrase', //I have written down my seed phrase // Seed Phrase Import - importSeedValid: '', //Seed Phrase is valid! - importSeedError: '', //Seed Phrase is invalid! - importSeedErrorSize: '', //A Seed Phrase should be 12 or 24 words long! - importSeedErrorTypo: '', //Seed Phrase contains typing errors! Check your input carefully - importSeedErrorSkip: '', //Seed Phrase appears invalid, but the warning was skipped by the user + importSeedValid: 'Ang Seed Phrase ay wasto!', //Seed Phrase is valid! + importSeedError: 'Ang Seed Phrase ay hindi wasto!', //Seed Phrase is invalid! + importSeedErrorSize: + 'Ang Seed Phrase dapat ay 12 o 24 na mga salita ang haba!', //A Seed Phrase should be 12 or 24 words long! + importSeedErrorTypo: + 'Ang Seed Phrase ay naglalaman ng mga error sa pag-type! Suriin itong mabuti sa iyong input', //Seed Phrase contains typing errors! Check your input carefully + importSeedErrorSkip: + 'Ang Seed Phrase ay lumalabas na hindi wasto, ngunit ang babala ay nilaktawan ng user', //Seed Phrase appears invalid, but the warning was skipped by the user // Wallet Dashboard gettingStarted: 'Magsimula', //Getting Started @@ -85,11 +89,11 @@ export const ph_translation = { // Encrypt wallet encryptWallet: 'Encrypt wallet', //Encrypt wallet - encryptPasswordCurrent: '', //Current Password + encryptPasswordCurrent: 'Kasalukuyang Password', //Current Password encryptPasswordFirst: 'Ilagay ang Password', //Enter Password encryptPasswordSecond: 'Ilagay ulit ang Password', //Re-enter Password encrypt: 'Encrypt', //Encrypt - changePassword: '', //Change Password + changePassword: 'Mag palit ng Password', //Change Password // Wallet Dashboard Sub-menu balanceBreakdown: 'Kabuoang Balanse', //Balance Breakdown @@ -106,35 +110,42 @@ export const ph_translation = { send: 'Ipadala', //Send // Contacts System - receive: '', //Receive - contacts: '', //Contacts - name: '', //Name - username: '', //Username - addressOrXPub: '', //Address or XPub - back: '', //Back - chooseAContact: '', //Choose a Contact - createContact: '', //Create Contact - encryptFirstForContacts: '', //Once you hit "{button}" in the Dashboard, you can create a Contact to make receiving PIV easier! - shareContactURL: '', //Share Contact URL - setupYourContact: '', //Setup your Contact - receiveWithContact: '', //Receive using a simple username-based Contact - onlyShareContactPrivately: '', //Only share your Contact with trusted people (family, friends) + receive: 'Tumanggap', //Receive + contacts: 'Mga Contact', //Contacts + name: 'Pangalan', //Name + username: 'Username', //Username + addressOrXPub: 'Address o XPub', //Address or XPub + back: 'Bumalik', //Back + chooseAContact: 'Pumili ng Contact', //Choose a Contact + createContact: 'Lumikha ng Contact', //Create Contact + encryptFirstForContacts: + 'Sa sandaling mapindot mo ang "{button}" sa Dashboard, maaari kang lumikha ng Contact upang gawing mas madali ang pagtanggap ng PIV!', //Once you hit "{button}" in the Dashboard, you can create a Contact to make receiving PIV easier! + shareContactURL: 'Magbahagi ng Contact URL', //Share Contact URL + setupYourContact: 'I-set up ang iyong Contact', //Setup your Contact + receiveWithContact: + 'Tumanggap gamit ang simpleng Contact na nakabase sa username', //Receive using a simple username-based Contact + onlyShareContactPrivately: + 'Pinakamabuting ibahagi ang iyong contact sa mga pinagkakatiwalaang tao (pamilya, kaibigan)', //Only share your Contact with trusted people (family, friends) /* Context: The "Change to" is used in-app with one of the Three options below it, i.e: "Change to Contact" */ - changeTo: '', //Change to - contact: '', //Contact - xpub: '', //XPub + changeTo: 'Baguhin sa', //Change to + contact: 'Contact', //Contact + xpub: 'XPub', //XPub - addContactTitle: '', //Add {strName} to Contacts - addContactSubtext: '', //Once added you\'ll be able to send transactions to {strName} by their name (either typing, or clicking), no more addresses, nice \'n easy. - addContactWarning: '', //Ensure that this is the real "{strName}", do not accept Contact requests from unknown sources! + addContactTitle: 'Idagdag si {strName} sa mga Contact', //Add {strName} to Contacts + addContactSubtext: + 'Kapag naidagdag na, maaari ka ng makapag padala ng transaksyon sa {strName} sa pamamagitan ng kanilang pangalan (kahit alin sa pagta-type o pag-click), wala nang mga address, maganda at madali. ', //Once added you\'ll be able to send transactions to {strName} by their name (either typing, or clicking), no more addresses, nice \'n easy. + addContactWarning: + 'Siguraduhin na ito ay tunay na "{strName}", Wag tumanggap ng mga Contact request galing sa mga hindi kilalang pinagmulan! ', //Ensure that this is the real "{strName}", do not accept Contact requests from unknown sources! - editContactTitle: '', //Change "{strName}" Contact - newName: '', //New Name + editContactTitle: 'Baguhin ang "{strName}" Contact', //Change "{strName}" Contact + newName: 'Bagong Pangalan', //New Name - removeContactTitle: '', //Remove {strName}? - removeContactSubtext: '', //Are you sure you wish to remove {strName} from your Contacts? - removeContactNote: '', //You can add them again any time in the future. + removeContactTitle: 'Tanggalin si {strName}?', //Remove {strName}? + removeContactSubtext: + 'Sigurado na ba ang hiling mo na tanggalin si {strName} sa iyong mga Contact?', //Are you sure you wish to remove {strName} from your Contacts? + removeContactNote: + 'Maaari mong maidagdag ang mga ito kahit anong oras sa hinaharap', //You can add them again any time in the future. // Export privateKey: 'Private Key', //Private Key @@ -180,23 +191,26 @@ export const ph_translation = { // Settings settingsCurrency: 'Pumili ng display currency:', //Choose a display currency: - priceProvidedBy: '', //Price data provided by - settingsDecimals: '', //Balance Decimals: + priceProvidedBy: 'Datos ng presyo na ibinigay ng', //Price data provided by + settingsDecimals: 'Balance Decimals:', //Balance Decimals: settingsExplorer: 'Pumili ng explorer:', //Choose an explorer: settingsLanguage: 'Pumili ng Wika:', //Choose a Language: settingsPivxNode: 'Pumili ng PIVX node:', //Choose a PIVX node: - settingsAutoSelectNet: 'Automatikong pagpili ng Explorers and Nodes', //Auto-select Explorers and Nodes + settingsAutoSelectNet: 'Automatikong pagpili ng Explorers at Nodes', //Auto-select Explorers and Nodes settingsAnalytics: 'Pumili ng iyong analytics contribution level:', //Choose your analytics contribution level: settingsToggleDebug: 'Debug Mode', //Debug Mode settingsToggleTestnet: 'Testnet Mode', //Testnet Mode - settingsToggleAdvancedMode: '', //Advanced Mode - settingsToggleAdvancedModeSubtext: '', //This unlocks deeper functionality and customisation, but may be overwhelming and potentially dangerous for unexperienced users! + settingsToggleAdvancedMode: 'Advance Mode', //Advanced Mode + settingsToggleAdvancedModeSubtext: + 'Ito ay nagbubukas ng mas malalim na functionality at pagpapasadya ngunit napapalaki at maaaring mapanganib sa mga user na wala pang karanasan!', //This unlocks deeper functionality and customisation, but may be overwhelming and potentially dangerous for unexperienced users! // Network switching (mainnet <---> testnet) - netSwitchUnsavedWarningTitle: '', //Your {network} wallet isn\'t saved! - netSwitchUnsavedWarningSubtitle: '', //Your {network} account is at risk! - netSwitchUnsavedWarningSubtext: '', //If you switch to {network} before saving it, you\'ll lose the account! - netSwitchUnsavedWarningConfirmation: '', //Are you really sure? + netSwitchUnsavedWarningTitle: 'Ang iyong {network} wallet ay hind na-save!', //Your {network} wallet isn\'t saved! + netSwitchUnsavedWarningSubtitle: + 'Ang iyong {network} account ay nanganganib!', //Your {network} account is at risk! + netSwitchUnsavedWarningSubtext: + 'Kung ikaw ay mag papalit ng {network} bago mo ito i-save, mawawalan ka ng account!', //If you switch to {network} before saving it, you\'ll lose the account! + netSwitchUnsavedWarningConfirmation: 'Sigurado ka na ba talaga dito?', //Are you really sure? // Transparency Report transparencyReport: 'Transparency Report', //Transparency Report @@ -280,7 +294,7 @@ export const ph_translation = { proposalNetYes: 'Net Yes', //Net Yes popupConfirm: 'Kumpirmahin', //Confirm popupClose: 'Isara', //Close - popupCancel: 'I-cancel', //Cancel + popupCancel: 'Kanselahin', //Cancel chartPublicAvailable: 'Public Available', //Public Available timeDays: 'Mga araw', //Days timeHours: 'Mga oras', //Hours @@ -289,7 +303,7 @@ export const ph_translation = { unhandledException: 'Unhandled exception.', //Unhandled exception. // Alerts - ALERTS: '<-- DO NOT EDIT! All below entries are for Alert Popups', + ALERTS: '<-- DO NOT EDIT THIS LINE! All below entries are for Alert Popups', INTERNAL_ERROR: 'Internal error, Pakiusap uliting muli', //Internal error, please try again later FAILED_TO_IMPORT: @@ -375,17 +389,24 @@ export const ph_translation = { MN_CANT_CONNECT: 'Hindi maka-konekta sa RPC node!', //Unable to connect to RPC node! /* Contacts System Alerts */ - CONTACTS_ENCRYPT_FIRST: '', //You need to hit "{button}" before you can use Contacts! - CONTACTS_NAME_REQUIRED: '', //A name is required! - CONTACTS_NAME_TOO_LONG: '', //That name is too long! - CONTACTS_CANNOT_ADD_YOURSELF: '', //You cannot add yourself as a Contact! - CONTACTS_ALREADY_EXISTS: '', //Contact already exists!
You already saved this contact - CONTACTS_NAME_ALREADY_EXISTS: '', //Contact name already exists!
This could potentially be a phishing attempt, beware! - CONTACTS_EDIT_NAME_ALREADY_EXISTS: '', //Contact already exists!
A contact is already called "{strNewName}"! - CONTACTS_KEY_ALREADY_EXISTS: '', //Contact already exists, but under a different name!
You have {newName} saved as {oldName} in your contacts - CONTACTS_NOT_A_CONTACT_QR: '', //This isn\'t a Contact QR! - CONTACTS_ADDED: '', //New Contact added!
{strName} has been added, hurray! - CONTACTS_YOU_HAVE_NONE: '', //You have no contacts! + CONTACTS_ENCRYPT_FIRST: + 'Kailangan mong pindutin ang "{button}" bago mo magamit ang mga Contact', //You need to hit "{button}" before you can use Contacts! + CONTACTS_NAME_REQUIRED: 'Kailangan ng pangalan!', //A name is required! + CONTACTS_NAME_TOO_LONG: 'Ang pangalan na ito ay masyadong mahaba!', //That name is too long! + CONTACTS_CANNOT_ADD_YOURSELF: + 'Hindi mo maaaring maidagdag ang iyong sarili bilang Contact!', //You cannot add yourself as a Contact! + CONTACTS_ALREADY_EXISTS: + 'Mayroon na ang Contact na ito!
Na i-save mo na ang contact na ito', //Contact already exists!
You already saved this contact + CONTACTS_NAME_ALREADY_EXISTS: + 'Mayroon na ang Contact na ito!
Maaari itong isang phishing attempt, mag ingat!', //Contact name already exists!
This could potentially be a phishing attempt, beware! + CONTACTS_EDIT_NAME_ALREADY_EXISTS: + 'Mayroon na ang Contact na ito!
Natawagan na ang Contact na ito "{strNewName}"!', //Contact already exists!
A contact is already called "{strNewName}"! + CONTACTS_KEY_ALREADY_EXISTS: + 'Mayroon na ang Contact na ito, ngunit sa ibang pangalan!
Mayroon kang {newName} bilang {oldName} sa iyong mga contact', //Contact already exists, but under a different name!
You have {newName} saved as {oldName} in your contacts + CONTACTS_NOT_A_CONTACT_QR: 'Ito ay hindi isang Contact QR! ', //This isn\'t a Contact QR! + CONTACTS_ADDED: + 'Naidagdag na ang bagong Contact!
{strName} ay naidagdag na, mabuhay!', //New Contact added!
{strName} has been added, hurray! + CONTACTS_YOU_HAVE_NONE: 'Ikaw ay walang mga contact', //You have no contacts! SWITCHED_EXPLORERS: 'Nagpalit ng explorer!Ang gamit ngayon ay {explorerName}', //Switched explorer!
Now using {explorerName} diff --git a/locale/pt-br/translation.js b/locale/pt-br/translation.js index 1e7bb99d9..764a09df7 100644 --- a/locale/pt-br/translation.js +++ b/locale/pt-br/translation.js @@ -2,6 +2,7 @@ export const pt_br_translation = { // As tags básicas HTML são permitidas como etc. Todos os dados são higienizados https://developer.mozilla.org/pt-BR/docs/Web/API/Element/innerHTML // NOTA: Se uma seção NÃO precisar ser traduzida, deixe-a vazia. + // NOTE: Variables that MPW insert are denoted by brackets {}, for example, {button}, do NOT translate variables, but place them where it makes the most sense. // General words amount: 'Quantidade', //Amount @@ -54,8 +55,8 @@ export const pt_br_translation = { dCardFourButtonA: 'Acessar a Minha Carteira', //Access My Wallet // Vanity Creation - vanityPrefixNote: '', //Note: addresses will always start with: - vanityPrefixInput: '', //Address Prefix + vanityPrefixNote: 'Anotação: Endereços sempre começaram com:', //Note: addresses will always start with: + vanityPrefixInput: 'Prefixo de endereço', //Address Prefix // Seed Phrase Creation thisIsYourSeed: 'Esta é a sua Seed Phrase:', //This is your seed phrase: @@ -70,11 +71,13 @@ export const pt_br_translation = { writtenDown: 'Eu escrevi a minha Seed Phrase', //I have written down my seed phrase // Seed Phrase Import - importSeedValid: '', //Seed Phrase is valid! - importSeedError: '', //Seed Phrase is invalid! - importSeedErrorSize: '', //A Seed Phrase should be 12 or 24 words long! - importSeedErrorTypo: '', //Seed Phrase contains typing errors! Check your input carefully - importSeedErrorSkip: '', //Seed Phrase appears invalid, but the warning was skipped by the user + importSeedValid: 'Seed Phrase é válida!', //Seed Phrase is valid! + importSeedError: 'Seed Phrase é inválida!', //Seed Phrase is invalid! + importSeedErrorSize: 'A Seed Phrase deve ter 12 ou 24 palavras!', //A Seed Phrase should be 12 or 24 words long! + importSeedErrorTypo: + 'Seed Phrase contem erros de digitação! Verifique a cuidadosamente', //Seed Phrase contains typing errors! Check your input carefully + importSeedErrorSkip: + 'Seed Phrase registra como inválida, mas o aviso foi pulado pelo usuário', //Seed Phrase appears invalid, but the warning was skipped by the user // Wallet Dashboard gettingStarted: 'Começar', //Getting Started @@ -84,11 +87,11 @@ export const pt_br_translation = { // Encrypt wallet encryptWallet: 'Criptografar carteira', //Encrypt wallet - encryptPasswordCurrent: '', //Current Password + encryptPasswordCurrent: 'Senha Atual', //Current Password encryptPasswordFirst: 'Digite a senha', //Enter Password encryptPasswordSecond: 'Digite a senha novamente', //Re-enter Password encrypt: 'Criptografar', //Encrypt - changePassword: '', //Change Password + changePassword: 'Mudar Senha', //Change Password // Wallet Dashboard Sub-menu balanceBreakdown: 'Composição do Saldo', //Balance Breakdown @@ -105,35 +108,41 @@ export const pt_br_translation = { send: 'Enviar', //Send // Contacts System - receive: '', //Receive - contacts: '', //Contacts - name: '', //Name - username: '', //Username - addressOrXPub: '', //Address or XPub - back: '', //Back - chooseAContact: '', //Choose a Contact - createContact: '', //Create Contact - encryptFirstForContacts: '', //Once you hit "{button}" in the Dashboard, you can create a Contact to make receiving PIV easier! - shareContactURL: '', //Share Contact URL - setupYourContact: '', //Setup your Contact - receiveWithContact: '', //Receive using a simple username-based Contact - onlyShareContactPrivately: '', //Only share your Contact with trusted people (family, friends) + receive: 'Receber', //Receive + contacts: 'Contatos', //Contacts + name: 'Nome', //Name + username: 'Nome de usuário', //Username + addressOrXPub: 'Endereço ou XPub', //Address or XPub + back: 'Voltar', //Back + chooseAContact: 'Escolher um contato', //Choose a Contact + createContact: 'Criar Contato', //Create Contact + encryptFirstForContacts: + 'Quando você pressionar "{button}" no dashboard você poderá criar um contato para receber PIV mais facilmente! ', //Once you hit "{button}" in the Dashboard, you can create a Contact to make receiving PIV easier! + shareContactURL: 'Compartilhar URL do contato', //Share Contact URL + setupYourContact: 'Configurar o seu contato', //Setup your Contact + receiveWithContact: + 'Receber utilizando um contato baseado em nome de usuário simples', //Receive using a simple username-based Contact + onlyShareContactPrivately: + 'Somente compartilhe o seu contato com pessoas confiáveis (família e amigos)', //Only share your Contact with trusted people (family, friends) /* Context: The "Change to" is used in-app with one of the Three options below it, i.e: "Change to Contact" */ - changeTo: '', //Change to - contact: '', //Contact - xpub: '', //XPub + changeTo: 'Mudar para', //Change to + contact: 'Contato', //Contact + xpub: 'XPub', //XPub - addContactTitle: '', //Add {strName} to Contacts - addContactSubtext: '', //Once added you\'ll be able to send transactions to {strName} by their name (either typing, or clicking), no more addresses, nice \'n easy. - addContactWarning: '', //Ensure that this is the real "{strName}", do not accept Contact requests from unknown sources! + addContactTitle: 'Adicionar {strName} aos contatos ', //Add {strName} to Contacts + addContactSubtext: + 'Quando adicionado você será capaz de efetuar transações com {strName} pelo nome deles (digitando ou clicando), sem necessidade de endereços, simples e fácil', //Once added you\'ll be able to send transactions to {strName} by their name (either typing, or clicking), no more addresses, nice \'n easy. + addContactWarning: + 'Garanta que este seja o verdadeiro "{strName}", não aceite pedidos de contatos de fontes desconhecidas!', //Ensure that this is the real "{strName}", do not accept Contact requests from unknown sources! - editContactTitle: '', //Change "{strName}" Contact - newName: '', //New Name + editContactTitle: 'Mudar o contato de "{strName}"', //Change "{strName}" Contact + newName: 'Novo nome', //New Name - removeContactTitle: '', //Remove {strName}? - removeContactSubtext: '', //Are you sure you wish to remove {strName} from your Contacts? - removeContactNote: '', //You can add them again any time in the future. + removeContactTitle: 'Remover {strName}?', //Remove {strName}? + removeContactSubtext: + 'Você tem certeza que deseja remover {strName} dos seus contatos?', //Are you sure you wish to remove {strName} from your Contacts? + removeContactNote: 'Você pode adiciona-los de volta a qualquer momento', //You can add them again any time in the future. // Export privateKey: 'Chave privada', //Private Key @@ -180,8 +189,8 @@ export const pt_br_translation = { // Settings settingsCurrency: 'Escolha uma moeda de exibição:', //Choose a display currency: - priceProvidedBy: '', //Price data provided by - settingsDecimals: '', //Balance Decimals: + priceProvidedBy: 'Dados de preço fornecidos por', //Price data provided by + settingsDecimals: 'Decimais do saldo:', //Balance Decimals: settingsExplorer: 'Escolha um explorador:', //Choose an explorer: settingsLanguage: 'Escolha um Idioma:', //Choose a Language: settingsPivxNode: 'Escolha um node PIVX:', //Choose a PIVX node: @@ -189,14 +198,16 @@ export const pt_br_translation = { settingsAnalytics: 'Escolha o seu nível de contribuição analítica:', //Choose your analytics contribution level: settingsToggleDebug: 'Modo de depuração', //Debug Mode settingsToggleTestnet: 'Modo Testnet', //Testnet Mode - settingsToggleAdvancedMode: '', //Advanced Mode - settingsToggleAdvancedModeSubtext: '', //This unlocks deeper functionality and customisation, but may be overwhelming and potentially dangerous for unexperienced users! + settingsToggleAdvancedMode: 'Modo avançado', //Advanced Mode + settingsToggleAdvancedModeSubtext: + 'Isto desbloqueia mais funcionalidades e customização, mas pode ser complicado e possivelmente perigoso para novos usuários!', //This unlocks deeper functionality and customisation, but may be overwhelming and potentially dangerous for unexperienced users! // Network switching (mainnet <---> testnet) - netSwitchUnsavedWarningTitle: '', //Your {network} wallet isn\'t saved! - netSwitchUnsavedWarningSubtitle: '', //Your {network} account is at risk! - netSwitchUnsavedWarningSubtext: '', //If you switch to {network} before saving it, you\'ll lose the account! - netSwitchUnsavedWarningConfirmation: '', //Are you really sure? + netSwitchUnsavedWarningTitle: 'Sua carteira de {network} não foi salva!', //Your {network} wallet isn\'t saved! + netSwitchUnsavedWarningSubtitle: 'Sua conta de {network} está em risco!', //Your {network} account is at risk! + netSwitchUnsavedWarningSubtext: + 'Se você mudar para {network} antes de salvar você perderá a a conta!', //If you switch to {network} before saving it, you\'ll lose the account! + netSwitchUnsavedWarningConfirmation: 'Você tem certeza?', //Are you really sure? // Transparency Report transparencyReport: '"Relatório de Transparência"', //Transparency Report @@ -286,7 +297,7 @@ export const pt_br_translation = { unhandledException: 'Exceção não tratada', //Unhandled exception. // Alerts - ALERTS: '<-- DO NOT EDIT! All below entries are for Alert Popups', + ALERTS: '<-- DO NOT EDIT THIS LINE! All below entries are for Alert Popups', INTERNAL_ERROR: 'Erro interno, por favor tente novamente mais tarde', //Internal error, please try again later FAILED_TO_IMPORT: 'Falha ao importar! Senha inválida', //Failed to import! Invalid password @@ -363,17 +374,24 @@ export const pt_br_translation = { MN_CANT_CONNECT: 'Não é possível conectar ao nó RPC!', //Unable to connect to RPC node! /* Contacts System Alerts */ - CONTACTS_ENCRYPT_FIRST: '', //You need to hit "{button}" before you can use Contacts! - CONTACTS_NAME_REQUIRED: '', //A name is required! - CONTACTS_NAME_TOO_LONG: '', //That name is too long! - CONTACTS_CANNOT_ADD_YOURSELF: '', //You cannot add yourself as a Contact! - CONTACTS_ALREADY_EXISTS: '', //Contact already exists!
You already saved this contact - CONTACTS_NAME_ALREADY_EXISTS: '', //Contact name already exists!
This could potentially be a phishing attempt, beware! - CONTACTS_EDIT_NAME_ALREADY_EXISTS: '', //Contact already exists!
A contact is already called "{strNewName}"! - CONTACTS_KEY_ALREADY_EXISTS: '', //Contact already exists, but under a different name!
You have {newName} saved as {oldName} in your contacts - CONTACTS_NOT_A_CONTACT_QR: '', //This isn\'t a Contact QR! - CONTACTS_ADDED: '', //New Contact added!
{strName} has been added, hurray! - CONTACTS_YOU_HAVE_NONE: '', //You have no contacts! + CONTACTS_ENCRYPT_FIRST: + 'Você precisa pressionar "{button}" antes que possa utilizar os contatos!', //You need to hit "{button}" before you can use Contacts! + CONTACTS_NAME_REQUIRED: 'Um nome é necessário!', //A name is required! + CONTACTS_NAME_TOO_LONG: 'Esse nome é muito comprido!', //That name is too long! + CONTACTS_CANNOT_ADD_YOURSELF: + 'Você não pode adicionar a si mesmo como contato', //You cannot add yourself as a Contact! + CONTACTS_ALREADY_EXISTS: + 'O contato já existe!
você já salvou este contato', //Contact already exists!
You already saved this contact + CONTACTS_NAME_ALREADY_EXISTS: + 'O nome do contato já existe!
Isso pode ser uma tentativa de phising, tome cuidado!', //Contact name already exists!
This could potentially be a phishing attempt, beware! + CONTACTS_EDIT_NAME_ALREADY_EXISTS: + 'O contato já existe!
Um contato já é chamado "{strNewName}"!', //Contact already exists!
A contact is already called "{strNewName}"! + CONTACTS_KEY_ALREADY_EXISTS: + 'O contato já exite porém com um nome differente!
Você tem {newName} salvo como {oldName} nos seus contatos', //Contact already exists, but under a different name!
You have {newName} saved as {oldName} in your contacts + CONTACTS_NOT_A_CONTACT_QR: 'Isto não é um código QR de contato!', //This isn\'t a Contact QR! + CONTACTS_ADDED: + 'Novo contato adicionado!
{strName} foi adicionado, Viva!', //New Contact added!
{strName} has been added, hurray! + CONTACTS_YOU_HAVE_NONE: 'Você não tem contatos!', //You have no contacts! PROPOSAL_FINALISED: 'Proposta finalizada!', //Proposal finalized! PROPOSAL_UNCONFIRMED: 'A proposta ainda não foi confirmada.', //The proposal hasn\'t been confirmed yet. diff --git a/locale/pt-pt/translation.js b/locale/pt-pt/translation.js index 59ad33f10..07134d28d 100644 --- a/locale/pt-pt/translation.js +++ b/locale/pt-pt/translation.js @@ -2,6 +2,7 @@ export const pt_pt_translation = { // As tags básicas HTML são permitidas como etc. Todos os dados são higienizados https://developer.mozilla.org/pt-BR/docs/Web/API/Element/innerHTML // NOTA: Se uma seção NÃO precisar ser traduzida, deixe-a vazia. + // NOTE: Variables that MPW insert are denoted by brackets {}, for example, {button}, do NOT translate variables, but place them where it makes the most sense. // General words amount: 'Quantia', //Amount @@ -54,8 +55,8 @@ export const pt_pt_translation = { dCardFourButtonA: 'Aceder à Minha Carteira', //Access My Wallet // Vanity Creation - vanityPrefixNote: '', //Note: addresses will always start with: - vanityPrefixInput: '', //Address Prefix + vanityPrefixNote: 'Nota: os endereços começarão sempre por', //Note: addresses will always start with: + vanityPrefixInput: 'Prefixo do endereço', //Address Prefix // Seed Phrase Creation thisIsYourSeed: 'Esta é a sua frase inicial:', //This is your seed phrase: @@ -69,11 +70,13 @@ export const pt_pt_translation = { writtenDown: 'Eu escrevi a minha frase-inicial', //I have written down my seed phrase // Seed Phrase Import - importSeedValid: '', //Seed Phrase is valid! - importSeedError: '', //Seed Phrase is invalid! - importSeedErrorSize: '', //A Seed Phrase should be 12 or 24 words long! - importSeedErrorTypo: '', //Seed Phrase contains typing errors! Check your input carefully - importSeedErrorSkip: '', //Seed Phrase appears invalid, but the warning was skipped by the user + importSeedValid: 'A frase-semente é válida!', //Seed Phrase is valid! + importSeedError: 'A frase-semente é válida!', //Seed Phrase is invalid! + importSeedErrorSize: 'Uma frase-semente deve ter 12 ou 24 palavras!', //A Seed Phrase should be 12 or 24 words long! + importSeedErrorTypo: + 'A frase-semente contém erros de digitação! Verifique cuidadosamente a sua introdução', //Seed Phrase contains typing errors! Check your input carefully + importSeedErrorSkip: + 'A frase-semente parece inválida, mas o aviso foi ignorado pelo utilizador', //Seed Phrase appears invalid, but the warning was skipped by the user // Wallet Dashboard gettingStarted: 'A Começar', //Getting Started @@ -83,11 +86,11 @@ export const pt_pt_translation = { // Encrypt wallet encryptWallet: 'Criptografar carteira', //Encrypt wallet - encryptPasswordCurrent: '', //Current Password + encryptPasswordCurrent: 'Palavra-passe atual', //Current Password encryptPasswordFirst: 'Digite a senha', //Enter Password encryptPasswordSecond: 'Digite novamente a senha', //Re-enter Password encrypt: 'Criptografar', //Encrypt - changePassword: '', //Change Password + changePassword: 'Alterar a palavra-passe', //Change Password // Wallet Dashboard Sub-menu balanceBreakdown: 'Composição do Saldo', //Balance Breakdown @@ -99,40 +102,47 @@ export const pt_pt_translation = { // Send address: 'Endereço', //Address receivingAddress: 'Endereço de recepção', //Receiving address - sendAmountCoinsMax: 'Máximo', //MAX + sendAmountCoinsMax: 'MAX', //MAX paymentRequestMessage: 'Descrição (do comerciante)', //Description (from the merchant) send: 'Enviar', //Send // Contacts System - receive: '', //Receive - contacts: '', //Contacts - name: '', //Name - username: '', //Username - addressOrXPub: '', //Address or XPub - back: '', //Back - chooseAContact: '', //Choose a Contact - createContact: '', //Create Contact - encryptFirstForContacts: '', //Once you hit "{button}" in the Dashboard, you can create a Contact to make receiving PIV easier! - shareContactURL: '', //Share Contact URL - setupYourContact: '', //Setup your Contact - receiveWithContact: '', //Receive using a simple username-based Contact - onlyShareContactPrivately: '', //Only share your Contact with trusted people (family, friends) + receive: 'Receber', //Receive + contacts: 'Contactos', //Contacts + name: 'Nome', //Name + username: 'Nome de utilizador', //Username + addressOrXPub: 'Endereço ou XPub', //Address or XPub + back: 'Voltar', //Back + chooseAContact: 'Escolha um contacto', //Choose a Contact + createContact: 'Criar contacto', //Create Contact + encryptFirstForContacts: + 'Depois de clicar no "{button}" no Painel de Controlo, pode criar um Contacto para facilitar a receção de PIV!', //Once you hit "{button}" in the Dashboard, you can create a Contact to make receiving PIV easier! + shareContactURL: 'Partilhar URL de contacto', //Share Contact URL + setupYourContact: 'Configurar o seu contacto', //Setup your Contact + receiveWithContact: + 'Receber através de um simples contacto baseado no nome de utilizador', //Receive using a simple username-based Contact + onlyShareContactPrivately: + ' partilhe o seu contacto com pessoas de confiança (família, amigos)', //Only share your Contact with trusted people (family, friends) /* Context: The "Change to" is used in-app with one of the Three options below it, i.e: "Change to Contact" */ - changeTo: '', //Change to - contact: '', //Contact - xpub: '', //XPub + changeTo: 'Alterar para', //Change to + contact: 'Contacto', //Contact + xpub: ' XPub', //XPub - addContactTitle: '', //Add {strName} to Contacts - addContactSubtext: '', //Once added you\'ll be able to send transactions to {strName} by their name (either typing, or clicking), no more addresses, nice \'n easy. - addContactWarning: '', //Ensure that this is the real "{strName}", do not accept Contact requests from unknown sources! + addContactTitle: 'Adicionar {strName} aos contactos', //Add {strName} to Contacts + addContactSubtext: + 'Uma vez adicionado, será capaz de enviar transacções para {strName} pelo seu nome (quer digitando, quer clicando), sem mais endereços, fácil e agradável.', //Once added you\'ll be able to send transactions to {strName} by their name (either typing, or clicking), no more addresses, nice \'n easy. + addContactWarning: + 'Certifica-te de que este é o verdadeiro "{strName}", não aceites pedidos de contacto de fontes desconhecidas!', //Ensure that this is the real "{strName}", do not accept Contact requests from unknown sources! - editContactTitle: '', //Change "{strName}" Contact - newName: '', //New Name + editContactTitle: 'Alterar "{strName}" Contacto', //Change "{strName}" Contact + newName: 'Novo nome', //New Name - removeContactTitle: '', //Remove {strName}? - removeContactSubtext: '', //Are you sure you wish to remove {strName} from your Contacts? - removeContactNote: '', //You can add them again any time in the future. + removeContactTitle: 'Remover {strName}?', //Remove {strName}? + removeContactSubtext: + 'Tem a certeza de que pretende remover {strName} dos seus Contactos?', //Are you sure you wish to remove {strName} from your Contacts? + removeContactNote: + 'Pode voltar a adicioná-los em qualquer altura no futuro.', //You can add them again any time in the future. // Export privateKey: 'Chave privada', //Private Key @@ -179,8 +189,8 @@ export const pt_pt_translation = { // Settings settingsCurrency: 'Escolha uma moeda de exibição:', //Choose a display currency: - priceProvidedBy: '', //Price data provided by - settingsDecimals: '', //Balance Decimals: + priceProvidedBy: 'Dados sobre preços fornecidos por', //Price data provided by + settingsDecimals: 'Balanço de decimais:', //Balance Decimals: settingsExplorer: 'Escolha um explorador:', //Choose an explorer: settingsLanguage: 'Escolha um Idioma:', //Choose a Language: settingsPivxNode: 'Escolha um node PIVX:', //Choose a PIVX node: @@ -188,14 +198,16 @@ export const pt_pt_translation = { settingsAnalytics: 'Escolha o seu nível de contribuição analítica:', //Choose your analytics contribution level: settingsToggleDebug: 'Modo de depuração', //Debug Mode settingsToggleTestnet: 'Modo Testnet', //Testnet Mode - settingsToggleAdvancedMode: '', //Advanced Mode - settingsToggleAdvancedModeSubtext: '', //This unlocks deeper functionality and customisation, but may be overwhelming and potentially dangerous for unexperienced users! + settingsToggleAdvancedMode: 'Modo avançado', //Advanced Mode + settingsToggleAdvancedModeSubtext: + 'Isto desbloqueia uma funcionalidade e personalização mais profundas, mas pode ser demasiado complicado e potencialmente perigoso para utilizadores inexperientes!', //This unlocks deeper functionality and customisation, but may be overwhelming and potentially dangerous for unexperienced users! // Network switching (mainnet <---> testnet) - netSwitchUnsavedWarningTitle: '', //Your {network} wallet isn\'t saved! - netSwitchUnsavedWarningSubtitle: '', //Your {network} account is at risk! - netSwitchUnsavedWarningSubtext: '', //If you switch to {network} before saving it, you\'ll lose the account! - netSwitchUnsavedWarningConfirmation: '', //Are you really sure? + netSwitchUnsavedWarningTitle: 'A tua carteira não está guardada!', //Your {network} wallet isn\'t saved! + netSwitchUnsavedWarningSubtitle: 'A tua carteira não está guardada!', //Your {network} account is at risk! + netSwitchUnsavedWarningSubtext: + 'Se mudares para {network} antes de a guardares, perdes a conta!', //If you switch to {network} before saving it, you\'ll lose the account! + netSwitchUnsavedWarningConfirmation: 'Tens mesmo a certeza?', //Are you really sure? // Transparency Report transparencyReport: '"Relatório de Transparência"', //Transparency Report @@ -285,7 +297,7 @@ export const pt_pt_translation = { unhandledException: 'Exceção não tratada', //Unhandled exception. // Alerts - ALERTS: '<-- DO NOT EDIT! All below entries are for Alert Popups', + ALERTS: '<-- DO NOT EDIT THIS LINE! All below entries are for Alert Popups', INTERNAL_ERROR: 'Erro interno, por favor tente novamente mais tarde', //Internal error, please try again later FAILED_TO_IMPORT: 'Falha ao importar! Senha inválida', //Failed to import! Invalid password @@ -363,17 +375,24 @@ export const pt_pt_translation = { MN_CANT_CONNECT: 'Não é possível conectar ao nó RPC!', //Unable to connect to RPC node! /* Contacts System Alerts */ - CONTACTS_ENCRYPT_FIRST: '', //You need to hit "{button}" before you can use Contacts! - CONTACTS_NAME_REQUIRED: '', //A name is required! - CONTACTS_NAME_TOO_LONG: '', //That name is too long! - CONTACTS_CANNOT_ADD_YOURSELF: '', //You cannot add yourself as a Contact! - CONTACTS_ALREADY_EXISTS: '', //Contact already exists!
You already saved this contact - CONTACTS_NAME_ALREADY_EXISTS: '', //Contact name already exists!
This could potentially be a phishing attempt, beware! - CONTACTS_EDIT_NAME_ALREADY_EXISTS: '', //Contact already exists!
A contact is already called "{strNewName}"! - CONTACTS_KEY_ALREADY_EXISTS: '', //Contact already exists, but under a different name!
You have {newName} saved as {oldName} in your contacts - CONTACTS_NOT_A_CONTACT_QR: '', //This isn\'t a Contact QR! - CONTACTS_ADDED: '', //New Contact added!
{strName} has been added, hurray! - CONTACTS_YOU_HAVE_NONE: '', //You have no contacts! + CONTACTS_ENCRYPT_FIRST: + ' É necessário carregar em "{button}" antes de poder utilizar Contactos!', //You need to hit "{button}" before you can use Contacts! + CONTACTS_NAME_REQUIRED: '/É necessário um nome!', //A name is required! + CONTACTS_NAME_TOO_LONG: 'Esse nome é demasiado longo!', //That name is too long! + CONTACTS_CANNOT_ADD_YOURSELF: + 'Não se pode adicionar a si próprio como contacto!', //You cannot add yourself as a Contact! + CONTACTS_ALREADY_EXISTS: + ' O contacto já existe!

Já guardou este contacto', //Contact already exists!
You already saved this contact + CONTACTS_NAME_ALREADY_EXISTS: + '//O nome do contacto já existe!
Pode tratar-se de uma tentativa de phishing. Cuidado!', //Contact name already exists!
This could potentially be a phishing attempt, beware! + CONTACTS_EDIT_NAME_ALREADY_EXISTS: + '//O contacto já existe!
Já existe um contacto com o nome "{strNewName}"!', //Contact already exists!
A contact is already called "{strNewName}"! + CONTACTS_KEY_ALREADY_EXISTS: + ' //O contacto já existe, mas com um nome diferente!
Tem {newName} guardado como {oldName} nos seus contactos', //Contact already exists, but under a different name!
You have {newName} saved as {oldName} in your contacts + CONTACTS_NOT_A_CONTACT_QR: 'Isto não é um QR de contacto!', //This isn\'t a Contact QR! + CONTACTS_ADDED: + '//Novo contacto adicionado!
{strName} foi adicionado, viva!', //New Contact added!
{strName} has been added, hurray! + CONTACTS_YOU_HAVE_NONE: ' Não tem contactos!', //You have no contacts! PROPOSAL_FINALISED: 'Proposta finalizada!', //Proposal finalized! PROPOSAL_UNCONFIRMED: 'A proposta ainda não foi confirmada.', //The proposal hasn\'t been confirmed yet. diff --git a/locale/template/translation.js b/locale/template/translation.js index 63a85d736..ab2d61c24 100644 --- a/locale/template/translation.js +++ b/locale/template/translation.js @@ -21,6 +21,7 @@ var translation = { // 4) Submit a push request to the github // NOTE: If a section does NOT need translating, leave it empty. + // NOTE: Variables that MPW insert are denoted by brackets {}, for example, {button}, do NOT translate variables, but place them where it makes the most sense. // General words amount: '', //Amount @@ -284,7 +285,7 @@ var translation = { unhandledException: '', //Unhandled exception. // Alerts - ALERTS: '<-- DO NOT EDIT! All below entries are for Alert Popups', + ALERTS: '<-- DO NOT EDIT THIS LINE! All below entries are for Alert Popups', INTERNAL_ERROR: '', //Internal error, please try again later FAILED_TO_IMPORT: '', //Failed to import! Invalid password diff --git a/locale/uwu/translation.js b/locale/uwu/translation.js index ec83afd0d..ca4b495af 100644 --- a/locale/uwu/translation.js +++ b/locale/uwu/translation.js @@ -294,7 +294,7 @@ export const uwu_translation = { unhandledException: 'Unhandled exception.', //Unhandled exception. // Alerts - ALERTS: '<-- DO NOT EDIT! All below entries are for Alert Popups', + ALERTS: '<-- DO NOT EDIT THIS LINE! All below entries are for Alert Popups', INTERNAL_ERROR: 'Internal error, pwease try again later', //Internal error, please try again later FAILED_TO_IMPORT: 'Faiwed to impawt! Invawed password! Baka!', //'Failed to import! Invalid password', diff --git a/scripts/contacts-book.js b/scripts/contacts-book.js index 80c6fb9a1..5833dda28 100644 --- a/scripts/contacts-book.js +++ b/scripts/contacts-book.js @@ -447,7 +447,7 @@ export async function guiRenderReceiveModal( * A GUI wrapper to re-render the current Receive Modal configuration */ export async function guiRenderCurrentReceiveModal() { - return guiRenderReceiveModal(cReceiveType); + return guiToggleReceiveType(cReceiveType); } /** diff --git a/scripts/i18n.js b/scripts/i18n.js index 8b2fcefe5..4894ea52c 100644 --- a/scripts/i18n.js +++ b/scripts/i18n.js @@ -1,6 +1,7 @@ import { en_translation } from '../locale/en/translation.js'; import { pt_br_translation } from '../locale/pt-br/translation.js'; import { pt_pt_translation } from '../locale/pt-pt/translation.js'; +import { es_mx_translation } from '../locale/es-mx/translation.js'; import { ph_translation } from '../locale/ph/translation.js'; import { uwu_translation } from '../locale/uwu/translation.js'; import { fr_translation } from '../locale/fr/translation.js'; @@ -23,6 +24,7 @@ export const translatableLanguages = { uwu: uwu_translation, 'pt-pt': pt_pt_translation, 'pt-br': pt_br_translation, + 'es-mx': es_mx_translation, ph: ph_translation, fr: fr_translation, it: it_translation, @@ -154,6 +156,7 @@ export const arrActiveLangs = [ { code: 'it', emoji: '🇮🇹' }, { code: 'pt-pt', emoji: '🇵🇹' }, { code: 'pt-br', emoji: '🇧🇷' }, + { code: 'es-mx', emoji: '🇲🇽' }, { code: 'ph', emoji: '🇵🇭' }, { code: 'uwu', emoji: '🐈' }, ];