翻译: Difference between revisions
(Created page with "{{Template开发文档}} {{Template用户手册}} {{TemplateMainPageZh}} = 国际化(I18N)发展规则 = 在Dolibarr代码中,通过使用对象$langs中可用的方...") |
|||
| (3 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
<!-- BEGIN interlang links --> | |||
<!-- Do NOT edit this section | |||
Links below are automatically managed by PolyglotBot | |||
You can edit links on the English source page : Translation_system --> | |||
[[en:Translation_system]] | |||
[[fr:Système_de_traduction]] | |||
[[es:Sistema_de_traducción]] | |||
<!-- END interlang links --> | |||
{{Template开发文档}} | {{Template开发文档}} | ||
{{Template用户手册}} | {{Template用户手册}} | ||
| Line 8: | Line 17: | ||
= | =国际化(i18n)开发原则= | ||
在 Dolibarr 代码中,翻译是通过调用 $langs 对象上的方法来完成的,该方法的参数是要翻译的字符串的键。$langs 对象包含用户语言的定义。它在所有页面中都有定义。 | |||
有两种方法: | 有两种方法: | ||
< | <syntaxhighlight lang="ini"> | ||
$langs->trans('TRAD_STRING'); | $langs->trans('TRAD_STRING'); | ||
</ | </syntaxhighlight> | ||
*此方法返回TRAD_STRING的翻译,同时将结果编码为HTML实体,以便在HTML页面中正确显示特殊字符 | |||
< | <syntaxhighlight lang="ini"> | ||
$langs->transnoentitiesnoconv('TRAD_STRING'); | $langs->transnoentitiesnoconv('TRAD_STRING'); | ||
</ | </syntaxhighlight> | ||
*此方法返回TRAD_STRING的翻译,但不对结果进行编码(字符串在内存中存储为UTF-8格式)。 | |||
这两种方法都可以接受替换翻译结果字符串中 %s 值的附加参数。 | |||
注意:如果将一个字符串翻译结果作为参数使用,则该结果应通过函数$langs->transnoentitiesnoconv返回,否则最终字符串将被编码两次。 | |||
示例: | |||
<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 译成另一种语言= | ||
请参阅 [[翻译文档]] 页面 | |||
Latest revision as of 01:19, 27 September 2023
国际化(i18n)开发原则
在 Dolibarr 代码中,翻译是通过调用 $langs 对象上的方法来完成的,该方法的参数是要翻译的字符串的键。$langs 对象包含用户语言的定义。它在所有页面中都有定义。
有两种方法:
$langs->trans('TRAD_STRING');
- 此方法返回TRAD_STRING的翻译,同时将结果编码为HTML实体,以便在HTML页面中正确显示特殊字符
$langs->transnoentitiesnoconv('TRAD_STRING');
- 此方法返回TRAD_STRING的翻译,但不对结果进行编码(字符串在内存中存储为UTF-8格式)。
这两种方法都可以接受替换翻译结果字符串中 %s 值的附加参数。
注意:如果将一个字符串翻译结果作为参数使用,则该结果应通过函数$langs->transnoentitiesnoconv返回,否则最终字符串将被编码两次。
示例:
print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1"))
把 Dolibarr 译成另一种语言
请参阅 翻译文档 页面