Internationalization 如何在多语言modx中组织模板

Internationalization 如何在多语言modx中组织模板,internationalization,modx,modx-revolution,modx-templates,Internationalization,Modx,Modx Revolution,Modx Templates,我正在用ModX建立一个多语言网站,所以我安装了Babel extra,看起来一切正常 我现在想知道如何处理我的模板,我不能想出一个解决方案来使用不同语言的页面相同的模板(将是理想的,没有代码重复) 实际上,考虑我的模板中的代码,列出边栏中的帖子: <h3>Archives</h3> <ul> [[!Archivist? &target=`7` &parents=`3,4`]] </ul> 存档 [[

我正在用ModX建立一个多语言网站,所以我安装了Babel extra,看起来一切正常

我现在想知道如何处理我的模板,我不能想出一个解决方案来使用不同语言的页面相同的模板(将是理想的,没有代码重复)

实际上,考虑我的模板中的代码,列出边栏中的帖子:

   <h3>Archives</h3>
   <ul>
     [[!Archivist? &target=`7` &parents=`3,4`]]
   </ul>
存档
    [[!档案管理员?&target=`7`&parents=`3,4`]

target=7
parents=3,4
指的是英文资源,因此我显然不能在我的中文资源模板中使用此代码。我能想到的唯一解决办法是为每种语言使用不同的模板。这是正确的方法吗?

您可以在语言上下文中创建系统设置。[单击资源树中的上下文并转到设置。]然后您可以像使用系统设置一样使用这些设置:

[[!Archivist? &target=`[[++system_setting_1]]` &parents=`[[++system_setting_2]]`]]
对于归档文件,您可以使用词典设置或检测上下文:

[[*context_key:is=`French`:then=`Archiv`:else=`Archives`]]

可以在语言上下文中创建系统设置。[单击资源树中的上下文并转到设置。]然后您可以像使用系统设置一样使用这些设置:

[[!Archivist? &target=`[[++system_setting_1]]` &parents=`[[++system_setting_2]]`]]
对于归档文件,您可以使用词典设置或检测上下文:

[[*context_key:is=`French`:then=`Archiv`:else=`Archives`]]

这正是词汇的用途。请阅读此处的文档:

在每种语言中添加所需的词典,然后在模板中实现,如下所示:

<h3>[[%archives? 
      &topic=`mytopic` 
      &namespace=`mynamespace` 
      &language=`[[++cultureKey]]`
      ]]
</h3>

<ul>
  [[!Archivist? &target=`7` &parents=`3,4`]]
</ul>
[[%存档?
&topic=`mytopic`
&名称空间=`mynamespace`
&语言=`[++cultureKey]]`
]]
    [[!档案管理员?&target=`7`&parents=`3,4`]

肖恩在上面关于上下文设置的建议是为代码片段输入上下文特定参数的正确方法。

这正是词典的用途。请阅读此处的文档:

在每种语言中添加所需的词典,然后在模板中实现,如下所示:

<h3>[[%archives? 
      &topic=`mytopic` 
      &namespace=`mynamespace` 
      &language=`[[++cultureKey]]`
      ]]
</h3>

<ul>
  [[!Archivist? &target=`7` &parents=`3,4`]]
</ul>
[[%存档?
&topic=`mytopic`
&名称空间=`mynamespace`
&语言=`[++cultureKey]]`
]]
    [[!档案管理员?&target=`7`&parents=`3,4`]
上面Sean关于上下文设置的建议是为代码段输入上下文特定参数的正确方法