[Moscow.pm] Мультиязычный сайт на Mojo
Oleg Alistratov
ali на ali.org.ua
Ср Дек 12 11:00:19 PST 2012
Где-то валялись у меня старые модули с поддержкой и доменов, и контекстов в gettext,
плюс набор функций для прошивания в Template::Toolkit, попробую найти.
Однако — да, gettext имеет проблемы, ну например, может рухнуть во время замены .mo файлов.
12.12.2012, 20:19, "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
--
Oleg Alistratov
Подробная информация о списке рассылки Moscow-pm