application = 'coincoin' import gettext if os.name == 'nt': # Code pour Microsoft Windows # Chemin du dossier locale sous windows win_local_path = os.path.abspath (os.path.join(os.path.pardir, 'locale')) # Code pour une éventuelle interface glade gtk.glade.bindtextdomain(application, win_local_path) gtk.glade.textdomain(application) # Code pour le programme python (le module #local permet de déterminer la langue actuelle) import locale lang = locale.getdefaultlocale()[0][:2] try: cur_lang = gettext.translation(application, localedir=win_local_path, \languages=[lang]) cur_lang.install() except IOError: # Si la langue locale n'est pas supportée, #on définit tout de même _() _ = lambda text:text # S'il existe des chaînes traduisibles dans #d'autres modules, normalement gérés par # cur_lang.install() ou gettext.install(), #vous devez aussi y définir _(). Exemple : sous_module._ = _ else : # Code pour les autres systèmes d'exploitation gettext.install(application) [...] # Si votre programme utilise glade, précisez bien le #domaine gettext application: gui = gtk.glade.XML(fname="coincoin.glade", domain=application)