While investigating issues with our translations I discovered a git commit in which some of the po files in install/po were directly edited. Please do not edit the po files, for all practical purposes you should consider them machine generated.

Patch reviewers should watch for po edits. The only time po files should appear in a git commit is after pulling new po files from Transifex [1]


po files are essentially a set of pairs <msgid, msgstr> where msgid is the raw untranslated string extracted from our source code and the msgstr is the translated version of that string. msgid's are collected from our sources via a process called "extraction" (e.g. xgettext) and are placed in a pot file (i.e. po template). msgid's arrive in a po file by a process called "message merging" whereby the msgid's in the pot file are merged into a po file.

If you directly edit msgid's in a po file you will have broken the automated workflow and will likely have caused the language translation to be incorrect.

If you are a native speaker and discover a problem with a language specific translation (i.e. you want to update the msgstr in the po file) then that should be done in Transifex and the resulting po file pulled from Transifex with the correction.



1. We currently have a make target called "update-po" which merges changes from an updated pot file into each po file. We used to perform this step after updating the pot file but the current Transifex workflow obviates the need for this and is potentially problematic. As such it may be removed to prevent "accidents".

John Dennis <jden...@redhat.com>

Looking to carve out IT costs?

Freeipa-devel mailing list

Reply via email to