react-native - 离线使用 i18next 进行本机反应
问题描述
我们正在构建一个 React Native 应用程序,我们的客户希望我将其翻译成其他语言。
我们的计划是使用 i18next 无论如何我们都必须保持离线... 我可以离线使用 i18next 来进行原生反应吗?
谢谢,维涅什
解决方案
是的,您可以,实际上您可以将所有翻译文件与代码“捆绑”在一起。这样,您将不会有任何 http 请求。
import i18next from 'i18next';
import enTranslations from '../path/to/locales/en/translations.json';
import deTranslations from '../path/to/locales/de/translations.json';
i18next.init({
lng: 'en',
debug: true,
resources: {
en: {
translation: enTranslations // <---- your english translations
},
de: {
translation: deTranslations
}
}
}, function(err, t) {
// initialized and ready to go!
document.getElementById('output').innerHTML = i18next.t('key');
});
对于更高级的解决方案,您可以围绕react-native-fs编写一个 i18next 后端,它应该类似于i18next-fs-backend。(我自己没有尝试过这个选项)
推荐阅读
- javascript - Highcharts 图案填充如何使形状靠得更近?
- mysql - mysql在使用group by时按一个字段选择最大行
- php - PHP 和 MySQL 数据库搜索 - 从 php 代码中删除数据库凭据
- javascript - ES6 - 动态类扩展和 instanceof
- python - 在 Pyside 2 中将 SVG 显示为 QMainWindow 的背景
- c++ - C ++:使用关键字运算符重载成员的构造函数
- python - 如何在 Python 中使用 Django 让 html/css 框架更快?
- hadoop - 为什么 HDFS ACL max_entries 设置为 32?
- python - 累积税收计算器
- javascript - 如何根据组件类型过滤Vue中的子组件?