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


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


<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格式)。
这两种方法都可以接受替换翻译结果字符串中 %s 值的附加参数。


这两种方法可以接受用于在翻译的字符串中替换字符串%s的参数。
注意:如果将一个字符串翻译结果作为参数使用,则该结果应通过函数$langs->transnoentitiesnoconv返回,否则最终字符串将被编码两次。


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


Example:
<syntaxhighlight lang="ini">
<source 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]]
请参阅 [[翻译文档]] 页面
714

edits