GNU\gettext

Résolu
TaKtOuK541 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   -  
loupius Messages postés 697 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,comme vous savez la bibliotheque gettext de lunix permet de cree de fichier internationaliser(standardiser les logiciels) mais ma problemme c'est comment fonctionne cet biliotheque
voila le demarche que j'ai comprit:

printf(gettext("the file named is %s .\n"),fn); // fn sert a quoi?

ensuite on appel a xgettext pour produire un fichier (.po) qui contien les chaine traduisible extrait du code

le traducteur initialise sa traduction
msginit --local=fr input= logiciel.pot
se qui produit un fichier fr.pot qui peut etre editer en trduisant la chain "msgstr"

msgid "the file named is %s .\n"
msgstr "the file named is %s .\n"
ensuite comiper le fichier fr.po avec msgfmt pour produir fr.mo(le standard)

????? j'ai pas compris exactement le fonctionement et les etapes
A voir également:

3 réponses

loupius Messages postés 697 Date d'inscription   Statut Membre Dernière intervention   148
 
printf(gettext("the file named is %s .\n"),fn); // fn sert a quoi?
simplement à remplacer le '%s'; n'oublie pas que:
int printf (const char* format, ...)
la bibliotheque gettext de lunix
tu voulais sans doute dire: la bibliothèque 'gettext' de GNU ;-)

Je ne vois pas ce que tu ne comprends pas, tu as tout dit. Peut-être ce détail: il faut modifier le fichier 'fr.po', par exemple:
msgid "the file named is %s .\n"
msgstr "le fichier indiqué est %s .\n"

Le fichier '.po' contient les lignes de texte à traduire, le fichier '.mo' est un fichier 'compilé' qui n'est plus du texte mais qui contient les chaînes mais qui est plus facilement exploitable.
Bonne continuation.
0
TaKtOuK541 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention  
 
merci loupius :)mais just je veut savoir comment le programmeur d'un logiciel libre utilise cet methode pour internationaliser son oeuvr?
il crée un fichier xx.mo pour chaque langue?
0
loupius Messages postés 697 Date d'inscription   Statut Membre Dernière intervention   148
 
A partir des sources il suffit de lancer la commande 'xgettext *.c' pour retrouver toutes les chaînes de 'gettext' dans un fichier sous la forme 'msgid msgstr'. Modifier le fichier et le compiler.
NB: je décris ce qui se passe sous Linux, peut-être ou sans doute est-ce pareil sous Windows ? Je te laisse essayer.
Bonne réflexion.
0