Описание тега gettext

Gettext - это библиотека интернационализации и локализации (i18n), которая обычно используется для написания многоязычных программ. Самая популярная его реализация - это проект GNU.

Gettext - это библиотека интернационализации и локализации (i18n), которая обычно используется для написания многоязычных программ. Самая популярная его реализация - это проект GNU.

I18n с gettext работает, размечая переводимые строки в исходном коде, обычно заключая их в оболочку с вызовом функции. Вxgettextинструмент извлекает эти строки и создает текстовый файл со списком их. Этот файл называется шаблоном, и его имя обычно заканчивается на ".pot".

В msginitинструмент создает новый текстовый файл, сопоставляющий извлеченные строки с их переводом в данной локали, с расширением ".po". Наконецmsgfmtинструмент создает оптимизированное представление сопоставлений перевода, которое затем используется во время выполнения. Для большинства программ это двоичный файл, заканчивающийся на ".mo", но также возможно создание других форматов, например java ResourceBundle.

Существуют специализированные редакторы для редактирования файлов ".mo", которые могут запоминать уже переведенные строки и содержать базы данных многократно используемых слов.