前端国际化实战:i18next 与 react-intl 使用指南
为什么需要国际化
最近看到一个项目,想拓展海外市场,但所有文本都是硬编码在代码里的。这会导致应用难以维护且无法适配多语言环境。
硬编码问题示例
// 反面教材:硬编码文本
function App() {
return (
<div>
<h1>欢迎来到我的网站</h1>
<p>这是一个示例应用</p>
<button>点击我</button>
<div>
<h2>产品列表</h2>
<ul>
<li>产品 1</li>
<li>产品 2</li>
<li>产品 3</li>
</ul>
</div>
</div>
);
}
export default App;
这种写法就像在写日记,只有自己能看懂,不利于扩展和维护。
解决方案
1. i18next
// 配置
i18n ;
{ initReactI18next } ;
resources = {
: {
: {
: ,
: ,
: ,
: ,
: ,
: ,
:
}
},
: {
: {
: ,
: ,
: ,
: ,
: ,
: ,
:
}
}
};
i18n
.(initReactI18next)
.({
resources,
: ,
: ,
: {
:
}
});
i18n;

