Je commence par "parser" les fichiers sources pour obtenir une version "template" du fichier de traduction. Pour cela, j'utilise la commande xgettext
find . -name "*.php" | xgettext --from-code=utf-8 --language=PHP -o TransData.pot -f -
Ensuite, je copie TransData.pot en TransData_es.po par exemple et effectue la traduction. Enfin, je termine par la génération du fichier mo
msgfmt -o TransData.mo TransData_es.po