<div dir="ltr">Hi,<div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 5, 2013 at 5:39 PM, Yanick Champoux <span dir="ltr">&lt;<a href="mailto:yanick@babyl.dyndns.org" target="_blank">yanick@babyl.dyndns.org</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Fri, Jul 05, 2013 at 05:19:37PM +0100, Pedro Melo wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; I&#39;m being asked to write a webapp for a site that will have three versions<br>
&gt; for, one for each language.<br>
&gt;<br>
&gt; The current idea is to use <a href="http://site.tld/en/" target="_blank">http://site.tld/en/</a>, <a href="http://site.tld/de/" target="_blank">http://site.tld/de/</a> and<br>
&gt; <a href="http://site.tld/fr/" target="_blank">http://site.tld/fr/</a>.<br>
&gt;<br>
&gt; I&#39;ll need to think this over on how to do this with Dancer2, but I want to<br>
&gt; reuse as much as possible of the routes between the three sites.<br>
&gt;<br>
&gt; Does anybody did this before and can share a strategy? My current best<br>
&gt; solution for this would be to had a hook as soon as possible and remove the<br>
&gt; first level path if it matches one of the languages we support and set a<br>
&gt; var for it.<br>
&gt;<br>
&gt; Any other suggestions?<br>
<br>
</div>In the same vein:<br>
<br>
use Dancer2;<br>
<br>
<br>
get &#39;/*/**&#39; =&gt; sub {<br>
    var lang =&gt; (splat)[0];<br>
    pass;<br>
};<br>
<br>
prefix &#39;/*&#39;;<br>
<br>
my %greeting = (<br>
    en =&gt; &#39;howdie&#39;,<br>
    fr =&gt; &#39;bonjour&#39;,<br>
    de =&gt; &#39;hallo&#39;,<br>
);<br>
<br>
get &#39;/welcome&#39; =&gt; sub {<br>
    return $greeting{ var &#39;lang&#39; };<br>
};<br>
<br></blockquote><div><br></div><div style>Yeah, this is similar to what I was playing with...</div><div style> </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Another idea (and I&#39;m just thinking out loud, so take all<br>
here with a grain of salt) could be to have a nginx or apache<br>
 reverse proxy taking in the urls /de/*, /fr/*, /en/*, rewrite<br>
them as the prefix-less &#39;*&#39;, and pass the language as an<br>
environment variable.<br></blockquote><div><br></div><div style>Also though of that, and I might be going this route. The big disadvantage is that url_for doesn&#39;t work properly anymore. </div><div style><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

In the same vein, you could have en.site.tld, fr.site.tld, etc.<br></blockquote><div><br></div><div style>This the client doesn&#39;t want. I tried.</div><div style><br></div><div style>Thanks,</div></div>-- <br>Pedro Melo<br>

@pedromelo<br><a href="http://www.simplicidade.org/" target="_blank">http://www.simplicidade.org/</a><br><a href="mailto:xmpp%3Amelo@simplicidade.org" target="_blank">xmpp:melo@simplicidade.org</a><br>mailto:<a href="mailto:melo@simplicidade.org" target="_blank">melo@simplicidade.org</a>
</div></div>