2

我正在建立一个 Typo3 网站,默认语言为英语,德语翻译 (id=1)。

但是,在德语翻译中,我需要能够在“默认”列中创建默认情况下不存在的其他内容元素。

但是,每当我尝试创建新的内容元素时,它们都会显示在 BE 中,但在前端它只呈现使用“复制默认”按钮创建的内容。

这是我的配置:

config.linkVars = L
config.uniqueLinkVars = 1
config.sys_language_overlay = default
config.sys_language_mode = content_overlay
config.language = en
config.locale_all = en_EN
config.htmlTag_langKey = en-EN
config.sys_language_uid = 0
[browser = msie]
config.htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xmlns:v=”urn:schemas-microsoft-com:vml” xml:lang="en"

[globalVar = GP:L = 1]
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de-DE
config.sys_language_uid = 1
[globalVar = GP:L = 1] && [browser = msie]
config.htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xmlns:v=”urn:schemas-microsoft-com:vml” xml:lang="de"
[global]

我复制了 2 个默认元素,然后尝试添加其他未呈现的元素。

我以前没有使用过 TYPO3,但我很确定应该渲染那些额外的内容元素?我是否需要在模板中包含任何其他标记才能启用它?

4

2 回答 2

3

尝试这个:

config.sys_language_overlay = hideNonTranslated
config.sys_language_mode = strict

[globalVar = GP:L = 1]
    config.sys_language_overlay = 0
[end]

通过设置config.sys_language_overlay = 0,即使默认语言中没有记录,TYPO3 也应该显示您的德语记录。

我还更正了您的默认值config.sys_language_overlayconfig.sys_language_mode因为它们无效。

文档可以在TSREF中找到。

于 2013-06-19T10:39:20.577 回答
3

为未来的访客回答我自己的问题......

当您设置 config.sys_language_overlay 时,它会告诉 Typo3 实际上从默认语言获取所有记录,然后将匹配项覆盖在顶部 - 这样,它只会显示从默认语言继承的翻译元素。

将其完全排除,然后它允许您在翻译中使用任意数量的内容元素,而无需注意默认语言。

正如@Shufla 提到的,使用 config.sys_language_mode = strict 意味着任何元素少于默认值的翻译不会继承默认语言。

于 2013-06-19T11:03:50.667 回答