前端国际化实现指南
为什么需要国际化
在开发多语言应用时,将文本硬编码在代码中会导致后期维护困难且无法灵活扩展。例如,若所有文本均为中文,切换至英文时需重构大量逻辑。
常见错误示例
// 反面教材:硬编码文本
function LoginForm() {
return (
<form>
<h1>登录</h1>
<input placeholder="请输入邮箱" />
<input placeholder="请输入密码" type="password" />
<button>登录</button>
<p>还没有账号?<a href="/register">立即注册</a></p>
</form>
);
}
硬编码中文不仅限制了用户群体,也增加了后续本地化的工作量。
主流解决方案
1. 使用 i18next
适用于 React 项目。
// i18n/index.js
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import zh from './locales/zh.json';
en ;
i18n
.(initReactI18next)
.({
: {
: { : zh },
: { : en }
},
: ,
: ,
: { : }
});
i18n;


