Fiori学习笔记 - i18n多语言

SAP UI5 作为一个国际化的开发框架,支持不同语言、语种也是十分重要的。多语言在SAP UI5框架中,定义是比较完善的,可以在view上直接绑定,也可以在controller里获取调用,使用起来也是很方便的。

多语言,即 i18n。i18n: 国际化简称,internationalization, 取首末字母: ‘i’, ‘n’,中间一共18个字符。

多语言文件结构如下:
Fiori学习笔记 - i18n多语言_第1张图片

i18n.properties: 是多语言默认文件,在多语言文件中没有成功匹配当前语言的时候,就会读取这个文件

定义在Component.js或者描述文件中,下面代码是在Component.js定义多语言。

var i18nModel = new sap.ui.model.resource.ResourceModel({
    bundleUrl : [oRootPath, "i18n/i18n.properties"].join("/")
});

sap.ui.getCore().setModel(i18nModel, "i18n"); //set model之后,在工程view、控制器中就可以使用了
}

sap.ui.model.resource.ResourceModel: 专门读取资源文件的
bundleUrl: 指定bundleUrl去读取i18n.properties,指定一个默认的即可。它会根据当前浏览器的语言版本去读取相应的语言文件。

定义使用多语言

i18n
在多语言文件中,是以 key 和 value 的形式定义是使用的。

title=Title Name
myButton=Button Name

view

<Page title="{i18n>title}">
    <content>
        <Button text="{i18n>myButton}" press="getI18n">Button>
    content>
Page>

controller

onInit: function(){
    this.bundle = sap.ui.getCore().getModel("i18n").getResourceBundle();
},
getI18n:function(){
    //在controller里调用多语言文件
    console.log(this.bundle.getText('myButton'));
}

运行效果如下图:

Fiori学习笔记 - i18n多语言_第2张图片

你可能感兴趣的:(Fiori,前端)