493 lines
26 KiB
TypeScript
493 lines
26 KiB
TypeScript
/**
|
|
* 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: '시작하기',
|
|
firstRunTip: '핀을 탭해 둘러보세요. 설정은 필요 없어요 — 근처 스팟은 한 번의 탭이면 됩니다.',
|
|
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 채팅을 갖게 됩니다.',
|
|
},
|
|
bell: {
|
|
dmsUnread: '새 암호화 메시지 {{count}}개',
|
|
},
|
|
},
|
|
settingsUi: {
|
|
loginDialog: {
|
|
welcomeSubtitleBrowse: "가입하거나 로그인하세요 — 또는 계속 둘러보세요.",
|
|
extensionCard: "브라우저 확장",
|
|
signerCard: "서명 앱",
|
|
secretKeyLink: "대신 비밀 키 사용",
|
|
whereBunker: "벙커는 어디서 구하나요?",
|
|
},
|
|
settingsPage: {
|
|
trust: '신뢰',
|
|
trustSub: '출처와 표시',
|
|
},
|
|
},
|
|
walletUi: {
|
|
trust: {
|
|
mute: '뮤트',
|
|
muted: '뮤트됨',
|
|
mutedDesc: '상대방의 콘텐츠가 표시되지 않습니다.',
|
|
unmute: '뮤트 해제',
|
|
unmuted: '뮤트 해제됨',
|
|
unmutedDesc: '상대방의 콘텐츠가 다시 표시됩니다.',
|
|
unmuteFailed: '뮤트를 해제하지 못했습니다. 다시 시도하세요.',
|
|
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: {
|
|
shareInvite: '초대',
|
|
shareInviteText: '{{crew}} 참여 — 크루 비공개 채팅',
|
|
inviteCopied: '초대 링크를 복사했습니다',
|
|
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: '서명자가 각 작업마다 승인을 요청합니다 — 필요에 따라 새로고침과 보내기를 사용하세요.',
|
|
setupDevice: "이 기기 설정",
|
|
setupDeviceBody: "이 기기에 비공개 채팅용 키를 부여합니다. 창립자가 한 번 승인합니다.",
|
|
waitingApproval: "창립자의 승인을 기다리는 중…",
|
|
waitingApprovalManual: "창립자를 기다리는 중입니다. 승인되면 “초대 확인”을 누르세요.",
|
|
onboardingFounder1: "비공개 채팅을 시작하세요.",
|
|
onboardingFounder2: "참여를 요청한 멤버를 승인하세요.",
|
|
onboardingFounder3: "크루와 비공개로 대화하세요.",
|
|
onboardingMember1: '참여 요청',
|
|
onboardingMember2: "창립자가 기기를 승인합니다.",
|
|
onboardingMember3: "참여했습니다 — 메시지는 암호화됩니다.",
|
|
encryptedNote: "크루 멤버만 읽을 수 있으며, 코디네이터는 암호화된 메시지만 중계합니다.",
|
|
advanced: "고급",
|
|
coordinator: "코디네이터",
|
|
keyPackage: "키 패키지",
|
|
keyPackageReady: "이 기기에서 준비됨",
|
|
keyPackageMissing: "이 기기에서 설정되지 않음",
|
|
members: "멤버",
|
|
roleFounder: "창립자",
|
|
roleAdmin: "관리자",
|
|
makeAdmin: "관리자로 지정",
|
|
removeAdmin: "관리자 해제",
|
|
adminAdded: "멤버를 관리자로 승격했습니다.",
|
|
adminRemoved: "관리자 권한을 해제했습니다.",
|
|
roleUpdateFailed: "역할을 변경하지 못했습니다. 다시 시도하세요.",
|
|
addReaction: "반응 추가",
|
|
deleteMessage: "메시지 삭제",
|
|
deleteMessageConfirm: "이 메시지를 모든 사람에게서 삭제할까요?",
|
|
readBy: "{{count}}명이 읽음",
|
|
joinRequestTitle: "비공개 채팅 요청",
|
|
joinRequestFor: "{{crew}} 참여 요청",
|
|
joinRequestReview: "요청 검토",
|
|
joinRequestDismiss: "요청 무시",
|
|
roleMember: "멤버",
|
|
qrTitle: "스캔하여 비공개 채팅 참여",
|
|
qrHint: "크루 멤버가 휴대폰 카메라로 스캔합니다. 링크를 열면 비공개 채팅 탭으로 이동합니다.",
|
|
sendFailed: "보내지 못했습니다 — 다시 시도를 누르세요.",
|
|
sending: "보내는 중…",
|
|
sent: "보냄",
|
|
retry: "다시 시도",
|
|
errorUnreachable: "비공개 채팅에 연결할 수 없습니다. 연결을 확인하세요.",
|
|
errorDetails: "세부정보",
|
|
unreachable: "연결 불가",
|
|
dismiss: "닫기",
|
|
linkDevice: "이 기기 연결",
|
|
linkDeviceTitle: "다른 기기 연결",
|
|
linkDeviceHint: "이미 방에 있는 기기에서 이 코드를 스캔하세요.",
|
|
linkDeviceNote: "코드에는 공개 키 패키지가 포함되어 있습니다. 비공개 키는 새 기기에 남습니다.",
|
|
waitingDevice: "다른 기기를 기다리는 중…",
|
|
addDevice: "기기 추가",
|
|
deviceLinked: "기기가 추가되었습니다.",
|
|
deviceLinkFailed: "해당 기기를 추가하지 못했습니다.",
|
|
removeMemberConfirm: "비공개 채팅에서 {{name}}을(를) 제거할까요? 해당 기기는 더 이상 접근할 수 없습니다.",
|
|
removeMemberFailed: "해당 멤버를 제거하지 못했습니다.",
|
|
reply: "답장",
|
|
},
|
|
communityUi: {
|
|
link: "커뮤니티",
|
|
title: "커뮤니티 채팅",
|
|
subtitle: "질문하고 피드백을 나누며 SkateSpots 커뮤니티와 이야기하세요 — 종단간 암호화.",
|
|
heading: "SkateSpots 커뮤니티",
|
|
eyebrow: "질문 및 피드백",
|
|
seoTitle: "SkateSpots 커뮤니티 채팅",
|
|
seoDescription: "질문, 피드백, 커뮤니티 이야기 — 종단간 암호화.",
|
|
notLoggedIn: "커뮤니티 채팅에 참여하려면 로그인하세요.",
|
|
noGroupAdmin: "커뮤니티 방이 아직 만들어지지 않았습니다.",
|
|
noGroupMember: "아직 커뮤니티 방에 참여하지 않았습니다.",
|
|
create: "커뮤니티 방 만들기",
|
|
setupDeviceBody: "이 기기에 커뮤니티 방 열쇠를 부여합니다. 관리자나 봇이 한 번 승인합니다.",
|
|
onboardingFounder1: "커뮤니티 방을 만드세요.",
|
|
onboardingFounder2: "커뮤니티 봇과 새 멤버를 승인하세요.",
|
|
onboardingFounder3: "질문에 답하고 피드백을 모으세요.",
|
|
onboardingMember1: "커뮤니티 방 참여를 요청하세요.",
|
|
onboardingMember2: "관리자나 커뮤니티 봇이 기기를 승인합니다.",
|
|
onboardingMember3: "질문하고, 피드백을 나누거나, 그냥 인사해도 좋습니다.",
|
|
encryptedNote: "방 멤버만 읽을 수 있으며, 코디네이터는 암호화된 메시지만 중계합니다.",
|
|
shareInviteText: "SkateSpots 커뮤니티 채팅에 참여하세요",
|
|
qrTitle: "스캔하여 커뮤니티 채팅 참여",
|
|
qrHint: "휴대폰 카메라로 스캔해 커뮤니티 채팅을 열고 참여를 요청하세요.",
|
|
owner: "소유자",
|
|
botName: "커뮤니티 봇",
|
|
howItWorks: "새 기기는 관리자나 커뮤니티 봇이 한 번 승인합니다. 참여하기 전에 보낸 메시지는 표시되지 않습니다.",
|
|
feedbackNote: "질문과 피드백을 환영합니다. 모두의 공간이니 친절하게 대해 주세요.",
|
|
},
|
|
translateUi: {
|
|
title: '메시지 번역',
|
|
translate: '번역',
|
|
translating: '번역 중…',
|
|
showOriginal: '원문 보기',
|
|
showTranslation: '번역 보기',
|
|
translatedFrom: '{{language}}에서 번역됨',
|
|
failed: '번역에 실패했습니다. 다시 시도하세요.',
|
|
unsupported: '이 언어 쌍은 아직 사용할 수 없습니다.',
|
|
pilotNote: '파일럿: 영어 ↔ 스페인어만.',
|
|
autoTranslate: '메시지 자동 번역',
|
|
autoTranslateDesc: '받은 메시지를 내 언어로 번역합니다. 이 기기에서 실행되며 아무것도 전송되지 않습니다.',
|
|
privacy: '번역은 사용자의 기기에서 실행됩니다. 메시지는 기기를 떠나지 않습니다. 처음 사용할 때 언어 모델을 다운로드합니다.',
|
|
},
|
|
newsletterDraftUi: {
|
|
weeklyDraftReady: '주간 초안 준비 완료',
|
|
loadDraft: '초안 불러오기',
|
|
hidePreview: '미리보기 숨기기',
|
|
untitled: '제목 없음',
|
|
},
|
|
signerPromptUi: {
|
|
title: "Amber 프롬프트 예산",
|
|
body: "Amber는 서명 작업마다 승인을 요청합니다. 읽기와 백그라운드 복호화는 로컬에서 처리되어 프롬프트가 뜨지 않습니다. 그룹 DM을 보낼 때는 수신자마다 한 번(암호화 + 서명) 요청하고, Cordn은 코디네이터 요청마다 물어볼 수 있습니다. 자주 하는 비공개 채팅이나 크루 채팅에는 벙커나 로컬 키가 더 조용합니다.",
|
|
bunker: "고가치 서명에는 Amber를 유지하고, 긴 대화가 예상되면 벙커로 전환하세요.",
|
|
},
|
|
globalSearchUi: {
|
|
open: "검색",
|
|
placeholder: "스팟, 크루, 이벤트, 기어 검색…",
|
|
hint: "⌘K / Ctrl+K",
|
|
recent: "최근",
|
|
pages: "페이지",
|
|
spots: "스팟",
|
|
shops: "숍",
|
|
crews: "크루",
|
|
events: "이벤트",
|
|
gear: "기어",
|
|
skaters: "스케이터",
|
|
signers: "서명기",
|
|
trust: "신뢰",
|
|
noResults: "“{{query}}”에 대한 결과가 없습니다.",
|
|
},
|
|
marketplaceExtrasUi: {
|
|
savedSearches: "저장된 검색",
|
|
saveSearch: "검색 저장",
|
|
searchName: "이 검색 이름 지정…",
|
|
deleteSearch: "저장된 검색 삭제",
|
|
safetyTitle: "안전하게 사고팔기",
|
|
safetyMeet: "공공장소에서 만나 결제 전에 장비를 확인하세요.",
|
|
safetyKeys: "시드 문구나 개인 키를 절대 공유하지 마세요. 거래는 앱 내 채팅에서 진행하세요.",
|
|
safetyEscrow: "배송 거래라면 먼저 에스크로 약관을 읽으세요. Cashu 에스크로는 네이티브 앱 전용이며 검증되지 않았습니다.",
|
|
safetyMore: "마켓플레이스 가이드라인 읽기",
|
|
offerTemplates: "빠른 메모",
|
|
offerDiscount: "10% 할인해 주실 수 있나요?",
|
|
offerSwap: "교환도 고려해 보시겠어요?",
|
|
offerPickup: "이번 주에 직접 수령할 수 있어요.",
|
|
offerShipping: "배송비를 묶을 수 있나요?",
|
|
},
|
|
placesUi: {
|
|
eventDetail: {
|
|
eventPass: "이벤트 패스"
|
|
},
|
|
},
|
|
};
|
|
|
|
export default drift;
|