problème d'utilisation de gettext
Salut les C,
j'ai le problème suivant avec gettext qui est en théorie assez simple d'utilisation:
1. L'on définis quelques macro appelant gettext
Code:
1 2 3 4 5 6
|
#include <libintl.h>
#define _(String) gettext (String)
#define gettext_noop(String) String
#define N_(String) gettext_noop (String) |
Puis l'on place ces quelques lignes au début de la fonction main(...)
Code:
1 2 3 4 5 6 7 8 9 10
|
int
main (int argc, char *argv[])
{
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
} |
Seulement je n'arrive pas a faire marcher la traduction en mettant les *.mo
dans un dossier de mon répertoire de travail de telle arborescence:
./my_prg
./my_prg/bin
./my_prg/source
./my_prg/share/my_prg
./my_prg/share/locale/fr/LC_MESSAGES/my_prg.mo
ou alors
./my_prg/share/my_prg/fr/LC_MESSAGES/mr_prg.mo
Alors je ne comprends pas pourquoi cela ne mache pas quand je modifie la variable d'environnement LANG ?
Alors que je définis:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
#ifdef PACKAGE
#undef PACKAGE
#define PACKAGE ./my_prg/bin/my_prg
#endif
#ifdef LOCALEDIR
#undef LOCALEDIR
#define LOCALEDIR ./my_prg/share/locale
#endif |
Toute aide est la bienvenue, merci pour vos réponses éclairées.