翻译: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
m (Import interlang links (links to translated versions of this page in other languages) from origin English page "Translation_system".)
mNo edit summary
Tag: 2017 source edit
Line 23: Line 23:
有两种方法:
有两种方法:


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


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


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


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


Example:
Example:
<source 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"))
</source>
</syntaxHighlight>


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

Revision as of 22:26, 25 May 2021





国际化(I18N)发展规则

在Dolibarr代码中,通过使用对象$langs中可用的方法(关键值作为此方法的参数进行翻译)进行翻译。$Langs对象包含使用的语言的定义。此对象始终在所有页面中定义。


有两种方法:

 $langs->trans('TRAD_STRING');

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

 $langs->transnoentitiesnoconv('TRAD_STRING');

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

这两种方法可以接受用于在翻译的字符串中替换字符串%s的参数。

注意:如果将字符串本身作为参数使用,则必须使用$langs->transnoentitiesnoconv方法,否则字符串将被编码两次。

Example:

 print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1"))

把Dolibarr译成另一种语言

见 Translator documentation