国际化语言包审核方向和常见错误

来自ECJiaWiki
跳转至: 导航搜索

JS文件语言包

语言包载入

当在config文件夹下创建js语言包配置文件之后,需要将该文件的值载入到所应用的js文件中,如下图所示:

国际化语言包审核方向和常见错误 01.png
用RC_Script::localize_script()加载jslang文件,
A:代表就是要获取jslang文件中的某个值,此处为数组;
B:区域就是当前模块所加载用到的js文件,属于临时加载注册;
C:就是所注册名称;
D:区域最关键此处不是js文件名称则是js文件所对应的注册名称;

注:综上所述,C与D需保持一致;

js文件中赋值

第1步中就算是成功将语言包配置项赋值到js文件中,那么在js文件中替换中文即可,过程中最需要注意的就是拼接时候,如下图所示:

国际化语言包审核方向和常见错误 02.png

变量拼接注意符号。

PHP文件语言包

domain参数

PHP文件中一般语言包使用直接可以__(‘值’,‘domain参数当前模块名称’),如下图所示:

国际化语言包审核方向和常见错误 03.png

第二个domain参数不可遗漏,值为当前模块名称。

字符串问题

__()不是字符串,无需引号。

正确方法:array(‘text’=> __(‘添加新文章’,‘article’))
错误现象:array(‘text’=> ‘__(‘添加新文章’,‘article’)’)

sprintf和__()函数的包含位置用法

当语句中存在变量,应该使用sprintf方法,如下图所示:

国际化语言包审核方向和常见错误 04.png
正确方法:sprintf(__('语句以及和变量%s', 'doamin参数'), 变量)
错误现象:__(sprintf("语句以及和变量%s ", 变量), ' doamin参数')

Dwt文件语言包

domain参数

正确方法:{t domain=”模块名称”}测试{/t}
错误现象:①domain参数遗漏;②domain拼错③模块名称与当前模块不符合

{t}{/t}标签

正确方法:{t domain=”模块名称”}测试{/t}
错误现象:①{/t}尾标签遗漏②{t domain=”模块名称”} {/t} 标签内并无翻译的值

翻译语句中包含变量

正确方法:{t domain="article"  1={$one}  2={$two} }管理员 %1, 在 %2 IP。{/t}
错误现象:参数重复为{t domain="article"  1={$one}  1={$two} }