前端国际化实现方案
常见误区
国际化并非简单的文本替换。不同语言的语法结构差异可能导致直接替换出现错误。常见的误区包括:
- 硬编码文本:难以维护和翻译。
- 简单文本替换:无法处理复杂的翻译场景。
- 忽略复数形式:在不同语言中可能不正确。
- 忽略日期和时间格式:在不同地区可能显示错误。
- 忽略货币格式:在不同国家可能显示错误。
反面示例代码:
// 硬编码文本
function Welcome() {
return <h1>Welcome to our app!</h1>;
}
// 简单文本替换
const translations = {
en: { welcome: 'Welcome to our app!', login: 'Login', register: 'Register' },
zh: { welcome: '欢迎使用我们的应用!', login: '登录', register: '注册' }
};
function Welcome() {
const lang = 'zh';
return <h1>{translations[lang].welcome}</h1>;
}
正确的做法
使用 i18next
-
安装依赖
npm install i18next react-i18next -
配置
i18n ; { initReactI18next } ; resources = { : { : { : , : , : } }, : { : { : , : , : } } }; i18n .(initReactI18next) .({ resources, : , : , : { : } }); i18n;

