From e9785e824acbb296a290d8ff2497179d813b8765 Mon Sep 17 00:00:00 2001 From: Peter Dave Hello Date: Mon, 6 Mar 2023 13:49:19 +0000 Subject: [PATCH] Add Traditional Chinese language locale for UI --- src/components/common/Setting/General.vue | 1 + src/hooks/useLanguage.ts | 5 ++- src/locales/index.ts | 2 ++ src/locales/zh-TW.ts | 40 +++++++++++++++++++++++ src/store/modules/app/helper.ts | 2 +- 5 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 src/locales/zh-TW.ts diff --git a/src/components/common/Setting/General.vue b/src/components/common/Setting/General.vue index d37ed7e3e9..e29a8e9f03 100644 --- a/src/components/common/Setting/General.vue +++ b/src/components/common/Setting/General.vue @@ -57,6 +57,7 @@ const themeOptions: { label: string; key: Theme; icon: string }[] = [ const languageOptions: { label: string; key: Language; value: Language }[] = [ { label: '中文', key: 'zh-CN', value: 'zh-CN' }, + { label: '繁體中文', key: 'zh-TW', value: 'zh-TW' }, { label: 'English', key: 'en-US', value: 'en-US' }, ] diff --git a/src/hooks/useLanguage.ts b/src/hooks/useLanguage.ts index 13b8ce9f33..f015142232 100644 --- a/src/hooks/useLanguage.ts +++ b/src/hooks/useLanguage.ts @@ -1,5 +1,5 @@ import { computed } from 'vue' -import { enUS, zhCN } from 'naive-ui' +import { enUS, zhCN, zhTW } from 'naive-ui' import { useAppStore } from '@/store' import { setLocale } from '@/locales' @@ -14,6 +14,9 @@ export function useLanguage() { case 'zh-CN': setLocale('zh-CN') return zhCN + case 'zh-TW': + setLocale('zh-TW') + return zhTW default: setLocale('zh-CN') return enUS diff --git a/src/locales/index.ts b/src/locales/index.ts index 17d3b56817..d8a56991c4 100644 --- a/src/locales/index.ts +++ b/src/locales/index.ts @@ -2,6 +2,7 @@ import type { App } from 'vue' import { createI18n } from 'vue-i18n' import en from './en-US' import cn from './zh-CN' +import tw from './zh-TW' import { useAppStoreWithOut } from '@/store/modules/app' import type { Language } from '@/store/modules/app/helper' @@ -16,6 +17,7 @@ const i18n = createI18n({ messages: { 'en-US': en, 'zh-CN': cn, + 'zh-TW': tw, }, }) diff --git a/src/locales/zh-TW.ts b/src/locales/zh-TW.ts new file mode 100644 index 0000000000..e25af0a835 --- /dev/null +++ b/src/locales/zh-TW.ts @@ -0,0 +1,40 @@ +export default { + common: { + delete: '刪除', + save: '儲存', + reset: '重設', + yes: '是', + no: '否', + noData: '暫無資料', + wrong: '好像出錯了,請稍後再試。', + success: '操作成功', + failed: '操作失敗', + }, + chat: { + placeholder: '來講點什麼...(Shift + Enter = 換行)', + placeholderMobile: '來講點什麼...', + copy: '複製', + copied: '複製成功', + copyCode: '複製代碼', + clearChat: '清空對話', + clearChatConfirm: '是否清空對話?', + deleteMessage: '刪除訊息', + deleteMessageConfirm: '是否刪除此訊息?', + deleteHistoryConfirm: '確定刪除此紀錄?', + }, + setting: { + setting: '設定', + general: '總覽', + config: '配置', + avatarLink: '頭像連結', + name: '名稱', + description: '描述', + resetUserInfo: '重設使用者資訊', + theme: '主題', + language: '語言', + api: 'API', + reverseProxy: '反向代理', + timeout: '逾時', + socks: 'Socks', + }, +} diff --git a/src/store/modules/app/helper.ts b/src/store/modules/app/helper.ts index f94b6f6955..a15b07e2a5 100644 --- a/src/store/modules/app/helper.ts +++ b/src/store/modules/app/helper.ts @@ -4,7 +4,7 @@ const LOCAL_NAME = 'appSetting' export type Theme = 'light' | 'dark' | 'auto' -export type Language = 'zh-CN' | 'en-US' +export type Language = 'zh-CN' | 'zh-TW' | 'en-US' export interface AppState { siderCollapsed: boolean