From 17acf5ec80a0c0b0acc44a6a8373e154c68d4748 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 24 Jun 2026 08:59:31 -0700 Subject: Split translations into per-language files, lazy-loaded Only English is bundled in index.html now; the other 19 languages are emitted as dist/locales/.json and fetched on demand when a visitor actually uses one (via auto-detect, the picker, or ?lang=xx). This drops index.html from ~511KB to ~318KB; a non-English visitor fetches just their one ~8-10KB locale, which the service worker then caches for offline use. t() falls back to English until a locale resolves. - i18n.js keeps only en + a loadLocale() fetcher; locale data moved to src/locales/*.json. - build.js emits dist/locales/; dev.js serves /locales/.json. - Deploy hook publishes the locales/ subdir. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/locales/te.json | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 src/locales/te.json (limited to 'src/locales/te.json') diff --git a/src/locales/te.json b/src/locales/te.json new file mode 100644 index 0000000..fc2b2d0 --- /dev/null +++ b/src/locales/te.json @@ -0,0 +1,145 @@ +{ + "passphrase": "పాస్‌ఫ్రేజ్", + "howItWorks": "ఇది ఎలా పనిచేస్తుంది", + "installApp": "యాప్‌ను ఇన్‌స్టాల్ చేయండి", + "hiwBasicsTitle": "ప్రాథమిక అంశాలు", + "hiwBasics1": "మీరు వాలెట్ సృష్టించినప్పుడు, ఈ పేజీ పన్నెండు యాదృచ్ఛిక పదాలను రూపొందిస్తుంది. ఆ పదాలే మీ వాలెట్‌కు తాళంచెవి. వాటిని కలిగి ఉన్న ఎవరైనా కాయిన్‌లను ఖర్చు చేయగలరు, కాబట్టి వాటిని కాగితంపై రాసి, మీకు మాత్రమే అందుబాటులో ఉండే చోట భద్రపరచండి.", + "hiwBasics2": "ఆ పన్నెండు పదాలను కోల్పోయి, బ్యాకప్ లేకపోతే, కాయిన్‌లు శాశ్వతంగా పోతాయి. రీసెట్ లింక్ ఉండదు, ఫోన్ చేయడానికి ఎవరూ ఉండరు, కాబట్టి డబ్బు వేయడానికి ముందే వాటిని బ్యాకప్ చేయండి.", + "hiwBasics3": "సర్వర్ ఉండదు, ఖాతా ఉండదు. మొత్తం యాప్ మీ బ్రౌజర్‌లో నడిచే ఒకే పేజీ, కాబట్టి మీ కాయిన్‌లను ఎవరూ కలిగి ఉండరు, మీ తాళంచెవులను సర్వర్‌లో ఏదీ చూడదు. మీ నిల్వ, చరిత్రను చూపడానికి అది ఒక పబ్లిక్ బ్లాక్ ఎక్స్‌ప్లోరర్ నుండి చదువుతుంది (డిఫాల్ట్‌గా mempool.space, లేదా సెట్టింగ్‌లలో మీరు సెట్ చేస్తే మీ స్వంత నోడ్).", + "hiwBasics4": "మీరు ఈ పేజీని సేవ్ చేసి, అస్సలు ఇంటర్నెట్ లేకుండానే మీ కంప్యూటర్ నుండి నేరుగా తెరవవచ్చు. ఇది ఆఫ్‌లైన్‌లో పనిచేస్తూనే ఉంటుంది.", + "hiwBasics5": "ఇది సాధారణ బిట్‌కాయిన్ ప్రమాణాలను అనుసరిస్తుంది (12-పదాల BIP39 ఫ్రేజ్, BIP84 నేటివ్ SegWit కీలు), కాబట్టి ఈ సైట్ ఎప్పుడైనా అదృశ్యమైతే, మీరు అదే ఫ్రేజ్‌ను Sparrow, Electrum, లేదా ఏదైనా ఇతర ప్రామాణిక వాలెట్‌లో పునరుద్ధరించవచ్చు, మీ కాయిన్‌లు అక్కడే ఉంటాయి.", + "hiwTribute": "Hal Wallet అనే పేరు ప్రఖ్యాత సైఫర్‌పంక్, బిట్‌కాయిన్ మార్గదర్శి Hal Finney (1956–2014)కి నివాళి.", + "signExport": "సంతకం చేసి (వేరే చోట ప్రసారం చేయండి)", + "scanQr": "QR స్కాన్ చేయండి", + "scanHint": "కెమెరాను QR కోడ్‌పై గురిపెట్టండి", + "scanNoCamera": "కెమెరాను యాక్సెస్ చేయలేకపోయాం.", + "scanNoDecoder": "QR స్కానింగ్‌కు మొదటిసారి వాడేటప్పుడు కనెక్షన్ అవసరం.", + "scanUnrecognized": "ఆ QR నుండి బిట్‌కాయిన్ చిరునామాను చదవలేకపోయాం.", + "broadcastScanned": "లావాదేవీని ప్రసారం చేయాలా?", + "broadcastNow": "ప్రసారం చేయండి", + "scanOffline": "మీరు ఆఫ్‌లైన్‌లో ఉన్నారు — ఈ లావాదేవీని ప్రసారం చేయడానికి తిరిగి కనెక్ట్ అవ్వండి.", + "loadingHistory": "లావాదేవీలు లోడ్ అవుతున్నాయి…", + "explorer": "బ్లాక్ ఎక్స్‌ప్లోరర్", + "explorerDesc": "నిల్వలు, చరిత్ర కోసం ఈ వాలెట్ ప్రశ్నించే సర్వర్. గరిష్ట గోప్యత కోసం దీన్ని మీ స్వంత నోడ్‌కు గురిపెట్టండి.", + "explorerUrl": "సర్వర్ URL", + "explorerUrlHint": "Esplora / electrs REST బేస్, ఉదా. https://mempool.space/api", + "deviceSync": "పరికర సమకాలీకరణ", + "deviceSyncDesc": "ఎన్‌క్రిప్ట్ చేసిన కాపీని Nostr రిలేపై నిల్వ చేయడం ద్వారా ఈ వాలెట్‌ను మీ పరికరాల అంతటా సమకాలీకరించండి — మీ సీడ్ ఉన్న పరికరం మాత్రమే దాన్ని చదవగలదు. ప్రతిదీ ఈ పరికరంలోనే ఉంచడానికి దీన్ని ఆఫ్ చేయండి.", + "syncAcross": "పరికరాల అంతటా సమకాలీకరించండి", + "syncOn": "ఆన్", + "syncOff": "ఆఫ్", + "relaysLabel": "రిలేలు", + "relaysHint": "ఒక్కో లైన్‌కు ఒక wss:// URL.", + "home": "హోమ్", + "logout": "లాగౌట్", + "createNew": "కొత్తది సృష్టించు", + "importExisting": "ఉన్నదాన్ని దిగుమతి", + "genIntro": "కొత్త 12-పదాల సీడ్ ఫ్రేజ్ సృష్టించండి. దాన్ని రాసుకోండి. ఈ వాలెట్‌ను తిరిగి పొందడానికి ఇదే ఏకైక మార్గం.", + "generateSeed": "సీడ్ ఫ్రేజ్ సృష్టించు", + "writeDownWarn": "⚠ ఈ 12 పదాలను వరుసగా కాగితంపై రాయండి. ఇవి ఉన్నవారు మీ నాణేలను ఖర్చు చేయగలరు.", + "copyPhrase": "ఫ్రేజ్ కాపీ", + "regenerate": "మళ్లీ సృష్టించు", + "verifyBackup": "బ్యాకప్ ధృవీకరించు", + "skipVerification": "ధృవీకరణ దాటవేయి", + "confirmBackupIntro": "అడిగిన పదాలను నమోదు చేసి మీ బ్యాకప్‌ను ధృవీకరించండి.", + "wordN": "పదం #{n}", + "reenterPassphrase": "పాస్‌ఫ్రేజ్ మళ్లీ నమోదు చేయి", + "back": "← వెనక్కి", + "openWallet": "వాలెట్ తెరువు", + "wordsMismatch": "ఈ పదాలు మీ ఫ్రేజ్‌తో సరిపోలడం లేదు. మీ బ్యాకప్ చూడండి.", + "passphraseMismatch": "ఈ పాస్‌ఫ్రేజ్ మీరు నమోదు చేసినదానితో సరిపోలడం లేదు.", + "seedPhrase": "సీడ్ ఫ్రేజ్", + "seedPlaceholder": "మీ పదాలను ఖాళీలతో వేరు చేసి నమోదు చేయండి", + "optionalPassphrase": "ఐచ్ఛిక పాస్‌ఫ్రేజ్", + "leaveBlank": "వాడకపోతే ఖాళీగా ఉంచండి", + "show": "చూపు", + "hide": "దాచు", + "invalidSeed": "చెల్లని సీడ్ ఫ్రేజ్ — స్పెల్లింగ్, వరుస చూడండి.", + "keysNote": "కీలు మీ బ్రౌజర్‌ను ఎప్పుడూ వదలవు. పూర్తిగా ఆఫ్‌లైన్‌లో పనిచేస్తుంది. ఈ పేజీని సేవ్ చేసి స్థానికంగా తెరవండి.", + "balance": "బ్యాలెన్స్", + "pending": "పెండింగ్", + "tabReceive": "స్వీకరించు", + "tabSend": "పంపు", + "tabHistory": "చరిత్ర", + "tabSettings": "సెట్టింగ్‌లు", + "copyAddress": "చిరునామా కాపీ", + "paymentReceived": "చెల్లింపు అందింది!", + "tapToProceed": "కొనసాగడానికి ఎక్కడైనా నొక్కండి", + "recipient": "గ్రహీత", + "recipients": "గ్రహీతలు", + "max": "గరిష్ఠం", + "feeRate": "ఫీజు", + "feeEconomy": "ఆర్థిక", + "feeNormal": "సాధారణ", + "feePriority": "ప్రాధాన్యం", + "feeCustom": "అనుకూల", + "selectedRate": "ఎంచుకున్న ఫీజు: {n} sat/vB", + "coinSelection": "నాణెం ఎంపిక", + "automatic": "స్వయంచాలక", + "manual": "మాన్యువల్", + "noCoins": "నాణేలు అందుబాటులో లేవు.", + "nSelected": "{n} ఎంచుకోబడ్డాయి", + "addRecipient": "+ గ్రహీతను జోడించు", + "reviewTx": "లావాదేవీ సమీక్ష", + "remove": "తొలగించు", + "enterRecipientAddr": "గ్రహీత చిరునామా నమోదు చేయండి.", + "enterAddrForN": "గ్రహీత {n} చిరునామా నమోదు చేయండి.", + "enterValidAmtForN": "గ్రహీత {n} కోసం సరైన మొత్తాన్ని నమోదు చేయండి.", + "selectCoin": "ఖర్చు చేయడానికి కనీసం ఒక నాణెం ఎంచుకోండి.", + "networkFee": "నెట్‌వర్క్ ఫీజు", + "offlineSignNote": "ఆఫ్‌లైన్: ఇప్పుడే సంతకం చేయండి, తర్వాత ఆన్‌లైన్ పరికరం నుండి లావాదేవీని ప్రసారం చేయండి.", + "signBroadcast": "సంతకం & ప్రసారం", + "signTx": "లావాదేవీపై సంతకం", + "broadcastFailed": "ప్రసారం విఫలం: {msg}", + "signingFailed": "సంతకం విఫలం: {msg}", + "done": "పూర్తయింది", + "txSignedNote": "✓ లావాదేవీపై సంతకం అయింది. కింది కోడ్‌ను ఆన్‌లైన్ పరికరం నుండి ప్రసారం చేయండి (ఉదా. mempool.space → Broadcast).", + "transactionId": "లావాదేవీ ID", + "signedTxRaw": "సంతకం చేసిన లావాదేవీ (కోడ్)", + "copyHex": "కోడ్ కాపీ", + "downloadLabel": "డౌన్‌లోడ్", + "showQrAirgap": "QR చూపు (ఆఫ్‌లైన్ బదిలీ కోసం)", + "txBroadcast": "✓ లావాదేవీ ప్రసారమైంది!", + "copyTxid": "లావాదేవీ ID కాపీ", + "viewOnMempool": "mempool.space లో చూడండి ↗", + "noTxYet": "ఇంకా లావాదేవీలు లేవు.", + "received": "అందింది", + "sent": "పంపబడింది", + "pendingTag": "⏳ పెండింగ్", + "awaitingConfirmation": "ధృవీకరణ కోసం వేచి", + "feeShort": "ఫీజు {x}", + "historyOffline": "ఆఫ్‌లైన్‌లో చరిత్ర అందుబాటులో లేదు.", + "status": "స్థితి", + "confirmed": "ధృవీకరించబడింది", + "confirmedTag": "ధృవీకరించబడింది", + "pendingInMempool": "పెండింగ్ (mempool లో)", + "block": "బ్లాక్", + "date": "తేదీ", + "copyId": "ID కాపీ", + "backToHistory": "← చరిత్రకు తిరిగి", + "recoveryPhrase": "రికవరీ ఫ్రేజ్", + "recoveryWarn": "⚠ ఈ పదాలు చూసిన ఎవరైనా మీ నిధులను దొంగిలించగలరు. చూపే ముందు ఎవరూ చూడటం లేదని నిర్ధారించుకోండి.", + "bip39Passphrase": "పాస్‌ఫ్రేజ్", + "copyPassphrase": "పాస్‌ఫ్రేజ్ కాపీ", + "revealRecovery": "రికవరీ ఫ్రేజ్ చూపు", + "offlineTransfer": "ఆఫ్‌లైన్ బదిలీ", + "offlineTransferDesc": "ఆన్‌లైన్ పరికరంలో మీ నాణేలను ఎగుమతి చేసి, ఆఫ్‌లైన్ పరికరంలో (ఈ వాలెట్, సీడ్‌తో) ఫైల్‌ను దిగుమతి చేసి ఇంటర్నెట్ లేకుండా సంతకం చేయండి.", + "exportSnapshot": "⤓ స్నాప్‌షాట్ ఎగుమతి", + "importSnapshot": "స్నాప్‌షాట్ దిగుమతి…", + "rescan": "మళ్లీ స్కాన్", + "rescanDesc": "మీ ప్రస్తుత చిరునామా స్వయంచాలకంగా అప్‌డేట్ అవుతుంది. చెల్లింపు పాత (మళ్లీ వాడిన) చిరునామాకు వచ్చి కనిపించకపోతేనే మళ్లీ స్కాన్ చేయండి.", + "rescanWallet": "వాలెట్ మళ్లీ స్కాన్", + "scanning": "స్కాన్ అవుతోంది…", + "language": "భాష", + "offlineBanner": "నెట్‌వర్క్ చేరలేకపోయింది — ఆఫ్‌లైన్‌లో పని. నాణేలు లోడ్ చేయడానికి సెట్టింగ్‌లలో స్నాప్‌షాట్ దిగుమతి చేయండి.", + "retry": "మళ్లీ ప్రయత్నించు", + "copied": "కాపీ అయింది", + "snapshotExported": "స్నాప్‌షాట్ ఎగుమతి అయింది", + "importedNCoins": "{n} నాణేలు దిగుమతి అయ్యాయి", + "unmatchedSuffix": " · {n} చిరునామాలు ఈ వాలెట్‌లో లేవు", + "importFailed": "దిగుమతి విఫలం: {msg}", + "copy": "కాపీ", + "switchUnit": "BTC / sats మార్చు", + "footerMadeBy": "తయారు చేసినవారు", + "footerSourceOn": "సోర్స్ ఇక్కడ" +} \ No newline at end of file -- cgit v1.2.3