TYPO3 FAL 更改的图像在翻译中不可用

TYPO3 FAL changed image not available in translation

在 TYPO3 7.6 中,当我用基本语言交换图像时,我无法将此图像添加到现有的翻译记录中。

例如:我在英语中添加了图像pic1.jpg (L=0),在翻译成德语时(L=1) pic1.jpg 可用于激活。稍后我删除 pic1.jpg 并添加 pic2.jpg,可能会剪裁或以其他方式修改关系,以便我拥有要保留的数据。

我可以删除德语翻译记录并在列表视图和页面->语言中添加新翻译:"Add Translation" 保留新图像及其所有修改,但那是在此过程中丢失所有已翻译字段的解决方法。

如果我没记错的话,在以前版本的 TYPO3 (6.1) 中以基本语言添加后,翻译媒体选项卡中会出现一条变暗的 FAL 记录。

错误?还是我遗漏了什么?

这是一个自 2014 年以来就存在但从未修复的 TYPO3 v7.6 核心错误。查看错误报告:https://forge.typo3.org/issues/57272

有多种方法可以解决这个问题。我也有这个问题,对我来说它只适用于第一个解决方案。


1。创建一个 ViewHelper
这是 Kai Tallafus 的解决方案,他在错误报告 57272 的评论中分享了他的 ViewHelper(请参阅上面的错误报告 link)。

查看助手:https://forge.typo3.org/attachments/download/32333/FalTranslationFixViewHelper.php
流体模板中 ViewHelper 的使用:

<util:falTranslationFix record="{record}" tableName="tx_myext_domain_model_foo" relationFieldName="files" as="files">
    <f:if condition="{files -> f:count()} > 0">
      <f:for each="{files}" as="file">
        <a href="{file.publicUrl}">{file.properties.title}</a>
      </f:for>
    </f:if>
</util:falTranslationFix>


2。安装扩展
我发现了两个可能会修复该错误的扩展。我推荐第一个,但它对我不起作用,但也许对你有用。

  1. repair_translation
  2. faltranslation(仅适用于 bitbucket -> bitbucket。org/t3easy_de/faltranslation/src)


3。为 FAL Media
启用 sys_language_uid 字段 FAL 媒体的翻译有一个解决方法,您可以在其中启用 sys_language_uid 字段。启用后,最终用户可以 select 媒体元素的语言。这对我也不起作用,但我从一位朋友那里知道,在他的一个项目中它起作用了。
手册(德语):www.npostnik.de/typo3/workaround-fuer-uebersetztungen-der-datensaetze-mit-fal-media/


4。更新到 TYPO3 v8 LTS
当您正在处理可以更新到新版本的项目时,您应该考虑进行更新。 Bug 已在 TYPO3 v8 LTS 中修复。

viewhelper 不适用于 tablep-pair pages/page_labnguage_overlay 中的字段媒体。 (TYPO3 8.7)

您必须在流体模板中分隔翻译的部分。查询中的 where 子句应该检查 'pid' 而不是 'uid'。并且您必须检查 $rawRecord 的媒体字段中的相关条目。