On my bi-lingual site, assigned taxonomy references get overridden when I edit and save a node.

Perhaps, my setup is wrong or I missed a necessary step. I want to apply a controlled, bi-lingual taxonomy to the bi-lingual content. Entities for nodes and taxonomy terms should only exist once, with labels in both languages. However, the issue can be reproduced in a basic setting:

Steps to reproduce

* install plain 7.19 Drupal
* drush en locale entity_translation title (download if necessary)


* add language German
* enable interface detection method user
* enable multilingual support with field translation for content type article
* add taxonomy terms to translateable entity types
* add permission "Translate entities of type Taxonomy term"
* edit content type article, manage fields, replace with field instance for title
* edit vocabulary tags, manage fields, replace with field instance for name and description

Content editing

* login as administrator
* add article, set language to English, add tag "language" (saved as term/1)
* add German translation "sprache" for taxonomy term "language"
* translate article (add German title, don't touch the displayed tag "language")
* set user language preference to German
* view article (German title and tag are shown)
* edit article (change body, don't touch the displayed tag "sprache", and save)
* silently, a new term/2 "sprache" (original content English, not translated) has been saved, the reference to term/1 has been replaced with term/2


Merlineus’s picture

@jneubert, I can confirm that.

Node referencing taxonomy term using autocompletion widget (Tags for example).
On translation adding form term displayed in correct language.
But after saving translation translated term is added in vocabulary as a new one.

jneubert’s picture

Quite similar, but I'm not sure these are duplicates: http://drupal.org/node/1920096

nlambert’s picture

Case in which the taxonomy field is the same between node languages (I believe this is your case):

1. Disable the field translation:

2. Here you should "Hide shared elements on translation forms" (checkbox under node > your content type):

However, I just noticed that with "tagging" the terms get overridden nonetheless. In fact, adding a node translation adds new term (and not a translation of a term).

Andrej Galuf’s picture

Just hit this problem as well.

Whenever a translation is added and a term has a translation in a shared field, a new term will be created in place of the original one. This happens even if the shared field is hidden.


  1. "Hide shared elements on translation forms" is activated for the bundle in admin/config/regional/entity_translation.
  2. In Vocabulary: Taxonomy translation is set to Localize
  3. On Node: Taxonomy reference field is set to tagging, field translation is disabled
  4. Original language node is created (german), taxonomy field set to value - "schwarz"
  5. Translation is added for the new term - "black"
  6. A node translation is added (english). Shared field is not visible.
  7. When the translation is saved, a new term is created with original value "black" and assigned to the original language node.

I'm assuming something somewhere is comparing values and seeing that translations "schwarz" and "black" are not equal. Since that is the case, it seems to be assumed that "black" is the new value for the field. Instead, taxonomy translation should be checked and original field value compared to original term.

pmchristensen’s picture

Had the same problem so here is a simple patch which removes the field from the form if you should not see them "checked the hide option on the config page".