Exemple #1
0
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")
Exemple #3
0
 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")