I've made a quick test with xlifftoxml and works fine. Here is the diff we get back for Finnish strings:
http://pastebin.com/kY0Qww7i
Only a minor thing is two LFs at the end of the file.
There is still one thing i mentioned earlier, but seem to me as a nice thing if we could solve. Well of course translators has not had such control ability with the current XBMC translation tool, but would be good if we can solve it:
- Normally xbmc devs does not re-use the same xml ID for a completely new string, but it could happen in a long time period (One complete release cycle maybe) First they set it empty and after a longer (or sometimes not so long) time they use it for a completely new string. Also sometime they change, refine the strings with a little different meaning. So in this cases what happens:
1. We generate a new xliff file from the current fresh English GIT revision, containing this changed xml ID entry with a new English string part but the same translated language part.
2. We feed this new xliff file to Transifex and it will be treating this entry as a new translated entry. But of course this is not right, because it has not been translated at all.
3. The translators won't see this mistake as it is not showing up as a new translatable string. You can only find this problem if you walk through all the strings an check them.
To avoid I can think of two solutions.
1. Only let developers update the non-english strings in Transifex. (I don't think the would agree on this)
2. At first initial setup, use the English version of the language file which matches the version of the language string. Then with all updates, check maybe that previous xliff file if the English string has CHANGED for the SAME XML ID . If it has, we shouldn't let that entry coming into the translation, maybe only if the translated string changed as well (maybe the Dev updated that one too)
We have to check if maybe Transifex has this behavior with the changed English strings, but unchanged translated strings. I have not yet tried it.
What do you think. do you have a better idea ?