Videoforum - форум о видео и не только!

Videoforum - форум о видео и не только! (http://videoforums.ru/index.php)
-   Софт и игры (http://videoforums.ru/forumdisplay.php?f=35)
-   -   Работа с файлами русификации .mo (http://videoforums.ru/showthread.php?t=7521)

Жрец Нефтиды 29.01.2018 08:25

Работа с файлами русификации .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 или иное сжатие не вижу смысла.

Жрец Нефтиды 09.03.2018 09:23

У поэдита есть один недостаток: он не позволяет вставлять новые строки-опции. А это может потребоваться, когда тебе достался файл с переводом не всех опций. Например, с таким я столкнулся в файле русификации makemkv. Вот тут нам пригодится описанный в основной статье подход, когда мы делаем так, чтобы .po мог читаться блокнотом.
Ищем файл с полным переводом на любом языке. Для makemkv это оказался итальянский. Копипастим блокнотом нужную строку из итальянского .po в наш, записываем в нужное место. Заменяем "чак бомбино сали" на наше, компилируем .mo, вот и всё.


Часовой пояс GMT +1, время: 23:03.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot