Лично я столкнулся с этим форматом файла локализации .mo в своей любимой программе FL Studio 20. Где Вы с ним столкнулись большого значения не имеет. Важно, чтобы Вы понимали, что файл локализации – это языковой файл программы.
2 слова о технологии
Технология использующая данный формат локализации называется gettext. Программа компилирующая .mo – называется Poedit. Исходным файлом перевода для компиляции .mo является файл .po. po – это текстовый файл формата 65001 (UTF-8) без BOM. Без bom - это без метки юникода вначале, поскольку .po использует код php. Как создается файл перевода .po? Теоретически, если я разработчик приложения и у меня есть исходный код, строки пользовательского интерфейса которого я хочу локализовать, то я ставлю такую библиотеку https://github.com/landrix/Gettext-for-Delphi/releases/tag/v1.2.2 с помощью которой создаю файл .po программным способом.
Теперь создам .po с помощью программы Poedit, если я разработчик
1. Скачаем и установим программу Poedit https://poedit.net/download
2. Откроем Poedit. В экране запуска выберем меню Файл – Создать.
Язык перевода – русский – ОК.
3. В окне программы выберем меню Файл - Сохранить как - default.po - Сохранить.
4. Щелкнем по файлу default.po – Извлечь из исходного кода – вкладка «Папки с исходными файлами». Под рамкой «Папки» выберем кнопку +
и опцию «Добавить папки» или «Добавить файлы» - ОК.
Теперь создам .po с помощью программы Poedit, если я пользователь
Исходного кода у меня нет, есть только файл .mo, который требуется декомпилировать. Функция декомпиляции .mo в бесплатной версии Poedit отсутствует, поэтому пойдем другим путем:
1. В директории C:\Program Files (x86)\Poedit\GettextTools папку bin копируем в папку «Документы» и переименуем в GettextTools.
2. В этой папке создадим файл test.bat со следующим содержанием:
msgunfmt.exe default.mo -o default.po
3. Файл default.mo, подлежащий декомпиляции поместим в эту же папку.
4. Запустим файл .bat.
5. Откроем полученный файл .po в Poedit и отредактируем строки msgstr "…"
(вообще-то в самом Poedit вы строк с таким именем не увидите. Это только если файл .po открыть в специализированном текстовом редакторе, типа AkelPad).
6. Сохраним изменения обратно в .mo и поместим в новую директорию Languages\ru\LC_MESSAGES или locale\ru\LC_MESSAGES
Вот в принципе, как это работает. На этом все, желаю удачи в переводе.