From c4aaffb707c22bc67796c3e1bb792358423f82ea Mon Sep 17 00:00:00 2001 From: Tristan Yang Date: Fri, 5 Jul 2024 05:11:16 +0800 Subject: [PATCH] feat: new lang --- public/locales/en/setting.json | 3 ++- src/routes/setting/Overview/Language.tsx | 15 ++++++++------- src/routes/setting/Overview/language.tsx | 15 ++++++++------- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/public/locales/en/setting.json b/public/locales/en/setting.json index 6722d2bb..c100f8b7 100644 --- a/public/locales/en/setting.json +++ b/public/locales/en/setting.json @@ -70,7 +70,8 @@ "tr": "Türkçe", "zh": "中文", "jp": "日本語", - "pt": "Portuguese" + "pt": "Portuguese", + "es": "Español" }, "theme": { "title": "Theme", diff --git a/src/routes/setting/Overview/Language.tsx b/src/routes/setting/Overview/Language.tsx index 933ec6cf..199072ae 100644 --- a/src/routes/setting/Overview/Language.tsx +++ b/src/routes/setting/Overview/Language.tsx @@ -5,10 +5,11 @@ import SettingBlock from "@/components/SettingBlock"; import StyledRadio from "@/components/styled/Radio"; // type Props = {} - +type LanguageType = "en" | "zh" | "jp" | "tr" | "pt" | "es"; +const Langs: LanguageType[] = ["en", "zh", "jp", "tr", "pt", "es"]; const Index = () => { const { t, i18n } = useTranslation("setting"); - const handleGuestToggle = (v: "zh" | "en") => { + const handleGuestToggle = (v: LanguageType) => { i18n.changeLanguage(v); }; return ( @@ -19,14 +20,14 @@ const Index = () => { t("overview.lang.zh"), t("overview.lang.jp"), t("overview.lang.tr"), - t("overview.lang.pt") + t("overview.lang.pt"), + t("overview.lang.es") ]} - values={["en", "zh", "jp", "tr", "pt"]} + values={Langs} value={i18n.language.split("-")[0]} onChange={(v) => { - console.log("wtff", v); - - handleGuestToggle(v); + const _v = v as LanguageType; + handleGuestToggle(_v); }} /> diff --git a/src/routes/setting/Overview/language.tsx b/src/routes/setting/Overview/language.tsx index 933ec6cf..199072ae 100644 --- a/src/routes/setting/Overview/language.tsx +++ b/src/routes/setting/Overview/language.tsx @@ -5,10 +5,11 @@ import SettingBlock from "@/components/SettingBlock"; import StyledRadio from "@/components/styled/Radio"; // type Props = {} - +type LanguageType = "en" | "zh" | "jp" | "tr" | "pt" | "es"; +const Langs: LanguageType[] = ["en", "zh", "jp", "tr", "pt", "es"]; const Index = () => { const { t, i18n } = useTranslation("setting"); - const handleGuestToggle = (v: "zh" | "en") => { + const handleGuestToggle = (v: LanguageType) => { i18n.changeLanguage(v); }; return ( @@ -19,14 +20,14 @@ const Index = () => { t("overview.lang.zh"), t("overview.lang.jp"), t("overview.lang.tr"), - t("overview.lang.pt") + t("overview.lang.pt"), + t("overview.lang.es") ]} - values={["en", "zh", "jp", "tr", "pt"]} + values={Langs} value={i18n.language.split("-")[0]} onChange={(v) => { - console.log("wtff", v); - - handleGuestToggle(v); + const _v = v as LanguageType; + handleGuestToggle(_v); }} />