Конвертер MO в PO
Декомпилировать бинарный файл GNU gettext .mo обратно в читаемый исходный код .po. Работает полностью в вашем браузере — без загрузки.
Ввод
Выберите файл .mo. Файл декодируется локально — никогда не загружается.
Вывод
Другие способы использовать этот инструмент
REST API
curl -X POST https://api.iotools.cloud/v1/tool/mo-to-po \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"file": "data:application/octet-stream;base64,3hIElQAAAAA…"
}'Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.
Спросите у ИИ-агента
Use the IOTools `mo-to-po` tool (MO to PO Converter) on this input:
YOUR_INPUT_HEREВставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.
Виджет для встраивания
<iframe
src="https://iotools.cloud/embed/mo-to-po/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Конвертер MO в PO — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.
| Стоимость вызова API/MCP | От 5 кредитов |
|---|
Также доступно через
Руководства
Файл .mo (Machine Object) — это скомпилированная бинарная форма каталога переводов GNU gettext — формат, который PHP, Python, glibc и WordPress фактически загружают во время выполнения. Его быстро читать в коде, но невозможно редактировать вручную. Этот конвертер декомпилирует файл .mo обратно в простой текстовый исходный код .po, так что вы можете читать или редактировать переводы без установки gettext или цепочки инструментов PHP/Python.
Как его использовать
Загрузите свой файл .mo — файл полностью декодируется в вашем браузере и никогда его не покидает. Декомпилированный исходный код .po появляется мгновенно; скопируйте его или загрузите как messages.po.
Что поддерживается
- Оба порядка байтов — файл
.moможет быть little-endian или big-endian в зависимости от машины, которая его скомпилировала. Оба автоматически определяются по волшебному числу файла, какmsgunfmtи любой другой реальный читатель gettext. - Формы множественного числа — кодирование множественного числа GNU gettext с разделением NUL разбивается на
msgid_pluralи индексируемыеmsgstr[0],msgstr[1], …. - Контексты сообщений — скомпилированный ключ
msgctxtразбивается на его собственную строкуmsgctxt, соответствуя тому, что скомпилированоpgettext()/_x(). - Многострочный вывод — длинная переведённая строка (в первую очередь заголовок каталога с его метаданными
Content-Type/Plural-Forms) обёрнута в цитируемые строки продолжения так, как их форматируетmsgunfmt, вместо одной нечитаемо длинной строки.
Что теряется при компиляции
Файл .mo не содержит нечётких маркеров или комментариев — msgfmt удаляет их при компиляции, а комментарии переводчика, ссылки на исходные файлы и флаги #, fuzzy просто исчезают из бинарного файла. Декомпиляция не может восстановить то, что никогда не было скомпилировано, поэтому вывод содержит только чистые пары msgid/msgstr.
Конфиденциальность
Всё происходит на стороне клиента — чтение бинарного контейнера .mo и его рендеринг как текста .po оба работают в вашем браузере. Ничего не загружается на сервер.
Вывод не выглядит идентичным моему исходному файлу .po
Это ожидаемо. Компиляция .mo по дизайну имеет потери (см. выше) — нечёткие флаги, комментарии и ссылки на источники не сохраняются при обратном преобразовании, и записи возвращаются отсортированными так, как их сохранил msgfmt, а не в порядке вашего исходного файла.
Мне нужно сделать обратное, из редактируемого .po в скомпилированный .mo
Используйте Конвертер PO в MO — точный обратный этому инструменту, также полностью на стороне клиента.
Для редактирования других структурированных форматов перевода/конфигурации см. Форматер Java Properties File.