diff --git a/.github/workflows/translations-sync.yml b/.github/workflows/translations-sync.yml
index f5ec0a850..8445e6656 100644
--- a/.github/workflows/translations-sync.yml
+++ b/.github/workflows/translations-sync.yml
@@ -22,7 +22,7 @@ jobs:
with:
config: "crowdin.yml"
upload_sources: true
- upload_translations: true
+ upload_translations: false
download_translations: true
skip_untranslated_strings: true
export_only_approved: true
diff --git a/packages/extension/locales/ar-SA/translation.json b/packages/extension/locales/ar-SA/translation.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/packages/extension/locales/ar-SA/translation.json
@@ -0,0 +1 @@
+{}
diff --git a/packages/extension/locales/bg-BG/translation.json b/packages/extension/locales/bg-BG/translation.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/packages/extension/locales/bg-BG/translation.json
@@ -0,0 +1 @@
+{}
diff --git a/packages/extension/locales/de-DE/translation.json b/packages/extension/locales/de-DE/translation.json
new file mode 100644
index 000000000..89e881f14
--- /dev/null
+++ b/packages/extension/locales/de-DE/translation.json
@@ -0,0 +1,358 @@
+{
+ "Welcome to Alephium": "Willkommen bei Alephium",
+ "A New Paradigm": "Ein neues Paradigma",
+ "Create a new wallet": "Neues Wallet erstellen",
+ "Restore an existing wallet": "Existierendes Wallet wiederherstellen",
+ "Address_one": "Adresse",
+ "Address_other": "Adressen",
+ "nostr public key": "nostr öffentlicher Schlüssel",
+ "Copy address": "Adresse kopieren",
+ "Click to copy address": "Zum kopieren der Adresse klicken",
+ "Click to copy {{ something }}": "Klicken, um {{ something }} zu kopieren",
+ "Group": "Gruppe",
+ "Back": "Zurück",
+ "Sorry, an error occurred": "Entschuldigung, ein Fehler ist aufgetreten",
+ "The error was reported successfully": "Der Fehler wurde erfolgreich gemeldet",
+ "Show error logs": "Fehlerprotokolle anzeigen",
+ "View Logs": "Protokolle anzeigen",
+ "Copied": "Kopiert",
+ "Copy error": "Kopierfehler",
+ "Retry": "Wiederholen",
+ "Report error": "Fehler melden",
+ "Automatic Error Reporting": "Automatische Fehlermeldung",
+ "Be aware that shared logs might contain sensitive data": "Beachten Sie, dass geteilte Protokolle möglicherweise sensible Daten enthalten können",
+ "Privacy Statement": "Datenschutzerklärung",
+ "privacyStatement": "Die Wallet der Browser-Erweiterung <1>sammelt keine persönlichen Daten 1>und korreliert auch keine Ihrer persönlichen Daten mit anonymen Daten, die im Rahmen ihrer Dienste verarbeitet werden.",
+ "Create account": "Konto erstellen",
+ "Upgrade account": "Konto upgraden",
+ "Buy NFT": "NFT kaufen",
+ "Transfer NFT": "NFT transferieren",
+ "Mint NFT": "Mint NFT",
+ "Receive NFT": "NFT erhalten",
+ "Send NFT": "NFT senden",
+ "unknown": "unbekannt",
+ "Unknown": "Unbekannt",
+ "Sold {{ token1 }} for {{ token2 }}": "{{ token1 }} für {{ token2 }} verkauft",
+ "Approve": "Genehmigen",
+ "Mint": "Mint",
+ "Transfer": "Transfer",
+ "Receive": "Empfangen",
+ "Send": "Senden",
+ "Call data": "Daten abrufen",
+ "Close": "Schliessen",
+ "Copy": "Kopieren",
+ "Activity": "Aktivität",
+ "Seems like Explorer API is down": "Anscheinend ist die Explorer-API nicht verfügbar",
+ "Pending transactions": "Ausstehende Transaktionen",
+ "From": "Von",
+ "To": "Zu",
+ "Transaction": "Transaktion",
+ "Unknown date": "Unbekanntes Datum",
+ "Action": "Aktion",
+ "Contract": "Vertrag",
+ "View": "Ansicht",
+ "Event": "Event",
+ "Status": "Status",
+ "Reason": "Grund",
+ "Transaction log": "Transaktionslog",
+ "Unknown error": "Unbekannter Fehler",
+ "Transaction ID": "Transaktions ID",
+ "Deployed contract address": "Bereitgestellte Vertragsadresse",
+ "Declared contract hash": "Angegebenen Vertragshash",
+ "Unknown host": "Unbekannter Host",
+ "Raw tx": "Rohe tx",
+ "Deploy": "Bereitstellen",
+ "Deploy contract": "Vertrag bereitstellen",
+ "Token_one": "Token",
+ "Token_other": "Tokens",
+ "Account name": "Kontoname",
+ "Not found": "Nicht gefunden",
+ "View on explorer": "Im Explorer anzeigen",
+ "Delete account": "Konto löschen",
+ "Hide account": "Konto ausblenden",
+ "Export": "Exportieren",
+ "Export private key": "Privaten Schlüssel exportieren",
+ "Enter your password to export your private key.": "Geben Sie Ihr Passwort ein um den privaten Schlüssel zu exportieren.",
+ "Click to copy public key": "Klicken, um öffentlichen Schlüssel zu kopieren",
+ "Click to copy HD path": "Klicken um den HD-Pfad zu kopieren",
+ "This is your private key (click to copy)": "Dies ist Ihr privater Schlüssel (zum Kopieren klicken)",
+ "Public Key": "Öffentlicher Schlüssel",
+ "HD Path": "HD-Pfad",
+ "NFTs": "NFTs",
+ "Error loading": "Fehler beim Laden",
+ "Loading": "Wird geladen",
+ "Deprecated NFT": "Veraltete NFT",
+ "No NFTs": "Keine NFTs",
+ "Untitled": "Unbenannt",
+ "Description": "Beschreibung",
+ "NFT is not available for now": "NFT ist derzeit nicht verfügbar",
+ "Recipient's address": "Adresse des Empfängers",
+ "Save address": "Adresse speichern",
+ "Next": "Weiter",
+ "Collections": "Sammlungen",
+ "Hidden Accounts": "Ausgeblendete Konten",
+ "This account needs to be upgraded": "Dieses Konto muss aktualisiert werden",
+ "Ledger": "Ledger",
+ "Schnorr": "Schnorr",
+ "Deploying": "Bereitstellung",
+ "No accounts on this network, click below to add one.": "Keine Konten in diesem Netzwerk, klicken Sie unten, um eins hinzuzufügen.",
+ "No visible accounts on this network, click below to add one.": "Keine sichtbaren Konten in diesem Netzwerk, klicken Sie unten, um eins hinzuzufügen.",
+ "You have no accounts on {{ network }}": "Sie haben keine Konten auf {{ network }}",
+ "You have no visible accounts on {{ network }}": "Sie haben keine sichtbaren Konten auf {{ network }}",
+ "Select {{ accountName }}": "{{ accountName }} auswählen",
+ "{{ accountName }} options": "{{ accountName }} Optionen",
+ "Show account list": "Kontenliste anzeigen",
+ "Sync account": "Konto synchronisieren",
+ "Show settings": "Einstellungen anzeigen",
+ "Active": "Aktiv",
+ "Discovering accounts…": "Konten finden…",
+ "Please wait…": "Bitte warten…",
+ "Patience is a virtue…": "Geduld ist eine Tugend…",
+ "Almost there…": "Fast geschafft…",
+ "New account": "Neues Konto",
+ "Add a new account": "Neues Konto hinzufügen",
+ "Create new Alephium account": "Neues Alephium Konto erstellen",
+ "Generate a new wallet address": "Eine neue Wallet-Adresse generieren",
+ "Connect Ledger": "Ledger verbinden",
+ "Use a Ledger hardware wallet": "Ledger Hardware Wallet verwenden",
+ "There was an error creating your account. Please try again.": "Beim Erstellen Ihres Kontos ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",
+ "Alephium account": "Alephium Konto",
+ "Create a new address to help you manage your assets.": "Erstellen Sie eine neue Adresse, um Ihnen bei der Verwaltung Ihrer Assets zu helfen.",
+ "Define group?": "Gruppe definieren?",
+ "My accounts": "Meine Konten",
+ "Hidden accounts": "Ausgeblendete Konten",
+ "Hide Account": "Konto ausblenden",
+ "Delete Account": "Konto löschen",
+ "Hide": "Ausblenden",
+ "Delete": "Löschen",
+ "Cancel": "Abbrechen",
+ "You are about to hide the following account:": "Sie sind dabei, folgendes Konto auszublenden:",
+ "You are about to delete the following account:": "Sie sind dabei, das folgende Konto zu löschen:",
+ "You will be able to unhide the account from the account list screen.": "Sie werden in der Lage sein, das Konto auf der Kontenlisteübersicht wieder einzublenden.",
+ "You will need to recover this account manually in the future.": "Sie müssen dieses Konto in Zukunft manuell wiederherstellen.",
+ "Upgrade Wallet": "Wallet aktualisieren",
+ "Upgrade": "Aktualisierung",
+ "You will upgrade your wallet implementation to use the latest features and security.": "Sie werden Ihre Wallet-Implementierung aktualisieren, um die neuesten Funktionen und Sicherheit zu nutzen.",
+ "This upgrade is required due to network and account contract changes. We expect these kind of upgrades to be less frequent as the network matures.": "Diese Aktualisierung ist aufgrund von Änderungen an Netz- und Konto-Verträgen erforderlich. Wir erwarten, dass diese Art von Aktualisierungen weniger häufig auftreten, wenn das Netzwerk ausgereift ist.",
+ "Add funds": "Guthaben hinzufügen",
+ "You need to add funds to this account before you can send": "Sie müssen diesem Konto Guthaben hinzufügen, bevor Sie senden können",
+ "Never shown": "Nie angezeigt",
+ "This is a feature for developers only. You wont be able to recover your account with the private key! Please backup your Seed Phrase instead.": "Dies ist eine Funktion nur für Entwickler. Sie können Ihr Konto nicht mit dem privaten Schlüssel wiederherstellen! Bitte sichern Sie stattdessen Ihre Seed Phrase.",
+ "Warning: Never disclose this key. Anyone with your private keys can steal any assets held in your account.": "Warnung: Teilen Sie diesen Schlüssel niemals. Jeder mit Ihren privaten Schlüsseln kann alle in Ihrem Konto gespeicherten Assets stehlen.",
+ "Done": "Erledigt",
+ "Token not hidden": "Token nicht ausgeblendet",
+ "Hide token": "Token ausblenden",
+ "Confirm": "Bestätigen",
+ "To see this token again, you will need to add the token to your account.": "Um dieses Token wieder sehen zu können, müssen Sie das Token zu Ihrem Konto hinzufügen.",
+ "New token": "Neues Token",
+ "Fetching tokens": "Abrufen von Tokens",
+ "Fractional component exceeds decimals": "Bruchteil übersteigt Anzahl Dezimalstellen",
+ "Insufficient balance": "Unzureichendes Guthaben",
+ "Incorrect amount": "Falscher Betrag",
+ "Send {{ token }}": "{{ token }} senden",
+ "MAX": "MAX",
+ "Warning: This will sweep all ALPHs to the recipient. Due to the number of UTXOs, you need to sign {{ txsNumber }} transactions.": "Warnung: Dies wird alle ALPHs dem Empfänger zuweisen. Aufgrund der Anzahl von UTXOs müssen Sie {{ txsNumber }} Transaktionen signieren.",
+ "Sorry, an error occurred fetching tokens": "Leider ist ein Fehler beim Abrufen der Tokens aufgetreten",
+ "NFT actions": "NFT Aktionen",
+ "View on {{ blockExplorerTitle }}": "Auf {{ blockExplorerTitle }} ansehen",
+ "Hide this token": "Token ausblenden",
+ "Copy token ID": "Token ID kopieren",
+ "Copy token address": "Token-Adresse kopieren",
+ "Coming Soon": "Demnächst",
+ "Error": "Fehler",
+ "Token is not defined": "Token ist nicht definiert",
+ "Token not found": "Token nicht gefunden",
+ "Token with address {{ tokenId }} not deployed on this network": "Token mit der Adresse {{ tokenId }} wird nicht in diesem Netzwerk bereitgestellt",
+ "Missing contract": "Fehlender Vertrag",
+ "Contract with address {{ contractAddress }} not deployed on this network": "Vertrag mit Adresse {{ contractAddress }} nicht in diesem Netzwerk bereitgestellt",
+ "Invalid token": "Token ungültig",
+ "This is not a valid token contract": "Dies ist kein gültiger Token Vertrag",
+ "Network error": "Netzwerkfehler",
+ "Network fee": "Netzwerkgebühr",
+ "Network fee is still loading.": "Netzwerkgebühr wird noch geladen.",
+ "Network fees are paid to the network to include transactions in blocks": "Netzwerkgebühren werden an das Netzwerk gezahlt, um Transaktionen in Blöcken einzubeziehen",
+ "Network_one": "Netzwerk",
+ "Network_other": "Netzwerke",
+ "Review transfer": "Überweisung überprüfen",
+ "Review contract deploy": "Vertragsbereitstellung prüfen",
+ "Review dApp transaction": "dApp Transaktion prüfen",
+ "Review transaction": "Transaktion überprüfen",
+ "Bytecode": "Bytecode",
+ "Call smart contracts": "Smart Contracts abrufen",
+ "Sign raw transaction": "Rohtransaktion signieren",
+ "Unsigned Tx": "Unsignierte Tx",
+ "User rejected": "Benutzer abgelehnt",
+ "User disconnected": "Benutzer getrennt",
+ "Transaction building failed": "Transaktionserstellung fehlgeschlagen",
+ "Sending transaction failed": "Senden der Transaktion fehlgeschlagen",
+ "Sign raw tx failed": "Signieren von rohem tx fehlgeschlagen",
+ "Sign message failed": "Signieren der Mitteilung fehlgeschlagen",
+ "Add Network": "Netzwerk hinzufügen",
+ "Switch Network": "Netzwerk wechseln",
+ "Network ID": "Netzwerk ID",
+ "Name": "Name",
+ "Node URL": "Node URL",
+ "Node API Key (Optional)": "Node API-Schlüssel (optional)",
+ "Explorer URL": "Explorer URL",
+ "Explorer API URL": "Explorer API URL",
+ "Reject": "Ablehnen",
+ "Add tokens": "Tokens hinzufügen",
+ "This action will edit tokens that are already listed in your wallet, which can be used to phish you. Only approve if you are certain that you mean to change what these tokens represent.": "Diese Aktion wird Token bearbeiten, die bereits in Ihrer Wallet aufgelistet sind, die verwendet werden können, um Sie zu phishen. Bestätigen Sie nur, wenn Sie sicher sind, dass Sie das ändern wollen, was diese Token darstellen.",
+ "Token already exists": "Token existiert bereits",
+ "Token ID": "Token ID",
+ "Symbol": "Symbol",
+ "Decimals": "Dezimalstellen",
+ "Logo URL": "Logo URL",
+ "Continue": "Weiter",
+ "Sign Message": "Nachricht signieren",
+ "Signer": "Unterzeichner",
+ "Hasher": "Hasher",
+ "Sign Raw TX": "Signiere roh-TX",
+ "Raw TX": "roh-TX",
+ "The Ledger app is not connected": "Die Ledger App ist nicht verbunden",
+ "Insufficient token {{ tokenSymbol }}, expected at least {{ expectedStr }}, got {{ haveStr }}": "Nicht genügend {{ tokenSymbol }} Tokens, erwartete mindestens {{ expectedStr }}, erhielt {{ haveStr }}",
+ "No account found for network {{ networkId }}": "Kein Konto für Netzwerk {{ networkId }} gefunden",
+ "Sign": "Signieren",
+ "Sign with Ledger": "Mit Ledger signieren",
+ "Ledger: Detecting": "Ledger: Erkennen",
+ "Ledger: Signing": "Ledger: Unterschreiben",
+ "Ledger: Succeeded": "Ledger: Erfolgreich",
+ "Ledger: Failed": "Ledger: Fehlgeschlagen",
+ "Something went wrong": "Es ist ein Fehler aufgetreten",
+ "Loading…": "Lädt…",
+ "Reset cache": "Cache zurücksetzen",
+ "Reload UI": "Oberfläche neu laden",
+ "Reload HTML": "HTML neu laden",
+ "Request $ALPH": "$ALPH anfordern",
+ "The faucet can be requested once per 5 minutes, please try later": "Der Faucet kann einmal pro 5 Minuten angefordert werden, bitte versuchen Sie es später",
+ "The local Devnet is not available, please start one": "Das lokale Devnet ist nicht verfügbar, bitte starten Sie eins",
+ "OK": "OK",
+ "Full account address": "Vollständige Konto-Adresse",
+ "How would you like to fund your account?": "Wie wollen Sie Ihr Konto aufladen?",
+ "Buy with card or bank transfer": "Mit Karte oder Banküberweisung kaufen",
+ "Is coming soon!": "In Kürze verfügbar!",
+ "Only available on Mainnet": "Nur auf Mainnet verfügbar",
+ "Only available for new accounts": "Nur für neue Konten verfügbar",
+ "From an exchange": "Von einem Handelsplatz",
+ "Bridge from Ethereum and other chains": "Bridge von Ethereum und anderen Blockchains",
+ "Account added": "Konto hinzugefügt",
+ "Your Ledger account has been successfully imported. Enjoy secure self-custody.": "Ihr Ledger-Konto wurde erfolgreich importiert. Viel Spass bei der Selbstverwaltung.",
+ "Finish": "Beenden",
+ "Detecting Ledger": "Erkenne Ledger",
+ "Connect a new Ledger": "Neuen Ledger verbinden",
+ "Plug in and unlock your Ledger device": "Schliessen Sie Ihren Ledger an und entsperren Sie ihn",
+ "Open (or install) the Alephium Ledger app": "Öffnen (oder installieren) Sie die Alephium Ledger App",
+ "The Alephium app can be installed via Ledger Live.": "Die Alephium App kann über Ledger Live installiert werden.",
+ "More information here.": "Mehr Informationen hier.",
+ "Schnorr is not supported for Alephium's ledger app yet": "Schnorr wird noch nicht von Alephiums Ledger-App unterstützt",
+ "Alephium Ledger app is not connected, please follow the instructions above": "Alephium Ledger App ist nicht verbunden, folgen Sie bitte den obigen Anweisungen",
+ "Reset": "Zurücksetzen",
+ "Welcome back": "Willkommen zurück",
+ "Unlock your wallet to continue": "Entsperren Sie Ihre Wallet um fortzufahren",
+ "Incorrect password": "Falsches Passwort",
+ "Unlocking": "Entsperren",
+ "Unlock": "Entsperren",
+ "Password": "Passwort",
+ "New password": "Neues Passwort",
+ "Password is too short": "Das Passwort ist zu kurz",
+ "Password is required": "Passwort wird benötigt",
+ "A new password is required": "Ein neues Passwort ist erforderlich",
+ "Passwords do not match": "Die Passwörter stimmen nicht überein",
+ "If you reset your wallet, the only way to recover it is with your seed phrase. Make sure to back it up from the settings and save it somewhere securely before resetting the extension": "Wenn Sie Ihre Wallet zurücksetzen, können Sie sie nur mit Ihrer Seed-Phrase wiederherstellen. Stellen Sie sicher, dass Sie es aus den Einstellungen sichern und an einem sicheren Ort speichern, bevor Sie die Erweiterung zurücksetzen",
+ "Selected network": "Ausgewähltes Netzwerk",
+ "Network issues": "Netzwerkprobleme",
+ "There are connectivity issues for Alephium explorer or full node at the moment on {{ network }}": "Es gibt Konnektivitätsprobleme für den Alephium Explorer oder full Nodes im Moment auf {{ network }}",
+ "I understand": "Ich verstehe",
+ "Pin the Alephium extension for quick access": "Pinnen Sie die Alephium-Erweiterung für schnellen Zugriff",
+ "Alephium": "Alephium",
+ "Your wallet is ready!": "Ihre Wallet ist bereit!",
+ "Join Alephium's community": "Treten Sie der Alephiums Gemeinschaft bei",
+ "Follow Alephium on Twitter": "Alephium auf Twitter folgen",
+ "Join Alephium's Discord": "Alephiums Discord beitreten",
+ "Creating wallet": "Wallet erstellen",
+ "Retry create wallet": "Erneut versuchen, Wallet zu erstellen",
+ "Create wallet": "Wallet erstellen",
+ "New wallet": "Neue Wallet",
+ "Enter a password to protect your wallet": "Geben Sie ein Passwort ein, um Ihre Wallet zu schützen",
+ "Sorry, unable to create wallet. Please try again later.": "Wallet konnte leider nicht erstellt werden. Bitte versuchen Sie es später erneut.",
+ "Drag & drop your backup file here, or click to select it": "Drag & Ihre Backup-Datei hierher oder klicken Sie um sie auszuwählen",
+ "Backup selected": "Sicherung ausgewählt",
+ "Restore backup": "Sicherung wiederherstellen",
+ "Invalid seed phrase": "Ungültige Seed-Phrase",
+ "Restore accounts": "Konten wiederherstellen",
+ "Enter your recovery phrase (upto 24 words) separated by a space.": "Geben Sie Ihre Wiederherstellungsphrase (bis zu 24 Wörter) durch ein Leerzeichen getrennt ein.",
+ "You can paste your recovery phrase at once, but typing the words individually is safer": "Sie können Ihre Wiederherstellungsphrase auf einmal einfügen, aber die individuelle Eingabe der Wörter ist sicherer",
+ "Recover using a backup file": "Wiederherstellen mit einer Sicherungsdatei",
+ "We do not recommend copying your recovery phrase to your clipboard. It can leave it susceptible to exploit!": "Wir empfehlen nicht, Ihre Wiederherstellungsphrase in die Zwischenablage zu kopieren. Sie kann ausgenutzt werden!",
+ "Set up account recovery": "Kontowiederherstellung einrichten",
+ "Click here to secure your assets": "Klicken Sie hier, um Ihre Assets zu sichern",
+ "Choose one or more of the methods below to ensure you can access your accounts.": "Wählen Sie eine oder mehrere der folgenden Methoden aus, um sicherzustellen, dass Sie auf Ihre Konten zugreifen können.",
+ "Save the recovery phrase": "Wiederherstellungsphrase speichern",
+ "If you lose your recovery phrase or someone steals it, you will lose access to your funds.": "Wenn Sie Ihre Wiederherstellungsphrase verlieren oder jemand sie stehlt, verlieren Sie den Zugriff auf Ihr Guthaben.",
+ "Have you written down your recovery phrase?": "Haben Sie Ihre Wiederherstellungsphrase aufgeschrieben?",
+ "No": "Nein",
+ "Yes": "Ja",
+ "Write these words down on paper. It is unsafe to save them on your computer.": "Schreiben Sie diese Wörter auf Papier auf. Es ist unsicher, sie auf Ihrem Computer zu speichern.",
+ "Recovery phrase": "Wiederherstellungsphrase",
+ "Search": "Suchen",
+ "New address": "Neue Adresse",
+ "Edit address": "Adresse bearbeiten",
+ "Delete contact": "Kontakt löschen",
+ "Are you sure you want to delete this contact from your address book?": "Sind Sie sicher, dass Sie diesen Kontakt aus Ihrem Adressbuch löschen möchten?",
+ "Alephium Address": "Alephium Adresse",
+ "Remove from address book": "Aus dem Adressbuch entfernen",
+ "Save": "Speichern",
+ "Address book": "Adressbuch",
+ "Search by name, address or network": "Nach Name, Adresse oder Netzwerk suchen",
+ "You don't have any saved addresses.": "Sie haben keine gespeicherten Adressen.",
+ "Default": "Standard",
+ "You haven't connected to any dApp yet.": "Sie haben noch't mit einer dApp verbunden.",
+ "Require all dApps to request a new connection to your wallet?": "Alle dApps müssen eine neue Verbindung zu Ihrer Wallet anfordern?",
+ "dApp connections": "dApp Verbindungen",
+ "Reset all dApp connections": "Alle dApp Verbindungen zurücksetzen",
+ "Manage networks": "Netzwerke verwalten",
+ "Experimental": "Experimentell",
+ "Update Token List": "Token Liste aktualisieren",
+ "Discover accounts": "Konten finden",
+ "Developer settings": "Entwicklereinstellungen",
+ "Developer Settings": "Entwicklereinstellungen",
+ "Add network": "Netzwerk hinzufügen",
+ "Edit network": "Netzwerk bearbeiten",
+ "Create": "Erstellen",
+ "Here you can add your own custom network.": "Hier können Sie Ihr eigenes Netzwerk hinzufügen.",
+ "Network name": "Netzwerkname",
+ "Internal ID": "Interne ID",
+ "No custom networks found": "Keine benutzerdefinierten Netzwerke gefunden",
+ "Restore default networks": "Standard-Netzwerke wiederherstellen",
+ "Enter your password to view your recovery phrase.": "Geben Sie Ihr Passwort ein, um Ihre Wiederherstellungsphrase anzuzeigen.",
+ "View recovery phrase": "Wiederherstellungsphrase anzeigen",
+ "Settings": "Einstellungen",
+ "Extended view": "Erweiterte Ansicht",
+ "Connected dApps": "Verbundene dApps",
+ "Show recovery phrase": "Wiederherstellungsphrase anzeigen",
+ "Privacy": "Privatsphäre",
+ "Lock wallet": "Wallet sperren",
+ "Help, support & suggestions": "Hilfe, Unterstützung & Vorschläge",
+ "Get Alephium Support": "Alephium Support erhalten",
+ "Ask a question on the dev-wallet channel on Discord": "Stellen Sie eine Frage auf dem dev-wallet Kanal in Discord",
+ "Post an issue on GitHub": "Ein Problem auf GitHub posten",
+ "Help": "Hilfe",
+ "Version": "Version",
+ "Network {{ networkId }} is the current network. Change networks before deleting.": "Netzwerk {{ networkId }} ist das aktuelle Netzwerk. Ändern Sie das Netzwerk, bevor Sie es löschen.",
+ "networkAccounts_one": "Netzwerk {{ networkId }} hat {{ count }} Konto, das entfernt werden muss, bevor das Netzwerk gelöscht werden kann.",
+ "networkAccounts_other": "Netzwerk {{ networkId }} hat {{ count }} Konten, die entfernt werden müssen, bevor das Netzwerk gelöscht werden kann.",
+ "More": "Mehr",
+ "Got it": "Verstanden",
+ "Could not add new account": "Neues Konto konnte nicht hinzugefügt werden",
+ "Could not discover active accounts for {{ networkId }}.": "Aktive Konten für {{ networkId }} konnten nicht gefunden werden.",
+ "Could add new ledger account": "Neues Ledger Konto hinzugefügt",
+ "Rejected": "Abgelehnt",
+ "Could not delete account": "Konto konnte nicht gelöscht werden",
+ "Could not upgrade account": "Konto konnte nicht aktualisiert werden",
+ "Invalid Seed Phrase": "Ungültige Seed-Phrase",
+ "Verify in Ledger": "In Ledger verifizieren",
+ "Connect with Ledger": "Mit Ledger verbinden",
+ "Failed to connect with Ledger, please try again": "Verbindung mit Ledger fehlgeschlagen, bitte versuchen Sie es erneut",
+ "Verify with Ledger": "Mit Ledger verifizieren",
+ "Failed to verify with Ledger, please try another device": "Fehler beim Verifizieren mit Ledger, bitte versuchen Sie ein anderes Gerät"
+}
diff --git a/packages/extension/locales/el-GR/translation.json b/packages/extension/locales/el-GR/translation.json
new file mode 100644
index 000000000..d56f8ea1f
--- /dev/null
+++ b/packages/extension/locales/el-GR/translation.json
@@ -0,0 +1,6 @@
+{
+ "Welcome to Alephium": "Καλωσορίσατε στο Alephium",
+ "A New Paradigm": "Ένα νέο παράδειγμα",
+ "Create a new wallet": "Δημιουργία νέου πορτοφολιού",
+ "Restore an existing wallet": "Επαναφορά υπάρχοντος πορτοφολιού"
+}
diff --git a/packages/extension/locales/es-ES/translation.json b/packages/extension/locales/es-ES/translation.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/packages/extension/locales/es-ES/translation.json
@@ -0,0 +1 @@
+{}
diff --git a/packages/extension/locales/fr-FR/translation.json b/packages/extension/locales/fr-FR/translation.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/packages/extension/locales/fr-FR/translation.json
@@ -0,0 +1 @@
+{}
diff --git a/packages/extension/locales/hi-IN/translation.json b/packages/extension/locales/hi-IN/translation.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/packages/extension/locales/hi-IN/translation.json
@@ -0,0 +1 @@
+{}
diff --git a/packages/extension/locales/id-ID/translation.json b/packages/extension/locales/id-ID/translation.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/packages/extension/locales/id-ID/translation.json
@@ -0,0 +1 @@
+{}
diff --git a/packages/extension/locales/it-IT/translation.json b/packages/extension/locales/it-IT/translation.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/packages/extension/locales/it-IT/translation.json
@@ -0,0 +1 @@
+{}
diff --git a/packages/extension/locales/nl-NL/translation.json b/packages/extension/locales/nl-NL/translation.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/packages/extension/locales/nl-NL/translation.json
@@ -0,0 +1 @@
+{}
diff --git a/packages/extension/locales/pt-PT/translation.json b/packages/extension/locales/pt-PT/translation.json
new file mode 100644
index 000000000..0556dfa69
--- /dev/null
+++ b/packages/extension/locales/pt-PT/translation.json
@@ -0,0 +1,358 @@
+{
+ "Welcome to Alephium": "Bem-vindo ao Alephium",
+ "A New Paradigm": "Um Novo Paradigma",
+ "Create a new wallet": "Criar nova carteira",
+ "Restore an existing wallet": "Recuperar uma carteira existente",
+ "Address_one": "Endereço",
+ "Address_other": "Endereços",
+ "nostr public key": "chave pública nostr",
+ "Copy address": "Copiar endereço",
+ "Click to copy address": "Clique para copiar o endereço",
+ "Click to copy {{ something }}": "Clique para copiar {{ something }}",
+ "Group": "Grupo",
+ "Back": "Voltar",
+ "Sorry, an error occurred": "Desculpe, ocorreu um erro",
+ "The error was reported successfully": "O erro foi reportado com sucesso",
+ "Show error logs": "Mostrar logs de erros",
+ "View Logs": "Visualizar logs",
+ "Copied": "Copiado",
+ "Copy error": "Erro ao copiar",
+ "Retry": "Tentar novamente",
+ "Report error": "Reportar erro",
+ "Automatic Error Reporting": "Relatório automático de erros",
+ "Be aware that shared logs might contain sensitive data": "Esteja ciente que logs compartilhados podem conter dados confidenciais",
+ "Privacy Statement": "Declaração de Privacidade",
+ "privacyStatement": "A carteira de extensões de navegador <1>não coleta nenhuma informação pessoal 1>nem correlaciona suas informações pessoais com dados anônimos processados como parte de seus serviços.",
+ "Create account": "Criar conta",
+ "Upgrade account": "Atualizar conta",
+ "Buy NFT": "Comprar NFT",
+ "Transfer NFT": "Transferir NFT",
+ "Mint NFT": "Criar NFT",
+ "Receive NFT": "Receber NFT",
+ "Send NFT": "Enviar NFT",
+ "unknown": "desconhecido",
+ "Unknown": "Desconhecido",
+ "Sold {{ token1 }} for {{ token2 }}": "Vendeu {{ token1 }} por {{ token2 }}",
+ "Approve": "Aprovar",
+ "Mint": "Criar",
+ "Transfer": "Transferência",
+ "Receive": "Receber",
+ "Send": "Enviar",
+ "Call data": "Dados de chamada",
+ "Close": "Fechar",
+ "Copy": "Copiar",
+ "Activity": "Actividade",
+ "Seems like Explorer API is down": "Parece que a API do Explorer está indisponível",
+ "Pending transactions": "Transações pendentes",
+ "From": "De",
+ "To": "Para",
+ "Transaction": "Transação",
+ "Unknown date": "Data desconhecida",
+ "Action": "Ação",
+ "Contract": "Contrato",
+ "View": "Visualizar",
+ "Event": "Evento",
+ "Status": "Estado",
+ "Reason": "Motivo",
+ "Transaction log": "Registo de transações",
+ "Unknown error": "Erro desconhecido",
+ "Transaction ID": "ID da transação",
+ "Deployed contract address": "Endereço do contrato implementado",
+ "Declared contract hash": "Hash do contrato declarado",
+ "Unknown host": "Host desconhecido",
+ "Raw tx": "Tx bruta",
+ "Deploy": "Implementar",
+ "Deploy contract": "Implementar contrato",
+ "Token_one": "Token",
+ "Token_other": "Tokens",
+ "Account name": "Nome da conta",
+ "Not found": "Não encontrado",
+ "View on explorer": "Ver no explorador",
+ "Delete account": "Remover conta",
+ "Hide account": "Ocultar Conta",
+ "Export": "Exportar",
+ "Export private key": "Exportar chave privada",
+ "Enter your password to export your private key.": "Digite a sua senha para exportar a sua chave privada.",
+ "Click to copy public key": "Clique para copiar a chave pública",
+ "Click to copy HD path": "Clique para copiar o caminho HD",
+ "This is your private key (click to copy)": "Esta é a sua chave privada (clique para copiar)",
+ "Public Key": "Chave pública",
+ "HD Path": "Caminho HD",
+ "NFTs": "NFTs",
+ "Error loading": "Erro ao carregar",
+ "Loading": "Carregando",
+ "Deprecated NFT": "NFT obsoleta",
+ "No NFTs": "Nenhuma NFT",
+ "Untitled": "Sem título",
+ "Description": "Descrição",
+ "NFT is not available for now": "NFT não está disponível no momento",
+ "Recipient's address": "Endereço do destinatário",
+ "Save address": "Salvar endereço",
+ "Next": "Próximo",
+ "Collections": "Coleções",
+ "Hidden Accounts": "Contas ocultas",
+ "This account needs to be upgraded": "Esta conta precisa ser atualizada",
+ "Ledger": "Ledger",
+ "Schnorr": "Schnorr",
+ "Deploying": "Implementando",
+ "No accounts on this network, click below to add one.": "Nenhuma conta nesta rede, clique abaixo para adicionar uma.",
+ "No visible accounts on this network, click below to add one.": "Nenhuma conta visível nesta rede, clique abaixo para adicionar uma.",
+ "You have no accounts on {{ network }}": "Você não tem contas no {{ network }}",
+ "You have no visible accounts on {{ network }}": "Você não tem contas visíveis no {{ network }}",
+ "Select {{ accountName }}": "Selecionar {{ accountName }}",
+ "{{ accountName }} options": "Opções de {{ accountName }}",
+ "Show account list": "Exibir lista de contas",
+ "Sync account": "Sincronizar conta",
+ "Show settings": "Exibir configurações",
+ "Active": "Ativo",
+ "Discovering accounts…": "Descobrindo contas…",
+ "Please wait…": "Aguarde por favor…",
+ "Patience is a virtue…": "Paciência é uma virtude…",
+ "Almost there…": "Está quase…",
+ "New account": "Nova conta",
+ "Add a new account": "Adicionar uma nova conta",
+ "Create new Alephium account": "Criar nova conta Alephium",
+ "Generate a new wallet address": "Gerar um novo endereço de carteira",
+ "Connect Ledger": "Conectar Ledger",
+ "Use a Ledger hardware wallet": "Use uma carteira de hardware Ledger",
+ "There was an error creating your account. Please try again.": "Ocorreu um erro ao criar sua conta. Por favor, tente novamente.",
+ "Alephium account": "Conta Alephium",
+ "Create a new address to help you manage your assets.": "Crie um novo endereço para ajudar a gerenciar seus ativos.",
+ "Define group?": "Definir grupo?",
+ "My accounts": "Minhas contas",
+ "Hidden accounts": "Contas ocultas",
+ "Hide Account": "Ocultar Conta",
+ "Delete Account": "Eliminar conta",
+ "Hide": "Ocultar",
+ "Delete": "Eliminar",
+ "Cancel": "Cancelar",
+ "You are about to hide the following account:": "Você está prestes a esconder a seguinte conta:",
+ "You are about to delete the following account:": "Você está prestes a excluir a seguinte conta:",
+ "You will be able to unhide the account from the account list screen.": "Você poderá reexibir a conta na tela de lista de contas.",
+ "You will need to recover this account manually in the future.": "Você precisará recuperar esta conta manualmente no futuro.",
+ "Upgrade Wallet": "Atualizar Carteira",
+ "Upgrade": "Atualizar",
+ "You will upgrade your wallet implementation to use the latest features and security.": "Você vai atualizar sua implementação de carteira para usar os recursos mais recentes e a segurança.",
+ "This upgrade is required due to network and account contract changes. We expect these kind of upgrades to be less frequent as the network matures.": "Este upgrade é necessário devido a alterações de rede e de contratos de conta. Esperamos que esse tipo de atualização seja menos frequente conforme a rede amadurece.",
+ "Add funds": "Adicionar fundos",
+ "You need to add funds to this account before you can send": "Você precisa adicionar fundos a essa conta antes de poder enviar",
+ "Never shown": "Nunca exibido",
+ "This is a feature for developers only. You wont be able to recover your account with the private key! Please backup your Seed Phrase instead.": "Este é um recurso apenas para desenvolvedores. Você não será capaz de recuperar a sua conta com a chave privada! Por favor, faça o backup da sua frase de semente em vez disso.",
+ "Warning: Never disclose this key. Anyone with your private keys can steal any assets held in your account.": "Aviso: nunca compartilhe esta chave. Qualquer pessoa com suas chaves privadas pode roubar quaisquer ativos armazenados em sua conta.",
+ "Done": "Concluído",
+ "Token not hidden": "Token não oculto",
+ "Hide token": "Ocultar Token",
+ "Confirm": "Confirmar",
+ "To see this token again, you will need to add the token to your account.": "Para ver esse token novamente, você precisará adicionar o token à sua conta.",
+ "New token": "Novo token",
+ "Fetching tokens": "Obtendo tokens",
+ "Fractional component exceeds decimals": "Componente fracionário excede números decimais",
+ "Insufficient balance": "Saldo insuficiente",
+ "Incorrect amount": "Valor incorreto",
+ "Send {{ token }}": "Enviar {{ token }}",
+ "MAX": "Máximo",
+ "Warning: This will sweep all ALPHs to the recipient. Due to the number of UTXOs, you need to sign {{ txsNumber }} transactions.": "Aviso: Isto irá varrer todos os ALPHs para o destinatário. Devido ao número de UTXOs, você precisa assinar {{ txsNumber }} transações.",
+ "Sorry, an error occurred fetching tokens": "Desculpe, ocorreu um erro ao recuperar tokens",
+ "NFT actions": "Ações de NFT",
+ "View on {{ blockExplorerTitle }}": "Ver em {{ blockExplorerTitle }}",
+ "Hide this token": "Ocultar esse token",
+ "Copy token ID": "Copiar ID do token",
+ "Copy token address": "Copiar endereço do token",
+ "Coming Soon": "Em Breve",
+ "Error": "Erro",
+ "Token is not defined": "Token não está definido",
+ "Token not found": "Token não encontrado",
+ "Token with address {{ tokenId }} not deployed on this network": "Token com o endereço {{ tokenId }} não esta instalado nesta rede",
+ "Missing contract": "Contrato em falta",
+ "Contract with address {{ contractAddress }} not deployed on this network": "Contrato com o endereço {{ contractAddress }} não instalado nesta rede",
+ "Invalid token": "Token inválido",
+ "This is not a valid token contract": "Este não é um contrato de token válido",
+ "Network error": "Erro de rede",
+ "Network fee": "Taxa de rede",
+ "Network fee is still loading.": "A taxa de rede ainda está carregando.",
+ "Network fees are paid to the network to include transactions in blocks": "Taxas de rede são pagas à rede para incluir transações nos blocos",
+ "Network_one": "Rede",
+ "Network_other": "Redes",
+ "Review transfer": "Revisar transferência",
+ "Review contract deploy": "Revisar implantação do contrato",
+ "Review dApp transaction": "Revisar transação dApp",
+ "Review transaction": "Revisar transação",
+ "Bytecode": "Bytecode",
+ "Call smart contracts": "Chamar smart contracts",
+ "Sign raw transaction": "Assinar transação bruta",
+ "Unsigned Tx": "Tx não assinado",
+ "User rejected": "Rejeitado por usuário",
+ "User disconnected": "Usuário desconectado",
+ "Transaction building failed": "Falha ao construir transação",
+ "Sending transaction failed": "Falha ao enviar transação",
+ "Sign raw tx failed": "Falha ao assinar a tx bruta",
+ "Sign message failed": "Falha ao assinar mensagem",
+ "Add Network": "Adicionar Rede",
+ "Switch Network": "Trocar Rede",
+ "Network ID": "ID da rede",
+ "Name": "Nome",
+ "Node URL": "URL do node",
+ "Node API Key (Optional)": "Chave API Node (Opcional)",
+ "Explorer URL": "URL do Explorer",
+ "Explorer API URL": "URL da API do Explorer",
+ "Reject": "Rejeitar",
+ "Add tokens": "Adicionar tokens",
+ "This action will edit tokens that are already listed in your wallet, which can be used to phish you. Only approve if you are certain that you mean to change what these tokens represent.": "Esta ação editará os tokens que já estão listados em sua carteira, isso pode ser usados para phishing. Só aprove se você tiver certeza de que quer mudar o que esses tokens representam.",
+ "Token already exists": "O token já existe",
+ "Token ID": "ID do Token",
+ "Symbol": "Símbolo",
+ "Decimals": "Decimais",
+ "Logo URL": "URL da Logo",
+ "Continue": "Continuar",
+ "Sign Message": "Assinar mensagem",
+ "Signer": "Signatário",
+ "Hasher": "Hasher",
+ "Sign Raw TX": "Assinar TX bruta",
+ "Raw TX": "TX bruta",
+ "The Ledger app is not connected": "O aplicativo Ledger não está conectado",
+ "Insufficient token {{ tokenSymbol }}, expected at least {{ expectedStr }}, got {{ haveStr }}": "Token insuficiente {{ tokenSymbol }}, esperado pelo menos {{ expectedStr }}, obtido {{ haveStr }}",
+ "No account found for network {{ networkId }}": "Nenhuma conta encontrada para a rede {{ networkId }}",
+ "Sign": "Assinar",
+ "Sign with Ledger": "Assinar com Ledger",
+ "Ledger: Detecting": "Ledger: Detectando",
+ "Ledger: Signing": "Ledger: Assinando",
+ "Ledger: Succeeded": "Ledger: Sucesso",
+ "Ledger: Failed": "Ledger: Falhou",
+ "Something went wrong": "Ocorreu um erro",
+ "Loading…": "Carregando…",
+ "Reset cache": "Reiniciar Cache",
+ "Reload UI": "Recarregar UI",
+ "Reload HTML": "Recarregar HTML",
+ "Request $ALPH": "Solicitar $ALPH",
+ "The faucet can be requested once per 5 minutes, please try later": "A faucet pode ser solicitada uma vez a cada 5 minutos. Por favor, tente mais tarde",
+ "The local Devnet is not available, please start one": "O Devnet local não está disponível. Por favor, inicie um",
+ "OK": "OK",
+ "Full account address": "Endereço completo da conta",
+ "How would you like to fund your account?": "Como você gostaria de financiar a sua conta?",
+ "Buy with card or bank transfer": "Comprar com cartão ou transferência bancária",
+ "Is coming soon!": "Em breve!",
+ "Only available on Mainnet": "Disponível apenas no Mainnet",
+ "Only available for new accounts": "Disponível apenas para novas contas",
+ "From an exchange": "De uma bolsa",
+ "Bridge from Ethereum and other chains": "Bridge da Ethereum e de outras cadeias",
+ "Account added": "Conta adicionada",
+ "Your Ledger account has been successfully imported. Enjoy secure self-custody.": "Sua conta Ledger foi importada com sucesso. Aproveite a autocustódia segura.",
+ "Finish": "Terminar",
+ "Detecting Ledger": "Detectando Ledger",
+ "Connect a new Ledger": "Conectar um novo Ledger",
+ "Plug in and unlock your Ledger device": "Conecte e desbloqueie seu dispositivo Ledger",
+ "Open (or install) the Alephium Ledger app": "Abrir (ou instalar) o app Alephium Ledger",
+ "The Alephium app can be installed via Ledger Live.": "O app Alephium pode ser instalado via Ledger Live.",
+ "More information here.": "Mais informações aqui.",
+ "Schnorr is not supported for Alephium's ledger app yet": "Schnorr ainda não é suportado para o aplicativo Ledger do Alephium",
+ "Alephium Ledger app is not connected, please follow the instructions above": "O aplicativo Alephium Ledger não está conectado, por favor, siga as instruções acima",
+ "Reset": "Redefinir",
+ "Welcome back": "Bem-vindo de volta",
+ "Unlock your wallet to continue": "Desbloqueie sua carteira para continuar",
+ "Incorrect password": "Senha incorreta",
+ "Unlocking": "Desbloquear",
+ "Unlock": "Desbloquear",
+ "Password": "Senha",
+ "New password": "Nova senha",
+ "Password is too short": "A senha é muito curta",
+ "Password is required": "A senha é obrigatória",
+ "A new password is required": "Uma nova senha é necessária",
+ "Passwords do not match": "As senhas não conferem",
+ "If you reset your wallet, the only way to recover it is with your seed phrase. Make sure to back it up from the settings and save it somewhere securely before resetting the extension": "Se você redefinir sua carteira, a única maneira de recuperá-la é com sua frase inicial. Certifique-se de fazer backup das configurações e salvá-lo em algum lugar seguro antes de redefinir a extensão",
+ "Selected network": "Rede selecionada",
+ "Network issues": "Problemas de rede",
+ "There are connectivity issues for Alephium explorer or full node at the moment on {{ network }}": "Existem problemas de conectividade no momento para o explorador Alephium ou full node em {{ network }}",
+ "I understand": "Entendi",
+ "Pin the Alephium extension for quick access": "Adicione a extensão Alephium ao Pin para acesso rápido",
+ "Alephium": "Alephium",
+ "Your wallet is ready!": "A sua carteira está pronta!",
+ "Join Alephium's community": "Junte-se à comunidade do Alephium",
+ "Follow Alephium on Twitter": "Siga o Alephium no Twitter",
+ "Join Alephium's Discord": "Junte-se ao Discord do Alephium",
+ "Creating wallet": "Criando a carteira",
+ "Retry create wallet": "Tentar criar carteira novamente",
+ "Create wallet": "Criar carteira",
+ "New wallet": "Nova carteira",
+ "Enter a password to protect your wallet": "Digite uma senha para proteger a sua carteira",
+ "Sorry, unable to create wallet. Please try again later.": "Desculpe, não foi possível criar a carteira. Tente novamente mais tarde.",
+ "Drag & drop your backup file here, or click to select it": "Arraste & solte seu arquivo de backup aqui, ou clique para selecioná-lo",
+ "Backup selected": "Backup selecionado",
+ "Restore backup": "Restaurar backup",
+ "Invalid seed phrase": "Frases de recuperação invalida",
+ "Restore accounts": "Restaurar contas",
+ "Enter your recovery phrase (upto 24 words) separated by a space.": "Insira sua frase de recuperação (até 24 palavras) separada por um espaço.",
+ "You can paste your recovery phrase at once, but typing the words individually is safer": "Você pode colar sua frase de recuperação de uma vez, mas digitar as palavras individualmente é mais seguro",
+ "Recover using a backup file": "Recuperar usando um arquivo de backup",
+ "We do not recommend copying your recovery phrase to your clipboard. It can leave it susceptible to exploit!": "Não recomendamos copiar sua frase de recuperação para a área de transferência. Pode deixá-la suscetível a ataque!",
+ "Set up account recovery": "Configurar recuperação de conta",
+ "Click here to secure your assets": "Clique aqui para proteger seus ativos",
+ "Choose one or more of the methods below to ensure you can access your accounts.": "Escolha um ou mais métodos abaixo para garantir que você possa acessar suas contas.",
+ "Save the recovery phrase": "Salvar a frase de recuperação",
+ "If you lose your recovery phrase or someone steals it, you will lose access to your funds.": "Se você perder sua frase de recuperação ou alguém a roubar, você perderá o acesso aos seus fundos.",
+ "Have you written down your recovery phrase?": "Você anotou a sua frase de recuperação?",
+ "No": "Não",
+ "Yes": "Sim",
+ "Write these words down on paper. It is unsafe to save them on your computer.": "Escreva essas palavras no papel. Não é seguro salvá-las em seu computador.",
+ "Recovery phrase": "Frase de recuperação",
+ "Search": "Pesquisar",
+ "New address": "Novo endereço",
+ "Edit address": "Editar endereço",
+ "Delete contact": "Excluir contato",
+ "Are you sure you want to delete this contact from your address book?": "Tem certeza de que deseja excluir este contato do seu catálogo de endereços?",
+ "Alephium Address": "Endereço Alephium",
+ "Remove from address book": "Remover da lista de contatos",
+ "Save": "Salvar",
+ "Address book": "Agenda de endereços",
+ "Search by name, address or network": "Pesquisar por nome, endereço ou rede",
+ "You don't have any saved addresses.": "Você não tem nenhum endereço salvo.",
+ "Default": "Padrão",
+ "You haven't connected to any dApp yet.": "Você não se conectou a qualquer dApp ainda.",
+ "Require all dApps to request a new connection to your wallet?": "Exigir que todos os dApps solicitem uma nova conexão com sua carteira?",
+ "dApp connections": "Conexões dApp",
+ "Reset all dApp connections": "Redefinir todas as conexões dApp",
+ "Manage networks": "Gerenciar redes",
+ "Experimental": "Experimental",
+ "Update Token List": "Atualizar Lista de Tokens",
+ "Discover accounts": "Descobrir contas",
+ "Developer settings": "Configurações de desenvolvedor",
+ "Developer Settings": "Configurações de desenvolvedor",
+ "Add network": "Adicionar rede",
+ "Edit network": "Editar rede",
+ "Create": "Criar",
+ "Here you can add your own custom network.": "Aqui você pode adicionar sua própria rede personalizada.",
+ "Network name": "Nome de rede",
+ "Internal ID": "ID interno",
+ "No custom networks found": "Nenhuma rede personalizada encontrada",
+ "Restore default networks": "Restaurar redes padrão",
+ "Enter your password to view your recovery phrase.": "Digite sua senha para ver sua frase de recuperação.",
+ "View recovery phrase": "Ver frase de recuperação",
+ "Settings": "Definições",
+ "Extended view": "Visualização estendida",
+ "Connected dApps": "DApps conectados",
+ "Show recovery phrase": "Ver frase de recuperação",
+ "Privacy": "Privacidade",
+ "Lock wallet": "Bloquear Carteira",
+ "Help, support & suggestions": "Ajuda, suporte & sugestões",
+ "Get Alephium Support": "Obter Suporte Alephium",
+ "Ask a question on the dev-wallet channel on Discord": "Faça uma pergunta no canal de desenvolvedores no Discord",
+ "Post an issue on GitHub": "Publicar um problema no GitHub",
+ "Help": "Ajuda",
+ "Version": "Versão",
+ "Network {{ networkId }} is the current network. Change networks before deleting.": "A rede {{ networkId }} é a rede atual. Altere as redes antes de excluir.",
+ "networkAccounts_one": "A rede {{ networkId }} tem {{ count }} conta/s que deve/m ser removida/s antes que a rede poder ser excluída.",
+ "networkAccounts_other": "A rede {{ networkId }} tem {{ count }} conta/s que deve/m ser removida/s antes que a rede poder ser excluída.",
+ "More": "Mais",
+ "Got it": "Entendido",
+ "Could not add new account": "Não foi possível adicionar nova conta",
+ "Could not discover active accounts for {{ networkId }}.": "Não foi possível encontrar contas ativas para {{ networkId }}.",
+ "Could add new ledger account": "Poderia adicionar uma nova conta Ledger",
+ "Rejected": "Rejeitado",
+ "Could not delete account": "Não foi possível remover a conta",
+ "Could not upgrade account": "Não foi possível atualizar a conta",
+ "Invalid Seed Phrase": "Frases de recuperação invalidas",
+ "Verify in Ledger": "Verificar no Ledger",
+ "Connect with Ledger": "Conectar um novo Ledger",
+ "Failed to connect with Ledger, please try again": "Falha ao conectar-se com o Ledger, por favor tente novamente",
+ "Verify with Ledger": "Verificar com Ledger",
+ "Failed to verify with Ledger, please try another device": "Falha ao verificar com Ledger, por favor tente outro dispositivo"
+}
diff --git a/packages/extension/locales/ru-RU/translation.json b/packages/extension/locales/ru-RU/translation.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/packages/extension/locales/ru-RU/translation.json
@@ -0,0 +1 @@
+{}
diff --git a/packages/extension/locales/th-TH/translation.json b/packages/extension/locales/th-TH/translation.json
new file mode 100644
index 000000000..42cfca1ba
--- /dev/null
+++ b/packages/extension/locales/th-TH/translation.json
@@ -0,0 +1,298 @@
+{
+ "Welcome to Alephium": "ยินดีต้อนรับสู่ อาเลเฟียม",
+ "A New Paradigm": "แนวคิดใหม่",
+ "Create a new wallet": "สร้างกระเป๋าเงินใหม่",
+ "Restore an existing wallet": "กู้คืนกระเป๋าเงินที่มีอยู่",
+ "Address_one": "ที่อยู่",
+ "Address_other": "ที่อยู่ทั้งหมด",
+ "nostr public key": "nostr public key",
+ "Copy address": "คัดลอกที่อยู่",
+ "Click to copy address": "คลิกเพื่อคัดลอกที่อยู่",
+ "Click to copy {{ something }}": "คลิกเพื่อคัดลอก {{ something }}",
+ "Group": "กลุ่ม",
+ "Back": "กลับ",
+ "Sorry, an error occurred": "ขออภัย เกิดข้อผิดพลาด",
+ "The error was reported successfully": "รายงานข้อผิดพลาดสำเร็จแล้ว",
+ "Show error logs": "แสดงบันทึกข้อผิดพลาด",
+ "View Logs": "ดูบันทึก",
+ "Copied": "คัดลอกแล้ว",
+ "Copy error": "คัดลอกผิดพลาด",
+ "Retry": "ลองอีกครั้ง",
+ "Report error": "แจ้งข้อผิดพลาด",
+ "Automatic Error Reporting": "รายงานผิดพลาดอัตโนมัติ",
+ "Be aware that shared logs might contain sensitive data": "โปรดทราบว่าบันทึกที่แชร์อาจมีข้อมูลที่ละเอียดอ่อน",
+ "Privacy Statement": "รายการเดินบัญชีส่วนตัว",
+ "Create account": "สร้างบัญชี",
+ "Upgrade account": "อัปเกรดบัญชี",
+ "Buy NFT": "ซื้อ NFT",
+ "Transfer NFT": "โอนย้าย NFT",
+ "Mint NFT": "สร้าง NFT",
+ "Receive NFT": "รับ NFT",
+ "Send NFT": "ส่ง NFT",
+ "unknown": "ไม่ทราบ",
+ "Unknown": "ไม่ทราบ",
+ "Sold {{ token1 }} for {{ token2 }}": "ขาย {{ token1 }} สำหรับ {{ token2 }}",
+ "Approve": "ยอมรับ",
+ "Mint": "การผลิตเหรียญ",
+ "Transfer": "ยืนยันโอนย้าย",
+ "Receive": "รับ",
+ "Send": "ส่ง",
+ "Call data": "ข้อมูลคอล",
+ "Close": "ปิด",
+ "Copy": "คัดลอก",
+ "Activity": "กิจกรรม",
+ "Seems like Explorer API is down": "ดูเหมือนว่า Explorer API ไม่สามารถเชื่อมต่อได้",
+ "Pending transactions": "การทำธุรกรรมอยู่ระหว่างดำเนินการ",
+ "From": "จาก",
+ "To": "จนถึง",
+ "Transaction": "ธุรกรรม",
+ "Unknown date": "ไม่ทราบวันที่",
+ "Action": "การกระทำ",
+ "Contract": "สัญญา",
+ "View": "ดู",
+ "Event": "เหตุการณ์",
+ "Status": "สถานะ",
+ "Reason": "เหตุผล",
+ "Transaction log": "บันทึกรายการธุรกรรม",
+ "Unknown error": "ข้อผิดพลาดที่ไม่ทราบ",
+ "Transaction ID": "รหัสธุรกรรม",
+ "Deployed contract address": "ที่อยู่สัญญาการใช้งาน",
+ "Unknown host": "โฮสต์ที่ไม่รู้จัก",
+ "Raw tx": "tx ดิบ (Raw tx)",
+ "Deploy": "ปรับใช้",
+ "Token_one": "โทเค็น",
+ "Token_other": "โทเค็น",
+ "Account name": "ชื่อบัญชี",
+ "Not found": "หาไม่เจอ",
+ "Delete account": "ลบบัญชี",
+ "Hide account": "ซ่อนบัญชี",
+ "Export": "ส่งออก",
+ "Export private key": "ส่งออกคีย์ส่วนตัว (private key)",
+ "Enter your password to export your private key.": "ป้อนรหัสผ่านเพื่อส่งออกคีย์ส่วนตัว (private key)",
+ "Click to copy public key": "คลิกเพื่อคัดลอกคีย์สาธารณะ (public key)",
+ "Click to copy HD path": "คลิกเพื่อคัดลอกเส้นทาง HD",
+ "This is your private key (click to copy)": "นี่คือคีย์ส่วนตัว (private key) คลิกเพื่อคัดลอก",
+ "Public Key": "คีย์สาธารณะ (public key)",
+ "HD Path": "เส้นทาง HD",
+ "NFTs": "NTFs",
+ "Error loading": "เกิดข้อผิดพลาดในการโหลด",
+ "Loading": "กำลังโหลด",
+ "No NFTs": "ไม่มี NFT",
+ "Untitled": "ไม่มีชื่อ",
+ "Description": "คำอธิบาย",
+ "NFT is not available for now": "NFT ยังไม่พร้อมใช้งานในขณะนี้",
+ "Recipient's address": "ที่อยู่ของผู้รับ",
+ "Save address": "บันทึกที่อยู่",
+ "Next": "ต่อไป",
+ "Collections": "คอลเลกชัน",
+ "Hidden Accounts": "บัญชีที่ซ่อนอยู่",
+ "This account needs to be upgraded": "บัญชีนี้จำเป็นต้องได้รับการอัพเกรด",
+ "Ledger": "บัญชีแยกประเภท",
+ "Schnorr": "Schnorr",
+ "Deploying": "การปรับใช้",
+ "No accounts on this network, click below to add one.": "ไม่มีบัญชีในเครือข่ายนี้ คลิกด้านล่างเพื่อเพิ่มบัญชี",
+ "No visible accounts on this network, click below to add one.": "ไม่มีบัญชีที่มองเห็นได้บนเครือข่ายนี้ คลิกด้านล่างเพื่อเพิ่มบัญชี",
+ "You have no accounts on {{ network }}": "คุณไม่มีบัญชีบน {{ network }}",
+ "You have no visible accounts on {{ network }}": "คุณไม่มีบัญชีที่มองเห็นได้บน {{ network }}",
+ "Select {{ accountName }}": "เลือก {{ accountName }}",
+ "{{ accountName }} options": "ตัวเลือก {{ accountName }}",
+ "Show account list": "แสดงรายการบัญชี",
+ "Sync account": "บัญชีการซิงค์",
+ "Show settings": "แสดงการตั้งค่า",
+ "Discovering accounts…": "ค้นพบบัญชี",
+ "Please wait…": "กรุณารอสักครู่",
+ "Almost there…": "เกือบถึงแล้ว…",
+ "New account": "บัญชีใหม่",
+ "Add a new account": "เพิ่มบัญชีผู้ใช้ใหม่",
+ "Create new Alephium account": "สร้างบัญชี Alephium ใหม่",
+ "Generate a new wallet address": "สร้างที่อยู่กระเป๋าเงินใหม่",
+ "Connect Ledger": "เชื่อมต่อบัญชีแยกประเภท",
+ "Use a Ledger hardware wallet": "ใช้บัญชีแยกประเภทกระเป๋าเงินฮาร์ดแวร์",
+ "There was an error creating your account. Please try again.": "เกิดข้อผิดพลาดในการสร้างบัญชี โปรดลองอีกครั้ง",
+ "Alephium account": "บัญชี Alephium",
+ "Create a new address to help you manage your assets.": "สร้างที่อยู่ใหม่เพื่อช่วยจัดการสินทรัพย์",
+ "My accounts": "บัญชีของฉัน",
+ "Hidden accounts": "บัญชีที่ซ่อนอยู่",
+ "Hide Account": "ซ่อนบัญชี",
+ "Delete Account": "ลบบัญชี",
+ "Hide": "ซ่อน",
+ "Delete": "ลบ",
+ "Cancel": "ยกเลิก",
+ "You are about to hide the following account:": "คุณกำลังจะซ่อนบัญชีต่อไปนี้:",
+ "You are about to delete the following account:": "คุณกำลังจะลบบัญชีต่อไปนี้:",
+ "Upgrade Wallet": "อัพเกรดกระเป๋าเงิน",
+ "Upgrade": "อัปเกรด",
+ "Add funds": "เพิ่มเงิน",
+ "You need to add funds to this account before you can send": "คุณต้องเพิ่มเงินในบัญชีนี้ก่อนจึงจะสามารถส่งได้",
+ "Never shown": "ไม่เคยแสดง",
+ "Done": "เสร็จแล้ว",
+ "Token not hidden": "โทเค็นไม่ถูกซ่อน",
+ "Hide token": "ซ่อนโทเค็น",
+ "Confirm": "ยืนยัน",
+ "To see this token again, you will need to add the token to your account.": "\nหากต้องการดูโทเค็นนี้อีกครั้ง คุณจะต้องเพิ่มโทเค็นลงในบัญชีของคุณ",
+ "New token": "โทเค็นใหม่",
+ "Fetching tokens": "กำลังดึงโทเค็นมา",
+ "Insufficient balance": "ยอดคงเหลือไม่เพียงพอ",
+ "Incorrect amount": "จำนวนเงินไม่ถูกต้อง",
+ "Send {{ token }}": "ส่ง {{ token }}",
+ "MAX": "สูงสุด",
+ "Sorry, an error occurred fetching tokens": "ขออภัย เกิดข้อผิดพลาดในการดึงโทเค็น",
+ "View on {{ blockExplorerTitle }}": "ดูบน {{ blockExplorerTitle }}",
+ "Hide this token": "ซ่อนโทเค็นนี้",
+ "Copy token ID": "คัดลอก ID โทเค็น",
+ "Copy token address": "คัดลอกที่อยู่โทเค็น",
+ "Coming Soon": "เร็ว ๆ นี้",
+ "Error": "ข้อผิดพลาด",
+ "Token is not defined": "โทเค็นไม่ได้ถูกกำหนด",
+ "Token not found": "ไม่พบโทเค็น",
+ "Missing contract": "สัญญาขาดหาย",
+ "Invalid token": "โทเค็นไม่ถูกต้อง",
+ "This is not a valid token contract": "สัญญาโทเค็นไม่ถูกต้อง",
+ "Network error": "ข้อผิดพลาดของเครือข่าย",
+ "Network fee": "ค่าธรรมเนียมเครือข่าย",
+ "Network fee is still loading.": "ค่าธรรมเนียมเครือข่ายยังโหลดอยู่",
+ "Network_one": "ครือข่าย",
+ "Network_other": "ครือข่ายทั้งหมด",
+ "Review transfer": "ตรวจสอบการโอน",
+ "Review transaction": "ตรวจสอบการโอน",
+ "Bytecode": "Bytecode",
+ "Sign raw transaction": "ลงชื่ธุรกรรม",
+ "Unsigned Tx": "TX ที่ยังไม่ได้ลงชื่อ",
+ "Sign raw tx failed": "ลงชื่อ tx ดิบล้มเหลว",
+ "Sign message failed": "ลงชื่ข้อความล้มเหลว",
+ "Add Network": "เพิ่มเครือข่าย",
+ "Switch Network": "สลับเครือข่าย",
+ "Network ID": "หัสเครือข่าย",
+ "Name": "ชื่อ",
+ "Node URL": "Node URL",
+ "Node API Key (Optional)": "Node API Key (Optional)",
+ "Explorer URL": "Explorer URL",
+ "Explorer API URL": "Explorer API host",
+ "Reject": "ปฏิเสธ",
+ "Add tokens": "เพิ่มโทเค็น",
+ "Token already exists": "โทเค็นมีอยู่แล้ว",
+ "Token ID": "รหัสโทเค็น",
+ "Symbol": "เครื่องหมาย",
+ "Decimals": "ทศนิยม",
+ "Logo URL": "โลโก้ URL",
+ "Continue": "ไปต่อ",
+ "Sign Message": "ลงชื่อข้อความ",
+ "Signer": "คนลงชื่อข้อ",
+ "Hasher": "แฮชเชอร์",
+ "Sign Raw TX": "ลงชื่อ TX ดิบ",
+ "Raw TX": "TX ดิบ",
+ "The Ledger app is not connected": "แอป Ledger ไม่ได้เชื่อมต่อ",
+ "Insufficient token {{ tokenSymbol }}, expected at least {{ expectedStr }}, got {{ haveStr }}": "โทเค็นไม่เพียงพอ {{ tokenSymbol }} คาดว่าจะมีอย่างน้อย {{ expectedStr }} แต่ได้ {{ haveStr }}",
+ "No account found for network {{ networkId }}": "ไม่พบบัญชีสำหรับเครือข่าย {{ networkId }}",
+ "Sign": "ลงชื่อ",
+ "Sign with Ledger": "ลงชื่อกับบัญชีแยกประเภท",
+ "Ledger: Detecting": "บัญชีแยกประเภท: กำลังตรวจจับ",
+ "Something went wrong": "มีบางอย่างผิดพลาดเกิดขึ้น",
+ "Loading…": "กำลังโหลด",
+ "Reset cache": "รีเซ็ตแคช",
+ "Reload UI": "โหลด UI ใหม่",
+ "Reload HTML": "โหลด HTML ใหม่",
+ "Request $ALPH": "ขอ $ALPH",
+ "OK": "ตกลง",
+ "Full account address": "ที่อยู่บัญชีเต็ม",
+ "How would you like to fund your account?": "คุณต้องการฝากเงินเข้าบัญชีอย่างไร",
+ "Buy with card or bank transfer": "ซื้อด้วยบัตรหรือโอนผ่านธนาคาร",
+ "Is coming soon!": "กำลังจะมาเร็วๆ นี้",
+ "Only available on Mainnet": "ใช้ได้เฉพาะบน Mainnet",
+ "Only available for new accounts": "ใช้ได้เฉพาะบัญชีใหม่",
+ "Account added": "เพิ่มบัญชีแล้ว",
+ "Finish": "เรียบร้อย",
+ "Detecting Ledger": "กำลังตรวจจับบัญชีแยกประเภท",
+ "Connect a new Ledger": "เชื่อมต่อบัญชีแยกประเภทใหม่",
+ "Open (or install) the Alephium Ledger app": "เปิด (หรือติดตั้ง) แอป Alephium Ledger",
+ "The Alephium app can be installed via Ledger Live.": "สามารถติดตั้งแอป Alephium ได้ผ่าน Ledger Live",
+ "More information here.": "ข้อมูลเพิ่มเติมที่นี่",
+ "Alephium Ledger app is not connected, please follow the instructions above": "แอป Alephium Ledger ไม่ได้เชื่อมต่อ โปรดปฏิบัติตามคำแนะนำด้านบน",
+ "Reset": "รีเซ็ต",
+ "Welcome back": "ยินดีต้อนรับอีกครั้ง",
+ "Unlock your wallet to continue": "ปลดล็อคกระเป๋าเงินเพื่อดำเนินการต่อ",
+ "Incorrect password": "รหัสผ่านไม่ถูกต้อง",
+ "Unlocking": "กำลังปลดล็อก",
+ "Unlock": "ปลดล็อค",
+ "Password": "รหัสผ่าน",
+ "New password": "รหัสผ่านใหม่",
+ "Password is too short": "รหัสผ่านสั้นเกินไป",
+ "Password is required": "ต้องระบุรหัสผ่าน",
+ "A new password is required": "จำเป็นต้องมีรหัสผ่านใหม่",
+ "Passwords do not match": "รหัสผ่านไม่ตรงกัน",
+ "Selected network": "เครือข่ายที่เลือก",
+ "Network issues": "ปัญหาด้านเครือข่าย",
+ "I understand": "ฉันเข้าใจ",
+ "Alephium": "อาเลเฟียม (Alephium)",
+ "Your wallet is ready!": "กระเป๋าเงินพร้อมแล้ว!",
+ "Join Alephium's community": "เข้าร่วมชุมชนของ Alephium",
+ "Follow Alephium on Twitter": "ติดตาม Alephium บน X (Twitter)",
+ "Join Alephium's Discord": "เข้าร่วม Discord ของ Alephium",
+ "Creating wallet": "กำลังสร้างกระเป๋า",
+ "Retry create wallet": "ลองสร้างกระเป๋าเงินอีกครั้ง",
+ "Create wallet": "สร้างกระเป๋า",
+ "New wallet": "สร้างกระเป๋าเงินใหม่",
+ "Enter a password to protect your wallet": "กรอกรหัสผ่านเพื่อปกป้องกระเป๋าเงิน",
+ "Sorry, unable to create wallet. Please try again later.": "ขออภัย ไม่สามารถสร้างกระเป๋าเงินได้ โปรดลองอีกครั้งในภายหลัง",
+ "Backup selected": "เลือกการสำรองข้อมูลแล้ว",
+ "Restore backup": "กู้คืนข้อมูลสำรอง",
+ "Invalid seed phrase": "วลีกู้คืนบัญชี (seed phrase) ไม่ถูกต้อง",
+ "Restore accounts": "กู้คืนบัญชี",
+ "Recover using a backup file": "กู้คืนโดยใช้ไฟล์สำรองข้อมูล",
+ "Save the recovery phrase": "บันทึกวลีกู้คืนความลับ (secret recovery phrase) ",
+ "Have you written down your recovery phrase?": "คุณได้เขียนวลีกู้คืนความลับ (secret recovery phrase) ไว้แล้วหรือยัง",
+ "No": "ไม่ใช่",
+ "Yes": "ใช่",
+ "Recovery phrase": "วลีกู้คืนความลับ (secret recovery phrase) ",
+ "Search": "ค้นหา",
+ "New address": "ที่อยู่ใหม่",
+ "Edit address": "แก้ไขที่อยู่",
+ "Delete contact": "ลบผู้ติดต่อ",
+ "Are you sure you want to delete this contact from your address book?": "คุณแน่ใจหรือไม่ว่าต้องการลบผู้ติดต่อนี้",
+ "Alephium Address": "ที่อยู่ Alephium",
+ "Remove from address book": "ลบออกจากสมุดบันทึกที่อยู่",
+ "Save": "บันทึก",
+ "Address book": "สมุดบันทึกที่อยู่",
+ "Search by name, address or network": "ค้นหาตามชื่อ ที่อยู่ หรือเครือข่าย",
+ "You don't have any saved addresses.": "คุณไม่มีที่อยู่ที่บันทึกไว้",
+ "You haven't connected to any dApp yet.": "คุณยังไม่ได้เชื่อมต่อกับ dApp",
+ "dApp connections": "การเชื่อมต่อ dApp",
+ "Reset all dApp connections": "รีเซ็ตการเชื่อมต่อ dApp ทั้งหมด",
+ "Manage networks": "การจัดการเครือข่าย",
+ "Experimental": "การทดลอง",
+ "Update Token List": "อัปเดตรายการโทเค็น",
+ "Discover accounts": "ค้นพบบัญชี",
+ "Developer settings": "การตั้งค่านักพัฒนา",
+ "Developer Settings": "การตั้งค่านักพัฒนา",
+ "Add network": "เพิ่มเครือข่าย",
+ "Edit network": "แก้ไขเครือข่าย",
+ "Create": "สร้าง",
+ "Here you can add your own custom network.": "คุณสามารถเพิ่มเครือข่ายที่กำหนดเองได้ที่นี่",
+ "Network name": "ชื่อเครือข่าย",
+ "Internal ID": "รหัสภายใน",
+ "No custom networks found": "ไม่พบเครือข่ายที่กำหนดเอง",
+ "View recovery phrase": "ดูวลีกู้คืนความลับ (secret recovery phrase) ",
+ "Settings": "การตั้งค่า",
+ "Connected dApps": "dApps ที่เชื่อมต่อ",
+ "Show recovery phrase": "แสดงวลีกู้คืนความลับ (secret recovery phrase) ",
+ "Privacy": "ความเป็นส่วนตัว",
+ "Lock wallet": "ล็อคกระเป๋าเงิน",
+ "Help, support & suggestions": "ความช่วยเหลือ การสนับสนุน และข้อเสนอแนะ",
+ "Get Alephium Support": "รับการสนับสนุน Alephium",
+ "Post an issue on GitHub": "โพสต์ปัญหาบน GitHub",
+ "Help": "ช่วย",
+ "Version": "รุ่น",
+ "Network {{ networkId }} is the current network. Change networks before deleting.": "เครือข่าย {{ networkId }} คือเครือข่ายปัจจุบัน เปลี่ยนเครือข่ายก่อนทำการลบ",
+ "More": "เพิ่มเติม",
+ "Got it": "รับทราบ",
+ "Could not add new account": "ไม่สามารถเพิ่มบัญชีใหม่ได้",
+ "Could add new ledger account": "ไม่สามารถเพิ่มบัญชีแยกประเภทใหม่ได้",
+ "Rejected": "ปฏิเสธ",
+ "Could not delete account": "ไม่สามารถลบบัญชีได้",
+ "Could not upgrade account": "ไม่สามารถอัพเกรดบัญชีได้",
+ "Invalid Seed Phrase": "วลีกู้คืนบัญชี (seed phrase) ไม่ถูกต้อง",
+ "Verify in Ledger": "ตรวจสอบในบัญชีแยกประเภท",
+ "Connect with Ledger": "เชื่อมต่อกับ Ledger",
+ "Failed to connect with Ledger, please try again": "ไม่สามารถเชื่อมต่อกับ Ledger ได้ โปรดลองอีกครั้ง",
+ "Verify with Ledger": "ตรวจสอบกับบัญชีแยกประเภท"
+}
diff --git a/packages/extension/locales/tr-TR/translation.json b/packages/extension/locales/tr-TR/translation.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/packages/extension/locales/tr-TR/translation.json
@@ -0,0 +1 @@
+{}
diff --git a/packages/extension/locales/vi-VN/translation.json b/packages/extension/locales/vi-VN/translation.json
new file mode 100644
index 000000000..900c2ed45
--- /dev/null
+++ b/packages/extension/locales/vi-VN/translation.json
@@ -0,0 +1,358 @@
+{
+ "Welcome to Alephium": "Chào mừng đến với Alephium",
+ "A New Paradigm": "Một Mô Hình Mới",
+ "Create a new wallet": "Tạo một ví mới",
+ "Restore an existing wallet": "Khôi phục một ví đã tồn tại",
+ "Address_one": "Địa chỉ",
+ "Address_other": "Địa chỉ",
+ "nostr public key": "khóa công khai nostr",
+ "Copy address": "Sao chép địa chỉ",
+ "Click to copy address": "Nhấn để sao chép địa chỉ",
+ "Click to copy {{ something }}": "Nhấn để sao chép {{ something }}",
+ "Group": "Nhóm",
+ "Back": "Quay lại",
+ "Sorry, an error occurred": "Rất tiếc, đã xảy ra lỗi",
+ "The error was reported successfully": "Lỗi đã được báo cáo thành công",
+ "Show error logs": "Xem nhật ký lỗi",
+ "View Logs": "Xem nhật ký",
+ "Copied": "Đã sao chép",
+ "Copy error": "Lỗi sao chép",
+ "Retry": "Thử lại",
+ "Report error": "Báo cáo lỗi",
+ "Automatic Error Reporting": "Tự Động Báo Cáo Lỗi",
+ "Be aware that shared logs might contain sensitive data": "Hãy cẩn trọng khi chia sẻ dữ liệu nhật ký vì nó có thể chứa dữ liệu riêng tư",
+ "Privacy Statement": "Tuyên Bố Về Quyền Riêng Tư",
+ "privacyStatement": "Ví extension trên trình duyệt <1>không thu thập bất kỳ thông tin cá nhân nào 1>nó cũng không liên quan đến bất kỳ thông tin cá nhân nào của bạn với dữ liệu ẩn danh được xử lý như một phần dịch vụ.",
+ "Create account": "Tạo tài khoản",
+ "Upgrade account": "Nâng cấp tài khoản",
+ "Buy NFT": "Mua NFT",
+ "Transfer NFT": "Di chuyển NFT",
+ "Mint NFT": "Mint NFT",
+ "Receive NFT": "Nhận NFT",
+ "Send NFT": "Gửi NFT",
+ "unknown": "không xác định",
+ "Unknown": "Không Xác Định",
+ "Sold {{ token1 }} for {{ token2 }}": "Đã bán {{ token1 }} lấy {{ token2 }}",
+ "Approve": "Chấp nhận",
+ "Mint": "Mint",
+ "Transfer": "Chuyển khoản",
+ "Receive": "Nhận",
+ "Send": "Gửi",
+ "Call data": "Gọi dữ liệu",
+ "Close": "Đóng",
+ "Copy": "Sao chép",
+ "Activity": "Hoạt động",
+ "Seems like Explorer API is down": "Có vẻ như API của Explorer không hoạt động",
+ "Pending transactions": "Các giao dịch đang chờ",
+ "From": "Từ",
+ "To": "Đến",
+ "Transaction": "Giao dịch",
+ "Unknown date": "Ngày không xác định",
+ "Action": "Tác vụ",
+ "Contract": "Hợp đồng",
+ "View": "Xem",
+ "Event": "Sự kiện",
+ "Status": "Trạng thái",
+ "Reason": "Lý do",
+ "Transaction log": "Nhật ký giao dịch",
+ "Unknown error": "Lỗi không xác định",
+ "Transaction ID": "ID Giao Dịch",
+ "Deployed contract address": "Địa chỉ hợp đồng đã triển khai",
+ "Declared contract hash": "Hash hợp đồng đã khai báo",
+ "Unknown host": "Host không xác định",
+ "Raw tx": "Raw tx",
+ "Deploy": "Triển khai",
+ "Deploy contract": "Triển khai hợp đồng",
+ "Token_one": "Token",
+ "Token_other": "Token",
+ "Account name": "Tên tài khoản",
+ "Not found": "Không tìm thấy",
+ "View on explorer": "Xem trên explorer",
+ "Delete account": "Xóa tài khoản",
+ "Hide account": "Ẩn tài khoản",
+ "Export": "Xuất",
+ "Export private key": "Xuất khóa cá nhân",
+ "Enter your password to export your private key.": "Nhập mật khẩu để xuất khóa cá nhân của bạn.",
+ "Click to copy public key": "Nhấn để sao chép khóa công khai",
+ "Click to copy HD path": "Nhấn để sao chép đường dẫn HD",
+ "This is your private key (click to copy)": "Đây là khóa cá nhân của bạn (nhấn để sao chép)",
+ "Public Key": "Khóa Công Khai",
+ "HD Path": "Đường dẫn HD",
+ "NFTs": "NFT",
+ "Error loading": "Lỗi tải",
+ "Loading": "Đang tải",
+ "Deprecated NFT": "NFT không hỗ trợ",
+ "No NFTs": "Không có NFT nào",
+ "Untitled": "Không có tiêu đề",
+ "Description": "Mô tả",
+ "NFT is not available for now": "NFT hiện tại không khả dụng",
+ "Recipient's address": "Địa chỉ người nhận",
+ "Save address": "Lưu địa chỉ",
+ "Next": "Tiếp",
+ "Collections": "Bộ sưu tập",
+ "Hidden Accounts": "Các Tài Khoản Ẩn",
+ "This account needs to be upgraded": "Tài khoản này cần được nâng cấp",
+ "Ledger": "Ledger",
+ "Schnorr": "Schnorr",
+ "Deploying": "Đang triển khai",
+ "No accounts on this network, click below to add one.": "Không có tài khoản nào trên mạng này, nhấn vào bên dưới để thêm một tài khoản.",
+ "No visible accounts on this network, click below to add one.": "Không có tài khoản để hiển thị, nhấn vào bên dưới để thêm một tài khoản.",
+ "You have no accounts on {{ network }}": "Bạn không có tài khoản nào trên {{ network }}",
+ "You have no visible accounts on {{ network }}": "Bạn không có tài khoản nào để hiển thị trên {{ network }}",
+ "Select {{ accountName }}": "Chọn {{ accountName }}",
+ "{{ accountName }} options": "Tùy chỉnh {{ accountName }}",
+ "Show account list": "Hiện danh sách tài khoản",
+ "Sync account": "Đồng bộ tài khoản",
+ "Show settings": "Hiện cài đặt",
+ "Active": "Đang hoạt động",
+ "Discovering accounts…": "Đang tìm kiếm các tài khoản…",
+ "Please wait…": "Xin vui lòng đợi…",
+ "Patience is a virtue…": "Hãy kiên nhẫn…",
+ "Almost there…": "Sắp hoàn thành…",
+ "New account": "Tạo tài khoản mới",
+ "Add a new account": "Thêm tài khoản mới",
+ "Create new Alephium account": "Tạo tài khoản Alephium mới",
+ "Generate a new wallet address": "Tạo một địa chỉ ví mới",
+ "Connect Ledger": "Kết nối đến Ledger",
+ "Use a Ledger hardware wallet": "Sử dụng một ví phần cứng Ledger",
+ "There was an error creating your account. Please try again.": "Đã xảy ra lỗi trong quá trình tạo tài khoản của bạn. Xin hãy thử lại sau.",
+ "Alephium account": "Tài khoản Alephium",
+ "Create a new address to help you manage your assets.": "Tạo một địa chỉ mới để dễ dàng quản lý các tài sản của bạn.",
+ "Define group?": "Đặt nhóm?",
+ "My accounts": "Tài khoản của tôi",
+ "Hidden accounts": "Các tài khoản ẩn",
+ "Hide Account": "Ẩn Tài Khoản",
+ "Delete Account": "Xóa Tài Khoản",
+ "Hide": "Ẩn",
+ "Delete": "Xóa",
+ "Cancel": "Hủy",
+ "You are about to hide the following account:": "Bạn đang sắp sửa ẩn những tài khoản sau đây:",
+ "You are about to delete the following account:": "Bạn đang sắp sửa xóa những tài khoản sau đây:",
+ "You will be able to unhide the account from the account list screen.": "Bạn có thể hiện lại tài khoản từ màn hình danh sách tài khoản.",
+ "You will need to recover this account manually in the future.": "Bạn sẽ cần tự khôi phục lại tài khoản này thủ công trong tương lai.",
+ "Upgrade Wallet": "Nâng Cấp Ví",
+ "Upgrade": "Nâng Cấp",
+ "You will upgrade your wallet implementation to use the latest features and security.": "Bạn sẽ nâng cấp triển khai ví của mình để sử dụng các tính năng và bảo mật mới nhất.",
+ "This upgrade is required due to network and account contract changes. We expect these kind of upgrades to be less frequent as the network matures.": "Nâng cấp này được yêu cầu do những thay đổi trong mạng lưới và hợp đồng tài khoản. Chúng tôi kỳ vọng những loại nâng cấp như thế này sẽ ít xảy ra hơn khi mạng lưới phát triển.",
+ "Add funds": "Thêm tài sản",
+ "You need to add funds to this account before you can send": "Bạn cần nạp thêm tài sản vào tài khoản này để có thể gửi giao dịch",
+ "Never shown": "Chưa bao giờ hiển thị",
+ "This is a feature for developers only. You wont be able to recover your account with the private key! Please backup your Seed Phrase instead.": "Tính năng này chỉ dành cho nhà phát triển. Bạn sẽ không thể khôi phục lại tài khoản bằng khóa cá nhân! Thay vào đó, xin hãy sao lưu Cụm Từ Khôi Phục.",
+ "Warning: Never disclose this key. Anyone with your private keys can steal any assets held in your account.": "Cảnh báo: Không bao giờ để lộ khóa này. Bất kỳ ai có các khóa cá nhân của bạn đều có thể lấy trộm đi tài sản chứa trong tài khoản.",
+ "Done": "Hoàn tất",
+ "Token not hidden": "Token không bị ẩn",
+ "Hide token": "Ẩn token",
+ "Confirm": "Xác nhận",
+ "To see this token again, you will need to add the token to your account.": "Để hiện lại token này, bạn sẽ cần thêm token vào tài khoản của mình.",
+ "New token": "Token mới",
+ "Fetching tokens": "Đang tải dữ liệu các token",
+ "Fractional component exceeds decimals": "Thành phần phân số vượt quá số thập phân",
+ "Insufficient balance": "Không đủ số dư",
+ "Incorrect amount": "Số lượng không chính xác",
+ "Send {{ token }}": "Gửi {{ token }}",
+ "MAX": "TỐI ĐA",
+ "Warning: This will sweep all ALPHs to the recipient. Due to the number of UTXOs, you need to sign {{ txsNumber }} transactions.": "Cảnh báo: Điều này sẽ chuyển tất cả ALPH đến địa chỉ nhận. Tùy theo số lượng UTXO, bạn cần phải ký xác nhận {{ txsNumber }} giao dịch.",
+ "Sorry, an error occurred fetching tokens": "Xin lỗi, đã xảy ra sự cố khi tải dữ liệu các token",
+ "NFT actions": "Hoạt động NFT",
+ "View on {{ blockExplorerTitle }}": "Xem trên {{ blockExplorerTitle }}",
+ "Hide this token": "Ẩn token này",
+ "Copy token ID": "Sao chép token ID",
+ "Copy token address": "Sao chép địa chỉ token",
+ "Coming Soon": "Sắp Ra Mắt",
+ "Error": "Lỗi",
+ "Token is not defined": "Token không xác định",
+ "Token not found": "Không tìm thấy token",
+ "Token with address {{ tokenId }} not deployed on this network": "Token với địa chỉ {{ tokenId }} chưa được triển khai trên mạng này",
+ "Missing contract": "Hợp đồng bị thiếu",
+ "Contract with address {{ contractAddress }} not deployed on this network": "Hợp đồng với địa chỉ {{ contractAddress }} chưa được triển khai trên mạng này",
+ "Invalid token": "Token không hợp lệ",
+ "This is not a valid token contract": "Đây không phải là một hợp đồng token hợp lệ",
+ "Network error": "Lỗi mạng",
+ "Network fee": "Phí mạng lưới",
+ "Network fee is still loading.": "Phí mạng lưới vẫn đang tải.",
+ "Network fees are paid to the network to include transactions in blocks": "Phí mạng lưới được chi trả cho mạng để thêm các giao dịch vào trong các block",
+ "Network_one": "Mạng",
+ "Network_other": "Mạng",
+ "Review transfer": "Xem lại chuyển khoản",
+ "Review contract deploy": "Xem lại hợp đồng triển khai",
+ "Review dApp transaction": "Xem lại giao dịch với dApp",
+ "Review transaction": "Xem lại giao dịch",
+ "Bytecode": "Bytecode",
+ "Call smart contracts": "Gọi hợp đồng thông minh",
+ "Sign raw transaction": "Ký xác nhận giao dịch thô",
+ "Unsigned Tx": "Giao dịch chưa xác nhận",
+ "User rejected": "Người dùng đã từ chối",
+ "User disconnected": "Người dùng đã ngắt kết nối",
+ "Transaction building failed": "Lỗi tạo giao dịch",
+ "Sending transaction failed": "Gửi giao dịch thất bại",
+ "Sign raw tx failed": "Ký xác nhận giao dịch thô thất bại",
+ "Sign message failed": "Ký thông điệp thất bại",
+ "Add Network": "Thêm Mạng",
+ "Switch Network": "Đổi Mạng",
+ "Network ID": "ID Mạng",
+ "Name": "Tên",
+ "Node URL": "Node URL",
+ "Node API Key (Optional)": "Node API Key (Tùy chọn)",
+ "Explorer URL": "Explorer URL",
+ "Explorer API URL": "Explorer API URL",
+ "Reject": "Từ chối",
+ "Add tokens": "Thêm token",
+ "This action will edit tokens that are already listed in your wallet, which can be used to phish you. Only approve if you are certain that you mean to change what these tokens represent.": "Hành động này sẽ chỉnh sửa các token đã được liệt kê trong ví của bạn, các token này có thể được sử dụng để lừa đảo bạn. Chỉ phê duyệt nếu bạn chắc chắn rằng muốn thay đổi dữ liệu của các token này.",
+ "Token already exists": "Token đã tồn tại",
+ "Token ID": "Token ID",
+ "Symbol": "Ký hiệu",
+ "Decimals": "Số thập phân",
+ "Logo URL": "Logo URL",
+ "Continue": "Tiếp tục",
+ "Sign Message": "Ký Xác Nhận Thông Điệp",
+ "Signer": "Người ký",
+ "Hasher": "Hasher",
+ "Sign Raw TX": "Ký Giao Dịch Thô",
+ "Raw TX": "Giao Dịch Thô",
+ "The Ledger app is not connected": "Ứng dụng Ledger chưa được kết nối",
+ "Insufficient token {{ tokenSymbol }}, expected at least {{ expectedStr }}, got {{ haveStr }}": "Token {{ tokenSymbol }} không đủ, cần tối thiểu {{ expectedStr }}, đã nhận {{ haveStr }}",
+ "No account found for network {{ networkId }}": "Không tìm thấy tài khoản nào trên mạng {{ networkId }}",
+ "Sign": "Ký",
+ "Sign with Ledger": "Ký với Ledger",
+ "Ledger: Detecting": "Ledger: Đang nhận dạng",
+ "Ledger: Signing": "Ledger: Đang ký xác thực",
+ "Ledger: Succeeded": "Ledger: Thành công",
+ "Ledger: Failed": "Ledger: Thất bại",
+ "Something went wrong": "Có lỗi xảy ra",
+ "Loading…": "Đang tải…",
+ "Reset cache": "Xóa bộ nhớ đệm",
+ "Reload UI": "Tải lại giao diện người dùng",
+ "Reload HTML": "Tải lại HTML",
+ "Request $ALPH": "Yêu cầu $ALPH",
+ "The faucet can be requested once per 5 minutes, please try later": "Faucet chỉ có thể được yêu cầu mỗi 5 phút một lần, hãy thử lại sau",
+ "The local Devnet is not available, please start one": "Devnet nội bộ không có sẳn, vui lòng khởi chạy nó",
+ "OK": "OK",
+ "Full account address": "Địa chỉ tài khoản đầy đủ",
+ "How would you like to fund your account?": "Bạn muốn nạp vào tài khoản như thế nào?",
+ "Buy with card or bank transfer": "Mua bằng thẻ hoặc chuyển khoản ngân hàng",
+ "Is coming soon!": "Sắp ra mắt!",
+ "Only available on Mainnet": "Chỉ khả dụng trên Mainnet",
+ "Only available for new accounts": "Chỉ khả dụng cho các tài khoản mới",
+ "From an exchange": "Từ một sàn giao dịch",
+ "Bridge from Ethereum and other chains": "Bridge từ Ethereum và các chain khác",
+ "Account added": "Tài khoản đã thêm",
+ "Your Ledger account has been successfully imported. Enjoy secure self-custody.": "Tài khoản Ledger của bạn đã được thêm thành công. Chúc bạn an toàn với việc tự lưu trữ tài sản.",
+ "Finish": "Hoàn tất",
+ "Detecting Ledger": "Đang nhận diện Ledger",
+ "Connect a new Ledger": "Kết nối đến một Ledger mới",
+ "Plug in and unlock your Ledger device": "Cắm vào và mở khoá thiết bị Ledger của bạn",
+ "Open (or install) the Alephium Ledger app": "Mở (hoặc cài đặt) ứng dụng Alephium Ledger",
+ "The Alephium app can be installed via Ledger Live.": "Ứng dụng Alephium có thể được cài đặt thông qua Ledger Live.",
+ "More information here.": "Xem thêm thông tin tại đây.",
+ "Schnorr is not supported for Alephium's ledger app yet": "Schnorr vẫn chưa được hỗ trợ cho ứng dụng Alephium Ledger",
+ "Alephium Ledger app is not connected, please follow the instructions above": "Ứng dụng Alephium Ledger chưa được kết nối, vui lòng xem hướng dẫn phía trên",
+ "Reset": "Đặt lại",
+ "Welcome back": "Chào mừng bạn quay lại",
+ "Unlock your wallet to continue": "Mở khóa ví của bạn để tiếp tục",
+ "Incorrect password": "Mật khẩu không chính xác",
+ "Unlocking": "Đang mở khóa",
+ "Unlock": "Mở khóa",
+ "Password": "Mật khẩu",
+ "New password": "Mật khẩu mới",
+ "Password is too short": "Mật khẩu quá ngắn",
+ "Password is required": "Vui lòng nhập mật khẩu",
+ "A new password is required": "Vui lòng nhập một mật khẩu mới",
+ "Passwords do not match": "Các mật khẩu không trùng khớp",
+ "If you reset your wallet, the only way to recover it is with your seed phrase. Make sure to back it up from the settings and save it somewhere securely before resetting the extension": "Nếu bạn đặt lại ví của mình, cách duy nhất để khôi phục nó là sử dụng cụm từ khôi phục của bạn. Hãy chắc rằng bạn đã sao lưu nó từ phần cài đặt và lưu trữ nó ở một nơi an toàn trước khi tiến hành đặt lại tiện ích mở rộng",
+ "Selected network": "Mạng đã chọn",
+ "Network issues": "Lỗi Mạng",
+ "There are connectivity issues for Alephium explorer or full node at the moment on {{ network }}": "Đã xảy ra lỗi khi kết nối với Alephium explorer hoặc full node ở thời điểm hiện tại trên {{ network }}",
+ "I understand": "Tôi hiểu",
+ "Pin the Alephium extension for quick access": "Ghim tiện ích mở rộng Alephium để tiện truy cập",
+ "Alephium": "Alephium",
+ "Your wallet is ready!": "Ví của bạn đã sẵn sàng!",
+ "Join Alephium's community": "Tham gia vào cộng đồng Alephium",
+ "Follow Alephium on Twitter": "Theo dõi Alephium trên Twitter",
+ "Join Alephium's Discord": "Tham gia kênh Alephium Discord",
+ "Creating wallet": "Đang tạo ví",
+ "Retry create wallet": "Thử tạo lại ví",
+ "Create wallet": "Tạo ví",
+ "New wallet": "Ví mới",
+ "Enter a password to protect your wallet": "Tạo một mật khẩu để bảo vệ ví của bạn",
+ "Sorry, unable to create wallet. Please try again later.": "Xin lỗi, không thể tạo ví. Vui lòng thử lại sau.",
+ "Drag & drop your backup file here, or click to select it": "Kéo & thả tệp khôi phục của bạn tại đây, hoặc nhấn để chọn nó",
+ "Backup selected": "Bản sao lưu đã chọn",
+ "Restore backup": "Khôi phục bản sao lưu",
+ "Invalid seed phrase": "Cụm từ khôi phục không hợp lệ",
+ "Restore accounts": "Khôi phục các tài khoản",
+ "Enter your recovery phrase (upto 24 words) separated by a space.": "Nhập cụm từ khôi phục của bạn (lên đến 24 chữ) được phân cách nhau bởi các khoảng trống.",
+ "You can paste your recovery phrase at once, but typing the words individually is safer": "Bạn có thể dán luôn cả cụm từ khôi phục, nhưng tự nhập các từ ấy sẽ an toàn hơn",
+ "Recover using a backup file": "Sử dụng một tệp sao lưu để khôi phục",
+ "We do not recommend copying your recovery phrase to your clipboard. It can leave it susceptible to exploit!": "Chúng tôi không khuyến khích bạn sao chép cụm từ khôi phục vào trong bộ nhớ tạm. Nó có thể dễ bị đánh cắp!",
+ "Set up account recovery": "Cài đặt khôi phục tài khoản",
+ "Click here to secure your assets": "Nhấn vào đây để bảo mật tài sản của bạn",
+ "Choose one or more of the methods below to ensure you can access your accounts.": "Chọn một hoặc nhiều cách bên dưới để đảm bảo rằng bạn có thể truy cập vào các tài khoản của mình.",
+ "Save the recovery phrase": "Lưu cụm từ khôi phục",
+ "If you lose your recovery phrase or someone steals it, you will lose access to your funds.": "Nếu bạn làm mất cụm từ khôi phục hoặc ai đó lấy trộm đi, bạn sẽ mất quyền truy cập vào tài sản của mình.",
+ "Have you written down your recovery phrase?": "Bạn đã ghi lại cụm từ khôi phục của mình chứ?",
+ "No": "Không",
+ "Yes": "Có",
+ "Write these words down on paper. It is unsafe to save them on your computer.": "Ghi chép lại những từ này vào giấy. Sẽ không an toàn nếu bạn lưu trữ nó trên máy tính.",
+ "Recovery phrase": "Cụm từ khôi phục",
+ "Search": "Tìm kiếm",
+ "New address": "Địa chỉ mới",
+ "Edit address": "Chỉnh sửa địa chỉ",
+ "Delete contact": "Xóa danh bạ",
+ "Are you sure you want to delete this contact from your address book?": "Bạn có chắc muốn xóa liên hệ này khỏi danh bạ không?",
+ "Alephium Address": "Địa chỉ Alephium",
+ "Remove from address book": "Gỡ khỏi danh bạ",
+ "Save": "Lưu",
+ "Address book": "Danh bạ",
+ "Search by name, address or network": "Tìm theo tên, địa chỉ hoặc mạng",
+ "You don't have any saved addresses.": "Không có địa chỉ nào đã lưu.",
+ "Default": "Mặc định",
+ "You haven't connected to any dApp yet.": "Bạn chưa kết nối đến bất kỳ dApp nào.",
+ "Require all dApps to request a new connection to your wallet?": "Bạn có muốn yêu cầu tất cả các dApp kết nối lại với ví của bạn không?",
+ "dApp connections": "Các kết nối dApp",
+ "Reset all dApp connections": "Đặt lại tất cả kết nối dApp",
+ "Manage networks": "Quản lý mạng",
+ "Experimental": "Thử nghiệm",
+ "Update Token List": "Cập nhật Danh Sách Token",
+ "Discover accounts": "Tìm kiếm các tài khoản",
+ "Developer settings": "Cài đặt dành cho nhà phát triển",
+ "Developer Settings": "Cài đặt dành cho nhà phát triển",
+ "Add network": "Thêm mạng",
+ "Edit network": "Chỉnh sửa mạng",
+ "Create": "Tạo",
+ "Here you can add your own custom network.": "Bạn có thể thêm mạng tùy chỉnh tại đây.",
+ "Network name": "Tên mạng",
+ "Internal ID": "Internal ID",
+ "No custom networks found": "Không tìm thấy mạng tùy chỉnh",
+ "Restore default networks": "Đặt lại mạng mặc định",
+ "Enter your password to view your recovery phrase.": "Nhập mật khẩu để xem cụm từ khôi phục của bạn.",
+ "View recovery phrase": "Xem cụm từ khôi phục",
+ "Settings": "Cài đặt",
+ "Extended view": "Chế độ xem đầy đủ",
+ "Connected dApps": "Các dApp đã kết nối",
+ "Show recovery phrase": "Hiện cụm từ khôi phục",
+ "Privacy": "Quyền riêng tư",
+ "Lock wallet": "Khóa ví",
+ "Help, support & suggestions": "Trợ giúp, hỗ trợ & đề xuất",
+ "Get Alephium Support": "Nhận hỗ trợ từ Alephium",
+ "Ask a question on the dev-wallet channel on Discord": "Đặt một câu hỏi trên kênh dev-wallet của Discord",
+ "Post an issue on GitHub": "Tạo một issue trên GitHub",
+ "Help": "Trợ giúp",
+ "Version": "Phiên bản",
+ "Network {{ networkId }} is the current network. Change networks before deleting.": "Mạng hiện tại là {{ networkId }}. Thay đổi mạng trước khi xóa.",
+ "networkAccounts_one": "Mạng {{ networkId }} có {{ count }} tài khoản cần phải được gỡ bỏ trước khi xóa mạng.",
+ "networkAccounts_other": "Mạng {{ networkId }} có {{ count }} tài khoản cần phải được gỡ bỏ trước khi xóa mạng.",
+ "More": "Thêm",
+ "Got it": "Đã hiểu",
+ "Could not add new account": "Không thể thêm tài khoản mới",
+ "Could not discover active accounts for {{ networkId }}.": "Không thể tìm tài khoản đang hoạt động với {{ networkId }}.",
+ "Could add new ledger account": "Không thể thêm tài khoản ledger mới",
+ "Rejected": "Đã từ chối",
+ "Could not delete account": "Không thể xóa tài khoản",
+ "Could not upgrade account": "Không thể nâng cấp tài khoản",
+ "Invalid Seed Phrase": "Cụm Từ Khôi Phục Không Hợp Lệ",
+ "Verify in Ledger": "Xác thực trong Ledger",
+ "Connect with Ledger": "Kết nối với Ledger",
+ "Failed to connect with Ledger, please try again": "Kết nối với Ledger thất bại, vui lòng thử lại",
+ "Verify with Ledger": "Xác thực với Ledger",
+ "Failed to verify with Ledger, please try another device": "Xác thực với Ledger thất bại, vui lòng thử một thiết bị khác"
+}
diff --git a/packages/extension/locales/zh-CN/translation.json b/packages/extension/locales/zh-CN/translation.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/packages/extension/locales/zh-CN/translation.json
@@ -0,0 +1 @@
+{}
diff --git a/packages/extension/package.json b/packages/extension/package.json
index df42cc66d..575e38135 100644
--- a/packages/extension/package.json
+++ b/packages/extension/package.json
@@ -98,6 +98,7 @@
"cross-env": "^7.0.3",
"ethers": "^5.5.1",
"i18next": "^23.11.5",
+ "i18next-browser-languagedetector": "^8.0.2",
"jose": "^4.3.6",
"lodash-es": "^4.17.21",
"lucide-react": "^0.88.0",
diff --git a/packages/extension/src/i18n.ts b/packages/extension/src/i18n.ts
deleted file mode 100644
index ee3529622..000000000
--- a/packages/extension/src/i18n.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-Copyright 2018 - 2024 The Alephium Authors
-This file is part of the alephium project.
-
-The library is free software: you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-The library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with the library. If not, see .
-*/
-
-import i18next from "i18next"
-import { initReactI18next } from "react-i18next"
-
-import en from "../locales/en-US/translation.json"
-
-i18next.use(initReactI18next).init({
- resources: {
- "en-US": { translation: en },
- },
- lng: "en-US",
- fallbackLng: "en-US",
- interpolation: {
- escapeValue: false,
- },
-})
-
-export default i18next
diff --git a/packages/extension/src/i18next.d.ts b/packages/extension/src/i18next.d.ts
deleted file mode 100644
index b64083c63..000000000
--- a/packages/extension/src/i18next.d.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2018 - 2024 The Alephium Authors
-This file is part of the alephium project.
-
-The library is free software: you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-The library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with the library. If not, see .
-*/
-
-import "i18next"
-
-import en from "../locales/en-US/translation.json"
-
-type EnglishTranslationKeys = typeof en
-
-export type TranslationKey = keyof EnglishTranslationKeys
-
-declare module "i18next" {
- interface CustomTypeOptions {
- resources: {
- translation: EnglishTranslationKeys
- }
- }
-}
diff --git a/packages/extension/src/ui/AppRoutes.tsx b/packages/extension/src/ui/AppRoutes.tsx
index 75960f180..c02bc937e 100644
--- a/packages/extension/src/ui/AppRoutes.tsx
+++ b/packages/extension/src/ui/AppRoutes.tsx
@@ -65,6 +65,7 @@ import { useEntryRoute } from "./useEntryRoute"
import { AddTokenScreen } from "./features/actions/AddTokenScreen"
import { LedgerStartScreen } from "./features/ledger/start"
import { LedgerDoneScreen } from "./features/ledger/done"
+import { SettingsLanguageScreen } from "./features/localization/SettingsLanguageScreen"
const ResponsiveContainer = chakra(ResponsiveBox, {
baseStyle: {
@@ -212,6 +213,11 @@ const walletRoutes = (
path={routes.settingsPrivacyStatement.path}
element={}
/>
+ }
+ />
{
+ const navigate = useNavigate()
+
+ const handleLanguageChange = (lang: Language) => {
+ i18next.changeLanguage(lang).then(() => {
+ navigate(routes.settings())
+ })
+ }
+
+ return (
+ }
+ title="Language"
+ >
+
+ {languageOptions.map(({ value, label }) => (
+ handleLanguageChange(value)} title={label}>
+ {label}
+
+ ))}
+
+
+ )
+}
diff --git a/packages/extension/src/ui/features/localization/i18n.ts b/packages/extension/src/ui/features/localization/i18n.ts
new file mode 100644
index 000000000..f796d9cfc
--- /dev/null
+++ b/packages/extension/src/ui/features/localization/i18n.ts
@@ -0,0 +1,31 @@
+import i18next from 'i18next'
+import LanguageDetector from 'i18next-browser-languagedetector'
+import { initReactI18next } from 'react-i18next'
+
+import de from '../../../../locales/de-DE/translation.json'
+import en from '../../../../locales/en-US/translation.json'
+import pt from '../../../../locales/pt-PT/translation.json'
+import vi from '../../../../locales/vi-VN/translation.json'
+import { supportedLanguages } from './languages'
+
+i18next
+ .use(initReactI18next)
+ .use(LanguageDetector)
+ .init({
+ resources: {
+ en: { translation: en },
+ de: { translation: de },
+ vi: { translation: vi },
+ pt: { translation: pt },
+ },
+ supportedLngs: supportedLanguages,
+ fallbackLng: 'en',
+ detection: {
+ lookupLocalStorage: 'language'
+ },
+ interpolation: {
+ escapeValue: false
+ }
+ })
+
+export default i18next
diff --git a/packages/extension/src/ui/features/localization/i18next.d.ts b/packages/extension/src/ui/features/localization/i18next.d.ts
new file mode 100644
index 000000000..b3726ae14
--- /dev/null
+++ b/packages/extension/src/ui/features/localization/i18next.d.ts
@@ -0,0 +1,15 @@
+import 'i18next'
+
+import en from '../../../../locales/en-US/translation.json'
+
+type EnglishTranslationKeys = typeof en
+
+export type TranslationKey = keyof EnglishTranslationKeys
+
+declare module 'i18next' {
+ interface CustomTypeOptions {
+ resources: {
+ translation: EnglishTranslationKeys
+ }
+ }
+}
diff --git a/packages/extension/src/ui/features/localization/languages.ts b/packages/extension/src/ui/features/localization/languages.ts
new file mode 100644
index 000000000..d02c18c75
--- /dev/null
+++ b/packages/extension/src/ui/features/localization/languages.ts
@@ -0,0 +1,10 @@
+export const supportedLanguages = ["en", "de", "vi", "pt"] as const;
+
+export type Language = (typeof supportedLanguages)[number];
+
+export const languageOptions: Array<{ label: string; value: Language }> = [
+ { label: 'English', value: 'en' },
+ { label: 'Deutsch', value: 'de' },
+ { label: 'Português', value: 'pt' },
+ { label: 'Tiếng Việt', value: 'vi' },
+]
diff --git a/packages/extension/src/ui/features/settings/SettingsScreen.tsx b/packages/extension/src/ui/features/settings/SettingsScreen.tsx
index cf585553c..071a5586a 100644
--- a/packages/extension/src/ui/features/settings/SettingsScreen.tsx
+++ b/packages/extension/src/ui/features/settings/SettingsScreen.tsx
@@ -32,6 +32,7 @@ const {
LinkIcon,
PasswordIcon,
ShieldIcon,
+ SettingsIcon,
} = icons
export const Title = styled.h3`
@@ -140,6 +141,12 @@ export const SettingsScreen: FC = () => {
title={t("Developer settings")}
/>
+ }
+ to={routes.settingsLanguage()}
+ title="Language"
+ />
+
{isPrivacySettingsEnabled && (
}
diff --git a/packages/extension/src/ui/features/settings/validateRemoveNetwork.ts b/packages/extension/src/ui/features/settings/validateRemoveNetwork.ts
index f18da0d38..c2c918ef0 100644
--- a/packages/extension/src/ui/features/settings/validateRemoveNetwork.ts
+++ b/packages/extension/src/ui/features/settings/validateRemoveNetwork.ts
@@ -1,4 +1,4 @@
-import i18n from "../../../i18n"
+import i18n from "../../features/localization/i18n"
import { getNetworkSelector } from "../../../shared/account/selectors"
import { accountStore } from "../../../shared/account/store"
import { useAppState } from "../../app.state"
diff --git a/packages/extension/src/ui/index.tsx b/packages/extension/src/ui/index.tsx
index ba657396c..0fb9a470e 100644
--- a/packages/extension/src/ui/index.tsx
+++ b/packages/extension/src/ui/index.tsx
@@ -1,4 +1,4 @@
-import "../i18n"
+import "./features/localization/i18n"
import { StrictMode } from "react"
import { createRoot } from "react-dom/client"
diff --git a/packages/extension/src/ui/routes.ts b/packages/extension/src/ui/routes.ts
index eeea429ac..816cffd96 100644
--- a/packages/extension/src/ui/routes.ts
+++ b/packages/extension/src/ui/routes.ts
@@ -132,6 +132,7 @@ export const routes = {
),
settingsDappConnections: route("/settings/dapp-connections"),
settingsPrivacy: route("/settings/privacy"),
+ settingsLanguage: route("/settings/language"),
settingsDeveloper: route("/settings/developer-settings"),
settingsExperimental: route("/settings/developer-settings/experimental"),
settingsBlockExplorer: route("/settings/developer-settings/block-explorer"),
diff --git a/packages/extension/src/ui/services/backgroundAccounts.ts b/packages/extension/src/ui/services/backgroundAccounts.ts
index e726a1f86..6d2d2f609 100644
--- a/packages/extension/src/ui/services/backgroundAccounts.ts
+++ b/packages/extension/src/ui/services/backgroundAccounts.ts
@@ -7,7 +7,7 @@ import {
} from "../../shared/wallet.model"
import { walletStore } from "../../shared/wallet/walletStore"
import { decryptFromBackground, generateEncryptedSecret } from "./crypto"
-import i18n from "../../i18n"
+import i18n from "../features/localization/i18n"
export const createNewAccount = async (networkId: string, keyType: KeyType, group?: number) => {
sendMessage({ type: "ALPH_NEW_ACCOUNT", data: { networkId: networkId, keyType: keyType, group: group } })
diff --git a/packages/extension/src/ui/services/backgroundRecovery.ts b/packages/extension/src/ui/services/backgroundRecovery.ts
index 1a0632367..7296fea67 100644
--- a/packages/extension/src/ui/services/backgroundRecovery.ts
+++ b/packages/extension/src/ui/services/backgroundRecovery.ts
@@ -1,4 +1,4 @@
-import i18n from "../../i18n"
+import i18n from "../features/localization/i18n"
import { sendMessage, waitForMessage } from "../../shared/messages"
import { encryptForBackground } from "./crypto"
diff --git a/packages/extension/src/ui/services/backgroundSessions.ts b/packages/extension/src/ui/services/backgroundSessions.ts
index 0f8150e0b..4816e96f7 100644
--- a/packages/extension/src/ui/services/backgroundSessions.ts
+++ b/packages/extension/src/ui/services/backgroundSessions.ts
@@ -1,4 +1,4 @@
-import i18n from "../../i18n"
+import i18n from "../features/localization/i18n"
import { sendMessage, waitForMessage } from "../../shared/messages"
import { encryptForBackground } from "./crypto"
diff --git a/yarn.lock b/yarn.lock
index ce0d20972..3eb98e515 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -163,6 +163,15 @@
dependencies:
"@babel/highlight" "^7.18.6"
+"@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.2":
+ version "7.26.2"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85"
+ integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.25.9"
+ js-tokens "^4.0.0"
+ picocolors "^1.0.0"
+
"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.21.5":
version "7.21.9"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.9.tgz#10a2e7fda4e51742c907938ac3b7229426515514"
@@ -230,6 +239,17 @@
"@jridgewell/trace-mapping" "^0.3.17"
jsesc "^2.5.1"
+"@babel/generator@^7.26.3":
+ version "7.26.3"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.3.tgz#ab8d4360544a425c90c248df7059881f4b2ce019"
+ integrity sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==
+ dependencies:
+ "@babel/parser" "^7.26.3"
+ "@babel/types" "^7.26.3"
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.25"
+ jsesc "^3.0.2"
+
"@babel/helper-annotate-as-pure@^7.16.7", "@babel/helper-annotate-as-pure@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
@@ -237,6 +257,13 @@
dependencies:
"@babel/types" "^7.18.6"
+"@babel/helper-annotate-as-pure@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4"
+ integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==
+ dependencies:
+ "@babel/types" "^7.25.9"
+
"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6":
version "7.21.5"
resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz#817f73b6c59726ab39f6ba18c234268a519e5abb"
@@ -339,6 +366,14 @@
dependencies:
"@babel/types" "^7.21.4"
+"@babel/helper-module-imports@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715"
+ integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==
+ dependencies:
+ "@babel/traverse" "^7.25.9"
+ "@babel/types" "^7.25.9"
+
"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.5":
version "7.21.5"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz#d937c82e9af68d31ab49039136a222b17ac0b420"
@@ -370,6 +405,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz#345f2377d05a720a4e5ecfa39cbf4474a4daed56"
integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==
+"@babel/helper-plugin-utils@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46"
+ integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==
+
"@babel/helper-remap-async-to-generator@^7.18.9":
version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519"
@@ -418,16 +458,31 @@
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd"
integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==
+"@babel/helper-string-parser@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c"
+ integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==
+
"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
version "7.19.1"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
+"@babel/helper-validator-identifier@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7"
+ integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
+
"@babel/helper-validator-option@^7.16.7", "@babel/helper-validator-option@^7.21.0":
version "7.21.0"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180"
integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==
+"@babel/helper-validator-option@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72"
+ integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==
+
"@babel/helper-wrap-function@^7.18.9":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3"
@@ -461,6 +516,13 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.9.tgz#ab18ea3b85b4bc33ba98a8d4c2032c557d23cf14"
integrity sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==
+"@babel/parser@^7.25.9", "@babel/parser@^7.26.3":
+ version "7.26.3"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.3.tgz#8c51c5db6ddf08134af1ddbacf16aaab48bac234"
+ integrity sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==
+ dependencies:
+ "@babel/types" "^7.26.3"
+
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2"
@@ -732,6 +794,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.20.2"
+"@babel/plugin-syntax-jsx@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290"
+ integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.25.9"
+
"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
@@ -1002,6 +1071,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.18.6"
+"@babel/plugin-transform-react-display-name@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz#4b79746b59efa1f38c8695065a92a9f5afb24f7d"
+ integrity sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.25.9"
+
"@babel/plugin-transform-react-jsx-development@^7.16.7":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5"
@@ -1009,6 +1085,13 @@
dependencies:
"@babel/plugin-transform-react-jsx" "^7.18.6"
+"@babel/plugin-transform-react-jsx-development@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz#8fd220a77dd139c07e25225a903b8be8c829e0d7"
+ integrity sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==
+ dependencies:
+ "@babel/plugin-transform-react-jsx" "^7.25.9"
+
"@babel/plugin-transform-react-jsx-self@^7.18.6":
version "7.21.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz#ec98d4a9baafc5a1eb398da4cf94afbb40254a54"
@@ -1023,7 +1106,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.19.0"
-"@babel/plugin-transform-react-jsx@7.17.12", "@babel/plugin-transform-react-jsx@^7.12.12", "@babel/plugin-transform-react-jsx@^7.17.12", "@babel/plugin-transform-react-jsx@^7.18.6":
+"@babel/plugin-transform-react-jsx@^7.12.12", "@babel/plugin-transform-react-jsx@^7.17.12":
version "7.17.12"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.12.tgz#2aa20022709cd6a3f40b45d60603d5f269586dba"
integrity sha512-Lcaw8bxd1DKht3thfD4A12dqo1X16he1Lm8rIv8sTwjAYNInRS1qHa9aJoqvzpscItXvftKDCfaEQzwoVyXpEQ==
@@ -1034,6 +1117,17 @@
"@babel/plugin-syntax-jsx" "^7.17.12"
"@babel/types" "^7.17.12"
+"@babel/plugin-transform-react-jsx@^7.18.6", "@babel/plugin-transform-react-jsx@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz#06367940d8325b36edff5e2b9cbe782947ca4166"
+ integrity sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.25.9"
+ "@babel/helper-module-imports" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/plugin-syntax-jsx" "^7.25.9"
+ "@babel/types" "^7.25.9"
+
"@babel/plugin-transform-react-pure-annotations@^7.16.7":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz#561af267f19f3e5d59291f9950fd7b9663d0d844"
@@ -1042,6 +1136,14 @@
"@babel/helper-annotate-as-pure" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.6"
+"@babel/plugin-transform-react-pure-annotations@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz#ea1c11b2f9dbb8e2d97025f43a3b5bc47e18ae62"
+ integrity sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.25.9"
+ "@babel/helper-plugin-utils" "^7.25.9"
+
"@babel/plugin-transform-regenerator@^7.21.5":
version "7.21.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz#576c62f9923f94bcb1c855adc53561fd7913724e"
@@ -1232,7 +1334,7 @@
"@babel/types" "^7.4.4"
esutils "^2.0.2"
-"@babel/preset-react@7.17.12", "@babel/preset-react@^7.12.10", "@babel/preset-react@^7.12.5", "@babel/preset-react@^7.16.0", "@babel/preset-react@^7.18.6":
+"@babel/preset-react@^7.12.10", "@babel/preset-react@^7.12.5", "@babel/preset-react@^7.16.0":
version "7.17.12"
resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.17.12.tgz#62adbd2d1870c0de3893095757ed5b00b492ab3d"
integrity sha512-h5U+rwreXtZaRBEQhW1hOJLMq8XNJBQ/9oymXiCXTuT/0uOwpbT0gUt+sXeOqoXBgNuUKI7TaObVwoEyWkpFgA==
@@ -1244,6 +1346,18 @@
"@babel/plugin-transform-react-jsx-development" "^7.16.7"
"@babel/plugin-transform-react-pure-annotations" "^7.16.7"
+"@babel/preset-react@^7.18.6":
+ version "7.26.3"
+ resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.26.3.tgz#7c5e028d623b4683c1f83a0bd4713b9100560caa"
+ integrity sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.25.9"
+ "@babel/helper-validator-option" "^7.25.9"
+ "@babel/plugin-transform-react-display-name" "^7.25.9"
+ "@babel/plugin-transform-react-jsx" "^7.25.9"
+ "@babel/plugin-transform-react-jsx-development" "^7.25.9"
+ "@babel/plugin-transform-react-pure-annotations" "^7.25.9"
+
"@babel/preset-typescript@^7.12.7", "@babel/preset-typescript@^7.16.0", "@babel/preset-typescript@^7.18.6":
version "7.21.5"
resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.21.5.tgz#68292c884b0e26070b4d66b202072d391358395f"
@@ -1308,6 +1422,15 @@
"@babel/parser" "^7.21.9"
"@babel/types" "^7.21.5"
+"@babel/template@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016"
+ integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==
+ dependencies:
+ "@babel/code-frame" "^7.25.9"
+ "@babel/parser" "^7.25.9"
+ "@babel/types" "^7.25.9"
+
"@babel/traverse@^7.0.0-beta.54", "@babel/traverse@^7.1.6", "@babel/traverse@^7.12.11", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.20.5", "@babel/traverse@^7.21.5", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.2":
version "7.21.5"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.5.tgz#ad22361d352a5154b498299d523cf72998a4b133"
@@ -1324,6 +1447,19 @@
debug "^4.1.0"
globals "^11.1.0"
+"@babel/traverse@^7.25.9":
+ version "7.26.4"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.4.tgz#ac3a2a84b908dde6d463c3bfa2c5fdc1653574bd"
+ integrity sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==
+ dependencies:
+ "@babel/code-frame" "^7.26.2"
+ "@babel/generator" "^7.26.3"
+ "@babel/parser" "^7.26.3"
+ "@babel/template" "^7.25.9"
+ "@babel/types" "^7.26.3"
+ debug "^4.3.1"
+ globals "^11.1.0"
+
"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.54", "@babel/types@^7.12.11", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.17.12", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.2.0", "@babel/types@^7.20.0", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
version "7.21.5"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.5.tgz#18dfbd47c39d3904d5db3d3dc2cc80bedb60e5b6"
@@ -1333,6 +1469,14 @@
"@babel/helper-validator-identifier" "^7.19.1"
to-fast-properties "^2.0.0"
+"@babel/types@^7.25.9", "@babel/types@^7.26.3":
+ version "7.26.3"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.3.tgz#37e79830f04c2b5687acc77db97fbc75fb81f3c0"
+ integrity sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==
+ dependencies:
+ "@babel/helper-string-parser" "^7.25.9"
+ "@babel/helper-validator-identifier" "^7.25.9"
+
"@base2/pretty-print-object@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz#371ba8be66d556812dc7fb169ebc3c08378f69d4"
@@ -3588,6 +3732,15 @@
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/trace-mapping" "^0.3.9"
+"@jridgewell/gen-mapping@^0.3.5":
+ version "0.3.8"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142"
+ integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==
+ dependencies:
+ "@jridgewell/set-array" "^1.2.1"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
"@jridgewell/resolve-uri@3.1.0":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
@@ -3598,11 +3751,21 @@
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
+"@jridgewell/resolve-uri@^3.1.0":
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
+ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
+
"@jridgewell/set-array@^1.0.1":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
+"@jridgewell/set-array@^1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280"
+ integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
+
"@jridgewell/source-map@^0.3.2":
version "0.3.3"
resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.3.tgz#8108265659d4c33e72ffe14e33d6cc5eb59f2fda"
@@ -3621,6 +3784,11 @@
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
+"@jridgewell/sourcemap-codec@^1.4.14":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
+ integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
+
"@jridgewell/trace-mapping@0.3.9":
version "0.3.9"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
@@ -3637,6 +3805,14 @@
"@jridgewell/resolve-uri" "3.1.0"
"@jridgewell/sourcemap-codec" "1.4.14"
+"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
+ version "0.3.25"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
+ integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.1.0"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
+
"@ledgerhq/devices@^8.4.0":
version "8.4.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-8.4.0.tgz#f3a03576d4a53d731bdaa212a00bd0adbfb86fb1"
@@ -10470,6 +10646,13 @@ debug@^3.0.0, debug@^3.2.7:
dependencies:
ms "^2.1.1"
+debug@^4.3.1:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
+ integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
+ dependencies:
+ ms "^2.1.3"
+
decamelize-keys@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8"
@@ -13526,6 +13709,13 @@ husky@^8.0.0:
resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184"
integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==
+i18next-browser-languagedetector@^8.0.2:
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-8.0.2.tgz#037ca25c26877cad778f060a9e177054d9f8eaa3"
+ integrity sha512-shBvPmnIyZeD2VU5jVGIOWP7u9qNG3Lj7mpaiPFpbJ3LVfHZJvVzKR4v1Cb91wAOFpNw442N+LGPzHOHsten2g==
+ dependencies:
+ "@babel/runtime" "^7.23.2"
+
i18next@^23.11.5:
version "23.11.5"
resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.11.5.tgz#d71eb717a7e65498d87d0594f2664237f9e361ef"
@@ -15458,6 +15648,11 @@ jsesc@^2.5.1:
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+jsesc@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
+ integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
+
jsesc@~0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
@@ -16897,7 +17092,7 @@ ms@2.1.2:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-ms@2.1.3, ms@^2.0.0, ms@^2.1.1:
+ms@2.1.3, ms@^2.0.0, ms@^2.1.1, ms@^2.1.3:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==