[Catalyst] Multilanguage application
Brian Cassidy
brian.cassidy at nald.ca
Thu Aug 10 16:45:56 CEST 2006
Hi Renaud,
Renaud Drousies wrote:
> Hello,
>
> I am trying to figure out what would be the best way to have a
> multilanguage support in a catalyst application.
>
> I thought using a url-based method might be better since this site could
> be visited by people that do not accept cookies, or do not visit it from
> their home computer (and then could not have the Accept-Language header
> set correctly).
>
[* SNIP *]
> I was then wondering if that was the good way (and the one with less
> effort) to handle multilanguage sites with catalyst, without relying on
> cookies and accept-language headers. Any thoughts? :)
>
As you've noted, the Accept-Language header for a particular user agent
may not be set properly, however, there is a decent workaround that we
use for our apps:
NB: We're using apache 2 for this trick
1) Use the I18N plugin. This will give you the framework for a
multi-lingual app. It relies on the Accept-Language header, so, via the
test server you'll have to change your browser settings to test each
language.
2) Enable mod_headers
LoadModule headers_module modules/mod_headers.so
3) For a particular site, bind a url to a language by setting the
Accept-Language header explicitly.
Example, we have a news aggregator we call the "newswire". the urls are
set up as follows:
<VirtualHost *>
ServerName newswire.nald.ca
RequestHeader set Accept-Language en
# etc
</VirtualHost>
<VirtualHost *>
ServerName filsdepresse.bdaa.ca
RequestHeader set Accept-Language fr
# etc
</VirtualHost>
You could, if you wanted, bind the languages to /en/ and /fr/ off of one
particular url just as easily.
HTH,
-Brian
More information about the Catalyst
mailing list