<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body>
<p>ngettext не умеет, но умеет l("%quant(%1,comment,comments)",post.ccount) </p>
<p>On 2012-12-13 13:04, Иван Бессарабов wrote:</p>
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px; width:100%"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<p>Locale::Maketext::Extract (то что использует <a href="http://gettext.pl">gettext.pl</a> для парсинга) не умеет<br />доставать pgettext() и ngettext(), xgettext (который на c) умеет pgettext,<br />ngettext() и еще кучу всего, но не умеет работать с template toolkit.</p>
<div class="gmail_extra"><br /><br />
<div class="gmail_quote">13 декабря 2012 г., 12:48 пользователь iSage <span><<a href="mailto:isage@aumi.ru">isage@aumi.ru</a>></span> написал:<br />
<blockquote class="gmail_quote" style="margin: 0  0  0  .8ex; border-left: 1px  #ccc  solid; padding-left: 1ex;"><span style="text-decoration: underline;"></span>
<div>
<p>То есть как это "не понимает"? xgettext всеравно откуда доставать строки.</p>
<p>Я вот таким скриптом из ТТ доставал: <a href="http://pastie.org/5519469">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 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">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">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">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">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>>> В мире 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">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org">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">qalexx@gmail.com</a></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">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">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org">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">qalexx@gmail.com</a></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">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">http://moscow.pm.org</a><br /><br /></blockquote>
</div>
</div>
</blockquote>
<p> </p>
<div> </div>
</body></html>