Я использую Locale::TextDomain, который поддерживает контексты.<div>__p('new user form button', 'New');</div><div>__p('show only new books link', 'new');</div><div><br><div>Вторую проблему я не понял.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">2012/12/12 Ruslan Zakirov <span dir="ltr"><<a href="mailto:ruz@bestpractical.com" target="_blank">ruz@bestpractical.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2012/12/12 Ruslan Zakirov <<a href="mailto:ruz@bestpractical.com">ruz@bestpractical.com</a>>:<br>
<div class="im">>> В мире Rails принято хранить i18n в config/locales/$LANGCODE.yml<br>
>><br>
>> В шаблонах и в коде используются хэлперы типа<br>
>> t(ключ_локализации_иерархия_черезз_точку, параметры).<br>
>><br>
>> ru:<br>
>>   page:<br>
>>     title: Привет, %1<br>
>><br>
>> Использование<br>
>><br>
>> [%= t('page.title', customer_title) %]<br>
>><br>
>> В принипе, у меня есть заготовка модуля для CPAN, могу выложить.<br>
>><br>
>> По своей практике скажу, что поддерживать такой код удобно.<br>
>><br>
<br>
Хоть такой код и кособоко выглядит, но из простых альтернатив gettext,<br>
</div>который тоже имеет свои проблемы. Из самых назойливых:<br>
1) короткие термины с многими значениями, типа new. Они могут<br>
переводится по разному в зависимости от контекста. Контексты в<br>
перловых модулях не поддерживаются. Можно обойти вводом контекста<br>
прямо в текст и созданием перевода и для основного языка.<br>
2) loc("Created $type"). По другому нельзя, а список возможных типов<br>
может быть большим.<br>
<br>
И так далее и тому подобное.<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
Best regards, Ruslan.<br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>With best regards,<br>    Alexander Q                        mailto:<a href="mailto:qalexx@gmail.com">qalexx@gmail.com</a><br>
</div>