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

iSage isage на aumi.ru
Чт Дек 13 01:20:44 PST 2012


 

ngettext не умеет, но умеет
l("%quant(%1,comment,comments)",post.ccount) 

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

> Locale::Maketext::Extract (то что использует
gettext.pl [3] для парсинга) не умеет
> доставать pgettext() и
ngettext(), xgettext (который на c) умеет pgettext,
> ngettext() и еще
кучу всего, но не умеет работать с template toolkit. 
> 
> 13 декабря
2012 г., 12:48 пользователь iSage <isage на aumi.ru> написал:
> 
>> То есть
как это "не понимает"? xgettext всеравно откуда доставать строки. 
>>

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

>> 
>> А в ТТ использовал синтаксис 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]
>> 
>> --
>> Moscow.pm mailing list
>>
moscow-pm на pm.org | http://moscow.pm.org [1]

 

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


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