Работа с файлами русификации .mo
Файлы с расширением .mo используются некоторыми программами, чтобы эти программы "заговорили" по-русски или на других языках. Пример такой программы – Makemkv. Иногда .mo ещё сжимают в формат .gz. Это даёт небольшую экономию в объёме, но я не вижу в этом сжатии смысла.
Файл .mo представляет собой скомпилированный файл. Исходный файл, из которого компилируется .mo, имеет расширение .po. Поэтому файл .mo напрямую в каком-либо эдиторе не открыть. Вначале его нужно декомпилировать в .po. Когда в поисковике задаёшь вопрос, чем открыть .mo, тебя посылают на этот сайт: [Для просмотра данной ссылки нужно зарегистрироваться] Что делать дальше – нигде толковых объяснений не даётся. Поэтому вижу необходимость в данной статье. Ну что ж, сходим по указанной ссылке. Изображение козла в левом верхнем углу все увидели? Очень символично. На этом гну-орг мы увидим море общих разглагольствований о свободном ПО и кучи всякой информации непонятно для чего. Похоже, только единицы там реально программируют и занимаются делом. Остальные пустобают. Как в океане пены отловить маленькую жемчужину? А вот как. Идём по находящейся на задворках ссылке: [Для просмотра данной ссылки нужно зарегистрироваться] Да эта ссылка должна находиться на самом видном месте, а всё остальное пустобайство – на задворках. Сразу видим, что программы эти делал тот самый значимая единица. Нам предложат статическую и динамическую (shared) компиляции. Статическая компиляция – это когда в самом теле программы .exe находится всё необходимое для её работы. Очень удобно и надёжно, хоть и программа при этом будет больше по размерам. Скачиваем архив (а не инсталлятор) static. Разархивируем. Идём в "bin" и достаём оттуда msgunfmt.exe. Идём "share" – "doc" – "gettext" и достаём оттуда файл справки msgunfmt.html. Всё остальное – в помойную яму. Смотрим на объёмчик программки. Ещё раз смотрим на козла, скачиваем портрет на память. Больше нам ничего на гну-сайте не потребуется. Вот так в огромном чане с супом из козлятины отлавливаем мозговую косточку. Я уверен, что никто на этом форуме не будет заниматься созданием программ от самого нуля. Ты либо возьмёшь готовый файл русификатора, либо используешь в качестве болванки файл другого языка и сделаешь его русским. Вот в этом ключе и будем рассматривать дальнейшие действия. В качестве примера возьмём этот mo. [Для просмотра данной ссылки нужно зарегистрироваться] пост № 24. Пишем такой bat-файл: msgunfmt.exe makemkv_rus.mo -o makemkv_rus.po Располагаем в одной папке msgunfmt.exe, bat и исходный .mo. Запускаем батник, и через секунду получаем исходный .po. В Сети бродит самодельный устанавливаемый в систему конвертер мо в по, создающий строку в контекстном меню. Я не вижу смысла грузить систему этой позавчерашней самодельщиной: не так уж и часто придётся тебе конвертировать мо в по. Попробуем открыть полученный по блокнотом. Можем получить абракадабру. Не переживай, это ненадолго. Идём сюда: [Для просмотра данной ссылки нужно зарегистрироваться] Скачиваем поэдит. Бесплатной версии более чем достаточно, про-извраты совсем не нужны. Запускаем поэдит. Настраиваем: "Файл" – "Параметры". На вкладке "Общие" все птицы убираем. На вкладке "Память переводов" тоже все птицы убираем. На вкладке "Обновления" тоже все птицы убираем. Вкладка "Дополнительно". "Перенос" – птицу убираем. Выпадающий список "Окончания строк:" ставим "Windows". При такой установке файл .po будет открываться блокнотом, но будет иметь размер аж на целых несколько килобайт побольше. "Сохранять форматирование существующих файлов" – птицу убираем. Важно понимать, что настройки вкладки "Дополнительно" влияют только на то, как будет сохранён файл .po, и абсолютно никак не влияют на скомпилированный файл .mo. OK. Открываем поэдитом файл по. "Вид" – ставим птицу у "Показывать номера строк". Попробуем сохранить по. Откроем сохранённый по блокнотом. Увидим, что мы всё видим. Возможно, это нам когда-либо пригодится. Снова открываем по поэдитом. Корректируем нужные строки. Сохраняем по. "Файл" – "Компилировать в формат MO…" Конечный продукт готов. Поджимать его архиватором в .gz или иное сжатие не вижу смысла. |
У поэдита есть один недостаток: он не позволяет вставлять новые строки-опции. А это может потребоваться, когда тебе достался файл с переводом не всех опций. Например, с таким я столкнулся в файле русификации makemkv. Вот тут нам пригодится описанный в основной статье подход, когда мы делаем так, чтобы .po мог читаться блокнотом.
Ищем файл с полным переводом на любом языке. Для makemkv это оказался итальянский. Копипастим блокнотом нужную строку из итальянского .po в наш, записываем в нужное место. Заменяем "чак бомбино сали" на наше, компилируем .mo, вот и всё. |
Часовой пояс GMT +1, время: 14:57. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot