From 298d1bdc7b92b93bb06b1a3558452ce4c2cc1b69 Mon Sep 17 00:00:00 2001 From: feie9454 Date: Tue, 22 Jul 2025 16:51:20 +0800 Subject: [PATCH] 0722-editor-ja-lang --- index.html | 2 +- src/App.vue | 49 ++++++++++++------ src/assets/imgs/home/button_ja.png | Bin 0 -> 58005 bytes src/assets/imgs/home/button_ko.png | Bin 0 -> 33057 bytes src/assets/imgs/home/button_zhtw.png | Bin 0 -> 46964 bytes src/assets/imgs/home/intro_ja.png | Bin 0 -> 170971 bytes src/assets/imgs/home/intro_ko.png | Bin 0 -> 77812 bytes src/assets/imgs/home/intro_zhtw.png | Bin 0 -> 143932 bytes src/assets/imgs/home/title_ja.png | Bin 0 -> 113662 bytes src/assets/imgs/home/title_ko.png | Bin 0 -> 73535 bytes src/assets/imgs/home/title_zhtw.png | Bin 0 -> 78469 bytes src/assets/imgs/personalInfo/submit_ja.png | Bin 0 -> 19989 bytes src/assets/imgs/personalInfo/submit_zhtw.png | Bin 0 -> 23054 bytes src/assets/imgs/report/bottom-right_ja.png | Bin 0 -> 12985 bytes src/assets/imgs/report/bottom-right_ko.png | Bin 0 -> 9587 bytes src/assets/imgs/report/bottom-right_zhtw.png | Bin 0 -> 8946 bytes src/assets/imgs/report/bottom_en.png | Bin 9315 -> 19000 bytes src/assets/imgs/report/bottom_ja.png | Bin 0 -> 19000 bytes src/assets/imgs/report/bottom_ko.png | Bin 0 -> 19000 bytes src/assets/imgs/report/bottom_zh.png | Bin 10557 -> 20311 bytes src/assets/imgs/report/bottom_zhtw.png | Bin 0 -> 20311 bytes src/assets/imgs/report/top.png | Bin 4688 -> 3513 bytes .../imgs/result/rating-explanation_ja.png | Bin 0 -> 639342 bytes .../imgs/result/rating-explanation_ko.png | Bin 0 -> 489947 bytes .../imgs/result/rating-explanation_zhtw.png | Bin 0 -> 614930 bytes src/assets/imgs/result/slide-up-notice_ja.png | Bin 0 -> 34878 bytes src/assets/imgs/result/slide-up-notice_ko.png | Bin 0 -> 31467 bytes .../imgs/result/slide-up-notice_zhtw.png | Bin 0 -> 18550 bytes src/assets/imgs/switch-lang_en.png | Bin 1083 -> 0 bytes src/assets/imgs/switch-lang_zh.png | Bin 1313 -> 0 bytes src/components/Tags.vue | 6 ++- src/locates/index.ts | 28 ++++++---- src/main.ts | 4 ++ src/utils.ts | 15 ++++++ src/views/Game.vue | 6 +-- src/views/Home.vue | 6 +-- src/views/PersonalInfo.vue | 6 +++ src/views/Report.vue | 20 ++++--- src/views/ReportMask.vue | 12 ++++- src/views/Result.vue | 34 +++++++++--- 40 files changed, 139 insertions(+), 49 deletions(-) create mode 100644 src/assets/imgs/home/button_ja.png create mode 100644 src/assets/imgs/home/button_ko.png create mode 100644 src/assets/imgs/home/button_zhtw.png create mode 100644 src/assets/imgs/home/intro_ja.png create mode 100644 src/assets/imgs/home/intro_ko.png create mode 100644 src/assets/imgs/home/intro_zhtw.png create mode 100644 src/assets/imgs/home/title_ja.png create mode 100644 src/assets/imgs/home/title_ko.png create mode 100644 src/assets/imgs/home/title_zhtw.png create mode 100644 src/assets/imgs/personalInfo/submit_ja.png create mode 100644 src/assets/imgs/personalInfo/submit_zhtw.png create mode 100644 src/assets/imgs/report/bottom-right_ja.png create mode 100644 src/assets/imgs/report/bottom-right_ko.png create mode 100644 src/assets/imgs/report/bottom-right_zhtw.png create mode 100644 src/assets/imgs/report/bottom_ja.png create mode 100644 src/assets/imgs/report/bottom_ko.png create mode 100644 src/assets/imgs/report/bottom_zhtw.png create mode 100644 src/assets/imgs/result/rating-explanation_ja.png create mode 100644 src/assets/imgs/result/rating-explanation_ko.png create mode 100644 src/assets/imgs/result/rating-explanation_zhtw.png create mode 100644 src/assets/imgs/result/slide-up-notice_ja.png create mode 100644 src/assets/imgs/result/slide-up-notice_ko.png create mode 100644 src/assets/imgs/result/slide-up-notice_zhtw.png delete mode 100644 src/assets/imgs/switch-lang_en.png delete mode 100644 src/assets/imgs/switch-lang_zh.png diff --git a/index.html b/index.html index 80a2f82..38fde13 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,5 @@ - + diff --git a/src/App.vue b/src/App.vue index 3914481..ec92ba7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,9 +5,10 @@ import imgs from './assets/imgs' import { DimensionColors, DimensionName, findAllTraitByDimension, getRandomDimensionRating, getRandomTraitRating, TraitName } from './config'; import Game from './views/Game.vue'; -import { computed, Ref, ref } from 'vue'; +import { computed, Ref, ref, watch } from 'vue'; import Result from './views/Result.vue'; - +import { useI18n } from 'vue-i18n' +import { setHtmlLang } from './utils' const pIndex = ref(0) const result: Ref> = ref(getRandomDimensionRating()) @@ -30,10 +31,16 @@ function finishGame(r: Record, t: Record({ useScope: 'global' }) + +// 监听locale变化,同步更新HTML lang属性 +watch(locale, (newLocale) => { + setHtmlLang(newLocale) +}, { immediate: true }) const GraphDimensions = computed(() => { const average = Object.values(result.value).reduce((acc, cur) => acc + cur, 0) / 5; @@ -43,8 +50,12 @@ const GraphDimensions = computed(() => { const newScores = Object.entries(result.value).map(([dimName, score]) => { const mean = average const newScore = Math.max(8, score + sign(score - mean) * Math.abs(score - mean) ** p) + + const currentLang = lang[locale.value as keyof typeof lang] ?? lang.en + return { - name_zh: lang.zh_CN.questionData.DimensionName[dimName as DimensionName], + + name_zh: currentLang.questionData.DimensionName[dimName as DimensionName], name_en: lang.en.questionData.DimensionName[dimName as DimensionName], value: newScore, color: DimensionColors[dimName as DimensionName], @@ -85,7 +96,7 @@ const topFiveTraits = computed(() => { const gender = ref('_gender_') -const username = ref('_username_') +const username = ref('_userna_') const age = ref(0) function submitUserInfo(data: { gender: string, username: string, age: number }) { @@ -95,18 +106,24 @@ function submitUserInfo(data: { gender: string, username: string, age: number }) pIndex.value = 3 } -const showDebug = ref(1) +const showDebug = ref(-5)