shoorick: (Рыжий)
Раз уж в третьем OJS так и не добавили многоязычность, попробую портировать свой хак на последнюю из версий второй ветки — 2.4.8.1. В прошлый раз, когда портировал из 2.4.2 на 2.4.7.1, обошёлся изменением не более, чем семидесяти трёх файлов, хотя если поискать все, где попадаются слова firstname, middlename, lastname, fullname и citation, получится почти в пять раз больше. И это ещё без учёта файлов с переводами */locale/*.xml

diff

Поглядим через неделю-другую, что получится.

http://shoorick.ru/2016/10/04/ojs-bug-5598-porting-2481/
shoorick: (Рыжий)
Как и ожидалось, Open Conference Systems, якобы не имеющая русской локализации, при должном применении напильника вполне способна использовать великий и могучий. В каталоге lib/pkp даже можно найти русские локализационные XML-файлы. Вообще весь этот каталог lib/pkp — общий и для OCS, и для OJS, что видно по гитхабу. Правда, в свежей версии Open Journal Systems переводов всё-таки побольше. Похоже, OCS, как не особо активно развиваемый продукт, содержит в себе копию lib/php трёхлетней давности, во всяком случае файлы lib/php/locale/ru_RU/*.xml — как раз 2012 года. Надо провести эксперимент — подсунуть в древнюю OCS 2.3 переводы из свежей OJS 2.4.7-1 — скорее всего, хуже не будет. Я пока заметил только один недостаток, мешающий тупо скопировать локализационные файлы: “User Home” переведено как «Мои журналы» — как-то неправильно показывать такое на сайте конференции.

Кстати, коллеги, кто-нибудь пробовал использовать Open Conference Systems для создания сайтов конференций? WordPress и mojowka для этого плохо подходят (хотя можно и с ними — я так делал) — хочется всё-таки использовать специализированное решение, избежав при этом танцев по граблям.

http://shoorick.ru/2015/12/09/ocs-translation/
shoorick: (Default)
Решил перевести документацию по лилипонду на русский. Начал с ЧаВо: http://translated.by/you/lilypond-frequently-asked-questions/

Желающие могут присоединиться.
shoorick: (В бабочке)
Лишь сегодня узнал, что исполняемая мужским хором на русском языке «Ты прекрасна, о родина наша» по тексту ничуть не похожа на «Coro di schiavi ebrei». Правильнее было бы, наверное, сказать, что русский текст переводом совсем не является. И в нём не упоминаются ни Иордан, ни Сион, ни Иерусалим, которые есть в итальянском либретто.
shoorick: (Рыжий)
  1. Держать по несколько версий одного и того же скрипта, отличающихся лишь выводимыми строками — неправильно. Значит, надо разобраться с интернационализацией.
  2. Пытаюсь понять, как использовать gettext в перлосриптах. Пока не совсем понятно. Толковую доку на русском не нагуглил, пытаюсь понять на аглицком.
  3. Глядя в мануал и творчески применяя напильник, сотворил скрипт (тут приведена далеко не первая итерация):
    #!/usr/bin/perl -w
    use strict;
    
    use Locale::gettext;
    use POSIX;
    setlocale( LC_MESSAGES, '' );
    
    # OO interface
    my $d = Locale::gettext->domain_raw( 'man_1' );
    $d->dir( 'i18n' );
    
    # __ is alias for $d->get
    sub __ ($) { $d->get( shift ) }
    
    print __ 'Hello world!', "\n";
    print gettext( 'Who they are?!' ), "\n";
    print $d->get( 'Goodbye world!' ), "\n";
    
    добыл список строк командой xgettext, добавил к нему перевод (можно вручную, можно задействовать kbabel), скомпилировал при помощи msgfmt, сложил полученный перевод в ./i18n/ru_RU.UTF-8/LC_MESSAGES, подвожу итоги:
    • gettext обнаруживается xgettext'ом, но не работает (в мануале: Perl programs should use the object interface.)
    • $d->get работает, но отвратительно выглядит (что обходится вводом псевдонима — функции __) и не обнаруживается xgettext'ом
    • __ работает, выглядит хорошо, но тоже не обнаруживается xgettext'ом.
  4. Исходя из имеющейся ситуации самым правильным, наверное, будет научить xgettext находить в исходнике те строки, перед которыми стоит __
  5. Пошёл читать мануал дальше...
upd/19:30: xgettext можно научить понимать разные ключевые слова: запущенный с ключами -k__ -kget, он всё находит. Завтра попробую применить на практике.

Profile

shoorick: (Default)
shoorick

December 2016

S M T W T F S
    1 23
45678910
11121314151617
18 19 2021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 20th, 2017 02:34 pm
Powered by Dreamwidth Studios