TYPO3 sys_language_mode = content_fallback未按预期工作

时间:2014-05-23 10:49:06

标签: localization typo3 fallback

对于我的这个问题,这是一个小小的后续问题:Language switching in Typo3 v6

这是我目前的设置:

config {
  tx_realurl_enable = 1
  simulateStaticDocuments = 0
  sys_language_uid = 1
  language = de
  locale_all = de_DE
  htmlTag_langKey = de
  linkVars := addToList(L)
  uniqueLinkVars = 1
  sys_language_mode = content_fallback
  sys_language_overlay = 1
}

[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de
[global]

[globalVar = GP:L = 2]
config.sys_language_uid = 2
config.language = en
config.locale_all = en_EN
config.htmlTag_langKey = en
[global]

在后端,德语的ID为1,英语为ID 2.到目前为止,一切正常。但现在有一个网站,其中一些德语内容在英语内容中没有直接翻译元素。换句话说:我只需要一个元素出现在德语版本上。

到目前为止,德国内容一直停留在"默认"列和英文内容已添加到" english"柱。所以我认为我所要做的就是在网站上添加德语翻译并在那里添加元素。但它没有按预期工作:

这是我添加的内容。左列(标记为绿色)是默认内容。中间栏(粉色)是德语内容。右栏(蓝色)是英文内容。

但是在前端,在英文网站上显示蓝色(英文)内容,在德国网站上显示绿色(默认)内容,而不是粉红色(德国)内容,正如我所期望和期望的那样

我哪里出错了?

我已经通过搞乱htmlTag_langKey确认L = 1。它肯定是由第一个条件块设置的。那么为什么sys_language_uid =不显示德语内容呢?是否需要任何其他配置?

1 个答案:

答案 0 :(得分:2)

您正在为德语文本添加德语翻译。这不太顺利。

如果您的主要语言是德语,则应保留默认语言。您可以通过后端的TSCONFIG重命名标签,以方便编辑。

mod.SHARED{
    defaultLanguageFlag = de.gif
    defaultLanguageLabel = Deutsch
}

默认语言的ID为0,因此您可以在没有语言参数的情况下调用index.php。所以你只需要在第0页添加外语,默认已经存在

如果您尝试强制使用其他本地化作为默认语言,我认为您会遇到问题,因此您可能希望快速返回2种语言。

顺便说一句,我发现TYPO3语言回退的最合理的设置是:

在TS:

config.sys_language_overlay =1
// don't set sys_language_mode

在TSCONFIG:

mod.web_layout.defLangBinding = 1

将每篇文章与其翻译绑定