AwsLinker/lib/i18n.ts
2025-09-16 17:19:58 +08:00

68 lines
2.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

'use client';
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
// 导入翻译文件
import commonZhCN from '@/translations/common/zh-CN.json';
import commonZhTW from '@/translations/common/zh-TW.json';
import commonEn from '@/translations/common/en.json';
import newsZhCN from '@/translations/news/zh-CN.json';
import newsZhTW from '@/translations/news/zh-TW.json';
import newsEn from '@/translations/news/en.json';
import articleZhCN from '@/translations/article/zh-CN.json';
import articleZhTW from '@/translations/article/zh-TW.json';
import articleEn from '@/translations/article/en.json';
import consultationZhCN from '@/translations/consultation/zh-CN.json';
import consultationZhTW from '@/translations/consultation/zh-TW.json';
import consultationEn from '@/translations/consultation/en.json';
import contactZhCN from '@/translations/contact/zh-CN.json';
import contactZhTW from '@/translations/contact/zh-TW.json';
import contactEn from '@/translations/contact/en.json';
// 配置 i18next
const i18nInstance = i18n.createInstance();
i18nInstance
.use(initReactI18next)
.init({
resources: {
'zh-CN': {
common: commonZhCN,
news: newsZhCN,
article: articleZhCN,
consultation: consultationZhCN,
contact: contactZhCN,
},
'zh-TW': {
common: commonZhTW,
news: newsZhTW,
article: articleZhTW,
consultation: consultationZhTW,
contact: contactZhTW,
},
'en': {
common: commonEn,
news: newsEn,
article: articleEn,
consultation: consultationEn,
contact: contactEn,
},
},
lng: 'zh-CN', // 默认语言
fallbackLng: 'zh-CN', // 回退语言
ns: ['common', 'news', 'article', 'consultation', 'contact'], // 命名空间
defaultNS: 'common',
interpolation: {
escapeValue: false, // React 已经处理了 XSS
},
react: {
useSuspense: false, // 禁用 Suspense避免客户端水合问题
},
});
export default i18nInstance;