前端国际化实现指南
引言
各位前端同行,今天聊聊前端国际化。如果应用只支持中文,就像只卖一种口味的冰淇淋——单调且限制了市场。
为什么需要国际化
最近看到一个项目,所有文本都硬编码在代码里,要支持英文时束手无策。这相当于在开发中文专用软件而非通用应用。
反面教材
// 反面教材:硬编码文本
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 ;
en ;
i18n
.(initReactI18next)
.({
: {
: { : zh },
: { : en }
},
: ,
: ,
: { : }
});
i18n;


