=== modified file 'setup.py' --- setup.py 2010-11-30 16:03:59 +0000 +++ setup.py 2011-06-29 19:32:42 +0000 @@ -23,6 +23,21 @@ +def get_translations(): + translations = [] + for trans_dir in glob.glob('locale/*/LC_MESSAGES/'): + translations.append( + ('/usr/share/clicompanion/%s'%trans_dir, + [trans_dir+'clicompanion.mo'])) + return translations + + +data_files=[('/etc/clicompanion.d/', ['data/clicompanion2.config']), + ('/usr/share/pixmaps', ['data/clicompanion.16.png']), + ('/usr/share/applications', ['data/clicompanion.desktop'])] + +data_files.extend(get_translations()) + setup( name='clicompanion', version='0.1.0', description='Run Terminal commands from a GUI. Store commands for later use.', @@ -30,12 +45,7 @@ author_email='duanedesign@gmail.com', scripts=['clicompanion'], packages=['clicompanionlib'], - data_files=[('/etc/clicompanion.d/', ['data/clicompanion2.config']), - ('/usr/share/pixmaps', ['data/clicompanion.16.png']), - ('/usr/share/applications', ['data/clicompanion.desktop']), - ('share/clicompanion/locale/', glob.glob('locale/*/LC_MESSAGES/*.mo')), - ], - + data_files=data_files, cmdclass = { 'build' : build_extra.build_extra, 'build_i18n' : build_i18n.build_i18n, }, === modified file 'clicompanion' (properties changed: -x to +x) --- clicompanion 2011-06-06 19:29:29 +0000 +++ clicompanion 2011-06-29 20:48:35 +0000 @@ -32,23 +32,23 @@ If it finds the system language in the translated files, it returns it, otherwise it just returns None. """ - loc = locale.setlocale(locale.LC_ALL, "") - loc = loc[:2] - traducidos = os.listdir(locale_dir) - if loc in traducidos: - return loc - return + loc, enc = locale.getdefaultlocale() + installed = os.listdir(locale_dir) + for inst_loc in installed: + if locale.normalize(loc) == locale.normalize(inst_loc): + return loc+'.'+enc, inst_loc + return None, None locale_dir = os.path.join(BASEDIR, "locale") gettext.install('clicompanion', locale_dir, unicode=True) -idioma = get_language() -if idioma is not None: - mo = os.path.join(locale_dir, '%s/LC_MESSAGES/clicompanion.mo' % idioma) +loc, inst_loc = get_language() +if loc is not None: + mo = os.path.join(locale_dir, '%s/LC_MESSAGES/clicompanion.mo' % inst_loc) if not os.access(mo, os.F_OK): raise IOError("The l10n directory (for language %r) exists but " "not the clicompanion.mo file" % idioma) - trans = gettext.translation('clicompanion', locale_dir, languages=[idioma]) + trans = gettext.translation('clicompanion', locale_dir, languages=[loc]) trans.install(unicode=True)