diff options
| author | Adam Soltys <[email protected]> | 2026-06-24 08:59:31 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-06-24 08:59:31 -0700 |
| commit | 17acf5ec80a0c0b0acc44a6a8373e154c68d4748 (patch) | |
| tree | a3fb56b85cc9cd21962ed64b084294096948d75b /src/locales/ko.json | |
| parent | f59cca61111f38963099190bdbbce9a76bc3fafe (diff) | |
| download | coinosv3-17acf5ec80a0c0b0acc44a6a8373e154c68d4748.tar.gz coinosv3-17acf5ec80a0c0b0acc44a6a8373e154c68d4748.zip | |
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/<code>.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/<code>.json.
- Deploy hook publishes the locales/ subdir.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src/locales/ko.json')
| -rw-r--r-- | src/locales/ko.json | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/src/locales/ko.json b/src/locales/ko.json new file mode 100644 index 0000000..765838a --- /dev/null +++ b/src/locales/ko.json @@ -0,0 +1,145 @@ +{ + "passphrase": "패스프레이즈", + "howItWorks": "작동 방식", + "installApp": "앱 설치", + "hiwBasicsTitle": "기본 사항", + "hiwBasics1": "지갑을 만들면 페이지에서 무작위 단어 12개가 생성됩니다. 이 단어들이 지갑의 열쇠입니다. 이를 가진 사람은 누구나 코인을 사용할 수 있으므로, 종이에 적어 본인만 접근할 수 있는 곳에 보관하세요.", + "hiwBasics2": "12개의 단어를 잃어버리고 백업도 없다면 코인은 영원히 사라집니다. 재설정 링크도 없고 연락할 곳도 없으니, 돈을 넣기 전에 반드시 백업하세요.", + "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": "대기 중(멤풀)", + "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 |
