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

Alexander Q qalexx на gmail.com
Ср Дек 12 11:07:36 PST 2012


Я использую 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
>



-- 
With best regards,
    Alexander Q                        mailto:qalexx на gmail.com
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20121212/d67e0bc2/attachment-0001.html>


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