diff --git a/public/locales/ko/translation.json b/public/locales/ko/translation.json new file mode 100644 index 0000000..c1305af --- /dev/null +++ b/public/locales/ko/translation.json @@ -0,0 +1,307 @@ +{ + "accept": "수락", + "accessGrantedOn": "다음에서 액세스 권한이 부여되었습니다.", + "accountSecurity": "계정 보안", + "accountUpdatedError": "유효성 검사 오류로 인해 계정을 업데이트할 수 없습니다.", + "accountUpdatedMessage": "계정이 업데이트되었습니다.", + "add": "추가", + "addANewDomainToThisOrganization": "이 조직에 새 도메인 추가", + "addAnSsoProvider": "SSO 공급자 추가", + "addDomain": "도메인 추가", + "addNewDomain": "새 도메인 추가", + "admin": "관리자", + "all": "모두", + "allApplication": "모든 애플리케이션", + "allManage": "모두 관리", + "allView": "전체 보기", + "anyChangesYouMakeWillHaveImmediateEffect": "모든 변경 사항은 즉시 적용됩니다.", + "application": "애플리케이션", + "applicationDetails": "신청 세부 정보", + "applications": "애플리케이션", + "applicationsIntroMessage": "계정에 액세스할 수 있는 앱 권한을 추적하고 관리하세요.", + "applicationType": "애플리케이션 유형", + "authenticatorApplication": "인증자 애플리케이션", + "avatar": "아바타", + "backToOrg": "조직으로 돌아가기", + "backToSettings": "설정으로 돌아가기", + "basic-authentication": "기본 인증", + "basicAuthentication": "기본 인증", + "cancel": "취소", + "choose": "선택...", + "client": "클라이언트", + "clientNotFoundMessage": "*클라이언트를 찾을 수 없습니다.", + "client_account": "*계정", + "client_account-console": "*계정 콘솔", + "client_admin-cli": "*관리자 CLI", + "client_broker": "*브로커", + "client_realm-management": "*영역 관리", + "client_security-admin-console": "*보안 관리자 콘솔", + "clients": "클라이언트", + "close": "닫기", + "configureWaysToSignIn": "로그인 방법 구성", + "confirm": "확인", + "copied": "복사됨", + "copy": "복사", + "createATxtRecordInYourDnsConfigurationForTheFollowingHostname": "DNS 구성에서 다음 호스트 이름에 대한 txt 레코드를 만듭니다.", + "created": "생성됨", + "credentialCreatedAt": "<0>Created {{date}}.", + "credentialsRemovingError": "0}}을(를) 제거하는 중 오류가 발생했습니다. . 다시 시도하세요.", + "credentialsSuccessfullyRemoved": "{{0}} 제거됨", + "currentRegisteredDomains": "현재 등록된 도메인", + "currentSession": "현재 세션", + "dark": "Dark", + "description": "설명", + "device-activity": "디바이스 활동", + "deviceActivity": "디바이스 활동", + "directMembership": "직접 멤버십", + "disabled": "장애인", + "displayName": "표시 이름", + "doCancel": "취소", + "doDeny": "거부", + "domainName": "도메인 이름", + "domains": "도메인", + "domains-add-placeholder": "www.your-domain.com", + "domains-add-success": "{도메인}}이 조직에 추가되었습니다. 도메인을 확인하세요.", + "domains-verify": "도메인 확인", + "done": "완료", + "doSave": "저장", + "doSignOut": "로그아웃", + "edit": "편집", + "editRoles": "역할 편집", + "editTheResource": "리소스 공유 - {{0}}", + "email": "이메일", + "enterAVerificationCodeFromAuthenticatorApplication": "인증자 애플리케이션에서 인증 코드를 입력합니다.", + "error-domain-invalid": "도메인이 유효하지 않습니다.", + "error-domain-already-present": "이 조직에 ${도메인}이 이미 있습니다.", + "error-empty": "'{{0}}' 값을 지정해 주세요.", + "error-invalid-blank": "'{{0}}' 값을 지정해 주세요.", + "error-invalid-date": "'{{0}}'은 잘못된 날짜입니다.", + "error-invalid-email": "이메일 주소가 잘못되었습니다.", + "error-invalid-length-too-long": "'{{0}}'의 최대 길이는 {{2}}이어야 합니다.", + "error-invalid-length-too-short": "'{{0}}'의 길이는 최소 {{1}}이어야 합니다.", + "error-invalid-length": "'{{0}}'의 길이는 {{1}}에서 {{2}} 사이여야 합니다.", + "error-invalid-number": "'{{0}}'은 잘못된 번호입니다.", + "error-invalid-uri-fragment": "'{{0}}'은 잘못된 URL 조각입니다.", + "error-invalid-uri-scheme": "'{{0}}'에 잘못된 URL 체계가 있습니다.", + "error-invalid-uri": "'{{0}}'은 잘못된 URL입니다.", + "error-invalid-value": "'{{0}}'의 값이 잘못되었습니다.", + "error-number-out-of-range-too-big": "'{{0}}'의 최대값은 {{2}}이어야 합니다.", + "error-number-out-of-range-too-small": "'{{0}}'의 최소값은 {{1}}이어야 합니다.", + "error-number-out-of-range": "'{{0}}'은 {{1}}에서 {{2}} 사이의 숫자여야 합니다.", + "error-pattern-no-match": "'{{0}}'가 필수 형식과 일치하지 않습니다.", + "error-person-name-invalid-character": "'{{0}}'에 잘못된 문자가 포함되어 있습니다.", + "error-user-attribute-required": "'{{0}}'을 지정해 주세요.", + "error-username-invalid-character": "'{{0}}'에 잘못된 문자가 포함되어 있습니다.", + "errorRemovedMessage": "사용자 레이블}}을 제거할 수 없습니다: {오류}}", + "errorSignOutMessage": "로그아웃할 수 없습니다: {오류}}", + "expires": "만료", + "failedToCopy": "복사 실패", + "filterByName": "이름으로 필터링 ...", + "firstName": "이름", + "fullName": "{{givenName}} {{가족명}}", + "general": "일반", + "groupDescriptionLabel": "내가 연결된 그룹 보기", + "groupLabel": "그룹", + "groups": "그룹", + "id": "ID", + "infoMessage": "액세스 제거를 클릭하면 이 애플리케이션에 부여된 권한이 제거됩니다. 이 애플리케이션은 더 이상 사용자 정보를 사용하지 않습니다.", + "insufficientPermissionsToViewOrganization": "조직을 볼 수 있는 권한이 부족합니다.", + "internalApp": "내부", + "inUse": "사용 중", + "insufficient-permissions": "작업을 수행할 수 있는 권한이 부족합니다.", + "invitation-email-placeholder": "thomas@domain.com", + "invitation-instructions-description": "새 회원의 이메일을 입력하고 조직 내에서 역할을 할당하여 조직에 새 회원을 추가합니다. 가입 방법에 대한 안내가 포함된 이메일이 해당 팀원에게 전송됩니다.", + "invitation-missing-permission-title": "'초대 관리' 역할이 부족합니다.", + "invitation-missing-permission-body": "이 역할을 부여받으려면 관리자에게 문의하세요.", + "invitation-title": "새 회원을 {{0}}으로 초대하기", + "invitation-toast-submit": "{데이터.이메일}}에 초대가 전송되고 있습니다.", + "invitation-toast-submit-success": "{데이터.이메일}}에게 초대를 보냈습니다.", + "inviteNewMembers": "새 회원 초대하기", + "inviteNewMembersOrRemoveMembersFromTheOrganization": "새 멤버를 초대하거나 조직에서 멤버를 제거하기", + "ipAddress": "IP 주소", + "label": "라벨", + "lastAccessed": "마지막 액세스", + "lastAccessedOn": "마지막으로 액세스한 시간", + "lastName": "성", + "light": "빛", + "link": "계정 연결", + "linkAccount": "계정 연결", + "linkedAccounts": "연결된 계정", + "linkedAccountsIntroMessage": "타사 계정을 통해 로그인을 관리합니다.", + "linkedAccountsTitle": "연결된 계정", + "linkedEmpty": "연결된 공급자 없음", + "linkedLoginProviders": "연결된 로그인 공급자", + "linkError": "다음과 같은 이유로 연결할 수 없습니다: {{오류}}", + "localeUpdatedSuccessfully": "로캘 업데이트 성공", + "localeUpdateFailed": "로캘 업데이트 중 오류가 발생했습니다.", + "localization": "현지화", + "logo": "로고", + "logOut": "로그아웃", + "manage": "관리", + "manageAccount": "계정 관리", + "manageLoginsThroughThirdPartyAccounts": "타사 계정을 통한 로그인 관리", + "manageYourUserProfileInformation": "사용자 프로필 정보 관리", + "member-roles-missing-permission-title": "'관리 역할'이 부족합니다.", + "member-roles-missing-permission-body": "이 역할을 부여받으려면 관리자에게 문의하세요.", + "members": "회원", + "myResources": "내 리소스", + "name": "이름", + "noGroups": "그룹 없음", + "noGroupsText": "어떤 그룹에도 가입되어 있지 않습니다.", + "none": "없음", + "notInUse": "사용 중이 아님", + "notSetUp": "{{0}}이 설정되어 있지 않습니다.", + "offlineAccess": "오프라인 액세스", + "options": "옵션", + "org-details-stat-sso-active": "활성 SSO 연결", + "organization": "조직", + "organizations": "조직", + "otp-display-name": "인증자 애플리케이션", + "otp-help-text": "인증자 애플리케이션에서 인증 코드를 입력합니다.", + "password-display-name": "비밀번호", + "password-help-text": "비밀번호를 입력하여 로그인합니다.", + "password-less-title": "보안 키로 로그인", + "password": "내 비밀번호", + "passwordless": "비밀번호 없음", + "path": "경로", + "pending": "보류 중", + "permanentlyRemoveYourProfileAndAllOfItsContentsThisActionIsNotReversibleSoPleaseContinueWithCaution": "프로필 및 모든 콘텐츠 영구 삭제 이 조치는 되돌릴 수 없으므로 주의해서 계속 진행하시기 바랍니다.", + "permissionRequest": "권한 요청 - {{0}}", + "permissionRequests": "권한 요청", + "permissions": "권한", + "personalInfo": "개인 정보", + "personalInfoDescription": "기본 정보 관리", + "personalInformation": "개인 정보", + "privacyPolicy": "개인정보 보호정책", + "profile": "프로필", + "profile-delete-title": "프로필 삭제", + "profile-delete-confirm": "프로필 삭제 확인", + "profile-delete-write-to-confirm": "'삭제'를 써서 확인합니다.", + "profile-email-placeholder": "your@email.com", + "profile-localization-description": "로컬라이제이션(언어)을 관리합니다.", + "profile-toast-success": "프로필이 성공적으로 업데이트되었습니다.", + "profile-toast-error": "프로필 업데이트 중 오류가 발생했습니다.", + "provider": "공급자", + "refreshPage": "페이지 새로 고침", + "remove": "제거", + "removeButton": "액세스 권한 제거", + "removeConsentError": "다음과 같은 이유로 동의를 제거할 수 없습니다: {{오류}}", + "removeConsentSuccess": "동의를 성공적으로 제거했습니다.", + "removeCred": "제거 {{0}}", + "removeCredAriaLabel": "자격 증명 제거", + "removeDomain": "제거", + "removeDomainError": "{{0}}이 조직에서 제거되지 않았습니다. ({{1}})", + "removeDomainQuestion": "조직에서 이 도메인을 제거한 후에는 취소할 수 없으며 수동으로 다시 추가해야 합니다.", + "removeDomainSuccess": "{{0}}이 조직에서 성공적으로 제거되었습니다.", + "removeDomainTitle": "이 조직에서 {{0}}을 제거합니다.", + "removeModalMessage": "그러면 {{0}}에 대해 현재 부여된 액세스 권한이 제거됩니다. 이 앱을 사용하려면 다시 액세스 권한을 부여해야 합니다.", + "removeModalTitle": "액세스 권한 제거", + "requestor": "요청자", + "required": "필수", + "reset": "초기화", + "resourceAlreadyShared": "리소스가 이미 이 사용자와 공유되었습니다.", + "resourceIntroMessage": "팀원 간에 리소스 공유", + "resourceName": "리소스 이름", + "resources": "리소스", + "resourceSharedWith_other": "리소스가 <0>{{사용자 이름}}과 공유됩니다.", + "returnToHomepage": "홈페이지로 돌아가기", + "role-toast-granted": "사용자에게 {{역할 이름}} 역할을 부여했습니다.", + "role-toast-granted-error": "사용자에게 {{역할 이름}} 역할을 부여하는 동안 오류가 발생했습니다. 다시 시도해 주세요.", + "role-toast-granted-all": "사용자에게 모든 역할을 부여합니다.", + "role-toast-granted-all-error": "사용자에게 모든 역할을 부여하는 동안 오류가 발생했습니다. 다시 시도해 주세요.", + "role-toast-revoked": "사용자로부터 {{역할이름}} 역할을 해지했습니다.", + "role-toast-revoked-error": "사용자로부터 {{역할 이름}} 역할을 해지하는 동안 오류가 발생했습니다. 다시 시도해 주세요.", + "role-toast-revoked-all": "사용자에 대한 모든 역할을 해지했습니다.", + "role-toast-revoked-all-error": "사용자의 모든 역할을 취소하는 동안 오류가 발생했습니다. 다시 시도해 주세요.", + "role-toast-granted-filter": "사용자에게 역할을 부여합니다:", + "role-set": "역할을 설정합니다:", + "role-section-header-title": "역할 편집", + "save": "저장", + "searchMembers": "회원 검색", + "searchOrganizations": "조직 검색", + "securityKey": "보안 키", + "selectLocale": "로캘 선택", + "selectOne": "옵션 선택", + "sendInvitation": "초대 보내기", + "settings": "설정", + "setupAssociatedDomainsAndVerifyThemToEnsureFullSecurity": "연결된 도메인을 설정하고 확인하여 완벽한 보안을 보장하세요.", + "setUpAuthenticator": "인증자 설정", + "setupDomains": "도메인 설정", + "setUpNew": "설정 {{0}}", + "setUpSecurityKey": "보안 키 설정", + "setupSso": "SSO 설정", + "setupSsoConnectionsAsNecessaryForThisOrganization": "이 조직에 필요에 따라 SSO 연결을 설정합니다.", + "share": "공유", + "sharedWithMe": "나와 공유", + "shareError": "다음과 같은 이유로 리소스를 공유할 수 없습니다: {{error}}", + "shareSuccess": "리소스를 성공적으로 공유했습니다.", + "shareTheResource": "리소스 공유 - {{0}}", + "shareUser": "리소스를 공유할 사용자 추가", + "shareWith": "공유 대상 ", + "signedInDevices": "로그인한 장치", + "signedInDevicesExplanation": "익숙하지 않은 기기에서 로그아웃하세요.", + "signedOutSession": "로그아웃 {{0}}/{{1}}", + "signInByEnteringYourPassword": "비밀번호를 입력하여 로그인", + "signingIn": "로그인", + "signingInDescription": "로그인 방법을 구성합니다.", + "signOut": "로그아웃", + "signOutAllDevices": "모든 디바이스에서 로그아웃", + "signOutAllDevicesWarning": "이 작업을 수행하면 현재 사용 중인 디바이스를 포함하여 계정에 로그인한 모든 디바이스가 로그아웃됩니다.", + "signOutOfAnyUnfamiliarDevices": "익숙하지 않은 기기에서 로그아웃", + "signOutSession": "세션 로그아웃", + "signOutThisSessionQuestion": "다른 디바이스에서 세션에서 로그아웃할 것인지 확인해 주세요.", + "signOutWarning": "세션에서 로그아웃하시겠습니까?", + "socialLogin": "소셜 로그인", + "somethingWentWrong": "문제가 발생했습니다.", + "somethingWentWrongDescription": "죄송합니다. 예기치 않은 오류가 발생했습니다.", + "speakToAnAdminInOrderToBeGrantedThisRole": "이 역할을 부여받으려면 관리자에게 문의하세요.", + "sso": "SSO", + "started": "시작됨", + "status": "상태", + "stopUsingCred": "{{0}} 사용을 중지하시겠습니까?", + "successRemovedMessage": "{사용자 레이블}}이 제거되었습니다.", + "system": "시스템", + "systemDefined": "시스템 정의", + "termsOfService": "서비스 약관", + "theme": "테마", + "thirdPartyApp": "타사", + "thisActionWillSignOutAllTheDevicesThatHaveSignedInToYourAccountIncludingTheCurrentDeviceYouAreUsing": "이 작업을 수행하면 현재 사용 중인 디바이스를 포함하여 계정에 로그인한 모든 디바이스가 로그아웃됩니다.", + "tryAgain": "다시 시도", + "two-factor": "2단계 인증", + "twoFactorAuthentication": "2단계 인증", + "unknownOperatingSystem": "알 수 없는 운영 체제", + "unknownUser": "익명", + "unLink": "계정 연결 해제", + "unlinkAccount": "계정 연결 해제", + "unlinkedEmpty": "연결되지 않은 공급자 없음", + "unlinkedLoginProviders": "연결되지 않은 로그인 공급자", + "unLinkError": "다음 때문에 연결을 해제할 수 없습니다: {{오류}}", + "unLinkSuccess": "계정 연결 해제 성공", + "unShare": "모두 공유 취소", + "unShareError": "다음 때문에 리소스 공유를 해제할 수 없습니다: {{error}}", + "unShareSuccess": "리소스 공유가 성공적으로 해제되었습니다.", + "update": "업데이트", + "updateCredAriaLabel": "자격 증명 업데이트", + "updateError": "다음과 같은 이유로 리소스를 업데이트할 수 없습니다: {{error}}", + "updateLocale": "로캘 업데이트", + "updateOrganization": "조직 업데이트", + "updateSuccess": "리소스가 성공적으로 업데이트되었습니다.", + "user": "사용자", + "username": "사용자 이름", + "usernamePlaceholder": "사용자 이름 또는 이메일", + "usernameEmailSame": "사용자 아이디는 이메일과 동일합니다.", + "useTheFollowingDetailsToVerifyYourDomain": "다음 세부 정보를 사용하여 도메인을 확인합니다.", + "useThisCodeForTheValueOfTheTxtRecord": "txt 레코드 값에 다음 코드를 사용합니다.", + "useYourSecurityKeyForPasswordlessSignIn": "비밀번호 없이 로그인하려면 보안 키를 사용하세요.", + "useYourSecurityKeyToSignIn": "보안 키를 사용하여 로그인", + "validated": "유효성 검사", + "verificationPending": "확인 보류 중", + "verified": "확인됨", + "verify": "확인", + "view": "보기", + "viewLinkedDomainsAndVerifyDnsEntries": "연결된 도메인 보기 및 DNS 항목 확인", + "viewOrganizationInformationChangeDisplayName": "조직 정보 보기 표시 이름 변경", + "welcomeMessage": "키클라우드 계정 관리에 오신 것을 환영합니다.", + "youAreTheSameUserAsThisUser": "이것은 귀하의 계정입니다! 이것이 바로 여러분입니다!", + "youLackTheManageRolesRole": "역할 관리 역할이 부족합니다." +} \ No newline at end of file diff --git a/src/i18n.ts b/src/i18n.ts index 0eec725..db35ec3 100644 --- a/src/i18n.ts +++ b/src/i18n.ts @@ -4,7 +4,8 @@ import { initReactI18next } from "react-i18next"; import { joinPath } from "services/join-path"; const ENGLISH_LOCALE = "en"; -const FRENCH_LOCAL = "fr"; +const FRENCH_LOCALE = "fr"; +const KOREAN_LOCALE = "ko"; const DEFAULT_NAMESPACE = "translation"; // use localStorage to avoid losing language on page reload @@ -20,7 +21,7 @@ i18n lng: locale || ENGLISH_LOCALE, returnNull: false, defaultNS: DEFAULT_NAMESPACE, - fallbackLng: [ENGLISH_LOCALE, FRENCH_LOCAL], + fallbackLng: [ENGLISH_LOCALE, FRENCH_LOCALE, KOREAN_LOCALE], ns: [DEFAULT_NAMESPACE], interpolation: { escapeValue: false,