I've found some time to hack a bit more on my PO handling stuff: I've added PO file merging along with "inline-diffs", along with an example pomerge.py utility.
As for diff-format, I've used what GNU wdiff seems to use to mark out changes (I'm getting redirection limits exceeded on these pages now, perhaps they're down; you can look at any of the mirrors, such as here).
At the same time, this wouldn't be so useful if our PO editors didn't add some support for it: well, you can see that I have po-mode with syntax highligthing (and there's also a polite-mode which has nothing but syntax highlighting, thus is useful for testing).
Emacs highlighting diffs for fuzzy matches.
Now, why do we need this? Look at the examples above: our second
diff clearly indicates that the only change for a matched message was
removal of "\n
" at the end of line. First diff shows
that one word was removed, other was added, and newline was removed.
And with all this, it's so much easier to see what needs to be changed
in translation.
Granted, with small messages such as those in the screenshot, this isn't very useful. But, when it comes to translating documentation (hint, hint: xml2po), this should be a very major help when someone fixes a typo or adds some interpunction or only a couple of words to a long paragraph.
Now, with Python this was easy: who feels like working on something like this for GNU msgmerge?
Roozbeh: thanks—finally, after almost two years of trying, sr_CS locale is in GNU libc! :)