【问题标题】:Drupal 8 translating paragraphs programmaticallyDrupal 8 以编程方式翻译段落
【发布时间】:2017-09-28 18:51:54
【问题描述】:

段落应该在其组件字段级别上进行翻译,而不是在段落字段级别上进行翻译。那么如何以编程方式翻译段落呢?

更明确地说,我的段落字段不可翻译,但组件字段可以。那么如何加载节点、循环遍历段落项并将翻译添加到字段?

有人有例子吗? 谢谢。

【问题讨论】:

  • 对于程序化翻译,您需要使用一些第三方服务,如谷歌翻译等...请参考个人文档,哪种服务适合您
  • 不,这完全没有抓住帖子的重点。

标签: drupal translation paragraphs


【解决方案1】:

以下https://www.flocondetoile.fr/blog/translate-programmatically-drupal-8节点翻译:

这是我实际代码的抽象,我还没有实际测试过:

$node = node_load(12);

if ($node->hasTranslation('de')) {
  $transl_node = $node->getTranslation('de');

  foreach ($transl_node->field_paragraph  => $paragraph) {
      $entity_array = $paragraph->toArray();
      $translated_fields = [];
        $translated_fields['field_body'] = array(
          'value' => 'translated value',
          'format' => 'full'
        );
        $translated_fields['field_section_title'] = 'translated section title';

        $translated_entity_array = array_merge($entity_array, $translated_fields);
        if (!$paragraph->hasTranslation('de')) {
          $paragraph->addTranslation('de', $translated_entity_array);
          $paragraph->save();
        }
  }
  $transl_node->save();
}

【讨论】:

    猜你喜欢
    • 2023-03-16
    • 2018-06-27
    • 2016-03-19
    • 1970-01-01
    • 2021-02-23
    • 2019-12-13
    • 2021-10-05
    • 2018-10-05
    • 2021-12-24
    相关资源
    最近更新 更多