/** * Korean (한국어) — drift fragment: the keys added after the main batches. * * These were the last keys missing from this locale (nav search, the first-run * checklist, marketplace states/escrow copy, the clothing craft, the trust UI, * the marketplace guidelines, the weather legend and the native Cordn/MLS chat). * The default export is the nested dictionary; `index.ts` deep-merges it over * the composed batch fragments (a shallow spread would replace a whole namespace * and drop its sibling keys). * * Skate/brand vocabulary stays English or transliterated (Spot, Park, Crew, * Stash, The Lab, Nostr, Lightning, sats, Cashu, MLS, Cordn, Staircase), matching * the other batches. */ type Dict = { [key: string]: string | Dict }; const drift: Dict = { nav: { searchLanguages: '언어 검색...', noLanguages: '언어를 찾을 수 없음', }, mapPage: { searchSuggestPlaces: '장소', }, mapUi: { firstRunTitle: '시작하기', firstRunAddSpot: '첫 스팟 추가', firstRunJoinCrew: '크루 참여', firstRunStartCrew: '크루 시작', firstRunWallet: '지갑 설정', forecastDays: '{{count}}일 예보', }, spotUi: { forecastDays: '{{count}}일 예보', }, marketUi: { trades: { stateRevoked: '취소됨', stateVerifying: '확인 중', }, loadFailed: '릴레이에 연결할 수 없습니다. 연결을 확인하고 다시 시도하세요.', statusPending: '대기 중', offers: { closeDeal: '거래 종료', loadFailed: '오퍼를 불러올 수 없습니다. 연결을 확인하고 다시 시도하세요.', }, pay: { nonSats: '이 오퍼의 가격은 {{currency}}입니다. 앱 내 결제는 sats만 지원합니다. 판매자와 직접 정산하세요.', unsupported: '이 결제 코드(Cashu 요청)는 아직 지원되지 않습니다. 판매자에게 Lightning 인보이스나 주소를 요청하세요.', }, escrowRequest: { lockedNotSent: '자금이 에스크로에 잠겨 이 기기에 저장되었지만 요청이 전송되지 않았습니다. 리스팅을 다시 열어 재시도하세요. 다시 결제하지 마세요.', mintLabel: '민트 (자금이 잠기는 곳)', sellerMintHint: '판매자가 이 민트를 선호합니다. 여기 잠긴 자금이 가장 수령하기 쉽습니다.', mintHint: '에스크로는 이 민트에 있습니다. 판매자가 여기서 수령하므로 둘 다 신뢰하는 민트를 고르세요.', noMints: '사용 가능한 민트가 없습니다', p2pkUnsupported: '이 민트는 P2PK(NUT-11) 지원을 알리지 않아 여기에 에스크로를 잠글 수 없습니다. 다른 민트를 선택하세요.', }, }, labUi: { offerClothing: '의류 제공', tabClothing: '의류', empty: { clothingTitle: '아직 의류 디자이너가 없습니다', clothingBody: '씬을 위한 맞춤 의류, 팀 키트, 의류를 가장 먼저 제공해 보세요.', }, craftFields: { sizing: '사이즈 범위', samples: '샘플 / 시제품', customization: '커스터마이징', }, }, socialUi: { coordinator: { ourDefaultTitle: 'SkateSpots 코디네이터', ourDefaultDesc: 'SkateSpots는 relay.skate-spots.org에서 코디네이터를 운영합니다. 기본으로 사용하거나 직접 운영하세요. 코디네이터는 암호문과 메타데이터만 보고 메시지는 절대 보지 않습니다.', useOurs: 'SkateSpots 코디네이터 사용', }, crewCoordinator: { encryptedChat: '암호화 채팅', privateChatName: '비공개 채팅', privateChatDesc: '코디네이터를 통한 전방 비밀 그룹 채팅(MLS).', privateChatDescFull: '비공개 채팅은 관리자가 한 번 만들고, 이후 멤버가 참여합니다.', chatRowDesc: '크루의 모든 사람 — 각 멤버의 키로 봉인(NIP-17).', openChat: '열기', setUpChat: '설정', joinChat: '참여', checking: '확인 중…', openInAnotherApp: '다른 앱에서 열기', openInCordnWeb: 'Cordn(웹)', openCordnGroup: '크루 채팅 열기', copyForStaircase: 'Staircase용 복사', }, dms: { refresh: '새로고침', crews: '크루', crewFounder: '창립자', crewMember: '멤버', crewOpen: '열기', crewSetUp: '설정', }, form: { cordnGroup: 'Cordn 그룹', cordnGroupHint: '선택 사항: Staircase 또는 Cordn 웹의 그룹 링크를 붙여넣으세요. 그러면 크루가 우리 코디네이터에서 호스팅되는 실제 종단 간 MLS 채팅을 갖게 됩니다.', }, }, settingsUi: { settingsPage: { trust: '신뢰', trustSub: '출처와 표시', }, }, walletUi: { trust: { mute: '뮤트', muted: '뮤트됨', mutedDesc: '상대방의 콘텐츠가 표시되지 않습니다.', muteFailed: '뮤트하지 못했습니다. 다시 시도하세요.', loginToMute: '뮤트하려면 로그인하세요.', attributedNetwork: '당신의 네트워크에 있는 사람들로부터', attributedProviderHouse: '커뮤니티 신뢰 제공자로부터', attributedProviderCustom: '당신이 선택한 제공자로부터', howItWorks: '신뢰가 작동하는 방식', flaggedNoticeTitle: '신뢰하는 스케이터의 신고', flaggedNoticeDesc: '주의하세요. 네트워크의 신뢰하는 사람들이 이 계정을 신고했습니다.', flaggedReporterFollow: '팔로우 중인 {{count}}명', flaggedReporterNetwork: '네트워크의 {{count}}명', flaggedReporterOther: '기타 계정 {{count}}개', flaggedReport: '신고', flaggedDismiss: '닫기', bucketVerified: '인증됨', bucketUnknown: '알 수 없음', bucketFlagged: '플래그됨', bucketVerifiedDesc: '당신의 네트워크의 누군가가 이 계정을 보증합니다.', bucketUnknownDesc: '아직 당신의 네트워크에서 아무도 이 계정을 보증하지 않았습니다.', bucketFlaggedDesc: '신뢰하는 사람들이 이 계정을 신고했습니다.', reportedByTrusted: '신뢰하는 {{count}}명이 신고함', }, }, trustUi: { alertsTitle: '네트워크 경고', alertsDesc: '당신이 팔로우하며 신뢰하는 사람들이 신고하거나 뮤트한 계정.', alertsEmpty: '경고가 없습니다. 팔로우하는 계정에 신뢰 신고가 있는지 확인합니다.', alertsReported: '신뢰하는 {{count}}명이 신고함', alertsMuted: '신뢰하는 {{count}}명이 뮤트함', alertsIgnore: '무시', alertsUnfollow: '언팔로우', alertsLogin: '팔로우하는 계정의 경고를 보려면 로그인하세요.', providerTitle: '제공자', providerDesc: '점수는 당신이 선택한 제공자에서 나옵니다. 기본값은 커뮤니티 제공자입니다.', useCommunity: '커뮤니티 제공자 사용', setProvider: '제공자 설정', customPubkeyPlaceholder: '제공자 npub 또는 16진수 pubkey', customRelayPlaceholder: 'wss://relay.example.com', invalidProvider: '유효한 npub 또는 64자리 16진수 pubkey, 그리고 wss:// 릴레이를 입력하세요.', publishFailed: '제공자를 게시하지 못했습니다. 다시 시도하세요.', providerSaved: '제공자가 업데이트되었습니다.', loggedOutProvider: '제공자를 선택하려면 로그인하세요.', showMarks: '신뢰 마크 표시', showMarksDesc: '인증됨 및 알 수 없음 마크. 신고는 항상 표시됩니다.', sourceLabel: '출처', sourceHouse: '커뮤니티 신뢰 제공자', sourceCustom: '당신의 제공자', loggedOut: '자신의 신뢰 제공자를 선택하려면 로그인하세요.', seoTitle: '신뢰가 작동하는 방식', seoDescription: 'SkateSpots가 신뢰를 표시하는 방식: 세 가지 상태, 점수의 출처, 그리고 부재가 불신이 아닌 이유.', title: '신뢰가 작동하는 방식', intro: '여기서 신뢰는 판결이 아니라 신호입니다. 당신이 아는 사람, 또는 당신이 선택한 제공자에서 비롯됩니다. 우리는 사람을 전 세계적으로 순위를 매기지 않습니다.', statesTitle: '세 가지 상태', verifiedTitle: '인증됨', verifiedDesc: '당신의 네트워크의 누군가가 이 계정을 보증합니다: 친구의 친구, 또는 당신이 선택한 제공자.', unknownTitle: '알 수 없음', unknownDesc: '아직 아무도 보증하지 않았습니다. 모든 새 계정은 여기서 시작합니다.', flaggedTitle: '플래그됨', flaggedDesc: '신뢰하는 사람들이 이 계정을 신고했습니다. 더 자세히 살펴보라는 경고이며, 무엇인가의 증거는 아닙니다.', absenceTitle: '배지가 없다고 불신은 아니다', absenceDesc: '대부분의 계정은 아무것도 표시하지 않습니다. 그것은 당신의 네트워크에서 아직 아무도 보증하지 않았다는 의미이며, 뭔가 잘못되었다는 의미가 아닙니다. 마크의 부재를 부정적으로 읽지 마세요.', sourceTitle: '누가 계산하는가', sourceDesc: '기본적으로 당신 자신의 네트워크를 사용합니다. Nostr(NIP-85)를 통해 서명된 점수를 게시하는 신뢰 제공자를 선택하거나 표시를 끌 수도 있습니다. 플래그됨은 항상 표시됩니다. 안전 신호이기 때문입니다.', endorsementTitle: '존재는 보증이 아니다', endorsementDesc: '인증 마크는 누군가 보증했다는 의미이며, 그 사람이 선하다는 의미가 아닙니다. 플래그는 신뢰하는 사람들이 신고했다는 의미이며, 유죄라는 의미가 아닙니다. 결정 전에 세부 정보를 확인하세요.', povTitle: '보는 관점에 따라 다르다', povDesc: '점수는 누가 보는지에 상대적입니다. 한 제공자나 한 사람의 순위는 다른 것과 비교할 수 없으며, 우리는 그것을 객관적 사실로 제시하지 않습니다.', settingsCta: '설정에서 관리', }, marketTerms: { link: '마켓플레이스 가이드라인', seoTitle: '마켓플레이스 가이드라인', seoDescription: 'SkateSpots 기어 리스팅의 작동 방식: P2P, 구매자 주의, 그리고 규칙.', title: '마켓플레이스 가이드라인', intro: 'SkateSpots는 P2P 기어 게시판입니다. 상대방과 직접 거래합니다: 우리는 자금을 보관하지 않고, 물품을 발송하지 않으며, 분쟁을 해결하지 않습니다.', howTitle: '작동 방식', howBody: '기어를 등록하고, 판매자에게 비공개 메시지로 연락하고, 직접 정산하세요(현금, Lightning, 또는 교환). 장바구니나 결제는 없습니다.', rulesTitle: '허용되지 않는 것', rulesBody: '불법, 위험, 성인 콘텐츠는 금지되며, 마약, 무기, 위조품, 도난품도 금지됩니다. 리스팅은 스케이트 기어와 관련 물품으로 유지하세요.', respectTitle: '존중하세요', respectBody: '욕설, 괴롭힘, 위협, 증오는 금지됩니다. 모더레이터는 리스팅이나 계정을 숨길 수 있습니다.', trustTitle: '신뢰는 지침이지 보증이 아니다', trustBody: '인증 마크와 거래 평판은 네트워크의 신호이지 약속이 아닙니다. 거래 전에 직접 확인하세요.', trustLink: '신뢰가 작동하는 방식', privacyLink: '기기에서 나가는 것', safetyTitle: '안전하게 거래하세요', safetyBody: '직접 만남은 공공장소에서, 발송 거래에는 에스크로나 성의 보증금을 사용하고, 앱 밖으로 돈을 보내지 마세요.', moderationTitle: '모더레이션은 부드럽고 되돌릴 수 있다', moderationBody: '숨겨진 콘텐츠는 릴레이에 남아 복원될 수 있으며, 사람 사이의 분쟁은 당신이 해결할 몫입니다.', }, labOptions: { clothing: { service: { tees: '티셔츠', hoodies: '후디 & 스웨트', pants: '팬츠 & 쇼츠', jackets: '재킷 & 아우터', kits: '팀 키트 & 저지', caps: '캡 & 비니', socks: '양말', accessories: '가방 & 액세서리', footwear: '풋웨어 & 신발', patches: '패치 & 아플리케', griptape: '그립테이프 & 데크 의류', onepiece: '원오브원 / 업사이클', }, serviceDesc: { tees: '커스텀 티셔츠와 상의', hoodies: '후디, 크루넥, 스웨트팬츠', pants: '워크 팬츠, 카고, 쇼츠', jackets: '코치 재킷, 셸, 워크 재킷', kits: '팀 키트, 저지, 유니폼', caps: '캡, 비니, 헤드웨어', socks: '크루 삭스와 니트', accessories: '가방, 벨트, 소품', footwear: '커스텀 신발과 풋웨어', patches: '자수 패치와 아플리케', griptape: '그립테이프 아트와 데크 의류', onepiece: '단품과 업사이클 의류', }, method: { screenprint: '스크린 프린트', dtg: 'DTG / 다이렉트 투 가먼트', embroidery: '자수', cutsew: '컷 앤 쏘', sublimation: '승화 전사', heattransfer: '열전사 / 비닐', garmentdye: '가먼트 다이', knit: '니트웨어', patchwork: '패치워크', allover: '전면 프린트', }, material: { cotton: '코튼', heavyweight: '헤비웨이트', organic: '오가닉 / 지속가능', fleece: '플리스', denim: '데님', canvas: '캔버스', nylon: '나일론 / 테크니컬', wool: '메리노 / 울', leather: '레더', recycled: '리사이클 / 데드스톡', }, }, }, becomeRolesUi: { clothing: { seoTitle: '의류 디자이너 되기 - SkateSpots', seoDescription: '씬을 위한 맞춤 의류, 팀 키트 & 의류.', heading: '의류 디자이너', tagline: '씬을 위한 맞춤 의류, 팀 키트 & 의류', noun: '의류 디자이너', rateLabel: '요금', portfolioLabel: '샵 / 포트폴리오 링크', sectionWhatYouMake: '무엇을 만드는가', sectionHowYouMake: '어떻게 만드는가', sectionMaterials: '재료', minimumPlaceholder: '예: 10벌', turnaroundPlaceholder: '예: 2-3주', sizingPlaceholder: '예: XS-3XL / 맞춤 제작', samplesHelper: '본 생산 전에 샘플이나 시제품을 제공하나요?', customizationPlaceholder: '예: 이름, 번호, 그래픽', }, }, weatherUi: { updated: '업데이트됨', refresh: '새로고침', unavailable: '날씨를 사용할 수 없습니다.', retry: '재시도', sunrise: '일출', sunset: '일몰', legendTitle: '날씨 점수', legendWeatherOnly: '날씨만', }, cordnUi: { title: '비공개 채팅', subtitle: '크루 멤버 간 종단 간 암호화(MLS). 코디네이터는 암호문과 메타데이터만 라우팅하며 메시지 내용은 절대 보지 않습니다.', notLoggedIn: '크루의 비공개 채팅을 사용하려면 로그인하세요.', membersOnly: '크루 멤버만 비공개 채팅을 열 수 있습니다.', connecting: '연결 중…', noCoordinator: '이 크루에는 아직 코디네이터가 설정되지 않았습니다.', noGroupAdmin: '이 크루의 비공개 채팅은 아직 만들어지지 않았습니다.', noGroupMember: '아직 이 크루의 비공개 채팅에 참여하지 않았습니다.', create: '비공개 채팅 만들기', requestJoin: '참여 요청', checkInvite: '초대 확인', requested: '요청을 보냈습니다 — 크루 관리자가 승인합니다.', noInvite: '아직 대기 중인 초대가 없습니다. 관리자에게 요청 승인을 부탁하세요.', placeholder: '크루에게 메시지…', send: '보내기', refresh: '새로고침', requests: '참여 요청', checkRequests: '요청 확인', approve: '추가', noRequests: '대기 중인 참여 요청이 없습니다.', inviteHint: '지금까지 이 채팅에는 당신만 있습니다 — 크루 멤버가 “참여 요청”을 누르면 여기서 승인할 수 있습니다.', memberCount: '그룹에 {{count}}명', you: '나', groupRef: '그룹 링크', copyRef: '복사', copied: '복사됨', attachImage: '이미지 첨부', uploading: '업로드 중…', uploadFailed: '이미지를 업로드하지 못했습니다.', bannerTitle: '이 크루에는 아직 비공개 채팅이 없습니다', bannerBody: '크루를 위한 종단 간 암호화(MLS) 채팅을 설정하세요 — 멤버는 탭에서 참여합니다.', bannerCta: '설정', ready: '연결됨 · MLS', errorPrefix: '코디네이터에 연결할 수 없습니다', interactiveHint: '서명자가 각 작업마다 승인을 요청합니다 — 필요에 따라 새로고침과 보내기를 사용하세요.', }, }; export default drift;