[Moscow.pm] Мультиязычный сайт на Mojo

iSage isage на aumi.ru
Чт Дек 13 00:48:08 PST 2012


 

То есть как это "не понимает"? xgettext всеравно откуда доставать
строки. 

Я вот таким скриптом из ТТ доставал: http://pastie.org/5519469


А в ТТ использовал синтаксис l("some text") 

On 2012-12-13 12:28,
Иван Бессарабов wrote: 

> Совсем-совсем самопильными или ты что-то взял
за основу с cpan?
> Со станартным экстрактором xgettext есть проблема --
он не понимает template toolkit. 
> 
> 13 декабря 2012 г., 12:14
пользователь Alexander Q <qalexx на gmail.com> написал:
> 
>> Лично я в
момент раздумий, как бы прикрутить стандартные утилиты gettext к этой
задаче, вспомнил, на каком языке пишу, и делаю всё это средствами перла,
самописным скриптом. 
>> 
>> 2012/12/13 Иван Бессарабов
<ivan на bessarabov.ru>
>> 
>>> А как ты экстрактишь вот эти pgettext
строки из template toolkit шаблонов? 
>>> 
>>> 12 декабря 2012 г., 23:07
пользователь Alexander Q <qalexx на gmail.com>написал: 
>>> 
>>>> Я
использую Locale::TextDomain, который поддерживает контексты. 
>>>>
__p('new user form button', 'New'); 
>>>> __p('show only new books
link', 'new'); 
>>>> 
>>>> Вторую проблему я не понял. 
>>>> 
>>>>
2012/12/12 Ruslan Zakirov <ruz на bestpractical.com>
>>>> 
>>>>> 2012/12/12
Ruslan Zakirov <ruz на bestpractical.com>:
>>>>> 
>>>>>>> В мире Rails
принято хранить i18n в config/locales/$LANGCODE.yml
>>>>> >>
>>>>> >> В
шаблонах и в коде используются хэлперы типа
>>>>> >>
t(ключ_локализации_иерархия_черезз_точку, параметры).
>>>>> >>
>>>>> >>
ru:
>>>>> >> page:
>>>>> >> title: Привет, %1
>>>>> >>
>>>>> >>
Использование
>>>>> >>
>>>>> >> [%= t('page.title', customer_title)
%]
>>>>> >>
>>>>> >> В принипе, у меня есть заготовка модуля для CPAN,
могу выложить.
>>>>> >>
>>>>> >> По своей практике скажу, что
поддерживать такой код удобно.
>>>>> >>
>>>>> 
>>>>> Хоть такой код и
кособоко выглядит, но из простых альтернатив gettext, который тоже имеет
свои проблемы. Из самых назойливых:
>>>>> 1) короткие термины с многими
значениями, типа new. Они могут
>>>>> переводится по разному в
зависимости от контекста. Контексты в
>>>>> перловых модулях не
поддерживаются. Можно обойти вводом контекста
>>>>> прямо в текст и
созданием перевода и для основного языка.
>>>>> 2) loc("Created $type").
По другому нельзя, а список возможных типов
>>>>> может быть
большим.
>>>>> 
>>>>> И так далее и тому подобное.
>>>>> 
>>>>> --
>>>>>
Best regards, Ruslan.
>>>>> --
>>>>> Moscow.pm mailing list
>>>>>
moscow-pm на pm.org | http://moscow.pm.org [1]
>>>> 
>>>> -- 
>>>> With
best regards,
>>>> Alexander Q mailto:qalexx на gmail.com 
>>>> --
>>>>
Moscow.pm mailing list
>>>> moscow-pm на pm.org | http://moscow.pm.org
[1]
>>> 
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org |
http://moscow.pm.org [1]
>> 
>> -- 
>> With best regards,
>> Alexander Q
mailto:qalexx на gmail.com 
>> --
>> Moscow.pm mailing list
>>
moscow-pm на pm.org | http://moscow.pm.org [1]

 

Links:
------
[1]
http://moscow.pm.org
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20121213/e252dab7/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm