В чем разница между локализационными файлами .po, .mo и .pot?

25 мая 2016 г., 18:21:25
Просмотры: 57.5K
Голосов: 34

Я занимаюсь переводом сайта на WordPress и мне нужно лучше понять эти термины. Может кто-нибудь помочь с определениями и объяснить разницу между файлами .po, .mo и .pot при локализации WordPress?

0
Все ответы на вопрос 1
11
45

Это не какие-то собственные форматы WordPress, а просто типы файлов gettext, которые используются в WordPress.

В Глоссарии руководства по переводу даны следующие определения:

MO-файлы: MO (Machine Object) — это бинарный файл данных, содержащий объектные данные, используемые программой. Обычно применяется для перевода программного кода и может быть загружен или импортирован в программу GNU gettext.

PO-файлы: PO-файлы содержат непосредственно переводы. Для каждого языка существует свой PO-файл, например, для французского — fr.po, для немецкого — de.po, для американского английского — en-US.po.

POT-файлы: POT-файлы являются шаблонами для PO-файлов. Они содержат все строки для перевода, но без самих переводов. По сути, POT-файл — это пустой PO-файл, содержащий только исходные строки.

Технические детали форматов файлов можно найти в документации gettext:

25 мая 2016 г. 19:25:02
Комментарии

Итак, чтобы лучше понять, в двух словах, файлы .mo и .pot остаются нетронутыми (файл .mo по сути создается автоматически с помощью программы, например poedit)? Я до сих пор не понимаю, когда нам нужен файл .pot..

Yannis Dran Yannis Dran
27 февр. 2018 г. 02:41:20

Файл .pot используется, когда кто-то начинает новый файл .po для перевода на новый язык. Таким образом, рабочий процесс выглядит так: .pot (оригинальные строки) → .po (оригинальные строки и их перевод на конкретный язык) → .mo (скомпилированный бинарный результат).

Rarst Rarst
27 февр. 2018 г. 08:42:12

Ты имеешь в виду, что для работы переводов в теме должен быть перевод, который начинается с импорта файла .pot в poedit? Я игнорировал файл .pot (потому что тема, которую я рассматривал, только готова к локализации, но не имеет готовых переводов и не предоставляет файлов .pot), и после настройки файлов en-EN.po и .mo на предпочитаемый язык я не увидел изменений языка.

Yannis Dran Yannis Dran
27 февр. 2018 г. 14:45:16

Я бы посоветовал просто задать новый вопрос. :) Вы смешиваете свою очень специфичную проблему (не работает кастомизация) с очень общим вопросом (какие бывают форматы файлов).

Rarst Rarst
27 февр. 2018 г. 15:11:21

есть ли хорошие онлайн-ресурсы об этих файлах

Er. Amit Joshi Er. Amit Joshi
7 дек. 2018 г. 09:19:37

@Er.AmitJoshi Я добавил ссылки на технические детали, если вам интересны внутренние механизмы. :)

Rarst Rarst
11 дек. 2018 г. 10:19:33

У меня появилось несколько файлов .mo, и я подумал, что это может быть взлом из-за закодированного "мусора" внутри. Могут ли эти файлы создаваться без злого умысла? Путь: /wp-content/languages/themes/twentytwenty-en_GB.mo

landed landed
19 нояб. 2019 г. 12:48:27

@landed да, файлы mo имеют бинарный формат, они не предназначены для чтения человеком.

Rarst Rarst
19 нояб. 2019 г. 13:23:16

Могут ли файлы .mo содержать вредоносный код? Я в замешательстве, ведь я даже удалил эту тему, так что же создаёт эти файлы?

landed landed
20 нояб. 2019 г. 14:10:39

Что означает "PO"?

Aaron Franke Aaron Franke
17 июн. 2020 г. 02:20:12

Это Portable Object (переносимый объект).

Rarst Rarst
17 июн. 2020 г. 14:23:48
Показать остальные 6 комментариев