fix: complete Chinese frontend localization

This commit is contained in:
2026-08-23 15:05:45 +08:00
parent 5a8a478386
commit 61123f708d
18 changed files with 721 additions and 163 deletions

View File

@@ -3,6 +3,7 @@ import { i18n } from "@lingui/core";
import type { Locale } from "~/locales";
import { defaultLocale } from "~/locales";
import { messages as enMessages } from "~/locales/en/messages";
import { messages as zhCNMessages } from "~/locales/zh-CN/messages";
const loadMessages = async (locale: Locale) => {
switch (locale) {
@@ -34,11 +35,15 @@ const loadMessages = async (locale: Locale) => {
let isInitialized = false;
const loadedLocales = new Set<string>();
export function initializeI18n(locale: Locale = defaultLocale) {
export function initializeI18n() {
if (!isInitialized) {
i18n.load(defaultLocale, enMessages);
// 首屏同步加载中英文,避免默认语言激活前出现中英混排。
i18n.load("en", enMessages);
i18n.load("zh-CN", zhCNMessages);
i18n.activate(defaultLocale);
loadedLocales.add(defaultLocale);
loadedLocales.add("en");
loadedLocales.add("zh-CN");
isInitialized = true;
}