Details

I18NEdit merges always by walking through the foreign project file tree. It looks for each properties bundle whether it exists in the local tree or not. If not, it is copied in verbatim. If it exists, each property is compared one by one. I18NEdit always only touches the locales which have been explicitly enabled! For each of these locales, own and foreign incarnation are compared. The following alternatives exist:

The last alternative should be explained a little bit more. There are always two possibilities for editing the properties: Either in I18NEdit or apart of it in any arbitrary editor. In the later case, I18NEdit has no knowledge about these changes, therefore it cannot change the locally preserved timestamp in the meta-properties.

In case a translator works on its project tree with an independant editor and then merges a new tree from somewhere else into his own file tree, he might need to turn on merging on his own target locale. In this case, I18NEdit could find such locally changed properties without changed timestamp. Those ones are not overwritten for a translator - he is assumed to be more clever on his target locale than anyone else.

An integrator, however, must incorporate such changes to properties without changed timestamp into his file tree. Its exactly the opposite situation: The translator changed the value well-founded, even though the timestamp has not changed. There integrator has the old value by principle, and therefore, it has to be overwritten. So, for an integrator I18NEdit overwrites the local value with the merged one in such a situation.

If all parties do their changes in I18NEdit itself, the described situation won't creep up at all, however.