As it is now, the sorting of the strings in our PO files seems to be a bit random. When you generate new translation tarballs (ie merging with templates etc), many strings are moved around, causing a diff of about 10000 lines. This is bad. It would be much better if a canonical sorting (and even line breaking etc) is defined.
msgmerge has a --sort-output, which hopefully does what we want. msgcat also has the same flag, for handling files we get back.
The main problem seems to be that starting with make 3.82, the output from wildcards are no longer sorted: http://lists.gnu.org/archive/html/info-gnu/2010-07/msg00023.html . This means that the order of the file given to xgettext etc may change. One solution could be to use $(sort ...), but it depends on the locale. We've decided to use --sort-output instead. Fixed in 28237.