Для чего используются разные форматы файлов gettext?

Я начал пытаться перевести несколько наиболее часто используемых текстовых записей в программе на C с помощью gettext, но, копаясь в этом, я немного запутался в отношении всех различных форматов файлов, поскольку, похоже, есть некоторое перекрытие в функциональности?

Я хотел бы получить обзор различных форматов

  • .po
  • .pot
  • .mo
  • .gmo
  • (другие форматы, которые я исключил?)

и учиться

  • Каков обычный рабочий процесс?
  • Что содержит этот формат файла?
  • Какие инструменты обычно используются?
  • Какие "противоположные" преобразования направления возможны (1)?

(1) Я знаю, что msgunfmt может конвертировать из .mo в .po, но поскольку .mo является окончательным конечным форматом, я предполагаю, что это не процесс без потерь. Т.е. если я конвертирую hello1.mo в hello2.po, а затем конвертирую из hello2.po в hello3.mo, я предполагаю, что hello1.mo и hello3.mo будут содержать идентичные языковые строки, но некоторая метаинформация будет потеряна по пути, Правильно?


person hlovdal    schedule 01.12.2010    source источник


Ответы (1)


Я мог ошибаться, но:

.pot - удобочитаемый файл шаблона gettext - это то, что вы бы дали переводчику (человеку?).

.po - удобочитаемый переведенный файл gettext на основе POT - это то, что вам дает переводчик.

.mo - машиночитаемый код (байт-код?), который будет использоваться PHP при фактическом переводе. Это то, что вы скармливаете php. Это общий формат, понятный большинству программ, но он может не поддерживать все функции gnu gettext. Здесь на помощь приходит ГМО.

.gmo - файлы, оканчивающиеся на .gmo, на самом деле являются MO-файлами, если известно, что эти файлы используют формат GNU.


Вы можете использовать poedit для обработки .pot -> .po -> .mo

дополнительная информация

P.S. С учетом сказанного - только программисты могут называть такие форматы, как PO или XML, удобочитаемыми. также - вам, вероятно, не нужно будет конвертировать .mo в .po ... ну ... По крайней мере, мне это не кажется обычным сценарием :)

person Stann    schedule 11.01.2011
comment
Проголосование только для программистов может назвать такие форматы, как PO или XML, удобочитаемыми, часто забываемыми, но очень верными. - person jforberg; 10.07.2014