Something went wrong. Try again.
A downstream fork of Tranquil PDS for use in margin.cafe
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276{ "common": { "loading": "로딩 중", "error": "오류", "save": "저장", "cancel": "취소", "back": "뒤로", "done": "완료", "continue": "계속", "refresh": "새로고침", "delete": "삭제", "created": "생성일", "name": "이름", "backToDashboard": "← 대시보드", "copied": "복사됨", "show": "표시", "hide": "숨기기", "copyToClipboard": "복사", "verifying": "확인 중", "saving": "저장 중", "creating": "생성 중", "sending": "전송 중", "checking": "확인 중", "signIn": "로그인", "verify": "확인", "revoke": "취소", "resendCode": "재전송", "backToLogin": "로그인으로 돌아가기", "backToSettings": "설정으로 돌아가기" }, "login": { "title": "로그인", "button": "로그인", "redirecting": "리디렉션 중", "chooseAccount": "계정 선택", "signInToAnother": "또는 다른 계정으로 로그인", "forgotPassword": "비밀번호를 잊으셨나요?", "lostPasskey": "패스키를 분실하셨나요?", "noAccount": "계정이 없나요?", "createAccount": "만들기", "removeAccount": "삭제" }, "verification": { "title": "계정 인증", "subtitle": "연락처로 전송된 코드를 입력하세요", "codeLabel": "코드", "codePlaceholder": "6자리 코드", "resent": "코드 전송됨" }, "register": { "title": "계정 만들기", "redirecting": "리디렉션 중", "migrateTitle": "이미 계정이 있으신가요?", "migrateDescription": "기존 계정 마이그레이션", "migrateLink": "계정 마이그레이션", "handle": "핸들", "handlePlaceholder": "사용자 이름", "handleHint": "전체 핸들: @{handle}", "handleTaken": "이 핸들은 이미 사용 중입니다", "handleDotWarning": "사용자 정의 도메인 핸들은 계정 생성 후 설정에서 구성할 수 있습니다.", "password": "비밀번호", "passwordPlaceholder": "8자 이상", "confirmPassword": "비밀번호 확인", "confirmPasswordPlaceholder": "비밀번호 재입력", "identityType": "ID 유형", "didPlc": "did:plc", "didPlcHint": "PLC 디렉토리에서 관리하는 이동 가능한 ID", "didWeb": "did:web", "didWebHint": "이 PDS에서 호스팅되는 ID (아래 경고 참조)", "didWebDisabledHint": "이 PDS에서 사용할 수 없음 - did:plc를 사용하거나 자체 did:web을 가져오세요", "didWebBYOD": "did:web (자체 도메인)", "didWebBYODHint": "자체 도메인 사용", "didWebWarningTitle": "중요: 장단점을 이해하세요", "didWebWarning1": "이 PDS에 영구 연결:", "didWebWarning1Detail": "ID는 {did}가 됩니다. 나중에 다른 PDS로 마이그레이션하더라도 이 서버는 계속 DID 문서를 호스팅해야 합니다.", "didWebWarning2": "복구 메커니즘 없음:", "didWebWarning2Detail": "did:plc와 달리 did:web에는 순환 키가 없습니다. 이 PDS가 영구적으로 오프라인이 되면 ID를 복구할 수 없습니다.", "didWebWarning3": "우리의 약속:", "didWebWarning3Detail": "마이그레이션하면 새 PDS를 가리키는 최소한의 DID 문서를 계속 제공합니다. ID는 계속 작동합니다.", "externalDid": "귀하의 did:web", "externalDidPlaceholder": "did:web:yourdomain.com", "externalDidHint": "도메인은 /.well-known/did.json에서 이 PDS를 가리키는 유효한 DID 문서를 제공해야 합니다", "contactMethod": "연락 방법", "verificationMethod": "인증 방법", "email": "이메일", "emailAddress": "이메일 주소", "emailPlaceholder": "you@example.com", "discord": "Discord", "discordUsername": "Discord 사용자명", "discordUsernamePlaceholder": "yourusername", "telegram": "Telegram", "telegramUsername": "Telegram 사용자 이름", "telegramUsernamePlaceholder": "@yourusername", "signal": "Signal", "signalUsername": "Signal 사용자명", "signalUsernamePlaceholder": "username.01", "notConfigured": "구성되지 않음", "inviteCode": "초대 코드", "inviteCodePlaceholder": "초대 코드 입력", "inviteCodeRequired": "필수", "alreadyHaveAccount": "이미 계정이 있으신가요?", "signIn": "로그인", "passkeyAccount": "패스키", "passwordAccount": "비밀번호", "ssoAccount": "SSO", "noSsoProviders": "이 서버에 SSO 제공자가 설정되어 있지 않습니다.", "continueWith": "{provider}로 계속", "validation": { "handleRequired": "핸들은 필수입니다", "handleNoDots": "핸들에 점을 포함할 수 없습니다. 계정 생성 후 사용자 정의 도메인을 설정할 수 있습니다.", "passwordRequired": "비밀번호는 필수입니다", "passwordLength": "비밀번호는 8자 이상이어야 합니다", "passwordsMismatch": "비밀번호가 일치하지 않습니다", "inviteCodeRequired": "초대 코드는 필수입니다", "externalDidRequired": "외부 did:web은 필수입니다", "externalDidFormat": "외부 DID는 did:web:으로 시작해야 합니다", "emailRequired": "이메일 인증에는 이메일이 필요합니다", "discordUsernameRequired": "Discord 인증에는 Discord 사용자명이 필요합니다", "telegramRequired": "Telegram 인증에는 Telegram 사용자 이름이 필요합니다", "signalRequired": "Signal 인증에는 사용자명이 필요합니다" } }, "dashboard": { "title": "대시보드", "accountManager": "계정 관리", "switchAccount": "계정 전환", "addAnotherAccount": "다른 계정 추가", "signOut": "@{handle} 로그아웃", "deactivatedTitle": "계정 비활성화됨", "deactivatedMessage": "계정이 현재 비활성화되어 있습니다. 이는 일반적으로 계정 마이그레이션 중에 발생합니다. 계정이 다시 활성화될 때까지 일부 기능이 제한될 수 있습니다.", "handle": "핸들", "did": "DID", "primaryContact": "주요 연락처", "admin": "관리자", "deactivated": "비활성화됨", "verified": "인증됨", "unverified": "미인증", "navAppPasswords": "앱 비밀번호", "navSessions": "활성 세션", "navInviteCodes": "초대 코드", "navSettings": "일반", "navSecurity": "보안", "navComms": "통신 설정", "navRepo": "저장소 탐색기", "navDelegation": "위임", "navAdmin": "관리 패널", "navDidDocument": "DID 문서", "migrated": "마이그레이션됨", "migratedTitle": "계정 마이그레이션됨", "migratedMessage": "계정이 {pds}로 마이그레이션되었습니다. DID 문서는 여전히 여기에서 호스팅됩니다.", "navAbout": "정보" }, "about": { "title": "정보", "copyDebugInfo": "디버그 정보 복사", "copied": "디버그 정보가 클립보드에 복사되었습니다", "copyFailed": "디버그 정보 복사에 실패했습니다", "serverSection": "서버", "frontendSection": "프론트엔드", "accountSection": "계정", "environmentSection": "환경", "serverName": "서버 이름", "pdsVersion": "PDS 버전", "serverUrl": "서버 URL", "availableDomains": "사용 가능한 도메인", "did": "DID", "handle": "핸들", "accountStatus": "계정 상태", "adminStatus": "관리자", "userAgent": "사용자 에이전트", "locale": "언어", "screenSize": "화면 크기", "yes": "예", "no": "아니요", "unknown": "알 수 없음", "notConfigured": "구성되지 않음", "serverDid": "서버 DID", "inviteCodeRequired": "초대 코드 필요", "selfHostedDidWeb": "자체 호스팅 DID:web", "enabled": "활성화됨", "disabled": "비활성화됨", "contactSection": "연락처 및 정책", "contactEmail": "연락처 이메일", "privacyPolicy": "개인정보 처리방침", "termsOfService": "서비스 약관", "communicationSection": "통신", "availableChannels": "사용 가능한 채널", "discordBot": "Discord 봇", "discordAppId": "Discord 앱 ID", "telegramBot": "Telegram 봇", "svelteVersion": "Svelte", "svelteI18nVersion": "svelte-i18n", "viteVersion": "Vite", "buildMode": "빌드 모드", "userCount": "사용자 수" }, "didEditor": { "preview": "현재 DID 문서", "verificationMethods": "검증 방법 (서명 키)", "verificationMethodsDesc": "DID를 대신하여 동작할 수 있는 서명 키입니다. 새 PDS로 마이그레이션할 때 해당 서명 키를 여기에 추가하세요.", "addKey": "키 추가", "removeKey": "삭제", "keyId": "키 ID", "keyIdPlaceholder": "#atproto", "publicKey": "공개 키 (Multibase)", "publicKeyPlaceholder": "zQ3sh...", "noKeys": "구성된 검증 방법이 없습니다. 로컬 PDS 키를 사용 중입니다.", "alsoKnownAs": "다른 이름 (핸들)", "alsoKnownAsDesc": "DID를 가리키는 핸들입니다. 새 PDS에서 핸들이 변경되면 업데이트하세요.", "addHandle": "핸들 추가", "removeHandle": "삭제", "handle": "핸들", "handlePlaceholder": "at://handle.pds.com", "noHandles": "구성된 핸들이 없습니다. 로컬 핸들을 사용 중입니다.", "serviceEndpoint": "서비스 엔드포인트", "serviceEndpointDesc": "현재 계정 데이터를 호스팅하는 PDS입니다. 마이그레이션할 때 업데이트하세요.", "currentPds": "현재 PDS URL", "save": "변경사항 저장", "success": "DID 문서가 업데이트되었습니다", "saveFailed": "DID 문서 저장에 실패했습니다", "loadFailed": "DID 문서 로드에 실패했습니다", "invalidMultibase": "공개 키는 'z'로 시작하는 유효한 multibase 문자열이어야 합니다", "helpTitle": "이것은 무엇인가요?", "helpText": "다른 PDS로 마이그레이션하면 해당 PDS가 새 서명 키를 생성합니다. 여기에서 DID 문서를 업데이트하여 새 키와 위치를 가리키도록 하세요." }, "settings": { "language": "언어", "changeEmail": "이메일 변경", "addEmail": "이메일 추가", "noEmail": "이 계정에는 이메일 주소가 없습니다.", "currentEmail": "현재: {email}", "newEmail": "새 이메일", "newEmailPlaceholder": "new@example.com", "changeEmailButton": "이메일 변경", "addEmailButton": "이메일 추가", "emailInUseWarning": "이 이메일은 이미 다른 계정과 연결되어 있습니다. 계속 사용하실 수 있지만, 계정 복구 시 이메일 대신 핸들을 사용해야 할 수 있습니다.", "requesting": "요청 중...", "verificationCode": "인증 코드", "verificationCodePlaceholder": "인증 코드 입력", "confirmEmailChange": "이메일 변경 확인", "emailTokenHint": "이메일의 코드를 입력하거나 다른 기기에서 이메일의 링크를 클릭하세요.", "emailUpdateAuthorized": "이메일 변경이 승인되었습니다! 확인을 클릭하여 완료하세요.", "updating": "업데이트 중...", "changeHandle": "핸들 변경", "currentHandle": "현재: @{handle}", "pdsHandle": "PDS 핸들", "customDomain": "사용자 정의 도메인", "setupInstructions": "설정 지침", "setupMethodsIntro": "다음 인증 방법 중 하나를 선택하세요:", "dnsMethod": "방법 1: DNS TXT 레코드 (권장)", "dnsMethodDesc": "도메인에 이 TXT 레코드 추가:", "httpMethod": "방법 2: HTTP Well-Known 파일", "httpMethodDesc": "이 URL에서 DID 제공:", "httpMethodContent": "파일에는 다음만 포함:", "yourDomain": "도메인", "yourDomainPlaceholder": "example.com", "verifyAndUpdate": "확인 후 핸들 업데이트", "newHandle": "새 핸들", "newHandlePlaceholder": "yourhandle", "changeHandleButton": "핸들 변경", "exportData": "데이터 내보내기", "downloadRepo": "저장소 다운로드", "exporting": "내보내기 중...", "deleteAccount": "계정 삭제", "deleteWarning": "이 작업은 되돌릴 수 없습니다. 모든 데이터가 영구적으로 삭제됩니다.", "requestDeletion": "계정 삭제 요청", "confirmationCode": "확인 코드", "confirmationCodePlaceholder": "확인 코드 입력", "deletionCodeHint": "이 계정에는 이메일이 없어 확인 코드를 여기에 표시합니다. 비밀번호를 설정했다면 입력하세요.", "yourPassword": "비밀번호", "yourPasswordPlaceholder": "비밀번호 입력", "permanentlyDelete": "계정 영구 삭제", "deleting": "삭제 중...", "messages": { "emailCodeSentToCurrent": "현재 이메일 주소로 인증 코드를 보냈습니다", "emailUpdated": "이메일이 업데이트되었습니다", "emailAdded": "이메일을 추가했습니다. 계정을 확인하려면 메일을 확인하세요.", "emailUpdateFailed": "이메일 업데이트에 실패했습니다", "handleUpdated": "핸들이 업데이트되었습니다", "handleUpdateFailed": "핸들 업데이트에 실패했습니다", "deletionCodeReady": "확인 코드가 아래에 표시됩니다. 이 계정에는 이메일이 없습니다.", "deletionConfirmationSent": "이메일로 삭제 확인을 보냈습니다", "deletionRequestFailed": "계정 삭제 요청에 실패했습니다", "deleteConfirmation": "정말로 계정을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", "deletionFailed": "계정 삭제에 실패했습니다", "repoExported": "저장소를 내보냈습니다", "exportFailed": "내보내기에 실패했습니다" } }, "appPasswords": { "created": "앱 비밀번호가 생성되었습니다", "createdMessage": "지금 이 비밀번호를 복사하세요. 다시 볼 수 없습니다.", "noPasswords": "앱 비밀번호가 아직 없습니다", "saveWarningTitle": "중요: 이 앱 비밀번호를 저장하세요!", "saveWarningMessage": "이 비밀번호는 패스키 또는 OAuth를 지원하지 않는 앱에 로그인하는 데 필요합니다. 한 번만 볼 수 있습니다.", "acknowledgeLabel": "앱 비밀번호를 안전한 곳에 저장했습니다", "permissions": "권한", "scopeFull": "전체 권한", "scopeReadOnly": "읽기 전용", "scopePostOnly": "게시만", "scopeCustom": "사용자 지정", "scopeCustomLabel": "범위 문자열", "scopeCustomPlaceholder": "atproto repo:app.bsky.feed.post?action=create blob:*/*", "scopeCustomHelp": "공백으로 구분된 AT Protocol 범위를 입력하세요. 이 앱에 필요한 권한만 부여하세요.", "byController": "컨트롤러 생성", "create": "생성", "name": "이름", "namePlaceholder": "앱 이름 (예: Witchsky)", "deleteConfirm": "앱 비밀번호 \"{name}\"을(를) 취소하시겠습니까?", "deleted": "앱 비밀번호가 취소되었습니다", "loadFailed": "앱 비밀번호 로딩 실패", "createFailed": "앱 비밀번호 생성 실패", "deleteFailed": "앱 비밀번호 취소 실패", "saveWarning": "지금 이 비밀번호를 저장하세요 - 다시 볼 수 없습니다" }, "sessions": { "noSessions": "활성 세션이 없습니다.", "current": "현재", "oauth": "OAuth", "session": "세션", "signOut": "로그아웃", "revoke": "취소", "revokeAll": "다른 모든 세션 취소", "revokeCurrentConfirm": "이 세션에서 로그아웃됩니다. 계속하시겠습니까?", "revokeConfirm": "이 세션을 취소하시겠습니까?", "revokeAllConfirm": "{count}개의 다른 세션을 취소합니다. 계속하시겠습니까?", "noOtherSessions": "취소할 다른 세션이 없습니다", "failedToLoad": "세션 로딩에 실패했습니다", "failedToRevoke": "세션 취소에 실패했습니다", "failedToRevokeAll": "세션 취소에 실패했습니다", "created": "생성일:", "expires": "만료일:", "daysAgo": "{count}일 전", "hoursAgo": "{count}시간 전", "minutesAgo": "{count}분 전", "justNow": "방금", "sessionRevoked": "세션이 취소되었습니다", "allSessionsRevoked": "다른 모든 세션이 취소되었습니다" }, "inviteCodes": { "createNew": "새 초대 코드 만들기", "yourCodes": "초대 코드 목록", "noCodes": "초대 코드가 아직 없습니다", "available": "사용 가능", "used": "@{handle}이(가) 사용함", "spent": "소진됨", "disabled": "비활성화됨", "created": "초대 코드가 생성되었습니다", "copy": "복사", "disable": "비활성화", "disableConfirm": "초대 코드 {code}을(를) 비활성화하시겠습니까?", "disableSuccess": "초대 코드가 비활성화되었습니다", "disableFailed": "초대 코드 비활성화 실패", "createdOn": "{date}에 생성됨", "loadFailed": "초대 코드 로딩 실패", "createFailed": "초대 코드 생성 실패" }, "security": { "passkeys": "패스키", "addPasskey": "패스키 추가", "adding": "추가 중...", "noPasskeys": "등록된 패스키가 없습니다", "passkeyName": "패스키 이름", "passkeyNamePlaceholder": "예: yubikey, 휴대폰", "rename": "이름 변경", "deletePasskey": "삭제", "deletePasskeyConfirm": "패스키 \"{name}\"을(를) 삭제하시겠습니까? 더 이상 로그인에 사용할 수 없습니다.", "totp": "인증 앱 (TOTP)", "totpEnabled": "TOTP가 활성화되었습니다", "totpDisabled": "TOTP가 비활성화되었습니다", "enableTotp": "TOTP 활성화", "disableTotp": "TOTP 비활성화", "disabling": "비활성화 중...", "totpSetupInstructions": "인증 앱으로 이 QR 코드를 스캔한 다음 6자리 코드를 입력하여 확인합니다.", "totpCode": "TOTP 코드", "totpCodePlaceholder": "6자리", "verifyAndEnable": "확인 후 활성화", "backupCodes": "백업 코드", "backupCodesDescription": "인증 앱에 액세스할 수 없는 경우 이 코드를 사용하여 로그인합니다. 각 코드는 한 번만 사용할 수 있습니다.", "regenerateBackupCodes": "백업 코드 재생성", "regenerating": "재생성 중...", "regenerateConfirm": "백업 코드를 재생성하시겠습니까? 현재 코드는 더 이상 작동하지 않습니다.", "legacyLogin": "레거시 로그인", "legacyLoginDescription": "사용자 이름/비밀번호로 직접 로그인(레거시 모드)을 허용합니다. 비활성화하면 MFA가 있는 OAuth를 사용해야 합니다.", "legacyLoginOn": "레거시 로그인이 활성화되었습니다", "legacyLoginOff": "레거시 로그인이 비활성화되었습니다", "enableLegacyLogin": "레거시 로그인 활성화", "disableLegacyLogin": "레거시 로그인 비활성화", "legacyLoginWarning": "경고: 레거시 로그인을 활성화하면 직접 비밀번호 로그인에 대한 MFA가 우회됩니다. 앱 호환성이 필요한 경우에만 활성화하세요.", "legacyAppsTitle": "레거시 앱이란?", "legacyAppsDescription": "일부 앱(공식 Bluesky 앱 등)은 비밀번호만 필요한 이전 인증을 사용합니다. MFA가 활성화되어 있으면 이러한 앱은 두 번째 인증 요소를 우회합니다. 레거시 로그인을 비활성화하면 모든 앱이 OAuth를 사용하도록 강제되어 MFA가 적절히 적용됩니다.", "password": "비밀번호", "passwordStatus": "비밀번호가 설정되었습니다", "noPassword": "비밀번호가 설정되지 않음 (패스키 전용 계정)", "setPassword": "비밀번호 설정", "removePassword": "비밀번호 제거", "removing": "제거 중...", "next": "다음: 코드 확인", "copyToClipboard": "클립보드에 복사", "savedMyCodes": "코드를 저장했습니다", "cantScan": "스캔할 수 없나요? 수동 입력", "unnamedPasskey": "이름 없는 패스키", "added": "추가됨", "lastUsed": "마지막 사용", "disableTotpWarning": "이렇게 하면 계정 보안이 약해집니다.", "removePasswordWarning": "이렇게 하면 계정이 패스키 전용이 됩니다. 등록된 패스키로만 로그인할 수 있습니다. 모든 패스키에 액세스할 수 없게 되면 알림 채널을 사용하여 계정을 복구할 수 있습니다.", "trustedDevices": "신뢰할 수 있는 기기", "trustedDevicesDescription": "로그인 시 2단계 인증을 건너뛸 수 있는 기기. 신뢰는 30일간 유효하며 기기를 사용하면 자동으로 연장됩니다.", "appCompatibility": "앱 호환성", "enterPassword": "비밀번호를 입력하세요", "sessionExpired": "세션이 만료되었습니다. 다시 로그인하세요.", "legacyLoginEnabled": "레거시 앱 로그인 활성화됨", "legacyLoginDisabled": "레거시 앱 로그인 비활성화됨 - OAuth 앱만 로그인 가능", "failedToUpdatePreference": "설정 업데이트에 실패했습니다", "passwordRemoved": "비밀번호가 제거되었습니다. 이제 계정은 패스키 전용입니다.", "failedToRemovePassword": "비밀번호 제거에 실패했습니다", "failedToLoadTotpStatus": "TOTP 상태 로딩에 실패했습니다", "failedToRegenerateBackupCodes": "백업 코드 재생성에 실패했습니다", "totpEnabledSuccess": "2단계 인증이 활성화되었습니다", "totpDisabledSuccess": "2단계 인증이 비활성화되었습니다", "backupCodesCopied": "백업 코드가 클립보드에 복사되었습니다", "failedToLoadPasskeys": "패스키 로딩에 실패했습니다", "passkeysNotSupported": "이 브라우저에서 패스키가 지원되지 않습니다", "passkeyCreationCancelled": "패스키 생성이 취소되었습니다", "passkeyAddedSuccess": "패스키가 추가되었습니다", "passkeyDeleted": "패스키가 삭제되었습니다", "passkeyRenamed": "패스키 이름이 변경되었습니다", "changePassword": "비밀번호 변경", "currentPassword": "현재 비밀번호", "currentPasswordPlaceholder": "현재 비밀번호 입력", "newPassword": "새 비밀번호", "newPasswordPlaceholder": "새 비밀번호 입력", "confirmPassword": "새 비밀번호 확인", "confirmPasswordPlaceholder": "새 비밀번호 재입력", "passwordsDoNotMatch": "비밀번호가 일치하지 않습니다", "passwordTooShort": "비밀번호는 8자 이상이어야 합니다", "passwordChanged": "비밀번호가 변경되었습니다", "failedToChangePassword": "비밀번호 변경 실패", "changing": "변경 중...", "setting": "설정 중...", "passwordSet": "비밀번호가 설정되었습니다", "failedToSetPassword": "비밀번호 설정 실패", "failedToDisableTotp": "TOTP 비활성화 실패" }, "comms": { "preferredChannel": "선호 채널", "channelConfiguration": "채널 설정", "emailVia": "이메일로 메시지 받기", "discordVia": "Discord DM으로 메시지 받기", "telegramVia": "Telegram으로 메시지 받기", "signalVia": "Signal로 메시지 받기", "configureToEnable": "활성화하려면 아래에서 설정", "notConfiguredOnServer": "이 서버에서 설정되지 않음", "primary": "기본", "verified": "인증됨", "notVerified": "미인증", "verifyButton": "인증", "verifyCodePlaceholder": "인증 코드 입력", "submit": "제출", "savePreferences": "설정 저장", "preferencesSaved": "통신 설정이 저장되었습니다", "verifiedSuccess": "{channel} 인증 완료", "messageHistory": "메시지 기록", "noMessages": "메시지가 없습니다.", "telegramStartBot": "또는 @{botUsername}에게 /start {handle}을 직접 보내세요", "telegramOpenLink": "Telegram에서 인증하기", "discordStartBot": "Discord에서 @{botUsername}에게 DM으로 /start {handle} 보내기", "discordOpenLink": "Discord에서 인증", "failedToLoad": "설정 로딩 실패", "failedToSave": "설정 저장 실패", "failedToVerify": "인증 실패", "failedToLoadHistory": "메시지 기록 로딩 실패" }, "repoExplorer": { "collections": "컬렉션", "noRecords": "이 컬렉션에 레코드가 없습니다", "uri": "URI", "cid": "CID", "deleteConfirm": "레코드 {rkey}을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", "unknownError": "알 수 없는 오류가 발생했습니다", "invalidJson": "잘못된 JSON", "collectionRequired": "컬렉션은 필수입니다", "recordCreated": "레코드 생성됨: {uri}", "recordUpdated": "레코드가 업데이트되었습니다", "recordDeleted": "레코드가 삭제되었습니다", "newRecord": "새 레코드", "createRecord": "레코드 생성", "filterCollections": "컬렉션 검색...", "filterRecords": "레코드 검색...", "noCollectionsYet": "컬렉션이 아직 없습니다. 첫 번째 레코드를 만들어 시작하세요.", "recordJson": "레코드 JSON", "updateRecord": "레코드 업데이트", "collectionNsid": "컬렉션 (NSID)", "recordKeyOptional": "레코드 키 (선택사항)", "autoGenerated": "비워두면 자동 생성 (TID)", "autoGeneratedHint": "비워두면 TID 기반 키가 자동 생성됩니다", "demoPostText": "안녕하세요, 제 PDS에서 보내는 첫 번째 게시물입니다!", "demoDisplayName": "표시 이름", "demoBio": "간단한 자기소개를 작성하세요." }, "admin": { "serverConfig": "서버 설정", "serverName": "서버 이름", "serverNamePlaceholder": "내 PDS", "serverNameHelp": "브라우저 탭 및 다른 곳에 표시됩니다", "serverLogo": "서버 로고", "logoPreview": "로고 미리보기", "removeLogo": "삭제", "logoHelp": "파비콘으로 사용되며 네비게이션 바에 표시됩니다", "themeColors": "테마 색상", "themeColorsHint": "기본 색상을 사용하려면 비워 두세요.", "primaryLight": "기본 (라이트 모드)", "primaryDark": "기본 (다크 모드)", "configSaved": "서버 설정이 저장되었습니다", "saveConfig": "설정 저장", "serverStats": "서버 통계", "users": "사용자", "repos": "저장소", "records": "레코드", "blobStorage": "Blob 저장소", "refreshStats": "통계 새로고침", "userManagement": "사용자 관리", "searchPlaceholder": "핸들로 검색 (선택사항)", "handle": "핸들", "email": "이메일", "status": "상태", "created": "생성일", "loadMore": "더 불러오기", "disabled": "비활성화됨", "userDetails": "사용자 세부 정보", "did": "DID", "invites": "초대", "enabled": "활성화됨", "enableInvites": "초대 활성화", "disableInvites": "초대 비활성화", "deleteAccount": "계정 삭제", "deleteConfirm": "계정 @{handle}을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", "verified": "인증됨", "unverified": "미인증", "deactivated": "비활성화됨", "secondaryLight": "보조 (라이트 모드)", "secondaryDark": "보조 (다크 모드)", "failedToLoadStats": "서버 통계 로딩 실패", "failedToLoadUsers": "사용자 로딩 실패", "searchToSeeUsers": "검색하여 사용자 보기", "search": "검색", "invitesEnabled": "사용자 초대가 활성화되었습니다", "invitesDisabled": "사용자 초대가 비활성화되었습니다", "userDeleted": "사용자 계정이 삭제되었습니다", "failedToDeleteAccount": "계정 삭제에 실패했습니다", "failedToSaveConfig": "서버 설정 저장에 실패했습니다", "failedToLoadConfig": "서버 설정 로딩 실패", "signalIntegration": "Signal", "signalLinked": "연결됨", "signalNotLinked": "연결되지 않음", "signalLinkDevice": "기기 연결", "signalUnlinkDevice": "연결 해제", "signalLinking": "Signal로 스캔", "signalLinkSuccess": "Signal 기기가 연결되었습니다", "signalUnlinkSuccess": "Signal 기기 연결이 해제되었습니다", "signalUnlinkConfirm": "Signal 기기 연결을 해제하시겠습니까? 알림이 중지됩니다.", "signalLinkFailed": "Signal 기기 연결에 실패했습니다", "signalLinkTimedOut": "Signal 연결 시간이 초과되었습니다", "signalUnlinkFailed": "Signal 기기 연결 해제에 실패했습니다", "signalFailedToLoad": "Signal 상태 로딩에 실패했습니다" }, "oauth": { "login": { "title": "로그인", "subtitle": "로그인 중", "signingIn": "로그인 중", "authenticating": "인증 중", "checkingPasskey": "확인 중", "signInWithPasskey": "패스키", "passkeyNotSetUp": "패스키 없음", "orUsePassword": "또는", "password": "비밀번호", "rememberDevice": "이 기기 기억하기", "passkeyHintChecking": "확인 중", "passkeyHintAvailable": "패스키 사용", "passkeyHintNotAvailable": "패스키 없음", "passwordPlaceholder": "비밀번호", "usePasskey": "패스키 사용", "passkeyNotAllowed": "이 사이트에 사용 가능한 패스키가 없습니다", "orUseCredentials": "또는", "verificationResent": "인증 코드 전송됨" }, "register": { "title": "계정 만들기", "subtitle": "앱", "subtitleGeneric": "계정 만들기", "haveAccount": "계정이 있으신가요? 로그인" }, "sso": { "linkedAccounts": "연결된 계정", "noLinkedAccounts": "연결된 계정 없음", "unlinkConfirm": "이 계정의 연결을 해제하시겠습니까?", "unlinked": "{provider} 연결 해제됨", "linkedAt": "연결됨", "unlink": "연결 해제", "linkNewAccount": "계정 연결", "linked": "연결됨", "linkSuccess": "계정이 연결되었습니다", "linkFailed": "계정 연결 실패", "unlinkFailed": "연결 해제 실패" }, "consent": { "title": "앱 승인", "appWantsAccess": "{app}이(가) 계정에 액세스하려고 합니다", "authorize": "승인", "deny": "거부", "authorizing": "승인 중...", "signingInAs": "로그인 계정:", "permissionsRequested": "요청된 권한", "required": "필수", "rememberChoiceLabel": "이 앱에 대한 선택 기억하기", "permissionSets": "권한 번들", "showIncludedScopes": "포함된 권한 보기 ({count})", "unavailablePermissions": "사용할 수 없는 권한", "unavailableLimited": "위임으로 제한됨", "unavailableFailed": "불러오기 실패", "setPartiallyLimited": "위임 설정이 이 번들의 일부 권한을 제한합니다. 허용되지 않은 권한은 \"사용할 수 없는 권한\" 항목에서 확인하세요.", "setFailureReason": { "not_found": "이 번들을 찾을 수 없어 부여할 수 없습니다.", "unreachable": "번들 게시자에 연결할 수 없어 지금은 부여할 수 없습니다.", "malformed": "이 번들의 이름이 유효한 식별자가 아니어서 부여할 수 없습니다.", "not_a_permission_set": "이 식별자는 권한 번들을 가리키지 않아 부여할 수 없습니다.", "malformed_lexicon": "이 번들이 잘못 게시되어 부여할 수 없습니다.", "empty_permissions": "이 번들은 현재 어떤 권한도 부여하지 않습니다.", "unknown": "이 번들은 부여할 수 없습니다." }, "permTable": { "data": "데이터", "create": "생성", "update": "수정", "delete": "삭제", "allData": "모든 컬렉션", "apiAccess": "API 접근" }, "scopes": { "atproto": { "name": "AT Protocol 액세스", "description": "신원 확인 및 세션 설정" }, "atprotoWithGranular": { "name": "AT Protocol 액세스", "description": "AT Protocol 기본 범위 (권한은 아래 선택한 옵션에 의해 결정됨)" } }, "unexpectedState": { "title": "예기치 않은 상태", "description": "동의 페이지가 예기치 않은 상태입니다. 브라우저 콘솔에서 오류를 확인하세요.", "reload": "페이지 새로고침" } }, "accounts": { "title": "계정 선택", "useAnother": "다른 계정 사용" }, "twoFactorCode": { "title": "인증", "subtitle": "{channel}(으)로 코드 전송됨", "codeLabel": "코드", "codePlaceholder": "6자리 코드", "errors": { "missingRequestUri": "요청 URI 없음", "verificationFailed": "인증 실패", "connectionFailed": "연결 실패", "unexpectedResponse": "예기치 않은 응답" } }, "totp": { "title": "인증 코드", "codePlaceholder": "6자리 코드", "backupCodePlaceholder": "백업 코드", "trustDevice": "이 기기를 30일간 신뢰", "hintBackupCode": "백업 코드", "hintTotpCode": "인증 코드" }, "error": { "title": "승인 실패", "tryAgain": "다시 시도", "genericError": "예기치 않은 오류가 발생했습니다" } }, "sso_register": { "title": "등록 완료", "subtitle": "{provider}로 계정 생성", "handle_label": "핸들 선택", "handle_available": "사용 가능", "handle_taken": "이미 사용 중", "submit": "계정 생성", "error_expired": "등록 세션이 만료되었습니다. 다시 시도해 주세요.", "error_handle_required": "핸들을 선택해 주세요", "emailVerifiedByProvider": "이 이메일은 {provider}에서 인증되었습니다. 추가 인증이 필요하지 않습니다.", "emailChangedNeedsVerification": "다른 이메일을 사용하시면 인증이 필요합니다.", "infoAfterTitle": "계정 생성 후", "infoAddPassword": "기존 로그인을 위한 비밀번호 추가", "infoAddPasskey": "비밀번호 없는 로그인을 위한 패스키 설정", "infoLinkProviders": "추가 SSO 제공자 연결", "infoChangeHandle": "핸들 변경 또는 사용자 정의 도메인 사용", "tryAgain": "다시 시도" }, "verify": { "title": "계정 인증", "subtitle": "{channel}(으)로 인증 코드를 보냈습니다. 아래에 입력하여 등록을 완료하세요.", "tokenTitle": "인증", "tokenSubtitle": "인증 코드와 전송된 식별자를 입력하세요.", "codePlaceholder": "인증 코드 붙여넣기", "codeLabel": "인증 코드", "codeHelp": "메시지에서 하이픈을 를 복사하세요", "pleaseWait": "잠시 기다려 주세요...", "codeResent": "인증 코드를 다시 보냈습니다!", "codeResentDetail": "인증 코드가 전송되었습니다! 받은 편지함을 확인하세요.", "verified": "인증 완료!", "channelVerified": "{channel}이(가) 성공적으로 인증되었습니다.", "canNowSignIn": "이제 계정에 로그인할 수 있습니다.", "migrationContinue": "이 탭을 닫고 원래 창에서 마이그레이션을 계속할 수 있습니다.", "continue": "계속", "identifierLabel": "이메일 또는 식별자", "identifierPlaceholder": "you@example.com", "identifierHelp": "코드가 전송된 이메일 주소 또는 식별자", "verifyingAccount": "인증 중인 계정: @{handle}", "startOver": "다른 계정으로 다시 시작", "noPending": "보류 중인 인증이 없습니다.", "noPendingInfo": "최근에 계정을 만들고 인증이 필요한 경우 새 계정을 만들어야 합니다. 이미 계정을 인증한 경우 로그인할 수 있습니다.", "createAccount": "계정 만들기", "signIn": "로그인", "emailUpdateCodeHelp": "코드가 현재 이메일 주소로 전송되었습니다", "emailUpdateFailed": "이메일 주소 업데이트 실패", "emailUpdateRequiresAuth": "이메일 주소를 업데이트하려면 로그인해야 합니다.", "emailUpdateSubtitle": "새 이메일 주소와 현재 이메일로 전송된 인증 코드를 입력하세요.", "emailUpdateTitle": "이메일 주소 업데이트", "emailUpdated": "이메일 주소가 성공적으로 업데이트되었습니다.", "emailUpdatedInfo": "새 이메일 주소를 인증해야 할 수 있습니다.", "emailAuthorizeSuccess": "이메일 업데이트가 승인되었습니다.", "emailAuthorizeInfo": "이제 원래 기기에서 변경을 완료할 수 있습니다.", "newEmailLabel": "새 이메일 주소", "newEmailPlaceholder": "new@example.com", "updateEmail": "이메일 업데이트", "updating": "업데이트 중..." }, "resetPassword": { "title": "비밀번호 재설정", "forgotTitle": "비밀번호를 잊으셨나요", "subtitle": "받은 코드를 입력하고 새 비밀번호를 선택하세요.", "forgotSubtitle": "핸들 또는 이메일을 입력하면 비밀번호 재설정 코드를 보내드립니다.", "handleOrEmail": "핸들 또는 이메일", "emailPlaceholder": "핸들 또는 you@example.com", "sendCode": "재설정 코드 보내기", "sending": "전송 중...", "codeSent": "비밀번호 재설정 코드를 보냈습니다! 선호하는 알림 채널을 확인하세요.", "code": "재설정 코드", "codePlaceholder": "재설정 코드 입력", "newPassword": "새 비밀번호", "newPasswordPlaceholder": "8자 이상", "confirmPassword": "비밀번호 확인", "confirmPasswordPlaceholder": "새 비밀번호 재입력", "resetButton": "비밀번호 재설정", "resetting": "재설정 중...", "success": "비밀번호가 재설정되었습니다!", "requestNewCode": "새 코드 요청", "passwordsMismatch": "비밀번호가 일치하지 않습니다", "passwordLength": "비밀번호는 8자 이상이어야 합니다" }, "recoverPasskey": { "title": "계정 복구", "invalidLinkTitle": "잘못된 복구 링크", "invalidLinkMessage": "이 복구 링크가 잘못되었거나 손상되었습니다. 새 복구 이메일을 요청하세요.", "goToLogin": "로그인으로 이동", "successTitle": "비밀번호가 설정되었습니다!", "successMessage": "임시 비밀번호가 설정되었습니다. 이 비밀번호로 로그인할 수 있습니다.", "successNextSteps": "로그인 후 보안 설정에서 새 패스키를 추가하여 패스키 전용 인증을 복원하는 것이 좋습니다.", "signIn": "로그인", "subtitle": "패스키 전용 계정에 대한 액세스를 복구하기 위해 임시 비밀번호를 설정합니다.", "newPassword": "새 비밀번호", "newPasswordPlaceholder": "8자 이상", "confirmPassword": "비밀번호 확인", "confirmPasswordPlaceholder": "비밀번호 재입력", "whatHappensNext": "다음 단계", "whatHappensNextDetail": "이 비밀번호를 설정한 후 로그인하여 보안 설정에서 새 패스키를 추가할 수 있습니다. 새 패스키를 추가한 후 임시 비밀번호를 제거할 수 있습니다.", "setPassword": "비밀번호 설정", "settingPassword": "비밀번호 설정 중...", "validation": { "passwordRequired": "새 비밀번호는 필수입니다", "passwordLength": "비밀번호는 8자 이상이어야 합니다", "passwordsMismatch": "비밀번호가 일치하지 않습니다" }, "errors": { "invalidLink": "잘못된 복구 링크입니다. 새 링크를 요청하세요.", "expired": "이 복구 링크가 만료되었습니다. 새 링크를 요청하세요." } }, "requestPasskeyRecovery": { "title": "패스키 계정 복구", "subtitle": "패스키에 액세스할 수 없나요? 핸들 또는 이메일을 입력하면 복구 링크를 보내드립니다.", "successTitle": "복구 링크 전송됨", "successMessage": "계정이 존재하고 패스키 전용 계정인 경우 선호하는 알림 채널로 복구 링크를 받게 됩니다.", "successInfo": "링크는 1시간 후 만료됩니다. 계정 설정에 따라 이메일, Discord, Telegram 또는 Signal을 확인하세요.", "handleOrEmail": "핸들 또는 이메일", "emailPlaceholder": "핸들 또는 you@example.com", "howItWorks": "작동 방식", "howItWorksDetail": "등록된 알림 채널로 보안 링크를 보냅니다. 링크를 클릭하여 임시 비밀번호를 설정합니다. 그런 다음 로그인하여 새 패스키를 추가할 수 있습니다.", "sendRecoveryLink": "복구 링크 보내기", "sending": "전송 중..." }, "registerPasskey": { "externalDid": "귀하의 did:web", "externalDidPlaceholder": "did:web:yourdomain.com", "errors": { "handleRequired": "핸들은 필수입니다", "handleNoDots": "핸들에 점을 포함할 수 없습니다. 계정 생성 후 사용자 정의 도메인을 설정할 수 있습니다.", "passkeysNotSupported": "이 브라우저에서 패스키가 지원되지 않습니다. 비밀번호 기반 계정을 만들거나 패스키를 지원하는 브라우저를 사용하세요.", "passkeyCancelled": "패스키 생성이 취소되었습니다", "passkeyFailed": "패스키 등록에 실패했습니다", "signalRequired": "Signal 인증에는 사용자명이 필요합니다", "inviteRequired": "초대 코드가 필요합니다", "externalDidRequired": "외부 did:web이 필요합니다", "emailRequired": "이메일 인증에는 이메일이 필요합니다", "telegramRequired": "Telegram 인증에는 Telegram 사용자 이름이 필요합니다", "externalDidFormat": "외부 DID는 did:web:으로 시작해야 합니다", "discordRequired": "Discord 인증에는 Discord 사용자명이 필요합니다" }, "identityType": "아이덴티티 유형", "identityTypeHint": "분산 아이덴티티 관리 방법을 선택하세요.", "passkeyNamePlaceholder": "예: yubikey, 휴대폰", "passkeyNameHint": "이 패스키를 식별할 수 있는 이름", "createPasskey": "패스키 생성", "didPlcRecommended": "did:plc (권장)", "didPlcHint": "PLC Directory에서 관리하는 이동 가능한 아이덴티티", "didWeb": "did:web", "didWebHint": "이 PDS에서 호스팅되는 아이덴티티 (아래 경고 읽기)", "didWebDisabledHint": "이 PDS에서 사용할 수 없음 - did:plc를 사용하거나 자체 did:web을 가져오세요", "didWebBYOD": "did:web (BYOD)", "didWebBYODHint": "자체 도메인 사용", "didWebWarningTitle": "중요: 장단점 이해하기", "didWebWarning1": "이 PDS에 영구적으로 연결됨:", "didWebWarning1Detail": "귀하의 아이덴티티 {did}는 이 서버에 연결됩니다.", "didWebWarning2": "복구 메커니즘 없음:", "didWebWarning2Detail": "did:plc와 달리 did:web에는 순환 키가 없습니다.", "didWebWarning3": "우리의 약속:", "didWebWarning3Detail": "마이그레이션하더라도 최소한의 DID 문서를 계속 제공합니다.", "didWebWarning4": "권장 사항:", "didWebWarning4Detail": "did:web을 선호할 특별한 이유가 없다면 did:plc를 선택하세요.", "externalDidHint": "다음 위치에서 DID 문서를 제공해야 합니다", "activatingAccount": "활성화 중", "creatingAccount": "계정 생성 중", "passkeyDescription": "이 계정에 패스키 등록", "passkeyName": "패스키 이름", "setupPasskey": "패스키 생성" }, "trustedDevices": { "title": "기억된 기기", "description": "더 빠른 로그인을 위해 기억된 브라우저입니다.", "forget": "잊기", "noDevices": "신뢰할 수 있는 기기가 아직 없습니다.", "noDevicesHint": "2단계 인증이 활성화된 상태로 로그인할 때 기기를 30일간 신뢰하도록 선택할 수 있습니다.", "lastSeen": "마지막 접속:", "trustedSince": "신뢰 시작:", "expired": "만료됨", "tomorrow": "내일", "inDays": "{days}일 후", "revoke": "신뢰 취소", "revokeConfirm": "이 기기에 대한 신뢰를 취소하시겠습니까? 다음에 이 기기에서 로그인할 때 2FA 코드를 입력해야 합니다.", "deviceRevoked": "기기 신뢰가 취소되었습니다", "deviceRenamed": "기기 이름이 변경되었습니다", "deviceNamePlaceholder": "기기 이름", "unknownDevice": "알 수 없는 기기" }, "rememberedApps": { "title": "기억된 앱 선택", "description": "Tranquil이 권한 선택을 기억하는 앱입니다.", "none": "기억된 앱 선택 없음", "forget": "잊기", "forgetConfirm": "이 앱에 저장된 권한 선택을 잊으시겠습니까?", "forgotten": "앱 선택을 잊었습니다" }, "reauth": { "title": "재인증", "password": "비밀번호", "totp": "TOTP", "passkey": "패스키", "authenticatorCode": "인증 코드", "usePasskey": "패스키", "authenticating": "인증 중", "cancel": "취소" }, "delegation": { "controllers": "컨트롤러", "controlledAccounts": "관리 계정", "noControllers": "아직 컨트롤러가 없습니다", "noControlledAccounts": "관리 계정이 없습니다", "addController": "컨트롤러 추가", "handle": "핸들", "did": "DID", "scopeOwner": "소유자", "scopeViewer": "뷰어", "scopeCustom": "사용자 정의", "actAs": "로 활동", "deleteAccount": "삭제", "deleteAccountConfirm": "{handle}을(를) 영구 삭제할까요? 이 작업은 되돌릴 수 없습니다.", "accountDeleted": "위임 계정을 삭제했습니다", "deleteFailed": "위임 계정 삭제에 실패했습니다", "auditLog": "감사 로그", "actor": "액터", "details": "세부정보", "actionGrantCreated": "권한 생성", "actionGrantRevoked": "권한 취소", "actionScopesModified": "권한 수정", "actionTokenIssued": "토큰 발급", "actionRepoWrite": "저장소 쓰기", "actionBlobUpload": "Blob 업로드", "actionAccountAction": "계정 작업", "previous": "이전", "next": "다음", "adding": "추가 중...", "accessLevel": "액세스 수준", "addControllerButton": "+ 컨트롤러 추가", "addControllerWarningTitle": "중요: 로그인 방식이 변경됩니다", "addControllerWarningText": "컨트롤러를 추가하면 OAuth를 통해 이 계정에 로그인할 수 있는 것은 컨트롤러 계정뿐입니다. 서드파티 앱이나 웹 인터페이스에서 본인 자격 증명으로 직접 로그인할 수 없게 됩니다.", "addControllerWarningBullet1": "컨트롤러는 부여한 권한으로 귀하를 대신하여 작업할 수 있습니다", "addControllerWarningBullet2": "먼저 컨트롤러로 로그인한 후 이 계정으로 전환해야 합니다", "addControllerWarningBullet3": "나중에 컨트롤러를 제거하면 직접 로그인 권한을 복구할 수 있습니다", "addControllerConfirm": "직접 로그인할 수 없게 되는 것을 이해합니다", "auditLogDesc": "모든 위임 활동 보기", "cannotAddControllers": "다른 계정을 관리하고 있어 컨트롤러를 추가할 수 없습니다. 계정은 컨트롤러를 가지거나 다른 계정을 관리할 수 있지만 둘 다는 불가능합니다.", "cannotControlAccounts": "이 계정에 컨트롤러가 있어 다른 계정을 관리할 수 없습니다. 계정은 컨트롤러를 가지거나 다른 계정을 관리할 수 있지만 둘 다는 불가능합니다.", "controlledAccountsDesc": "귀하가 대신 작업할 수 있는 계정", "controlledAccountsLocalOnly": "이 PDS의 계정만 표시됩니다. 다른 PDS에서 별도로 컨트롤러 액세스를 부여했을 수 있습니다", "controllerAdded": "컨트롤러가 추가되었습니다", "controllerDid": "컨트롤러 DID", "controllerIdentifier": "컨트롤러 핸들 또는 DID", "controllerRemoved": "컨트롤러가 제거되었습니다", "controllersDesc": "귀하를 대신하여 작업할 수 있는 계정", "createAccount": "계정 생성", "createDelegatedAccount": "위임 계정 생성", "createDelegatedAccountButton": "+ 위임 계정 생성", "emailOptional": "이메일 (선택사항)", "granted": "허용일", "inactive": "비활성", "remove": "제거", "removeConfirm": "이 컨트롤러를 제거하시겠습니까?", "yourAccessLevel": "귀하의 액세스 수준", "accountCreated": "위임 계정이 생성되었습니다: {handle}", "noAuditEntries": "감사 항목 없음", "target": "대상", "failedToLoadAudit": "감사 로그 로딩 실패" }, "actAs": { "title": "로 활동", "noAccountSpecified": "계정 DID가 지정되지 않았습니다", "noAccess": "이 계정에 대한 액세스 권한이 없습니다", "failedToInitiate": "인증 시작에 실패했습니다", "invalidResponse": "서버에서 잘못된 응답을 받았습니다", "preparing": "위임 계정 로그인 준비 중...", "backToControllers": "컨트롤러로 돌아가기" }, "oauthDelegation": { "loading": "로딩 중...", "title": "위임 계정", "isDelegated": "{handle}은(는) 위임 계정입니다.", "enterControllerHandle": "이 계정에 액세스하려면 컨트롤러 계정으로 로그인하세요.", "controllerHandle": "컨트롤러 핸들", "handlePlaceholder": "handle.example.com", "checking": "확인 중...", "controllerNotFound": "계정을 찾을 수 없거나 이 위임 계정에 대한 액세스 권한이 없습니다", "missingParams": "위임 매개변수가 없습니다", "missingInfo": "필요한 정보가 없습니다", "passkeyCancelled": "패스키 인증이 취소되었습니다", "passkeyFailed": "패스키 인증에 실패했습니다", "failedPasskeyStart": "패스키 로그인 시작에 실패했습니다", "authFailed": "인증에 실패했습니다", "unexpectedResponse": "서버에서 예기치 않은 응답을 받았습니다", "signInAsController": "컨트롤러로 로그인", "authenticateAs": "{controller}(으)로 인증하여 {delegated}를 대신합니다", "useDifferentController": "다른 컨트롤러 사용", "signInWithPasskey": "패스키로 로그인", "authenticating": "인증 중...", "usePasskey": "패스키 사용", "or": "또는", "password": "비밀번호", "enterPassword": "비밀번호 입력", "rememberDevice": "이 기기 기억하기", "signingIn": "로그인 중...", "signIn": "로그인", "goBack": "뒤로", "unableToLoad": "위임 정보를 로드할 수 없습니다" }, "oauthConsent": { "delegatedAccess": "위임 액세스", "actingAs": "활동 계정", "controller": "컨트롤러", "accessLevel": "액세스 수준", "readOnlyAccess": "읽기 전용 액세스", "readOnlyDesc": "공개 정보만 볼 수 있습니다. 이 계정에 대한 쓰기 권한이 없습니다.", "permissionsLimited": "권한 제한됨", "permissionsLimitedDesc": "앱이 무엇을 요청하든 실제 권한은 {level} 액세스 수준으로 제한됩니다.", "viewerLimitedDesc": "뷰어로서 읽기 전용 액세스 권한만 있습니다. 이 앱은 이 계정에서 콘텐츠를 생성, 수정 또는 삭제할 수 없습니다.", "editorLimitedDesc": "편집자로서 콘텐츠를 생성하고 편집할 수 있지만 계정 설정이나 보안을 관리할 수 없습니다." }, "migration": { "title": "계정 마이그레이션", "subtitle": "AT Protocol 아이덴티티를 서버 간에 이동", "migrateHere": "여기로 마이그레이션", "migrateHereDesc": "기존 AT Protocol 계정을 다른 서버에서 이 PDS로 이동합니다.", "bringDid": "DID와 아이덴티티 가져오기", "transferData": "모든 데이터 전송", "keepFollowers": "팔로워 유지", "whatIsMigration": "계정 마이그레이션이란?", "whatIsMigrationDesc": "계정 마이그레이션을 통해 AT Protocol 아이덴티티를 개인 데이터 서버(PDS) 간에 이동할 수 있습니다. DID(분산 식별자)는 동일하게 유지되므로 팔로워와 소셜 연결이 보존됩니다.", "beforeMigrate": "마이그레이션 전 확인사항", "beforeMigrate1": "현재 계정 인증 정보가 필요합니다", "beforeMigrate2": "보안을 위해 이메일 인증이 필요합니다", "beforeMigrate3": "이미지가 많은 대용량 계정은 몇 분이 걸릴 수 있습니다", "beforeMigrate4": "이전 PDS에 계정 비활성화가 통보됩니다", "importantWarning": "계정 마이그레이션은 중요한 작업입니다. 대상 PDS를 신뢰하고 데이터가 이동된다는 것을 이해하세요. 문제가 발생하면 수동 복구가 필요할 수 있습니다.", "learnMore": "마이그레이션 위험에 대해 자세히 알아보기", "offlineRestore": "오프라인 복원", "offlineRestoreDesc": "이전 PDS를 사용할 수 없을 때 백업에서 복원합니다.", "offlineFeature1": "CAR 파일 백업 사용", "offlineFeature2": "회전 키로 소유권 증명", "offlineFeature3": "종료된 서버 복구", "oauthCompleting": "인증 완료 중...", "oauthFailed": "인증 실패", "tryAgain": "다시 시도", "resume": { "title": "마이그레이션을 재개하시겠습니까?", "incomplete": "완료되지 않은 마이그레이션이 있습니다:", "direction": "방향", "migratingHere": "여기로 마이그레이션 중", "from": "출발지", "to": "목적지", "progress": "진행 상황", "reenterCredentials": "계속하려면 인증 정보를 다시 입력해야 합니다.", "startOver": "처음부터 다시 시작", "resumeButton": "재개" }, "inbound": { "welcome": { "title": "이 PDS로 마이그레이션", "desc": "기존 AT Protocol 계정을 이 서버로 이동합니다.", "understand": "위험을 이해하고 계속 진행합니다" }, "sourceAuth": { "title": "현재 핸들 입력", "titleResume": "마이그레이션 재개", "desc": "마이그레이션할 계정의 핸들을 입력하세요.", "descResume": "마이그레이션을 계속하려면 소스 PDS에 재인증하세요.", "handle": "핸들", "handlePlaceholder": "alice.bsky.social", "handleHint": "현재 PDS에서의 핸들", "continue": "계속", "connecting": "연결 중...", "reauthenticate": "재인증", "resumeTitle": "마이그레이션 진행 중", "resumeFrom": "출발지", "resumeTo": "목적지", "resumeProgress": "진행 상황", "resumeOAuthNote": "계속하려면 OAuth로 재인증이 필요합니다." }, "chooseHandle": { "title": "새 핸들 선택", "desc": "이 PDS에서 사용할 계정 핸들을 선택하세요.", "migratingFrom": "마이그레이션 원본", "handleChoice": "핸들", "keepExisting": "기존 핸들 유지", "createNew": "새 핸들 생성", "existingHandle": "현재 핸들", "verifyInstructions": "DNS 또는 HTTP로 소유권 확인", "or": "또는", "returning": "반환값", "verifyOwnership": "소유권 확인", "verifying": "확인 중", "verified": "확인됨", "checkAgain": "다시 확인", "newHandle": "새 핸들", "checkingAvailability": "사용 가능 여부 확인 중...", "handleAvailable": "핸들을 사용할 수 있습니다!", "handleTaken": "핸들이 이미 사용 중입니다", "handleTooShort": "핸들은 최소 3자 이상이어야 합니다", "handleHint": "전체 핸들(예: alice.mydomain.com)을 입력하여 자체 도메인을 사용할 수도 있습니다", "email": "이메일 주소", "authMethod": "인증 방법", "authPassword": "비밀번호", "authPasswordDesc": "기존 비밀번호 기반 로그인", "authPasskey": "패스키", "authPasskeyDesc": "생체 인식 또는 보안 키를 사용한 비밀번호 없는 로그인", "password": "비밀번호", "passwordHint": "최소 8자", "passkeyInfo": "계정 생성 후 패스키를 설정합니다. 기기에서 생체 인식(지문, Face ID) 또는 보안 키 사용을 요청합니다.", "inviteCode": "초대 코드" }, "review": { "title": "마이그레이션 검토", "desc": "마이그레이션 세부 정보를 확인하세요.", "currentHandle": "현재 핸들", "newHandle": "새 핸들", "did": "DID", "sourcePds": "소스 PDS", "targetPds": "대상 PDS", "email": "이메일", "authentication": "인증", "authPasskey": "패스키 (비밀번호 없음)", "authPassword": "비밀번호", "warning": "\"마이그레이션 시작\"을 클릭하면 저장소와 데이터 전송이 시작됩니다. 이 과정은 쉽게 되돌릴 수 없습니다.", "startMigration": "마이그레이션 시작", "starting": "시작 중..." }, "migrating": { "title": "마이그레이션 진행 중", "desc": "계정을 전송하는 중입니다...", "exportRepo": "저장소 내보내기", "importRepo": "저장소 가져오기", "migrateBlobs": "blob 마이그레이션", "migratePrefs": "환경설정 마이그레이션" }, "passkeySetup": { "title": "패스키 설정", "desc": "이메일이 인증되었습니다. 안전한 비밀번호 없는 로그인을 위해 패스키를 설정하세요.", "nameLabel": "패스키 이름 (선택사항)", "namePlaceholder": "예: yubikey, 휴대폰", "nameHint": "이 패스키를 식별하기 위한 이름", "instructions": "아래 버튼을 클릭하여 패스키를 등록하세요. 기기에서 생체 인식(지문, Face ID) 또는 보안 키 사용을 요청합니다.", "register": "패스키 등록", "registering": "등록 중..." }, "appPassword": { "title": "앱 비밀번호 저장", "desc": "패스키가 생성되었습니다. 아직 패스키를 지원하지 않는 앱에서 사용할 앱 비밀번호가 생성되었습니다.", "warning": "이 앱 비밀번호는 아직 패스키를 지원하지 않는 앱(예: bsky.app)에 로그인할 때 필요합니다. 이 비밀번호는 한 번만 표시됩니다.", "label": "앱 비밀번호:", "saved": "앱 비밀번호를 안전한 곳에 저장했습니다", "continue": "계속" }, "emailVerify": { "title": "계정 인증", "desc": "인증 코드가 {email}(으)로 전송되었습니다.", "hint": "아래에 코드를 입력하거나, 메시지의 링크를 클릭하여 자동으로 계속할 수 있습니다.", "tokenLabel": "인증 코드", "tokenPlaceholder": "인증 코드 입력", "resend": "코드 재전송", "telegramInstructions": "Telegram 봇에 메시지를 보내 계정을 인증하세요.", "discordInstructions": "Discord 봇에 메시지를 보내 계정을 인증하세요.", "openTelegram": "Telegram에서 인증하기", "openDiscord": "Discord에서 인증하기", "waitingForVerification": "인증 대기 중..." }, "plcToken": { "title": "마이그레이션 확인", "desc": "이전 계정에 등록된 이메일로 인증 코드가 전송되었습니다.", "info": "이 코드는 계정 접근 권한을 확인하고 이 PDS를 가리키도록 아이덴티티 업데이트를 승인합니다.", "tokenLabel": "인증 코드", "tokenPlaceholder": "이메일에서 받은 코드 입력", "resend": "코드 재전송", "complete": "마이그레이션 완료", "completing": "확인 중..." }, "didWebUpdate": { "title": "DID 문서 업데이트", "desc": "did:web 아이덴티티를 사용하고 있으므로 DID 문서를 이 PDS를 가리키도록 업데이트해야 합니다.", "yourDid": "당신의 DID:", "updateInstructions": "도메인의 did.json 파일을 업데이트하여 atproto_pds 서비스 엔드포인트가 이 PDS를 가리키도록 하세요:", "important": "중요:", "verifyFirst": "마이그레이션을 완료하기 전에 DID 문서가 업데이트되고 공개적으로 접근 가능한지 확인하세요.", "fileLocation": "파일 위치:", "complete": "마이그레이션 완료", "completing": "완료 중..." }, "finalizing": { "title": "마이그레이션 완료 중", "desc": "마이그레이션을 완료하는 중입니다...", "signingPlc": "아이덴티티 업데이트 서명", "activating": "새 PDS에서 계정 활성화", "deactivating": "이전 PDS에서 계정 비활성화" }, "success": { "title": "마이그레이션 완료!", "desc": "계정이 이 PDS로 성공적으로 마이그레이션되었습니다.", "yourNewHandle": "새 핸들", "did": "DID", "blobsWarning": "{count}개의 blob을 마이그레이션할 수 없습니다. 더 이상 사용할 수 없는 이미지나 기타 미디어일 수 있습니다.", "redirecting": "대시보드로 리디렉션 중..." }, "error": { "title": "마이그레이션 오류", "desc": "마이그레이션 중 오류가 발생했습니다.", "startOver": "처음부터 다시 시작", "unknown": "알 수 없는 오류가 발생했습니다." }, "common": { "back": "뒤로", "cancel": "취소", "continue": "계속", "whatWillHappen": "진행 과정:", "step1": "현재 PDS에 로그인", "step2": "이 서버에서 새 핸들 선택", "step3": "저장소와 blob이 전송됩니다", "step4": "이메일로 마이그레이션 확인", "step5": "아이덴티티가 여기를 가리키도록 업데이트됩니다", "beforeProceed": "진행하기 전에:", "warning1": "현재 계정에 등록된 이메일에 접근할 수 있어야 합니다", "warning2": "대용량 계정 전송에는 몇 분이 걸릴 수 있습니다", "warning3": "마이그레이션 후 이전 계정은 비활성화됩니다" } }, "offline": { "welcome": { "title": "백업에서 복원", "desc": "CAR 파일 백업과 회전 키를 사용하여 계정을 복원합니다. 이전 PDS를 사용할 수 없을 때 사용하세요.", "warningTitle": "이 방법을 사용해야 할 때", "warningDesc": "이 오프라인 복원은 이전 PDS가 종료되었거나, 접근할 수 없거나, 잠긴 경우의 재해 복구용입니다. 이전 PDS가 여전히 사용 가능하면 표준 마이그레이션을 사용하세요.", "requirementsTitle": "필요한 것", "requirement1": "저장소의 CAR 파일 백업", "requirement2": "회전 키 (DID의 개인 키)", "requirement3": "당신의 DID (did:plc:xxx)", "understand": "이해하고 계속 진행합니다" }, "provideDid": { "title": "DID 입력", "desc": "복원할 계정의 DID를 입력하세요.", "label": "당신의 DID", "hint": "분산 식별자 (예: did:plc:abc123)" }, "uploadCar": { "title": "CAR 파일 업로드", "desc": "저장소 백업 파일을 업로드하세요.", "label": "CAR 파일", "hint": "백업에서 .car 파일을 선택하세요", "reuploadWarningTitle": "CAR 파일 필요", "reuploadWarning": "세션이 복원되었지만 CAR 파일을 다시 업로드해야 합니다. 보안상의 이유로 파일 내용은 세션 간에 저장되지 않습니다." }, "rotationKey": { "title": "회전 키 제공", "desc": "이 DID의 소유권을 증명하기 위해 회전 키를 입력하세요.", "securityWarningTitle": "보안 경고", "securityWarning1": "회전 키는 매우 민감합니다 - 마스터 비밀번호처럼 취급하세요", "securityWarning2": "신뢰할 수 있는 장치와 네트워크에서만 입력하세요", "securityWarning3": "이 키는 마이그레이션 완료 후 저장되지 않습니다", "label": "회전 키", "placeholder": "개인 키 입력 (hex, base58 또는 JWK)", "hint": "DID 문서의 회전 키 중 하나에 해당하는 개인 키", "valid": "키가 유효하고 DID의 회전 키와 일치합니다", "invalid": "키가 DID 문서의 어떤 회전 키와도 일치하지 않습니다", "validating": "키 검증 중...", "validate": "키 검증" }, "chooseHandle": { "migratingDid": "DID 복원 중" }, "review": { "desc": "오프라인 복원 세부 정보를 확인하세요.", "carFile": "CAR 파일", "rotationKey": "회전 키", "plcWarningTitle": "되돌릴 수 없는 지점", "plcWarning": "시작하면 DID 문서가 이 PDS를 가리키도록 업데이트됩니다. 문제가 발생하면 회전 키를 사용하여 복구할 수 있지만, 손상된 아이덴티티 상태를 피하려면 마이그레이션을 완료해야 합니다." }, "migrating": { "title": "계정 복원 중", "desc": "계정을 복원하는 중입니다...", "creating": "계정 생성 중", "importing": "저장소 가져오는 중" }, "success": { "desc": "계정이 이 PDS에 성공적으로 복원되었습니다." }, "blobs": { "title": "Blob 마이그레이션 중", "desc": "이전 PDS에서 이미지와 미디어를 복구하는 중...", "migrating": "Blob 마이그레이션 중", "failedTitle": "일부 Blob을 마이그레이션할 수 없음", "failedDesc": "{count}개의 Blob을 이전 PDS에서 가져올 수 없습니다. 서버에 연결할 수 없거나 파일이 삭제되었을 수 있습니다." } } }}