前端国际化最佳实践:使用 i18next 实现多语言支持
常见误区
前端国际化并非仅适用于大公司。
- "我的网站只面向国内用户,要什么国际化"——业务拓展到海外时临时抱佛脚。
- "我直接用中文写死,多简单"——需要支持英文时满世界找字符串。
- "我用 Google 翻译,多快"——翻译质量差,影响用户体验。
国际化是现代前端开发的标配。
为什么需要国际化?
- 全球用户覆盖:吸引不同国家和地区的用户。
- 业务拓展:为未来海外业务做准备。
- 用户体验:让用户使用自己熟悉的语言。
- 品牌形象:展现专业、全球化的品牌形象。
- 合规要求:满足某些国家的语言法规要求。
反面教材
// 反面教材:硬编码字符串
function Header() {
return (
<div className="header">
<h1>欢迎来到我的网站</h1>
<nav>
<a href="/">首页</a>
<a href="/about">关于我们</a>
<a href="/contact">联系我们</a>
</nav>
</div>
);
}
// 反面教材:手动切换语言
function App() {
const [language, setLanguage] = ();
= () => {
texts = {
: { : , : , : },
: { : , : , : }
};
texts[language][key];
};
(
);
}

