Locale::Maketext::Extract (то что использует <a href="http://gettext.pl">gettext.pl</a> для парсинга) не умеет<br>доставать pgettext() и ngettext(), xgettext (который на c) умеет pgettext,<br>ngettext() и еще кучу всего, но не умеет работать с template toolkit.<div class="gmail_extra">

<br><br><div class="gmail_quote">13 декабря 2012 г., 12:48 пользователь iSage <span dir="ltr"><<a href="mailto:isage@aumi.ru" target="_blank">isage@aumi.ru</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<u></u>
<div>
<p>То есть как это "не понимает"? xgettext всеравно откуда доставать строки.</p>
<p>Я вот таким скриптом из ТТ доставал: <a href="http://pastie.org/5519469" target="_blank">http://pastie.org/5519469</a></p>
<p>А в ТТ использовал синтаксис l("some text")</p><div><div class="h5">
<p> </p>
<p>On 2012-12-13 12:28, Иван Бессарабов wrote:</p>
<blockquote type="cite" style="padding-left:5px;border-left:#1010ff 2px solid;margin-left:5px;width:100%">
<p>Совсем-совсем самопильными или ты что-то взял за основу с cpan?<br>Со станартным экстрактором xgettext есть проблема — он не понимает template toolkit.</p>
<div class="gmail_extra"><br><br>
<div class="gmail_quote">13 декабря 2012 г., 12:14 пользователь Alexander Q <span><<a href="mailto:qalexx@gmail.com" target="_blank">qalexx@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Лично я в момент раздумий, как бы прикрутить стандартные утилиты gettext к этой задаче, вспомнил, на каком языке пишу, и делаю всё это средствами перла, самописным скриптом.
<div>
<div>
<div class="gmail_extra"><br><br>
<div class="gmail_quote">2012/12/13 Иван Бессарабов <span><<a href="mailto:ivan@bessarabov.ru" target="_blank">ivan@bessarabov.ru</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">А как ты экстрактишь вот эти pgettext строки из template toolkit шаблонов?
<div class="gmail_extra"><br><br>
<div class="gmail_quote">12 декабря 2012 г., 23:07 пользователь Alexander Q <span><<a href="mailto:qalexx@gmail.com" target="_blank">qalexx@gmail.com</a>></span>написал:
<div>
<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Я использую 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">
<div>
<div><br><br>
<div class="gmail_quote">2012/12/12 Ruslan Zakirov <span><<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" target="_blank">ruz@bestpractical.com</a>>:<br>


<div>>> В мире 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,</div>
который тоже имеет свои проблемы. Из самых назойливых:<br> 1) короткие термины с многими значениями, типа new. Они могут<br> переводится по разному в зависимости от контекста. Контексты в<br> перловых модулях не поддерживаются. Можно обойти вводом контекста<br>

 прямо в текст и созданием перевода и для основного языка.<br> 2) loc("Created $type"). По другому нельзя, а список возможных типов<br> может быть большим.<br><br> И так далее и тому подобное.<br>
<div>
<div><br> --<br> Best regards, Ruslan.<br> --<br> Moscow.pm mailing list<br><a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a></div>


</div>
</blockquote>
</div>
<br><br clear="all">
<div> </div>
</div>
</div>
<div>-- <br>With best regards,<br>    Alexander Q                        mailto:<a href="mailto:qalexx@gmail.com" target="_blank">qalexx@gmail.com</a></div>
</div>
<br>--<br> Moscow.pm mailing list<br><a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br><br></blockquote>
</div>
</div>
</div>
</div>
<br>--<br> Moscow.pm mailing list<br><a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br><br></blockquote>
</div>
<br><br clear="all">
<div> </div>
-- <br>With best regards,<br>    Alexander Q                        mailto:<a href="mailto:qalexx@gmail.com" target="_blank">qalexx@gmail.com</a></div>
</div>
</div>
<br>--<br> Moscow.pm mailing list<br><a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br><br></blockquote>
</div>
</div>
</blockquote>
<p> </p>
<div> </div>
</div></div></div>
<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>
<br></blockquote></div><br></div>