perl-i18n

Re: Perl, setlocale and Apache

2006-05-15 12:46:46
Le samedi 13 mai 2006 à 23:02 +0200, Claude Paroz a écrit :
Hi,

I'm trying to localise some web pages written with Perl scripts.
Here is a sample script I'm using to test :

#!/usr/bin/perl
use CGI qw(:all);
use Locale::gettext;
use POSIX;

POSIX::setlocale(LC_MESSAGES, "fr");
textdomain "libc";

my $q = new CGI;
print $q->header;
print $q->start_html(-title=>"Admin Login");
print $q->p(gettext("write incomplete"));
print $q->end_html;

If I run the script in the command line (perl test.pl), I'm getting the
message in French ("write incomplete" -> "écriture incomplète").

When I run the same script through my local Apache server
(http://localhost/cgi-bin/test.pl), the message is always in English, as
if the setlocale command had no effect.

Is there a solution ?

Mmmh... Seems like Apache is more strict about the syntax of the
setlocale parameter. I had to provide the ll_CC syntax (fr_FR,
en_US, ...) of an existing ISO8859-1 locale on my system to make it
work. If I want to use UTF-8, I even have to tell explicitly :
fr_FR.utf8 ...).

Regards.

Claude 

<Prev in Thread] Current Thread [Next in Thread>