【问题标题】:Activate .xlf translation in extbase在 extbase 中激活 .xlf 翻译
【发布时间】:2015-03-16 20:19:10
【问题描述】:

我在 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?否则,我将不得不使用常量并将它们作为变量传递...

【问题讨论】:

    标签: typo3 fluid extbase typo3-6.2.x


    【解决方案1】:

    我认为,在同一目录中必须有一个 locallang.xlf,默认本地化为 &lt;source&gt;

    我假设您正在使用来自流体的翻译 ViewHelper?

    <f:translate key="tx_extname_domain_model_item" />
    

    如果视图属于本地语言文件之外的其他扩展名,您还必须向 ViewHelper 添加扩展名:

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

    最后但同样重要的是,整个本地化已完全缓存,因此请务必清除系统缓存,以便查看对 XLF 或 XML 本地化文件所做的任何更改。

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

    【讨论】:

    • 这是缓存!我不确定在生产模式下如何清除系统缓存(因为出现不同的缓存按钮),所以我通过安装工具完成了。 “清除常规缓存”可以清除系统缓存吗?
    • 没有“一般缓存”是不够的。我更新了如何在生产模式下执行此操作的答案。
    • 太棒了,谢谢!我已将其添加到我的升级小说stackoverflow.com/questions/28675796/…
    猜你喜欢
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-10
    • 2016-07-09
    • 1970-01-01
    • 2018-02-05
    • 2019-10-05
    相关资源
    最近更新 更多