流体TYPO3翻译页面模板中的文本

时间:2015-05-06 20:38:45

标签: templates typo3 translate fluid

我使用TYPO3 6.2.12和最新FluidTYPO3-Extensions。我还有一个多语言网站(德语/英语)。

在我的网页模板Subpage.html中,我需要一个英文标题(mydomain.de/en/page.html)和德语(mydomain.de/de/seite.html)。但我不知道为什么?!

<h3 class="section-heading">Manufacturers</h3>

并为德国用户......

<h3 class="section-heading">Hersteller</h3>

我已经使用文件locallang.xlfde.locallang.xlf(s。在下面,并且感谢jost answer 1)。但是我的模板的语法怎么样?

我的尝试不起作用..清除缓存?!

<h3 class="section-heading"><f:translate key="LLL:typo3conf/ext/redeagle/Resources/Private/Language/locallang.xlf:navigation.sub.headline" /></h3>

 <h3><f:translate key="navigation.sub.headline"/></h3>

需要一些帮助才能在我的模板中显示来自locallang.xlf的文字。谢谢。

2 个答案:

答案 0 :(得分:1)

xliff格式描述为here

您需要为默认标签设置一个文件,例如locallang.xlf。然后为每个翻译添加另一个文件,语言代码前置于具有默认标签的文件的文件名。在示例中,它可以是de.locallang.xlf。此文件必须位于locallang.xlf所在的文件夹中。

此文件是具有默认标签的文件的副本,但增加了一些内容:

  1. <file>代码会获得一个额外的属性target-language,并将翻译的语言代码作为值。
  2. 每个<source> - 代码都会将<target>标记作为兄弟,包含标签的翻译。
  3. 确保在更改翻译后清除缓存(在安装工具中),以便您可以看到更改。

    XLIFF的翻译程序是virtaal,对我来说效果很好。

    在您的示例中,您应该拥有以下两个文件:

    <强> locallang.xlf:

    <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
    <xliff version="1.0">
        <file source-language="en" datatype="plaintext" original="messages"
              date="2012-10-17T17:55:17Z" product-name="myproject">
            <header/>
            <body>
                <trans-unit id="flux.sidebar.navigation.sub.headline">
                    <source>Manufacturer</source>
                </trans-unit>
            </body>
        </file>
    </xliff>
    

    <强> de.locallang.xlf:

    <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
    <xliff version="1.0">
        <file source-language="en"  target-language="de" datatype="plaintext" original="messages"
              date="2012-10-17T17:55:17Z" product-name="myproject">
            <header/>
            <body>
                <trans-unit id="flux.sidebar.navigation.sub.headline">
                    <source>Manufacturer</source>
                    <target>Hersteller</target>
                </trans-unit>
            </body>
        </file>
    </xliff>
    

答案 1 :(得分:0)

知道了。

我的默认语言是&#34;德语&#34;,第二语言是&#34;英语&#34;

locallang.xlf

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<xliff version="1.0">
    <file source-language="de" datatype="plaintext" original="messages" product-name="project1" date="2015-05-05T12:31:24+02:00">
        <header/>
        <body>

            <trans-unit id="flux.subsidebar.navigation.sub.headline" xml:space="preserve">
                <source>Hersteller</source>
            </trans-unit>

        </body>
    </file>
</xliff>

en.locallang.xlf

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<xliff version="1.0">
    <file source-language="de" target-language="en" datatype="plaintext" original="messages" product-name="project1" date="2015-05-05T12:31:24+02:00">
        <header/>
        <body>

            <trans-unit id="flux.subsidebar.navigation.sub.headline" xml:space="preserve">
                <source>Hersteller</source>
                <target>Manufacturer</target>
            </trans-unit>

        </body>
    </file>
</xliff>

在我的流体模板上

<h3><f:translate key="flux.subsidebar.navigation.sub.headline"/></h3>

完美!感谢Jost。我只有一个晚上睡觉的时间......