如何在TYPO3中本地化静态资源

时间:2013-11-28 20:54:07

标签: typo3 fluid

我学会了如何使用L参数本地化页面及其动态内容元素。但是我如何本地化按钮文本等内容呢?什么是最佳实践?

例如,我有一个文本按钮"切换菜单"我需要本地化。另一个例子可能是页脚版权信息文本。

编辑:我发现了一个很好看的帮手

<f:translate key="key1" />

,但使用有点复杂,我似乎无法使其工作。有人可以解释这个过程吗?我也找到了一些XLIFF参考。

编辑:好的,我可以将locallang.xml与translate viewhelper一起使用。将其作为答案发布时缺少的是我必须指定像

这样的路径
<f:translate key="LLL:fileadmin/.../locallang.xml:button-label" />

而不仅仅是

<f:translate key="key1" />

我没有任何扩展,所以我想知道是否有任何位置放置locallang文件,因此只能使用密钥。 extension_name / Resources / Private / Language /被认为是扩展的正确位置。 fileadmin / Resources / Private / Language /不起作用,/ Resources / Private / Language /.

也不起作用

2 个答案:

答案 0 :(得分:2)

要本地化静态TypoScript对象,您不应该使用条件,因为它们在性能方面成本更高(并且您显然需要更多代码,如您在Urs的示例中所示)。更好地使用lang属性:

myLabel = TEXT
myLabel.value = Print
myLabel.lang.de = Drucken

文档链接:http://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Stdwrap/Index.html#stdwrap-lang

答案 1 :(得分:1)

Heres是实际样本的oldschool方法,它完美可靠地工作:

temp.pagetitle = TEXT
temp.pagetitle {
    value = {page:title} (Standard Text)
    insertData = 1
}

[globalVar = GP:L = 1]
temp.pagetitle.value = {page:title} (Translated Text)
[global]

甚至

常量:

thetext = Standard Text
[globalVar = GP:L = 1]
thetext = Translated Text
[global]

设置:

temp.pagetitle = TEXT
temp.pagetitle {
    value = {page:title} {$thetext}
    insertData = 1
}