Your company here ā€” click to reach over 10,000 unique daily visitors

msguntypot.1p - Man Page

update PO files when a typo is fixed in POT file


msguntypot -o old_pot -n new_pot pofiles ...


When you fix a trivial error which surely doesn't affect translations (e.g. a typo) in a POT file, you should unfuzzy the corresponding msgstr in the translated PO files to avoid so extra work to the translators.

This task is difficult and error prone when done manually, and this tool is there to help doing so correctly. You just need to provide the two versions of the POT file: before the edition and after as marked in the above synopsis, and it all becomes automatic.

How to Use It

In short, when you discover a typo in one of your [english] message, do the following:

- Regenerate your POT and PO files.
  make -C po/ update-po # for message program translations
  debconf-updatepo      # for debconf translations
  po4a po4a.conf        # for po4a based documentation translations

or something else, depending on your project's building settings. You know how to make sure your POT and PO files are uptodate, don't you??

- Make a copy of your POT file.
  cp myfile.pot myfile.pot.orig
- Make a copy of all your PO files.
  mkdir po_fridge; cp *.po po_fridge
- Fix your typo.

$EDITOR the_file_in_which_there_is_a_typo

- Regenerate your POT and PO files.

See above.

At this point, the typo fix fuzzied all the translations, and this unfortunate change is the only one between the PO files of your main directory and the one from the fridge. Here is how to solve this.

- Discard fuzzy translation, restore the ones from the fridge.
  cp po_fridge/*.po .
- Manually merge the PO files with the new POT file, but taking the useless fuzzy into account.
  msguntypot -o myfile.pot.orig -n myfile.pot *.po
- Cleanups.
  rm -rf myfile.pot.orig po_fridge

You're done. The typo was eradicated from msgstr of both your POT and PO files, and the PO files were not fuzzyied in the process. Your translators love you already.

See Also

Despite its name, this tool is not part of the gettext tool suite. It is instead part of po4a. More precisely, it's a random Perl script using the fine po4a modules. For more information about po4a, please see:



 Martin Quinson (mquinson#debian,org)

Referenced By


2024-06-17 perl v5.40.0 User Contributed Perl Documentation