3

我有字段集合字段设置为无限值的分类术语。FC 包含很少的 texfield、textarea 和 image 字段。FC 及其字段设置为由用户翻译。分类术语是本地化的 - 所有语言的所有术语都是相同的,只是它们被翻译了。我为分类术语和节点打开了实体翻译,但没有为 FC 开启实体翻译,因为它会触发关于无效基本路径的通知。

使用此配置:我创建术语并保存它,在初始创建后我可以添加任意数量的 FC 并保存它们。在翻译表格上,我可以为他们添加翻译。并且当保存的值仍然保存为不同的语言时。

当我创建与 FC 有关系的视图、添加 FC 字段并将上下文过滤器设置为 termID 时出现问题(通过分类术语面板显示此视图)。字段语言设置设置为当前用户语言。在手动设置 termID 的视图预览中,如果我更改语言前缀,我会在 url (en/admin/structure/views..) 中看到正确的语言结果和正确的结果。但是在学期页面上它没有显示任何内容。

我正在使用最新的开发实体翻译一个字段收集模块。我还尝试了为 FC 启用实体翻译的设置,但我再次无法从视图中获得正确的输出。

我在哪里做错了?FC 设置、多语言设置或视图中。有没有人提示如何使 FC 可翻译?

4

2 回答 2

4

我重新测试了干净的安装。所有这些都适用于我在#9中描述的内容。结果相同,但有一些新的/确认的观察结果和可能的解决方法:

第一次翻译字段时,FC 中存在一个错误,值未正确保存:

  • 值已保存,但当我刷新编辑页面时,字段存在但为空/空白,默认语言的字段正常

    • 实际发生的情况:保存 FC 字段的翻译时,它们错误地链接到默认语言而不是已翻译的语言,并且在重新打开默认语言时它们也不会出现,因此它们可以被删除。如果您像我一样不小心在视图中看到它们,这可能会很糟糕(有一段时间这会误导我,因为标题是相同的)。
    • 可能的解决方法:首次翻译时,您必须删除从默认语言复制的值并保存,然后您可以输入翻译后的值
    • 启用 FC 的 ET:相同的问题和解决方法

在根据条款创建一些内容并使用解决方法翻译它们之后,我尝试通过视图在面板中显示它们。

  • 我创建了一个面板并将选择设置为我正在使用的分类词汇,并在内容下创建了“新自定义内容”,其中包含了一些替换 - 对于 FC 字段 %term:field_test_fc (这是我的测试内容)
    • 当我更改语言时,值会根据所选语言替换相应地更改 FC 的所有字段并以正确的语言显示它们这就是为什么这个问题困扰着我……它也应该在视图上起作用,因为如果术语本身可以区分 FC 的不同语言字段,因此可以通过面板查看
  • 我创建了视图(页面),其中列出了使用该 FC 的关系按术语名称分组的所有术语的所有 FC 字段
    • 内容确实会根据所选语言而改变 =)
  • 我如上所述创建了另一个视图(内容窗格)并添加了上下文过滤器,将其设置为 termID 并将其附加到面板
    • 视图仅显示保存术语时最后使用的语言的 FC 字段。这意味着在以默认语言编辑和保存术语时,视图将仅显示默认语言的字段。奇怪:S
  • 启用 FC 的 ET:它打破了两种视图(显示所有语言的字段),通过添加基于 FC 字段的过滤器修复:语言并将其设置为当前用户语言
    • 面板视图仍然没有按预期工作,但我知道上下文过滤器有问题
    • 我必须做的是从上下文过滤器(termID)中删除验证标准

解决最后一个问题后,面板视图正常工作,两种语言的查看术语显示正确(翻译的)FC 字段 =)。

希望它有助于了解问题发生在哪里以及如何解决这些问题。修复会很好=)

于 2012-09-01T21:08:33.343 回答
1

作为一个模块的字段集合尚未被修补以很好地支持多语言。争论是字段集合本身是否应该设置为语言中立,允许底层字段是特定于语言的。

但是,字段收集模块本身目前不支持多语言。Drupal.org 上有许多与此相关的补丁,包括以下两个主要补丁线程:

https://drupal.org/node/1344672

https://drupal.org/node/1316162

Drupal 7 的 Lingotek 翻译模块成功地翻译和显示字段集合,因为它使用 hook_entity_load、hook_entity_update 和不依赖于 entity_translation 模块 UI 的翻译过程的组合绕过了字段集合模块的限制。

于 2014-04-12T21:34:25.220 回答