ReactJS 使用 react-i18next 实现国际化

ReactJS 使用 react-i18next 实现国际化
最新回答
紫南

2024-01-01 16:19:15

通过安装依赖包react-i18next和i18next,项目中创建I18N资源文件夹locales。在src下编写i18n.js文件,引入并集成在程序入口(index.js)。

在locales文件夹下的资源文件中,根据需要编写翻译资源,如在一级中编写翻译资源或使用多级json对象格式进行编写。使用react-i18next组件的useTranslation中的t函数来解析获取翻译资源。

翻译资源支持多级json对象格式,获取时直接通过key获取,如t('operation_fail')。在大型项目中,推荐使用分层方案将不同模块的翻译资源归类到一个对象下,以便更易于查找和使用。

编写资源文件,通过t函数获取翻译资源。支持包含变量的字符串,实现更灵活的国际化翻译。

通过使用useTranslation中的i18n对象的changeLanguage函数来切换国际化语言。实现简单的UI界面处理语言切换,点击对应语言时,调用i18n.changeLanguage('zh')切换语言,并将上次设置的语言保存在localStorage中,确保下一次打开站点时,能够获取到上次设置的语言。