diff --git a/bitaddress.org.html b/bitaddress.org.html index d014ecd..0f08296 100644 --- a/bitaddress.org.html +++ b/bitaddress.org.html @@ -7836,7 +7836,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "TESTNET EDITION ACTIVATED", "paperlabelbitcoinaddress": "Bitcoin Address:", - "paperlabelprivatekey": "Private Key (Wallet Import Format):", + "paperlabelprivatekey": "Private Key:", "paperlabelencryptedkey": "Encrypted Private Key (Password required)", "bulkgeneratingaddresses": "Generating addresses... ", "brainalertpassphrasetooshort": "The passphrase you entered is too short.\n\n", @@ -7865,6 +7865,31 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { } }, + extractEnglishFromDomAndUpdateDictionary: function () { + var english = translator.translations["en"]; + var spanish = translator.translations["es"]; + var spanishClone = {}; + for (var key in spanish) { + spanishClone[key] = spanish[key]; + } + var newLang = {}; + for (var key in english) { + newLang[key] = english[key]; + delete spanishClone[key]; + } + for (var key in spanishClone) { + if (document.getElementById(key)) { + if (document.getElementById(key).value) { + newLang[key] = document.getElementById(key).value; + } + else { + newLang[key] = document.getElementById(key).innerHTML; + } + } + } + translator.translations["en"] = newLang; + }, + showEnglishJson: function () { var english = ninja.translator.translations["en"]; var spanish = ninja.translator.translations["es"]; @@ -7912,7 +7937,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "TESTNET aktivován", "paperlabelbitcoinaddress": "Bitcoin adresa:", - "paperlabelprivatekey": "Soukromý klíč (WIF – Formát pro import do peněženky):", + "paperlabelprivatekey": "Soukromý klíč:", "paperlabelencryptedkey": "Šifrovaný soukromý klíč (Vyžadováno heslo)", "bulkgeneratingaddresses": "Generuji adresy... ", "brainalertpassphrasetooshort": "Zadané heslo je příliš krátké.\n\n", @@ -8078,7 +8103,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "TESTNET AKTIVIERT", "paperlabelbitcoinaddress": "Bitcoin-Adresse:", - "paperlabelprivatekey": "Privater Schlüssel (Wallet Import Format):", + "paperlabelprivatekey": "Privater Schlüssel:", "paperlabelencryptedkey": "Verschlüsselter privater Schlüssel (Passwort benötigt)", "bulkgeneratingaddresses": "Adressen erstellen... ", "brainalertpassphrasetooshort": "Die eingegebene Passphrase ist zu kurz.\n\n", @@ -8244,7 +8269,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "ΕΝΕΡΓΗ ΕΚΔΟΣΗ TESTNET", "paperlabelbitcoinaddress": "Διεύθυνση Bitcoin:", - "paperlabelprivatekey": "Προσωπικό Κλειδί (Μορφή εισαγωγής σε πορτοφόλι):", + "paperlabelprivatekey": "Προσωπικό Κλειδί:", "paperlabelencryptedkey": "Encrypted Private Key (Password required)", //TODO: please translate "bulkgeneratingaddresses": "Δημιουργία διευθύνσεων... ", "brainalertpassphrasetooshort": "Η φράση κωδικός που δώσατε είναι πολύ αδύναμη.\n\n", @@ -8410,7 +8435,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "Testnet se activa", "paperlabelbitcoinaddress": "Dirección Bitcoin:", - "paperlabelprivatekey": "Clave privada (formato para importar):", + "paperlabelprivatekey": "Clave privada:", "paperlabelencryptedkey": "Clave privada cifrada (contraseña necesaria)", "bulkgeneratingaddresses": "Generación de direcciones... ", "brainalertpassphrasetooshort": "La contraseña introducida es demasiado corta.\n\n", @@ -8576,7 +8601,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "ÉDITION TESTNET ACTIVÉE", "paperlabelbitcoinaddress": "Adresse Bitcoin:", - "paperlabelprivatekey": "Clé Privée (Format d'importation de porte-monnaie):", + "paperlabelprivatekey": "Clé Privée:", "paperlabelencryptedkey": "Encrypted Private Key (Password required)", //TODO: please translate "bulkgeneratingaddresses": "Création de l'adresse... ", "brainalertpassphrasetooshort": "Le mot de passe que vous avez entré est trop court.\n\n", @@ -8743,7 +8768,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "TESTNET KIADÁS AKTIVÁLVA", "paperlabelbitcoinaddress": "Bitcoin cím:", - "paperlabelprivatekey": "Privát kulcs (WIF, tárca import formátumban):", + "paperlabelprivatekey": "Privát kulcs:", "paperlabelencryptedkey": "Titkosított privát kulcs (Jelszó szükséges)", "bulkgeneratingaddresses": "Cím generálás... ", "brainalertpassphrasetooshort": "A megadott jelmondat túl rövid.\n\n", @@ -8915,7 +8940,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "TESTNET EDITION ATTIVATO", "paperlabelbitcoinaddress": "Indirizzo Bitcoin:", - "paperlabelprivatekey": "Chiave privata (Wallet Import Format):", + "paperlabelprivatekey": "Chiave privata:", "paperlabelencryptedkey": "Chiave privata criptata (password richiesta)", "bulkgeneratingaddresses": "Generazione indirizzi... ", "brainalertpassphrasetooshort": "La passphrase inserita è troppo corta.\n\n", @@ -9081,7 +9106,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "テストネット版が有効になりました。", "paperlabelbitcoinaddress": "ビットコインアドレス", - "paperlabelprivatekey": "プライベートキー(WIF形式)", + "paperlabelprivatekey": "プライベートキー", "paperlabelencryptedkey": "暗号化されたプライベートキー(パスワード必須)", "bulkgeneratingaddresses": "アドレス生成中...", "brainalertpassphrasetooshort": "パスワードが短すぎます \n\n", @@ -9254,7 +9279,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "EDIÇÃO DO TESTNET ATIVADA", "paperlabelbitcoinaddress": "Endereço Bitcoin:", - "paperlabelprivatekey": "Chave privada (Wallet Import Format):", + "paperlabelprivatekey": "Chave privada:", "paperlabelencryptedkey": "Chave privada criptografada (Senha necessária)", "bulkgeneratingaddresses": "Generando endereços... ", "brainalertpassphrasetooshort": "A senha introduzida é pequena demais.\n\n", @@ -9420,7 +9445,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "Активирован режим TESTNET", "paperlabelbitcoinaddress": "Адрес Bitcoin кошелька:", - "paperlabelprivatekey": "Приватный Ключ (в формате для импорта):", + "paperlabelprivatekey": "Приватный Ключ:", "paperlabelencryptedkey": "Зашифрованный Приватный Ключ (требуется пароль)", "bulkgeneratingaddresses": "Генерация адресов... ", "brainalertpassphrasetooshort": "Введенная парольная фраза слишком коротка.\n\n", @@ -9585,7 +9610,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "TESTNET EDITION ACTIVATED", "paperlabelbitcoinaddress": "比特币地址", - "paperlabelprivatekey": "私钥 (WIF格式)", + "paperlabelprivatekey": "私钥", "paperlabelencryptedkey": "加密私钥(需要密码)", "bulkgeneratingaddresses": "创建地址中...", "brainalertpassphrasetooshort": "这个密码太短了 \n\n", @@ -9901,7 +9926,8 @@ ninja.wallets.paperwallet = { // idPostFix: 1, 2, 3, etc. generateNewWallet: function (idPostFix) { if (ninja.wallets.paperwallet.encrypt) { - ninja.privateKey.BIP38GenerateECAddressAsync(ninja.wallets.paperwallet.intermediatePoint, false, function (address, encryptedKey) { + var compressed = true; + ninja.privateKey.BIP38GenerateECAddressAsync(ninja.wallets.paperwallet.intermediatePoint, compressed, function (address, encryptedKey) { Bitcoin.KeyPool.push(new Bitcoin.Bip38Key(address, encryptedKey)); if (ninja.wallets.paperwallet.useArtisticWallet) { ninja.wallets.paperwallet.showArtisticWallet(idPostFix, address, encryptedKey); @@ -9913,6 +9939,7 @@ ninja.wallets.paperwallet = { } else { var key = new Bitcoin.ECKey(false); + key.setCompressed(true); var bitcoinAddress = key.getBitcoinAddress(); var privateKeyWif = key.getBitcoinWalletImportFormat(); if (ninja.wallets.paperwallet.useArtisticWallet) { @@ -11534,6 +11561,7 @@ if (ninja.getQueryString()["asyncunittests"] == "true" || ninja.getQueryString() ninja.unitTests.runAsynchronousTests(true); } // change language +ninja.translator.extractEnglishFromDomAndUpdateDictionary(); if (ninja.getQueryString()["culture"] != undefined) { ninja.translator.translate(ninja.getQueryString()["culture"]); } else { diff --git a/src/culture/cs.js b/src/culture/cs.js index c97ffac..2a4da3f 100644 --- a/src/culture/cs.js +++ b/src/culture/cs.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "TESTNET aktivován", "paperlabelbitcoinaddress": "Bitcoin adresa:", - "paperlabelprivatekey": "Soukromý klíč (WIF – Formát pro import do peněženky):", + "paperlabelprivatekey": "Soukromý klíč:", "paperlabelencryptedkey": "Šifrovaný soukromý klíč (Vyžadováno heslo)", "bulkgeneratingaddresses": "Generuji adresy... ", "brainalertpassphrasetooshort": "Zadané heslo je příliš krátké.\n\n", diff --git a/src/culture/de.js b/src/culture/de.js index 7a8883b..2b1dc9c 100644 --- a/src/culture/de.js +++ b/src/culture/de.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "TESTNET AKTIVIERT", "paperlabelbitcoinaddress": "Bitcoin-Adresse:", - "paperlabelprivatekey": "Privater Schlüssel (Wallet Import Format):", + "paperlabelprivatekey": "Privater Schlüssel:", "paperlabelencryptedkey": "Verschlüsselter privater Schlüssel (Passwort benötigt)", "bulkgeneratingaddresses": "Adressen erstellen... ", "brainalertpassphrasetooshort": "Die eingegebene Passphrase ist zu kurz.\n\n", diff --git a/src/culture/el.js b/src/culture/el.js index 22c4cf1..0a5293c 100644 --- a/src/culture/el.js +++ b/src/culture/el.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "ΕΝΕΡΓΗ ΕΚΔΟΣΗ TESTNET", "paperlabelbitcoinaddress": "Διεύθυνση Bitcoin:", - "paperlabelprivatekey": "Προσωπικό Κλειδί (Μορφή εισαγωγής σε πορτοφόλι):", + "paperlabelprivatekey": "Προσωπικό Κλειδί:", "paperlabelencryptedkey": "Encrypted Private Key (Password required)", //TODO: please translate "bulkgeneratingaddresses": "Δημιουργία διευθύνσεων... ", "brainalertpassphrasetooshort": "Η φράση κωδικός που δώσατε είναι πολύ αδύναμη.\n\n", diff --git a/src/culture/es.js b/src/culture/es.js index edf4b4a..b17b596 100644 --- a/src/culture/es.js +++ b/src/culture/es.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "Testnet se activa", "paperlabelbitcoinaddress": "Dirección Bitcoin:", - "paperlabelprivatekey": "Clave privada (formato para importar):", + "paperlabelprivatekey": "Clave privada:", "paperlabelencryptedkey": "Clave privada cifrada (contraseña necesaria)", "bulkgeneratingaddresses": "Generación de direcciones... ", "brainalertpassphrasetooshort": "La contraseña introducida es demasiado corta.\n\n", diff --git a/src/culture/fr.js b/src/culture/fr.js index 5c97bbc..3a45d14 100644 --- a/src/culture/fr.js +++ b/src/culture/fr.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "ÉDITION TESTNET ACTIVÉE", "paperlabelbitcoinaddress": "Adresse Bitcoin:", - "paperlabelprivatekey": "Clé Privée (Format d'importation de porte-monnaie):", + "paperlabelprivatekey": "Clé Privée:", "paperlabelencryptedkey": "Encrypted Private Key (Password required)", //TODO: please translate "bulkgeneratingaddresses": "Création de l'adresse... ", "brainalertpassphrasetooshort": "Le mot de passe que vous avez entré est trop court.\n\n", diff --git a/src/culture/hu.js b/src/culture/hu.js index 56f50a9..c6da164 100644 --- a/src/culture/hu.js +++ b/src/culture/hu.js @@ -4,7 +4,7 @@ // javascript alerts or messages "testneteditionactivated": "TESTNET KIADÁS AKTIVÁLVA", "paperlabelbitcoinaddress": "Bitcoin cím:", - "paperlabelprivatekey": "Privát kulcs (WIF, tárca import formátumban):", + "paperlabelprivatekey": "Privát kulcs:", "paperlabelencryptedkey": "Titkosított privát kulcs (Jelszó szükséges)", "bulkgeneratingaddresses": "Cím generálás... ", "brainalertpassphrasetooshort": "A megadott jelmondat túl rövid.\n\n", diff --git a/src/culture/it.js b/src/culture/it.js index ace5760..d30a7c1 100644 --- a/src/culture/it.js +++ b/src/culture/it.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "TESTNET EDITION ATTIVATO", "paperlabelbitcoinaddress": "Indirizzo Bitcoin:", - "paperlabelprivatekey": "Chiave privata (Wallet Import Format):", + "paperlabelprivatekey": "Chiave privata:", "paperlabelencryptedkey": "Chiave privata criptata (password richiesta)", "bulkgeneratingaddresses": "Generazione indirizzi... ", "brainalertpassphrasetooshort": "La passphrase inserita è troppo corta.\n\n", diff --git a/src/culture/jp.js b/src/culture/jp.js index 64e38a4..c44d7c0 100644 --- a/src/culture/jp.js +++ b/src/culture/jp.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "テストネット版が有効になりました。", "paperlabelbitcoinaddress": "ビットコインアドレス", - "paperlabelprivatekey": "プライベートキー(WIF形式)", + "paperlabelprivatekey": "プライベートキー", "paperlabelencryptedkey": "暗号化されたプライベートキー(パスワード必須)", "bulkgeneratingaddresses": "アドレス生成中...", "brainalertpassphrasetooshort": "パスワードが短すぎます \n\n", diff --git a/src/culture/pt-br.js b/src/culture/pt-br.js index 20f2b06..6b69636 100644 --- a/src/culture/pt-br.js +++ b/src/culture/pt-br.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "EDIÇÃO DO TESTNET ATIVADA", "paperlabelbitcoinaddress": "Endereço Bitcoin:", - "paperlabelprivatekey": "Chave privada (Wallet Import Format):", + "paperlabelprivatekey": "Chave privada:", "paperlabelencryptedkey": "Chave privada criptografada (Senha necessária)", "bulkgeneratingaddresses": "Generando endereços... ", "brainalertpassphrasetooshort": "A senha introduzida é pequena demais.\n\n", diff --git a/src/culture/ru.js b/src/culture/ru.js index 8eba13e..3f46fcf 100644 --- a/src/culture/ru.js +++ b/src/culture/ru.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "Активирован режим TESTNET", "paperlabelbitcoinaddress": "Адрес Bitcoin кошелька:", - "paperlabelprivatekey": "Приватный Ключ (в формате для импорта):", + "paperlabelprivatekey": "Приватный Ключ:", "paperlabelencryptedkey": "Зашифрованный Приватный Ключ (требуется пароль)", "bulkgeneratingaddresses": "Генерация адресов... ", "brainalertpassphrasetooshort": "Введенная парольная фраза слишком коротка.\n\n", diff --git a/src/culture/zh-cn.js b/src/culture/zh-cn.js index 141f54f..e607481 100644 --- a/src/culture/zh-cn.js +++ b/src/culture/zh-cn.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "TESTNET EDITION ACTIVATED", "paperlabelbitcoinaddress": "比特币地址", - "paperlabelprivatekey": "私钥 (WIF格式)", + "paperlabelprivatekey": "私钥", "paperlabelencryptedkey": "加密私钥(需要密码)", "bulkgeneratingaddresses": "创建地址中...", "brainalertpassphrasetooshort": "这个密码太短了 \n\n", diff --git a/src/ninja.onload.js b/src/ninja.onload.js index 17e5be3..0f73016 100644 --- a/src/ninja.onload.js +++ b/src/ninja.onload.js @@ -8,6 +8,7 @@ if (ninja.getQueryString()["asyncunittests"] == "true" || ninja.getQueryString() ninja.unitTests.runAsynchronousTests(true); } // change language +ninja.translator.extractEnglishFromDomAndUpdateDictionary(); if (ninja.getQueryString()["culture"] != undefined) { ninja.translator.translate(ninja.getQueryString()["culture"]); } else { diff --git a/src/ninja.paperwallet.js b/src/ninja.paperwallet.js index 9fb90b7..f3a0060 100644 --- a/src/ninja.paperwallet.js +++ b/src/ninja.paperwallet.js @@ -100,7 +100,8 @@ ninja.wallets.paperwallet = { // idPostFix: 1, 2, 3, etc. generateNewWallet: function (idPostFix) { if (ninja.wallets.paperwallet.encrypt) { - ninja.privateKey.BIP38GenerateECAddressAsync(ninja.wallets.paperwallet.intermediatePoint, false, function (address, encryptedKey) { + var compressed = true; + ninja.privateKey.BIP38GenerateECAddressAsync(ninja.wallets.paperwallet.intermediatePoint, compressed, function (address, encryptedKey) { Bitcoin.KeyPool.push(new Bitcoin.Bip38Key(address, encryptedKey)); if (ninja.wallets.paperwallet.useArtisticWallet) { ninja.wallets.paperwallet.showArtisticWallet(idPostFix, address, encryptedKey); @@ -112,6 +113,7 @@ ninja.wallets.paperwallet = { } else { var key = new Bitcoin.ECKey(false); + key.setCompressed(true); var bitcoinAddress = key.getBitcoinAddress(); var privateKeyWif = key.getBitcoinWalletImportFormat(); if (ninja.wallets.paperwallet.useArtisticWallet) { diff --git a/src/ninja.translator.js b/src/ninja.translator.js index d1602a1..f55aae2 100644 --- a/src/ninja.translator.js +++ b/src/ninja.translator.js @@ -54,7 +54,7 @@ // javascript alerts or messages "testneteditionactivated": "TESTNET EDITION ACTIVATED", "paperlabelbitcoinaddress": "Bitcoin Address:", - "paperlabelprivatekey": "Private Key (Wallet Import Format):", + "paperlabelprivatekey": "Private Key:", "paperlabelencryptedkey": "Encrypted Private Key (Password required)", "bulkgeneratingaddresses": "Generating addresses... ", "brainalertpassphrasetooshort": "The passphrase you entered is too short.\n\n", @@ -83,6 +83,31 @@ } }, + extractEnglishFromDomAndUpdateDictionary: function () { + var english = translator.translations["en"]; + var spanish = translator.translations["es"]; + var spanishClone = {}; + for (var key in spanish) { + spanishClone[key] = spanish[key]; + } + var newLang = {}; + for (var key in english) { + newLang[key] = english[key]; + delete spanishClone[key]; + } + for (var key in spanishClone) { + if (document.getElementById(key)) { + if (document.getElementById(key).value) { + newLang[key] = document.getElementById(key).value; + } + else { + newLang[key] = document.getElementById(key).innerHTML; + } + } + } + translator.translations["en"] = newLang; + }, + showEnglishJson: function () { var english = ninja.translator.translations["en"]; var spanish = ninja.translator.translations["es"];