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/mr.json | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 src/locales/mr.json (limited to 'src/locales/mr.json') diff --git a/src/locales/mr.json b/src/locales/mr.json new file mode 100644 index 0000000..7b369a0 --- /dev/null +++ b/src/locales/mr.json @@ -0,0 +1,145 @@ +{ + "passphrase": "पासफ्रेज", + "howItWorks": "हे कसे चालते", + "installApp": "अॅप इन्स्टॉल करा", + "hiwBasicsTitle": "मूलभूत गोष्टी", + "hiwBasics1": "तुम्ही वॉलेट तयार करता तेव्हा हे पान बारा यादृच्छिक शब्द तयार करते. तेच शब्द तुमच्या वॉलेटची किल्ली आहेत. ज्याच्याकडे ते आहेत तो कॉइन्स खर्च करू शकतो, म्हणून ते कागदावर लिहून ठेवा आणि फक्त तुम्हालाच पोहोचता येईल अशा ठिकाणी ठेवा.", + "hiwBasics2": "जर तुम्ही हे बारा शब्द हरवले आणि तुमच्याकडे बॅकअप नसेल, तर कॉइन्स कायमचे गेले. रीसेट लिंक नाही आणि कुणाला फोन करायचाही पर्याय नाही, म्हणून पैसे टाकण्यापूर्वी त्यांचा बॅकअप घ्या.", + "hiwBasics3": "येथे कोणताही सर्व्हर नाही आणि कोणतेही खाते नाही. संपूर्ण अॅप एकच पान आहे जे तुमच्या ब्राउझरमध्ये चालते, त्यामुळे तुमचे कॉइन्स कुणाकडेही नसतात आणि कोणत्याही सर्व्हरवर तुमच्या किल्ल्या कधीच दिसत नाहीत. तुमची शिल्लक आणि इतिहास दाखवण्यासाठी ते सार्वजनिक ब्लॉक एक्सप्लोररमधून वाचते (मूलनुसार mempool.space, किंवा तुम्ही सेटिंग्जमध्ये सेट केल्यास तुमचा स्वतःचा नोड).", + "hiwBasics4": "तुम्ही हे पान सेव्ह करून इंटरनेटशिवायही थेट तुमच्या संगणकावरून उघडू शकता. ते ऑफलाइनही चालत राहते.", + "hiwBasics5": "ते नेहमीच्या बिटकॉइन मानकांचे पालन करते (१२-शब्दांचा BIP39 फ्रेज आणि BIP84 नेटिव्ह SegWit किल्ल्या), त्यामुळे ही साइट कधी नाहीशी झाली तरी तुम्ही तोच फ्रेज Sparrow, Electrum, किंवा इतर कोणत्याही मानक वॉलेटमध्ये पुनर्संचयित करू शकता आणि तुमचे कॉइन्स तिथेच असतील.", + "hiwTribute": "Hal Wallet हे नाव पौराणिक सायफरपंक आणि बिटकॉइन अग्रदूत Hal Finney (१९५६–२०१४) यांना श्रद्धांजली आहे.", + "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": "नवीन १२-शब्दांचा सीड वाक्यांश तयार करा. तो लिहून ठेवा. हे वॉलेट परत मिळवण्याचा हाच एकमेव मार्ग आहे.", + "generateSeed": "सीड वाक्यांश तयार करा", + "writeDownWarn": "⚠ हे १२ शब्द क्रमाने कागदावर लिहा. ज्याच्याकडे हे असतील तो तुमची नाणी खर्च करू शकतो.", + "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