bonjour,
dans mon fichier .po, j'ai des accents pour le francais, logique. mais à l'exécution, le programme plante, en disant "UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)"
du coup j'ai voulu utiliser de l'unicode, et mettre "à la main" les accents dans les fichiers .po, avec des \u00e9 etc. mais dans ce cas, c'est la génération des fichiers .mo qui merde => le "\" est considéré comme un caractère invalide.
Que dois-je faire pour que ça marche bien ?
une question subsidiaire :
mes fichiers .mo sont rangés dans un dossier "locale", situé à la racine de l'application. du coup le "gettext.install("monAppli", "./locale", unicode=True)" ne marche que si l'application est lancée depuis son repertoire courant.
une astuce consiste à utiliser
Code :
- basepath = os.path.abspath(os.path.dirname(sys.argv[0]))
- directory = os.path.join(basepath, "locale" )
|
ça marche assez bien mais si l'application est lancée par un lien symbolique, ça ne marche plus !
comment faire ?
merci !