(narrowing receivers) > not .. obvious, even with `git show --ignore-matching-lines='#:' > --color-moved`. Is there a way to enforce a stable order in the .pot > file and/or the merged .po files? Sadly no. The -s/--sort-output is deprecated (plus it is counter productive). https://www.gnu.org/software/gettext/manual/gettext.html#index-_002ds_002c-msgmerge-option The default is -F/--sort-by-file which is kind of saner. https://www.gnu.org/software/gettext/manual/gettext.html#index-_002dF_002c-msgmerge-option It may cause jumping around in case a translatable string that was available in one file, becomes available in a file sorted earlier than the format but nothing is 100% proof. Sorting is not enough for sane diffs. As the location data also contains line numbers - adding a line before a message pushes its location down. The way I read your message: - you are OK with a translator choosing to submit po-files without location info. This will make commits and diffs shorter and more understandable and reduces the growth of the repo The info is not used during runtime and is easily recoverable - generate the pot and merge the translation. - you are at least interested in moving the infrastructure to this workflow. In such a case next time I submit a gitk/git-gui translation I will voluntarily remove the locations. I hope you are fine with this. Kind regards: al_shopov