Sorry for my very very bad english !
I hope i describe correctly this bug ...

I create a content node test.
I don't active synchro for content field.

If i create node, i translate it. All it's ok.
In data base i have ( nid source 1, nid translated 2)

select nid, tnid from node;
+-----+------+
| nid | tnid |
+-----+------+
|  1 |   1 | 
|  2 |   1 |
+-----+------+

Now i active Synchronize translations. I check one cckfields checkbox.I delete all content.
If i create node, i translate it. Two node is created but the translated node not referenced by the source.
With translate overview, source node appears not translated. In content i have two content (one per language)
In database i have :

select nid, tnid from node;
+-----+------+
| nid | tnid |
+-----+------+
|  1 |   0 | 
|  2 |   1 |
+-----+------+

I have searched in source code and if i change in file i18nsync.module on line 185

 $node->tnid = $node->translation_source->tnid ? $node->translation_source->tnid : $node->translation_source->nid;

by

 $node->tnid = $node->translation_source->tnid ? $node->translation_source->nid : $node->translation_source->tnid;

All works (with synchro actived or not)

Comments

david lesieur’s picture

Title: Synchronize translations and create translation » Synchronize translations and create translation = tnid still 0 on the source node

I have not verified if the above solution works, but there is also an issue in translate.module that's been addressed in #398428: node_load's static cache is outdated when bypassed by a direct modification to the "node" table. and that solves the problem of translated nodes not being referenced by the source when i18nsync is used.

david lesieur’s picture

Status: Active » Closed (duplicate)