npm i --save tns-i18n
- 版本:0.0.10
- GitHub:
- NPM: https://npmjs.net.cn/package/tns-i18n
- 下载
- 昨日:0
- 上周:0
- 上月:0
tns-i18n
这是一个实现国际化简单的 Nativescript 插件。
它将 _L
函数添加到全局变量和 XML 文件中,您可以在应用程序的任何位置使用它。
它受到 nativescript-i18n 的启发,它们之间的唯一区别是,使用此插件 您不需要每次更改后重新构建应用程序,因此您可以继续平滑地观看应用程序。
该模块检测首选用户语言,并在应用程序处理该语言的情况下显示该语言中的文本,如果没有处理,它将加载您选择的默认语言的文本。
喜欢视频吗?
这是一个关于此插件的简短 视频教程。
安装
tns plugin add tns-i18n
用法
导入
在 app.js 中导入模块,在其他任何内容之前
您必须提及默认语言代码
require('tns-i18n')('en'); // We set 'en' as default language
var application = require("application");
application.start({ moduleName: "./home" });
创建区域设置
现在,在 app 文件夹中创建一个 i18n 文件夹。
app
|___ i18n
|___ en.js
|___ ar.js
.
.
.
.
.
.
必须导出在文件中
包含字符串的文件必须导出一个字符串的对象。
例如:en.js
module.exports = {
greetings: 'Hello %s',
bye: 'Nice to meet you %s, see you in %s days'
};
加载字符串
XML
在 XML 文件中
<Label text="{{_L('greetings')}}"></Label>
JS
_L("greetings")
替换
该模块支持替换 %s
。
例如
<Label text="{{_L('greetings', 'My friend')}}"></Label>
<!-- Will give: Hello My friend -->
多替换
对于多替换,您可以使用数组,分隔参数或两者都使用。
例如
<Label text="{{_L('bye', 'My friend', '5')}}"></Label>
<!-- Will give: Nice to meet you My friend, see you in 5 days -->
或者
<Label text="{{_L('bye', ['My friend', '5'])}}"></Label>
<!-- Will give: Nice to meet you My friend, see you in 5 days -->