Merging .po files suck
PO files (which stands for “Portable Object” but I call them translation catalogs) are not fun to keep under revsion control.
If two people are working on i18n, there will for sure be merge conflicts.
Maybe it is because gettext is 20 years old (came out in 1995) and pre-dates the predomance of version control (was no one using CVS back then?).
Life became easier when I discovered two things:
- Git lets you create custom merge drivers for different types of files
msgcatwhich has built-in conflict detetion
I created a git merge driver called git-po-merge.
I’m not a fan of shell libs (maybe one day I’ll rewrite) but for now, this has prevented many headaches.