def init_list( self): langs = [] import gettext self.languages = {} for lang, language in data.languages.items(): system = gettext.find('BKChem', os.path.normpath(os.path.join( os_support.get_bkchem_run_dir(), '../../../../share/locale')), [lang]) if not system: system = gettext.find('BKChem', None, [lang]) local = gettext.find( 'BKChem', os.path.normpath( os.path.join( os_support.get_bkchem_run_dir(), '../locale')), [lang]) if system or local or lang == "en": lang_text = "%s (%s)" % (language, lang) langs.append( lang_text) self.languages[lang_text] = lang langs.sort() # default default = "%s (default)"%_("System default") self.languages[default] = "default" langs.append( default) self.list = Pmw.ScrolledListBox( self.interior(), #selectioncommand=self.select, labelpos = "n", label_text=_("Available Languages"), listbox_selectmode="single", listbox_width=30, items=langs) del gettext self.list.pack()
def init_list(self): langs = [] import gettext self.languages = {} for lang, language in data.languages.iteritems(): system = gettext.find( 'BKChem', os.path.normpath( os.path.join(os_support.get_bkchem_run_dir(), '../../../../share/locale')), [lang]) if not system: system = gettext.find('BKChem', None, [lang]) local = gettext.find( 'BKChem', os.path.normpath( os.path.join(os_support.get_bkchem_run_dir(), '../locale')), [lang]) if system or local or lang == "en": lang_text = "%s (%s)" % (language, lang) langs.append(lang_text) self.languages[lang_text] = lang langs.sort() # default default = "%s (default)" % _("System default") self.languages[default] = "default" langs.append(default) self.list = Pmw.ScrolledListBox( self.interior(), #selectioncommand=self.select, labelpos="n", label_text=_("Available Languages"), listbox_selectmode="single", listbox_width=30, items=langs) del gettext self.list.pack()
else: langs = [None] if user_lang == "en": if sys.version_info[2] > 2: import builtins else: import __builtin__ as builtins builtins.__dict__['_'] = lambda m: m builtins.__dict__['ngettext'] = gettext.ngettext Store.lang = "en" else: Store.lang = None for lang in langs: for localedir in (os.path.normpath( os.path.join(os_support.get_bkchem_run_dir(), '../../../../share/locale')), os.path.normpath( os.path.join(os_support.get_bkchem_run_dir(), '../locale')), None): if gettext.find('BKChem', localedir=localedir, languages=lang): # find what language was loaded rest = gettext.find('BKChem', localedir=localedir, languages=lang) for i in range(3): rest, Store.lang = os.path.split(rest) tr = gettext.translation('BKChem', localedir=localedir, languages=lang)
user_lang = Store.pm.get_preference( "lang") if user_lang: langs = [[user_lang], None] else: langs = [None] if user_lang == "en": import __builtin__ __builtin__.__dict__['_'] = lambda m: m __builtin__.__dict__['ngettext'] = gettext.ngettext Store.lang = "en" else: Store.lang = None for lang in langs: for localedir in (os.path.normpath(os.path.join( os_support.get_bkchem_run_dir(), '../../../../share/locale')), os.path.normpath(os.path.join( os_support.get_bkchem_run_dir(), '../locale')), None): if gettext.find( 'BKChem', localedir=localedir, languages=lang): # find what language was loaded rest = gettext.find( 'BKChem', localedir=localedir, languages=lang) for i in range( 3): rest, Store.lang = os.path.split( rest) tr = gettext.translation( 'BKChem', localedir=localedir, languages=lang) tr.install(unicode=True, names=['ngettext']) break if Store.lang: break