From d1900e18549b321e330c31beded1c29dd80aab9a Mon Sep 17 00:00:00 2001 From: Kyungyoon Kim Date: Sat, 30 Jul 2022 23:48:50 +0900 Subject: [PATCH] chore(phrases): add translation ko_KR (#1677) chore(connector): add translation ko_KR chore(phrases): add translation ko_KR test: add mock translation for ko_KR Update packages/phrases-ui/src/locales/ko-kr.ts Co-authored-by: Charles Zhao Update packages/phrases-ui/src/locales/ko-kr.ts Co-authored-by: Charles Zhao chore(phrases): update translation ko_KR chore(phrases): edit translation ko_KR, make more friendly chore(phrases): fix typo chore(phrases): make translation smooth ko_KR chore(phrases): edit translation ko_KR chore(console): add translation ko_KR chore(phrases): add korean language for login ui --- .../connector-alipay-native/src/constant.ts | 2 + packages/connector-alipay-web/src/constant.ts | 2 + packages/connector-aliyun-dm/src/constant.ts | 2 + packages/connector-aliyun-sms/src/constant.ts | 2 + packages/connector-apple/src/constant.ts | 2 + packages/connector-azuread/src/constant.ts | 2 + packages/connector-facebook/src/constant.ts | 2 + packages/connector-github/src/constant.ts | 2 + packages/connector-google/src/constant.ts | 2 + packages/connector-mock-mail/src/constant.ts | 2 + packages/connector-mock-sms/src/constant.ts | 2 + .../connector-sendgrid-mail/src/constant.ts | 2 + packages/connector-smtp/src/constant.ts | 2 + packages/connector-twilio-sms/src/constant.ts | 2 + .../connector-wechat-native/src/constant.ts | 2 + packages/connector-wechat-web/src/constant.ts | 2 + .../UserDetails/components/UserConnectors.tsx | 1 + packages/core/src/__mocks__/connector.ts | 2 + packages/phrases-ui/src/index.ts | 2 + packages/phrases-ui/src/locales/ko-kr.ts | 75 ++++++++++++ packages/phrases-ui/src/types.ts | 2 + packages/phrases/src/index.ts | 2 + packages/phrases/src/locales/ko-kr/errors.ts | 107 +++++++++++++++++ packages/phrases/src/locales/ko-kr/index.ts | 9 ++ .../admin-console/api-resource-details.ts | 11 ++ .../admin-console/api-resources.ts | 14 +++ .../admin-console/application-details.ts | 39 +++++++ .../translation/admin-console/applications.ts | 41 +++++++ .../admin-console/connector-details.ts | 22 ++++ .../translation/admin-console/connectors.ts | 37 ++++++ .../translation/admin-console/contact.ts | 22 ++++ .../translation/admin-console/dashboard.ts | 18 +++ .../ko-kr/translation/admin-console/errors.ts | 21 ++++ .../translation/admin-console/general.ts | 40 +++++++ .../translation/admin-console/get-started.ts | 25 ++++ .../ko-kr/translation/admin-console/index.ts | 52 +++++++++ .../translation/admin-console/log-details.ts | 17 +++ .../ko-kr/translation/admin-console/logs.ts | 11 ++ .../admin-console/session-expired.ts | 7 ++ .../translation/admin-console/settings.ts | 25 ++++ .../translation/admin-console/sign-in-exp.ts | 110 ++++++++++++++++++ .../translation/admin-console/tab-sections.ts | 8 ++ .../ko-kr/translation/admin-console/tabs.ts | 15 +++ .../translation/admin-console/user-details.ts | 38 ++++++ .../ko-kr/translation/admin-console/users.ts | 14 +++ .../translation/admin-console/welcome.ts | 8 ++ .../src/locales/ko-kr/translation/demo-app.ts | 14 +++ .../src/locales/ko-kr/translation/index.ts | 9 ++ packages/phrases/src/types.ts | 2 + packages/ui/src/__mocks__/logto.tsx | 12 ++ 50 files changed, 864 insertions(+) create mode 100644 packages/phrases-ui/src/locales/ko-kr.ts create mode 100644 packages/phrases/src/locales/ko-kr/errors.ts create mode 100644 packages/phrases/src/locales/ko-kr/index.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/api-resource-details.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/api-resources.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/application-details.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/applications.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/connector-details.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/connectors.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/contact.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/dashboard.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/errors.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/general.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/get-started.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/index.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/log-details.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/logs.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/session-expired.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/settings.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/sign-in-exp.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/tab-sections.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/tabs.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/user-details.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/users.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/admin-console/welcome.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/demo-app.ts create mode 100644 packages/phrases/src/locales/ko-kr/translation/index.ts diff --git a/packages/connector-alipay-native/src/constant.ts b/packages/connector-alipay-native/src/constant.ts index 3a14a71c8..8da724e64 100644 --- a/packages/connector-alipay-native/src/constant.ts +++ b/packages/connector-alipay-native/src/constant.ts @@ -24,6 +24,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Alipay', 'zh-CN': '支付宝', 'tr-TR': 'Alipay', + 'ko-KR': 'Alipay', }, logo: './logo.svg', logoDark: null, @@ -31,6 +32,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Alipay is a third-party mobile and online payment platform.', 'zh-CN': '支付宝是一个第三方支付平台。', 'tr-TR': 'Alipay, üçüncü şahıslara ait bir mobil ve çevrimiçi ödeme platformudur.', + 'ko-KR': 'Alipay는 서드파티 모바일 및 온라인 결제 플랫폼 입니다.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-alipay-web/src/constant.ts b/packages/connector-alipay-web/src/constant.ts index edf3f2c24..aa7b5769d 100644 --- a/packages/connector-alipay-web/src/constant.ts +++ b/packages/connector-alipay-web/src/constant.ts @@ -27,6 +27,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Alipay', 'zh-CN': '支付宝', 'tr-TR': 'Alipay', + 'ko-KR': 'Alipay', }, logo: './logo.svg', logoDark: null, @@ -34,6 +35,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Alipay is a third-party mobile and online payment platform.', 'zh-CN': '支付宝是一个第三方支付平台。', 'tr-TR': 'Alipay, üçüncü şahıslara ait bir mobil ve çevrimiçi ödeme platformudur.', + 'ko-KR': 'Alipay는 서드파티 모바일 및 온라인 결제 플랫폼 입니다.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-aliyun-dm/src/constant.ts b/packages/connector-aliyun-dm/src/constant.ts index b92db198c..acf2732e1 100644 --- a/packages/connector-aliyun-dm/src/constant.ts +++ b/packages/connector-aliyun-dm/src/constant.ts @@ -18,6 +18,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Aliyun Direct Mail', 'zh-CN': '阿里云邮件推送', 'tr-TR': 'Aliyun Direct Mail', + 'ko-KR': 'Aliyun 다이렉트 메일', }, logo: './logo.svg', logoDark: null, @@ -25,6 +26,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Aliyun provides cloud computing services to online businesses.', 'zh-CN': '阿里云是全球性的云服务提供商。', 'tr-TR': 'Aliyun, çevrimiçi işletmelere bulut bilişim hizmetleri sunmaktadır.', + 'ko-KR': 'Aliyun는 온라인 비지니스를 위해 클라우딩 컴퓨팅 서비스를 제공합니다.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-aliyun-sms/src/constant.ts b/packages/connector-aliyun-sms/src/constant.ts index 78e557d25..9ddf74d53 100644 --- a/packages/connector-aliyun-sms/src/constant.ts +++ b/packages/connector-aliyun-sms/src/constant.ts @@ -34,6 +34,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Aliyun Short Message Service', 'zh-CN': '阿里云短信服务', 'tr-TR': 'Aliyun SMS Servisi', + 'ko-KR': 'Aliyun Short 메세지 서비스', }, logo: './logo.svg', logoDark: null, @@ -41,6 +42,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Aliyun provides cloud computing services to online businesses.', 'zh-CN': '阿里云是全球性的云服务提供商。', 'tr-TR': 'Aliyun, çevrimiçi işletmelere bulut bilişim hizmetleri sunmaktadır.', + 'ko-KR': 'Aliyun는 온라인 비지니스를 위해 클라우딩 컴퓨팅 서비스를 제공합니다.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-apple/src/constant.ts b/packages/connector-apple/src/constant.ts index d978b6eae..4d9767f7c 100644 --- a/packages/connector-apple/src/constant.ts +++ b/packages/connector-apple/src/constant.ts @@ -18,6 +18,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Apple', 'zh-CN': 'Apple', 'tr-TR': 'Apple', + 'ko-KR': 'Apple', }, logo: './logo.svg', logoDark: './logo-dark.svg', @@ -25,6 +26,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Apple is a multinational high-end provider of hardware and software.', 'zh-CN': 'Apple 是全球领先的高端消费者软硬件提供商。', 'tr-TR': 'Apple, çok uluslu bir üst düzey donanım ve yazılım sağlayıcısıdır.', + 'ko-KR': 'Apple은 하드웨어와 소프트웨어의 다국적 공급자 입니다.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-azuread/src/constant.ts b/packages/connector-azuread/src/constant.ts index 671d79122..94d505882 100644 --- a/packages/connector-azuread/src/constant.ts +++ b/packages/connector-azuread/src/constant.ts @@ -12,6 +12,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Azure Active Directory', 'zh-CN': 'Azure Active Directory', 'tr-TR': 'Azure Active Directory', + 'ko-KR': 'Azure Active Directory', }, logo: './logo.svg', logoDark: null, @@ -19,6 +20,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Azure Active Directory is the biggest AD provider.', 'zh-CN': 'Azure Active Directory is the biggest AD provider.', 'tr-TR': 'Azure Active Directory en büyük AD servisidir.', + 'ko-KR': 'Azure Active Directory is the biggest AD provider.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-facebook/src/constant.ts b/packages/connector-facebook/src/constant.ts index 4c16617a4..460fcab54 100644 --- a/packages/connector-facebook/src/constant.ts +++ b/packages/connector-facebook/src/constant.ts @@ -23,6 +23,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Facebook', 'zh-CN': 'Facebook', 'tr-TR': 'Facebook', + 'ko-KR': 'Facebook', }, logo: './logo.svg', logoDark: null, @@ -30,6 +31,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Facebook is a worldwide social media platform with the most active users.', 'zh-CN': 'Facebook 是世界使用人数最多的社交平台。', 'tr-TR': 'Facebook, en aktif kullanıcılara sahip dünya çapında bir sosyal medya platformudur.', + 'ko-KR': '페이스북은 가장 활동적인 사용자를 가진 세계적인 소셜 미디어 플랫폼입니다.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-github/src/constant.ts b/packages/connector-github/src/constant.ts index b4f16008d..b10a1c703 100644 --- a/packages/connector-github/src/constant.ts +++ b/packages/connector-github/src/constant.ts @@ -14,6 +14,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'GitHub', 'zh-CN': 'GitHub', 'tr-TR': 'GitHub', + 'ko-KR': 'GitHub', }, logo: './logo.svg', logoDark: './logo-dark.svg', @@ -21,6 +22,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'GitHub is an online community for software development and version control.', 'zh-CN': 'GitHub 是全球最大的代码托管仓库。', 'tr-TR': 'GitHub, yazılım geliştirme ve sürüm kontrolü için çevrimiçi bir topluluktur.', + 'ko-KR': 'GitHub는 소프트웨어 개발과 버전 관리를 위한 온라인 커뮤니티입니다.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-google/src/constant.ts b/packages/connector-google/src/constant.ts index c89bfe6c0..0c8ea6ef3 100644 --- a/packages/connector-google/src/constant.ts +++ b/packages/connector-google/src/constant.ts @@ -14,6 +14,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Google', 'zh-CN': 'Google', 'tr-TR': 'Google', + 'ko-KR': 'Google', }, logo: './logo.svg', logoDark: null, @@ -21,6 +22,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Google is the biggest search engine technology and email service provider.', 'zh-CN': 'Google 是全球最大的搜索引擎和邮件服务提供商。', 'tr-TR': 'Google, en büyük arama motoru teknolojisi ve e-posta servis sağlayıcısıdır.', + 'ko-KR': 'Google은 가장 큰 검색 엔진 기술과 이메일 서비스 제공자입니다.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-mock-mail/src/constant.ts b/packages/connector-mock-mail/src/constant.ts index 0aa1c6732..7cf01d85a 100644 --- a/packages/connector-mock-mail/src/constant.ts +++ b/packages/connector-mock-mail/src/constant.ts @@ -9,6 +9,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Mock Mail Service', 'zh-CN': 'Mock 邮件服务', 'tr-TR': 'Mock Mail Servis', + 'ko-KR': 'Mock Mail Service', }, logo: './logo.svg', logoDark: null, @@ -16,6 +17,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'The description of Mock Mail Service.', 'zh-CN': 'Mock 邮件服务的描述。', 'tr-TR': 'Mock Mail Servis açıklaması.', + 'ko-KR': 'The description of Mock SMS Service.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-mock-sms/src/constant.ts b/packages/connector-mock-sms/src/constant.ts index edc199017..b03d146b6 100644 --- a/packages/connector-mock-sms/src/constant.ts +++ b/packages/connector-mock-sms/src/constant.ts @@ -9,6 +9,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Mock SMS Service', 'zh-CN': 'Mock 短信服务', 'tr-TR': 'Mock SMS Servis', + 'ko-KR': 'Mock SMS Service', }, logo: './logo.svg', logoDark: null, @@ -16,6 +17,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'The description of Mock SMS Service.', 'zh-CN': 'Mock 短信服务的描述。', 'tr-TR': 'Mock SMS Servis açıklaması.', + 'ko-KR': 'The description of Mock SMS Service.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-sendgrid-mail/src/constant.ts b/packages/connector-sendgrid-mail/src/constant.ts index 84a3c0276..e41888900 100644 --- a/packages/connector-sendgrid-mail/src/constant.ts +++ b/packages/connector-sendgrid-mail/src/constant.ts @@ -11,6 +11,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'SendGrid Mail Service', 'zh-CN': 'SendGrid 邮件服务', 'tr-TR': 'SendGrid EMail Servisi', + 'ko-KR': 'SendGrid 메일 서비스', }, logo: './logo.svg', logoDark: null, @@ -18,6 +19,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'SendGrid is a communication platform for transactional and marketing email.', 'zh-CN': 'SendGrid 是一个面向消费者的邮件通讯平台。', 'tr-TR': 'SendGrid, operasyonel ve pazarlama e- postaları için bir iletişim platformudur.', + 'ko-KR': 'SendGrids는 마케팅 및 이메일을 전송할 수 있는 플랫폼 입니다.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-smtp/src/constant.ts b/packages/connector-smtp/src/constant.ts index eba6d07c0..a5d0938dc 100644 --- a/packages/connector-smtp/src/constant.ts +++ b/packages/connector-smtp/src/constant.ts @@ -9,6 +9,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'SMTP', 'zh-CN': 'SMTP', 'tr-TR': 'SMTP', + 'ko-KR': 'SMTP', }, logo: './logo.svg', logoDark: null, @@ -16,6 +17,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'The SMTP is an internet standard communication protocol for electronic mail transmission.', 'zh-CN': 'SMTP 是简单邮件通讯协议的缩写,可对接所有邮件服务提供商。', 'tr-TR': 'SMTP, elektronik posta iletimi için internet standart iletişim protokolüdür.', + 'ko-KR': 'SMTP는 이메일 전송을 위한 표준 통신 규약 입니다.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-twilio-sms/src/constant.ts b/packages/connector-twilio-sms/src/constant.ts index 53b219a19..c6f37c0b6 100644 --- a/packages/connector-twilio-sms/src/constant.ts +++ b/packages/connector-twilio-sms/src/constant.ts @@ -11,6 +11,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'Twilio SMS Service', 'zh-CN': 'Twilio 短信服务', 'tr-TR': 'Twilio SMS Servisi', + 'ko-KR': 'Twilio SMS 서비스', }, logo: './logo.svg', logoDark: null, @@ -19,6 +20,7 @@ export const defaultMetadata: ConnectorMetadata = { 'zh-CN': 'Twilio 是一个提供面向消费者的可编程通讯服务的平台。', 'tr-TR': 'Twilio, telefon görüşmeleri ve mesajlar için programlanabilir iletişim araçları sağlar.', + 'ko-KR': 'Twilio는 전화 및 SMS을 할 수 있도록 개발자 도구를 제공합니다.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-wechat-native/src/constant.ts b/packages/connector-wechat-native/src/constant.ts index 65a293bcc..f875f2f04 100644 --- a/packages/connector-wechat-native/src/constant.ts +++ b/packages/connector-wechat-native/src/constant.ts @@ -19,6 +19,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'WeChat', 'zh-CN': '微信', 'tr-TR': 'WeChat', + 'ko-KR': 'WeChat', }, logo: './logo.svg', logoDark: null, @@ -26,6 +27,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'WeChat is a cross-platform instant messaging app.', 'zh-CN': '微信是一款跨平台的即时通讯软件。', 'tr-TR': 'WeChat, çoklu platformda kullanılabilen bir anlık mesajlaşma uygulamasıdır.', + 'ko-KR': 'WeChat은 크로스 플랫폼 메시징 앱입니다.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/connector-wechat-web/src/constant.ts b/packages/connector-wechat-web/src/constant.ts index fbf2df672..52594814e 100644 --- a/packages/connector-wechat-web/src/constant.ts +++ b/packages/connector-wechat-web/src/constant.ts @@ -19,6 +19,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'WeChat', 'zh-CN': '微信', 'tr-TR': 'WeChat', + 'ko-KR': 'WeChat', }, logo: './logo.svg', logoDark: null, @@ -26,6 +27,7 @@ export const defaultMetadata: ConnectorMetadata = { en: 'WeChat is a cross-platform instant messaging app.', 'zh-CN': '微信是一款跨平台的即时通讯软件。', 'tr-TR': 'WeChat, çoklu platformda kullanılabilen bir anlık mesajlaşma uygulamasıdır.', + 'ko-KR': 'WeChat은 크로스 플랫폼 메시징 앱입니다.', }, readme: './README.md', configTemplate: './docs/config-template.json', diff --git a/packages/console/src/pages/UserDetails/components/UserConnectors.tsx b/packages/console/src/pages/UserDetails/components/UserConnectors.tsx index b9c6c12a6..401cc2af8 100644 --- a/packages/console/src/pages/UserDetails/components/UserConnectors.tsx +++ b/packages/console/src/pages/UserDetails/components/UserConnectors.tsx @@ -65,6 +65,7 @@ const UserConnectors = ({ userId, connectors, onDelete }: Props) => { 'zh-CN': '未知连接器', en: 'Unknown Connector', 'tr-TR': 'Bilinmeyen connector.', + 'ko-KR': '알수없는 연동', }, target: key, userId: connectors[key]?.userId, diff --git a/packages/core/src/__mocks__/connector.ts b/packages/core/src/__mocks__/connector.ts index 7bd15b83c..e88049551 100644 --- a/packages/core/src/__mocks__/connector.ts +++ b/packages/core/src/__mocks__/connector.ts @@ -10,6 +10,7 @@ export const mockMetadata: ConnectorMetadata = { en: 'Connector', 'zh-CN': '连接器', 'tr-TR': 'Connector', + 'ko-KR': 'Connector', }, logo: './logo.png', logoDark: './logo-dark.png', @@ -17,6 +18,7 @@ export const mockMetadata: ConnectorMetadata = { en: 'Connector', 'zh-CN': '连接器', 'tr-TR': 'Connector', + 'ko-KR': 'Connector', }, readme: 'README.md', configTemplate: 'config-template.json', diff --git a/packages/phrases-ui/src/index.ts b/packages/phrases-ui/src/index.ts index 38a5bb857..53c1d77a3 100644 --- a/packages/phrases-ui/src/index.ts +++ b/packages/phrases-ui/src/index.ts @@ -1,6 +1,7 @@ import { NormalizeKeyPaths } from '@silverhand/essentials'; import en from './locales/en'; +import koKR from './locales/ko-kr'; import trTR from './locales/tr-tr'; import zhCN from './locales/zh-cn'; import { Resource, Language } from './types'; @@ -12,6 +13,7 @@ export type I18nKey = NormalizeKeyPaths; const resource: Resource = { [Language.English]: en, [Language.Chinese]: zhCN, + [Language.Korean]: koKR, [Language.Turkish]: trTR, }; diff --git a/packages/phrases-ui/src/locales/ko-kr.ts b/packages/phrases-ui/src/locales/ko-kr.ts new file mode 100644 index 000000000..5cca15579 --- /dev/null +++ b/packages/phrases-ui/src/locales/ko-kr.ts @@ -0,0 +1,75 @@ +const translation = { + input: { + username: '사용자 이름', + password: '비밀번호', + email: '이메일', + phone_number: '휴대전화번호', + confirm_password: '비밀번호 확인', + }, + secondary: { + sign_in_with: '{{methods, list(type: disjunction;)}} 로그인', + social_bind_with: + '이미 계정이 있으신가요? {{methods, list(type: disjunction;)}}로 로그인 해보세요!', + }, + action: { + sign_in: '로그인', + continue: '계속', + create_account: '계정 생성', + create: '생성', + enter_passcode: '비밀번호 입력', + confirm: '확인', + cancel: '취소', + bind: '{{address}}로 연동', + back: '뒤로 가기', + nav_back: '뒤로', + agree: '동의', + got_it: '알겠습니다', + sign_in_with: '{{name}} 로그인', + }, + description: { + email: '이메일', + phone_number: '휴대전화번호', + reminder: '리마인더', + not_found: '404 찾을 수 없음', + agree_with_terms: '나는 내용을 읽었으며, 이에 동의합니다.', + agree_with_terms_modal: '진행하기 위해서는, 다음을 동의해주세요 .', + terms_of_use: '이용약관', + create_account: '계정 생성', + forgot_password: '비밀번호를 잊어버리셨나요?', + or: '또는', + enter_passcode: '{{address}} 으로 비밀번호가 전송되었어요.', + passcode_sent: '비밀번호가 재전송 되었습니다.', + resend_after_seconds: '{{seconds}} 초 후에 재전송', + resend_passcode: '비밀번호 재전송', + continue_with: '계속하기', + create_account_id_exists: '{{type}} {{value}} 계정이 이미 존재해요. 로그인하시겠어요?', + sign_in_id_does_not_exists: '{type}} {{value}} 계정이 존재하지 않아요. 새로 만드시겠어요?', + bind_account_title: '계정 연동', + social_create_account: '계정이 없으신가요? 새로운 계정을 만들고 연동해보세요.', + social_bind_account: '계정이 이미 있으신가요? 로그인하여 다른 계정과 연동해보세요.', + social_bind_with_existing: '관련된 계정을 찾았어요. 해당 계정과 연동할 수 있습니다.', + }, + error: { + username_password_mismatch: '사용자 이름 또는 비밀번호가 일치하지 않아요.', + username_required: '사용자 이름은 필수예요.', + password_required: '비밀번호는 필수예요.', + username_exists: '사용자 이름이 이미 존재해요.', + username_should_not_start_with_number: '사용자 이름은 숫자로 시작하면 안되요.', + username_valid_charset: '사용자 이름은 문자, 숫자, _(밑줄 문자) 로만 이루어져야해요.', + invalid_email: '이메일이 유효하지 않아요.', + invalid_phone: '휴대전화번호가 유효하지 않아요.', + password_min_length: '비밀번호는 최소 {{min}} 자리로 이루어져야해요.', + passwords_do_not_match: '비밀번호가 일치하지 않아요.', + invalid_passcode: '비밀번호가 유효하지 않아요.', + invalid_connector_auth: '인증이 유효하지 않아요.', + invalid_connector_request: '연동 정보가 유효하지 않아요.', + unknown: '알 수 없는 오류가 발생했어요. 잠시 후에 시도해주세요.', + invalid_session: '세션을 찾을 수 없어요. 다시 로그인을 해주세요.', + }, +}; + +const koKR = Object.freeze({ + translation, +}); + +export default koKR; diff --git a/packages/phrases-ui/src/types.ts b/packages/phrases-ui/src/types.ts index efc2a2f24..2d9483d09 100644 --- a/packages/phrases-ui/src/types.ts +++ b/packages/phrases-ui/src/types.ts @@ -9,10 +9,12 @@ export enum Language { English = 'en', Chinese = 'zh-CN', Turkish = 'tr-TR', + Korean = 'ko-KR', } export const languageOptions = [ { value: Language.English, title: 'English' }, { value: Language.Chinese, title: '中文' }, { value: Language.Turkish, title: 'Turkish' }, + { value: Language.Korean, title: '한국어' }, ]; diff --git a/packages/phrases/src/index.ts b/packages/phrases/src/index.ts index 5d4ee6a84..4d84dcd05 100644 --- a/packages/phrases/src/index.ts +++ b/packages/phrases/src/index.ts @@ -1,6 +1,7 @@ import { NormalizeKeyPaths } from '@silverhand/essentials'; import en from './locales/en'; +import koKR from './locales/ko-kr'; import trTR from './locales/tr-tr'; import zhCN from './locales/zh-cn'; import { Resource, Language } from './types'; @@ -16,6 +17,7 @@ export type AdminConsoleKey = NormalizeKeyPaths{{name}}"을 입력해주세요.', + enter_your_api_resource_name: 'API 리소스 이름을 입력해주세요.', + api_resource_deleted: '{name}} API 리소스가 성공적으로 삭제되었어요.', +}; + +export default api_resource_details; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/api-resources.ts new file mode 100644 index 000000000..c94596fda --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/api-resources.ts @@ -0,0 +1,14 @@ +const api_resources = { + title: 'API 리소스', + subtitle: '인증된 어플리케이션에서 사용될 API를 정의해주세요.', + create: 'API 리소스 생성', + api_name: 'API 이름', + api_name_placeholder: 'API 이름 입력', + api_identifier: 'API 식별자', + api_identifier_tip: + 'API 리소스에 대한 유일한 식별자예요. 반드시, 절대적인 URI 이여야 하며, 프래그먼트 (#) 요소가 없어야해요. OAuth 2.0의 리소스 파라미터와 동일해요.', + api_resource_created: '{{name}} API 리소스가 성공적으로 생성되었어요.', + api_identifier_placeholder: 'https://your-api-identifier/', +}; + +export default api_resources; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/application-details.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/application-details.ts new file mode 100644 index 000000000..85ab8cab2 --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/application-details.ts @@ -0,0 +1,39 @@ +const application_details = { + back_to_applications: '어플리케이션으로 돌아가기', + check_guide: '가이드 확인', + advanced_settings: '고급 설정', + application_name: '어플리케이션 이름', + application_name_placeholder: '나의 앱', + description: '설명', + description_placeholder: '어플리케이션 설명을 적어주세요.', + authorization_endpoint: '인증 End-Point', + authorization_endpoint_tip: + '인증 및 권한 부여를 진행할 End-Point예요. OpenID Connect 인증에서 사용되던 값 이에요.', + redirect_uri: 'Redirect URI', + redirect_uris: 'Redirect URIs', + redirect_uri_placeholder: 'https://your.website.com/app', + redirect_uri_placeholder_native: 'io.logto://callback', + redirect_uri_tip: + '사용자 로그인 이후, 리다이렉트 될 URI 경로예요. 더욱 자세한 정보는 OpenID Connect AuthRequest를 참고해주세요.', + post_sign_out_redirect_uri: '로그아웃 이후 Redirect URI', + post_sign_out_redirect_uris: '로그아웃 이후 Redirect URIs', + post_sign_out_redirect_uri_placeholder: 'https://your.website.com/home', + post_sign_out_redirect_uri_tip: + '로그아웃 이후, 리다이렉트 될 URI 경로예요 (선택). 일부 앱에서는 실제 효과가 없을 수 있어요.', + cors_allowed_origins: 'CORS Allow Origins', + cors_allowed_origins_placeholder: 'https://your.website.com', + cors_allowed_origins_tip: + '기본으로 모든 리다이렉트의 오리진들은 허용되요. 대체적으로 이 값을 건들 필요는 없어요.', + add_another: '새로 추가', + id_token_expiration: 'ID 토큰 만료', + refresh_token_expiration: 'Refresh 토큰 만료', + token_endpoint: '토큰 End-Point', + user_info_endpoint: '사용자 정보 End-Point', + delete_description: + '이 행동은 취소될 수 없어요. 어플리케이션을 영원히 삭제할 거에요. 삭제를 진행하기 위해 {{name}} 를 입력해주세요.', + enter_your_application_name: '어플리케이션 이름을 입력해주세요.', + application_deleted: '{{name}} 어플리케이션이 성공적으로 삭제되었어요.', + redirect_uri_required: '반드시 최소 하나의 Redirect URI를 입력해야되요.', +}; + +export default application_details; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/applications.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/applications.ts new file mode 100644 index 000000000..be522265f --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/applications.ts @@ -0,0 +1,41 @@ +const applications = { + title: '어플리케이션', + subtitle: '인증에 Logto를 사용할 모바일, 단일 페이지 또는 기존 어플리케이션 설정할 수 있어요.', + create: '어플리케이션 생성', + application_name: '어플리케이션 이름', + application_name_placeholder: '나의 앱', + application_description: '어플리케이션 설명', + application_description_placeholder: '어플리케이션 설명을 적어주세요.', + select_application_type: '어플리케이션 종류 선택', + no_application_type_selected: '어플리케이션 종류를 선택하지 않았아요.', + application_created: + '{{name}} 어플리케이션이 성공적으로 생성되었어요! \n이제 어플리케이션 설정을 마무리해주세요.', + app_id: 'App ID', + type: { + native: { + title: 'Native App', + subtitle: 'Native 환경에서 작동하는 어플리케이션', + description: '예) iOS App, Android App', + }, + spa: { + title: 'Single Page App', + subtitle: '웹 브라우저에서 작동하며, 한 페이지에서 유동적으로 업데이트 되는 웹', + description: '예) React DOM App, Vue App', + }, + traditional: { + title: 'Traditional Web', + subtitle: '서버를 통하여 웹 페이지가 업데이트 되는 앱', + description: '예) JSP, PHP', + }, + }, + guide: { + get_sample_file: '예제 찾기', + header_description: + '단계별 가이드에 따라 어플리케이션을 연동하거나, 오른쪽 버튼을 클릭하여 샘플 프로젝트를 받아보세요.', + title: '어플리케이션이 생성되었어요.', + subtitle: '앱 설정을 마치기 위해 아래 단계를 따라주세요. SDK 종류를 선택해주세요.', + description_by_sdk: '아래 과정을 따라서 Logto를 {{sdk}} 앱과 빠르게 연동해보세요.', + }, +}; + +export default applications; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/connector-details.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/connector-details.ts new file mode 100644 index 000000000..5ea485c8e --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/connector-details.ts @@ -0,0 +1,22 @@ +const connector_details = { + back_to_connectors: '연동으로 돌아가기', + check_readme: 'README 확인', + save_error_empty_config: '설정을 입력해주세요.', + send: '보내기', + send_error_invalid_format: '유효하지 않은 입력', + edit_config_label: '여기에 JSON을 입력해주세요.', + test_email_sender: '이메일 연동 테스트', + test_sms_sender: 'SMS 연동 테스트', + test_email_placeholder: '테스트 이메일 주소를 입력해주세요.', + test_sms_placeholder: '테스트 휴대전화번호를 입력해주세요.', + test_message_sent: '테스트 메세지 전송완료!', + test_sender_description: 'JSON 설정이 정확하다면, 메세지를 받을거에요.', + options_change_email: '이메일 연동 수정', + options_change_sms: 'SMS 연동 수정', + connector_deleted: '연동이 설공적으로 제거되었어요.', + type_email: '이메일 연동', + type_sms: 'SMS 연동', + type_social: '소셜 연동', +}; + +export default connector_details; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/connectors.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/connectors.ts new file mode 100644 index 000000000..7a80a7f0e --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/connectors.ts @@ -0,0 +1,37 @@ +const connectors = { + title: '연동', + subtitle: '비밀번호 없이 또는 소셜 로그인을 제공하여 보다 나은 경험을 위해 연동해주세요.', + create: '소셜 연동 추가', + tab_email_sms: '이메일/SMS 연동', + tab_social: '소셜 연동', + connector_name: '연동 이름', + connector_type: '종류', + connector_status: '로그인 경험', + connector_status_in_use: '사용 중', + connector_status_not_in_use: '사용 중이 아님', + social_connector_eg: '예) Google, Facebook, Github', + save_and_done: '저장 및 완료', + type: { + email: '이메일 연동', + sms: 'SMS 연동', + social: '소셜 연동', + }, + setup_title: { + email: '이메일 연동 설정', + sms: 'SMS 연동 설정', + social: '소셜 연동 추가 및 설정', + }, + guide: { + subtitle: '단계별 가이드를 따라, 연동해주세요.', + }, + platform: { + universal: 'Universal', + web: 'Web', + native: 'Native', + }, + add_multi_platform: ' 다양한 플랫폼 지원, 플랫폼을 선택해주세요.', + drawer_title: '연동 가이드', + drawer_subtitle: '연동하기 위해 가이드를 따라주세요.', +}; + +export default connectors; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/contact.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/contact.ts new file mode 100644 index 000000000..b425afc87 --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/contact.ts @@ -0,0 +1,22 @@ +const contact = { + title: '연락처', + description: + '커뮤니티에 참여하여 피드백을 제공하고 도움을 요청하며 다른 개발자와 생각을 공유해보세요.', + discord: { + title: 'Discord 채널', + description: '공개 채널에 참여하여 다른 개발자와 채팅해보세요.', + button: '참가', + }, + github: { + title: 'GitHub', + description: 'GitHub에서 이슈를 생성해보세요.', + button: '열기', + }, + email: { + title: '이메일 보내기', + description: '추가 정보 및 도움말을 보려면 이메일을 보내주세요.', + button: '보내기', + }, +}; + +export default contact; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/dashboard.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/dashboard.ts new file mode 100644 index 000000000..58fa329da --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/dashboard.ts @@ -0,0 +1,18 @@ +const dashboard = { + title: '대시보드', + description: '앱 사용자에 대한 개요를 볼 수 있어요.', + total_users: '전체 사용자', + total_users_tip: '전체 사용자', + new_users_today: '새로운 사용자 (오늘)', + new_users_today_tip: '오늘 앱에 새로 가입한 사용자', + new_users_7_days: '새로운 사용자 (최근 7일)', + new_users_7_days_tip: '최근 7일 동안 앱에 새로 가입한 사용자', + daily_active_users: '활성화 사용자 (오늘)', + daily_active_users_tip: '오늘 앱을 통하여 Token을 가져간 사용자 수', + weekly_active_users: '활성화 사용자 (최근 7일)', + weekly_active_users_tip: '최근 7일 동안 앱을 통하여 Token을 가져간 사용자 수', + monthly_active_users: '활성화 사용자 (최근 30일)', + monthly_active_users_tip: '최근 30일 동안 앱을 통하여 Token을 가져간 사용자 수', +}; + +export default dashboard; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/errors.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/errors.ts new file mode 100644 index 000000000..7a7596b20 --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/errors.ts @@ -0,0 +1,21 @@ +const errors = { + something_went_wrong: '알 수 없는 오류가 발생했어요.', + page_not_found: '페이지를 찾을 수 없어요.', + unknown_server_error: '서버에서 알 수 없는 오류가 발생했어요.', + empty: '데이터 없음', + missing_total_number: 'Total-Number를 응답 해더에서 찾을 수 없어요.', + invalid_uri_format: 'URI 형식이 유효하지 않음', + invalid_origin_format: 'URI origin 형식이 유효하지 않음', + invalid_json_format: 'JSON 형식이 유효하지 않음', + invalid_error_message_format: '오류 메세지 형식이 유효하지 않아요.', + required_field_missing: '{{field}}을/를 입력해주세요.', + required_field_missing_plural: '최소 1개의 {{field}}을/를 입력해야해요.', + more_details: '자세히', + username_pattern_error: + '아이디는 반드시 문자, 숫자, _ 만으로 이루어져야 하며, 숫자로 시작하면 안되요.', + password_pattern_error: '비밀번호는 최소 6자리로 이루어져야해요.', + insecure_contexts: '비보안 연결(non-HTTPS)는 지원하지 않아요.', + unexpected_error: '알 수 없는 오류가 발생했어요.', +}; + +export default errors; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/general.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/general.ts new file mode 100644 index 000000000..7315b0030 --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/general.ts @@ -0,0 +1,40 @@ +const general = { + placeholder: '플레이스홀더', + skip: '건너뛰기', + next: '다음', + retry: '재시도', + done: '완료', + search: '검색', + search_placeholder: '검색', + clear_result: '결과 지우기', + save: '저장', + save_changes: '변경 내용 저장', + saved: '저장됨!', + loading: '로딩 중...', + redirecting: '리다이렉팅 중...', + add: '추가', + added: '추가됨', + cancel: '취소', + confirm: '확인', + check_out: '확인하기', + create: '생성', + set_up: '설정', + customize: '커스터마이즈', + enable: '활성화', + reminder: '리마인더', + delete: '삭제', + more_options: '더 많은 설정', + close: '닫기', + copy: '복사', + copying: '복사 중', + copied: '복사됨', + required: '필수', + add_another: '+ 새로 추가', + deletion_confirmation: '정말로 {{title}}을/를 삭제할까요?', + settings_nav: '설정', + unsaved_changes_warning: '수정된 내용이 있어요. 정말로 현재 페이지를 벗어날까요?', + leave_page: '페이지 나가기', + stay_on_page: '페이지 유지하기', +}; + +export default general; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/get-started.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/get-started.ts new file mode 100644 index 000000000..342c3768f --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/get-started.ts @@ -0,0 +1,25 @@ +const get_started = { + progress: '시작 가이드: {{completed}}/{{total}}', + progress_dropdown_title: '해야할 것들...', + title: 'Logto를 어떻게 시작할까요?', + subtitle_part1: 'Logto의 가치를 얻기 위해 해야할 것들이 있어요.', + subtitle_part2: '설정을 마칠게요 ', + hide_this: '가리기', + confirm_message: '정말로 이 페이지를 가릴까요? 이 행동은 취소할 수 없어요.', + card1_title: '체험해보기', + card1_subtitle: 'Logto 로그인 경험을 체험해보세요.', + card2_title: '첫 어플리케이션 생성 및 연동해보기', + card2_subtitle: '모바일 앱 및 Single Page, Tranditional 웹에 Logto 인증을 적용해보세요.', + card3_title: '로그인 경험 커스터마이징하기', + card3_subtitle: '로그인 화면을 브랜드에 맞게 커스터마이징 그리고 실시간으로 확인해보세요.', + card4_title: 'SMS/이메일 연동하기', + card4_subtitle: + 'SMS 또는 이메일을 통해 비밀번호가 없이, 그리고 더욱 안전한 로그인 경험을 사용자에게 제공해보세요.', + card5_title: '소셜 연동', + card5_subtitle: + '사용자의 소셜 정보를 통해 한 번의 클릭으로 로그인할 수 있는 경험을 사용자에게 제공해보세요.', + card6_title: '더욱 나아가서', + card6_subtitle: '복잡하지 않은 단계별 시나리오 문서를 확인해보세요.', +}; + +export default get_started; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/index.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/index.ts new file mode 100644 index 000000000..82dce9a5c --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/index.ts @@ -0,0 +1,52 @@ +import api_resource_details from './api-resource-details'; +import api_resources from './api-resources'; +import application_details from './application-details'; +import applications from './applications'; +import connector_details from './connector-details'; +import connectors from './connectors'; +import contact from './contact'; +import dashboard from './dashboard'; +import errors from './errors'; +import general from './general'; +import get_started from './get-started'; +import log_details from './log-details'; +import logs from './logs'; +import session_expired from './session-expired'; +import settings from './settings'; +import sign_in_exp from './sign-in-exp'; +import tab_sections from './tab-sections'; +import tabs from './tabs'; +import user_details from './user-details'; +import users from './users'; +import welcome from './welcome'; + +const admin_console = { + title: '관리자 Console', + sign_out: '로그아웃', + profile: '프로필', + admin_user: '관리자', + system_app: '시스템', + general, + errors, + tab_sections, + tabs, + applications, + application_details, + api_resources, + api_resource_details, + connectors, + connector_details, + get_started, + users, + user_details, + contact, + sign_in_exp, + settings, + dashboard, + logs, + log_details, + session_expired, + welcome, +}; + +export default admin_console; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/log-details.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/log-details.ts new file mode 100644 index 000000000..b03e6e8ad --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/log-details.ts @@ -0,0 +1,17 @@ +const log_details = { + back_to_logs: 'Audit 기록으로 돌아가기', + back_to_user: '{{name}}으로 돌아가기', + success: '성공', + failed: '실패', + event_type: '활동 종류', + application: '어플리케이션', + ip_address: 'IP 주소', + user: '사용자', + log_id: '기록 ID', + time: '시간', + user_agent: '사용자 Agent', + tab_details: '상세', + raw_data: '상세 데이터', +}; + +export default log_details; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/logs.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/logs.ts new file mode 100644 index 000000000..125c57caa --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/logs.ts @@ -0,0 +1,11 @@ +const logs = { + title: 'Audit 기록', + subtitle: '관리자나 사용자의 인증 기록을 확인해보세요.', + event: '활동', + user: '사용자', + application: '어플리케이션', + time: '시간', + filter_by: '필터', +}; + +export default logs; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/session-expired.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/session-expired.ts new file mode 100644 index 000000000..50c9ee278 --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/session-expired.ts @@ -0,0 +1,7 @@ +const session_expired = { + title: '세션 만료', + subtitle: '세션이 만료되었거나, 끊겼어요. 다시 로그인해주세요.', + button: '다시 로그인하기', +}; + +export default session_expired; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/settings.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/settings.ts new file mode 100644 index 000000000..4d00e0010 --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/settings.ts @@ -0,0 +1,25 @@ +const settings = { + title: '설정', + description: '전체 설정을 관리해보세요.', + tabs: { + general: '일반', + }, + custom_domain: '커스텀 도메인', + language: '언어', + appearance: '모습', + appearance_system: '시스템과 동기화', + appearance_light: '라이트 모드', + appearance_dark: '다크 모드', + saved: '저장되었어요!', + change_password: '비밀번호 변경', + change_password_description: '현재 계정의 비밀번호를 변경할 수 있어요.', + change_modal_title: '계정 비밀번호 변경', + change_modal_description: '새로 변경된 비밀번호로 로그인해야해요.', + new_password: '새로운 비밀번호', + new_password_placeholder: '새로운 비밀번호를 입력해주세요.', + confirm_password: '비밀번호 확인', + confirm_password_placeholder: '비밀번호를 다시 입력해주세요.', + password_changed: '비밀번호 변경되었어요!', +}; + +export default settings; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/sign-in-exp.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/sign-in-exp.ts new file mode 100644 index 000000000..ca080aa3e --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/sign-in-exp.ts @@ -0,0 +1,110 @@ +const sign_in_exp = { + title: '로그인 경험', + description: '로그인 화면을 브랜드에 맞게 커스터마이징 그리고 실시간으로 확인해보세요.', + tabs: { + branding: '브랜딩', + methods: '로그인 방법', + others: '기타', + }, + welcome: { + title: '가이드를 따라, 필수 설정을 빠르게 수정해보세요.', + get_started: '시작하기', + apply_remind: '이 계정이 관리하는 모든 앱의 로그인 경험이 수정되는 것을 주의해주세요.', + got_it: '네', + }, + color: { + title: '색상', + primary_color: '브랜드 색상', + dark_primary_color: '브랜드 색상 (다크 모드)', + dark_mode: '다크 모드 활성화', + dark_mode_description: 'Logto가 브랜드 색상에 알맞게 자동으로 다크 모드 테마를 생성해요.', + dark_mode_reset_tip: '브랜드 색상에 알맞게 다크 모드 색상 재생성', + reset: '재생성', + }, + branding: { + title: '브랜딩 영역', + ui_style: '스타일', + styles: { + logo_slogan: '앱 로고 & 슬로건', + logo: '앱 로고만', + }, + logo_image_url: '앱 로고 이미지 URL', + logo_image_url_placeholder: 'https://your.cdn.domain/logo.png', + dark_logo_image_url: '앱 로고 이미지 URL (다크 모드)', + dark_logo_image_url_placeholder: 'https://your.cdn.domain/logo-dark.png', + slogan: '슬로건', + slogan_placeholder: 'Unleash your creativity', + }, + terms_of_use: { + title: '이용 약관', + enable: '이용 약관 활성화', + description: '서비스 사용을 위한 이용 약관을 추가해보세요.', + terms_of_use: '이용 약관', + terms_of_use_placeholder: 'https://your.terms.of.use/', + terms_of_use_tip: '이용 약관 URL', + }, + sign_in_methods: { + title: '로그인 방법', + primary: '메인 로그인 방법', + enable_secondary: '백업 로그인 방법 활성화', + enable_secondary_description: + '백업 로그인 활성화를 통하여 메인 로그인 방법이외의 로그인 방법을 사용자에게 제공해보세요.', + methods: '로그인 방법', + methods_sms: 'SMS 로그인', + methods_email: '이메일 로그인', + methods_social: '소셜 로그인', + methods_username: '사용자 이름&비밀번호 로그인', + methods_primary_tag: '(메인)', + define_social_methods: '소셜 로그인 방법 설정', + transfer: { + title: '소셜 연동', + footer: { + not_in_list: '리스트에 없나요?', + set_up_more: '더 설정하기', + go_to: '를 눌러 설정하러 가기', + }, + }, + }, + others: { + languages: { + title: '언어', + mode: '언어 모드', + auto: '자동', + fixed: '고정', + fallback_language: '백업 언어', + fallback_language_tip: '적절한 언어를 찾을 수 없을 때 백업 언어를 사용해요.', + fixed_language: '언어 고정', + }, + }, + setup_warning: { + no_connector: '', + no_connector_sms: + 'SMS 연동이 아직 설정되지 않았어요. 설정이 완료될 때 까지, 사용자는 이 로그인 방법을 사용할 수 없어요.', + no_connector_email: + '이메일 연동이 아직 설정되지 않았어요. 설정이 완료될 때 까지, 사용자는 이 로그인 방법을 사용할 수 없어요.', + no_connector_social: + '소셜 연동이 아직 설정되지 않았어요. 설정이 완료될 때 까지, 사용자는 이 로그인 방법을 사용할 수 없어요.', + no_added_social_connector: + '보다 많은 소셜 연동들을 설정하여, 고객에게 보다 나은 경험을 제공해보세요.', + }, + save_alert: { + description: + '로그인 방법이 수정되었어요. 일부 사용자에게 영향을 미칠 수 있어요. 정말로 진행할까요?', + before: '이전', + after: '이후', + }, + preview: { + title: '로그인 화면 미리보기', + languages: { + english: '영어', + chinese: '중국어', + }, + dark: '다크', + light: '라이트', + native: 'Native', + desktop_web: 'Desktop 웹', + mobile_web: 'Mobile 웹', + }, +}; + +export default sign_in_exp; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/tab-sections.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/tab-sections.ts new file mode 100644 index 000000000..b4da20459 --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/tab-sections.ts @@ -0,0 +1,8 @@ +const tab_sections = { + overview: '살펴보기', + resource_management: 'Resource 관리', + user_management: '사용자 관리', + help_and_support: '고객센터', +}; + +export default tab_sections; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/tabs.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/tabs.ts new file mode 100644 index 000000000..390d9b7f2 --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/tabs.ts @@ -0,0 +1,15 @@ +const tabs = { + get_started: '시작하기', + dashboard: '대시보드', + applications: '어플리케이션', + api_resources: 'API 리소스', + sign_in_experience: '로그인 경험', + connectors: '연동', + users: '사용자 관리', + audit_logs: 'Audit 기록', + docs: '문서', + contact_us: '연락처', + settings: '설정', +}; + +export default tabs; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/user-details.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/user-details.ts new file mode 100644 index 000000000..50b357da5 --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/user-details.ts @@ -0,0 +1,38 @@ +const user_details = { + back_to_users: '사용자 관리로 돌아가기', + created_title: '새로운 사용자가 생성되었어요.', + created_guide: '생성된 정보를 해당 사용자에게 알려주세요.', + created_username: '사용자 이름:', + created_password: '비밀번호:', + menu_delete: '삭제', + delete_description: '이 사용자를 영원히 삭제할까요? 이 행동은 취소될 수 없어요.', + deleted: '해당 사용자가 성공적으로 삭제되었어요.', + reset_password: { + reset_password: '비밀번호 초기화', + title: '정말로 비밀번호를 초기화 할까요?', + content: '정말로 비밀번호를 초기화 할까요? 이 행동은 취소될 수 없어요.', + congratulations: '해당 사용자의 비밀번호가 성공적으로 초기화 되었어요.', + new_password: '새로운 비밀번호:', + }, + tab_logs: '사용자 기록', + field_email: '메인 이메일', + field_phone: '메인 휴대전화번호', + field_username: '사용자 이름', + field_name: '이름', + field_avatar: '아바타 이미지 URL', + field_avatar_placeholder: 'https://your.cdn.domain/avatar.png', + field_custom_data: '사용자 정의 데이터', + field_custom_data_tip: + '사용자 정의 색상 및 언어와 같은 미리 정의되지 않은 추가적인 사용자의 정보를 의미해요.', + field_connectors: '연동된 소셜', + custom_data_invalid: '사용자 정의 데이터는 반드시 유효한 JSON 객체여야 해요.', + connectors: { + connectors: '연동', + user_id: '사용자 ID', + remove: '삭제', + not_connected: '이 사용자는 아직 소셜에 연동되지 않았아요.', + deletion_confirmation: ' 신원을 삭제하려고 해요. 정말로 진행할까요?', + }, +}; + +export default user_details; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/users.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/users.ts new file mode 100644 index 000000000..cdc1df6f7 --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/users.ts @@ -0,0 +1,14 @@ +const users = { + title: '사용자 관리', + subtitle: '사용자의 신원을 추가, 삭제, 수정, 조회하여 관리해보세요.', + create: '사용자 추가', + user_name: '사용자', + application_name: '어플리케이션으로 부터', + latest_sign_in: '최근 로그인 시각', + create_form_username: '사용자 이름', + create_form_password: '비밀번호', + create_form_name: '이름', + unnamed: '이름없음', +}; + +export default users; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/welcome.ts b/packages/phrases/src/locales/ko-kr/translation/admin-console/welcome.ts new file mode 100644 index 000000000..7ad093db8 --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/admin-console/welcome.ts @@ -0,0 +1,8 @@ +const welcome = { + title: '관리자 콘솔에 오신 것을 환영해요', + description: + '관리자 콘솔를 통해 프로그래밍 없이 Logto를 관리할 수 있어요. 새로 계정을 생성하고, Logto를 당신의 회사에 알맞게 수정해보세요.', + create_account: '계정 생성', +}; + +export default welcome; diff --git a/packages/phrases/src/locales/ko-kr/translation/demo-app.ts b/packages/phrases/src/locales/ko-kr/translation/demo-app.ts new file mode 100644 index 000000000..7425b90d5 --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/demo-app.ts @@ -0,0 +1,14 @@ +const demo_app = { + notification: '체험 App에 로그인 하기 위해 관리자 정보 또는 게정을 새로 생성하여 로그인해보세요.', + title: '성공적으로 체험 App에 로그인되었어요!', + subtitle: '여기 로그인 정보가 있어요:', + username: '사용자 이름: ', + user_id: '사용자 ID: ', + sign_out: '체험 App 로그아웃', + continue_explore: '또는 계속해서 살펴보기', + customize_sign_in_experience: '로그인 경험 커스터마이징', + enable_passwordless: 'Passwordless 활성화', + add_social_connector: '소셜 Connector 추가', +}; + +export default demo_app; diff --git a/packages/phrases/src/locales/ko-kr/translation/index.ts b/packages/phrases/src/locales/ko-kr/translation/index.ts new file mode 100644 index 000000000..4d123d04e --- /dev/null +++ b/packages/phrases/src/locales/ko-kr/translation/index.ts @@ -0,0 +1,9 @@ +import admin_console from './admin-console'; +import demo_app from './demo-app'; + +const translation = { + admin_console, + demo_app, +}; + +export default translation; diff --git a/packages/phrases/src/types.ts b/packages/phrases/src/types.ts index 386762853..8c5ef221d 100644 --- a/packages/phrases/src/types.ts +++ b/packages/phrases/src/types.ts @@ -14,6 +14,7 @@ export enum Language { English = 'en', Chinese = 'zh-CN', Turkish = 'tr-TR', + Korean = 'ko-KR', } export const languageEnumGuard = z.nativeEnum(Language); @@ -22,6 +23,7 @@ export const languageOptions = [ { value: Language.English, title: 'English' }, { value: Language.Chinese, title: '中文' }, { value: Language.Turkish, title: 'Türkçe' }, + { value: Language.Korean, title: '한국어' }, ]; /* eslint-enable @typescript-eslint/consistent-indexed-object-style */ diff --git a/packages/ui/src/__mocks__/logto.tsx b/packages/ui/src/__mocks__/logto.tsx index 47e333c0c..a08f62b33 100644 --- a/packages/ui/src/__mocks__/logto.tsx +++ b/packages/ui/src/__mocks__/logto.tsx @@ -24,11 +24,13 @@ export const socialConnectors = [ en: 'Sign in with GitHub', 'zh-CN': '使用 GitHub 登录', 'tr-TR': 'Github ile giriş yap', + 'ko-KR': 'Github 로그인', }, description: { en: 'Sign in with GitHub', 'zh-CN': '使用 GitHub 登录', 'tr-TR': 'Github ile giriş yap', + 'ko-KR': 'Github 로그인', }, readme: '', configTemplate: '', @@ -44,11 +46,13 @@ export const socialConnectors = [ en: 'Sign in with Alipay', 'zh-CN': '使用 Alipay 登录', 'tr-TR': 'Alipay ile giriş yap', + 'ko-KR': 'Alipay 로그인', }, description: { en: 'Sign in with Alipay', 'zh-CN': '使用 Alipay 登录', 'tr-TR': 'Alipay ile giriş yap', + 'ko-KR': 'Alipay 로그인', }, readme: '', configTemplate: '', @@ -64,11 +68,13 @@ export const socialConnectors = [ en: 'Sign in with WeChat', 'zh-CN': '使用 WeChat 登录', 'tr-TR': 'WeChat ile giriş yap', + 'ko-KR': 'WeChat 로그인', }, description: { en: 'Sign in with WeChat', 'zh-CN': '使用 WeChat 登录', 'tr-TR': 'WeChat ile giriş yap', + 'ko-KR': 'WeChat 로그인', }, readme: '', configTemplate: '', @@ -84,11 +90,13 @@ export const socialConnectors = [ en: 'Sign in with Google', 'zh-CN': '使用 Google 登录', 'tr-TR': 'Google ile giriş yap', + 'ko-KR': 'Google 로그인', }, description: { en: 'Sign in with Google', 'zh-CN': '使用 Google 登录', 'tr-TR': 'Google ile giriş yap', + 'ko-KR': 'Google 로그인', }, readme: '', configTemplate: '', @@ -104,11 +112,13 @@ export const socialConnectors = [ en: 'Sign in with Meta', 'zh-CN': '使用 Meta 登录', 'tr-TR': 'Meta ile giriş yap', + 'ko-KR': 'Meta 로그인', }, description: { en: 'Sign in with Meta', 'zh-CN': '使用 Meta 登录', 'tr-TR': 'Meta ile giriş yap', + 'ko-KR': 'Meta 로그인', }, readme: '', configTemplate: '', @@ -126,11 +136,13 @@ export const mockSocialConnectorData = { en: 'Sign in with Xxx', 'zh-CN': '使用 Xxx 登录', 'tr-TR': 'Xxx ile giriş yap', + 'ko-KR': 'Xxx 로그인', }, description: { en: 'Sign in with Xxx', 'zh-CN': '使用 Xxx 登录', 'tr-TR': 'Xxx ile giriş yap', + 'ko-KR': 'Xxx 로그인', }, readme: '', configTemplate: '',