コード例 #1
0
ファイル: dialogs.py プロジェクト: sctincman/bkchem
  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()
コード例 #2
0
ファイル: dialogs.py プロジェクト: yassineMrabet/bkchem
    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()
コード例 #3
0
ファイル: bkchem.py プロジェクト: caiyingchun/bkchem
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)
コード例 #4
0
ファイル: bkchem.py プロジェクト: bartlebee/bkchem
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