Entry tags:
Йаду не хватило
Снова задумался о применении геттекста в Mojolicious — существующий метод, когда вместо написания отдельных геттекстовых po--файлов прямо в перловый код засовывается что-то такое:
Написал на annocpan коммент, хотя сомневаюсь, что авторы получит его и пойдёт читать мануал по Locale::TextDomain. Похоже, процитированная в Locale::Maketext::TPJ13 статья вышла очень давно (first appeared in The Perl Journal #13 and is copyright 1999) и авторы о ней забыли.
our %Lexicon = (
'Add' => 'Добавить',
'Remove' => 'Удалить'
);
никоим образом не может считаться достойным. Порывшись по CPAN, добрёл по ссылкам до Locale::Maketext::TPJ13, где авторы ругают геттекст, приводя корявые якобы геттекстовые примеры обслуживания множественных чисел, надеясь оправдать этим существование собственного других модулей, которые не лучше.Написал на annocpan коммент, хотя сомневаюсь, что авторы получит его и пойдёт читать мануал по Locale::TextDomain. Похоже, процитированная в Locale::Maketext::TPJ13 статья вышла очень давно (first appeared in The Perl Journal #13 and is copyright 1999) и авторы о ней забыли.
no subject
#gettext в отрыве от #mojolicious
Не знаю, правильно ли, но оно работает. И переводит на нужный язык, и подбирает соответствующее число в зависимости от переданной цифры (в русском кое-где встречаются остатки двойственного числа). В геттекстовом мануале описаны правила подбора числа для 36 языков.
Как использовать пример:
- mkdir example locale po
- кладём скрипт в
- cd po; make
- cd ../example
- запустить можно двумя способами:
- при изменении текста в скрипте надо обновить исходные файлы переводов (*.po) — проще всего через cd po; make up (вместо up можно писать update), а затем, отредактировав в случае необходимости po-файлы, перекомпилять их — перейди на шаг 3.
Получается, что тут переводы отделены от исходного кода скриптов — можно поручить перевод людям, мало понимающим в программировании, но разбирающимся в иностранных языках.example
(у меня он назывался 1.pl), остальное — вpo
env LANGUAGE=ru ./1.pl
или
./1.pl ru
Вместо
ru
можно писать любой другой код. Если найдётся файл переводов — скрипт будет писать на выбранном языке, если на найдётся — на английской.Re: #gettext в отрыве от #mojolicious
Получить свежий пример можно с git://gist.github.com/737400.git — там уже всё разложено куда надо и добавлен маленький README.