From 16e4c304567591500123511aee1b8eb00f1bca57 Mon Sep 17 00:00:00 2001 From: rosercode Date: Fri, 18 Sep 2026 10:17:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=89=8D=E7=AB=AF=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=97=A5=E8=AF=AD=E5=A4=9A=E8=AF=AD=E8=A8=80=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - messages.ts 全量补充日文文案(です・ます 敬体),新增 locale.jaJP 语言名称 - index.ts 扩展 LocaleKey 与消息叶子校验,新增 ja-JP 语言包并支持浏览器 ja 自动识别 - LocaleSwitch 增加「日本語」切换项,App.vue 接入 Naive UI 日语组件与日期 locale --- frontend/src/App.vue | 17 +- frontend/src/components/LocaleSwitch.vue | 1 + frontend/src/locales/index.ts | 21 +- frontend/src/locales/messages.ts | 735 ++++++++++++----------- 4 files changed, 397 insertions(+), 377 deletions(-) diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 0ea0c47..674900f 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -4,14 +4,25 @@ import { computed } from 'vue' import { useI18n } from 'vue-i18n' import { NMessageProvider, NDialogProvider, NConfigProvider, - zhCN, dateZhCN, enUS, dateEnUS, + zhCN, dateZhCN, enUS, dateEnUS, jaJP, dateJaJP, } from 'naive-ui' +import type { LocaleKey } from './locales' const { locale } = useI18n() // Naive UI 组件语言与日期格式随当前语言切换 -const naiveLocale = computed(() => (locale.value === 'en-US' ? enUS : zhCN)) -const naiveDateLocale = computed(() => (locale.value === 'en-US' ? dateEnUS : dateZhCN)) +const naiveLocales: Record = { + 'zh-CN': zhCN, + 'en-US': enUS, + 'ja-JP': jaJP, +} +const naiveDateLocales: Record = { + 'zh-CN': dateZhCN, + 'en-US': dateEnUS, + 'ja-JP': dateJaJP, +} +const naiveLocale = computed(() => naiveLocales[locale.value as LocaleKey] ?? zhCN) +const naiveDateLocale = computed(() => naiveDateLocales[locale.value as LocaleKey] ?? dateZhCN)