El codigo que llevo es este:
Código
#------------------------------------------------------------------------------- # Name: EACUI # Purpose: Audio encoding with EAC3TO # # Author: Overdrive80 # # Created: 13/08/2013 # Copyright: (c) Overdrive80 2013 # Licence: <your licence> #------------------------------------------------------------------------------- import os, sys import win32api import platform import gettext import locale import sys #Configure gettext Define the '_()' function def set_gettext(): APP_NAME = "EACUI" LOCALE_DIR = ('C:\Locale\es\LC_MESSAGES') t = gettext.translation(APP_NAME, LOCALE_DIR,fallback=True) _ = t.gettext def main(): #Inicializacion de Gettext set_gettext() '''Create a list of asociated programs''' lista_programas=['eac3to'] '''Check arquitecture''' def is_x64(): arquitectura=platform.architecture() if arquitectura[0] == '64bit': #print "Tu sistema es de 64 bits." return True else: #print "Tu sistema es de 32 bits." return True '''Seek path by default of installating''' def find(ruta, program): for root,dirs,files in os.walk(ruta): for name in files: if program+'.exe'==name: path=os.path.join(root, name) return path PATH_DEFAULT='C:\\' for programa in lista_programas: path=find(PATH_DEFAULT, programa) if path != None: ruta_bus=os.path.split(path) print (_('File found %s, in the path %s.')) % programa, ruta_bus[0] print (_('Would you like to set this path as access by default to program %s?')) % programa else: print (_("Not file found %s.")) % programa print (_('Would you like set handle program´s path?')) main()
El archivo "es.mo" es este: https://dl.dropboxusercontent.com/u/19135067/es.mo
El problema radica cuando intento ejecutar el script de manera que coja el "es.mo", me da este error:

Es algo curioso pq he podido generar correctacmente el archivo "es.pot" con:
Código
Estoy usando la version 3.2 de python pq la 2, al parecer no tiene implementando gettext.
Espero que me podais echar un cable. Saludos.
EDITO:

Hubiera escrito el codigo de otra manera pero me daba fallo al generar el archivo pot, porque gettext no admite expresiones debe ser un formato string.
EDITO2: Solucionado, al menos se ejecuta. Al parecer, todo el fallo ha sido por meter en una funcion el codigo de gettext, cuando debe ir fuera del bloque main. Lo que está tachado y que hice no sirve.