this repo has no description
1{
2 "common": {
3 "loading": "로딩 중...",
4 "error": "오류",
5 "save": "저장",
6 "cancel": "취소",
7 "back": "뒤로",
8 "done": "완료",
9 "continue": "계속",
10 "refresh": "새로고침",
11 "create": "생성",
12 "delete": "삭제",
13 "confirm": "확인",
14 "created": "생성일",
15 "expires": "만료일",
16 "name": "이름",
17 "dashboard": "대시보드",
18 "backToDashboard": "← 대시보드",
19 "copied": "복사됨!",
20 "copyToClipboard": "클립보드에 복사",
21 "verifying": "확인 중...",
22 "saving": "저장 중...",
23 "creating": "생성 중...",
24 "updating": "업데이트 중...",
25 "sending": "전송 중...",
26 "authenticating": "인증 중...",
27 "checking": "확인 중...",
28 "redirecting": "리디렉션 중...",
29 "signIn": "로그인",
30 "verify": "확인",
31 "remove": "삭제",
32 "revoke": "취소",
33 "resendCode": "코드 재전송",
34 "startOver": "처음부터 다시",
35 "tryAgain": "다시 시도",
36 "password": "비밀번호",
37 "email": "이메일",
38 "emailAddress": "이메일 주소",
39 "handle": "핸들",
40 "did": "DID",
41 "verificationCode": "인증 코드",
42 "inviteCode": "초대 코드",
43 "newPassword": "새 비밀번호",
44 "confirmPassword": "비밀번호 확인",
45 "enterSixDigitCode": "6자리 코드 입력",
46 "passwordHint": "8자 이상",
47 "enterPassword": "비밀번호를 입력하세요",
48 "emailPlaceholder": "you@example.com",
49 "verified": "인증됨",
50 "disabled": "비활성화됨",
51 "available": "사용 가능",
52 "deactivated": "비활성화됨",
53 "unverified": "미인증",
54 "backToLogin": "로그인으로 돌아가기",
55 "backToSettings": "설정으로 돌아가기",
56 "alreadyHaveAccount": "이미 계정이 있으신가요?",
57 "createAccount": "계정 만들기",
58 "passwordsMismatch": "비밀번호가 일치하지 않습니다",
59 "passwordTooShort": "비밀번호는 8자 이상이어야 합니다"
60 },
61 "login": {
62 "title": "로그인",
63 "subtitle": "PDS 계정을 관리하려면 로그인하세요",
64 "button": "로그인",
65 "redirecting": "리디렉션 중...",
66 "chooseAccount": "계정 선택",
67 "signInToAnother": "다른 계정으로 로그인",
68 "backToSaved": "← 저장된 계정으로 돌아가기",
69 "forgotPassword": "비밀번호를 잊으셨나요?",
70 "lostPasskey": "패스키를 분실하셨나요?",
71 "noAccount": "계정이 없으신가요?",
72 "createAccount": "계정 만들기",
73 "removeAccount": "저장된 계정에서 삭제",
74 "infoSavedAccountsTitle": "저장된 계정",
75 "infoSavedAccountsDesc": "계정을 클릭하면 즉시 로그인할 수 있습니다. 세션 토큰은 이 브라우저에 안전하게 저장됩니다.",
76 "infoNewAccountTitle": "새 계정",
77 "infoNewAccountDesc": "로그인 버튼을 사용하여 다른 계정을 추가하세요. ×를 클릭하여 저장된 계정을 제거할 수 있습니다.",
78 "infoSecureSignInTitle": "안전한 로그인",
79 "infoSecureSignInDesc": "안전한 인증을 위해 리디렉션됩니다. 패스키나 2단계 인증이 활성화되어 있으면 해당 인증도 요청됩니다.",
80 "infoStaySignedInTitle": "로그인 유지",
81 "infoStaySignedInDesc": "로그인 후 계정이 이 브라우저에 저장되어 다음에 빠르게 접속할 수 있습니다.",
82 "infoRecoveryTitle": "계정 복구",
83 "infoRecoveryDesc": "비밀번호나 패스키를 분실하셨나요? 로그인 버튼 아래의 복구 링크를 사용하세요."
84 },
85 "verification": {
86 "title": "계정 인증",
87 "subtitle": "계정 인증이 필요합니다. 인증 방법으로 전송된 코드를 입력하세요.",
88 "codeLabel": "인증 코드",
89 "codePlaceholder": "6자리 코드 입력",
90 "verifyButton": "계정 인증",
91 "resent": "인증 코드를 다시 보냈습니다!"
92 },
93 "register": {
94 "title": "계정 만들기",
95 "subtitle": "이 PDS에 새 계정을 만듭니다",
96 "subtitleKeyChoice": "외부 did:web 신원을 설정하는 방법을 선택하세요.",
97 "subtitleInitialDidDoc": "계속하려면 DID 문서를 업로드하세요.",
98 "subtitleVerify": "계속하려면 {channel}을(를) 인증하세요.",
99 "subtitleUpdatedDidDoc": "PDS 서명 키로 DID 문서를 업데이트하세요.",
100 "subtitleActivating": "계정을 활성화하는 중...",
101 "subtitleComplete": "계정이 성공적으로 생성되었습니다!",
102 "redirecting": "대시보드로 이동 중...",
103 "infoIdentityDesc": "신원은 ATProto 네트워크에서 계정이 어떻게 식별되는지를 결정합니다. 대부분의 사용자는 표준 옵션을 선택해야 합니다.",
104 "infoContactDesc": "이 정보는 계정 인증과 계정 보안에 관한 중요한 알림을 보내는 데 사용됩니다.",
105 "infoNextTitle": "다음 단계는?",
106 "infoNextDesc": "계정 생성 후 연락 방법을 인증하면 새로운 신원으로 모든 ATProto 앱을 사용할 수 있습니다.",
107 "migrateTitle": "이미 Bluesky 계정이 있으신가요?",
108 "migrateDescription": "새 계정을 만드는 대신 기존 계정을 이 PDS로 마이그레이션할 수 있습니다. 팔로워, 게시물, ID가 함께 이전됩니다.",
109 "migrateLink": "PDS Moover로 마이그레이션",
110 "handle": "핸들",
111 "handlePlaceholder": "사용자 이름",
112 "handleHint": "전체 핸들: @{handle}",
113 "handleDotWarning": "사용자 정의 도메인 핸들은 계정 생성 후 설정에서 구성할 수 있습니다.",
114 "password": "비밀번호",
115 "passwordPlaceholder": "8자 이상",
116 "confirmPassword": "비밀번호 확인",
117 "confirmPasswordPlaceholder": "비밀번호 재입력",
118 "identityType": "ID 유형",
119 "identityHint": "분산 ID를 관리하는 방법을 선택하세요.",
120 "didPlc": "did:plc",
121 "didPlcRecommended": "(권장)",
122 "didPlcHint": "PLC 디렉토리에서 관리하는 이동 가능한 ID",
123 "didWeb": "did:web",
124 "didWebHint": "이 PDS에서 호스팅되는 ID (아래 경고 참조)",
125 "didWebDisabledHint": "이 PDS에서 사용할 수 없음 - did:plc를 사용하거나 자체 did:web을 가져오세요",
126 "didWebBYOD": "did:web (자체 도메인)",
127 "didWebBYODHint": "자체 도메인 사용",
128 "didWebWarningTitle": "중요: 장단점을 이해하세요",
129 "didWebWarning1": "이 PDS에 영구 연결:",
130 "didWebWarning1Detail": "ID는 {did}가 됩니다. 나중에 다른 PDS로 마이그레이션하더라도 이 서버는 계속 DID 문서를 호스팅해야 합니다.",
131 "didWebWarning2": "복구 메커니즘 없음:",
132 "didWebWarning2Detail": "did:plc와 달리 did:web에는 순환 키가 없습니다. 이 PDS가 영구적으로 오프라인이 되면 ID를 복구할 수 없습니다.",
133 "didWebWarning3": "우리의 약속:",
134 "didWebWarning3Detail": "마이그레이션하면 새 PDS를 가리키는 최소한의 DID 문서를 계속 제공합니다. ID는 계속 작동합니다.",
135 "didWebWarning4": "권장:",
136 "didWebWarning4Detail": "did:web을 선호하는 특별한 이유가 없다면 did:plc를 선택하세요.",
137 "externalDid": "귀하의 did:web",
138 "externalDidPlaceholder": "did:web:yourdomain.com",
139 "externalDidHint": "도메인은 /.well-known/did.json에서 이 PDS를 가리키는 유효한 DID 문서를 제공해야 합니다",
140 "contactMethod": "연락 방법",
141 "contactMethodHint": "계정 인증 및 알림 수신 방법을 선택하세요. 하나만 필요합니다.",
142 "verificationMethod": "인증 방법",
143 "email": "이메일",
144 "emailAddress": "이메일 주소",
145 "emailPlaceholder": "you@example.com",
146 "discord": "Discord",
147 "discordId": "Discord 사용자 ID",
148 "discordIdPlaceholder": "Discord 사용자 ID",
149 "discordIdHint": "숫자 Discord 사용자 ID (개발자 모드를 활성화하여 찾기)",
150 "telegram": "Telegram",
151 "telegramUsername": "Telegram 사용자 이름",
152 "telegramUsernamePlaceholder": "@yourusername",
153 "signal": "Signal",
154 "signalNumber": "Signal 전화번호",
155 "signalNumberPlaceholder": "+821012345678",
156 "signalNumberHint": "국가 코드 포함 (예: 한국 +82)",
157 "notConfigured": "구성되지 않음",
158 "inviteCode": "초대 코드",
159 "inviteCodePlaceholder": "초대 코드 입력",
160 "inviteCodeRequired": "필수",
161 "createButton": "계정 만들기",
162 "alreadyHaveAccount": "이미 계정이 있으신가요?",
163 "signIn": "로그인",
164 "wantPasswordless": "비밀번호 없는 보안을 원하시나요?",
165 "createPasskeyAccount": "패스키 계정 만들기",
166 "validation": {
167 "handleRequired": "핸들은 필수입니다",
168 "handleNoDots": "핸들에 점을 포함할 수 없습니다. 계정 생성 후 사용자 정의 도메인을 설정할 수 있습니다.",
169 "passwordRequired": "비밀번호는 필수입니다",
170 "passwordLength": "비밀번호는 8자 이상이어야 합니다",
171 "passwordsMismatch": "비밀번호가 일치하지 않습니다",
172 "inviteCodeRequired": "초대 코드는 필수입니다",
173 "externalDidRequired": "외부 did:web은 필수입니다",
174 "externalDidFormat": "외부 DID는 did:web:으로 시작해야 합니다",
175 "emailRequired": "이메일 인증에는 이메일이 필요합니다",
176 "discordIdRequired": "Discord 인증에는 Discord ID가 필요합니다",
177 "telegramRequired": "Telegram 인증에는 Telegram 사용자 이름이 필요합니다",
178 "signalRequired": "Signal 인증에는 전화번호가 필요합니다"
179 }
180 },
181 "dashboard": {
182 "title": "대시보드",
183 "switchAccount": "계정 전환",
184 "addAnotherAccount": "다른 계정 추가",
185 "signOut": "@{handle} 로그아웃",
186 "deactivatedTitle": "계정 비활성화됨",
187 "deactivatedMessage": "계정이 현재 비활성화되어 있습니다. 이는 일반적으로 계정 마이그레이션 중에 발생합니다. 계정이 다시 활성화될 때까지 일부 기능이 제한될 수 있습니다.",
188 "accountOverview": "계정 개요",
189 "handle": "핸들",
190 "did": "DID",
191 "primaryContact": "주요 연락처",
192 "admin": "관리자",
193 "deactivated": "비활성화됨",
194 "verified": "인증됨",
195 "unverified": "미인증",
196 "navAppPasswords": "앱 비밀번호",
197 "navAppPasswordsDesc": "타사 앱의 비밀번호 관리",
198 "navSessions": "활성 세션",
199 "navSessionsDesc": "로그인 세션 보기 및 관리",
200 "navInviteCodes": "초대 코드",
201 "navInviteCodesDesc": "초대 코드 보기 및 생성",
202 "navSettings": "계정 설정",
203 "navSettingsDesc": "이메일, 비밀번호, 핸들 등",
204 "navSecurity": "보안",
205 "navSecurityDesc": "2단계 인증",
206 "navComms": "통신 설정",
207 "navCommsDesc": "Discord, Telegram, Signal 채널",
208 "navRepo": "저장소 탐색기",
209 "navRepoDesc": "AT Protocol 레코드 탐색 및 관리",
210 "navDelegation": "위임",
211 "navDelegationDesc": "계정 컨트롤러 및 위임된 계정 관리",
212 "navAdmin": "관리 패널",
213 "navAdminDesc": "서버 통계 및 관리 작업",
214 "navDidDocument": "DID 문서",
215 "navDidDocumentDesc": "DID 문서 및 키 관리",
216 "navDidDocumentDescActive": "DID 문서 설정 편집",
217 "navBackup": "백업 다운로드",
218 "navBackupDesc": "저장소를 CAR 파일로 다운로드",
219 "downloadingBackup": "다운로드 중...",
220 "backupFailed": "백업 다운로드 실패",
221 "migrated": "마이그레이션됨",
222 "migratedTitle": "계정 마이그레이션됨",
223 "migratedMessage": "계정이 {pds}로 마이그레이션되었습니다. DID 문서는 여전히 여기에서 호스팅됩니다.",
224 "navMigrateAgain": "다시 마이그레이션",
225 "navMigrateAgainDesc": "다른 PDS로 이동하고 DID 문서 업데이트"
226 },
227 "didEditor": {
228 "title": "DID 문서 편집기",
229 "preview": "현재 DID 문서",
230 "verificationMethods": "검증 방법 (서명 키)",
231 "verificationMethodsDesc": "DID를 대신하여 동작할 수 있는 서명 키입니다. 새 PDS로 마이그레이션할 때 해당 서명 키를 여기에 추가하세요.",
232 "addKey": "키 추가",
233 "removeKey": "삭제",
234 "keyId": "키 ID",
235 "keyIdPlaceholder": "#atproto",
236 "publicKey": "공개 키 (Multibase)",
237 "publicKeyPlaceholder": "zQ3sh...",
238 "noKeys": "구성된 검증 방법이 없습니다. 로컬 PDS 키를 사용 중입니다.",
239 "alsoKnownAs": "다른 이름 (핸들)",
240 "alsoKnownAsDesc": "DID를 가리키는 핸들입니다. 새 PDS에서 핸들이 변경되면 업데이트하세요.",
241 "addHandle": "핸들 추가",
242 "removeHandle": "삭제",
243 "handle": "핸들",
244 "handlePlaceholder": "at://handle.pds.com",
245 "noHandles": "구성된 핸들이 없습니다. 로컬 핸들을 사용 중입니다.",
246 "serviceEndpoint": "서비스 엔드포인트",
247 "serviceEndpointDesc": "현재 계정 데이터를 호스팅하는 PDS입니다. 마이그레이션할 때 업데이트하세요.",
248 "currentPds": "현재 PDS URL",
249 "save": "변경사항 저장",
250 "success": "DID 문서가 업데이트되었습니다",
251 "saveFailed": "DID 문서 저장에 실패했습니다",
252 "loadFailed": "DID 문서 로드에 실패했습니다",
253 "invalidMultibase": "공개 키는 'z'로 시작하는 유효한 multibase 문자열이어야 합니다",
254 "invalidHandle": "핸들은 at:// URI여야 합니다 (예: at://handle.example.com)",
255 "helpTitle": "이것은 무엇인가요?",
256 "helpText": "다른 PDS로 마이그레이션하면 해당 PDS가 새 서명 키를 생성합니다. 여기에서 DID 문서를 업데이트하여 새 키와 위치를 가리키도록 하세요."
257 },
258 "settings": {
259 "title": "계정 설정",
260 "language": "언어",
261 "languageDescription": "선호하는 언어를 선택하세요",
262 "changeEmail": "이메일 변경",
263 "currentEmail": "현재: {email}",
264 "newEmail": "새 이메일",
265 "newEmailPlaceholder": "new@example.com",
266 "changeEmailButton": "이메일 변경",
267 "requesting": "요청 중...",
268 "verificationCode": "인증 코드",
269 "verificationCodePlaceholder": "인증 코드 입력",
270 "confirmEmailChange": "이메일 변경 확인",
271 "updating": "업데이트 중...",
272 "changeHandle": "핸들 변경",
273 "currentHandle": "현재: @{handle}",
274 "pdsHandle": "PDS 핸들",
275 "customDomain": "사용자 정의 도메인",
276 "customDomainDescription": "자체 도메인을 핸들로 사용합니다. 먼저 도메인 소유권을 확인해야 합니다.",
277 "setupInstructions": "설정 지침",
278 "setupMethodsIntro": "다음 인증 방법 중 하나를 선택하세요:",
279 "dnsMethod": "방법 1: DNS TXT 레코드 (권장)",
280 "dnsMethodDesc": "도메인에 이 TXT 레코드 추가:",
281 "httpMethod": "방법 2: HTTP Well-Known 파일",
282 "httpMethodDesc": "이 URL에서 DID 제공:",
283 "httpMethodContent": "파일에는 다음만 포함:",
284 "yourDomain": "도메인",
285 "yourDomainPlaceholder": "example.com",
286 "verifyAndUpdate": "확인 후 핸들 업데이트",
287 "newHandle": "새 핸들",
288 "newHandlePlaceholder": "yourhandle",
289 "changeHandleButton": "핸들 변경",
290 "changePassword": "비밀번호 변경",
291 "currentPassword": "현재 비밀번호",
292 "currentPasswordPlaceholder": "현재 비밀번호 입력",
293 "newPassword": "새 비밀번호",
294 "newPasswordPlaceholder": "8자 이상",
295 "confirmNewPassword": "새 비밀번호 확인",
296 "confirmNewPasswordPlaceholder": "새 비밀번호 재입력",
297 "changePasswordButton": "비밀번호 변경",
298 "changing": "변경 중...",
299 "exportData": "데이터 내보내기",
300 "exportDataDescription": "전체 저장소를 CAR (Content Addressable Archive) 파일로 다운로드합니다. 모든 게시물, 좋아요, 팔로우 및 기타 데이터가 포함됩니다.",
301 "downloadRepo": "저장소 다운로드",
302 "downloadBlobs": "미디어 다운로드",
303 "exporting": "내보내기 중...",
304 "backups": {
305 "title": "백업",
306 "description": "자동 백업을 관리하고 계정 데이터를 복원하세요. 백업에는 모든 기록과 blob이 포함됩니다.",
307 "enableAutomatic": "자동 백업",
308 "enabled": "활성화됨",
309 "disabled": "비활성화됨",
310 "toggleFailed": "백업 설정 변경 실패",
311 "noBackups": "아직 백업이 없습니다",
312 "blocks": "블록",
313 "download": "다운로드",
314 "delete": "삭제",
315 "createNow": "지금 백업 생성",
316 "created": "백업이 생성되었습니다",
317 "createFailed": "백업 생성 실패",
318 "downloadFailed": "백업 다운로드 실패",
319 "deleted": "백업이 삭제되었습니다",
320 "deleteFailed": "백업 삭제 실패",
321 "restoreTitle": "백업에서 복원",
322 "restoreDescription": "이전에 내보낸 CAR 파일에서 계정 데이터를 복원합니다. 이렇게 하면 현재 저장소가 업로드한 백업으로 교체됩니다.",
323 "selectFile": "CAR 파일 선택",
324 "selectedFile": "선택된 파일",
325 "restore": "백업 복원",
326 "restoring": "복원 중...",
327 "restored": "백업이 성공적으로 복원되었습니다",
328 "restoreFailed": "백업 복원 실패"
329 },
330 "deleteAccount": "계정 삭제",
331 "deleteWarning": "이 작업은 되돌릴 수 없습니다. 모든 데이터가 영구적으로 삭제됩니다.",
332 "requestDeletion": "계정 삭제 요청",
333 "confirmationCode": "확인 코드",
334 "confirmationCodePlaceholder": "확인 코드 입력",
335 "yourPassword": "비밀번호",
336 "yourPasswordPlaceholder": "비밀번호 입력",
337 "permanentlyDelete": "계정 영구 삭제",
338 "deleting": "삭제 중...",
339 "messages": {
340 "emailCodeSent": "알림 채널로 인증 코드를 보냈습니다",
341 "emailCodeSentToCurrent": "현재 이메일 주소로 인증 코드를 보냈습니다",
342 "emailUpdated": "이메일이 업데이트되었습니다",
343 "emailUpdateFailed": "이메일 업데이트에 실패했습니다",
344 "handleUpdated": "핸들이 업데이트되었습니다",
345 "handleUpdateFailed": "핸들 업데이트에 실패했습니다",
346 "passwordChanged": "비밀번호가 변경되었습니다",
347 "passwordChangeFailed": "비밀번호 변경에 실패했습니다",
348 "passwordsMismatch": "비밀번호가 일치하지 않습니다",
349 "passwordsDoNotMatch": "비밀번호가 일치하지 않습니다",
350 "passwordLength": "비밀번호는 8자 이상이어야 합니다",
351 "passwordTooShort": "비밀번호는 8자 이상이어야 합니다",
352 "deletionCodeSent": "이메일로 삭제 확인을 보냈습니다",
353 "deletionConfirmationSent": "이메일로 삭제 확인을 보냈습니다",
354 "deletionRequestFailed": "계정 삭제 요청에 실패했습니다",
355 "deleteConfirmation": "정말로 계정을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
356 "deletionFailed": "계정 삭제에 실패했습니다",
357 "repoExported": "저장소를 내보냈습니다",
358 "blobsExported": "미디어 파일을 내보냈습니다",
359 "noBlobsToExport": "내보낼 미디어 파일이 없습니다",
360 "exportFailed": "내보내기에 실패했습니다",
361 "confirmDelete": "정말로 계정을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다."
362 }
363 },
364 "appPasswords": {
365 "title": "앱 비밀번호",
366 "description": "앱 비밀번호를 사용하면 기본 비밀번호를 제공하지 않고 타사 앱에 로그인할 수 있습니다. 각 앱 비밀번호는 개별적으로 취소할 수 있습니다.",
367 "createNew": "새 앱 비밀번호 만들기",
368 "appNamePlaceholder": "앱 이름 (예: Graysky, Skeets)",
369 "created": "앱 비밀번호가 생성되었습니다",
370 "createdMessage": "지금 이 비밀번호를 복사하세요. 다시 볼 수 없습니다.",
371 "yourPasswords": "앱 비밀번호 목록",
372 "noPasswords": "앱 비밀번호가 아직 없습니다",
373 "revoke": "취소",
374 "revoking": "취소 중...",
375 "revokeConfirm": "앱 비밀번호 \"{name}\"을(를) 취소하시겠습니까? 이 비밀번호를 사용하는 앱은 더 이상 계정에 액세스할 수 없습니다.",
376 "saveWarningTitle": "중요: 이 앱 비밀번호를 저장하세요!",
377 "saveWarningMessage": "이 비밀번호는 패스키 또는 OAuth를 지원하지 않는 앱에 로그인하는 데 필요합니다. 한 번만 볼 수 있습니다.",
378 "acknowledgeLabel": "앱 비밀번호를 안전한 곳에 저장했습니다",
379 "permissions": "권한",
380 "scopeFull": "전체 권한",
381 "scopeReadOnly": "읽기 전용",
382 "scopePostOnly": "게시만 가능",
383 "scopeCustom": "사용자 지정",
384 "byController": "컨트롤러 생성"
385 },
386 "sessions": {
387 "title": "활성 세션",
388 "loadingSessions": "세션 로딩 중...",
389 "noSessions": "활성 세션이 없습니다.",
390 "current": "현재",
391 "oauth": "OAuth",
392 "session": "세션",
393 "signOut": "로그아웃",
394 "revoke": "취소",
395 "revokeAll": "다른 모든 세션 취소",
396 "revokeCurrentConfirm": "이 세션에서 로그아웃됩니다. 계속하시겠습니까?",
397 "revokeConfirm": "이 세션을 취소하시겠습니까?",
398 "revokeAllConfirm": "{count}개의 다른 세션을 취소합니다. 계속하시겠습니까?",
399 "noOtherSessions": "취소할 다른 세션이 없습니다",
400 "failedToLoad": "세션 로딩에 실패했습니다",
401 "failedToRevoke": "세션 취소에 실패했습니다",
402 "failedToRevokeAll": "세션 취소에 실패했습니다",
403 "created": "생성일:",
404 "expires": "만료일:",
405 "daysAgo": "{count}일 전",
406 "hoursAgo": "{count}시간 전",
407 "minutesAgo": "{count}분 전",
408 "justNow": "방금"
409 },
410 "inviteCodes": {
411 "title": "초대 코드",
412 "description": "초대 코드로 친구를 이 PDS에 초대할 수 있습니다. 각 코드는 한 번만 사용할 수 있습니다.",
413 "createNew": "새 초대 코드 만들기",
414 "uses": "사용 횟수",
415 "usesPlaceholder": "사용 횟수 (1-100)",
416 "yourCodes": "초대 코드 목록",
417 "noCodes": "초대 코드가 아직 없습니다",
418 "available": "사용 가능",
419 "used": "@{handle}이(가) 사용함",
420 "disabled": "비활성화됨",
421 "usedBy": "사용자",
422 "disableConfirm": "이 초대 코드를 비활성화하시겠습니까? 더 이상 사용할 수 없습니다.",
423 "created": "초대 코드가 생성되었습니다",
424 "copy": "복사",
425 "createdOn": "{date}에 생성됨"
426 },
427 "security": {
428 "title": "보안",
429 "passkeys": "패스키",
430 "passkeysDescription": "패스키는 기기의 내장 보안(지문, 얼굴 또는 PIN)을 사용하여 안전한 비밀번호 없는 인증을 제공합니다.",
431 "addPasskey": "패스키 추가",
432 "adding": "추가 중...",
433 "noPasskeys": "등록된 패스키가 없습니다",
434 "passkeyName": "패스키 이름",
435 "passkeyNamePlaceholder": "예: MacBook Pro, iPhone",
436 "register": "등록",
437 "registering": "등록 중...",
438 "rename": "이름 변경",
439 "renaming": "이름 변경 중...",
440 "deletePasskey": "삭제",
441 "deletePasskeyConfirm": "패스키 \"{name}\"을(를) 삭제하시겠습니까? 더 이상 로그인에 사용할 수 없습니다.",
442 "totp": "인증 앱 (TOTP)",
443 "totpDescription": "Google Authenticator, Authy 또는 1Password와 같은 인증 앱을 2단계 인증에 사용합니다.",
444 "totpEnabled": "TOTP가 활성화되었습니다",
445 "totpDisabled": "TOTP가 비활성화되었습니다",
446 "enableTotp": "TOTP 활성화",
447 "disableTotp": "TOTP 비활성화",
448 "disabling": "비활성화 중...",
449 "totpSetup": "인증 앱 설정",
450 "totpSetupInstructions": "인증 앱으로 이 QR 코드를 스캔한 다음 6자리 코드를 입력하여 확인합니다.",
451 "totpCode": "인증 코드",
452 "totpCodePlaceholder": "6자리 코드 입력",
453 "verifyAndEnable": "확인 후 활성화",
454 "backupCodes": "백업 코드",
455 "backupCodesDescription": "인증 앱에 액세스할 수 없는 경우 이 코드를 사용하여 로그인합니다. 각 코드는 한 번만 사용할 수 있습니다.",
456 "regenerateBackupCodes": "백업 코드 재생성",
457 "regenerating": "재생성 중...",
458 "regenerateConfirm": "백업 코드를 재생성하시겠습니까? 현재 코드는 더 이상 작동하지 않습니다.",
459 "legacyLogin": "레거시 로그인",
460 "legacyLoginDescription": "사용자 이름/비밀번호로 직접 로그인(레거시 모드)을 허용합니다. 비활성화하면 MFA가 있는 OAuth를 사용해야 합니다.",
461 "legacyLoginOn": "레거시 로그인이 활성화되었습니다",
462 "legacyLoginOff": "레거시 로그인이 비활성화되었습니다",
463 "enableLegacyLogin": "레거시 로그인 활성화",
464 "disableLegacyLogin": "레거시 로그인 비활성화",
465 "legacyLoginWarning": "경고: 레거시 로그인을 활성화하면 직접 비밀번호 로그인에 대한 MFA가 우회됩니다. 앱 호환성이 필요한 경우에만 활성화하세요.",
466 "totpPasswordWarning": "TOTP가 활성화되면 Bluesky 앱(또는 기타 레거시 앱)에서 비밀번호를 변경할 수 없습니다. 비밀번호를 변경하려면 두 가지 방법이 있습니다:",
467 "totpPasswordOption1Label": "여기에서 변경:",
468 "totpPasswordOption1Text": "이 웹사이트의",
469 "totpPasswordOption1Link": "설정 페이지",
470 "totpPasswordOption1Suffix": "에서 인증 앱으로 확인할 수 있습니다.",
471 "totpPasswordOption2Label": "먼저 세션 확인:",
472 "totpPasswordOption2Text": "",
473 "totpPasswordOption2Link": "재인증 옵션",
474 "totpPasswordOption2Suffix": "을 사용하여 TOTP로 Bluesky 세션을 확인하면 일시적으로 비밀번호 변경이 가능합니다.",
475 "legacyAppsTitle": "레거시 앱이란?",
476 "legacyAppsDescription": "일부 앱(공식 Bluesky 앱 등)은 비밀번호만 필요한 이전 인증을 사용합니다. MFA가 활성화되어 있으면 이러한 앱은 두 번째 인증 요소를 우회합니다. 레거시 로그인을 비활성화하면 모든 앱이 OAuth를 사용하도록 강제되어 MFA가 적절히 적용됩니다.",
477 "password": "비밀번호",
478 "passwordStatus": "비밀번호가 설정되었습니다",
479 "noPassword": "비밀번호가 설정되지 않음 (패스키 전용 계정)",
480 "setPassword": "비밀번호 설정",
481 "removePassword": "비밀번호 제거",
482 "removePasswordConfirm": "비밀번호를 제거하시겠습니까? 로그인에 패스키가 필요합니다.",
483 "removing": "제거 중...",
484 "loading": "로딩 중...",
485 "loadingPasskeys": "패스키 로딩 중...",
486 "cancel": "취소",
487 "save": "저장",
488 "back": "뒤로",
489 "next": "다음: 코드 확인",
490 "copyToClipboard": "클립보드에 복사",
491 "savedMyCodes": "코드를 저장했습니다",
492 "cantScan": "스캔할 수 없나요? 수동 입력",
493 "unnamedPasskey": "이름 없는 패스키",
494 "added": "추가됨",
495 "lastUsed": "마지막 사용",
496 "passwordDescription": "계정 비밀번호를 관리합니다. 패스키를 설정한 경우 완전한 비밀번호 없는 경험을 위해 비밀번호를 제거할 수 있습니다.",
497 "disableTotpWarning": "이렇게 하면 계정 보안이 약해집니다.",
498 "removePasswordWarning": "이렇게 하면 계정이 패스키 전용이 됩니다. 등록된 패스키로만 로그인할 수 있습니다. 모든 패스키에 액세스할 수 없게 되면 알림 채널을 사용하여 계정을 복구할 수 있습니다.",
499 "beforeProceeding": "계속하기 전에:",
500 "beforeProceedingItem1": "최소 하나의 신뢰할 수 있는 패스키가 등록되어 있는지 확인",
501 "beforeProceedingItem2": "여러 기기에 패스키 등록을 고려",
502 "beforeProceedingItem3": "복구 알림 채널이 최신인지 확인",
503 "addPasskeyFirst": "비밀번호를 제거하려면 먼저 최소 하나의 패스키를 추가하세요.",
504 "passkeyOnlyHint": "패스키로만 로그인합니다. 패스키에 액세스할 수 없게 되면 로그인 페이지의 '패스키를 분실하셨나요?' 링크를 사용하여 계정을 복구할 수 있습니다.",
505 "trustedDevices": "신뢰할 수 있는 기기",
506 "trustedDevicesDescription": "로그인 시 2단계 인증을 건너뛸 수 있는 기기를 관리합니다. 신뢰는 30일간 유효하며 기기를 사용하면 자동으로 연장됩니다.",
507 "manageTrustedDevices": "신뢰할 수 있는 기기 관리",
508 "appCompatibility": "앱 호환성",
509 "enterPassword": "비밀번호를 입력하세요",
510 "sessionExpired": "세션이 만료되었습니다. 다시 로그인하세요.",
511 "legacyLoginEnabled": "레거시 앱 로그인 활성화됨",
512 "legacyLoginDisabled": "레거시 앱 로그인 비활성화됨 - OAuth 앱만 로그인 가능",
513 "failedToUpdatePreference": "설정 업데이트에 실패했습니다",
514 "passwordRemoved": "비밀번호가 제거되었습니다. 이제 계정은 패스키 전용입니다.",
515 "failedToRemovePassword": "비밀번호 제거에 실패했습니다",
516 "failedToLoadTotpStatus": "TOTP 상태 로딩에 실패했습니다",
517 "totpEnabledSuccess": "2단계 인증이 활성화되었습니다",
518 "totpDisabledSuccess": "2단계 인증이 비활성화되었습니다",
519 "backupCodesCopied": "백업 코드가 클립보드에 복사되었습니다",
520 "failedToLoadPasskeys": "패스키 로딩에 실패했습니다",
521 "passkeysNotSupported": "이 브라우저에서 패스키가 지원되지 않습니다",
522 "passkeyCreationCancelled": "패스키 생성이 취소되었습니다",
523 "passkeyAddedSuccess": "패스키가 추가되었습니다",
524 "passkeyDeleted": "패스키가 삭제되었습니다",
525 "passkeyRenamed": "패스키 이름이 변경되었습니다"
526 },
527 "comms": {
528 "title": "통신 설정",
529 "description": "비밀번호 재설정, 보안 알림, 계정 업데이트 등 중요한 메시지를 받는 방법을 선택하세요.",
530 "preferredChannel": "선호 채널",
531 "preferredChannelDescription": "메시지 수신 방법을 선택하세요. 선택하기 전에 채널을 설정해야 합니다.",
532 "channelConfiguration": "채널 설정",
533 "emailVia": "이메일로 메시지 받기",
534 "discordVia": "Discord DM으로 메시지 받기",
535 "telegramVia": "Telegram으로 메시지 받기",
536 "signalVia": "Signal로 메시지 받기",
537 "configureToEnable": "활성화하려면 아래에서 설정",
538 "notConfiguredOnServer": "이 서버에서 설정되지 않음",
539 "emailManagedInSettings": "이메일은 계정 설정에서 관리됩니다",
540 "discordIdHint": "Discord 사용자 ID (사용자 이름 아님). Discord에서 개발자 모드를 활성화하여 복사하세요.",
541 "telegramHint": "@ 기호 없이 Telegram 사용자 이름",
542 "signalHint": "국가 코드가 포함된 Signal 전화번호",
543 "primary": "기본",
544 "verified": "인증됨",
545 "notVerified": "미인증",
546 "verifyButton": "인증",
547 "verifyCodePlaceholder": "인증 코드 입력",
548 "submit": "제출",
549 "savePreferences": "설정 저장",
550 "preferencesSaved": "통신 설정이 저장되었습니다",
551 "verifiedSuccess": "{channel} 인증 완료",
552 "messageHistory": "메시지 기록",
553 "historyDescription": "계정에 전송된 최근 메시지를 확인합니다.",
554 "loadHistory": "기록 불러오기",
555 "hideHistory": "기록 숨기기",
556 "noMessages": "메시지가 없습니다.",
557 "sent": "전송됨",
558 "failed": "실패"
559 },
560 "repoExplorer": {
561 "title": "저장소 탐색기",
562 "description": "AT Protocol 레코드를 탐색하고 관리합니다.",
563 "collections": "컬렉션",
564 "noCollections": "컬렉션을 찾을 수 없습니다",
565 "records": "레코드",
566 "noRecords": "이 컬렉션에 레코드가 없습니다",
567 "recordDetails": "레코드 세부 정보",
568 "rkey": "레코드 키",
569 "uri": "URI",
570 "cid": "CID",
571 "value": "값",
572 "deleteRecord": "레코드 삭제",
573 "deleteConfirm": "레코드 {rkey}을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
574 "unknownError": "알 수 없는 오류가 발생했습니다",
575 "invalidJson": "잘못된 JSON",
576 "collectionRequired": "컬렉션은 필수입니다",
577 "recordCreated": "레코드 생성됨: {uri}",
578 "recordUpdated": "레코드가 업데이트되었습니다",
579 "recordDeleted": "레코드가 삭제되었습니다",
580 "newRecord": "새 레코드",
581 "createRecord": "레코드 생성",
582 "filterCollections": "컬렉션 검색...",
583 "filterRecords": "레코드 검색...",
584 "noCollectionsYet": "컬렉션이 아직 없습니다. 첫 번째 레코드를 만들어 시작하세요.",
585 "loadMore": "더 불러오기",
586 "recordJson": "레코드 JSON",
587 "updateRecord": "레코드 업데이트",
588 "collectionNsid": "컬렉션 (NSID)",
589 "recordKeyOptional": "레코드 키 (선택사항)",
590 "autoGenerated": "비워두면 자동 생성 (TID)",
591 "autoGeneratedHint": "비워두면 TID 기반 키가 자동 생성됩니다",
592 "demoPostText": "안녕하세요, 제 PDS에서 보내는 첫 번째 게시물입니다!",
593 "demoDisplayName": "표시 이름",
594 "demoBio": "간단한 자기소개를 작성하세요."
595 },
596 "admin": {
597 "title": "관리 패널",
598 "loading": "로딩 중...",
599 "serverConfig": "서버 설정",
600 "serverName": "서버 이름",
601 "serverNamePlaceholder": "내 PDS",
602 "serverNameHelp": "브라우저 탭 및 다른 곳에 표시됩니다",
603 "serverLogo": "서버 로고",
604 "logoPreview": "로고 미리보기",
605 "removeLogo": "삭제",
606 "logoHelp": "파비콘으로 사용되며 네비게이션 바에 표시됩니다",
607 "themeColors": "테마 색상",
608 "themeColorsHint": "기본 색상을 사용하려면 비워 두세요.",
609 "primaryLight": "기본 (라이트 모드)",
610 "primaryDark": "기본 (다크 모드)",
611 "configSaved": "서버 설정이 저장되었습니다",
612 "saveConfig": "설정 저장",
613 "serverStats": "서버 통계",
614 "users": "사용자",
615 "repos": "저장소",
616 "records": "레코드",
617 "blobStorage": "Blob 저장소",
618 "refreshStats": "통계 새로고침",
619 "userManagement": "사용자 관리",
620 "searchPlaceholder": "핸들로 검색 (선택사항)",
621 "searchUsers": "사용자 검색",
622 "noUsers": "사용자를 찾을 수 없습니다",
623 "handle": "핸들",
624 "email": "이메일",
625 "status": "상태",
626 "created": "생성일",
627 "loadMore": "더 불러오기",
628 "inviteCodes": "초대 코드",
629 "loadInviteCodes": "초대 코드 불러오기",
630 "refresh": "새로고침",
631 "noInvites": "초대 코드가 없습니다",
632 "code": "코드",
633 "available": "사용 가능",
634 "uses": "사용 횟수",
635 "actions": "작업",
636 "disable": "비활성화",
637 "disableInviteConfirm": "초대 코드 {code}을(를) 비활성화하시겠습니까?",
638 "active": "활성",
639 "exhausted": "소진됨",
640 "disabled": "비활성화됨",
641 "userDetails": "사용자 세부 정보",
642 "did": "DID",
643 "invites": "초대",
644 "enabled": "활성화됨",
645 "enableInvites": "초대 활성화",
646 "disableInvites": "초대 비활성화",
647 "deleteAccount": "계정 삭제",
648 "deleteConfirm": "계정 @{handle}을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
649 "verified": "인증됨",
650 "unverified": "미인증",
651 "deactivated": "비활성화됨",
652 "colorDefault": "{color} (기본값)",
653 "secondaryLight": "보조 (라이트 모드)",
654 "secondaryDark": "보조 (다크 모드)"
655 },
656 "oauth": {
657 "login": {
658 "title": "로그인",
659 "subtitle": "앱을 계속하려면 로그인하세요",
660 "signingIn": "로그인 중...",
661 "authenticating": "인증 중...",
662 "checkingPasskey": "패스키 확인 중...",
663 "signInWithPasskey": "패스키로 로그인",
664 "passkeyNotSetUp": "패스키가 설정되지 않음",
665 "orUsePassword": "또는 비밀번호 사용",
666 "password": "비밀번호",
667 "rememberDevice": "이 기기 기억하기",
668 "passkeyHintChecking": "패스키 상태 확인 중...",
669 "passkeyHintAvailable": "패스키로 로그인",
670 "passkeyHintNotAvailable": "이 계정에 등록된 패스키가 없습니다",
671 "passkeyHint": "기기의 생체 인식 또는 보안 키 사용",
672 "passwordPlaceholder": "비밀번호 입력",
673 "usePasskey": "패스키 사용"
674 },
675 "consent": {
676 "title": "앱 승인",
677 "appWantsAccess": "{app}이(가) 계정에 액세스하려고 합니다",
678 "permissions": "이 앱은 다음을 수행할 수 있습니다:",
679 "readProfile": "프로필 정보 읽기",
680 "readPosts": "게시물 및 콘텐츠 읽기",
681 "writePosts": "대신 게시물 작성 및 삭제",
682 "readNotifications": "알림 읽기",
683 "fullAccess": "계정에 대한 전체 액세스",
684 "authorize": "승인",
685 "deny": "거부",
686 "authorizing": "승인 중...",
687 "rememberChoice": "이 선택 기억",
688 "signingInAs": "로그인 계정:",
689 "permissionsRequested": "요청된 권한",
690 "required": "필수",
691 "rememberChoiceLabel": "이 앱에 대한 선택 기억하기"
692 },
693 "accounts": {
694 "title": "계정 선택",
695 "subtitle": "계속할 계정 선택",
696 "useAnother": "다른 계정 사용"
697 },
698 "twoFactor": {
699 "title": "2단계 인증",
700 "subtitle": "추가 확인이 필요합니다",
701 "usePasskey": "패스키 사용",
702 "useTotp": "인증 앱 사용"
703 },
704 "twoFactorCode": {
705 "title": "2단계 인증",
706 "subtitle": "{channel}(으)로 인증 코드를 보냈습니다. 아래에 코드를 입력하여 계속하세요.",
707 "codeLabel": "인증 코드",
708 "codePlaceholder": "6자리 코드 입력",
709 "errors": {
710 "missingRequestUri": "request_uri 매개변수가 없습니다",
711 "verificationFailed": "인증에 실패했습니다",
712 "connectionFailed": "서버에 연결하지 못했습니다",
713 "unexpectedResponse": "서버로부터 예기치 않은 응답"
714 }
715 },
716 "totp": {
717 "title": "인증 코드 입력",
718 "subtitle": "인증 앱의 6자리 코드를 입력하세요",
719 "codePlaceholder": "6자리 코드 입력",
720 "useBackupCode": "백업 코드 사용",
721 "backupCodePlaceholder": "백업 코드 입력",
722 "trustDevice": "이 기기를 30일간 신뢰",
723 "hintBackupCode": "백업 코드 사용 중",
724 "hintTotpCode": "인증 코드 사용 중",
725 "hintDefault": "인증 앱은 6자리, 백업 코드는 8자"
726 },
727 "passkey": {
728 "title": "패스키 확인",
729 "subtitle": "패스키를 사용하여 본인 확인",
730 "waiting": "패스키 대기 중...",
731 "useTotp": "인증 앱 사용"
732 },
733 "error": {
734 "title": "승인 오류",
735 "genericError": "승인 중 오류가 발생했습니다.",
736 "tryAgain": "다시 시도",
737 "backToApp": "앱으로 돌아가기"
738 }
739 },
740 "verify": {
741 "title": "계정 인증",
742 "subtitle": "{channel}(으)로 인증 코드를 보냈습니다. 아래에 입력하여 등록을 완료하세요.",
743 "tokenTitle": "인증",
744 "tokenSubtitle": "인증 코드와 전송된 식별자를 입력하세요.",
745 "codePlaceholder": "XXXX-XXXX-XXXX-XXXX...",
746 "codeLabel": "인증 코드",
747 "codeHelp": "메시지에서 하이픈을 포함한 전체 코드를 복사하세요",
748 "verifyButton": "계정 인증",
749 "pleaseWait": "잠시 기다려 주세요...",
750 "codeResent": "인증 코드를 다시 보냈습니다!",
751 "codeResentDetail": "인증 코드가 전송되었습니다! 받은 편지함을 확인하세요.",
752 "verified": "인증 완료!",
753 "channelVerified": "{channel}이(가) 성공적으로 인증되었습니다.",
754 "canNowSignIn": "이제 계정에 로그인할 수 있습니다.",
755 "continue": "계속",
756 "identifierLabel": "이메일 또는 식별자",
757 "identifierPlaceholder": "you@example.com",
758 "identifierHelp": "코드가 전송된 이메일 주소 또는 식별자",
759 "verifyingAccount": "인증 중인 계정: @{handle}",
760 "startOver": "다른 계정으로 다시 시작",
761 "noPending": "보류 중인 인증이 없습니다.",
762 "noPendingInfo": "최근에 계정을 만들고 인증이 필요한 경우 새 계정을 만들어야 합니다. 이미 계정을 인증한 경우 로그인할 수 있습니다.",
763 "createAccount": "계정 만들기",
764 "signIn": "로그인",
765 "emailUpdateCodeHelp": "코드가 현재 이메일 주소로 전송되었습니다",
766 "emailUpdateFailed": "이메일 주소 업데이트 실패",
767 "emailUpdateRequiresAuth": "이메일 주소를 업데이트하려면 로그인해야 합니다.",
768 "emailUpdateSubtitle": "새 이메일 주소와 현재 이메일로 전송된 인증 코드를 입력하세요.",
769 "emailUpdateTitle": "이메일 주소 업데이트",
770 "emailUpdated": "이메일 주소가 성공적으로 업데이트되었습니다.",
771 "emailUpdatedInfo": "새 이메일 주소를 인증해야 할 수 있습니다.",
772 "newEmailLabel": "새 이메일 주소",
773 "newEmailPlaceholder": "new@example.com",
774 "updateEmail": "이메일 업데이트",
775 "updating": "업데이트 중..."
776 },
777 "resetPassword": {
778 "title": "비밀번호 재설정",
779 "forgotTitle": "비밀번호를 잊으셨나요",
780 "subtitle": "받은 코드를 입력하고 새 비밀번호를 선택하세요.",
781 "forgotSubtitle": "핸들 또는 이메일을 입력하면 비밀번호 재설정 코드를 보내드립니다.",
782 "handleOrEmail": "핸들 또는 이메일",
783 "emailPlaceholder": "핸들 또는 you@example.com",
784 "sendCode": "재설정 코드 보내기",
785 "sending": "전송 중...",
786 "codeSent": "비밀번호 재설정 코드를 보냈습니다! 선호하는 알림 채널을 확인하세요.",
787 "enterCode": "받은 코드와 새 비밀번호를 입력하세요.",
788 "code": "재설정 코드",
789 "codePlaceholder": "재설정 코드 입력",
790 "newPassword": "새 비밀번호",
791 "newPasswordPlaceholder": "8자 이상",
792 "confirmPassword": "비밀번호 확인",
793 "confirmPasswordPlaceholder": "새 비밀번호 재입력",
794 "resetButton": "비밀번호 재설정",
795 "resetting": "재설정 중...",
796 "success": "비밀번호가 재설정되었습니다!",
797 "requestNewCode": "새 코드 요청",
798 "passwordsMismatch": "비밀번호가 일치하지 않습니다",
799 "passwordLength": "비밀번호는 8자 이상이어야 합니다"
800 },
801 "recoverPasskey": {
802 "title": "계정 복구",
803 "invalidLinkTitle": "잘못된 복구 링크",
804 "invalidLinkMessage": "이 복구 링크가 잘못되었거나 손상되었습니다. 새 복구 이메일을 요청하세요.",
805 "goToLogin": "로그인으로 이동",
806 "successTitle": "비밀번호가 설정되었습니다!",
807 "successMessage": "임시 비밀번호가 설정되었습니다. 이 비밀번호로 로그인할 수 있습니다.",
808 "successNextSteps": "로그인 후 보안 설정에서 새 패스키를 추가하여 패스키 전용 인증을 복원하는 것이 좋습니다.",
809 "signIn": "로그인",
810 "subtitle": "패스키 전용 계정에 대한 액세스를 복구하기 위해 임시 비밀번호를 설정합니다.",
811 "newPassword": "새 비밀번호",
812 "newPasswordPlaceholder": "8자 이상",
813 "confirmPassword": "비밀번호 확인",
814 "confirmPasswordPlaceholder": "비밀번호 재입력",
815 "whatHappensNext": "다음 단계",
816 "whatHappensNextDetail": "이 비밀번호를 설정한 후 로그인하여 보안 설정에서 새 패스키를 추가할 수 있습니다. 새 패스키를 추가한 후 임시 비밀번호를 제거할 수 있습니다.",
817 "setPassword": "비밀번호 설정",
818 "settingPassword": "비밀번호 설정 중...",
819 "validation": {
820 "passwordRequired": "새 비밀번호는 필수입니다",
821 "passwordLength": "비밀번호는 8자 이상이어야 합니다",
822 "passwordsMismatch": "비밀번호가 일치하지 않습니다"
823 },
824 "errors": {
825 "invalidLink": "잘못된 복구 링크입니다. 새 링크를 요청하세요.",
826 "expired": "이 복구 링크가 만료되었습니다. 새 링크를 요청하세요."
827 }
828 },
829 "requestPasskeyRecovery": {
830 "title": "패스키 계정 복구",
831 "subtitle": "패스키에 액세스할 수 없나요? 핸들 또는 이메일을 입력하면 복구 링크를 보내드립니다.",
832 "successTitle": "복구 링크 전송됨",
833 "successMessage": "계정이 존재하고 패스키 전용 계정인 경우 선호하는 알림 채널로 복구 링크를 받게 됩니다.",
834 "successInfo": "링크는 1시간 후 만료됩니다. 계정 설정에 따라 이메일, Discord, Telegram 또는 Signal을 확인하세요.",
835 "handleOrEmail": "핸들 또는 이메일",
836 "emailPlaceholder": "핸들 또는 you@example.com",
837 "howItWorks": "작동 방식",
838 "howItWorksDetail": "등록된 알림 채널로 보안 링크를 보냅니다. 링크를 클릭하여 임시 비밀번호를 설정합니다. 그런 다음 로그인하여 새 패스키를 추가할 수 있습니다.",
839 "sendRecoveryLink": "복구 링크 보내기",
840 "sending": "전송 중..."
841 },
842 "registerPasskey": {
843 "title": "패스키 계정 만들기",
844 "subtitle": "비밀번호 대신 패스키를 사용하여 초안전 계정을 만듭니다.",
845 "subtitleKeyChoice": "외부 did:web 아이덴티티 설정 방법을 선택하세요.",
846 "subtitleVerify": "{channel}(으)로 인증 코드를 보냈습니다. 코드를 입력하여 계속하세요.",
847 "subtitlePasskey": "패스키를 만들어 계정 설정을 완료하세요.",
848 "handle": "핸들",
849 "handlePlaceholder": "사용자 이름",
850 "handleHint": "전체 핸들: @{handle}",
851 "contactMethod": "연락 방법",
852 "contactMethodHint": "계정 인증 및 알림 수신 방법을 선택하세요.",
853 "verificationMethod": "인증 방법",
854 "email": "이메일 주소",
855 "emailPlaceholder": "you@example.com",
856 "inviteCode": "초대 코드",
857 "inviteCodePlaceholder": "초대 코드 입력",
858 "externalDid": "귀하의 did:web",
859 "externalDidPlaceholder": "did:web:yourdomain.com",
860 "createButton": "계정 만들기",
861 "alreadyHaveAccount": "이미 계정이 있으신가요?",
862 "signIn": "로그인",
863 "wantPassword": "비밀번호를 사용하시겠습니까?",
864 "createPasswordAccount": "비밀번호 계정 만들기",
865 "errors": {
866 "handleRequired": "핸들은 필수입니다",
867 "handleNoDots": "핸들에 점을 포함할 수 없습니다. 계정 생성 후 사용자 정의 도메인을 설정할 수 있습니다.",
868 "passkeysNotSupported": "이 브라우저에서 패스키가 지원되지 않습니다. 비밀번호 기반 계정을 만들거나 패스키를 지원하는 브라우저를 사용하세요.",
869 "passkeyCancelled": "패스키 생성이 취소되었습니다",
870 "passkeyFailed": "패스키 등록에 실패했습니다",
871 "signalRequired": "Signal 인증에는 전화번호가 필요합니다",
872 "inviteRequired": "초대 코드가 필요합니다",
873 "externalDidRequired": "외부 did:web이 필요합니다",
874 "emailRequired": "이메일 인증에는 이메일이 필요합니다",
875 "telegramRequired": "Telegram 인증에는 Telegram 사용자 이름이 필요합니다",
876 "externalDidFormat": "외부 DID는 did:web:으로 시작해야 합니다",
877 "discordRequired": "Discord 인증에는 Discord ID가 필요합니다"
878 },
879 "whyPasskeyBullet1": "피싱이나 데이터 유출로 도난당할 수 없음",
880 "whyPasskeyBullet2": "하드웨어 기반 암호화 키 사용",
881 "whyPasskeyBullet3": "생체 인식 또는 기기 PIN 필요",
882 "whyPasskeyOnly": "왜 패스키만 사용하나요?",
883 "whyPasskeyOnlyDesc": "패스키 계정은 비밀번호 기반 계정보다 안전합니다:",
884 "subtitleInitialDidDoc": "계속하려면 DID 문서를 업로드하세요.",
885 "subtitleUpdatedDidDoc": "PDS 서명 키로 DID 문서를 업데이트하세요.",
886 "subtitleActivating": "계정을 활성화하는 중...",
887 "subtitleComplete": "계정이 성공적으로 생성되었습니다!",
888 "subtitleCreating": "계정을 생성하는 중...",
889 "subtitleAppPassword": "서드파티 앱용 앱 비밀번호를 저장하세요.",
890 "creatingPasskey": "패스키 생성 중...",
891 "passkeyPrompt": "아래 버튼을 클릭하여 패스키를 생성하세요. 다음을 사용하라는 메시지가 표시됩니다:",
892 "passkeyPromptBullet1": "Touch ID 또는 Face ID",
893 "passkeyPromptBullet2": "기기 PIN 또는 비밀번호",
894 "passkeyPromptBullet3": "보안 키 (있는 경우)",
895 "identityType": "아이덴티티 유형",
896 "identityTypeHint": "분산 아이덴티티 관리 방법을 선택하세요.",
897 "passkeyNameLabel": "패스키 이름 (선택사항)",
898 "passkeyNamePlaceholder": "예: MacBook Touch ID",
899 "passkeyNameHint": "이 패스키를 식별할 수 있는 이름",
900 "createPasskey": "패스키 생성",
901 "didPlcRecommended": "did:plc (권장)",
902 "didPlcHint": "PLC Directory에서 관리하는 이동 가능한 아이덴티티",
903 "didWeb": "did:web",
904 "didWebHint": "이 PDS에서 호스팅되는 아이덴티티 (아래 경고 읽기)",
905 "didWebDisabledHint": "이 PDS에서 사용할 수 없음 - did:plc를 사용하거나 자체 did:web을 가져오세요",
906 "didWebBYOD": "did:web (BYOD)",
907 "didWebBYODHint": "자체 도메인 사용",
908 "didWebWarningTitle": "중요: 장단점 이해하기",
909 "didWebWarning1": "이 PDS에 영구적으로 연결됨:",
910 "didWebWarning1Detail": "귀하의 아이덴티티 {did}는 이 서버에 연결됩니다.",
911 "didWebWarning2": "복구 메커니즘 없음:",
912 "didWebWarning2Detail": "did:plc와 달리 did:web에는 순환 키가 없습니다.",
913 "didWebWarning3": "우리의 약속:",
914 "didWebWarning3Detail": "마이그레이션하더라도 최소한의 DID 문서를 계속 제공합니다.",
915 "didWebWarning4": "권장 사항:",
916 "didWebWarning4Detail": "did:web을 선호할 특별한 이유가 없다면 did:plc를 선택하세요.",
917 "externalDidHint": "다음 위치에서 DID 문서를 제공해야 합니다",
918 "continue": "계속",
919 "back": "뒤로",
920 "loading": "로딩 중...",
921 "redirecting": "대시보드로 이동 중...",
922 "handleDotWarning": "사용자 정의 도메인 핸들은 계정 생성 후 설정할 수 있습니다.",
923 "wantTraditional": "기존 비밀번호를 원하시나요?",
924 "registerWithPassword": "비밀번호로 가입"
925 },
926 "trustedDevices": {
927 "title": "신뢰할 수 있는 기기",
928 "backToSecurity": "← 보안 설정",
929 "description": "신뢰할 수 있는 기기는 로그인 시 2단계 인증을 건너뛸 수 있습니다. 신뢰는 30일간 유효하며 기기를 사용할 때 자동으로 연장됩니다.",
930 "failedToLoad": "신뢰할 수 있는 기기를 불러오지 못했습니다",
931 "noDevices": "신뢰할 수 있는 기기가 아직 없습니다.",
932 "noDevicesHint": "2단계 인증이 활성화된 상태로 로그인할 때 기기를 30일간 신뢰하도록 선택할 수 있습니다.",
933 "lastSeen": "마지막 접속:",
934 "trustedSince": "신뢰 시작:",
935 "trustExpires": "신뢰 만료:",
936 "expired": "만료됨",
937 "tomorrow": "내일",
938 "inDays": "{days}일 후",
939 "revoke": "신뢰 취소",
940 "revokeConfirm": "이 기기에 대한 신뢰를 취소하시겠습니까? 다음에 이 기기에서 로그인할 때 2FA 코드를 입력해야 합니다.",
941 "deviceRevoked": "기기 신뢰가 취소되었습니다",
942 "deviceRenamed": "기기 이름이 변경되었습니다",
943 "deviceNamePlaceholder": "기기 이름",
944 "browser": "브라우저:",
945 "unknownDevice": "알 수 없는 기기"
946 },
947 "reauth": {
948 "title": "재인증 필요",
949 "subtitle": "계속하려면 본인 확인을 해주세요.",
950 "password": "비밀번호",
951 "totp": "TOTP",
952 "passkey": "패스키",
953 "authenticatorCode": "인증 코드",
954 "usePassword": "비밀번호 사용",
955 "usePasskey": "패스키 사용",
956 "useTotp": "인증 앱 사용",
957 "passwordPlaceholder": "비밀번호 입력",
958 "totpPlaceholder": "6자리 코드 입력",
959 "authenticating": "인증 중...",
960 "passkeyPrompt": "아래 버튼을 클릭하여 패스키로 인증하세요.",
961 "cancel": "취소"
962 },
963 "verifyChannel": {
964 "title": "채널 인증",
965 "subtitle": "알림 채널로 전송된 인증 코드를 입력하세요.",
966 "signInRequired": "로그인 필요",
967 "signInRequiredDesc": "채널을 인증하려면 로그인해야 합니다.",
968 "signIn": "로그인",
969 "verifying": "인증 중...",
970 "pleaseWait": "채널을 인증하는 중입니다. 잠시 기다려 주세요.",
971 "successTitle": "인증 완료!",
972 "successDesc": "{channel}이(가) 성공적으로 인증되었습니다.",
973 "backToSettings": "설정으로 돌아가기",
974 "channelLabel": "채널",
975 "selectChannel": "채널 선택...",
976 "identifierLabel": "식별자",
977 "identifierPlaceholder": "이메일, Discord ID 등",
978 "identifierHelp": "인증할 이메일 주소, Discord ID, Telegram 사용자 이름 또는 Signal 번호.",
979 "codeLabel": "인증 코드",
980 "codeHelp": "메시지에서 하이픈을 포함한 전체 코드를 복사하세요.",
981 "verifyButton": "인증"
982 },
983 "delegation": {
984 "title": "계정 위임",
985 "controllers": "컨트롤러",
986 "controlledAccounts": "관리 계정",
987 "noControllers": "아직 컨트롤러가 없습니다",
988 "noControlledAccounts": "관리 계정이 없습니다",
989 "addController": "컨트롤러 추가",
990 "handle": "핸들",
991 "did": "DID",
992 "scopeOwner": "소유자",
993 "scopeViewer": "뷰어",
994 "scopeCustom": "사용자 정의",
995 "actAs": "로 활동",
996 "auditLog": "감사 로그",
997 "auditLogTitle": "위임 감사 로그",
998 "backToControllers": "← 컨트롤러로 돌아가기",
999 "loading": "로딩 중...",
1000 "noActivity": "아직 활동이 없습니다",
1001 "actor": "액터",
1002 "controller": "컨트롤러",
1003 "account": "계정",
1004 "details": "세부정보",
1005 "actionGrantCreated": "권한 생성",
1006 "actionGrantRevoked": "권한 취소",
1007 "actionScopesModified": "권한 수정",
1008 "actionTokenIssued": "토큰 발급",
1009 "actionRepoWrite": "저장소 쓰기",
1010 "actionBlobUpload": "Blob 업로드",
1011 "actionAccountAction": "계정 작업",
1012 "previous": "이전",
1013 "next": "다음",
1014 "showing": "{start}~{end} / {total}개",
1015 "refresh": "새로고침",
1016 "failedToLoadAuditLog": "감사 로그를 불러오지 못했습니다",
1017 "adding": "추가 중...",
1018 "accessLevel": "액세스 수준",
1019 "addControllerButton": "+ 컨트롤러 추가",
1020 "auditLogDesc": "모든 위임 활동 보기",
1021 "cannotAddControllers": "다른 계정을 관리하고 있어 컨트롤러를 추가할 수 없습니다. 계정은 컨트롤러를 가지거나 다른 계정을 관리할 수 있지만 둘 다는 불가능합니다.",
1022 "cannotControlAccounts": "이 계정에 컨트롤러가 있어 다른 계정을 관리할 수 없습니다. 계정은 컨트롤러를 가지거나 다른 계정을 관리할 수 있지만 둘 다는 불가능합니다.",
1023 "controlledAccountsDesc": "귀하가 대신 작업할 수 있는 계정",
1024 "controllerAdded": "컨트롤러가 추가되었습니다",
1025 "controllerDid": "컨트롤러 DID",
1026 "controllerRemoved": "컨트롤러가 제거되었습니다",
1027 "controllersDesc": "귀하를 대신하여 작업할 수 있는 계정",
1028 "createAccount": "계정 생성",
1029 "createDelegatedAccount": "위임 계정 생성",
1030 "createDelegatedAccountButton": "+ 위임 계정 생성",
1031 "emailOptional": "이메일 (선택사항)",
1032 "failedToAddController": "컨트롤러 추가에 실패했습니다",
1033 "failedToCreateAccount": "위임 계정 생성에 실패했습니다",
1034 "failedToRemoveController": "컨트롤러 제거에 실패했습니다",
1035 "granted": "허용일",
1036 "inactive": "비활성",
1037 "remove": "제거",
1038 "removeConfirm": "이 컨트롤러를 제거하시겠습니까?",
1039 "viewAuditLog": "감사 로그 보기",
1040 "yourAccessLevel": "귀하의 액세스 수준",
1041 "accountCreated": "위임 계정이 생성되었습니다: {handle}"
1042 },
1043 "actAs": {
1044 "title": "로 활동",
1045 "noAccountSpecified": "계정 DID가 지정되지 않았습니다",
1046 "failedToVerify": "계정 액세스를 확인하지 못했습니다",
1047 "noAccess": "이 계정에 대한 액세스 권한이 없습니다",
1048 "failedToInitiate": "인증 시작에 실패했습니다",
1049 "invalidResponse": "서버에서 잘못된 응답을 받았습니다",
1050 "failedError": "실패: {error}",
1051 "preparing": "위임 계정 로그인 준비 중...",
1052 "backToControllers": "컨트롤러로 돌아가기"
1053 },
1054 "oauthDelegation": {
1055 "loading": "로딩 중...",
1056 "title": "위임 계정",
1057 "isDelegated": "{handle}은(는) 위임 계정입니다.",
1058 "enterControllerHandle": "이 계정에 액세스하려면 컨트롤러 계정으로 로그인하세요.",
1059 "controllerHandle": "컨트롤러 핸들",
1060 "handlePlaceholder": "handle.example.com",
1061 "checking": "확인 중...",
1062 "controllerNotFound": "계정을 찾을 수 없거나 이 위임 계정에 대한 액세스 권한이 없습니다",
1063 "missingParams": "위임 매개변수가 없습니다",
1064 "missingInfo": "필요한 정보가 없습니다",
1065 "passkeyCancelled": "패스키 인증이 취소되었습니다",
1066 "passkeyFailed": "패스키 인증에 실패했습니다",
1067 "failedPasskeyStart": "패스키 로그인 시작에 실패했습니다",
1068 "authFailed": "인증에 실패했습니다",
1069 "unexpectedResponse": "서버에서 예기치 않은 응답을 받았습니다",
1070 "signInAsController": "컨트롤러로 로그인",
1071 "authenticateAs": "{controller}(으)로 인증하여 {delegated}를 대신합니다",
1072 "useDifferentController": "다른 컨트롤러 사용",
1073 "signInWithPasskey": "패스키로 로그인",
1074 "authenticating": "인증 중...",
1075 "usePasskey": "패스키 사용",
1076 "or": "또는",
1077 "password": "비밀번호",
1078 "enterPassword": "비밀번호 입력",
1079 "rememberDevice": "이 기기 기억하기",
1080 "signingIn": "로그인 중...",
1081 "signIn": "로그인",
1082 "goBack": "뒤로",
1083 "unableToLoad": "위임 정보를 로드할 수 없습니다"
1084 },
1085 "oauthConsent": {
1086 "delegatedAccess": "위임 액세스",
1087 "actingAs": "활동 계정",
1088 "controller": "컨트롤러",
1089 "accessLevel": "액세스 수준",
1090 "readOnlyAccess": "읽기 전용 액세스",
1091 "readOnlyDesc": "공개 정보만 볼 수 있습니다. 이 계정에 대한 쓰기 권한이 없습니다.",
1092 "permissionsLimited": "권한 제한됨",
1093 "permissionsLimitedDesc": "앱이 무엇을 요청하든 실제 권한은 {level} 액세스 수준으로 제한됩니다.",
1094 "viewerLimitedDesc": "뷰어로서 읽기 전용 액세스 권한만 있습니다. 이 앱은 이 계정에서 콘텐츠를 생성, 수정 또는 삭제할 수 없습니다.",
1095 "editorLimitedDesc": "편집자로서 콘텐츠를 생성하고 편집할 수 있지만 계정 설정이나 보안을 관리할 수 없습니다."
1096 },
1097 "migration": {
1098 "title": "계정 마이그레이션",
1099 "subtitle": "AT Protocol 아이덴티티를 서버 간에 이동",
1100 "navTitle": "마이그레이션",
1101 "navDesc": "다른 PDS로 또는 다른 PDS에서 계정 이동",
1102 "migrateHere": "여기로 마이그레이션",
1103 "migrateHereDesc": "기존 AT Protocol 계정을 다른 서버에서 이 PDS로 이동합니다.",
1104 "bringDid": "DID와 아이덴티티 가져오기",
1105 "transferData": "모든 데이터 전송",
1106 "keepFollowers": "팔로워 유지",
1107 "whatIsMigration": "계정 마이그레이션이란?",
1108 "whatIsMigrationDesc": "계정 마이그레이션을 통해 AT Protocol 아이덴티티를 개인 데이터 서버(PDS) 간에 이동할 수 있습니다. DID(분산 식별자)는 동일하게 유지되므로 팔로워와 소셜 연결이 보존됩니다.",
1109 "beforeMigrate": "마이그레이션 전 확인사항",
1110 "beforeMigrate1": "현재 계정 인증 정보가 필요합니다",
1111 "beforeMigrate2": "보안을 위해 이메일 인증이 필요합니다",
1112 "beforeMigrate3": "이미지가 많은 대용량 계정은 몇 분이 걸릴 수 있습니다",
1113 "beforeMigrate4": "이전 PDS에 계정 비활성화가 통보됩니다",
1114 "importantWarning": "계정 마이그레이션은 중요한 작업입니다. 대상 PDS를 신뢰하고 데이터가 이동된다는 것을 이해하세요. 문제가 발생하면 수동 복구가 필요할 수 있습니다.",
1115 "learnMore": "마이그레이션 위험에 대해 자세히 알아보기",
1116 "offlineRestore": "오프라인 복원",
1117 "offlineRestoreDesc": "이전 PDS를 사용할 수 없을 때 백업에서 복원합니다.",
1118 "offlineFeature1": "CAR 파일 백업 사용",
1119 "offlineFeature2": "회전 키로 소유권 증명",
1120 "offlineFeature3": "종료된 서버 복구",
1121 "oauthCompleting": "인증 완료 중...",
1122 "oauthFailed": "인증 실패",
1123 "tryAgain": "다시 시도",
1124 "resume": {
1125 "title": "마이그레이션을 재개하시겠습니까?",
1126 "incomplete": "완료되지 않은 마이그레이션이 있습니다:",
1127 "direction": "방향",
1128 "migratingHere": "여기로 마이그레이션 중",
1129 "from": "출발지",
1130 "to": "목적지",
1131 "progress": "진행 상황",
1132 "reenterCredentials": "계속하려면 인증 정보를 다시 입력해야 합니다.",
1133 "startOver": "처음부터 다시 시작",
1134 "resumeButton": "재개"
1135 },
1136 "inbound": {
1137 "welcome": {
1138 "title": "이 PDS로 마이그레이션",
1139 "desc": "기존 AT Protocol 계정을 이 서버로 이동합니다.",
1140 "understand": "위험을 이해하고 계속 진행합니다"
1141 },
1142 "sourceAuth": {
1143 "title": "현재 핸들 입력",
1144 "titleResume": "마이그레이션 재개",
1145 "desc": "마이그레이션할 계정의 핸들을 입력하세요.",
1146 "descResume": "마이그레이션을 계속하려면 소스 PDS에 재인증하세요.",
1147 "handle": "핸들",
1148 "handlePlaceholder": "alice.bsky.social",
1149 "handleHint": "현재 PDS에서의 핸들",
1150 "continue": "계속",
1151 "connecting": "연결 중...",
1152 "reauthenticate": "재인증",
1153 "resumeTitle": "마이그레이션 진행 중",
1154 "resumeFrom": "출발지",
1155 "resumeTo": "목적지",
1156 "resumeProgress": "진행 상황",
1157 "resumeOAuthNote": "계속하려면 OAuth로 재인증이 필요합니다."
1158 },
1159 "chooseHandle": {
1160 "title": "새 핸들 선택",
1161 "desc": "이 PDS에서 사용할 계정 핸들을 선택하세요.",
1162 "migratingFrom": "마이그레이션 원본",
1163 "newHandle": "새 핸들",
1164 "checkingAvailability": "사용 가능 여부 확인 중...",
1165 "handleAvailable": "핸들을 사용할 수 있습니다!",
1166 "handleTaken": "핸들이 이미 사용 중입니다",
1167 "handleHint": "전체 핸들(예: alice.mydomain.com)을 입력하여 자체 도메인을 사용할 수도 있습니다",
1168 "email": "이메일 주소",
1169 "authMethod": "인증 방법",
1170 "authPassword": "비밀번호",
1171 "authPasswordDesc": "기존 비밀번호 기반 로그인",
1172 "authPasskey": "패스키",
1173 "authPasskeyDesc": "생체 인식 또는 보안 키를 사용한 비밀번호 없는 로그인",
1174 "password": "비밀번호",
1175 "passwordHint": "최소 8자",
1176 "passkeyInfo": "계정 생성 후 패스키를 설정합니다. 기기에서 생체 인식(지문, Face ID) 또는 보안 키 사용을 요청합니다.",
1177 "inviteCode": "초대 코드"
1178 },
1179 "review": {
1180 "title": "마이그레이션 검토",
1181 "desc": "마이그레이션 세부 정보를 확인하세요.",
1182 "currentHandle": "현재 핸들",
1183 "newHandle": "새 핸들",
1184 "did": "DID",
1185 "sourcePds": "소스 PDS",
1186 "targetPds": "대상 PDS",
1187 "email": "이메일",
1188 "authentication": "인증",
1189 "authPasskey": "패스키 (비밀번호 없음)",
1190 "authPassword": "비밀번호",
1191 "inviteCode": "초대 코드",
1192 "warning": "\"마이그레이션 시작\"을 클릭하면 저장소와 데이터 전송이 시작됩니다. 이 과정은 쉽게 되돌릴 수 없습니다.",
1193 "startMigration": "마이그레이션 시작",
1194 "starting": "시작 중..."
1195 },
1196 "migrating": {
1197 "title": "마이그레이션 진행 중",
1198 "desc": "계정을 전송하는 중입니다...",
1199 "exportRepo": "저장소 내보내기",
1200 "importRepo": "저장소 가져오기",
1201 "migrateBlobs": "blob 마이그레이션",
1202 "migratePrefs": "환경설정 마이그레이션"
1203 },
1204 "passkeySetup": {
1205 "title": "패스키 설정",
1206 "desc": "이메일이 인증되었습니다. 안전한 비밀번호 없는 로그인을 위해 패스키를 설정하세요.",
1207 "nameLabel": "패스키 이름 (선택사항)",
1208 "namePlaceholder": "예: MacBook Pro, iPhone",
1209 "nameHint": "이 패스키를 식별하기 위한 이름",
1210 "instructions": "아래 버튼을 클릭하여 패스키를 등록하세요. 기기에서 생체 인식(지문, Face ID) 또는 보안 키 사용을 요청합니다.",
1211 "register": "패스키 등록",
1212 "registering": "등록 중..."
1213 },
1214 "appPassword": {
1215 "title": "앱 비밀번호 저장",
1216 "desc": "패스키가 생성되었습니다. 아직 패스키를 지원하지 않는 앱에서 사용할 앱 비밀번호가 생성되었습니다.",
1217 "warning": "이 앱 비밀번호는 아직 패스키를 지원하지 않는 앱(예: bsky.app)에 로그인할 때 필요합니다. 이 비밀번호는 한 번만 표시됩니다.",
1218 "label": "앱 비밀번호:",
1219 "saved": "앱 비밀번호를 안전한 곳에 저장했습니다",
1220 "continue": "계속"
1221 },
1222 "emailVerify": {
1223 "title": "이메일 인증",
1224 "desc": "인증 코드가 {email}(으)로 전송되었습니다.",
1225 "hint": "아래에 코드를 입력하거나, 이메일의 링크를 클릭하여 자동으로 계속할 수 있습니다.",
1226 "tokenLabel": "인증 코드",
1227 "tokenPlaceholder": "이메일에서 받은 코드 입력",
1228 "resend": "코드 재전송",
1229 "verify": "이메일 인증",
1230 "verifying": "인증 중..."
1231 },
1232 "plcToken": {
1233 "title": "마이그레이션 확인",
1234 "desc": "이전 계정에 등록된 이메일로 인증 코드가 전송되었습니다.",
1235 "info": "이 코드는 계정 접근 권한을 확인하고 이 PDS를 가리키도록 아이덴티티 업데이트를 승인합니다.",
1236 "tokenLabel": "인증 코드",
1237 "tokenPlaceholder": "이메일에서 받은 코드 입력",
1238 "resend": "코드 재전송",
1239 "complete": "마이그레이션 완료",
1240 "completing": "확인 중..."
1241 },
1242 "didWebUpdate": {
1243 "title": "DID 문서 업데이트",
1244 "desc": "did:web 아이덴티티를 사용하고 있으므로 DID 문서를 이 PDS를 가리키도록 업데이트해야 합니다.",
1245 "yourDid": "당신의 DID:",
1246 "updateInstructions": "도메인의 did.json 파일을 업데이트하여 atproto_pds 서비스 엔드포인트가 이 PDS를 가리키도록 하세요:",
1247 "important": "중요:",
1248 "verifyFirst": "마이그레이션을 완료하기 전에 DID 문서가 업데이트되고 공개적으로 접근 가능한지 확인하세요.",
1249 "fileLocation": "파일 위치:",
1250 "complete": "마이그레이션 완료",
1251 "completing": "완료 중..."
1252 },
1253 "finalizing": {
1254 "title": "마이그레이션 완료 중",
1255 "desc": "마이그레이션을 완료하는 중입니다...",
1256 "signingPlc": "아이덴티티 업데이트 서명",
1257 "activating": "새 PDS에서 계정 활성화",
1258 "deactivating": "이전 PDS에서 계정 비활성화"
1259 },
1260 "success": {
1261 "title": "마이그레이션 완료!",
1262 "desc": "계정이 이 PDS로 성공적으로 마이그레이션되었습니다.",
1263 "yourNewHandle": "새 핸들",
1264 "did": "DID",
1265 "blobsWarning": "{count}개의 blob을 마이그레이션할 수 없습니다. 더 이상 사용할 수 없는 이미지나 기타 미디어일 수 있습니다.",
1266 "redirecting": "대시보드로 리디렉션 중..."
1267 },
1268 "error": {
1269 "title": "마이그레이션 오류",
1270 "desc": "마이그레이션 중 오류가 발생했습니다.",
1271 "startOver": "처음부터 다시 시작",
1272 "unknown": "알 수 없는 오류가 발생했습니다."
1273 },
1274 "common": {
1275 "back": "뒤로",
1276 "cancel": "취소",
1277 "continue": "계속",
1278 "whatWillHappen": "진행 과정:",
1279 "step1": "현재 PDS에 로그인",
1280 "step2": "이 서버에서 새 핸들 선택",
1281 "step3": "저장소와 blob이 전송됩니다",
1282 "step4": "이메일로 마이그레이션 확인",
1283 "step5": "아이덴티티가 여기를 가리키도록 업데이트됩니다",
1284 "beforeProceed": "진행하기 전에:",
1285 "warning1": "현재 계정에 등록된 이메일에 접근할 수 있어야 합니다",
1286 "warning2": "대용량 계정 전송에는 몇 분이 걸릴 수 있습니다",
1287 "warning3": "마이그레이션 후 이전 계정은 비활성화됩니다"
1288 }
1289 },
1290 "offline": {
1291 "welcome": {
1292 "title": "백업에서 복원",
1293 "desc": "CAR 파일 백업과 회전 키를 사용하여 계정을 복원합니다. 이전 PDS를 사용할 수 없을 때 사용하세요.",
1294 "warningTitle": "이 방법을 사용해야 할 때",
1295 "warningDesc": "이 오프라인 복원은 이전 PDS가 종료되었거나, 접근할 수 없거나, 잠긴 경우의 재해 복구용입니다. 이전 PDS가 여전히 사용 가능하면 표준 마이그레이션을 사용하세요.",
1296 "requirementsTitle": "필요한 것",
1297 "requirement1": "저장소의 CAR 파일 백업",
1298 "requirement2": "회전 키 (DID의 개인 키)",
1299 "requirement3": "당신의 DID (did:plc:xxx)",
1300 "understand": "이해하고 계속 진행합니다"
1301 },
1302 "provideDid": {
1303 "title": "DID 입력",
1304 "desc": "복원할 계정의 DID를 입력하세요.",
1305 "label": "당신의 DID",
1306 "hint": "분산 식별자 (예: did:plc:abc123)"
1307 },
1308 "uploadCar": {
1309 "title": "CAR 파일 업로드",
1310 "desc": "저장소 백업 파일을 업로드하세요.",
1311 "label": "CAR 파일",
1312 "hint": "백업에서 .car 파일을 선택하세요",
1313 "reuploadWarningTitle": "CAR 파일 필요",
1314 "reuploadWarning": "세션이 복원되었지만 CAR 파일을 다시 업로드해야 합니다. 보안상의 이유로 파일 내용은 세션 간에 저장되지 않습니다."
1315 },
1316 "rotationKey": {
1317 "title": "회전 키 제공",
1318 "desc": "이 DID의 소유권을 증명하기 위해 회전 키를 입력하세요.",
1319 "securityWarningTitle": "보안 경고",
1320 "securityWarning1": "회전 키는 매우 민감합니다 - 마스터 비밀번호처럼 취급하세요",
1321 "securityWarning2": "신뢰할 수 있는 장치와 네트워크에서만 입력하세요",
1322 "securityWarning3": "이 키는 마이그레이션 완료 후 저장되지 않습니다",
1323 "label": "회전 키",
1324 "placeholder": "개인 키 입력 (hex, base58 또는 JWK)",
1325 "hint": "DID 문서의 회전 키 중 하나에 해당하는 개인 키",
1326 "valid": "키가 유효하고 DID의 회전 키와 일치합니다",
1327 "invalid": "키가 DID 문서의 어떤 회전 키와도 일치하지 않습니다",
1328 "validating": "키 검증 중...",
1329 "validate": "키 검증"
1330 },
1331 "chooseHandle": {
1332 "migratingDid": "DID 복원 중"
1333 },
1334 "review": {
1335 "desc": "오프라인 복원 세부 정보를 확인하세요.",
1336 "carFile": "CAR 파일",
1337 "rotationKey": "회전 키",
1338 "warning": "복원을 시작하면 아이덴티티가 이 PDS를 가리키도록 업데이트됩니다. 이것은 쉽게 되돌릴 수 없습니다.",
1339 "plcWarningTitle": "되돌릴 수 없는 지점",
1340 "plcWarning": "시작하면 DID 문서가 이 PDS를 가리키도록 업데이트됩니다. 문제가 발생하면 회전 키를 사용하여 복구할 수 있지만, 손상된 아이덴티티 상태를 피하려면 마이그레이션을 완료해야 합니다."
1341 },
1342 "migrating": {
1343 "title": "계정 복원 중",
1344 "desc": "계정을 복원하는 중입니다...",
1345 "creating": "계정 생성 중",
1346 "importing": "저장소 가져오는 중",
1347 "plcSigning": "아이덴티티 업데이트 중",
1348 "activating": "계정 활성화 중"
1349 },
1350 "success": {
1351 "desc": "계정이 이 PDS에 성공적으로 복원되었습니다."
1352 },
1353 "blobs": {
1354 "title": "Blob 마이그레이션 중",
1355 "desc": "이전 PDS에서 이미지와 미디어를 복구하는 중...",
1356 "migrating": "Blob 마이그레이션 중",
1357 "failedTitle": "일부 Blob을 마이그레이션할 수 없음",
1358 "failedDesc": "{count}개의 Blob을 이전 PDS에서 가져올 수 없습니다. 서버에 연결할 수 없거나 파일이 삭제되었을 수 있습니다.",
1359 "sourceUnreachableTitle": "원본 PDS에 연결할 수 없음",
1360 "sourceUnreachable": "이전 PDS에 연결하여 미디어 파일을 가져올 수 없습니다. 종료된 서버에서 마이그레이션할 때 흔히 발생합니다. 게시물은 작동하지만 일부 이미지가 누락될 수 있습니다."
1361 }
1362 },
1363 "progress": {
1364 "repoExported": "저장소 내보내기 완료",
1365 "repoImported": "저장소 가져오기 완료",
1366 "blobsMigrated": "{count}개 blob 마이그레이션됨",
1367 "prefsMigrated": "환경설정 마이그레이션됨",
1368 "plcSigned": "아이덴티티 업데이트됨",
1369 "activated": "계정 활성화됨",
1370 "deactivated": "이전 계정 비활성화됨"
1371 },
1372 "errors": {
1373 "connectionFailed": "PDS에 연결할 수 없습니다",
1374 "invalidCredentials": "잘못된 인증 정보",
1375 "twoFactorRequired": "2단계 인증이 필요합니다",
1376 "accountExists": "대상 PDS에 계정이 이미 존재합니다",
1377 "plcFailed": "PLC 작업 실패",
1378 "blobFailed": "blob 마이그레이션 실패: {cid}",
1379 "networkError": "네트워크 오류. 다시 시도하세요."
1380 }
1381 }
1382}