前端国际化实现指南:多语言支持方案
为什么需要国际化
最近看到一些项目,所有文本都硬编码在代码里,要支持英文时才发现架构问题。开发应用时应考虑全球市场,而非仅针对单一语言。
反面教材
// 反面教材:硬编码文本
function LoginForm() {
return (
<form>
<h1>登录</h1>
<input placeholder="请输入邮箱" />
<input placeholder="请输入密码" type="password" />
<button>登录</button>
<p>还没有账号?<a href="/register">立即注册</a></p>
</form>
);
}
代码分析:硬编码中文会导致海外用户无法理解界面,增加维护成本。
前端国际化的正确姿势
1. 使用 i18next
// i18n/index.js
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import zh from './locales/zh.json';
en ;
i18n
.(initReactI18next)
.({
: {
: { : zh },
: { : en }
},
: ,
: ,
: { : }
});
i18n;


