Use Cases for Asymmetric Translation of Paragraphs

Events happening in the community are now at Drupal community events on www.drupal.org.
You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

This wiki page defines use cases for asymmetric translation of paragraph fields.

What does that mean? Paragraphs allows for very flexible content. With one paragraph field, you can add multiple different types of paragraphs (often with their own paragraph fields) in any arrangement. But currently, if you translate a node with a paragraph field, the translation is locked into the original's paragraph structure, such that you can't change which paragraphs appear nor can you rearrange them. This is symmetric or 1-to-1 translation. The arrangement of fields on the original and translation are exactly the same and any change to that structuring affects both.

However, there's a request that Paragraphs support asymmetric translation, so that the paragraphs on a translation can be changed, rearranged, and otherwise managed separately from the original. This page collects use cases for this functionality, as the maintainers have requested.

Use cases

Tom Robert's use case

The site has 2 languages (A and B). The site uses Paragraphs, and has 3 paragraph types:

  • intro_paragraph
    • field_intro: Text (formatted, long)
  • text_paragraph
    • field_text: Text (formatted, long)
  • quote_paragraph
    • field_quote_text: Text (formatted, long)
    • field_quote_author: Text (plain)

The content type page has field_paragraphs with unlimited cardinality and can contain the above paragraphs in a random order.

The desired behavior: I create a page in language A, with an intro_paragraph and a text_paragraph. I translate the page to language B. All of the information from A is provided so I can translate the existing paragraphs. In language B, I have extra information, so I'd like to add a quote_paragraph. I'd like to rearrange content so that the quote_paragraph is above the text_paragraph. I'd like to remove the intro_paragraph. I do this without affecting the language A content.

Simplified use case

The site has 2 languages (A and B). The site uses Paragraphs with multiple paragraph types. The site has content type page with field_paragraphs that has unlimited cardinality and can contain all paragraph types.

The desired behavior: I create a page in language A and add paragraphs. When I translate it to language B, the translation has no paragraphs and I am free to add new paragraphs without affecting the language A content.

Rationale

The case for asymmetric translation is that, in general, content structure doesn't translate comfortably to another language.

To quote mErilainen, "the symmetric translation approach works well for legal and official documents, where translations must be 1:1. Pretty much everything else is asymmetric in real life." He points to Wikipedia as an example. Compare the Contents menu of the Drupal page in en, es, de, and fr. The structure differs radically.

That's when the entirety of a page's content is being translated, but on occasion that's not even the case. A company may not be fully operational in a given region, but still have a translation for the region on their site. In the primary language, their product page may have some kind of commerce component, which on the translated page should be replaced with "you can find this product at these locations" for lack of a direct-to-consumer operation in the region. In this case, while you could create separate nodes that aren't translations of each other, this creates a form of "content debt", which makes it more difficult to manage products in a unified fashion across multiple languages.

Internationalization

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: