Описание тега gettext
Gettext - это библиотека интернационализации и локализации (i18n), которая обычно используется для написания многоязычных программ. Самая популярная его реализация - это проект GNU.
I18n с gettext работает, размечая переводимые строки в исходном коде, обычно заключая их в оболочку с вызовом функции. Вxgettext
инструмент извлекает эти строки и создает текстовый файл со списком их. Этот файл называется шаблоном, и его имя обычно заканчивается на ".pot".
В msginit
инструмент создает новый текстовый файл, сопоставляющий извлеченные строки с их переводом в данной локали, с расширением ".po". Наконецmsgfmt
инструмент создает оптимизированное представление сопоставлений перевода, которое затем используется во время выполнения. Для большинства программ это двоичный файл, заканчивающийся на ".mo", но также возможно создание других форматов, например java ResourceBundle.
Существуют специализированные редакторы для редактирования файлов ".mo", которые могут запоминать уже переведенные строки и содержать базы данных многократно используемых слов.