То есть как это "не понимает"? 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 <[email protected]> написал:
> 
>> Лично я в
момент раздумий, как бы прикрутить стандартные утилиты gettext к этой
задаче, вспомнил, на каком языке пишу, и делаю всё это средствами перла,
самописным скриптом. 
>> 
>> 2012/12/13 Иван Бессарабов
<[email protected]>
>> 
>>> А как ты экстрактишь вот эти pgettext
строки из template toolkit шаблонов? 
>>> 
>>> 12 декабря 2012 г., 23:07
пользователь Alexander Q <[email protected]>написал: 
>>> 
>>>> Я
использую Locale::TextDomain, который поддерживает контексты. 
>>>>
__p('new user form button', 'New'); 
>>>> __p('show only new books
link', 'new'); 
>>>> 
>>>> Вторую проблему я не понял. 
>>>> 
>>>>
2012/12/12 Ruslan Zakirov <[email protected]>
>>>> 
>>>>> 2012/12/12
Ruslan Zakirov <[email protected]>:
>>>>> 
>>>>>>> В мире 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
>>>>>
[email protected] | http://moscow.pm.org [1]
>>>> 
>>>> -- 
>>>> With
best regards,
>>>> Alexander Q mailto:[email protected] 
>>>> --
>>>>
Moscow.pm mailing list
>>>> [email protected] | http://moscow.pm.org
[1]
>>> 
>>> --
>>> Moscow.pm mailing list
>>> [email protected] |
http://moscow.pm.org [1]
>> 
>> -- 
>> With best regards,
>> Alexander Q
mailto:[email protected] 
>> --
>> Moscow.pm mailing list
>>
[email protected] | http://moscow.pm.org [1]

 

Links:
------
[1]
http://moscow.pm.org
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить