Ваш способ вроде ничего. Но для пущей общности я бы ввел в вашем движке понятие "статической страницы", код которой хранится в базе и может редактироваться/переводиться через веб-интерфейс. Это, конечно, уже будет не статика, но с нормальном кэшированием должно быть ОК.<br>
<br><div class="gmail_quote">21 июля 2012 г., 10:54 пользователь Sergey Malochinskiy <span dir="ltr"><<a href="mailto:sergey.malochinskiy@gmail.com" target="_blank">sergey.malochinskiy@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Исправление.<br>
<br>
строку:<br>
<div class="im">  my $pagetext = $self->staticpage_get($self->param('page')); # helper<br>
возвращающий html код страницы из БД по параметру в GET<br>
<br>
</div>читать как:<br>
 my $pagetext = $self->staticpage_get($self->param('page'), $lang); #<br>
helper возвращающий html код страницы из БД по параметру в GET на<br>
языке пользователя<br>
<br>
21 июля 2012 г., 10:52 пользователь Sergey Malochinskiy<br>
<<a href="mailto:sergey.malochinskiy@gmail.com">sergey.malochinskiy@gmail.com</a>> написал:<br>
<div class="HOEnZb"><div class="h5">> Я делаю это так.<br>
><br>
> Есть контроллер объявленный как route<br>
> # Route for static pages such as help, faq... etc<br>
>   $r->route('/:page', page => [$self->staticpages])->via('GET')<br>
>     ->to('static#pages')->name('static_pages');<br>
><br>
> $self->staticpages возвращает список доступных страниц, быстро<br>
> заменяется например на qw/help about/<br>
><br>
> Сама функция проще некуда:<br>
> sub pages {<br>
>   my $self = shift;<br>
><br>
>  my $lang = $self->languages;   # язык пользователя плагин i18n<br>
>  my $pagetext = $self->staticpage_get($self->param('page')); # helper<br>
> возвращающий html код страницы из БД по параметру в GET<br>
><br>
>   return $self->render(<br>
>     pagetext => $pagetext      # передача текста страницы в шаблон<br>
>   );<br>
> }<br>
><br>
> Сам шаблон выглядит так:<br>
> % layout 'default';<br>
>           <%= Mojo::ByteStream->new($pagetext) %><br>
><br>
> Для формирования URL для статической страницы использую конструкцию:<br>
> <a href="<%= url_for 'static_pages', page => 'help' %>"><%= l 'url_help' %></a><br>
><br>
><br>
> 20 июля 2012 г., 15:27 пользователь Grigory Batalov <<a href="mailto:grisxa@gmail.com">grisxa@gmail.com</a>> написал:<br>
>> В Fri, 20 Jul 2012 13:36:22 +0400<br>
>> Sergey Malochinskiy <<a href="mailto:sergey.malochinskiy@gmail.com">sergey.malochinskiy@gmail.com</a>> пишет:<br>
>><br>
>>> Сделать один шаблон. Наполнение на разных языках хранить в БД или<br>
>>> файлах. В контроллере вытягивать из БД или файла и через stash<br>
>>> передавать в шаблон.<br>
>><br>
>> Например, так?<br>
>><br>
>> page.help:<br>
>><br>
>> use utf8;<br>
>> {<br>
>>     ru => {<br>
>>         page1 => 'help1',<br>
>>         page2 => 'help2',<br>
>>     },<br>
>>     en => {<br>
>>         page1 => 'help3',<br>
>>         page2 => 'help4',<br>
>>     },<br>
>> }<br>
>><br>
>> контроллер:<br>
>><br>
>> my $help = do  $self->config->{'mojo'}->{'page_help'};<br>
>><br>
>> $self->stash( help => $help->{ $self->stash->{'i18n'}->{'language'} }->{ $page } );<br>
>><br>
>>> > Мне нужно вставить в проект статические страницы с описанием<br>
>>> > ("справку") на разных языках. С организационной точки зрения было<br>
>>> > бы удобно разложить каждую справку в отдельный файл и отдать<br>
>>> > документаторам:<br>
>>> ><br>
>>> > help/en/page1.html.ep<br>
>>> > help/en/page2.html.ep<br>
>>> > help/ru/page1.html.ep<br>
>>> > help/ru/page2.html.ep<br>
>>> > ...<br>
>>> ><br>
>>> > Но как их потом включать в шаблон страниц?<br>
>>> > Я пока что выкрутился так: в page1.html.ep вставляю директиву<br>
>>> ><br>
>>> > %= include 'help/' . $self->stash->{'i18n'}->{'language'} . '/page1'<br>
>>> ><br>
>>> > Может быть, есть способ красивее, удобнее и т.д.?<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>
><br>
><br>
> --<br>
> Best regards,<br>
> Sergey Malochinskiy<br>
<br>
<br>
<br>
--<br>
Best regards,<br>
Sergey Malochinskiy<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>С уважением, Александр<br>Личный блог: <a href="http://eax.me/" target="_blank">http://eax.me/</a><br>Мой форум: <a href="http://it-talk.org/" target="_blank">http://it-talk.org/</a><br>
Мой Twitter: <a href="http://twitter.com/afiskon" target="_blank">http://twitter.com/afiskon</a><br><br>