def _gettext_init(): """Call before using gettext helpers""" # set by tests if "QUODLIBET_NO_TRANS" in environ: return set_i18n_envvars() fixup_i18n_envvars() print_d("LANGUAGE: %r" % environ.get("LANGUAGE")) print_d("LANG: %r" % environ.get("LANG")) try: locale.setlocale(locale.LC_ALL, '') except locale.Error: pass # Use the locale dir in ../build/share/locale if there is one base_dir = get_base_dir() localedir = os.path.dirname(base_dir) localedir = os.path.join(localedir, "build", "share", "locale") if not os.path.isdir(localedir) and os.name == "nt": # py2exe case localedir = os.path.join( base_dir, "..", "..", "share", "locale") if os.path.isdir(localedir): print_d("Using local localedir: %r" % unexpand(localedir)) else: localedir = gettext.bindtextdomain("quodlibet") try: t = gettext.translation("quodlibet", localedir, class_=GlibTranslations) except IOError: print_d("No translation found in %r" % unexpand(localedir)) t = GlibTranslations() else: print_d("Translations loaded: %r" % unexpand(t.path)) debug_text = environ.get("QUODLIBET_TEST_TRANS") t.install(unicode=True, debug_text=debug_text)
def test_fixup_i18n_envvars(self): with preserve_environ(): environ["LANGUAGE"] = "en:de:en_FOO:nl" fixup_i18n_envvars() self.assertEqual(environ["LANGUAGE"], "en:C:de:en_FOO:C:nl")
def test_fixup_i18n_envvars(self): with preserve_environ(): os.environ["LANGUAGE"] = "en:de:en_FOO:nl" fixup_i18n_envvars() self.assertEqual(os.environ["LANGUAGE"], "en:C:de:en_FOO:C:nl")