翻译: Difference between revisions
Jump to navigation
Jump to search
PolyglotBot (talk | contribs) 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: | ||
有两种方法: | 有两种方法: | ||
< | <syntaxHighlight lang="ini"> | ||
$langs->trans('TRAD_STRING'); | $langs->trans('TRAD_STRING'); | ||
</ | </syntaxHighlight> | ||
此方法返回键TRAD_STRING的翻译,并将结果编码为HTML实体,以允许在HTML页面上正确显示(甚至使用特殊字符)。 | 此方法返回键TRAD_STRING的翻译,并将结果编码为HTML实体,以允许在HTML页面上正确显示(甚至使用特殊字符)。 | ||
< | <syntaxHighlight lang="ini"> | ||
$langs->transnoentitiesnoconv('TRAD_STRING'); | $langs->transnoentitiesnoconv('TRAD_STRING'); | ||
</ | </syntaxHighlight> | ||
此方法返回键TRAD_STRING的翻译,但结果是没有特定编码的已翻译字符串(字符串在内存中存储为UTF-8格式)。 | 此方法返回键TRAD_STRING的翻译,但结果是没有特定编码的已翻译字符串(字符串在内存中存储为UTF-8格式)。 | ||
| Line 40: | Line 40: | ||
Example: | Example: | ||
< | <syntaxHighlight lang="ini"> | ||
print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1")) | print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1")) | ||
</ | </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"))