diff --git a/packages/elements-react/src/locales/index.ts b/packages/elements-react/src/locales/index.ts index 25da6dfab..08052bc4e 100644 --- a/packages/elements-react/src/locales/index.ts +++ b/packages/elements-react/src/locales/index.ts @@ -9,6 +9,7 @@ import { default as nl } from "./nl.json" import { default as pl } from "./pl.json" import { default as pt } from "./pt.json" import { default as sv } from "./sv.json" +import { default as ko } from "./ko.json" import { default as no } from "./no.json" // export type TranslationFile = { @@ -29,5 +30,6 @@ export const OryLocales: LocaleMap = { pl, pt, sv, + ko, no, } diff --git a/packages/elements-react/src/locales/ko.json b/packages/elements-react/src/locales/ko.json new file mode 100644 index 000000000..294a4f5fc --- /dev/null +++ b/packages/elements-react/src/locales/ko.json @@ -0,0 +1,285 @@ +{ + "consent.action-accept": "허용", + "consent.action-reject": "거부", + "consent.description": "이 사이트나 앱을 신뢰하는 경우에만 권한을 부여하세요. 모든 권한을 반드시 수락할 필요는 없습니다.", + "consent.privacy-policy-label": "개인정보 처리방침", + "consent.remember-label": "다음에 이 결정을 기억합니다. 애플리케이션은 귀하의 동의 없이 추가 권한을 요청할 수 없습니다.", + "consent.remember-tooltip": "내 결정을 기억하기", + "consent.requested-permissions-label": "애플리케이션은 다음 권한에 대한 접근을 요청합니다:", + "consent.terms-of-service-label": "서비스 약관", + "error.back-button": "뒤로가기", + "error.description": "다음 메시지와 함께 오류가 발생했습니다:", + "error.support-email-link": "문제가 지속되면 {contactSupportEmail}로 문의해 주세요.", + "error.title": "오류 발생", + "error.title-internal-server-error": "내부 서버 오류", + "error.title-not-found": "404 - 페이지를 찾을 수 없음", + "identities.messages.1010001": "로그인", + "identities.messages.1010002": "{provider}로 로그인", + "identities.messages.1010003": "본인임을 확인해 이 작업을 완료해 주세요.", + "identities.messages.1010004": "2차 인증 절차를 완료해 주세요.", + "identities.messages.1010005": "확인", + "identities.messages.1010006": "인증 코드", + "identities.messages.1010007": "백업 복구 코드", + "identities.messages.1010008": "보안 키로 계속", + "identities.messages.1010009": "계속", + "identities.messages.1010010": "계속", + "identities.messages.1010011": "하드웨어 키로 로그인", + "identities.messages.1010012": "WebAuthn 장치(예: 보안 키, 생체 인식 스캐너 등)를 준비하고 계속을 눌러주세요.", + "identities.messages.1010013": "계속", + "identities.messages.1010014": "제공하신 주소로 코드가 전송되었습니다. 메시지를 받지 못했다면 주소를 확인하고 다시 시도해 주세요.", + "identities.messages.1010015": "로그인 코드 전송", + "identities.messages.1010016": "\"{duplicateIdentifier}\"로 로그인하려 했지만 이 이메일은 이미 다른 계정에 사용 중입니다. 아래 옵션 중 하나로 로그인해 \"{provider}\"에서 \"{duplicateIdentifier}\" 계정을 추가하세요.", + "identities.messages.1010017": "로그인 및 연결", + "identities.messages.1010018": "{provider}로 확인", + "identities.messages.1010019": "계속할 코드 요청", + "identities.messages.1010021": "패스키로 로그인", + "identities.messages.1010022": "비밀번호로 로그인", + "identities.messages.1010023": "{address}로 코드 전송", + "identities.messages.1040001": "회원가입", + "identities.messages.1040002": "{provider}로 가입", + "identities.messages.1040003": "계속", + "identities.messages.1040004": "보안 키로 가입", + "identities.messages.1040005": "제공한 주소로 코드가 전송되었습니다. 메시지를 받지 못했다면 주소를 확인하고 다시 시도해 주세요.", + "identities.messages.1040006": "가입 코드 전송", + "identities.messages.1040007": "패스키로 가입", + "identities.messages.1040008": "뒤로가기", + "identities.messages.1040009": "인증에 사용할 자격 증명을 선택해 주세요.", + "identities.messages.1050001": "변경 사항이 저장되었습니다!", + "identities.messages.1050002": "{provider} 연결", + "identities.messages.1050003": "{provider} 연결 해제", + "identities.messages.1050004": "TOTP 인증 앱 연결 해제", + "identities.messages.1050005": "인증 앱 QR 코드", + "identities.messages.1050006": "{secret}", + "identities.messages.1050007": "백업 복구 코드 표시", + "identities.messages.1050008": "활성화", + "identities.messages.1050009": "{secret}", + "identities.messages.1050010": "이것은 백업 복구 코드입니다. 안전한 장소에 보관하세요!", + "identities.messages.1050011": "백업 복구 코드 확인", + "identities.messages.1050012": "보안 키 추가", + "identities.messages.1050013": "보안 키 이름", + "identities.messages.1050014": "{used_at, date, long}에 사용됨", + "identities.messages.1050015": "{secrets_list}", + "identities.messages.1050016": "이 방법 비활성화", + "identities.messages.1050017": "인증 앱 비밀키", + "identities.messages.1050018": "\"{display_name}\" 보안 키 제거", + "identities.messages.1050019": "패스키 추가", + "identities.messages.1050020": "\"{display_name}\" 패스키 제거", + "identities.messages.1060001": "계정 복구가 완료되었습니다. {privileged_session_expires_at_unix_until_minutes}분 이내에 비밀번호를 변경하거나 다른 로그인 방법(예: 소셜 로그인)을 설정해 주세요.", + "identities.messages.1060002": "복구 링크가 포함된 이메일이 제공하신 이메일 주소로 전송되었습니다. 이메일을 받지 못했다면 주소 철자를 확인하고, 가입 시 사용한 주소가 맞는지 확인해 주세요.", + "identities.messages.1060003": "복구 코드가 포함된 이메일이 제공하신 이메일 주소로 전송되었습니다. 이메일을 받지 못했다면 주소 철자를 확인하고, 가입 시 사용한 주소가 맞는지 확인해 주세요.", + "identities.messages.1070001": "비밀번호", + "identities.messages.1070002": "{title}", + "identities.messages.1070003": "저장", + "identities.messages.1070004": "ID", + "identities.messages.1070005": "제출", + "identities.messages.1070006": "코드 확인", + "identities.messages.1070007": "이메일", + "identities.messages.1070008": "코드 재전송", + "identities.messages.1070009": "계속", + "identities.messages.1070010": "복구 코드", + "identities.messages.1070011": "인증 코드", + "identities.messages.1070012": "가입 코드", + "identities.messages.1070013": "로그인 코드", + "identities.messages.1070014": "로그인 및 자격 증명 연결", + "identities.messages.1070015": "계속하려면 캡차 인증을 완료해 주세요.", + "identities.messages.1080001": "인증 링크가 포함된 이메일이 제공하신 이메일 주소로 전송되었습니다. 이메일을 받지 못했다면 주소 철자를 확인하고, 가입 시 사용한 주소가 맞는지 확인해 주세요.", + "identities.messages.1080002": "이메일 인증이 완료되었습니다.", + "identities.messages.1080003": "인증 코드가 포함된 이메일이 제공하신 이메일 주소로 전송되었습니다. 이메일을 받지 못했다면 주소 철자를 확인하고, 가입 시 사용한 주소가 맞는지 확인해 주세요.", + "identities.messages.4000001": "{reason}", + "identities.messages.4000002": "{property}을(를) 입력한 후 다시 시도해 주세요.", + "identities.messages.4000003": "길이는 {min_length}자 이상이어야 하며, 현재 {actual_length}자입니다.", + "identities.messages.4000004": "\"{pattern}\" 패턴과 일치하지 않습니다.", + "identities.messages.4000005": "비밀번호를 사용할 수 없습니다. 이유: {reason}.", + "identities.messages.4000006": "입력한 자격 증명이 올바르지 않습니다. 비밀번호, 사용자 이름, 이메일 주소, 전화번호의 철자를 확인해 주세요.", + "identities.messages.4000007": "이미 동일한 식별자(이메일, 전화번호, 사용자 이름 등)를 가진 계정이 존재합니다.", + "identities.messages.4000008": "제공된 인증 코드가 유효하지 않습니다. 다시 시도해 주세요.", + "identities.messages.4000009": "로그인 식별자를 찾을 수 없습니다. 설정을 잊으셨나요? 또는 서버 구성 문제일 수 있습니다.", + "identities.messages.4000010": "계정이 아직 활성화되지 않았습니다. 이메일 인증을 잊으셨나요?", + "identities.messages.4000011": "TOTP 장치가 설정되어 있지 않습니다.", + "identities.messages.4000012": "이 백업 복구 코드는 이미 사용되었습니다.", + "identities.messages.4000013": "WebAuthn 장치가 설정되어 있지 않습니다.", + "identities.messages.4000014": "백업 복구 코드가 설정되어 있지 않습니다.", + "identities.messages.4000015": "이 계정은 존재하지 않거나 보안 키가 설정되어 있지 않습니다.", + "identities.messages.4000016": "백업 복구 코드가 유효하지 않습니다.", + "identities.messages.4000017": "길이는 {max_length}자 이하여야 하며, 현재 {actual_length}자입니다.", + "identities.messages.4000018": "{minimum} 이상이어야 하나 {actual}로 입력되었습니다.", + "identities.messages.4000019": "{minimum} 초과이어야 하나 {actual}로 입력되었습니다.", + "identities.messages.4000020": "{maximum} 이하여야 하나 {actual}로 입력되었습니다.", + "identities.messages.4000021": "{maximum} 미만이어야 하나 {actual}로 입력되었습니다.", + "identities.messages.4000022": "{actual}는 {base}의 배수가 아닙니다.", + "identities.messages.4000023": "최대 {max_items}개의 항목만 허용되지만, {actual_items}개가 입력되었습니다.", + "identities.messages.4000024": "최소 {min_items}개의 항목이 필요하지만, {actual_items}개가 입력되었습니다.", + "identities.messages.4000025": "인덱스 {index_a}와 {index_b}의 항목이 동일합니다.", + "identities.messages.4000026": "{allowed_types_list} 유형이 필요하지만 {actual_type}이(가) 입력되었습니다.", + "identities.messages.4000027": "이미 동일한 식별자(이메일, 전화번호, 사용자 이름 등)를 가진 계정이 존재합니다. 기존 계정에 로그인하여 소셜 프로필을 연결해 주세요.", + "identities.messages.4000028": "{credential_identifier_hint}으로 로그인 시도했지만 이 정보는 다른 계정에서 이미 사용 중입니다. {available_credential_types_list}로 로그인할 수 있습니다. 다음 소셜 로그인 제공업체 중 하나로 로그인할 수도 있습니다: {Available_oidc_providers_list}.", + "identities.messages.4000029": "{expected}와(과) 동일해야 합니다.", + "identities.messages.4000030": "상수 검증 실패", + "identities.messages.4000031": "비밀번호가 식별자와 너무 유사하여 사용할 수 없습니다.", + "identities.messages.4000032": "비밀번호는 최소 {min_length}자 이상이어야 하며, 현재 {actual_length}자입니다.", + "identities.messages.4000033": "비밀번호는 최대 {max_length}자 이하여야 하며, 현재 {actual_length}자입니다.", + "identities.messages.4000034": "이 비밀번호는 데이터 유출에서 발견되어 더 이상 사용할 수 없습니다.", + "identities.messages.4000035": "이 계정은 존재하지 않거나 코드 로그인이 설정되어 있지 않습니다.", + "identities.messages.4000036": "제공된 속성이 이전 플로우의 속성과 일치하지 않습니다.", + "identities.messages.4000037": "이 계정은 존재하지 않거나 로그인 방법이 설정되어 있지 않습니다.", + "identities.messages.4000038": "캡차 인증에 실패했습니다. 다시 시도해 주세요.", + "identities.messages.4010001": "로그인 플로우가 {expired_at_unix_since_minutes}분 전에 만료되었습니다. 다시 시도해 주세요.", + "identities.messages.4010002": "로그인할 전략을 찾을 수 없습니다. 양식을 올바르게 작성하셨나요?", + "identities.messages.4010003": "회원가입할 전략을 찾을 수 없습니다. 양식을 올바르게 작성하셨나요?", + "identities.messages.4010004": "설정을 업데이트할 전략을 찾을 수 없습니다. 양식을 올바르게 작성하셨나요?", + "identities.messages.4010005": "계정을 복구할 전략을 찾을 수 없습니다. 양식을 올바르게 작성하셨나요?", + "identities.messages.4010006": "계정을 인증할 전략을 찾을 수 없습니다. 양식을 올바르게 작성하셨나요?", + "identities.messages.4010007": "요청이 이미 성공적으로 완료되어 다시 시도할 수 없습니다.", + "identities.messages.4010008": "로그인 코드가 유효하지 않거나 이미 사용되었습니다. 다시 시도해 주세요.", + "identities.messages.4010009": "연결된 자격 증명이 일치하지 않습니다.", + "identities.messages.4010010": "입력하신 주소가 현재 계정의 등록된 주소와 일치하지 않습니다.", + "identities.messages.4040001": "회원가입 플로우가 {expired_at_unix_since_minutes}분 전에 만료되었습니다. 다시 시도해 주세요.", + "identities.messages.4040002": "요청이 이미 성공적으로 완료되어 다시 시도할 수 없습니다.", + "identities.messages.4040003": "회원가입 코드가 유효하지 않거나 이미 사용되었습니다. 다시 시도해 주세요.", + "identities.messages.4050001": "설정 플로우가 {expired_at_unix_since_minutes}분 전에 만료되었습니다. 다시 시도해 주세요.", + "identities.messages.4060001": "요청이 이미 성공적으로 완료되어 다시 시도할 수 없습니다.", + "identities.messages.4060002": "복구 플로우가 실패 상태에 도달하여 다시 시도해야 합니다.", + "identities.messages.4060004": "복구 토큰이 유효하지 않거나 이미 사용되었습니다. 다시 시도해 주세요.", + "identities.messages.4060005": "복구 플로우가 {expired_at_unix_since_minutes}분 전에 만료되었습니다. 다시 시도해 주세요.", + "identities.messages.4060006": "복구 코드가 유효하지 않거나 이미 사용되었습니다. 다시 시도해 주세요.", + "identities.messages.4070001": "인증 토큰이 유효하지 않거나 이미 사용되었습니다. 다시 시도해 주세요.", + "identities.messages.4070002": "요청이 이미 성공적으로 완료되어 다시 시도할 수 없습니다.", + "identities.messages.4070003": "인증 플로우가 실패 상태에 도달하여 다시 시도해야 합니다.", + "identities.messages.4070005": "인증 플로우가 {expired_at_unix_since_minutes}분 전에 만료되었습니다. 다시 시도해 주세요.", + "identities.messages.4070006": "인증 코드가 유효하지 않거나 이미 사용되었습니다. 다시 시도해 주세요.", + "identities.messages.5000001": "{reason}", + "login.cancel-button": "취소", + "login.cancel-label": "계정이 다르신가요?", + "login.forgot-password": "비밀번호를 잊으셨나요?", + "login.logged-in-as-label": "현재 로그인 중:", + "login.logout-button": "로그아웃", + "login.logout-label": "문제가 발생했나요?", + "login.registration-button": "회원가입", + "login.registration-label": "아직 계정이 없으신가요?", + "login.subtitle-oauth2": "{clientName}에 로그인하기", + "login.title": "로그인", + "login.subtitle": "{parts}로 로그인", + "login.title-aal2": "2차 인증", + "login.subtitle-aal2": "2차 인증을 완료할 방법을 선택해 주세요.", + "login.code.subtitle": "인증 코드가 이메일로 전송됩니다.", + "login.webauthn.subtitle": "WebAuthN 장치를 준비해 주세요.", + "login.totp.subtitle": "인증 앱에서 생성된 코드를 입력해 주세요.", + "login.lookup_secret.subtitle": "8자리 백업 복구 코드 중 하나를 입력해 주세요.", + "login.title-refresh": "다시 인증하기", + "login.subtitle-refresh": "{parts}로 본인 인증을 진행해 주세요.", + "login.2fa.go-back": "문제가 발생했나요?", + "login.2fa.go-back.link": "뒤로 가기", + "login.2fa.method.go-back": "다른 방법 선택", + "logout.accept-button": "네", + "logout.reject-button": "아니요", + "logout.title": "로그아웃하시겠습니까?", + "recovery.login-button": "로그인", + "recovery.login-label": "자격 증명을 기억하시나요?", + "recovery.title": "계정 복구", + "recovery.subtitle": "계정과 연결된 이메일 주소를 입력하면 일회용 접근 코드를 받을 수 있습니다.", + "registration.login-button": "로그인", + "registration.login-label": "이미 계정이 있으신가요?", + "registration.subtitle-oauth2": "{clientName}에 가입하기", + "registration.title": "계정 등록", + "registration.subtitle": "{parts}로 가입하기", + "settings.navigation-back-button": "뒤로", + "settings.navigation-backup-codes": "2FA 백업 코드", + "settings.navigation-logout": "로그아웃", + "settings.navigation-oidc": "소셜 로그인", + "settings.navigation-password": "비밀번호", + "settings.navigation-profile": "프로필", + "settings.navigation-totp": "인증 앱", + "settings.navigation-webauthn": "하드웨어 키", + "settings.navigation-passkey": "패스키", + "settings.subtitle-instructions": "여기서 계정과 관련된 설정을 관리할 수 있습니다. 일부 작업은 다시 인증이 필요할 수 있습니다.", + "settings.subtitle": "계정 설정 업데이트", + "settings.title-lookup-secret": "2FA 백업 복구 코드 관리", + "settings.title-navigation": "계정 설정", + "settings.title-oidc": "소셜 로그인", + "settings.title-password": "비밀번호 변경", + "settings.title-profile": "프로필 설정", + "settings.title-totp": "2FA TOTP 인증 앱 관리", + "settings.title-webauthn": "하드웨어 키 관리", + "settings.title-passkey": "패스키 관리", + "settings.title": "계정 설정", + "settings.navigation.title": "계정 설정", + "settings.password.title": "비밀번호 변경", + "settings.password.description": "비밀번호를 수정합니다.", + "settings.profile.title": "프로필 설정", + "settings.profile.description": "프로필 정보를 업데이트합니다.", + "settings.webauthn.title": "하드웨어 키 관리", + "settings.webauthn.description": "하드웨어 키 설정을 관리합니다.", + "verification.registration-button": "회원가입", + "verification.registration-label": "아직 계정이 없으신가요?", + "verification.title": "계정 인증", + "verification.subtitle": "계정과 연결된 이메일 주소를 입력해 인증을 완료하세요.", + "verification.back-button": "뒤로", + "two-step.password.title": "비밀번호", + "two-step.password.description": "계정에 연결된 비밀번호를 입력해 주세요.", + "two-step.code.title": "이메일 코드", + "two-step.code.description": "이메일로 인증 코드가 전송됩니다.", + "two-step.webauthn.title": "보안 키", + "two-step.webauthn.description": "보안 키를 사용해 인증합니다.", + "two-step.passkey.title": "패스키 (권장)", + "two-step.passkey.description": "기기의 지문 또는 얼굴 인식을 사용합니다.", + "two-step.totp.title": "인증 앱 사용 (TOTP)", + "two-step.totp.description": "인증 앱의 6자리 일회용 코드를 사용합니다.", + "two-step.lookup_secret.title": "백업 복구 코드", + "two-step.lookup_secret.description": "8자리 백업 복구 코드 중 하나를 사용해 인증합니다.", + "identities.messages.1010020": "", + "input.placeholder": "{placeholder}를 입력해 주세요", + "card.header.parts.oidc": "소셜 제공자", + "card.header.parts.password.registration": "{identifierLabel} 및 비밀번호", + "card.header.parts.password.login": "{identifierLabel} 및 비밀번호", + "card.header.parts.code": "전송된 코드", + "card.header.parts.passkey": "패스키", + "card.header.parts.webauthn": "보안 키", + "card.header.parts.totp": "인증 앱", + "card.header.parts.lookup_secret": "백업 복구 코드", + "card.header.parts.identifier-first": "{identifierLabel}", + "card.header.description.login": "{identifierLabel}로 로그인", + "card.header.description.registration": "{identifierLabel}로 가입", + "misc.or": "또는", + "forms.label.forgot-password": "비밀번호를 잊으셨나요?", + "settings.totp.title": "인증 앱", + "settings.totp.description": "TOTP 인증 앱을 계정에 추가하여 보안을 강화하세요. 대표적인 앱은 LastPass와 Google Authenticator입니다.", + "settings.totp.info.not-linked": "QR 코드를 인증 앱으로 스캔하고 코드를 입력해 활성화하세요.", + "settings.totp.info.linked": "현재 인증 앱이 연결되어 있습니다.", + "settings.lookup_secret.title": "백업 복구 코드 (2차 인증)", + "settings.lookup_secret.description": "백업 복구 코드는 2FA 장치를 분실했을 때 계정에 다시 접근할 수 있도록 도와줍니다.", + "settings.oidc.title": "연결된 계정", + "settings.oidc.description": "소셜 로그인 제공자를 계정에 연결합니다.", + "settings.oidc.info": "이 제공자의 계정을 통해 로그인할 수 있습니다.", + "settings.webauthn.info": "하드웨어 키는 2차 인증 또는 패스키로 1차 인증에 사용됩니다.", + "settings.passkey.title": "패스키 관리", + "settings.passkey.description": "패스키 설정을 관리합니다.", + "settings.passkey.info": "패스키 설정을 관리합니다.", + "card.footer.select-another-method": "다른 방법 선택", + "account-linking.title": "계정 연결", + "property.password": "비밀번호", + "property.email": "이메일", + "property.phone": "전화번호", + "property.username": "사용자 이름", + "property.identifier": "식별자", + "property.code": "코드", + "consent.title": "{party} 권한 부여", + "consent.subtitle": "타사 애플리케이션이 계정 {identifier}에 연결된 정보를 요청하고 있습니다.", + "consent.scope.openid.title": "신원", + "consent.scope.openid.description": "이 애플리케이션이 사용자의 신원을 확인할 수 있도록 허용합니다. 인증 및 신뢰할 수 있는 로그인 경험을 위해 필요합니다.", + "consent.scope.offline_access.title": "오프라인 접근", + "consent.scope.offline_access.description": "이 애플리케이션이 사용자가 활동하지 않을 때에도 로그인 상태를 유지할 수 있도록 허용합니다.", + "consent.scope.profile.title": "프로필 정보", + "consent.scope.profile.description": "사용자의 기본 프로필 세부정보(사용자 이름, 이름, 성 등)에 접근할 수 있도록 허용합니다.", + "consent.scope.email.title": "이메일 주소", + "consent.scope.email.description": "이메일 주소와 인증 상태를 가져옵니다.", + "consent.scope.address.title": "주소", + "consent.scope.address.description": "우편 주소에 접근할 수 있도록 허용합니다.", + "consent.scope.phone.title": "전화번호", + "consent.scope.phone.description": "전화번호와 인증 상태를 가져옵니다.", + "error.title.what-happened": "무슨 일이 발생했나요?", + "error.title.what-can-i-do": "무엇을 할 수 있나요?", + "error.instructions": "잠시 후 다시 시도하거나 웹사이트 운영자에게 문의해 주세요.", + "error.footer.text": "이 오류를 보고할 때 다음 정보를 포함해 주세요:", + "error.footer.copy": "복사", + "error.action.go-back": "뒤로 가기" +}