From a7f217873c4b4134fce52b28eea9d118ae1841be Mon Sep 17 00:00:00 2001 From: Kyungyoon Kim Date: Mon, 26 Dec 2022 03:29:39 +0900 Subject: [PATCH] chore(phrases): translate untranslated pharses in ko-kr (#2578) Co-authored-by: Charles Zhao --- packages/phrases-ui/src/locales/ko.ts | 45 +++--- packages/phrases/src/locales/ko/errors.ts | 113 +++++++-------- .../admin-console/api-resource-details.ts | 4 +- .../admin-console/application-details.ts | 20 +-- .../translation/admin-console/applications.ts | 11 +- .../admin-console/connector-details.ts | 6 +- .../translation/admin-console/connectors.ts | 46 +++--- .../ko/translation/admin-console/general.ts | 12 +- .../translation/admin-console/sign-in-exp.ts | 137 +++++++++--------- .../translation/admin-console/tab-sections.ts | 2 +- .../translation/admin-console/user-details.ts | 6 +- .../src/locales/ko/translation/demo-app.ts | 2 +- 12 files changed, 198 insertions(+), 206 deletions(-) diff --git a/packages/phrases-ui/src/locales/ko.ts b/packages/phrases-ui/src/locales/ko.ts index 482faad64..fda63cadf 100644 --- a/packages/phrases-ui/src/locales/ko.ts +++ b/packages/phrases-ui/src/locales/ko.ts @@ -10,7 +10,7 @@ const translation = { }, secondary: { sign_in_with: '{{methods, list(type: disjunction;)}} 로그인', - register_with: 'Create account with {{methods, list(type: disjunction;)}}', // UNTRANSLATED + register_with: '{{methods, list(type: disjunction;)}} 회원가입', social_bind_with: '이미 계정이 있으신가요? {{methods, list(type: disjunction;)}}로 로그인 해보세요!', }, @@ -22,7 +22,7 @@ const translation = { enter_passcode: '비밀번호 입력', confirm: '확인', cancel: '취소', - save_password: 'Save', // UNTRANSLATED + save_password: '저장', bind: '{{address}}로 연동', back: '뒤로 가기', nav_back: '뒤로', @@ -30,9 +30,9 @@ const translation = { got_it: '알겠습니다', sign_in_with: '{{name}} 계속', forgot_password: '비밀번호를 잊어버리셨나요?', - switch_to: 'Switch to {{method}}', // UNTRANSLATED - sign_in_via_passcode: 'Sign in with verification code', // UNTRANSLATED - sign_in_via_password: 'Sign in with password', // UNTRANSLATED + switch_to: '{{method}}로 전환', + sign_in_via_passcode: '인증번호로 로그인', + sign_in_via_password: '비밀번호로 로그인', }, description: { email: '이메일', @@ -51,8 +51,8 @@ const translation = { continue_with: '계속하기', create_account_id_exists: '{{type}} {{value}} 계정이 이미 존재해요. 로그인하시겠어요?', sign_in_id_does_not_exist: '{type}} {{value}} 계정이 존재하지 않아요. 새로 만드시겠어요?', - sign_in_id_does_not_exist_alert: 'The account with {{type}} {{value}} does not exist.', // UNTRANSLATED - create_account_id_exists_alert: 'The account with {{type}} {{value}} already exists', // UNTRANSLATED + sign_in_id_does_not_exist_alert: '{{type}} {{value}} 계정이 존재하지 않아요.', + create_account_id_exists_alert: '{{type}} {{value}} 이미 존재해요.', bind_account_title: '계정 연동', social_create_account: '계정이 없으신가요? 새로운 계정을 만들고 연동해보세요.', social_bind_account: '계정이 이미 있으신가요? 로그인하여 다른 계정과 연동해보세요.', @@ -63,23 +63,22 @@ const translation = { reset_password_description_sms: '계정과 연결된 전화번호를 입력하면 비밀번호 재설정을 위한 인증 코드를 문자로 보내드립니다.', new_password: '새 비밀번호', - set_password: 'Set password', // UNTRANSLATED - password_changed: 'Password Changed', // UNTRANSLATED - no_account: 'No account yet? ', // UNTRANSLATED - have_account: 'Already had an account?', // UNTRANSLATED - enter_password: 'Enter Password', // UNTRANSLATED - enter_password_for: 'Sign in with the password to {{method}} {{value}}', // UNTRANSLATED - enter_username: 'Enter username', // UNTRANSLATED + set_password: '비밀번호 설정', + password_changed: '비밀번호 변경됨', + no_account: '계정이 없나요?', + have_account: '이미 계정이 있나요?', + enter_password: '비밀번호 입력', + enter_password_for: '{{method}} {{value}} 비밀번호 로그인', + enter_username: '사용자 이름 입력', enter_username_description: - 'Username is an alternative for sign-in. Username must contain only letters, numbers, and underscores.', // UNTRANSLATED - link_email: 'Link email', // UNTRANSLATED - link_phone: 'Link phone', // UNTRANSLATED - link_email_or_phone: 'Link email or phone', // UNTRANSLATED - link_email_description: 'For added security, please link your email with the account.', // UNTRANSLATED - link_phone_description: 'For added security, please link your phone with the account.', // UNTRANSLATED - link_email_or_phone_description: - 'For added security, please link your email or phone with the account.', // UNTRANSLATED - continue_with_more_information: 'For added security, please complete below account details.', // UNTRANSLATED + '사용자 이름은 로그인을 할 때 사용되요. 사용자 이름에는 문자, 숫자 및 밑줄만 포함되어야 해요.', + link_email: '이메일 연동', + link_phone: '휴대전화번호 연동', + link_email_or_phone: '이메일 또는 휴대전화번호 연동', + link_email_description: '더 나은 보안을 위해 이메일을 연동해주세요.', + link_phone_description: '더 나은 보안을 위해 휴대전화번호를 연동해주세요.', + link_email_or_phone_description: '더 나은 보안을 위해 이메일 또는 휴대전화번호를 연동해주세요.', + continue_with_more_information: '더 나은 보안을 위해 아래 자세한 내용을 따라주세요.', }, profile: { title: 'Account Settings', // UNTRANSLATED diff --git a/packages/phrases/src/locales/ko/errors.ts b/packages/phrases/src/locales/ko/errors.ts index 0bc3392d0..8f75d2960 100644 --- a/packages/phrases/src/locales/ko/errors.ts +++ b/packages/phrases/src/locales/ko/errors.ts @@ -1,7 +1,7 @@ const errors = { request: { - invalid_input: 'Input is invalid. {{details}}', // UNTRANSLATED - general: 'Request error occurred.', // UNTRANSLATED + invalid_input: '입력된 값이 유효하지 않아요. {{details}}', + general: '요청 중에 오류가 발생했어요.', }, auth: { authorization_header_missing: '인증 헤더가 존재하지 않아요.', @@ -9,9 +9,9 @@ const errors = { unauthorized: '인증되지 않았어요. 로그인 정보와 범위를 확인해주세요.', forbidden: '접근이 금지되었어요. 로그인 권한와 직책을 확인해주세요.', expected_role_not_found: - 'Expected role not found. Please check your user roles and permissions.', + '예상되는 직책을 찾을 수 없어요. 해당 사용자의 권한 또는 직책을 확인해주세요.', jwt_sub_missing: 'JWT에서 `sub`를 찾을 수 없어요.', - require_re_authentication: 'Re-authentication is required to perform a protected action.', // UNTRANSLATED + require_re_authentication: '보호된 작업을 수행하려면 재인증이 필요합니다.', }, guard: { invalid_input: '{{type}} 요청 타입은 유효하지 않아요.', @@ -35,9 +35,9 @@ const errors = { provider_error: 'OIDC 내부 오류: {{message}}.', }, user: { - username_already_in_use: 'This username is already in use.', // UNTRANSLATED - email_already_in_use: 'This email is associated with an existing account.', // UNTRANSLATED - phone_already_in_use: 'This phone number is associated with an existing account.', // UNTRANSLATED + username_already_in_use: '이 사용자 이름은 다른 사람이 이미 사용 중이에요.', + email_already_in_use: '이 이메일은 다른 계정에서 이미 사용 중이에요.', + phone_already_in_use: '이 휴대전화번호는 다른 계정에서 이미 사용 중이에요.', invalid_email: '유효하지 않은 이메일이예요.', invalid_phone: '유효하지 않은 휴대전화번호에요', email_not_exist: '이메일 주소가 아직 등록되지 않았어요.', @@ -45,24 +45,23 @@ const errors = { identity_not_exist: '소셜 계정이 아직 등록되지 않았어요.', identity_already_in_use: '소셜 계정이 이미 등록되있어요.', invalid_role_names: '직책 명({{roleNames}})이 유효하지 않아요.', - cannot_delete_self: 'You cannot delete yourself.', // UNTRANSLATED - sign_up_method_not_enabled: 'This sign-up method is not enabled.', // UNTRANSLATED - sign_in_method_not_enabled: 'This sign-in method is not enabled.', // UNTRANSLATED - same_password: 'New password cannot be the same as your old password.', // UNTRANSLATED - password_required_in_profile: 'You need to set a password before signing-in.', // UNTRANSLATED - new_password_required_in_profile: 'You need to set a new password.', // UNTRANSLATED - password_exists_in_profile: 'Password already exists in your profile.', // UNTRANSLATED - username_required_in_profile: 'You need to set a username before signing-in.', // UNTRANSLATED - username_exists_in_profile: 'Username already exists in your profile.', // UNTRANSLATED - email_required_in_profile: 'You need to add an email address before signing-in.', // UNTRANSLATED - email_exists_in_profile: 'Your profile has already associated with an email address.', // UNTRANSLATED - phone_required_in_profile: 'You need to add a phone number before signing-in.', // UNTRANSLATED - phone_exists_in_profile: 'Your profile has already associated with a phone number.', // UNTRANSLATED - email_or_phone_required_in_profile: - 'You need to add an email address or phone number before signing-in.', // UNTRANSLATED - suspended: 'This account is suspended.', // UNTRANSLATED - user_not_exist: 'User with {{ identifier }} does not exist.', // UNTRANSLATED, - missing_profile: 'You need to provide additional info before signing-in.', // UNTRANSLATED + cannot_delete_self: '자기 자신을 삭제할 수 없어요.', + sign_up_method_not_enabled: '이 회원가입 방법은 활성화 되어있지 않아요.', + sign_in_method_not_enabled: '이 로그인 방법은 활성화 되어있지 않아요.', + same_password: '새로운 비밀번호는 이전 비밀번호와 같으면 안되요.', + password_required_in_profile: '로그인 전에 비밀번호를 설정해야해요.', + new_password_required_in_profile: '새로운 비밀번호를 설정해야해요.', + password_exists_in_profile: '이미 비밀번호가 설정되어있어요.', + username_required_in_profile: '로그인 전에 사용자 이름을 설정해야해요.', + username_exists_in_profile: '이미 사용자 이름이 설정되어있어요.', + email_required_in_profile: '로그인 전에 이메일 주소를 설정해야해요.', + email_exists_in_profile: '이미 이메일 주소가 설정되어있어요.', + phone_required_in_profile: '로그인 전에 휴대전화번호를 설정해야해요.', + phone_exists_in_profile: '이미 휴대전화번호가 설정되어있어요.', + email_or_phone_required_in_profile: '로그인 전에 이메일 주소 또는 휴대전화번호를 설정해야해요.', + suspended: '이 계정은 일시 정시되었어요.', + user_not_exist: '{{identifier}}의 사용자가 아직 등록되지 않았어요.', + missing_profile: '로그인 전에 추가 정보를 제공해야해요.', }, password: { unsupported_encryption_method: '{{name}} 암호화 방법을 지원하지 않아요.', @@ -77,28 +76,26 @@ const errors = { connector_id_mismatch: '연동 ID가 세션 정보와 일치하지 않아요.', connector_session_not_found: '연동 세션을 찾을 수 없어요. 다시 로그인해주세요.', verification_session_not_found: - 'The verification was not successful. Restart the verification flow and try again.', // UNTRANSLATED + '검증을 실패했어요. 검증 과정을 다시 시작하고 다시 시도해주세요.', verification_expired: - 'The connection has timed out. Verify again to ensure your account safety.', // UNTRANSLATED + '연결 시간이 초과되었어요. 검증을 다시 시작하고, 계정이 안전한지 확인해주세요.', unauthorized: '로그인을 먼저 해주세요.', unsupported_prompt_name: '지원하지 않는 Prompt 이름이예요.', - forgot_password_not_enabled: 'Forgot password is not enabled.', // UNTRANSLATED + forgot_password_not_enabled: '비밀번호 찾기가 활성화 되어있지 않아요.', verification_failed: - 'The verification was not successful. Restart the verification flow and try again.', // UNTRANSLATED - connector_validation_session_not_found: - 'The connector session for token validation is not found.', // UNTRANSLATED - identifier_not_found: 'User identifier not found. Please go back and sign in again.', // UNTRANSLATED - interaction_not_found: - 'Interaction session not found. Please go back and start the session again.', // UNTRANSLATED + '인증이 성공적으로 완료되지 않았어요. 처음부터 다시 인증 과정을 거쳐주세요.', + connector_validation_session_not_found: '연동 세션 유효성 검증을 위한 토큰을 찾을 수 없어요.', + identifier_not_found: '사용자 식별자를 찾을 수 없어요. 처음부터 다시 로그인을 시도해주세요.', + interaction_not_found: '인터렉션 세션을 찾을 수 없어요. 처음부터 다시 세션을 시작해주세요.', }, connector: { general: '연동 중에 알 수 없는 오류가 발생했어요. {{errorDescription}}', not_found: '{{type}} 값을 가진 연동 종류를 찾을 수 없어요.', not_enabled: '연동이 활성화 되지 않았어요.', - invalid_metadata: "The connector's metadata is invalid.", // UNTRANSLATED - invalid_config_guard: "The connector's config guard is invalid.", // UNTRANSLATED - unexpected_type: "The connector's type is unexpected.", // UNTRANSLATED - invalid_request_parameters: 'The request is with wrong input parameter(s).', // UNTRANSLATED + invalid_metadata: '연동 메타데이터가 유효하지 않아요.', + invalid_config_guard: '연동 설정 데이터가 유효하지 않아요.', + unexpected_type: '예상하지 않은 연동 종류에요.', + invalid_request_parameters: '잘못된 요청 파라미터가 있어요.', insufficient_request_parameters: '요청 데이터에서 일부 정보가 없어요.', invalid_config: '연동 설정이 유효하지 않아요.', invalid_response: '연동 응답이 유효하지 않아요.', @@ -112,16 +109,14 @@ const errors = { more_than_one_sms: '연동된 SMS 서비스가 1개 이상이여야 해요.', more_than_one_email: '연동된 이메일 서비스가 1개 이상이여야 해요.', db_connector_type_mismatch: '종류가 일치하지 않은 연동 서비스가 DB에 존재해요.', - not_found_with_connector_id: 'Can not find connector with given standard connector id.', // UNTRANSLATED - multiple_instances_not_supported: - 'Can not create multiple instance with picked standard connector.', // UNTRANSLATED - invalid_type_for_syncing_profile: 'You can only sync user profile with social connectors.', // UNTRANSLATED - can_not_modify_target: "The connector 'target' can not be modified.", // UNTRANSLATED - should_specify_target: "You should specify 'target'.", // UNTRANSLATED - multiple_target_with_same_platform: - 'You can not have multiple social connectors that have same target and platform.', // UNTRANSLATED + not_found_with_connector_id: '주어진 연동 ID로 연동 설정을 찾을 수 없어요.', + multiple_instances_not_supported: '선택된 연동 기준으로 여러 인스턴스를 생성할 수 없어요.', + invalid_type_for_syncing_profile: '소셜 연동만 사용자 프로파일을 동기화 할 수 있어요.', + can_not_modify_target: '연동 목표를 수정할 수 없어요.', + should_specify_target: "'목표'를 반드시 지정해야해요.", + multiple_target_with_same_platform: '같은 목표와 플랫폼에 여러 소셜 연동을 가질 수 없어요.', cannot_overwrite_metadata_for_non_standard_connector: - "This connector's 'metadata' cannot be overwritten.", // UNTRANSLATED + '이 연동의 메타데이터를 덮어쓸 수 없어요.', }, passcode: { phone_email_empty: '휴대전화번호 그리고 이메일이 비어있어요.', @@ -141,20 +136,22 @@ const errors = { enabled_connector_not_found: '활성된 {{type}} 연동을 찾을 수 없어요.', not_one_and_only_one_primary_sign_in_method: '반드시 하나의 메인 로그인 방법이 설정되어야 해요. 입력된 값을 확인해주세요.', - username_requires_password: 'Must enable set a password for username sign up identifier.', // UNTRANSLATED - passwordless_requires_verify: 'Must enable verify for email/phone sign up identifier.', // UNTRANSLATED - miss_sign_up_identifier_in_sign_in: 'Sign in methods must contain the sign up identifier.', // UNTRANSLATED + username_requires_password: + '회원가입 식별자에 대한 비밀번호 설정을 사용하도록 설정해야 합니다.', + passwordless_requires_verify: + '이메일/휴대전화번호 가입 식별자에 대해 확인을 사용하도록 설정해야해요.', + miss_sign_up_identifier_in_sign_in: '로그인 방법에는 회원가입 ID가 포함되어야 합니다.', password_sign_in_must_be_enabled: - 'Password sign in must be enabled when set a password is required in sign up.', // UNTRANSLATED + '회원가입 시 비밀번호를 설정해야 할 경우 비밀번호 로그인을 사용하도록 설정해야 합니다.', code_sign_in_must_be_enabled: - 'Verification code sign in must be enabled when set a password is not required in sign up.', // UNTRANSLATED - unsupported_default_language: 'This language - {{language}} is not supported at the moment.', // UNTRANSLATED - at_least_one_authentication_factor: 'You have to select at least one authentication factor.', // UNTRANSLATED + '비밀번호를 설정할 필요가 없을 때는 인증 코드 로그인을 활성화해야 합니다.', + unsupported_default_language: '{{language}} 언어는 아직 지원하지 않아요.', + at_least_one_authentication_factor: '최소한 하나의 인증 방법을 선택해야 해요.', }, localization: { - cannot_delete_default_language: - '{{languageTag}} is set as your default language and can’t be deleted.', // UNTRANSLATED - invalid_translation_structure: 'Invalid data schemas. Please check your input and try again.', // UNTRANSLATED + cannot_delete_default_language: '{{languageTag}} 언어는 기본 언어이므로 삭제를 할 수 없어요.', + invalid_translation_structure: + '유효하지 않은 데이터 스키마에요. 입력된 값을 다시 확인해주세요.', }, swagger: { invalid_zod_type: '유요하지 않은 Zod 종류에요. Route Guard 설정을 확인해주세요.', @@ -168,7 +165,7 @@ const errors = { not_found: '리소스가 존재하지 않아요.', }, log: { - invalid_type: 'The log type is invalid.', // UNTRANSLATED + invalid_type: '로그 종류가 유효하지 않아요.', }, }; diff --git a/packages/phrases/src/locales/ko/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/api-resource-details.ts index 2b7e794de..250acdb56 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/api-resource-details.ts @@ -1,8 +1,8 @@ const api_resource_details = { back_to_api_resources: 'API 리소스로 돌아가기', - settings: 'Settings', // UNTRANSLATED + settings: '설정', settings_description: - 'API resources, a.k.a. Resource Indicators, indicate the target services or resources to be requested, usually, a URI format variable representing the resource‘s identity.', // UNTRANSLATED + 'API 리소스(리소스 표시기) - 요청할 대상 서비스 또는 리소스(일반적으로 리소스의 ID를 나타내는 URI 형식 변수)를 나타냅니다.', token_expiration_time_in_seconds: '토큰 만료 시간 (초)', token_expiration_time_in_seconds_placeholder: '토큰 만료 시간을 입력해주세요', delete_description: diff --git a/packages/phrases/src/locales/ko/translation/admin-console/application-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/application-details.ts index dd92631c9..47b19868e 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/application-details.ts @@ -1,23 +1,23 @@ const application_details = { back_to_applications: '어플리케이션으로 돌아가기', check_guide: '가이드 확인', - settings: 'Settings', // UNTRANSLATED + settings: '설정', settings_description: - 'Applications are used to identify your applications in Logto for OIDC, sign-in experience, audit logs, etc.', // UNTRANSLATED + '애플리케이션은 Logto for OIDC, 로그인 환경, 감사 로그 등에서 애플리케이션을 식별하는 데 사용됩니다.', advanced_settings: '고급 설정', advanced_settings_description: - 'Advanced settings include OIDC related terms. You can check out the Token Endpoint for more information.', // UNTRANSLATED + '고급 설정에는 OIDC 관련 용어가 포함됩니다. 자세한 내용은 토큰 엔드포인트에서 확인할 수 있습니다.', application_name: '어플리케이션 이름', application_name_placeholder: '나의 앱', description: '설명', description_placeholder: '어플리케이션 설명을 적어주세요.', authorization_endpoint: '인증 End-Point', authorization_endpoint_tip: - "The endpoint to perform authentication and authorization. It's used for OpenID Connect Authentication.", // UNTRANSLATED - application_id: 'App ID', + '인증 및 권한 부여를 진행할 End-Point예요. OpenID Connect 인증에서 사용되던 값 이에요.', + application_id: '앱 ID', application_id_tip: - 'The unique application identifier normally generated by Logto. It also stands for “client_id” in OpenID Connect.', // UNTRANSLATED - application_secret: 'App Secret', + '일반적으로 Logto에서 생성되는 고유한 응용 프로그램 식별자이에요. OpenID Connect에서 "client_id"의 약자이기도 해요.', + application_secret: '앱 시크릿', redirect_uri: 'Redirect URI', redirect_uris: 'Redirect URIs', redirect_uri_placeholder: 'https://your.website.com/app', @@ -32,14 +32,14 @@ const application_details = { cors_allowed_origins: 'CORS Allow Origins', cors_allowed_origins_placeholder: 'https://your.website.com', cors_allowed_origins_tip: - '기본으로 모든 리다이렉트의 오리진들은 허용되요. 대체적으로 이 값을 건들 필요는 없어요. See the MDN doc for detailed info.', // UNTRANSLATED + '기본으로 모든 리다이렉트의 오리진들은 허용되요. 대체적으로 이 값을 건들 필요는 없어요. 더욱 자세한 정보는 MDN doc를 확인해주세요.', id_token_expiration: 'ID 토큰 만료', refresh_token_expiration: 'Refresh 토큰 만료', token_endpoint: '토큰 End-Point', user_info_endpoint: '사용자 정보 End-Point', - enable_admin_access: 'Enable admin access', // UNTRANSLATED + enable_admin_access: '관리자 접근 활성화', enable_admin_access_label: - 'Enable or disable the access to Management API. Once enabled, you can use access tokens to call Management API on behalf on this application.', // UNTRANSLATED + '관리 API에 대한 접근을 활성화, 비활성화 할 수 있어요. 활성화 한다면, 이 어플리케이션에서 Access 토큰을 통해 관리 API를 사용할 수 있어요.', delete_description: '이 행동은 취소될 수 없어요. 어플리케이션을 영원히 삭제할 거에요. 삭제를 진행하기 위해 {{name}} 를 입력해주세요.', enter_your_application_name: '어플리케이션 이름을 입력해주세요.', diff --git a/packages/phrases/src/locales/ko/translation/admin-console/applications.ts b/packages/phrases/src/locales/ko/translation/admin-console/applications.ts index 668432541..e9e01e06c 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/applications.ts @@ -10,28 +10,27 @@ const applications = { no_application_type_selected: '어플리케이션 종류를 선택하지 않았아요.', application_created: '{{name}} 어플리케이션이 성공적으로 생성되었어요! \n이제 어플리케이션 설정을 마무리해주세요.', - app_id: 'App ID', + app_id: '앱 ID', type: { native: { title: 'Native App', subtitle: 'Native 환경에서 작동하는 어플리케이션', - description: '예) iOS App, Android App', + description: '예) iOS, Android 앱', }, spa: { title: 'Single Page App', subtitle: '웹 브라우저에서 작동하며, 한 페이지에서 유동적으로 업데이트 되는 웹', - description: '예) React DOM App, Vue App', + description: '예) React DOM, Vue 앱', }, traditional: { title: 'Traditional Web', subtitle: '서버를 통하여 웹 페이지가 업데이트 되는 앱', description: '예) JSP, PHP', }, - // UNTRANSLATED machine_to_machine: { title: 'Machine to Machine', - subtitle: 'An app (usually a service) that directly talks to resources', - description: 'E.g., Backend service', + subtitle: '직접 리소스에 접근하는 엡(서비스)', + description: '예) 백엔드 서비스', }, }, guide: { diff --git a/packages/phrases/src/locales/ko/translation/admin-console/connector-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/connector-details.ts index f755164ca..f3ce145e9 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/connector-details.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/connector-details.ts @@ -1,9 +1,9 @@ const connector_details = { back_to_connectors: '연동으로 돌아가기', check_readme: 'README 확인', - settings: 'Settings', // UNTRANSLATED + settings: '설정', settings_description: - 'Connectors play a critical role in Logto. With their help, Logto enables end-users to use passwordless registration or sign-in and the capabilities of signing in with social accounts.', // UNTRANSLATED + 'Logto에서 연동은 중요한 역할을 해요. 연동 시스템을 통하여, 사용자들에게 비밀번호가 없이 회원 가입을 하고 로그인을 할 수 있게 하거나, 소셜 계정을 통하여 로그인을 할 수 있게 도와줘요.', save_error_empty_config: '설정을 입력해주세요.', send: '보내기', send_error_invalid_format: '유효하지 않은 입력', @@ -21,7 +21,7 @@ const connector_details = { type_sms: 'SMS 연동', type_social: '소셜 연동', in_use_deletion_description: - 'This connector is in use in your sign in experience. By deleting, sign in experience will be deleted in sign in experience settings.', // UNTRANSLATED + '이 연동은 로그인 환경에서 사용 중이에요. 삭제 시 로그인 경험 설정에서 로그인 경험이 삭제되요.', }; export default connector_details; diff --git a/packages/phrases/src/locales/ko/translation/admin-console/connectors.ts b/packages/phrases/src/locales/ko/translation/admin-console/connectors.ts index 0e22bd0c2..2fb34e2fa 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/connectors.ts @@ -2,8 +2,9 @@ const connectors = { title: '연동', subtitle: '비밀번호 없이 또는 소셜 로그인을 제공하여 보다 나은 경험을 위해 연동해주세요.', create: '소셜 연동 추가', - config_sie_notice: 'You’ve set up connectors. Make sure to configure it in {{link}}.', // UNTRANSLATED - config_sie_link_text: 'sign in experience', // UNTRANSLATED + config_sie_notice: + '새로운 연동이 설정되었어요. 다음 링크에서 설정을 마무리해주세요. {{link}}.', + config_sie_link_text: '로그인 경험', tab_email_sms: '이메일/SMS 연동', tab_social: '소셜 연동', connector_name: '연동 이름', @@ -13,8 +14,8 @@ const connectors = { connector_status_not_in_use: '사용 중이 아님', not_in_use_tip: { content: - 'Not in use means your sign in experience hasn’t used this sign in method. {{link}} to add this sign in method. ', // UNTRANSLATED - go_to_sie: 'Go to sign in experience', // UNTRANSLATED + '사용 중이 아님은 로그인 환경에서 이 로그인 방법을 사용하지 않았음을 의미해요. {{link}} 이 로그인 방법를 추가해주세요.', + go_to_sie: '로그인 경험으로 가기', }, social_connector_eg: '예) Google, Facebook, Github', save_and_done: '저장 및 완료', @@ -30,26 +31,25 @@ const connectors = { }, guide: { subtitle: '단계별 가이드를 따라, 연동해주세요.', - connector_setting: 'Connector setting', // UNTRANSLATED - name: 'Connector name', // UNTRANSLATED - name_tip: 'Connector button’s name will display as "Continue with {{Connector Name}}".', // UNTRANSLATED - logo: 'Connector logo URL', // UNTRANSLATED - logo_placeholder: 'https://your.cdn.domain/logo.png', // UNTRANSLATED - logo_tip: 'The logo image will also display on the connector button.', // UNTRANSLATED - logo_dark: 'Connector logo URL (Dark mode)', // UNTRANSLATED - logo_dark_placeholder: 'https://your.cdn.domain/logo.png', // UNTRANSLATED - logo_dark_tip: - 'This will be used when opening “Enable dark mode” in the setting of sign in experience.', // UNTRANSLATED - logo_dark_collapse: 'Collapse', // UNTRANSLATED - logo_dark_show: 'Show "Logo for dark mode"', // UNTRANSLATED - target: 'Connector identity target', // UNTRANSLATED - target_tip: 'A unique identifier for the connector.', // UNTRANSLATED + connector_setting: '연동 설정', + name: '연동 이름', + name_tip: '다음과 같이 연동 이름이 출력되요. "{{Connector Name}} 계속하기".', + logo: '연동 로고 URL', + logo_placeholder: 'https://your.cdn.domain/logo.png', + logo_tip: '이 이미지는 연동 버튼에 보여질거에요.', + logo_dark: '연동 로고 URL (다크 모드)', + logo_dark_placeholder: 'https://your.cdn.domain/logo.png', + logo_dark_tip: '이 이미지는 다크 모드를 설정할 때 보여질거에요.', + logo_dark_collapse: '최소화', + logo_dark_show: '"다크 모드 로고" 보기', + target: '연동 ID 대상', + target_tip: '연동의 고유 식별자.', target_tooltip: - '"Target" in Logto social connectors refers to the "source" of your social identities. In Logto design, we do not accept the same "target" of a specific platform to avoid conflicts. You should be very careful before you add a connector since you CAN NOT change its value once you create it. Learn more.', // UNTRANSLATED - config: 'Enter your JSON here', // UNTRANSLATED - sync_profile: 'Sync profile information from the social provider', // UNTRANSLATED - sync_profile_only_at_register: 'Only sync at register', // UNTRANSLATED - sync_profile_each_sign_in: 'Always sync at each sign-in', // UNTRANSLATED + 'Logto의 소셜 연동에서의 "목표"는 소셜 정보의 원천을 뜻해요. Logto의 디자인은 충돌을 피하기 위해서 같은 "목표"를 허용하지 않아요. 연동을 추가한 후에는 값을 변경할 수 없으므로 주의해주세요. 자세히 알아보기', + config: '여기에 JSON을 입력', + sync_profile: '소셜 정보로부터 프로필 정보 동기화하기', + sync_profile_only_at_register: '회원가입때 동기화', + sync_profile_each_sign_in: '로그인 할때 마다 동기화', }, platform: { universal: 'Universal', diff --git a/packages/phrases/src/locales/ko/translation/admin-console/general.ts b/packages/phrases/src/locales/ko/translation/admin-console/general.ts index aedcc871a..a0a0aecb4 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/general.ts @@ -10,7 +10,7 @@ const general = { save: '저장', save_changes: '변경 내용 저장', saved: '저장됨!', - discard: 'Discard', // UNTRANSLATED + discard: '취소', loading: '로딩 중...', redirecting: '리다이렉팅 중...', add: '추가', @@ -36,11 +36,11 @@ const general = { unsaved_changes_warning: '수정된 내용이 있어요. 정말로 현재 페이지를 벗어날까요?', leave_page: '페이지 나가기', stay_on_page: '페이지 유지하기', - type_to_search: 'Type to search', // UNTRANSLATED - got_it: '네', - page_info: '{{min, number}}-{{max, number}} of {{total, number}}', // UNTRANSLATED - learn_more: 'Learn more', // UNTRANSLATED - tab_errors: '{{count, number}} errors', // UNTRANSLATED + type_to_search: '검색어 입력', + got_it: '알겠어요', + page_info: '{{min, number}}-{{max, number}} / {{total, number}}', + learn_more: '더 알아보기', + tab_errors: '{{count, number}} 오류', }; export default general; diff --git a/packages/phrases/src/locales/ko/translation/admin-console/sign-in-exp.ts b/packages/phrases/src/locales/ko/translation/admin-console/sign-in-exp.ts index 4dcf4cc1e..e99ab66b7 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/sign-in-exp.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/sign-in-exp.ts @@ -3,7 +3,7 @@ const sign_in_exp = { description: '로그인 화면을 브랜드에 맞게 커스터마이징 그리고 실시간으로 확인해보세요.', tabs: { branding: '브랜딩', - sign_up_and_sign_in: 'Sign up and Sign in', // UNTRANSLATED + sign_up_and_sign_in: '회원가입/로그인', others: '기타', }, welcome: { @@ -35,59 +35,57 @@ const sign_in_exp = { slogan_placeholder: 'Unleash your creativity', }, sign_up_and_sign_in: { - identifiers: 'Sign-up identifiers', // UNTRANSLATED - identifiers_email: 'Email address', // UNTRANSLATED - identifiers_sms: 'Phone number', // UNTRANSLATED - identifiers_username: 'Username', // UNTRANSLATED - identifiers_email_or_sms: 'Email address or phone number', // UNTRANSLATED - identifiers_none: 'Not applicable', // UNTRANSLATED - and: 'and', // UNTRANSLATED - or: 'or', // UNTRANSLATED + identifiers: '회원가입 ID', + identifiers_email: '이메일 주소', + identifiers_sms: '휴대전화번호', + identifiers_username: '사용자 이름', + identifiers_email_or_sms: '이메일 주소 또는 휴대전화번호', + identifiers_none: '해당없음', + and: '그리고', + or: '또는', sign_up: { - title: 'SIGN UP', // UNTRANSLATED - sign_up_identifier: 'Sign-up identifier', // UNTRANSLATED + title: '회원가입', + sign_up_identifier: '회원가입 ID', identifier_description: - 'The sign-up identifier is required for account creation and must be included in your sign-in screen.', // UNTRANSLATED - sign_up_authentication: 'Authentication setting for sign-up', // UNTRANSLATED - authentication_description: - 'All selected actions will be obligatory for users to complete the flow.', // UNTRANSLATED - set_a_password_option: 'Create your password', // UNTRANSLATED - verify_at_sign_up_option: 'Verify at sign-up', // UNTRANSLATED - social_only_creation_description: '(This apply to social only account creation)', // UNTRANSLATED + '회원가입 ID는 계정을 생성하기 위해 필수이며, 회원가입 화면에서 반드시 포함되어야 해요.', + sign_up_authentication: '회원가입 인증 설정', + authentication_description: '선택된 모든 작업들은 사용자가 모두 마무리 해야 해요.', + set_a_password_option: '비밀번호 생성', + verify_at_sign_up_option: '회원가입 인증', + social_only_creation_description: '(이것은 소셜 전용 계정 생성에 적용되요.)', }, sign_in: { - title: 'SIGN IN', // UNTRANSLATED - sign_in_identifier_and_auth: 'Identifier and authentication settings for sign-in', // UNTRANSLATED + title: '로그인', + sign_in_identifier_and_auth: '로그인을 위한 ID 그리고 인증 설정', description: - 'Users can sign in using any of the options available. Adjust the layout by drag and dropping below options.', // UNTRANSLATED - add_sign_in_method: 'Add Sign-in Method', // UNTRANSLATED - password_auth: 'Password', // UNTRANSLATED - verification_code_auth: 'Verification code', // UNTRANSLATED - auth_swap_tip: 'Swap the options below to determine which appears first in the flow.', // UNTRANSLATED - require_auth_factor: 'You have to select at least one authentication factor.', // UNTRANSLATED + '사용자는 주어진 옵션 중에 아무 방법으로 로그인을 할 수 있어요. 주어진 옵션을 드래그하여 조절해주세요.', + add_sign_in_method: '로그인 방법 추가', + password_auth: '비밀번호', + verification_code_auth: '인증 코드', + auth_swap_tip: '아래 옵션을 변경하여 흐름에 가장 먼저 나타나는 옵션을 설정할 수 있어요.', + require_auth_factor: '반드시 최소 하나의 인증 방법을 선택해야해요.', }, social_sign_in: { - title: 'SOCIAL SIGN-IN', // UNTRANSLATED - social_sign_in: 'Social sign-in', // UNTRANSLATED + title: '소셜 로그인', + social_sign_in: '소셜 로그인', description: - 'Depending on the mandatory identifier you set up, your user may be asked to provide an identifier when signing up via social connector.', // UNTRANSLATED - add_social_connector: 'Link Social Connector', // UNTRANSLATED + '설정된 필수 ID에 따라서, 사용자가 소셜 연동을 통해 회원가입, 로그인을 할 수 있어요.', + add_social_connector: '소셜 연동으로', set_up_hint: { - not_in_list: 'Not in the list?', // UNTRANSLATED - set_up_more: 'Set up', // UNTRANSLATED - go_to: 'other social connectors now.', // UNTRANSLATED + not_in_list: '리스트에 없나요?', + set_up_more: '설정하기', + go_to: '다른 소셜 연동으로', }, }, tip: { - set_a_password: 'A unique set of a password to your username is a must.', // UNTRANSLATED + set_a_password: '사용자 이름에 대한 고유한 암호 집합은 필수에요.', verify_at_sign_up: - 'We currently only support verified email. Your user base may contain a large number of poor-quality email addresses if no validation.', // UNTRANSLATED + '현재 확인된 이메일만 지원해요. 유효성 검사가 없는 경우 사용자 기반에 품질이 낮은 전자 메일 주소가 많이 포함되어 있을 수 있어요.', password_auth: - 'This is essential as you have enabled the option to set a password during the sign-up process.', // UNTRANSLATED + '회원가입 중에 비밀번호를 설정하는 옵션을 사용으로 설정했기 때문에 이 옵션은 필수에요.', verification_code_auth: - 'This is essential as you have only enabled the option to provide verification code when signing up. You’re free to uncheck the box when password set-up is allowed at the sign-up process.', // UNTRANSLATED - delete_sign_in_method: - 'This is essential as you have selected {{identifier}} as a required identifier.', // UNTRANSLATED + '가입 시 인증 코드를 제공하는 옵션만 활성화했기 때문에 이것은 필수에요. 회원가입에서 비밀번호 설정이 허용되면 이 옵션을 취소할 수 있습니다.', + delete_sign_in_method: '{{identifier}}를 필수 ID로 설정했기 때문에 이 옵션은 필수에요.', }, }, others: { @@ -99,62 +97,61 @@ const sign_in_exp = { }, languages: { title: '언어', - enable_auto_detect: 'Enable auto-detect', // UNTRANSLATED + enable_auto_detect: '자동 감지 활성화', description: - "Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.", // UNTRANSLATED - manage_language: 'Manage language', // UNTRANSLATED - default_language: 'Default language', // UNTRANSLATED + '사용자의 언어 설정을 감지하고, 해당 언어로 자동으로 변경해요. 직접 번역하여 새로운 언어를 추가할 수 도 있어요.', + manage_language: '언어 관리', + default_language: '기본 언어', default_language_description_auto: - 'The default language will be used when the detected user language isn’t covered in the current language library.', // UNTRANSLATED + '사용자의 언어를 지원하지 않을 경우, 기본 언어로 사용자에게 보여줘요.', default_language_description_fixed: - 'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.', // UNTRANSLATED + '자동 감지가 꺼져있을 경우, 기본 언어로만 사용자에게 보여줘요. 더욱 나은 경험을 위해, 자동 감지를 켜주세요.', }, manage_language: { - title: 'Manage language', // UNTRANSLATED + title: '언어 관리', subtitle: - 'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.', // UNTRANSLATED - add_language: 'Add Language', // UNTRANSLATED - logto_provided: 'Logto provided', // UNTRANSLATED - key: 'Key', // UNTRANSLATED - logto_source_values: 'Logto source values', // UNTRANSLATED - custom_values: 'Custom values', // UNTRANSLATED - clear_all_tip: 'Clear all values', // UNTRANSLATED - unsaved_description: 'Changes won’t be saved if you leave this page without saving.', // UNTRANSLATED - deletion_tip: 'Delete the language', // UNTRANSLATED - deletion_title: 'Do you want to delete the added language?', // UNTRANSLATED - deletion_description: - 'After deletion, your users won’t be able to browse in that language again.', // UNTRANSLATED - default_language_deletion_title: 'Default language can’t be deleted.', // UNTRANSLATED + '언어와 번역을 추가하여 제품 경험을 현지화해요. 사용자의 기여를 기본 언어로 설정할 수 있어요.', + add_language: '언어 추가', + logto_provided: 'Logto 제공', + key: '키', + logto_source_values: 'Logto 소스 값', + custom_values: '사용자 정의 값', + clear_all_tip: '모든 값 삭제', + unsaved_description: '이 페이지를 벗어날 경우, 변경점이 적용되지 않아요.', + deletion_tip: '언어 삭제', + deletion_title: '추가된 언어를 삭제할건가요?', + deletion_description: '삭제된 후에 사용자들인 더 이상 해당 언어로 볼 수 없어요.', + default_language_deletion_title: '기본 언어는 삭제될 수 없어요.', default_language_deletion_description: - '{{language}} is set as your default language and can’t be deleted. ', // UNTRANSLATED + '{{language}} 언어는 기본 언어로 설정되어 있어요. 기본 언어를 변경한 후에 삭제할 수 있어요.', }, advanced_options: { title: '고급 옵션', - enable_user_registration: 'Enable user registration', // UNTRANSLATED + enable_user_registration: '회원가입 활성화', enable_user_registration_description: - 'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.', // UNTRANSLATED + '사용자 등록을 활성화하거나 비활성화합니다. 비활성화된 후에도 사용자를 관리 콘솔에 추가할 수 있지만 사용자는 더 이상 로그인 UI를 통해 계정을 설정할 수 없어요.', }, }, setup_warning: { no_connector: '', no_connector_sms: - 'No SMS connector set-up yet. Until you finish configuring your SMS connector, you won’t be able to sign in. {{link}} in "Connectors"', // UNTRANSLATED + 'SMS 연동 설정이 아직 없습니다. SMS 연동 구성을 완료할 때까지 로그인할 수 없습니다. {{link}} "연동"으로', no_connector_email: - 'No email connector set-up yet. Until you finish configuring your email connector, you won’t be able to sign in. {{link}} in "Connectors"', // UNTRANSLATED + '이메일 연동 설정이 아직 없습니다. 이메일 연동 구성을 완료할 때까지 로그인할 수 없습니다. {{link}} "연동"으로', no_connector_social: - 'No social connector set-up yet. Until you finish configuring your social connector, you won’t be able to sign in. {{link}} in "Connectors"', // UNTRANSLATED + '소셜 연동 설정이 아직 없습니다. 소셜 연동 구성을 완료할 때까지 로그인할 수 없습니다. {{link}} "연동"으로', no_added_social_connector: '보다 많은 소셜 연동들을 설정하여, 고객에게 보다 나은 경험을 제공해보세요.', - setup_link: 'Set up', + setup_link: '설정', }, save_alert: { description: - 'You are implementing new sign-in and sign-up procedures. All of your users may be affected by the new set-up. Are you sure to commit to the change?', // UNTRANSLATED + '새 로그인 및 회원가입 방법을 추가하고 있어요. 모든 사용자가 새 설정의 영향을 받을 수 있어요. 정말로 하실건가요?', before: '이전', after: '이후', - sign_up: 'Sign-up', // UNTRANSLATED - sign_in: 'Sign-in', // UNTRANSLATED - social: 'Social', // UNTRANSLATED + sign_up: '회원가입', + sign_in: '로그인', + social: '소셜', }, preview: { title: '로그인 화면 미리보기', diff --git a/packages/phrases/src/locales/ko/translation/admin-console/tab-sections.ts b/packages/phrases/src/locales/ko/translation/admin-console/tab-sections.ts index b4da20459..3cb7e3901 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/tab-sections.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/tab-sections.ts @@ -1,6 +1,6 @@ const tab_sections = { overview: '살펴보기', - resource_management: 'Resource 관리', + resource_management: '리소스 관리', user_management: '사용자 관리', help_and_support: '고객센터', }; diff --git a/packages/phrases/src/locales/ko/translation/admin-console/user-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/user-details.ts index 49d04e8d5..506f4b454 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/user-details.ts @@ -15,9 +15,9 @@ const user_details = { new_password: '새로운 비밀번호:', }, tab_logs: '사용자 기록', - settings: 'Settings', // UNTRANSLATED + settings: '설정', settings_description: - 'Each user has a profile containing all user information. It consists of basic data, social identities, and custom data.', // UNTRANSLATED + '각 사용자는 모든 사용자 정보를 포함하는 프로파일을 가지고 있어요. 프로파일은 기본 데이터, 소셜 ID, 사용자 정의 데이터로 구성되어 있어요.', field_email: '메인 이메일', field_phone: '메인 휴대전화번호', field_username: '사용자 이름', @@ -36,7 +36,7 @@ const user_details = { not_connected: '이 사용자는 아직 소셜에 연동되지 않았아요.', deletion_confirmation: ' 신원을 삭제하려고 해요. 정말로 진행할까요?', }, - suspended: 'Suspended', // UNTRANSLATED + suspended: '정지됨', }; export default user_details; diff --git a/packages/phrases/src/locales/ko/translation/demo-app.ts b/packages/phrases/src/locales/ko/translation/demo-app.ts index 7425b90d5..539254ac8 100644 --- a/packages/phrases/src/locales/ko/translation/demo-app.ts +++ b/packages/phrases/src/locales/ko/translation/demo-app.ts @@ -8,7 +8,7 @@ const demo_app = { continue_explore: '또는 계속해서 살펴보기', customize_sign_in_experience: '로그인 경험 커스터마이징', enable_passwordless: 'Passwordless 활성화', - add_social_connector: '소셜 Connector 추가', + add_social_connector: '소셜 연동 추가', }; export default demo_app;