在 extbase 中激活 .xlf 翻译

Activate .xlf translation in extbase

我在 Resources/Private/Language 下的 TYPO3 6.2 extbase 扩展名中设置了一个 .xlf 本地化文件,名为 fr.locallang.xlf

看起来像这样

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<xliff version="1.0">
  <file source-language="de" datatype="plaintext" original="messages" date="2014-11-05T12:20:37Z" product-name="extname" target-language="fr">
    <header/>
    <body>
      <trans-unit id="tx_extname_domain_model_item">
        <source>German Term</source>
        <target>French Term</target>
      </trans-unit>
    </body>
  </file>
</xliff>

错别字:

[globalVar = GP:L = 1]
config {
    sys_language_uid = 1
    language = fr
    htmlTag_langKey = fr
    locale_all = fr_FR.utf-8
}
[global]

前端未显示翻译。我必须做什么才能让他们表现出来?或者是否有解决方法,比如回到 extbase 中的 xml?否则,我将不得不使用常量并将它们作为变量传递...

我认为,在同一目录中必须有一个 locallang.xlf,其默认本地化为 <source>

而且我假设您使用的是来自 fluid 的翻译 ViewHelper?

<f:translate key="tx_extname_domain_model_item" />

如果视图属于您的 locallang 文件之外的另一个扩展名,您还必须向 ViewHelper 添加扩展名:

<f:translate key="tx_extname_domain_model_item" extensionName="extname" />

最后但并非最不重要的一点是,整个本地化已完全缓存,因此请确保清除系统缓存以查看对 XLF 或 XML 本地化文件所做的任何更改。

要在生产中启用系统缓存选项,请将 options.clearCache.system = 1 添加到您的 UserTSConfig。