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

Ruslan Zakirov ruz на bestpractical.com
Ср Дек 12 14:55:55 PST 2012


2012/12/13 iSage <isage на aumi.ru>:
> 2) Locale::Maketext поддерживает bracket notation.
>
> Т.е.  loc("Created [_1]", $type);
>
> Ежели я правильно понял проблему.

Неправильно :) Здесь нельзя использвовать шаблон. Тип нужно тоже первести.

loc("Created [_1]", loc($type))

Тоже неверно. Попрбуйте перевести на великий и могучий пару вариантов
и все поймете.

Далее нужно решать проблему. И опять на выручку можно призвать
контексты или как я написал ранее. Можно как я написал изначально, но
сделать разумное выдергивание строк становится гораздо сложнее и
геморней. Вот и сиди думай как удобнее все сделать.


> On 2012-12-12 22:19, Ruslan Zakirov wrote:
>
> 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
>



-- 
Best regards, Ruslan.


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