Drupal core includes translation set support in 6 and 7. This is good for cases where you need separate permissions, workflows, authors, import/export, etc. for language versions. Also if you need different relations, like put them into different menus. (Field translation is great when you want to use the same workflows, permissions, relations, etc). Translators usually choose between the two models per content. For example, OG entities (nodes) would use field translation because they have users related to them for signup, commerce entities would use field translation because then you don't need product copies for each language. If you have press releases translated via outside companies with a common EU workflow for example to require separate editing permissions and workflow to publish them at once when certain language version are available as required, you'll use different entities. Also, if you want to use different language menu trees, manage revisions separately etc.

These two systems should live on separately for the different use cases, but the node translation set system is very simple and should be extended to other entity types. This might or might not be solvable with a more generic relationship solution.

Comments

plach’s picture

Gábor Hojtsy’s picture

Note that people at the first IRC meeting did not express enthusiasms for keeping this model. I've summarized some concerns pro and contra in the meeting notes: http://groups.drupal.org/node/160749

sun’s picture

This is actually what http://drupal.org/project/relation module does. That is, because there's no uniquely defined "master" or "parent" - the items in the translation set are just simply "siblings" to each other.

However, for the purpose of translation sets, we'd need a custom relation/predicate implementation, which additionally records the language property of each item in the set. AFAIK, Relation doesn't provide built-in support for additional properties on each subject/object within the relationship, and defers all of that logic/behavior to attached fields on the relation. For the API-level use-case of having language info in the relation, attached Field API fields would be quite a huge overhead though.

Gábor Hojtsy’s picture

I don't think language should be in the relation. Language should be on the object. The relation should still tell that it a "language set" relation, but the language info should be on the object. That is useful info for all kinds of other reasons, regardless of relationships. Views, permissions, workflows, etc.

Gábor Hojtsy’s picture

Status: Active » Closed (won't fix)

Based on our discussion that lead up to http://groups.drupal.org/node/165194 this is most likely not going to happen in core.

Gábor Hojtsy’s picture

Issue tags: +language-content

Tagging for the content handling leg of D8MI.