国际化笔记
官方配置参考–>开发者中心-国际化配置
国际化配置有三种配置:
- 全局配置
- 页面配置
- 组件配置
优先级按最高排序是组件配置–>页面配置–>全局配置。
国际化配置之前要在index布局里面打开国际化配置:
在AWEBIDE里面,WEB配置下面的国际化配置,这里边配置的就是全局配置,他的层级性是最次的。页面配置的,组件配置都可以覆盖全局配置。
配置示例:
- 全局配置:
确定好需要配置的语言,然后 ↓:
需要配置的字符串,各种语言都翻译一遍
然后在需要代码中包裹一下
看着挺简单的,其实也不难,但是有时候就是很烦,一句话,可能只翻译前几个字,或者间隔的几个字,这样就很不友好,就像上图中一样,分开包裹,举例不好说明,只可意会,遇到这种情况就知道我现在说的是啥意思了。
像那种在整个项目里面出现频率很高的词汇,还有全局提示语句等,就直接在全局配置。需要注意的一点就是index布局的应用接口里面需要国际化的,最好先复制出来,做个备份,然后在改,不然肯定会哭的,因为代码经常会丢失,很惆怅。
还有一点就是,全局配置的话,如果想要编译后马上在页面上看见的话,需要每次都重启项目。
-
页面配置:
针对有些页面独有的词汇,需要在当前页面做下处理,直接在页面翻译就行,一般情况下,都是平台级组件已经做了国际化的包裹,直接在页面上配置就可以了,因为aweb写出来的页面,所有的都是组件,其实也是组件配置吧。
还有就是组件的一些事件,比如表格这种:
这种算是正经的页面配置。 -
组件配置:
组件配置需要在组件里边手动添加国际化,然后在页面模型的组件里边配置一下就可以,具体请参见文档顶部链接地址。
组件配置的国际化,翻译必须写在组件身上,不然是没有效果的。
需要注意一下的是,app.open()这个里面title翻译的国际化,都要配置在index的侧边栏菜单的国际化,这是专门做了拦截的,不是原本就是这么配置的。
项目里面的一些必填提示,也都是在组件上面配置的,然后需要找到翻译的字符串包裹一下,有组件ID的,写上组件的ID,没有的就写underfine,这里不是直接这么翻译的,是经过处理了的,具体做了什么处理,我也不清楚,我只知道这么配:
该文档配置的都是前端的国际化,后台返回的不包含在内。
预览翻译:
在项目地址后拼接?lang=en-US
,就像http://localhost:8080/aweb_soa/?lang=en-US
,这样,整个项目显示的就是英文翻译的内容啦!
但是这样其实还是挺麻烦的,为了提高用户的体验,咱们在登录页添加一个切换语言的下拉框,
页面显示如下图:
添加一个切换语言事件:
然后还有一个当前地址栏回显选择的语言的事件:
这样就可以啦!