Bashstyle-NG. Пример локализации приложения

    Намедни зашел на gnomefiles.org посмотреть, не появилось ли какого-нибудь нового интересного софта, или просто обновлений для того, что у меня уже установлено. Мое внимание привлекло обновление bashstyle-ng, графической утилиты для настройки внешнего вида командной строки. Честно говоря, утилиту даже и не пробовал в действии, так как подобные приблуды недолюбливаю и считаю излишними (нет, ну правда, порой ведь проще почитать man, и ручками поправить конфиги). Но мое внимание привлек комментарий автора утилиты:
    Looking for Translators!
    If you are willing to translate BS-NG into another language then English or German, send me a mail.
    If you don’t know how to translate — no problem! Just leave a comment about that in your mail and I'll instruct you.

    Первая мысль была примерно такой: «Хм, а смысл заморачиваться?». Следом ее настигла следующая: «Ну-у-у, я ведь как-никак приверженец opensource. Ну и что, что я не буду использовать эту утилиту? Не все ведь любят ковыряться в конфигах…». И правда, многие начинающие пользователи Unix/Linux не могут сходу разобраться в конфигах, более того, многие из них не сильны в английском, плюс ко всему, раз уж назвался приверженцем opensource, то и соответствовать следует. А посему было принято решение: «Помогем-c».

    Связался с автором, он дал мне инструкцию по локализации. Так как это был мой первый опыт, то говорить о том что те инструкции, которыми я руководствовался, универсальны я пока не стану, но тем не менее опишу что я делал, возможно кому-то пригодится.

    В директории с исходниками находим директорию "translations/po" (ну или что-то на это похожее). Затем выполняем внутри этой директории следующую команду:
    msginit -i ../pot/filename.pot -o filename-ru.po -l ru_RU

    При этом нужно учесть, что для выполнения этой команды нужен установленный gettext, настройка локали должна быть правильной (то есть echo $LC_ALL должно вернуть ru_RU.UTF-8), ну и следить за расположением каталогов в дереве исходников при наборе этой команды. Эта команда сформирует файл filename-ru.po, который будет содержать строки, типа
    msgid ="here_some_original_text"

    то есть строки с оригинальными текстами, а так же строки типа
    msgstr =""

    в которые, соответственно нужно внести наш перевод.

    После рутинной обработки файла переходим на каталог (или несколько каталогов) выше и ищем файлик filename.in. В этом файлике нам нужно найти приблизительно такую строку:
    langs += ["C", "de", "it"]

    то бишь список локалей, и исправить на нечто вроде этого:
    langs += ["C", "de", "it", "ru"]

    после чего переходим непосредственно к установке и тестированию:
    ./configure –prefix=/path/to/install
    make mo #генерируем бинарник с переводом
    make install

    и если все прошло нормально, то после запуска мы увидим локализованное приложение.

    Потратив всего пару часов я получил немалое удовольствие от проделанной работы, а после отправки языкового .po файла автору утилиты, получил письмо, которое подняло мое настроение еще больше:
    Wow! That was fast :)
    I just tested it, and the strings appear all.
    You can grab the latest svn (revision 500) and you’ll see yourself in
    the about-dialog (translators tab) :)

    Thanks a lot!
    Chris

    Помогайте людям, делитесь идеями, это здорово, правда :)
    Share post

    Comments 10

      +3
      Здорово…
        +3
        Респект и уважуха, полезное дело (:
          +3
          молодец
            +2
            Респект!
              +5
              для перевода (собственно редактирования po-файлов) есть удобный плагин для eclipse, www.gted.org/
                +3
                Для переводов .po файлов есть еще тулза poedit
                  0
                  а еще лучше kbabel
                    0
                    А ещё лучше — Lokalize )
                      0
                      Ух ты!
                      Отличная программа! Но в kbabel можно указать путь к сырцам и в процессе перевода в отдельном окошке смотреть на контекст — а здесь я такой возможности не нашел…
                  +4
                  Маленькая ссылка для тех, кто умеет переводить и готов помочь людям: https://translations.launchpad.net/ :)

                  Only users with full accounts can post comments. Log in, please.