GNU\gettext
Résolu
TaKtOuK541
Messages postés
119
Statut
Membre
-
loupius Messages postés 789 Statut Membre -
loupius Messages postés 789 Statut Membre -
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
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:
- GNU\gettext
- Gnu octave - Télécharger - Édition & Programmation
- Gnu solfege - Télécharger - Création musicale
- Gnu grub version 2.06 - Forum MacOS
- Gnu cobol - Forum Applis & Sites
- Kali gnu/linux rolling kali tty1 ✓ - Forum Linux / Unix
3 réponses
printf(gettext("the file named is %s .\n"),fn); // fn sert a quoi?
simplement à remplacer le '%s'; n'oublie pas que:
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:
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.
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.
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?
il crée un fichier xx.mo pour chaque langue?
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.
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.