switchLanguage不使用LinguaPlone加载已翻译的项目

时间:2011-04-06 09:40:07

标签: multilingual plone linguaplone

我仍然在努力让LinguaPlone工作。

我使用/de设置了两个语言根文件夹/en(德语)和/@@language-setup-folders。我创建了两个文件夹/de/texte//en/articles,并将后者定义为前者的翻译。

在我设置的ZMI portal_languages中:

  • 允许的语言:英语,德语
  • 谈判方案:[x]使用cookie进行手动覆盖
  • 所有其他选项均未选中

我确实获得了一个语言选择器,但是当我点击“英语”时,我会调用/de/texte/switchLanguage?set_language=en,我会获得一个英文用户界面,但该位置仍为/de/texte

即使面包屑说你在这里:主页> texte Home 仍然指向/de而不是/en。< / p>

我在网上搜索过,但除了older rant on LinguaPlone之外,我找不到我可能遗失的内容。

如何配置LinguaPlone在切换语言时实际加载链接的翻译?

编辑:

  • Plone 4.0.2
  • Zope 2.12.13
  • LinguaPlone 4.0

3 个答案:

答案 0 :(得分:6)

你确实有错误的语言选择器。关于这一点的反复报道,但到目前为止还没有人发现为什么以及如何发生。正确的语言选择器通过为ILinguaPloneProductLayer层定义来覆盖Plone默认值。只要将“LinguaPlone”外观文件夹作为外观图层的一部分,此浏览器图层就应处于活动状态。

您可以尝试重新排序主题中的皮肤图层,方法是转到“http:/// portal_skins / manage_propertiesForm”并将“LinguaPlone”移到“自定义”后面的顶部。

如果您有自己的主题并定义了任何额外的浏览器图层,那些也可能会产生干扰,但很难说明具体的方式。

答案 1 :(得分:2)

我认为你的语言选择器错误。

Plone附带了一个基本的语言选择器视图(plone / app / i18n / locales / browser / configure.zcml中的“plone.app.i18n.locales.languageselector”)。它只是切换Plone界面的语言(而不是内容)。这是链接到“switchLanguage”的语言选择器。

当您安装LinguaPlone时,它会使用它自己覆盖Plone语言选择器。 LP选择器不应链接到“switchLanguage”,而是链接目标语言中的内容项的URL(带有?set_language参数)。 此Viewlet在Products / LinguaPlone / browser / configure.zcml

中定义

也许LP没有正确安装,或者有什么东西覆盖了Viewlet?

答案 2 :(得分:0)

这种行为的原因是LinguaPlone 4.0与Plone 4.0.2上的“Plone Classic Theme”不兼容。

切换到“Sunburst主题”解决了这个问题:语言选择器链接指向正确的URI。