gettext

Top Page

Reply to this message
Author: Patrice Karatchentzeff
Date:  
To: Guilde
New-Topics: Less (was: gettext)
Subject: gettext
Salut,

Pour des raisons pratiques, j'ai choisi d'utiliser gettext sur mon
script pour l'i18niser.

Par contre, sur une Debian, j'ai un test-case qui capote...

J'ai suivi la doc suivante :

% zless /usr/share/doc/liblocale-gettext-perl/README.gz

(qui n'est que la doc du module Locale::gettext en plus développée)

Voici mon test-case :

% cat essai.pl
#!/usr/bin/perl

use warnings;
use strict;

# for i18n and l10n
#
use POSIX;
use Locale::gettext;

setlocale(LC_MESSAGES, "");
my $d = Locale::gettext->domain("essai");
$d->dir("/home/pk/Perso/Pdico/locale/");

print gettext("All you need is love"), "\n";

exit 0;


% cd ~/Perso/Pdico
% mkdir -p locale/fr/LC_MESSAGES
% xgettext -L Perl -d essai essai.pl
% cat essai.po # (après transformation)


# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-09-24 15:25+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@???>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"

#: essai.pl:15
msgid "All you need is love"
msgstr "Tout ce dont vous avez besoin est d'aimer"


% msgfmt essai.po -o essai.mo
% mv essai.mo locale/fr/LC_MESSAGES

% export LANG=C
% ./essai.pl
All you need is love

% export LANG=fr
% ./essai.pl
All you need is love.

J'ai tout essayé par ailleurs : marquer toutes les variables de
LC_ALL, changer fr en fr_FR (avec les transformations ad hoc),
utiliser un autre point d'accès (/usr/share/locale chez Debian), etc.

Je sèche.

Les locales du systèmes existent et sont bonnes :

# locale-gen
Generating locales...
en_AU.UTF-8... up-to-date
en_BW.UTF-8... up-to-date
en_CA.UTF-8... up-to-date
en_DK.UTF-8... up-to-date
en_GB.UTF-8... up-to-date
en_HK.UTF-8... up-to-date
en_IE.UTF-8... up-to-date
en_IN.UTF-8... up-to-date
en_NZ.UTF-8... up-to-date
en_PH.UTF-8... up-to-date
en_SG.UTF-8... up-to-date
en_US.UTF-8... up-to-date
en_ZA.UTF-8... up-to-date
en_ZW.UTF-8... up-to-date
fr_FR.ISO-8859-15@euro... up-to-date
fr_FR.ISO-8859-1... up-to-date
fr_FR.ISO-8859-15... up-to-date
fr_FR.UTF-8... up-to-date
Generation complete.


Une idée ?

Merci

PK

-- 
      |\      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:p.karatchentzeff@free.fr
     |,4-  ) )-,_. ,\ (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'\_)