cryptoseed 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1120 @@
1
+ /**
2
+ * cli-locales.js
3
+ * Dicionário de localização para suporte a múltiplos idiomas no CLI do CryptoSeedRecovery.
4
+ * Idiomas suportados: Português (pt), English (en), Español (es), 简体中文 (zh), 日本語 (ja).
5
+ */
6
+
7
+ const LOCALES = {
8
+ pt: {
9
+ headerTitle: 'Utilitário de Restauração de Sementes',
10
+ headerIntegration: 'Integração Oficial com B2 Wallet e Ecossistema',
11
+ headerLead: 'Desenvolvido sob a supervisão do Tech Lead:',
12
+ chooseFormat: 'Escolha o formato da semente de recuperação:',
13
+ formatBip39: 'BIP-39 (Padrão Moderno - MetaMask, Trust Wallet, B2 Wallet)',
14
+ formatElectrum: 'Electrum v1 Poético (Legado anterior a 2014)',
15
+ chooseLang: 'Escolha o idioma do dicionário BIP-39:',
16
+ chooseYear: 'Selecione o ano aproximado em que a carteira foi criada:',
17
+ yearModern: '2020 até o presente (Padrão moderníssimo de caminhos e endereços)',
18
+ yearMiddle: 'Entre 2015 e 2019 (Transição, caminhos intermediários / SegWit aninhado)',
19
+ yearLegacy: 'Entre 2011 e 2014 (Início das sementes, Electrum v1, BIP-39)',
20
+ yearGenesis: '2010 ou anterior (Era Gênese Satoshi - Sem sementes determinísticas / wallet.dat)',
21
+ satoshiTitle: 'CURIOSIDADE HISTÓRICA & EASTER EGG: A ERA SATOSHI (2009 - 2010)',
22
+ satoshiDesc1: 'Você selecionou o ano de 2010 ou anterior. Sabia que nessa época NÃO EXISTIAM sementes mnemônicas?',
23
+ satoshiHowWorked: 'Como funcionavam as carteiras de 2009 a 2010:',
24
+ satoshiPoint1: 'O software original de Satoshi Nakamoto (Bitcoin-Qt) gerava chaves totalmente aleatórias de forma independente (não-determinísticas).',
25
+ satoshiPoint2: 'Essas chaves privadas eram armazenadas em um arquivo binário chamado wallet.dat.',
26
+ satoshiPoint3: 'Se você fizesse backup e depois gerasse mais de 100 novos endereços, seu backup antigo se tornava inútil porque as novas chaves não estavam nele.',
27
+ satoshiPoint4: 'Portanto, não existe nenhuma frase de recuperação de 12 ou 24 palavras que possa recuperar uma carteira criada nesta era gênese.',
28
+ satoshiInvention: 'A invenção das sementes determinísticas:',
29
+ satoshiInventionPoint1: '2011: A Electrum criou o primeiro sistema de sementes (12 palavras poéticas).',
30
+ satoshiInventionPoint2: '2013: O padrão BIP-39 foi oficializado, unificando a geração de chaves para todas as redes.',
31
+ satoshiWhatToDo: 'O que você precisa fazer:',
32
+ satoshiWhatToDoPoint1: 'Se você realmente tem fundos dessa era, você deve procurar o arquivo wallet.dat original, e não uma frase de palavras.',
33
+ chooseBlockchain: 'Selecione a Blockchain / Criptomoeda dos fundos perdidos:',
34
+ chooseWallet: 'Selecione o perfil de carteira original que você usou:',
35
+ walletB2: 'B2 Wallet (Melhor compatibilidade multichain, Diego Oris / Better2Better)',
36
+ walletMeta: 'MetaMask / Rabby (Padrão absoluto para EVM)',
37
+ walletTrust: 'Trust Wallet (Formato móvel)',
38
+ walletLedger: 'Ledger (Carteira Física)',
39
+ walletTrezor: 'Trezor (Carteira Física)',
40
+ walletPhantom: 'Phantom Wallet (Padrão para Solana)',
41
+ walletYoroi: 'Yoroi / Daedalus (Carteiras oficiais Cardano)',
42
+ choosePatternBTC: 'Selecione o formato de endereço desejado do Bitcoin (Padrão de Derivação):',
43
+ btcSegwit: 'Native SegWit - BIP-84 (Inicia com "bc1q" - Recomendado moderno)',
44
+ btcNested: 'Nested SegWit - BIP-49 (Inicia com "3" - Transição)',
45
+ btcLegacy: 'Legacy - BIP-44 (Inicia com "1" - Legado antigo)',
46
+ btcTaproot: 'Taproot - BIP-86 (Inicia com "bc1p" - Última geração)',
47
+ choosePatternLTC: 'Selecione o formato de endereço do Litecoin:',
48
+ ltcSegwit: 'Native SegWit - BIP-84 (Inicia com "ltc1" - Recomendado moderno)',
49
+ ltcLegacy: 'Legacy - BIP-44 (Inicia com "L" - Legado antigo)',
50
+ choosePatternSOL: 'Selecione o padrão de caminho de derivação da Solana:',
51
+ solPhantom: 'Phantom Standard (m/44\'/501\'/0\'/0\' - Recomendado)',
52
+ solSollet: 'Sollet / Legacy (m/44\'/501\'/0\'/0/0 - Carteiras antigas)',
53
+ choosePatternADA: 'Selecione a era do endereço do Cardano:',
54
+ adaShelley: 'Shelley - Era Moderna (Inicia com "addr" - Recomendado)',
55
+ adaByron: 'Byron - Era Legada antiga',
56
+ chooseMode: 'Selecione o Modo de Busca (Motor de Recuperação):',
57
+ mode1: 'Modo 1: Ordem Fixa com Curingas (Ex: "bo* * out ...")',
58
+ mode2: 'Modo 2: Palavras Embaralhadas com Curingas (Shuffled Partial)',
59
+ mode3: 'Modo 3: Palavras Embaralhadas Completas (Shuffled Complete)',
60
+ mode4: 'Modo 4: Descrambler Total (Testar todas as permutações físicas)',
61
+ guidanceTitle: '💡 DICA IMPORTANTE: ',
62
+ guidanceBody: 'Se você não se lembra de alguma palavra da seed, NÃO pule e NÃO deixe em branco! Coloque qualquer palavra ou tentativa no lugar dela (ex: digite "*" ou até "xxxxx").\nO motor de busca usará inteligência por iniciais ("comer letras") para deduzir a palavra correta, ou testará todas as palavras do dicionário 1 por 1 caso não haja nenhuma inicial compatível.\n\n',
63
+ inputMsgMode1: 'Insira a semente na ordem correta, separando com espaços, usando "*" para palavras totalmente perdidas, ou qualquer tentativa (ex: "*"):',
64
+ inputMsgMode2: 'Insira a semente desordenada, separando com espaços, contendo curingas ou tentativas se houver (Ex: "love time engino"):',
65
+ inputMsgMode3: 'Insira a lista exata de palavras conhecidas ou tentativas separadas por espaços:',
66
+ validateMinWords: 'É necessário fornecer pelo menos 4 palavras',
67
+ validatingSpell: '\n🔍 Validando grafia das palavras fornecidas...',
68
+ spellValidated: '✔️ Grafia validada com sucesso: [ {0} ]\n',
69
+ complexityTitle: ' ⚠️ ALERTA DE COMPLEXIDADE MATEMÁTICA / INVIABILIDADE DE TEMPO ⚠️',
70
+ complexityWarn: 'Você indicou que não lembra de {0} palavras da sua semente.',
71
+ complexityBeAware: 'Por favor, esteja ciente do tempo e da complexidade envolvidos:\n',
72
+ complexity24Seeds: 'Para uma semente de 24 palavras usando a lista BIP-39 (2048 palavras):',
73
+ complexity1Word: ' 1 palavra desconhecida: até 2.048 combinações.',
74
+ complexity2Words: ' 2 palavras desconhecidas: até 2.048² = 4.194.304 combinações.',
75
+ complexity3Words: ' 3 palavras desconhecidas: até 2.048³ ≈ 8,59 bilhões de combinações.',
76
+ complexity4Words: ' 4 palavras desconhecidas: até 17,59 trilhões de combinações.',
77
+ complexity5Words: ' 5 palavras desconhecidas: cerca de 36 quatrilhões de combinações.\n',
78
+ complexityInPractice: 'Na prática:',
79
+ complexityPractice1: ' 1 palavra: normalmente é totalmente viável.',
80
+ complexityPractice2: ' 2 palavras: ainda pode ser viável com um bom computador e um software otimizado.',
81
+ complexityPractice3: ' 3 palavras: já entra em um nível muito pesado. Ainda pode ser factível em alguns cenários muito específicos, mas deixa de ser algo simples.',
82
+ complexityPractice4: ' 4 palavras ou mais: torna-se impraticável e matematicamente inviável.\n',
83
+ complexityChecksumNote: ' As seeds BIP-39 possuem um checksum embutido. Isso significa que a maioria das combinações possíveis pode ser descartada antes mesmo de derivar chaves e consultar saldos. Em uma semente de 24 palavras, apenas cerca de 1 em cada 256 combinações passa na validação.',
84
+ complexityProceedConfirm: 'Deseja prosseguir mesmo ciente de que a busca pode ser matematicamente inviável e demorar muito tempo?',
85
+ complexityCancelled: '\n❌ Operação cancelada pelo usuário. Retornando ao menu principal...',
86
+ targetAddressPrompt: 'Digite o endereço público alvo que você quer recuperar [Opcional, pressione Enter para pular]:',
87
+ chooseThreadMode: 'Escolha o modo de execução:',
88
+ threadModeSingle: 'Single-thread (1 Core)',
89
+ threadModeMulti: 'Multithread (Cores Paralelos)',
90
+ threadCountPrompt: 'Selecione o número de threads da CPU (1 a {0}):',
91
+ threadsStarted: 'Iniciando varredura paralela com {0} threads de worker...',
92
+ invalidAddress: 'Endereço inválido',
93
+ addConstraintsPrompt: 'Você tem informações adicionais de posições corretas ou incorretas (restrições) para acelerar a busca?',
94
+ addConstraintType: 'Tipo de restrição a adicionar:',
95
+ constraintTypeOK: 'Saber a posição exata de uma palavra (OK)',
96
+ constraintTypeNOK: 'Saber que uma palavra NÃO está em uma posição (NOK)',
97
+ constraintTypeDONE: 'Concluir e iniciar busca',
98
+ constraintSlotPrompt: 'Insira a posição correspondente da palavra (1 a {0}):',
99
+ invalidSlot: 'Posição inválida',
100
+ constraintWordPrompt: 'Insira a palavra relacionada:',
101
+ wordNotInDict: 'Palavra não reconhecida no dicionário',
102
+ addAnotherConstraint: 'Deseja adicionar outra restrição?',
103
+ speedSimHeader: ' ⚡ SIMULADOR DE VELOCIDADE DE CONSULTA DE SALDOS ⚡',
104
+ speedSimTotalCombos: 'Total de combinações de sementes a gerar: {0}',
105
+ speedSimTimeEst: 'Tempo estimado para consulta de saldo de todas as sementes:',
106
+ speedSimPublic: '• Via URL/API Pública (est. 50ms/req): ',
107
+ speedSimLocal: '• Via RPC Node Local (est. 0.1ms/req): ',
108
+ speedSimNote: '\nNota: O uso de um Node RPC local (Full Node) é altamente recomendado para\nconsultas em lote de grande escala, reduzindo o tempo em até 500x.',
109
+ prepEngineTitle: ' PREPARANDO MOTOR DE BUSCA OTIMIZADO DE RECUPERAÇÃO...',
110
+ prepFormat: 'Formato Seed: {0}',
111
+ prepWallet: 'Perfil Wallet: {0}',
112
+ prepYear: 'Ano Perfil: {0}',
113
+ prepPattern: 'Padrão Deriv: {0}',
114
+ prepCoin: 'Blockchain: {0}',
115
+ prepTargetAddr: 'Endereço Alvo: {0}',
116
+ prepWords: 'Palavras: {0}',
117
+ progressBarFormat: 'Restauração [{bar}] {percentage}% | ETA: {eta}s | {value}/{total} sementes | {speed} sementes/seg',
118
+ permutingWarning: '⚠️ CUIDADO: Permutar totalmente {0} palavras gerará mais de {1} combinações, o que pode levar horas ou dias. Deseja prosseguir mesmo assim?',
119
+ permutingCancelled: 'Operação cancelada pelo usuário.',
120
+ searchError: '\n❌ Erro durante a busca de recuperação: {0}',
121
+ endExecutionTitle: ' FIM DE EXECUÇÃO - PROCESSAMENTO CONCLUÍDO',
122
+ elapsedTime: 'Tempo Decorrido: {0} segundos',
123
+ testedSeeds: 'Sementes Testadas: {0}',
124
+ averageSpeed: 'Velocidade Média: {0} sementes/seg',
125
+ totalChecksumPassed: 'Total de sementes válidas montadas (com checksum BIP-39 OK): {0}',
126
+ reportTitle: ' RELATÓRIO DE RECUPERAÇÃO DE SEMENTE - CRYPTOSEEDRECOVERY',
127
+ reportDateTime: 'Data/Hora: {0}',
128
+ reportWallet: 'Perfil Carteira: {0}',
129
+ reportYear: 'Ano de Criação: {0}',
130
+ reportBlockchain: 'Blockchain Alvo: {0}',
131
+ reportDerivation: 'Padrão de Derivação: {0}',
132
+ reportTested: 'Sementes Testadas: {0}',
133
+ reportChecksumValid: 'Sementes Com Checksum Válido: {0}',
134
+ reportSearchTime: 'Tempo de Busca: {0} segundos',
135
+ reportEstSpeedHeader: 'ESTIMATIVA DE VELOCIDADE DE CONSULTA DE SALDO:',
136
+ reportEstPublic: '• Via URL/API Pública (50ms/req): {0}',
137
+ reportEstLocal: '• Via RPC Node Local (0.1ms/req): {0}',
138
+ reportExactCompatibleHeader: 'SEMENTE(S) EXATA(S) COMPATÍVEL(IS) ENCONTRADA(S):',
139
+ reportOptionIdx: '[Opção #{0}] => {1}',
140
+ reportNoneFound: 'Nenhuma semente correspondente com endereço idêntico foi encontrada no espaço de busca.',
141
+ reportAssembledHeader: 'LISTA DE SEMENTES MONTADAS COM CHECKSUM VÁLIDO E SEUS ENDEREÇOS DERIVADOS:',
142
+ reportAssembledItem: '[Semente #{0}] {1} \n -> Endereço derivado: {2}',
143
+ reportMoreOmitted: '\n... e mais {0} sementes válidas omitidas para poupar espaço.',
144
+ reportFooterSafe: 'Mantenha esta informação em local seguro. Nunca compartilhe suas chaves com terceiros.',
145
+ successFound: '\n🎉 SUCESSO! Uma ou mais sementes válidas foram encontradas!\n',
146
+ noneFound: '\n❌ Nenhuma semente com endereço idêntico foi encontrada.',
147
+ noneFoundDica1: 'Dica: Verifique se o endereço alvo e o perfil de carteira selecionados estão corretos.',
148
+ noneFoundDica2: 'Dica: Todas as sementes válidas com checksum OK geradas foram escritas no relatório de recuperação para que você possa inspecionar os endereços derivados.',
149
+ reportSaved: '\n💾 Relatório completo gravado com sucesso em: {0}',
150
+ typoTitle: '\n⚠️ A palavra "{0}" na posição {1} não consta no dicionário.',
151
+ typoPrefixCoincidence: ' Aplicando busca por iniciais ("comendo letras"). Prefixo coincidente: "{0}"',
152
+ typoDistanceCoincidence: ' Aplicando busca por aproximação física de teclado e distância Levenshtein.',
153
+ typoChoicePrompt: 'O que você quis dizer para a posição {0}?',
154
+ typoChoiceLost: 'Tratar como palavra perdida/desconhecida (testar todas 1 por 1)',
155
+ typoChoiceManual: 'Digitar outra palavra manualmente',
156
+ typoChoiceKeep: 'Manter exatamente como digitado (ignorar)',
157
+ typoManualPrompt: 'Digite a palavra correta:',
158
+ typoManualInvalid: 'A palavra "{0}" também não é válida. Tratando como desconhecida (testar 1 por 1).',
159
+ typoNoPrefix: '\n⚠️ A palavra "{0}" na posição {1} não possui nenhuma inicial compatível no dicionário.',
160
+ typoNoPrefixSub: ' Substituindo automaticamente por "*" para testar todas as palavras da lista 1 por 1.',
161
+ helpTitle: 'Manual de Ajuda do CLI',
162
+ helpUsage: 'Uso:',
163
+ helpArguments: 'Argumentos:',
164
+ helpOptHelp: 'Exibe esta tela de ajuda.',
165
+ helpOptInfo: 'Exibe detalhes técnicos de blockchains, histórico de anos e compatibilidade de carteiras.',
166
+ helpWizard: 'Assistente Interativo Padrão:',
167
+ helpWizardDesc: 'Execute o cryptoseed sem argumentos para iniciar o assistente passo a passo.',
168
+ helpDev: 'Desenvolvido sob o ecossistema b2 wallet (better2better, diegooris).',
169
+ infoTitle: 'Manual de Informações e Histórico de Cripto',
170
+ infoTimelines: '📅 LINHAS DO TEMPO DA BLOCKCHAIN & MARCOS',
171
+ infoEra1: '• 2010 ou Anterior (Era Gênese Satoshi):',
172
+ infoEra1Desc: 'As sementes mnemônicas não existiam. As carteiras armazenavam chaves privadas no arquivo binário wallet.dat.',
173
+ infoEra2: '• 2011 - 2014 (Invenções de Sementes):',
174
+ infoEra2Desc: 'A Electrum inventou sementes poéticas de 12 palavras em 2011. Em 2013, o padrão BIP-39 unifica as frases de semente.',
175
+ infoEra3: '• 2015 - 2019 (Transição & Expansão):',
176
+ infoEra3Desc: 'Ethereum lançado em 2015 (BIP-44 m/44\'/60\'/0\'/0/index). Bitcoin SegWit BIP-49 Nested (começa com 3) em 2017.',
177
+ infoEra4: '• 2020 - Presente (SegWit Moderno & B2 Wallet Multichain):',
178
+ infoEra4Desc: 'Padrão Native SegWit BIP-84 (bc1q). Derivação multichain personalizada avançada da B2 Wallet.',
179
+ infoSupported: '⛓️ BLOCKCHAINS SUPORTADAS & COMPATIBILIDADE',
180
+ infoBTC: '• Bitcoin (BTC): BIP-84 (Native SegWit), BIP-49 (Nested), BIP-44 (Legacy), BIP-86 (Taproot) e Electrum Poética.',
181
+ infoEVM: '• EVMs (11 Redes): Ethereum (ETH), BNB Chain (BNB), Polygon (MATIC), Arbitrum (ARB), Optimism (OP), Avalanche (AVAX), Base, Fantom (FTM), Gnosis, etc.',
182
+ infoWaves: '• Waves (WAVES): BLAKE2b-256 + Keccak-256 com prefixo customizado em m/44\'/5741564\'/0\'/0/index.',
183
+ infoSol: '• Solana (SOL): Caminho Phantom (m/44\'/501\'/0\'/0\') e Sollet Legacy.',
184
+ infoOthers: '• UTXO Forks & Outros: Litecoin (LTC), Dogecoin (DOGE), Bitcoin Cash (BCH), Dash (DASH), Zcash (ZEC), Monero (XMR), Ripple (XRP), Stellar (XLM), Cardano (ADA), Polkadot (DOT), Kusama (KSM), Tezos (XTZ), Algorand (ALGO), Near, Sui, Aptos.',
185
+ infoFeatured: '👜 CARTEIRAS DESTAQUE',
186
+ infoB2Wallet: '• B2 Wallet: Carteira oficial multichain da Better2Better por Diego Oris.',
187
+ infoMeta: '• MetaMask / Rabby: Padrão absoluto para EVMs.',
188
+ infoHardware: '• Ledger / Trezor / Trust Wallet / Phantom: Perfis populares de carteiras de software e hardware.',
189
+ algoLangOnly: 'O protocolo Algorand define que mnemônicos padrão usam obrigatoriamente o dicionário BIP-39 em Inglês.',
190
+ adaByronLangOnly: 'Carteiras de papel legadas do Cardano (era Byron) usam obrigatoriamente o dicionário BIP-39 em Inglês.',
191
+ legacyYearLangWarning: 'Nota histórica: Carteiras criadas entre 2011 e 2014 usavam quase que exclusivamente o idioma Inglês (BIP-39 foi oficializado no fim de 2013). Recomendamos Inglês.',
192
+ electrumLangOnly: 'Mnemônicos legados do Electrum v1 usam obrigatoriamente o dicionário poético clássico em Inglês.',
193
+ autoSelectedLang: 'Idioma selecionado automaticamente devido a restrições do protocolo: {0}',
194
+ helpCommandCreate: ' -c, --create Inicia o assistente interativo para gerar uma semente e derivar chaves.',
195
+ createSeedTitle: 'ASSISTENTE DE GERAÇÃO E DERIVAÇÃO DE SEMENTE SEGURA (SECURITY WIZARD)',
196
+ chooseWordCount: 'Escolha o número de palavras para a semente BIP-39:',
197
+ generatingSeed: '🔐 Gerando semente segura de forma criptográfica...',
198
+ generatedSeedHeader: 'Semente Gerada com Sucesso (ATENÇÃO: Nunca compartilhe esta frase!):',
199
+ derivingAddress: '⚙️ Derivando endereço público de forma determinística...',
200
+ derivedAddressResult: 'Endereço Público Derivado (Index 0):',
201
+ derivationPathLabel: 'Caminho de Derivação Utilizado:',
202
+ typoChoicePrefixCandidates: 'Testar apenas com as palavras candidatas sugeridas por iniciais',
203
+ queryBalancesPrompt: 'Deseja consultar os saldos online para os endereços gerados?',
204
+ queryConnectionType: 'Escolha o tipo de conexão para a consulta de saldos:',
205
+ connectionPublic: 'Usar URL pública recomendada da blockchain',
206
+ connectionPrivate: 'Usar conexão privada (localhost ou nó customizado)',
207
+ privateRpcPrompt: 'Insira a URL do nó privado (pressione Enter para usar o padrão localhost: {0}):',
208
+ chooseEvmChain: 'Selecione a rede blockchain EVM que deseja consultar:',
209
+ rateLimitError: '⚠️ Alerta: Limite de requisições excedido ou falha de conexão na URL pública!',
210
+ rateLimitTitle: 'O que você deseja fazer?',
211
+ rateLimitCustom: 'Inserir uma URL de API contratada (Infura, Alchemy, etc.)',
212
+ rateLimitLocal: 'Usar nó local (localhost)',
213
+ rateLimitSkip: 'Ignorar verificação de saldo e finalizar recuperação',
214
+ customNodePrompt: 'Insira a URL completa do seu nó contratado (ex: Infura/Alchemy):',
215
+ fetchingBalance: 'Consultando saldo para {0}...',
216
+ balanceResult: 'Endereço: {0} | Saldo: {1}',
217
+ backChoice: '< Voltar para a etapa anterior',
218
+ backInputHint: '(Digite "voltar" para ir para a etapa anterior)',
219
+ yes: 'Sim',
220
+ no: 'Não',
221
+ complexityConfirmYes: 'Sim, estou ciente e desejo prosseguir',
222
+ complexityConfirmNo: 'Não, voltar ao menu ou cancelar',
223
+ confirmStartSearch: 'Deseja iniciar a busca agora?',
224
+ menuChooseAction: 'Selecione a ação desejada:',
225
+ actionRecover: '🛡️ Recuperar/Restaurar uma semente existente que foi perdida ou danificada',
226
+ actionCreate: '🔑 Gerar uma NOVA semente segura e derivar endereços públicos',
227
+ seedGeneratedFileSaved: '📝 Semente gerada salva com sucesso em: {0}',
228
+ generatedSeedReportHeader: 'RELATÓRIO DE SEMENTE SEGURA GERADA'
229
+ },
230
+ en: {
231
+ headerTitle: 'Seed Restoration Utility',
232
+ headerIntegration: 'Official Integration with B2 Wallet and Ecosystem',
233
+ headerLead: 'Developed under the supervision of Tech Lead:',
234
+ chooseFormat: 'Choose the recovery seed format:',
235
+ formatBip39: 'BIP-39 (Modern Standard - MetaMask, Trust Wallet, B2 Wallet)',
236
+ formatElectrum: 'Electrum v1 Poetic (Legacy before 2014)',
237
+ chooseLang: 'Choose BIP-39 dictionary language:',
238
+ chooseYear: 'Select the approximate year the wallet was created:',
239
+ yearModern: '2020 to present (Modern address & path standard)',
240
+ yearMiddle: 'Between 2015 and 2019 (Transition, intermediate paths / Nested SegWit)',
241
+ yearLegacy: 'Between 2011 and 2014 (Beginning of seeds, Electrum v1, BIP-39)',
242
+ yearGenesis: '2010 or earlier (Satoshi Genesis Era - No deterministic seeds / wallet.dat)',
243
+ satoshiTitle: 'HISTORICAL CURIOSITY & EASTER EGG: THE SATOSHI ERA (2009 - 2010)',
244
+ satoshiDesc1: 'You selected the year 2010 or earlier. Did you know that back then, mnemonic seeds DID NOT EXIST?',
245
+ satoshiHowWorked: 'How wallets worked from 2009 to 2010:',
246
+ satoshiPoint1: 'Satoshi Nakamoto\'s original software (Bitcoin-Qt) generated completely independent, random private keys (non-deterministic).',
247
+ satoshiPoint2: 'These private keys were stored in a binary file named wallet.dat.',
248
+ satoshiPoint3: 'If you made a backup and then generated more than 100 new addresses, your old backup became useless because the new keys were not in it.',
249
+ satoshiPoint4: 'Therefore, there is no 12 or 24-word recovery phrase that can recover a wallet created in this genesis era.',
250
+ satoshiInvention: 'The invention of deterministic seeds:',
251
+ satoshiInventionPoint1: '2011: Electrum created the first seed system (12 poetic words).',
252
+ satoshiInventionPoint2: '2013: The BIP-39 standard was finalized, unifying key generation for almost all networks.',
253
+ satoshiWhatToDo: 'What you need to do:',
254
+ satoshiWhatToDoPoint1: 'If you really have funds from this era, you should look for the original wallet.dat file, not a recovery seed phrase.',
255
+ chooseBlockchain: 'Select the Blockchain / Cryptocurrency of the lost funds:',
256
+ chooseWallet: 'Select the original wallet profile you used:',
257
+ walletB2: 'B2 Wallet (Best multichain compatibility, Diego Oris / Better2Better)',
258
+ walletMeta: 'MetaMask / Rabby (Absolute standard for EVM)',
259
+ walletTrust: 'Trust Wallet (Mobile format)',
260
+ walletLedger: 'Ledger (Hardware Wallet)',
261
+ walletTrezor: 'Trezor (Hardware Wallet)',
262
+ walletPhantom: 'Phantom Wallet (Solana Standard)',
263
+ walletYoroi: 'Yoroi / Daedalus (Cardano Official Wallets)',
264
+ choosePatternBTC: 'Select the desired Bitcoin address format (Derivation Path):',
265
+ btcSegwit: 'Native SegWit - BIP-84 (Starts with "bc1q" - Recommended modern)',
266
+ btcNested: 'Nested SegWit - BIP-49 (Starts with "3" - Transition)',
267
+ btcLegacy: 'Legacy - BIP-44 (Starts with "1" - Old legacy)',
268
+ btcTaproot: 'Taproot - BIP-86 (Starts with "bc1p" - Last generation)',
269
+ choosePatternLTC: 'Select the Litecoin address format:',
270
+ ltcSegwit: 'Native SegWit - BIP-84 (Starts with "ltc1" - Recommended modern)',
271
+ ltcLegacy: 'Legacy - BIP-44 (Starts with "L" - Old legacy)',
272
+ choosePatternSOL: 'Select the Solana derivation path standard:',
273
+ solPhantom: 'Phantom Standard (m/44\'/501\'/0\'/0\' - Recommended)',
274
+ solSollet: 'Sollet / Legacy (m/44\'/501\'/0\'/0/0 - Old wallets)',
275
+ choosePatternADA: 'Select the Cardano address era:',
276
+ adaShelley: 'Shelley - Modern Era (Starts with "addr" - Recommended)',
277
+ adaByron: 'Byron - Old Legacy Era',
278
+ chooseMode: 'Select the Search Mode (Recovery Engine):',
279
+ mode1: 'Mode 1: Fixed Order with Wildcards (e.g. "bo* * out ...")',
280
+ mode2: 'Mode 2: Shuffled Words with Wildcards (Shuffled Partial)',
281
+ mode3: 'Mode 3: Shuffled Complete Words (Shuffled Complete)',
282
+ mode4: 'Mode 4: Total Descrambler (Test all physical permutations)',
283
+ guidanceTitle: '💡 IMPORTANT TIP: ',
284
+ guidanceBody: 'If you do not remember a word of the seed, DO NOT skip and DO NOT leave it blank! Place any word or attempt in its place (e.g., write "*" or "xxxxx").\nThe search engine will use prefix fallback ("eating letters") to deduce the correct word, or it will test all dictionary words 1 by 1 if there is no matching prefix.\n\n',
285
+ inputMsgMode1: 'Enter the seed in the correct order, space-separated, using "*" for totally lost words, or any attempt (e.g. "*"):',
286
+ inputMsgMode2: 'Enter the scrambled seed, space-separated, containing wildcards or attempts if any (e.g. "love time engino"):',
287
+ inputMsgMode3: 'Enter the exact list of known words or attempts separated by spaces:',
288
+ validateMinWords: 'At least 4 words must be provided',
289
+ validatingSpell: '\n🔍 Validating spelling of provided words...',
290
+ spellValidated: '✔️ Spelling validated successfully: [ {0} ]\n',
291
+ complexityTitle: ' ⚠️ MATHEMATICAL COMPLEXITY / TIME INFEASIBILITY ALERT ⚠️',
292
+ complexityWarn: 'You indicated that you do not remember {0} words of your seed.',
293
+ complexityBeAware: 'Please be aware of the time and complexity involved:\n',
294
+ complexity24Seeds: 'For a 24-word seed using the BIP-39 list (2048 words):',
295
+ complexity1Word: ' 1 unknown word: up to 2,048 combinations.',
296
+ complexity2Words: ' 2 unknown words: up to 2,048² = 4,194,304 combinations.',
297
+ complexity3Words: ' 3 unknown words: up to 2,048³ ≈ 8.59 billion combinations.',
298
+ complexity4Words: ' 4 unknown words: up to 17.59 trillion combinations.',
299
+ complexity5Words: ' 5 unknown words: about 36 quadrillion combinations.\n',
300
+ complexityInPractice: 'In practice:',
301
+ complexityPractice1: ' 1 word: normally completely viable.',
302
+ complexityPractice2: ' 2 words: can still be viable with a good computer and optimized software.',
303
+ complexityPractice3: ' 3 words: enters a very heavy level. Might be feasible in specific scenarios, but is no longer simple.',
304
+ complexityPractice4: ' 4 words or more: becomes impracticable and mathematically infeasible.\n',
305
+ complexityChecksumNote: ' BIP-39 seeds have an embedded checksum. This means that most possible combinations can be discarded before deriving keys and checking balances. In a 24-word seed, only about 1 in 256 combinations passes validation.',
306
+ complexityProceedConfirm: 'Do you want to proceed knowing that the search may be mathematically infeasible and take a long time?',
307
+ complexityCancelled: '\n❌ Operation cancelled by user. Returning to main menu...',
308
+ targetAddressPrompt: 'Enter the target public address you want to recover [Optional, press Enter to skip]:',
309
+ chooseThreadMode: 'Choose execution mode:',
310
+ threadModeSingle: 'Single-thread (1 Core)',
311
+ threadModeMulti: 'Multithread (Parallel Cores)',
312
+ threadCountPrompt: 'Select number of CPU threads (1 to {0}):',
313
+ threadsStarted: 'Starting parallel scan with {0} worker threads...',
314
+ invalidAddress: 'Invalid address',
315
+ addConstraintsPrompt: 'Do you have additional information about correct or incorrect positions (constraints) to speed up search?',
316
+ addConstraintType: 'Constraint type to add:',
317
+ constraintTypeOK: 'Knowing the exact position of a word (OK)',
318
+ constraintTypeNOK: 'Knowing a word is NOT in a position (NOK)',
319
+ constraintTypeDONE: 'Done and start search',
320
+ constraintSlotPrompt: 'Enter the corresponding position of the word (1 to {0}):',
321
+ invalidSlot: 'Invalid position',
322
+ constraintWordPrompt: 'Enter the related word:',
323
+ wordNotInDict: 'Word not recognized in dictionary',
324
+ addAnotherConstraint: 'Do you want to add another constraint?',
325
+ speedSimHeader: ' ⚡ BALANCE QUERY SPEED SIMULATOR ⚡',
326
+ speedSimTotalCombos: 'Total seed combinations to generate: {0}',
327
+ speedSimTimeEst: 'Estimated time to query balances of all seeds:',
328
+ speedSimPublic: '• Via Public URL/API (est. 50ms/req): ',
329
+ speedSimLocal: '• Via Local RPC Node (est. 0.1ms/req): ',
330
+ speedSimNote: '\nNote: Using a local RPC Node (Full Node) is highly recommended for\nlarge scale batch queries, reducing execution time up to 500x.',
331
+ prepEngineTitle: ' PREPARING OPTIMIZED RECOVERY SEARCH ENGINE...',
332
+ prepFormat: 'Seed Format: {0}',
333
+ prepWallet: 'Wallet Profile:{0}',
334
+ prepYear: 'Profile Year: {0}',
335
+ prepPattern: 'Deriv Pattern: {0}',
336
+ prepCoin: 'Blockchain: {0}',
337
+ prepTargetAddr: 'Target Address:{0}',
338
+ prepWords: 'Words: {0}',
339
+ progressBarFormat: 'Restoration [{bar}] {percentage}% | ETA: {eta}s | {value}/{total} seeds | {speed} seeds/sec',
340
+ permutingWarning: '⚠️ WARNING: Scrambling fully {0} words will generate more than {1} combinations, which might take hours or days. Do you wish to proceed anyway?',
341
+ permutingCancelled: 'Operation cancelled by user.',
342
+ searchError: '\n❌ Error during recovery search: {0}',
343
+ endExecutionTitle: ' END OF EXECUTION - PROCESSING COMPLETED',
344
+ elapsedTime: 'Elapsed Time: {0} seconds',
345
+ testedSeeds: 'Tested Seeds: {0}',
346
+ averageSpeed: 'Average Speed: {0} seeds/sec',
347
+ totalChecksumPassed: 'Total valid seeds assembled (with BIP-39 Checksum OK): {0}',
348
+ reportTitle: ' SEED RECOVERY REPORT - CRYPTOSEEDRECOVERY',
349
+ reportDateTime: 'Date/Time: {0}',
350
+ reportWallet: 'Wallet Profile: {0}',
351
+ reportYear: 'Creation Year: {0}',
352
+ reportBlockchain: 'Target Blockchain: {0}',
353
+ reportDerivation: 'Derivation Pattern: {0}',
354
+ reportTested: 'Tested Seeds: {0}',
355
+ reportChecksumValid: 'Seeds With Valid Checksum: {0}',
356
+ reportSearchTime: 'Search Time: {0} seconds',
357
+ reportEstSpeedHeader: 'BALANCE QUERY SPEED ESTIMATION:',
358
+ reportEstPublic: '• Via Public URL/API (50ms/req): {0}',
359
+ reportEstLocal: '• Via Local RPC Node (0.1ms/req): {0}',
360
+ reportExactCompatibleHeader: 'EXACT COMPATIBLE SEED(S) FOUND:',
361
+ reportOptionIdx: '[Option #{0}] => {1}',
362
+ reportNoneFound: 'No corresponding seed with identical address was found in the search space.',
363
+ reportAssembledHeader: 'LIST OF VALID ASSEMBLED SEEDS AND THEIR DERIVED ADDRESSES:',
364
+ reportAssembledItem: '[Seed #{0}] {1} \n -> Derived address: {2}',
365
+ reportMoreOmitted: '\n... and {0} more valid seeds omitted to save space.',
366
+ reportFooterSafe: 'Keep this information in a safe place. Never share your private keys with anyone.',
367
+ successFound: '\n🎉 SUCCESS! One or more valid seeds have been found!\n',
368
+ noneFound: '\n❌ No seed with identical address was found.',
369
+ noneFoundDica1: 'Tip: Check if the target address and wallet profile selected are correct.',
370
+ noneFoundDica2: 'Tip: All valid seeds with checksum OK generated were written to the recovery report so you can inspect derived addresses.',
371
+ reportSaved: '\n💾 Complete report successfully written to: {0}',
372
+ typoTitle: '\n⚠️ The word "{0}" at position {1} is not in the dictionary.',
373
+ typoPrefixCoincidence: ' Applying prefix fallback ("eating letters"). Matching prefix: "{0}"',
374
+ typoDistanceCoincidence: ' Applying fallback search based on keyboard adjacency and Levenshtein edit distance.',
375
+ typoChoicePrompt: 'What did you mean for position {0}?',
376
+ typoChoiceLost: 'Treat as lost/unknown word (test all 1 by 1)',
377
+ typoChoiceManual: 'Type another word manually',
378
+ typoChoiceKeep: 'Keep exactly as entered (ignore)',
379
+ typoManualPrompt: 'Type the correct word:',
380
+ typoManualInvalid: 'The word "{0}" is also invalid. Treating as unknown (test 1 by 1).',
381
+ typoNoPrefix: '\n⚠️ The word "{0}" at position {1} has no compatible matching prefix in the dictionary.',
382
+ typoNoPrefixSub: ' Automatically replacing with "*" to test all dictionary words 1 by 1.',
383
+ helpTitle: 'CLI Help Manual',
384
+ helpUsage: 'Usage:',
385
+ helpArguments: 'Arguments:',
386
+ helpOptHelp: 'Displays this help screen.',
387
+ helpOptInfo: 'Displays blockchain details, history years and wallets compatibility.',
388
+ helpWizard: 'Default Interactive Wizard:',
389
+ helpWizardDesc: 'Run cryptoseed without arguments to start the step-by-step wizard.',
390
+ helpDev: 'Developed under b2 wallet ecosystem (better2better, diegooris).',
391
+ infoTitle: 'Info and Crypto History Manual',
392
+ infoTimelines: '📅 BLOCKCHAIN TIMELINES & MILESTONES',
393
+ infoEra1: '• 2010 or Earlier (Satoshi Genesis Era):',
394
+ infoEra1Desc: 'Mnemonic seeds did not exist. Wallets stored private keys in wallet.dat binary file.',
395
+ infoEra2: '• 2011 - 2014 (Seed Inventions):',
396
+ infoEra2Desc: 'Electrum invented 12-word poetic seeds in 2011. In 2013, BIP-39 standard unifies seed phrases.',
397
+ infoEra3: '• 2015 - 2019 (Transition & Expansion):',
398
+ infoEra3Desc: 'Ethereum launched in 2015 (BIP-44 m/44\'/60\'/0\'/0/index). Bitcoin SegWit BIP-49 Nested (starts with 3) in 2017.',
399
+ infoEra4: '• 2020 - Present (Modern SegWit & Multichain B2 Wallet):',
400
+ infoEra4Desc: 'Native SegWit BIP-84 (bc1q) standard. Advanced B2 Wallet custom multichain derivation.',
401
+ infoSupported: '⛓️ SUPPORTED BLOCKCHAINS & COMPATIBILITY',
402
+ infoBTC: '• Bitcoin (BTC): BIP-84 (Native SegWit), BIP-49 (Nested), BIP-44 (Legacy), BIP-86 (Taproot), and Electrum Poetic.',
403
+ infoEVM: '• EVMs (11 Networks): Ethereum (ETH), BNB Chain (BNB), Polygon (MATIC), Arbitrum (ARB), Optimism (OP), Avalanche (AVAX), Base, Fantom (FTM), Gnosis, etc.',
404
+ infoWaves: '• Waves (WAVES): BLAKE2b-256 + Keccak-256 with custom prefix on m/44\'/5741564\'/0\'/0/index.',
405
+ infoSol: '• Solana (SOL): Phantom path (m/44\'/501\'/0\'/0\') and Sollet Legacy.',
406
+ infoOthers: '• UTXO Forks & Others: Litecoin (LTC), Dogecoin (DOGE), Bitcoin Cash (BCH), Dash (DASH), Zcash (ZEC), Monero (XMR), Ripple (XRP), Stellar (XLM), Cardano (ADA), Polkadot (DOT), Kusama (KSM), Tezos (XTZ), Algorand (ALGO), Near, Sui, Aptos.',
407
+ infoFeatured: '👜 FEATURED WALLETS',
408
+ infoB2Wallet: '• B2 Wallet: Official multichain wallet of Better2Better by Diego Oris.',
409
+ infoMeta: '• MetaMask / Rabby: Absolute standard for EVMs.',
410
+ infoHardware: '• Ledger / Trezor / Trust Wallet / Phantom: Popular software and hardware wallet profiles.',
411
+ algoLangOnly: 'The Algorand protocol defines that standard mnemonics must use the English BIP-39 wordlist.',
412
+ adaByronLangOnly: 'Legacy Cardano paper wallets (Byron era) must use the English BIP-39 wordlist.',
413
+ legacyYearLangWarning: 'Historical note: Wallets created between 2011 and 2014 used English almost exclusively (BIP-39 was finalized in late 2013). English is highly recommended.',
414
+ electrumLangOnly: 'Legacy Electrum v1 mnemonics must use the classic English poetic wordlist.',
415
+ autoSelectedLang: 'Language auto-selected due to protocol constraints: {0}',
416
+ helpCommandCreate: ' -c, --create Starts the interactive wizard to generate a seed and derive keys.',
417
+ createSeedTitle: 'SECURE SEED GENERATION & DERIVATION WIZARD',
418
+ chooseWordCount: 'Choose the number of words for the BIP-39 seed:',
419
+ generatingSeed: '🔐 Generating cryptographically secure seed...',
420
+ generatedSeedHeader: 'Seed Generated Successfully (WARNING: Never share this phrase!):',
421
+ derivingAddress: '⚙️ Deriving public address deterministically...',
422
+ derivedAddressResult: 'Derived Public Address (Index 0):',
423
+ derivationPathLabel: 'Derivation Path Used:',
424
+ typoChoicePrefixCandidates: 'Test only with matched prefix candidate words',
425
+ queryBalancesPrompt: 'Do you want to retrieve online balances for the generated addresses?',
426
+ queryConnectionType: 'Choose connection type for balance queries:',
427
+ connectionPublic: 'Use recommended public URL for the blockchain',
428
+ connectionPrivate: 'Use private connection (localhost or custom node)',
429
+ privateRpcPrompt: 'Enter the private node URL (press Enter to use default localhost: {0}):',
430
+ chooseEvmChain: 'Select the EVM blockchain network you want to query:',
431
+ rateLimitError: '⚠️ Warning: Request limit exceeded or connection failed on the public URL!',
432
+ rateLimitTitle: 'What would you like to do?',
433
+ rateLimitCustom: 'Enter a contracted API URL (Infura, Alchemy, etc.)',
434
+ rateLimitLocal: 'Use a local node (localhost)',
435
+ rateLimitSkip: 'Skip balance checking and finalize recovery',
436
+ customNodePrompt: 'Enter the complete URL of your contracted node (e.g. Infura/Alchemy):',
437
+ fetchingBalance: 'Retrieving balance for {0}...',
438
+ balanceResult: 'Address: {0} | Balance: {1}',
439
+ backChoice: '< Back to the previous step',
440
+ backInputHint: '(Type "back" to go to the previous step)',
441
+ yes: 'Yes',
442
+ no: 'No',
443
+ complexityConfirmYes: 'Yes, I am aware and want to proceed',
444
+ complexityConfirmNo: 'No, cancel and exit',
445
+ confirmStartSearch: 'Do you want to start the search now?',
446
+ menuChooseAction: 'Select the desired action:',
447
+ actionRecover: '🛡️ Recover/Restore an existing lost or damaged seed',
448
+ actionCreate: '🔑 Generate a NEW secure seed and derive public addresses',
449
+ seedGeneratedFileSaved: '📝 Generated seed saved successfully to: {0}',
450
+ generatedSeedReportHeader: 'SECURE GENERATED SEED REPORT'
451
+ },
452
+ es: {
453
+ headerTitle: 'Utilidad de Restauración de Semillas',
454
+ headerIntegration: 'Integración Oficial con B2 Wallet y Ecosistema',
455
+ headerLead: 'Desarrollado bajo la supervisión del Tech Lead:',
456
+ chooseFormat: 'Elija el formato de la semilla de recuperación:',
457
+ formatBip39: 'BIP-39 (Estándar Moderno - MetaMask, Trust Wallet, B2 Wallet)',
458
+ formatElectrum: 'Electrum v1 Poético (Legado anterior a 2014)',
459
+ chooseLang: 'Elija el idioma del diccionario BIP-39:',
460
+ chooseYear: 'Seleccione el año aproximado en que se creó la billetera:',
461
+ yearModern: '2020 al presente (Estándar modernísimo de rutas y direcciones)',
462
+ yearMiddle: 'Entre 2015 y 2019 (Transición, rutas intermedias / SegWit anidado)',
463
+ yearLegacy: 'Entre 2011 y 2014 (Inicio de las semillas, Electrum v1, BIP-39)',
464
+ yearGenesis: '2010 o anterior (Era Génesis Satoshi - Sin semillas deterministas / wallet.dat)',
465
+ satoshiTitle: 'CURIOSIDAD HISTÓRICA Y EASTER EGG: LA ERA SATOSHI (2009 - 2010)',
466
+ satoshiDesc1: 'Seleccionó el año 2010 o anterior. ¿Sabía que en esa época NO EXISTÍAN las semillas mnemónicas?',
467
+ satoshiHowWorked: 'Cómo funcionaban las billeteras de 2009 a 2010:',
468
+ satoshiPoint1: 'El software original de Satoshi Nakamoto (Bitcoin-Qt) generaba claves privadas totalmente aleatorias e independientes (no deterministas).',
469
+ satoshiPoint2: 'Estas claves privadas se almacenaban en un archivo binario llamado wallet.dat.',
470
+ satoshiPoint3: 'Si hacía una copia de seguridad y luego generaba más de 100 direcciones nuevas, su copia antigua se volvía inútil porque las nuevas claves no estaban en ella.',
471
+ satoshiPoint4: 'Por lo tanto, no existe ninguna frase de recuperación de 12 o 24 palabras que pueda recuperar una billetera creada en esta era génesis.',
472
+ satoshiInvention: 'La invención de las semillas deterministas:',
473
+ satoshiInventionPoint1: '2011: Electrum creó el primer sistema de semillas (12 palabras poéticas).',
474
+ satoshiInventionPoint2: '2013: El estándar BIP-39 fue oficializado, unificando la generación de claves para casi todas las redes.',
475
+ satoshiWhatToDo: 'Qué debe hacer:',
476
+ satoshiWhatToDoPoint1: 'Si realmente tiene fondos de esta era, debe buscar el archivo wallet.dat original, no una frase de recuperación.',
477
+ chooseBlockchain: 'Seleccione la Blockchain / Criptomoneda de los fondos perdidos:',
478
+ chooseWallet: 'Seleccione el perfil de billetera original que utilizó:',
479
+ walletB2: 'B2 Wallet (Mejor compatibilidad multichain, Diego Oris / Better2Better)',
480
+ walletMeta: 'MetaMask / Rabby (Estándar absoluto para EVM)',
481
+ walletTrust: 'Trust Wallet (Formato móvil)',
482
+ walletLedger: 'Ledger (Billetera Física)',
483
+ walletTrezor: 'Trezor (Billetera Física)',
484
+ walletPhantom: 'Phantom Wallet (Estándar para Solana)',
485
+ walletYoroi: 'Yoroi / Daedalus (Billeteras oficiales de Cardano)',
486
+ choosePatternBTC: 'Seleccione el formato de dirección deseado de Bitcoin (Ruta de Derivación):',
487
+ btcSegwit: 'Native SegWit - BIP-84 (Inicia con "bc1q" - Recomendado moderno)',
488
+ btcNested: 'Nested SegWit - BIP-49 (Inicia con "3" - Transición)',
489
+ btcLegacy: 'Legacy - BIP-44 (Inicia con "1" - Legado antiguo)',
490
+ btcTaproot: 'Taproot - BIP-86 (Inicia con "bc1p" - Última generación)',
491
+ choosePatternLTC: 'Seleccione el formato de dirección de Litecoin:',
492
+ ltcSegwit: 'Native SegWit - BIP-84 (Inicia con "ltc1" - Recomendado moderno)',
493
+ ltcLegacy: 'Legacy - BIP-44 (Inicia con "L" - Legado antiguo)',
494
+ choosePatternSOL: 'Seleccione el estándar de ruta de derivación de Solana:',
495
+ solPhantom: 'Phantom Standard (m/44\'/501\'/0\'/0\' - Recomendado)',
496
+ solSollet: 'Sollet / Legacy (m/44\'/501\'/0\'/0/0 - Billeteras antiguas)',
497
+ choosePatternADA: 'Seleccione la era de dirección de Cardano:',
498
+ adaShelley: 'Shelley - Era Moderna (Inicia con "addr" - Recomendado)',
499
+ adaByron: 'Byron - Era Legada antigua',
500
+ chooseMode: 'Seleccione el Modo de Búsqueda (Motor de Recuperación):',
501
+ mode1: 'Modo 1: Orden Fijo con Comodines (Ej: "bo* * out ...")',
502
+ mode2: 'Modo 2: Palabras Desordenadas con Comodines (Shuffled Partial)',
503
+ mode3: 'Modo 3: Palabras Desordenadas Completas (Shuffled Complete)',
504
+ mode4: 'Modo 4: Descrambler Total (Probar todas las permutaciones físicas)',
505
+ guidanceTitle: '💡 CONSEJO IMPORTANTE: ',
506
+ guidanceBody: 'Si no recuerda alguna palabra de la semilla, ¡NO la salte y NO la deje en blanco! Coloque cualquier palabra o intento en su lugar (ej: escriba "*" o "xxxxx").\nEl motor de búsqueda usará coincidencia por prefijos ("comer letras") para deducir la palabra correcta, o probará todas las palabras del diccionario 1 por 1 si no hay ningún prefijo compatible.\n\n',
507
+ inputMsgMode1: 'Ingrese la semilla en el orden correcto, separada por espacios, usando "*" para palabras totalmente perdidas o cualquier intento (ej: "*"):',
508
+ inputMsgMode2: 'Ingrese la semilla desordenada, separada por espacios, con comodines o intentos si los hay (ej: "love time engino"):',
509
+ inputMsgMode3: 'Ingrese la lista exacta de palabras conocidas o intentos separados por espacios:',
510
+ validateMinWords: 'Es necesario proporcionar al menos 4 palabras',
511
+ validatingSpell: '\n🔍 Validando la ortografía de las palabras proporcionadas...',
512
+ spellValidated: '✔️ Ortografía validada con éxito: [ {0} ]\n',
513
+ complexityTitle: ' ⚠️ ALERTA DE COMPLEJIDAD MATEMÁTICA / INVIABILIDAD DE TIEMPO ⚠️',
514
+ complexityWarn: 'Indicó que no recuerda {0} palabras de su semilla.',
515
+ complexityBeAware: 'Por favor, tenga en cuenta el tiempo y la complejidad involucrados:\n',
516
+ complexity24Seeds: 'Para una semilla de 24 palabras utilizando la lista BIP-39 (2048 palabras):',
517
+ complexity1Word: ' 1 palabra desconocida: hasta 2.048 combinaciones.',
518
+ complexity2Words: ' 2 palabras desconocidas: hasta 2.048² = 4.194.304 combinaciones.',
519
+ complexity3Words: ' 3 palabras desconocidas: hasta 2.048³ ≈ 8.59 mil millones de combinaciones.',
520
+ complexity4Words: ' 4 palabras desconocidas: hasta 17.59 billones de combinaciones.',
521
+ complexity5Words: ' 5 palabras desconocidas: alrededor de 36 cuatrillones de combinaciones.\n',
522
+ complexityInPractice: 'En la práctica:',
523
+ complexityPractice1: ' 1 palabra: normalmente es totalmente viable.',
524
+ complexityPractice2: ' 2 palabras: todavía puede ser viable con una buena computadora y software optimizado.',
525
+ complexityPractice3: ' 3 palabras: ya entra en un nivel muy pesado. Podría ser factible en escenarios muy específicos, pero deja de ser simple.',
526
+ complexityPractice4: ' 4 palabras o más: se vuelve impracticable y matemáticamente inviable.\n',
527
+ complexityChecksumNote: ' Las semillas BIP-39 tienen un checksum incorporado. Esto significa que la mayoría de las combinaciones posibles pueden ser descartadas antes de derivar claves y verificar saldos. En una semilla de 24 palabras, solo aproximadamente 1 de cada 256 combinaciones pasa la validación.',
528
+ complexityProceedConfirm: '¿Desea continuar aun sabiendo que la búsqueda puede ser matemáticamente inviable y tomar mucho tiempo?',
529
+ complexityCancelled: '\n❌ Operación cancelada por el usuario. Volviendo al menú principal...',
530
+ targetAddressPrompt: 'Ingrese la dirección pública objetivo que desea recuperar [Opcional, presione Enter para omitir]:',
531
+ chooseThreadMode: 'Elija el modo de ejecución:',
532
+ threadModeSingle: 'Single-thread (1 Core)',
533
+ threadModeMulti: 'Multithread (Núcleos en paralelo)',
534
+ threadCountPrompt: 'Seleccione el número de hilos de CPU (1 a {0}):',
535
+ threadsStarted: 'Iniciando escaneo paralelo con {0} hilos de worker...',
536
+ invalidAddress: 'Dirección inválida',
537
+ addConstraintsPrompt: '¿Tiene información adicional de posiciones correctas o incorrectas (restricciones) para acelerar la búsqueda?',
538
+ addConstraintType: 'Tipo de restricción a agregar:',
539
+ constraintTypeOK: 'Saber la posición exacta de una palabra (OK)',
540
+ constraintTypeNOK: 'Saber que una palabra NO está en una posición (NOK)',
541
+ constraintTypeDONE: 'Concluir e iniciar búsqueda',
542
+ constraintSlotPrompt: 'Ingrese la posición correspondiente de la palabra (1 a {0}):',
543
+ invalidSlot: 'Posición inválida',
544
+ constraintWordPrompt: 'Ingrese la palabra relacionada:',
545
+ wordNotInDict: 'Palabra no reconocida en el diccionario',
546
+ addAnotherConstraint: '¿Desea agregar otra restricción?',
547
+ speedSimHeader: ' ⚡ SIMULADOR DE VELOCIDAD DE CONSULTA DE SALDOS ⚡',
548
+ speedSimTotalCombos: 'Total de combinaciones de semillas a generar: {0}',
549
+ speedSimTimeEst: 'Tiempo estimado para consultar el saldo de todas las semillas:',
550
+ speedSimPublic: '• Vía URL/API Pública (est. 50ms/req): ',
551
+ speedSimLocal: '• Vía RPC Nodo Local (est. 0.1ms/req): ',
552
+ speedSimNote: '\nNota: El uso de un Nodo RPC local (Full Node) es altamente recomendado para\nconsultas en lote a gran escala, reduciendo el tiempo hasta 500 veces.',
553
+ prepEngineTitle: ' PREPARANDO MOTOR DE BÚSQUEDA OPTIMIZADO DE RECUPERACIÓN...',
554
+ prepFormat: 'Formato Semilla:{0}',
555
+ prepWallet: 'Billetera: {0}',
556
+ prepYear: 'Año Perfil: {0}',
557
+ prepPattern: 'Ruta Deriv: {0}',
558
+ prepCoin: 'Blockchain: {0}',
559
+ prepTargetAddr: 'Dirección Obj: {0}',
560
+ prepWords: 'Palabras: {0}',
561
+ progressBarFormat: 'Restauración [{bar}] {percentage}% | ETA: {eta}s | {value}/{total} semillas | {speed} semillas/seg',
562
+ permutingWarning: '⚠️ CUIDADO: Permutar totalmente {0} palabras generará más de {1} combinaciones, lo que puede tomar horas o días. ¿Desea continuar de todos modos?',
563
+ permutingCancelled: 'Operación cancelada por el usuario.',
564
+ searchError: '\n❌ Error durante la búsqueda de recuperación: {0}',
565
+ endExecutionTitle: ' FIN DE EJECUCIÓN - PROCESAMIENTO COMPLETADO',
566
+ elapsedTime: 'Tiempo Transcurrido: {0} segundos',
567
+ testedSeeds: 'Semillas Probadas: {0}',
568
+ averageSpeed: 'Velocidad Media: {0} semillas/seg',
569
+ totalChecksumPassed: 'Total de semillas válidas armadas (con checksum BIP-39 OK): {0}',
570
+ reportTitle: ' REPORTE DE RECUPERACIÓN DE SEMILLA - CRYPTOSEEDRECOVERY',
571
+ reportDateTime: 'Fecha/Hora: {0}',
572
+ reportWallet: 'Perfil Billetera: {0}',
573
+ reportYear: 'Año de Creación: {0}',
574
+ reportBlockchain: 'Blockchain Objetivo: {0}',
575
+ reportDerivation: 'Ruta de Derivación: {0}',
576
+ reportTested: 'Semillas Probadas: {0}',
577
+ reportChecksumValid: 'Semillas Con Checksum Válido: {0}',
578
+ reportSearchTime: 'Tiempo de Búsqueda: {0} segundos',
579
+ reportEstSpeedHeader: 'ESTIMACIÓN DE VELOCIDAD DE CONSULTA DE SALDO:',
580
+ reportEstPublic: '• Vía URL/API Pública (50ms/req): {0}',
581
+ reportEstLocal: '• Vía RPC Nodo Local (0.1ms/req): {0}',
582
+ reportExactCompatibleHeader: 'SEMILLA(S) EXACTA(S) COMPATIBLE(S) ENCONTRADA(S):',
583
+ reportOptionIdx: '[Opción #{0}] => {1}',
584
+ reportNoneFound: 'No se encontró ninguna semilla correspondiente con dirección idéntica en el espacio de búsqueda.',
585
+ reportAssembledHeader: 'LISTA DE SEMILLAS ARMADAS CON CHECKSUM VÁLIDO Y SUS DIRECCIONES DERIVADAS:',
586
+ reportAssembledItem: '[Semilla #{0}] {1} \n -> Dirección derivada: {2}',
587
+ reportMoreOmitted: '\n... y más {0} semillas válidas omitidas para ahorrar espacio.',
588
+ reportFooterSafe: 'Mantenga esta información en un lugar seguro. Nunca comparta sus claves privadas con nadie.',
589
+ successFound: '\n🎉 ¡ÉXITO! ¡Se han encontrado una o más semillas válidas!\n',
590
+ noneFound: '\n❌ No se encontró ninguna semilla con dirección idéntica.',
591
+ noneFoundDica1: 'Consejo: Verifique si la dirección objetivo y la billetera seleccionadas son correctas.',
592
+ noneFoundDica2: 'Consejo: Todas las semillas válidas con checksum OK generadas fueron escritas en el reporte de recuperación para que pueda inspeccionar las direcciones derivadas.',
593
+ reportSaved: '\n💾 Reporte completo grabado con éxito en: {0}',
594
+ typoTitle: '\n⚠️ La palabra "{0}" en la posición {1} no consta en el diccionario.',
595
+ typoPrefixCoincidence: ' Aplicando coincidencia por prefijos ("comer letras"). Prefijo coincidente: "{0}"',
596
+ typoDistanceCoincidence: ' Aplicando coincidencia por cercanía física del teclado y distancia de edición Levenshtein.',
597
+ typoChoicePrompt: '¿Qué quiso decir para la posición {0}?',
598
+ typoChoiceLost: 'Tratar como palabra perdida/desconocida (probar todas 1 por 1)',
599
+ typoChoiceKeep: 'Mantener exactamente como se escribió (ignorar)',
600
+ typoChoiceManual: 'Escribir otra palabra manualmente',
601
+ typoManualPrompt: 'Escriba la palabra correcta:',
602
+ typoManualInvalid: 'La palabra "{0}" tampoco es válida. Tratándola como desconocida (probar 1 por 1).',
603
+ typoNoPrefix: '\n⚠️ La palabra "{0}" en la posición {1} no tiene ningún prefijo compatible en el diccionario.',
604
+ typoNoPrefixSub: ' Sustituyendo automáticamente por "*" para probar todas las palabras del diccionario 1 por 1.',
605
+ helpTitle: 'Manual de Ayuda de CLI',
606
+ helpUsage: 'Uso:',
607
+ helpArguments: 'Argumentos:',
608
+ helpOptHelp: 'Muestra esta pantalla de ayuda.',
609
+ helpOptInfo: 'Muestra detalles técnicos de blockchains, historial de años y compatibilidad de billeteras.',
610
+ helpWizard: 'Asistente Interactivo Predeterminado:',
611
+ helpWizardDesc: 'Ejecute cryptoseed sin argumentos para iniciar el asistente paso a paso.',
612
+ helpDev: 'Desarrollado bajo el ecosistema de b2 wallet (better2better, diegooris).',
613
+ infoTitle: 'Manual de Información e Historia de Cripto',
614
+ infoTimelines: '📅 LÍNEAS DE TIEMPO DE BLOCKCHAIN Y HITOS',
615
+ infoEra1: '• 2010 o Anterior (Era de Génesis de Satoshi):',
616
+ infoEra1Desc: 'Las semillas mnemónicas no existían. Las billeteras almacenaban claves privadas en el archivo binario wallet.dat.',
617
+ infoEra2: '• 2011 - 2014 (Invenciones de Semillas):',
618
+ infoEra2Desc: 'Electrum inventó las semillas poéticas de 12 palabras en 2011. En 2013, el estándar BIP-39 unifica las frases de semilla.',
619
+ infoEra3: '• 2015 - 2019 (Transición y Expansión):',
620
+ infoEra3Desc: 'Ethereum lanzado en 2015 (BIP-44 m/44\'/60\'/0\'/0/index). Bitcoin SegWit BIP-49 Nested (comienza con 3) en 2017.',
621
+ infoEra4: '• 2020 - Presente (SegWit Moderno y B2 Wallet Multichasis):',
622
+ infoEra4Desc: 'Estándar Native SegWit BIP-84 (bc1q). Derivación multichasis personalizada avanzada de B2 Wallet.',
623
+ infoSupported: '⛓️ BLOCKCHAINS SOPORTADAS Y COMPATIBILIDAD',
624
+ infoBTC: '• Bitcoin (BTC): BIP-84 (Native SegWit), BIP-49 (Nested), BIP-44 (Legacy), BIP-86 (Taproot) y Electrum Poética.',
625
+ infoEVM: '• EVMs (11 Redes): Ethereum (ETH), BNB Chain (BNB), Polygon (MATIC), Arbitrum (ARB), Optimism (OP), Avalanche (AVAX), Base, Fantom (FTM), Gnosis, etc.',
626
+ infoWaves: '• Waves (WAVES): BLAKE2b-256 + Keccak-256 con prefijo personalizado en m/44\'/5741564\'/0\'/0/index.',
627
+ infoSol: '• Solana (SOL): Ruta Phantom (m/44\'/501\'/0\'/0\') y Sollet Legacy.',
628
+ infoOthers: '• UTXO Forks y Otros: Litecoin (LTC), Dogecoin (DOGE), Bitcoin Cash (BCH), Dash (DASH), Zcash (ZEC), Monero (XMR), Ripple (XRP), Stellar (XLM), Cardano (ADA), Polkadot (DOT), Kusama (KSM), Tezos (XTZ), Algorand (ALGO), Near, Sui, Aptos.',
629
+ infoFeatured: '👜 BILLETERAS DESTACADAS',
630
+ infoB2Wallet: '• B2 Wallet: Billetera multichasis oficial de Better2Better por Diego Oris.',
631
+ infoMeta: '• MetaMask / Rabby: Estándar absoluto para EVMs.',
632
+ infoHardware: '• Ledger / Trezor / Trust Wallet / Phantom: Perfiles populares de billeteras de software y hardware.',
633
+ algoLangOnly: 'El protocolo Algorand define que los mnemónicos estándar deben usar obligatoriamente la lista de palabras BIP-39 en Inglés.',
634
+ adaByronLangOnly: 'Las billeteras de papel legadas de Cardano (era Byron) deben usar obligatoriamente la lista de palabras BIP-39 en Inglés.',
635
+ legacyYearLangWarning: 'Nota histórica: Las billeteras creadas entre 2011 y 2014 utilizaban casi exclusivamente el idioma Inglés (BIP-39 se oficializó a finales de 2013). Se recomienda Inglés.',
636
+ electrumLangOnly: 'Los mnemónicos legados de Electrum v1 deben usar obligatoriamente la lista poética clásica en Inglés.',
637
+ autoSelectedLang: 'Idioma seleccionado automáticamente debido a restricciones de protocolo: {0}',
638
+ helpCommandCreate: ' -c, --create Inicia el asistente interactivo para generar una semilla y derivar claves.',
639
+ createSeedTitle: 'ASISTENTE DE GENERACIÓN Y DERIVACIÓN DE SEMILLAS SEGURAS',
640
+ chooseWordCount: 'Elija la cantidad de palabras para la semilla BIP-39:',
641
+ generatingSeed: '🔐 Generando semilla criptográficamente segura...',
642
+ generatedSeedHeader: 'Semilla generada con éxito (ATENCIÓN: ¡Nunca compartas esta frase!):',
643
+ derivingAddress: '⚙️ Derivando dirección pública de forma determinística...',
644
+ derivedAddressResult: 'Dirección pública derivada (Índice 0):',
645
+ derivationPathLabel: 'Ruta de derivación utilizada:',
646
+ typoChoicePrefixCandidates: 'Probar solo con las palabras candidatas sugeridas por iniciales',
647
+ queryBalancesPrompt: '¿Desea consultar los saldos online para las direcciones generadas?',
648
+ queryConnectionType: 'Elija el tipo de conexión para consultar saldos:',
649
+ connectionPublic: 'Usar URL pública recomendada de la blockchain',
650
+ connectionPrivate: 'Usar conexión privada (localhost o nodo personalizado)',
651
+ privateRpcPrompt: 'Ingrese la URL del nodo privado (presione Enter para usar localhost por defecto: {0}):',
652
+ chooseEvmChain: 'Seleccione la red blockchain EVM que desea consultar:',
653
+ rateLimitError: '⚠️ Advertencia: ¡Se superó el límite de solicitudes o falló la conexión en la URL pública!',
654
+ rateLimitTitle: '¿Qué desea hacer?',
655
+ rateLimitCustom: 'Ingresar una URL de API contratada (Infura, Alchemy, etc.)',
656
+ rateLimitLocal: 'Usar nodo local (localhost)',
657
+ rateLimitSkip: 'Omitir consulta de saldo y finalizar recuperación',
658
+ customNodePrompt: 'Ingrese la URL completa de su nodo contratado (ej. Infura/Alchemy):',
659
+ fetchingBalance: 'Consultando saldo para {0}...',
660
+ balanceResult: 'Dirección: {0} | Saldo: {1}',
661
+ backChoice: '< Volver al paso anterior',
662
+ backInputHint: '(Escriba "volver" para ir al paso anterior)',
663
+ yes: 'Sí',
664
+ no: 'No',
665
+ complexityConfirmYes: 'Sí, soy consciente y deseo continuar',
666
+ complexityConfirmNo: 'No, cancelar y salir',
667
+ confirmStartSearch: '¿Desea iniciar la búsqueda ahora?',
668
+ menuChooseAction: 'Seleccione la acción deseada:',
669
+ actionRecover: '🛡️ Recuperar/Restaurar una semilla existente perdida o dañada',
670
+ actionCreate: '🔑 Generar una NUEVA semilla segura y derivar direcciones públicas',
671
+ seedGeneratedFileSaved: '📝 Semilla generada guardada con éxito en: {0}',
672
+ generatedSeedReportHeader: 'REPORTE DE SEMILLA SEGURA GENERADA'
673
+ },
674
+ zh: {
675
+ headerTitle: '助记词恢复工具',
676
+ headerIntegration: 'B2 Wallet 与生态系统官方集成',
677
+ headerLead: '在技术主管监督下开发:',
678
+ chooseFormat: '选择恢复助记词格式:',
679
+ formatBip39: 'BIP-39 (现代标准 - MetaMask, Trust Wallet, B2 Wallet)',
680
+ formatElectrum: 'Electrum v1 诗意格式 (2014年之前的旧版本)',
681
+ chooseLang: '选择 BIP-39 词典语言:',
682
+ chooseYear: '选择钱包创建的大致年份:',
683
+ yearModern: '2020 至今 (极现代的路径和地址标准)',
684
+ yearMiddle: '2015 至 2019 之间 (过渡期,中间路径 / 嵌套 SegWit)',
685
+ yearLegacy: '2011 至 2014 之间 (助记词诞生,Electrum v1, BIP-39)',
686
+ yearGenesis: '2010 或更早 (中本聪创世时代 - 无确定性助记词 / wallet.dat)',
687
+ satoshiTitle: '历史趣闻与彩蛋:中本聪时代 (2009 - 2010)',
688
+ satoshiDesc1: '您选择了 2010 年或更早。您知道在那个时候,根本不存在助记词吗?',
689
+ satoshiHowWorked: '2009 至 2010 年间钱包是如何工作的:',
690
+ satoshiPoint1: '中本聪的原始软件 (Bitcoin-Qt) 生成完全独立的随机私钥(非确定性)。',
691
+ satoshiPoint2: '这些私钥存储在一个名为 wallet.dat 的二进制文件中。',
692
+ satoshiPoint3: '如果您备份了文件,之后又生成了超过 100 个新地址,您的旧备份就会失效,因为新私钥不在其中。',
693
+ satoshiPoint4: '因此,没有任何 12 或 24 个单词的恢复短语能恢复在这个创世时代创建的钱包。',
694
+ satoshiInvention: '确定性助记词的诞生:',
695
+ satoshiInventionPoint1: '2011 年:Electrum 创建了第一个助记词系统(12个诗意的单词)。',
696
+ satoshiInventionPoint2: '2013 年:BIP-39 标准正式通过,统一了几乎所有网络的密钥生成。',
697
+ satoshiWhatToDo: '您需要做什么:',
698
+ satoshiWhatToDoPoint1: '如果您确实拥有那个时代的资金,您应该寻找原始的 wallet.dat 文件,而不是恢复单词短语。',
699
+ chooseBlockchain: '选择丢失资金的区块链 / 加密货币:',
700
+ chooseWallet: '选择您使用的原始钱包配置:',
701
+ walletB2: 'B2 Wallet (最佳多链兼容性, Diego Oris / Better2Better)',
702
+ walletMeta: 'MetaMask / Rabby (EVM 的绝对标准)',
703
+ walletTrust: 'Trust Wallet (移动端格式)',
704
+ walletLedger: 'Ledger (硬件钱包)',
705
+ walletTrezor: 'Trezor (硬件钱包)',
706
+ walletPhantom: 'Phantom Wallet (Solana 标准)',
707
+ walletYoroi: 'Yoroi / Daedalus (Cardano 官方钱包)',
708
+ choosePatternBTC: '选择所需的比特币地址格式 (派生路径):',
709
+ btcSegwit: 'Native SegWit - BIP-84 (以 "bc1q" 开头 - 推荐现代标准)',
710
+ btcNested: 'Nested SegWit - BIP-49 (以 "3" 开头 - 过渡格式)',
711
+ btcLegacy: 'Legacy - BIP-44 (以 "1" 开头 - 传统旧标准)',
712
+ btcTaproot: 'Taproot - BIP-86 (以 "bc1p" 开头 - 最新一代)',
713
+ choosePatternLTC: '选择莱特币地址格式:',
714
+ ltcSegwit: 'Native SegWit - BIP-84 (以 "ltc1" 开头 - 推荐现代标准)',
715
+ ltcLegacy: 'Legacy - BIP-44 (以 "L" 开头 - 传统旧标准)',
716
+ choosePatternSOL: '选择 Solana 派生路径标准:',
717
+ solPhantom: 'Phantom Standard (m/44\'/501\'/0\'/0\' - 推荐)',
718
+ solSollet: 'Sollet / Legacy (m/44\'/501\'/0\'/0/0 - 旧钱包)',
719
+ choosePatternADA: '选择 Cardano 地址时代:',
720
+ adaShelley: 'Shelley - 现代时代 (以 "addr" 开头 - 推荐)',
721
+ adaByron: 'Byron - 旧版本传统时代',
722
+ chooseMode: '选择搜索模式 (恢复引擎):',
723
+ mode1: '模式 1: 带通配符的固定顺序 (例如: "bo* * out ...")',
724
+ mode2: '模式 2: 带通配符的打乱单词顺序 (部分乱序)',
725
+ mode3: '模式 3: 完全打乱的单词顺序 (完全乱序)',
726
+ mode4: '模式 4: 完全解密排列 (测试所有物理排列组合)',
727
+ guidanceTitle: '💡 重要提示: ',
728
+ guidanceBody: '如果您不记得助记词中的某个单词,请不要跳过也不要留空!在其位置填入任何单词或尝试(例如:写下 "*" 或 "xxxxx")。\n搜索引擎将使用前缀回退(“吃字母”)来推导正确的单词,如果没有匹配的前缀,它将逐个测试词典中的所有单词 1 比 1。\n\n',
729
+ inputMsgMode1: '按正确顺序输入助记词,用空格分隔,对于完全丢失的单词使用 "*",或输入任何尝试(如 "*"):',
730
+ inputMsgMode2: '输入乱序的助记词,用空格分隔,如有通配符或尝试也一并输入(如 "love time engino"):',
731
+ inputMsgMode3: '输入已知单词或尝试的精确列表,用空格分隔:',
732
+ validateMinWords: '必须提供至少 4 个单词',
733
+ validatingSpell: '\n🔍 正在验证输入单词的拼写...',
734
+ spellValidated: '✔️ 拼写验证成功: [ {0} ]\n',
735
+ complexityTitle: ' ⚠️ 数学复杂度 / 时间不可行性警报 ⚠️',
736
+ complexityWarn: '您表示您不记得助记词中的 {0} 个单词。',
737
+ complexityBeAware: '请注意所涉及的时间和复杂度:\n',
738
+ complexity24Seeds: '对于使用 BIP-39 列表(2048个单词)的 24 位助记词:',
739
+ complexity1Word: ' 1 个未知单词: 高达 2,048 种组合。',
740
+ complexity2Words: ' 2 个未知单词: 高达 2,048² = 4,194,304 种组合。',
741
+ complexity3Words: ' 3 个未知单词: 高达 2,048³ ≈ 85.9 亿种组合。',
742
+ complexity4Words: ' 4 个未知单词: 高达 17.59 万亿种组合。',
743
+ complexity5Words: ' 5 个未知单词: 约 3.6 京(3600万亿)种组合。\n',
744
+ complexityInPractice: '实际情况:',
745
+ complexityPractice1: ' 1 个单词: 通常完全可行。',
746
+ complexityPractice2: ' 2 个单词: 使用优秀的电脑和优化过的软件仍然可行。',
747
+ complexityPractice3: ' 3 个单词: 进入非常繁重的阶段。在某些特定场景下可能是可行的,但绝非易事。',
748
+ complexityPractice4: ' 4 个单词或更多: 变得不切实际且数学上不可行。\n',
749
+ complexityChecksumNote: ' BIP-39 助记词包含内置的校验和(Checksum)。这意味着在派生密钥和检查余额之前,可以丢弃大多数可能的组合。在 24 个单词的助记词中,只有大约 256 分之一的组合能通过验证。',
750
+ complexityProceedConfirm: '您确定要继续吗?请知悉搜索可能在数学上不可行且需要很长时间。',
751
+ complexityCancelled: '\n❌ 用户取消操作。正在返回主菜单...',
752
+ targetAddressPrompt: '输入您要恢复的目标公共地址 [可选,按 Enter 跳过]:',
753
+ chooseThreadMode: '选择执行模式:',
754
+ threadModeSingle: '单线程 (1核)',
755
+ threadModeMulti: '多线程 (并行多核)',
756
+ threadCountPrompt: '选择 CPU 线程数 (1 到 {0}):',
757
+ threadsStarted: '正在启动并行的 {0} 个工作线程扫描...',
758
+ invalidAddress: '地址无效',
759
+ addConstraintsPrompt: '您是否有关于正确或错误位置的附加信息(限制条件)以加速搜索?',
760
+ addConstraintType: '要添加的限制条件类型:',
761
+ constraintTypeOK: '知道某个单词的精确位置 (OK)',
762
+ constraintTypeNOK: '知道某个单词不在某个位置 (NOK)',
763
+ constraintTypeDONE: '完成并开始搜索',
764
+ constraintSlotPrompt: '输入单词对应的位置 (1 到 {0}):',
765
+ invalidSlot: '位置无效',
766
+ constraintWordPrompt: '输入相关单词:',
767
+ wordNotInDict: '词典中未识别该单词',
768
+ addAnotherConstraint: '您想添加另一个限制条件吗?',
769
+ speedSimHeader: ' ⚡ 余额查询速度模拟器 ⚡',
770
+ speedSimTotalCombos: '要生成的助记词组合总数: {0}',
771
+ speedSimTimeEst: '查询所有助记词余额的估计时间:',
772
+ speedSimPublic: '• 通过公共 URL/API(估计 50ms/次): ',
773
+ speedSimLocal: '• 通过本地 RPC 节点(估计 0.1ms/次): ',
774
+ speedSimNote: '\n注意:强烈推荐使用本地 RPC 节点(全节点)进行大规模批量查询,\n这可将执行时间缩短多达 500 倍。',
775
+ prepEngineTitle: ' 正在准备优化的恢复搜索引擎...',
776
+ prepFormat: '助记词格式: {0}',
777
+ prepWallet: '钱包配置: {0}',
778
+ prepYear: '钱包年份: {0}',
779
+ prepPattern: '派生模式: {0}',
780
+ prepCoin: '区块链: {0}',
781
+ prepTargetAddr: '目标地址: {0}',
782
+ prepWords: '单词: {0}',
783
+ progressBarFormat: '恢复进度 [{bar}] {percentage}% | 剩余时间: {eta}s | {value}/{total} 组 | 速度: {speed} 组/秒',
784
+ permutingWarning: '⚠️ 警告: 完全打乱排列 {0} 个单词将生成超过 {1} 种组合,这可能需要数小时或数天。您仍要继续吗?',
785
+ permutingCancelled: '用户取消了操作。',
786
+ searchError: '\n❌ 恢复搜索过程中出错: {0}',
787
+ endExecutionTitle: ' 执行结束 - 处理已完成',
788
+ elapsedTime: '耗时: {0} 秒',
789
+ testedSeeds: '已测试助记词组数: {0}',
790
+ averageSpeed: '平均速度: {0} 组/秒',
791
+ totalChecksumPassed: '通过校验和(Checksum BIP-39)的有效助记词组数: {0}',
792
+ reportTitle: ' 助记词恢复报告 - CRYPTOSEEDRECOVERY',
793
+ reportDateTime: '日期/时间: {0}',
794
+ reportWallet: '钱包配置: {0}',
795
+ reportYear: '创建年份: {0}',
796
+ reportBlockchain: '目标区块链: {0}',
797
+ reportDerivation: '派生模式: {0}',
798
+ reportTested: '已测试组数: {0}',
799
+ reportChecksumValid: '校验和通过组数: {0}',
800
+ reportSearchTime: '搜索耗时: {0} 秒',
801
+ reportEstSpeedHeader: '余额查询速度估计:',
802
+ reportEstPublic: '• 通过公共 URL/API (50ms/次): {0}',
803
+ reportEstLocal: '• 通过本地 RPC 节点 (0.1ms/次): {0}',
804
+ reportExactCompatibleHeader: '找到完全兼容的精确助记词:',
805
+ reportOptionIdx: '[选项 #{0}] => {1}',
806
+ reportNoneFound: '在搜索空间中未找到对应相同地址的助记词。',
807
+ reportAssembledHeader: '有效组装的助记词列表及其派生地址:',
808
+ reportAssembledItem: '[助记词 #{0}] {1} \n -> 派生地址: {2}',
809
+ reportMoreOmitted: '\n... 为节省空间,省略了另外 {0} 组有效助记词。',
810
+ reportFooterSafe: '请将此信息妥善保管在安全的地方。切勿与任何人分享您的私钥。',
811
+ successFound: '\n🎉 成功!已找到一组或多组有效的助记词!\n',
812
+ noneFound: '\n❌ 未找到对应相同地址的助记词。',
813
+ noneFoundDica1: '提示:请检查目标地址和选择的钱包配置是否正确。',
814
+ noneFoundDica2: '提示:所有生成的校验和通过的有效助记词已写入恢复报告,您可以检查这些派生地址。',
815
+ reportSaved: '\n💾 完整报告已成功写入: {0}',
816
+ typoTitle: '\n⚠️ 位置 {1} 处的单词 "{0}" 不在词典中。',
817
+ typoPrefixCoincidence: ' 应用前缀回退(“吃字母”)。匹配的前缀: "{0}"',
818
+ typoDistanceCoincidence: ' 应用基于键盘相邻键和 Levenshtein 编辑距离的模糊匹配。',
819
+ typoChoicePrompt: '您在位置 {0} 处的意思是?',
820
+ typoChoiceLost: '视为丢失/未知单词(逐个测试 1 比 1)',
821
+ typoChoiceManual: '手动输入另一个单词',
822
+ typoChoiceKeep: '保持输入(忽略)',
823
+ typoManualPrompt: '输入正确的单词:',
824
+ typoManualInvalid: '单词 "{0}" 同样无效。视为未知(逐个测试 1 比 1)。',
825
+ typoNoPrefix: '\n⚠️ 位置 {1} 处的单词 "{0}" 在词典中没有兼容的匹配前缀。',
826
+ typoNoPrefixSub: ' 自动替换为 "*" 以逐个测试词典中的所有单词 1 比 1。',
827
+ helpTitle: '命令行帮助手册',
828
+ helpUsage: '用法:',
829
+ helpArguments: '参数:',
830
+ helpOptHelp: '显示此帮助屏幕。',
831
+ helpOptInfo: '显示区块链详细信息、历史年份和钱包钱包兼容性。',
832
+ helpWizard: '默认交互式向导:',
833
+ helpWizardDesc: '不带参数运行 cryptoseed 启动分步向导。',
834
+ helpDev: '在 b2 wallet 生态系统下开发 (better2better, diegooris)。',
835
+ infoTitle: '信息与加密历史手册',
836
+ infoTimelines: '📅 区块链时间线与里程碑',
837
+ infoEra1: '• 2010年或更早 (中本聪创世时代):',
838
+ infoEra1Desc: '助记词种子当时不存在。钱包将私钥存储在 wallet.dat 二进制文件中。',
839
+ infoEra2: '• 2011 - 2014 (种子发明):',
840
+ infoEra2Desc: 'Electrum 在2011年发明了12个单词的诗意种子。在2013年,BIP-39标准统一了助记词短语。',
841
+ infoEra3: '• 2015 - 2019 (过渡与扩张):',
842
+ infoEra3Desc: '以太坊于2015年启动 (BIP-44 m/44\'/60\'/0\'/0/index)。比特币 SegWit BIP-49 Nested (以3开头) 于2017年启用。',
843
+ infoEra4: '• 2020 - 现在 (现代 SegWit 与多链 B2 钱包):',
844
+ infoEra4Desc: '原生 SegWit BIP-84 (bc1q) 标准。先进的 B2 钱包自定义多链衍生。',
845
+ infoSupported: '⛓️ 支持的区块链和兼容性',
846
+ infoBTC: '• 比特币 (BTC): BIP-84 (原生 SegWit), BIP-49 (嵌套), BIP-44 (传统), BIP-86 (Taproot) 以及 Electrum 诗意种子。',
847
+ infoEVM: '• EVM (11个网络): 以太坊 (ETH), BNB Chain (BNB), Polygon (MATIC), Arbitrum (ARB), Optimism (OP), Avalanche (AVAX), Base, Fantom (FTM), Gnosis 等。',
848
+ infoWaves: '• Waves (WAVES): m/44\'/5741564\'/0\'/0/index 上的自定义前缀,采用 BLAKE2b-256 + Keccak-256 算法。',
849
+ infoSol: '• Solana (SOL): Phantom 路径 (m/44\'/501\'/0\'/0\') 和 Sollet Legacy 路径。',
850
+ infoOthers: '• UTXO 分叉及其他: 莱特币 (LTC), 狗狗币 (DOGE), 比特币现金 (BCH), 达世币 (DASH), 大零币 (ZEC), 门罗币 (XMR), 瑞波币 (XRP), 恒星币 (XLM), 艾达币 (ADA), 波卡 (DOT), 草间币 (KSM), 泰佐斯 (XTZ), 阿尔格兰德 (ALGO), Near, Sui, Aptos。',
851
+ infoFeatured: '👜 特色钱包',
852
+ infoB2Wallet: '• B2 Wallet: Diego Oris 推出的 Better2Better 官方多链钱包。',
853
+ infoMeta: '• MetaMask / Rabby: EVM 的绝对标准。',
854
+ infoHardware: '• Ledger / Trezor / Trust Wallet / Phantom: 流行的软件和硬件钱包配置文件。',
855
+ algoLangOnly: 'Algorand 协议规定标准助记词必须使用英文 BIP-39 单词列表。',
856
+ adaByronLangOnly: 'Cardano 遗留纸钱包(Byron 时代)必须使用英文 BIP-39 单词列表。',
857
+ legacyYearLangWarning: '历史说明:2011年至2014年之间创建的钱包几乎全部使用英文(BIP-39于2013年底最终确定)。强烈建议选择英文。',
858
+ electrumLangOnly: 'Legacy Electrum v1 助记词必须使用经典英文诗歌单词列表。',
859
+ autoSelectedLang: '由于协议限制,自动选择语言:{0}',
860
+ helpCommandCreate: ' -c, --create 启动交互式向导以生成助记词并派生密钥。',
861
+ createSeedTitle: '安全助记词生成与派生向导',
862
+ chooseWordCount: '选择 BIP-39 助记词的单词数:',
863
+ generatingSeed: '🔐 正在生成加密安全的助记词...',
864
+ generatedSeedHeader: '助记词生成成功(警告:切勿分享此短语!):',
865
+ derivingAddress: '⚙️ 正在确定性地派生公钥地址...',
866
+ derivedAddressResult: '派生的公钥地址 (索引 0):',
867
+ derivationPathLabel: '使用的派生路径:',
868
+ typoChoicePrefixCandidates: '仅使用匹配的前缀候选词进行测试',
869
+ queryBalancesPrompt: '您想获取生成的地址的在线余额吗?',
870
+ queryConnectionType: '选择余额查询的连接类型:',
871
+ connectionPublic: '使用区块链推荐的公共 URL',
872
+ connectionPrivate: '使用私有连接 (localhost 或自定义节点)',
873
+ privateRpcPrompt: '输入私有节点 URL (按回车键使用默认的 localhost: {0}):',
874
+ chooseEvmChain: '选择您要查询的 EVM 区块链网络:',
875
+ rateLimitError: '⚠️ 警告:公共 URL 上的请求限制已超出或连接失败!',
876
+ rateLimitTitle: '您想做什么?',
877
+ rateLimitCustom: '输入付费 API URL (Infura, Alchemy 等)',
878
+ rateLimitLocal: '使用本地节点 (localhost)',
879
+ rateLimitSkip: '跳过余额检查并完成恢复',
880
+ customNodePrompt: '输入付费节点的完整 URL (例如 Infura/Alchemy):',
881
+ fetchingBalance: '正在获取 {0} 的余额...',
882
+ balanceResult: '地址: {0} | 余额: {1}',
883
+ backChoice: '< 返回上一步',
884
+ backInputHint: '(输入 "back" 返回上一步)',
885
+ yes: '是 (Yes)',
886
+ no: '否 (No)',
887
+ complexityConfirmYes: '是的,我知晓并希望继续',
888
+ complexityConfirmNo: '不,取消并退出',
889
+ confirmStartSearch: '您要现在开始搜索吗?',
890
+ menuChooseAction: '请选择您要执行的操作:',
891
+ actionRecover: '🛡️ 恢复/还原丢失或损坏的现有助记词',
892
+ actionCreate: '🔑 生成新的安全助记词并派生公钥地址',
893
+ seedGeneratedFileSaved: '📝 生成的助记词已成功保存至:{0}',
894
+ generatedSeedReportHeader: '安全生成的助记词报告'
895
+ },
896
+ ja: {
897
+ headerTitle: 'シード復元ユーティリティ',
898
+ headerIntegration: 'B2 Wallet およびエコシステム公式統合',
899
+ headerLead: 'テックリードの監督の下で開発:',
900
+ chooseFormat: '回復シードのフォーマットを選択してください:',
901
+ formatBip39: 'BIP-39 (現代の標準 - MetaMask, Trust Wallet, B2 Wallet)',
902
+ formatElectrum: 'Electrum v1 ポエティック (2014年以前のレガシー)',
903
+ chooseLang: 'BIP-39 辞書の言語を選択してください:',
904
+ chooseYear: 'ウォレットが作成されたおおよその年を選択してください:',
905
+ yearModern: '2020年から現在 (極めて現代的なパスとアドレスの標準)',
906
+ yearMiddle: '2015年から2019年の間 (移行期、中間パス / Nested SegWit)',
907
+ yearLegacy: '2011年から2014年の間 (シードの始まり、Electrum v1, BIP-39)',
908
+ yearGenesis: '2010年以前 (サトシ・ジェネシス時代 - 決定論的シードなし / wallet.dat)',
909
+ satoshiTitle: '歴史的な好奇心とイースターエッグ:サトシ時代 (2009 - 2010)',
910
+ satoshiDesc1: '2010年以前を選択されました。当時、ニーモニックシードは存在しなかったことをご存知ですか?',
911
+ satoshiHowWorked: '2009年から2010年のウォレットの仕組み:',
912
+ satoshiPoint1: 'サトシ・ナカモトのオリジナルソフトウェア (Bitcoin-Qt) は、完全に独立したランダムな秘密鍵を生成していました(非決定論的)。',
913
+ satoshiPoint2: 'これらの秘密鍵は wallet.dat というバイナリファイルに保存されていました。',
914
+ satoshiPoint3: 'バックアップを作成した後、新たに100以上のアドレスを生成した場合、新しい鍵がそこに含まれていないため、古いバックアップは役に立たなくなりました。',
915
+ satoshiPoint4: 'したがって、このジェネシス時代に作成されたウォレットを回復できる12単語または24単語の回復フレーズは存在しません。',
916
+ satoshiInvention: '決定論的シードの発明:',
917
+ satoshiInventionPoint1: '2011年:Electrum が最初のシードシステム(12単語の詩的な言葉)を作成しました。',
918
+ satoshiInventionPoint2: '2013年:BIP-39 標準が正式に採用され、ほぼすべてのネットワークの鍵生成が統一されました。',
919
+ satoshiWhatToDo: 'あなたがすべきこと:',
920
+ satoshiWhatToDoPoint1: 'この時代の資金が本当にある場合は、回復ワードフレーズではなく、オリジナルの wallet.dat ファイルを探す必要があります。',
921
+ chooseBlockchain: '紛失した資金のブロックチェーン / 暗号資産を選択してください:',
922
+ chooseWallet: '使用したオリジナルのウォレットプロファイルを選択してください:',
923
+ walletB2: 'B2 Wallet (最高のマルチチェーン互換性, Diego Oris / Better2Better)',
924
+ walletMeta: 'MetaMask / Rabby (EVM の絶対的な標準)',
925
+ walletTrust: 'Trust Wallet (モバイル形式)',
926
+ walletLedger: 'Ledger (ハードウェアウォレット)',
927
+ walletTrezor: 'Trezor (ハードウェアウォレット)',
928
+ walletPhantom: 'Phantom Wallet (Solana 標準)',
929
+ walletYoroi: 'Yoroi / Daedalus (Cardano 公式ウォレット)',
930
+ choosePatternBTC: '希望するビットコインアドレス形式 (導出パス) を選択してください:',
931
+ btcSegwit: 'Native SegWit - BIP-84 ("bc1q" で始まる - 推奨されるモダン形式)',
932
+ btcNested: 'Nested SegWit - BIP-49 ("3" で始まる - 移行形式)',
933
+ btcLegacy: 'Legacy - BIP-44 ("1" で始まる - 古いレガシー形式)',
934
+ btcTaproot: 'Taproot - BIP-86 ("bc1p" で始まる - 最新世代)',
935
+ choosePatternLTC: 'ライトコインのアドレス形式を選択してください:',
936
+ ltcSegwit: 'Native SegWit - BIP-84 ("ltc1" で始まる - 推奨されるモダン形式)',
937
+ ltcLegacy: 'Legacy - BIP-44 ("L" で始まる - 古いレガシー形式)',
938
+ choosePatternSOL: 'Solana の導出パス標準を選択してください:',
939
+ solPhantom: 'Phantom Standard (m/44\'/501\'/0\'/0\' - 推奨)',
940
+ solSollet: 'Sollet / Legacy (m/44\'/501\'/0\'/0/0 - 古いウォレット)',
941
+ choosePatternADA: 'Cardano のアドレス世代を選択してください:',
942
+ adaShelley: 'Shelley - モダン世代 ("addr" で始まる - 推奨)',
943
+ adaByron: 'Byron - 古いレガシー世代',
944
+ chooseMode: '検索モード (回復エンジン) を選択してください:',
945
+ mode1: 'モード 1: ワイルドカード付きの固定順序 (例: "bo* * out ...")',
946
+ mode2: 'モード 2: ワイルドカード付きの並べ替えられた単語 (部分的並べ替え)',
947
+ mode3: 'モード 3: 完全に並べ替えられた単語 (完全並べ替え)',
948
+ mode4: 'モード 4: トータルデスクランブラー (物理的なすべての順列をテスト)',
949
+ guidanceTitle: '💡 重要なヒント: ',
950
+ guidanceBody: 'シードの単語を思い出せない場合は、スキップしたり空白のままにしたりしないでください!代わりに適当な単語や推測を入力してください(例:「engino」や「xxxxx」)。\n検索エンジンは接頭辞のフォールバック(「文字を食べる」)を使用して正しい単語を推測するか、一致する接頭辞がない場合は辞書のすべての単語を1つずつテストします。\n\n',
951
+ inputMsgMode1: '正しい順序でシードを入力してください(スペース区切り)。完全に紛失した単語には「*」を使用するか、推測(例:「engino」)を入力します:',
952
+ inputMsgMode2: '並べ替えられたシードを入力してください(スペース区切り)。ワイルドカードや推測があればそれも含めます(例: "love time engino"):',
953
+ inputMsgMode3: 'スペースで区切られた既知の単語または推測の正確なリストを入力してください:',
954
+ validateMinWords: '少なくとも 4 単語を入力する必要があります',
955
+ validatingSpell: '\n🔍 入力された単語のスペルを確認中...',
956
+ spellValidated: '✔️ スペルの検証が完了しました: [ {0} ]\n',
957
+ complexityTitle: ' ⚠️ 数学的複雑さ / 時間的な実行不可能性の警告 ⚠️',
958
+ complexityWarn: 'シードの単語を {0} 個思い出せないと指定されました。',
959
+ complexityBeAware: '必要な時間と複雑さについてご注意ください:\n',
960
+ complexity24Seeds: 'BIP-39 のリスト(2048単語)を使用した 24単語のシードの場合:',
961
+ complexity1Word: ' 不明な単語 1 つ: 最大 2,048 通りの組み合わせ。',
962
+ complexity2Words: ' 不明な単語 2 つ: 最大 2,048² = 4,194,304 通りの組み合わせ。',
963
+ complexity3Words: ' 不明な単語 3 つ: 最大 2,048³ ≈ 85億9000万通りの組み合わせ。',
964
+ complexity4Words: ' 不明な単語 4 つ: 最大 17兆5900億通りの組み合わせ。',
965
+ complexity5Words: ' 不明な単語 5 つ: 約 3.6 京(けい)通りの組み合わせ。\n',
966
+ complexityInPractice: '実用上:',
967
+ complexityPractice1: ' 1 単語: 通常、完全に実行可能です。',
968
+ complexityPractice2: ' 2 単語: 優れたコンピュータと最適化されたソフトウェアを使用すれば、まだ実行可能です。',
969
+ complexityPractice3: ' 3 単語: 非常に重いレベルに入ります。特定のシナリオでは実現可能かもしれませんが、もはや単純ではありません。',
970
+ complexityPractice4: ' 4 単語以上: 実用的ではなくなり、数学的に不可能です。\n',
971
+ complexityChecksumNote: ' BIP-39 シードにはチェックサムが組み込まれています。これは、キーを導出して残高を確認する前に、ほとんどの可能な組み合わせを破棄できることを意味します。24単語のシードでは、検証を通過するのは約 256 分の 1 の組み合わせのみです。',
972
+ complexityProceedConfirm: '検索が数学的に不可能で、非常に長い時間がかかる可能性があることを承知の上で進めますか?',
973
+ complexityCancelled: '\n❌ ユーザーによって操作がキャンセルされました。メインメニューに戻ります...',
974
+ targetAddressPrompt: '回復したいターゲットの公開アドレスを入力してください [任意、Enterキーでスキップ]:',
975
+ chooseThreadMode: '実行モードを選択してください:',
976
+ threadModeSingle: 'シングルスレッド (1コア)',
977
+ threadModeMulti: 'マルチスレッド (並列コア)',
978
+ threadCountPrompt: 'CPUスレッド数を選択してください (1 から {0}):',
979
+ threadsStarted: '{0}個のワーカースレッドで並列スキャンを開始しています...',
980
+ invalidAddress: '無効なアドレス',
981
+ addConstraintsPrompt: '検索を高速化するために、正しい位置または誤った位置に関する追加情報(制約)はありますか?',
982
+ addConstraintType: '追加する制約のタイプ:',
983
+ constraintTypeOK: '単語の正確な位置を知っている (OK)',
984
+ constraintTypeNOK: '単語がその位置にないことを知っている (NOK)',
985
+ constraintTypeDONE: '完了して検索を開始',
986
+ constraintSlotPrompt: '単語に対応する位置を入力してください (1 から {0}):',
987
+ invalidSlot: '無効な位置',
988
+ constraintWordPrompt: '関連する単語を入力してください:',
989
+ wordNotInDict: '辞書で認識されない単語です',
990
+ addAnotherConstraint: '別の制約を追加しますか?',
991
+ speedSimHeader: ' ⚡ 残高照会速度シミュレータ ⚡',
992
+ speedSimTotalCombos: '生成するシード組み合わせの総数: {0}',
993
+ speedSimTimeEst: 'すべてのシードの残高を照会する推定時間:',
994
+ speedSimPublic: '• パブリック URL/API経由 (推 50ms/req): ',
995
+ speedSimLocal: '• ローカル RPC ノード経由 (推 0.1ms/req): ',
996
+ speedSimNote: '\n注意: 大規模なバッチクエリには、ローカル RPC ノード(フルノード)の\n使用を強く推奨します。実行時間を最大 500倍削減できます。',
997
+ prepEngineTitle: ' 最適化された回復検索エンジンを準備中...',
998
+ prepFormat: 'シード形式: {0}',
999
+ prepWallet: 'ウォレット: {0}',
1000
+ prepYear: '作成年: {0}',
1001
+ prepPattern: '導出パターン: {0}',
1002
+ prepCoin: 'ブロックチェーン: {0}',
1003
+ prepTargetAddr: '対象アドレス: {0}',
1004
+ prepWords: '単語: {0}',
1005
+ progressBarFormat: '復元中 [{bar}] {percentage}% | 残り時間: {eta}s | {value}/{total} 組 | 速度: {speed} 組/秒',
1006
+ permutingWarning: '⚠️ 警告: {0} 単語を完全に並べ替えると {1} 通り以上の組み合わせが生成され、数時間または数日かかる場合があります。それでも進めますか?',
1007
+ permutingCancelled: 'ユーザーによって操作がキャンセルされました。',
1008
+ searchError: '\n❌ 回復検索中にエラーが発生しました: {0}',
1009
+ endExecutionTitle: ' 実行終了 - 処理が完了しました',
1010
+ elapsedTime: '経過時間: {0} 秒',
1011
+ testedSeeds: 'テストされたシード数: {0}',
1012
+ averageSpeed: '平均速度: {0} 組/秒',
1013
+ totalChecksumPassed: '組み立てられた有効なシード(BIP-39 チェックサム OK)の総数: {0}',
1014
+ reportTitle: ' シード回復レポート - CRYPTOSEEDRECOVERY',
1015
+ reportDateTime: '日時: {0}',
1016
+ reportWallet: 'ウォレットプロファイル: {0}',
1017
+ reportYear: '作成年: {0}',
1018
+ reportBlockchain: '対象ブロックチェーン: {0}',
1019
+ reportDerivation: '導出パターン: {0}',
1020
+ reportTested: 'テストされたシード数: {0}',
1021
+ reportChecksumValid: 'チェックサムが有効なシード数: {0}',
1022
+ reportSearchTime: '検索時間: {0} 秒',
1023
+ reportEstSpeedHeader: '残高照会速度の推定:',
1024
+ reportEstPublic: '• パブリック URL/API経由 (50ms/req): {0}',
1025
+ reportEstLocal: '• ローカル RPC ノード経由 (0.1ms/req): {0}',
1026
+ reportExactCompatibleHeader: '見つかった完全に互換性のあるシード:',
1027
+ reportOptionIdx: '[オプション #{0}] => {1}',
1028
+ reportNoneFound: '検索スペース内に同一のアドレスを持つ対応するシードは見つかりませんでした。',
1029
+ reportAssembledHeader: '組み立てられた有効なシードと導出アドレスのリスト:',
1030
+ reportAssembledItem: '[シード #{0}] {1} \n -> 導出アドレス: {2}',
1031
+ reportMoreOmitted: '\n... スペースを節約するため、他に {0} 個の有効なシードを省略しました。',
1032
+ reportFooterSafe: 'この情報は安全な場所に保管してください。秘密鍵は絶対に誰にも共有しないでください。',
1033
+ successFound: '\n🎉 成功! 1つ以上の有効なシードが見つかりました!\n',
1034
+ noneFound: '\n❌ 同一アドレスのシードは見つかりませんでした。',
1035
+ noneFoundDica1: 'ヒント: 対象アドレスと選択したウォレットプロファイルが正しいか確認してください。',
1036
+ noneFoundDica2: 'ヒント: チェックサム OK の生成されたすべての有効なシードは回復レポートに書き込まれており、導出アドレスを確認できます。',
1037
+ reportSaved: '\n💾 完全なレポートが正常に書き込まれました: {0}',
1038
+ typoTitle: '\n⚠️ 位置 {1} の単語「{0}」は辞書にありません。',
1039
+ typoPrefixCoincidence: ' 接頭辞フォールバック(「文字を食べる」)を適用中。一致する接頭辞: 「{0}」',
1040
+ typoDistanceCoincidence: ' キーボードのキー近接性および Levenshtein 編集距離によるフォールバック検索を適用中。',
1041
+ typoChoicePrompt: '位置 {0} はどういう意味でしたか?',
1042
+ typoChoiceLost: '紛失した単語として処理する(すべて1つずつテスト)',
1043
+ typoChoiceManual: '別の単語を手動で入力する',
1044
+ typoChoiceKeep: '入力された通りにする(無視する)',
1045
+ typoManualPrompt: '正しい単語を入力してください:',
1046
+ typoManualInvalid: '単語「{0}」も無効です。不明な単語として処理します(1つずつテスト)。',
1047
+ typoNoPrefix: '\n⚠️ 位置 {1} の単語「{0}」には、辞書に互換性のある一致接頭辞がありません。',
1048
+ typoNoPrefixSub: ' 自動的に「*」に置き換えて、辞書のすべての単語を1つずつテストします。',
1049
+ helpTitle: 'CLIヘルプマニュアル',
1050
+ helpUsage: '使用法:',
1051
+ helpArguments: '引数:',
1052
+ helpOptHelp: 'このヘルプ画面を表示します。',
1053
+ helpOptInfo: 'ブロックチェーンの詳細、履歴、ウォレットの互換性を表示します。',
1054
+ helpWizard: 'デフォルトのインタラクティブウィザード:',
1055
+ helpWizardDesc: '引数なしで cryptoseed を実行して、ステップバイステップのウィザードを開始します。',
1056
+ helpDev: 'b2 wallet エコシステムの下で開発されました (better2better, diegooris)。',
1057
+ infoTitle: '情報と暗号歴史マニュアル',
1058
+ infoTimelines: '📅 ブロックチェーンのタイムラインとマイルストーン',
1059
+ infoEra1: '• 2010年以前 (サトシ・ジェネシス時代):',
1060
+ infoEra1Desc: 'ニーモニックシードは存在しませんでした。ウォレットは秘密鍵をバイナリファイル wallet.dat に保存していました。',
1061
+ infoEra2: '• 2011 - 2014 (シードの発明):',
1062
+ infoEra2Desc: 'Electrumは2011年に12語의詩的なシードを発明しました。2013年に、BIP-39規格がシードフレーズを統一します。',
1063
+ infoEra3: '• 2015 - 2019 (移行と拡大):',
1064
+ infoEra3Desc: 'イーサリアムは2015年にローンチされました (BIP-44 m/44\'/60\'/0\'/0/index)。ビットコイン SegWit BIP-49 Nested (3で始まる) は2017年に開始されました。',
1065
+ infoEra4: '• 2020 - 現在 (モダン SegWit とマルチチェーン B2 ウォレット):',
1066
+ infoEra4Desc: 'ネイティブ SegWit BIP-84 (bc1q) 規格。高度な B2 ウォレットカスタムマルチチェーン派生。',
1067
+ infoSupported: '⛓️ サポートされているブロックチェーンと互換性',
1068
+ infoBTC: '• ビットコイン (BTC): BIP-84 (ネイティブ SegWit), BIP-49 (ネストされた), BIP-44 (レガシー), BIP-86 (Taproot)、および Electrum Poetic。',
1069
+ infoEVM: '• EVM (11ネットワーク): イーサリアム (ETH), BNBチェーン (BNB), ポリゴン (MATIC), アービトラム (ARB), オプティミズム (OP), アバランチ (AVAX), ベース, ファントム (FTM), グノーシスなど。',
1070
+ infoWaves: '• Waves (WAVES): m/44\'/5741564\'/0\'/0/index 上のカスタムプレフィックスを持つ BLAKE2b-256 + Keccak-256。',
1071
+ infoSol: '• ソラナ (SOL): Phantom パス (m/44\'/501\'/0\'/0\') および Sollet レガシー。',
1072
+ infoOthers: '• UTXOフォークおよびその他: ライトコイン (LTC), ドージコイン (DOGE), ビットコインキャッシュ (BCH), ダッシュ (DASH), ジーキャッシュ (ZEC), モネロ (XMR), リップル (XRP), ステラ (XLM), カルダノ (ADA), ポルカドット (DOT), クサマ (KSM), テゾス (XTZ), アルゴランド (ALGO), Near, Sui, Aptos。',
1073
+ infoFeatured: '👜 注目のウォレット',
1074
+ infoB2Wallet: '• B2 Wallet: Diego Oris による Better2Better の公式マルチチェーンウォレット。',
1075
+ infoMeta: '• MetaMask / Rabby: EVMの絶対規格。',
1076
+ infoHardware: '• Ledger / Trezor / Trust Wallet / Phantom: 人気のあるソフトウェアおよびハードウェアウォレットのプロファイル。',
1077
+ algoLangOnly: 'Algorandプロトコルは、標準のニーモニックが英語のBIP-39ワードリストを使用することを義務付けています。',
1078
+ adaByronLangOnly: 'Cardanoレガシーペーパーウォレット(Byron時代)は、英語のBIP-39ワードリストを強制的に使用します。',
1079
+ legacyYearLangWarning: '歴史的注意:2011年から2014年の間に作成されたウォレットは、ほぼ排他的に英語を使用していました(BIP-39は2013年末に公式化されました)。英語を強くお勧めします。',
1080
+ electrumLangOnly: 'レガシーのElectrum v1ニーモニックは、英語の古典的な詩的ワードリストを強制的に使用します。',
1081
+ autoSelectedLang: 'プロトコルの制限により自動的に選択された言語: {0}',
1082
+ helpCommandCreate: ' -c, --create シードを生成してキーを導出するための対話型ウィザードを開始します。',
1083
+ createSeedTitle: '安全なシード生成およびキー導出ウィザード',
1084
+ chooseWordCount: 'BIP-39シードの単語数を選択してください:',
1085
+ generatingSeed: '🔐 暗号的に安全なシードを生成しています...',
1086
+ generatedSeedHeader: 'シードの生成に成功しました(注意:このフレーズは決して共有しないでください!):',
1087
+ derivingAddress: '⚙️ 決定論的に公開アドレスを導出しています...',
1088
+ derivedAddressResult: '導出された公開アドレス(インデックス0):',
1089
+ derivationPathLabel: '使用された導出パス:',
1090
+ typoChoicePrefixCandidates: '一致した接頭辞候補ワードのみでテストする',
1091
+ queryBalancesPrompt: '生成されたアドレスのオンライン残高を取得しますか?',
1092
+ queryConnectionType: '残高照会の接続タイプを選択してください:',
1093
+ connectionPublic: 'ブロックチェーン推奨のパブリック URL を使用する',
1094
+ connectionPrivate: 'プライベート接続を使用する(localhost またはカスタムノード)',
1095
+ privateRpcPrompt: 'プライベートノードの URL を入力してください(Enterキーを押すとデフォルトの localhost: {0} が使用されます):',
1096
+ chooseEvmChain: 'クエリする EVM ブロックチェーンネットワークを選択してください:',
1097
+ rateLimitError: '⚠️ 警告:パブリック URL でのリクエスト制限を超えたか、接続に失敗しました!',
1098
+ rateLimitTitle: 'どうしますか?',
1099
+ rateLimitCustom: '契約済みの API URL(Infura、Alchemy など)を入力する',
1100
+ rateLimitLocal: 'ローカルノード(localhost)を使用する',
1101
+ rateLimitSkip: '残高確認をスキップして回復を完了する',
1102
+ customNodePrompt: '契約済みノードの完全な URL を入力してください(例:Infura/Alchemy):',
1103
+ fetchingBalance: '{0} の残高を取得中...',
1104
+ balanceResult: 'アドレス: {0} | 残高: {1}',
1105
+ backChoice: '< 前のステップに戻る',
1106
+ backInputHint: '(「back」と入力すると前のステップに戻ります)',
1107
+ yes: 'はい (Yes)',
1108
+ no: 'いいえ (No)',
1109
+ complexityConfirmYes: 'はい、承知の上で進めます',
1110
+ complexityConfirmNo: 'いいえ、キャンセルして終了します',
1111
+ confirmStartSearch: '今すぐ検索を開始しますか?',
1112
+ menuChooseAction: '実行するアクションを選択してください:',
1113
+ actionRecover: '🛡️ 紛失または破損した既存のシードの回復・復元',
1114
+ actionCreate: '🔑 新しい安全なシードの生成とパブリックアドレスの導出',
1115
+ seedGeneratedFileSaved: '📝 生成されたシードは正常に保存されました:{0}',
1116
+ generatedSeedReportHeader: '生成された安全なシードレポート'
1117
+ }
1118
+ };
1119
+
1120
+ module.exports = LOCALES;