Avoir les QMessageBox traduits
De WikiDeveloppez.
(Différences entre les versions)
(Nouvelle page : '''' Avoir les QMessageBox traduits (Yes/No => Oui/Non ), même avec cx_freeze '''' [mise à jour le 13/2/2015] ===== Problématique ===== Vous avez fait un joli programme en PyQt...) |
|||
Voilà le code à insérer (Python 3), ce qui donnera pour le code de démarrage standard: | Voilà le code à insérer (Python 3), ce qui donnera pour le code de démarrage standard: | ||
- | < | + | <tt> |
from PyQt4 import QtCore, QtGui | from PyQt4 import QtCore, QtGui | ||
# ... | # ... | ||
fen.show() | fen.show() | ||
sys.exit(app.exec_()) | sys.exit(app.exec_()) | ||
- | </ | + | </tt> |
===== Solution pour un exécutable "cx_freeze" ===== | ===== Solution pour un exécutable "cx_freeze" ===== | ||
* 1- pendant le traitement par cx_freeze, il faut recopier le contenu du répertoire cherché (répertoire translations de PyQt4 à trouver en fonction de votre OS) dans un sous-répertoire "translations". Cela peut se faire automatiquement en utilisant l'option "include_files": | * 1- pendant le traitement par cx_freeze, il faut recopier le contenu du répertoire cherché (répertoire translations de PyQt4 à trouver en fonction de votre OS) dans un sous-répertoire "translations". Cela peut se faire automatiquement en utilisant l'option "include_files": | ||
- | |||
Pour le setup.py de cx_freeze (en plus des éventuelles autres copies à faire par l'option "include_files"): | Pour le setup.py de cx_freeze (en plus des éventuelles autres copies à faire par l'option "include_files"): | ||
- | < | + | <tt> |
if sys.platform == "win32": | if sys.platform == "win32": | ||
repexe = os.path.dirname(sys.executable) # repertoire de python.exe | repexe = os.path.dirname(sys.executable) # repertoire de python.exe | ||
else: | else: | ||
pass # cas du Mac OSX non traité ici | pass # cas du Mac OSX non traité ici | ||
- | </ | + | </tt> |
* 2- il faut donner la possibilité au programme exécutable de trouver les fichiers de traduction: on fait ça facilement avec un simple fichier qt.conf qui donne les bonnes adresses: | * 2- il faut donner la possibilité au programme exécutable de trouver les fichiers de traduction: on fait ça facilement avec un simple fichier qt.conf qui donne les bonnes adresses: | ||
- | |||
Fichier qt.conf, à placer simplement au même niveau que l'exécutable (exe sous Windows): | Fichier qt.conf, à placer simplement au même niveau que l'exécutable (exe sous Windows): | ||
- | < | + | <tt> |
[Paths] | [Paths] | ||
Translations = translations | Translations = translations | ||
- | </ | + | </tt> |
Et là, ça marche dans tous les cas. | Et là, ça marche dans tous les cas. | ||
A noter aussi que ce qui précède pour le répertoire "translations" (recopie et adresse) vaut aussi pour le répertoire "plugins" qui permettra, entre autres, à votre exécutable de retrouver les pilotes d'accès aux systèmes de gestion de base de données (sqlite3, mysql, ...). | A noter aussi que ce qui précède pour le répertoire "translations" (recopie et adresse) vaut aussi pour le répertoire "plugins" qui permettra, entre autres, à votre exécutable de retrouver les pilotes d'accès aux systèmes de gestion de base de données (sqlite3, mysql, ...). | ||
- | |||
- | |||
- |