Hello
I have set up a "per language terms" vocabulary and have manually defined translations for each term. When I translate a node, taxonomy fields are correctly translated, but they are Re-created as terms without language (the i18ntaxonomy_translate_terms() function returns them without language, so does the i18nsync_taxonomyfield() function).
This results in new different multilingual terms created and assigned to the newly translated node. And worse, when saving this node, it overwrites actual taxonomy terms in the source node!! (since they are synchronized and their languages does not match...) snif... :-(
I suppose the solution would be to assign the translated node language to translated terms in case "per language terms" option is selected, but I am not confident enough with drupal and i18n api's to provide a decent patch on my own.
Can anyone help with this?
Comments
Comment #1
pedropablo commentedChecking deeper, this is very related to this issue : #345238: New terms (freetagging) added as language neutral
I have reviewed the code carefully, and term synchronization works right, but it does only fill in the node form, so when freetagging is activated for that taxonomy, the term will be saved with no language, (then it is when the new term is created); so when synchronization occurs, as the term has no language, it overrides original terms.
So definitely there would be a way to select a language for freetagging terms at node creation.
I will keep this thread open, as it is slightly different than the other one, but feel free to converge both.
Comment #2
jose reyero commentedNew terms are saved now with the node language.