翻译: Difference between revisions

mNo edit summary
Tag: 2017 source edit
Line 17: Line 17:




= 国际化(I18N)发展规则 =
=国际化(i18n)开发原则=
在Dolibarr代码中,通过使用对象$langs中可用的方法(关键值作为此方法的参数进行翻译)进行翻译。$Langs对象包含使用的语言的定义。此对象始终在所有页面中定义。
在 Dolibarr 代码中,翻译是通过调用 $langs 对象上的方法来完成的,该方法的参数是要翻译的字符串的键。$langs 对象包含用户语言的定义。它在所有页面中都有定义。
 


有两种方法:
有两种方法:


<syntaxHighlight lang="ini">
<syntaxhighlight lang="ini">
  $langs->trans('TRAD_STRING');
  $langs->trans('TRAD_STRING');
</syntaxHighlight>
</syntaxhighlight>


此方法返回键TRAD_STRING的翻译,并将结果编码为HTML实体,以允许在HTML页面上正确显示(甚至使用特殊字符)。
此方法返回键TRAD_STRING的翻译,并将结果编码为HTML实体,以允许在HTML页面上正确显示(甚至使用特殊字符)。


<syntaxHighlight lang="ini">
<syntaxhighlight lang="ini">
  $langs->transnoentitiesnoconv('TRAD_STRING');
  $langs->transnoentitiesnoconv('TRAD_STRING');
</syntaxHighlight>
</syntaxhighlight>


此方法返回键TRAD_STRING的翻译,但结果是没有特定编码的已翻译字符串(字符串在内存中存储为UTF-8格式)。
此方法返回键TRAD_STRING的翻译,但结果是没有特定编码的已翻译字符串(字符串在内存中存储为UTF-8格式)。
Line 40: Line 39:


Example:
Example:
<syntaxHighlight lang="ini">
<syntaxhighlight lang="ini">
  print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1"))
  print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1"))
</syntaxHighlight>
</syntaxhighlight>


= 把Dolibarr译成另一种语言 =
=把Dolibarr译成另一种语言=
见 [[Translator documentation]]
见 [[Translator documentation]]
714

edits