本文整理汇总了Python中gettext.textdomain方法的典型用法代码示例。如果您正苦于以下问题:Python gettext.textdomain方法的具体用法?Python gettext.textdomain怎么用?Python gettext.textdomain使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gettext
的用法示例。
在下文中一共展示了gettext.textdomain方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: load_locale
# 需要导入模块: import gettext [as 别名]
# 或者: from gettext import textdomain [as 别名]
def load_locale():
import gettext
from importlib.resources import path
# Load pre-installed translation
with path('tuijam', 'lang') as locale_path:
locale = gettext.find('tuijam', locale_path)
if locale is not None:
gettext.bindtextdomain('tuijam', locale_path)
gettext.textdomain('tuijam')
# Then load user translation
locale = gettext.find('tuijam', LOCALE_DIR)
if locale is not None:
gettext.bindtextdomain('tuijam', LOCALE_DIR)
gettext.textdomain('tuijam')
示例2: setUp
# 需要导入模块: import gettext [as 别名]
# 或者: from gettext import textdomain [as 别名]
def setUp(self):
GettextBaseTest.setUp(self)
self.localedir = os.curdir
# Set up the bindings
gettext.bindtextdomain('gettext', self.localedir)
gettext.textdomain('gettext')
# For convenience
self._ = gettext.gettext
示例3: test_textdomain
# 需要导入模块: import gettext [as 别名]
# 或者: from gettext import textdomain [as 别名]
def test_textdomain(self):
self.assertEqual(gettext.textdomain(), 'gettext')
示例4: _initGettext
# 需要导入模块: import gettext [as 别名]
# 或者: from gettext import textdomain [as 别名]
def _initGettext():
charset = initLocale()
# Try to load gettext module
if config.use_i18n:
try:
import gettext
ok = True
except ImportError:
ok = False
else:
ok = False
# gettext is not available or not needed: use dummy gettext functions
if not ok:
return (_dummy_gettext, _dummy_ngettext)
# Gettext variables
package = hachoir_core.PACKAGE
locale_dir = path.join(path.dirname(__file__), "..", "locale")
# Initialize gettext module
gettext.bindtextdomain(package, locale_dir)
gettext.textdomain(package)
translate = gettext.gettext
ngettext = gettext.ngettext
# TODO: translate_unicode lambda function really sucks!
# => find native function to do that
unicode_gettext = lambda text: \
unicode(translate(text), charset)
unicode_ngettext = lambda singular, plural, count: \
unicode(ngettext(singular, plural, count), charset)
return (unicode_gettext, unicode_ngettext)
示例5: init_locale
# 需要导入模块: import gettext [as 别名]
# 或者: from gettext import textdomain [as 别名]
def init_locale(localedir=None):
"""
Initializes gettext-related stuff
"""
global _localedir
_localedir = localedir
gettext.bindtextdomain(GETTEXT_DOMAIN, localedir)
gettext.bind_textdomain_codeset(GETTEXT_DOMAIN, "utf-8")
gettext.textdomain(GETTEXT_DOMAIN)
示例6: switch_locale
# 需要导入模块: import gettext [as 别名]
# 或者: from gettext import textdomain [as 别名]
def switch_locale(self, locale_type):
"""
Change the locale
"""
locale.setlocale(locale.LC_ALL, '')
locale.bindtextdomain(locale_type, RB.locale_dir())
locale.textdomain(locale_type)
gettext.bindtextdomain(locale_type, RB.locale_dir())
gettext.textdomain(locale_type)
gettext.install(locale_type)
示例7: set_locale
# 需要导入模块: import gettext [as 别名]
# 或者: from gettext import textdomain [as 别名]
def set_locale(self, textdomain, msgs_path, locale='system'):
msgs_path = msgs_path.decode('utf8') \
if not (msgs_path, unicode) else msgs_path
if locale == 'en' or not os.path.exists(msgs_path):
return
if locale and not locale == 'system':
os.environ['LANGUAGE'] = locale
gettext.bindtextdomain(textdomain, msgs_path)
gettext.textdomain(textdomain)
self.translate = gettext.gettext
示例8: __init__
# 需要导入模块: import gettext [as 别名]
# 或者: from gettext import textdomain [as 别名]
def __init__(self):
setproctitle.setproctitle("GPT")
self.install_dir = os.getcwd()
self.user_app_dir = os.path.join(os.path.expanduser("~"),
".config",
"gpt",
)
# create hidden app folder in user"s home directory if it does
# not exist
if not os.path.isdir(self.user_app_dir):
os.makedirs(self.user_app_dir)
# initiate GTK+ application
GLib.set_prgname("GPT")
# set up logging
os.chdir(self.user_app_dir)
self.log = logging.getLogger("gpt")
with open(os.path.join(self.install_dir, "logging.yaml")) as f:
config = yaml.load(f)
logging.config.dictConfig(config)
self.loglevels = {"critical": 50,
"error": 40,
"warning": 30,
"info": 20,
"debug": 10,
}
# log version info for debugging
self.log.debug("Application version: {}".format(__version__))
self.log.debug("GTK+ version: {}.{}.{}".format(Gtk.get_major_version(),
Gtk.get_minor_version(),
Gtk.get_micro_version(),
))
self.log.debug(_("Application executed from {}").format(self.install_dir))
self.locales_dir = os.path.join(self.install_dir, "po", "locale")
self.appname = "GPT"
# setting up localization
locale.bindtextdomain(self.appname, self.locales_dir)
locale.textdomain(self.locales_dir)
gettext.bindtextdomain(self.appname, self.locales_dir)
gettext.textdomain(self.appname)
# check for config file to set up working directory
# create file in case it does not exist
self.config = os.path.join(self.user_app_dir, "config.py")
self.defaultwdir = os.path.join(os.path.expanduser("~"), "GP")
if os.path.isfile(self.config):
self.readconfig()
else:
self.stdir = self.defaultwdir
self.chkdir(self.stdir)
self.createconfig(self.stdir)
self.kd_supp = True
self.show_message(_("Working directory: {}").format(self.stdir))
示例9: __init__
# 需要导入模块: import gettext [as 别名]
# 或者: from gettext import textdomain [as 别名]
def __init__(self):
# The translation files will be under
# @locale_dir@/@LANGUAGE@/LC_MESSAGES/@app_name@.mo
self.app_name = "innstereo"
app_dir = abspath(os.path.dirname(__file__))
# Locale are stored in innstereo/locale
# .mo files will then be located in innstereo/locale/LANGUAGECODE/LC_MESSAGES/
locale_dir = abspath(join(app_dir, "locale"))
if sys.platform == "win32":
# Set $LANG on MS Windows for gettext
if os.getenv('LANG') is None:
lang, enc = locale.getdefaultlocale() #lang is POSIX e.g. de_DE
os.environ['LANG'] = lang
languages = [lang]
# Set LOCALE_DIR for MS Windows
import ctypes
LIB_INTL = abspath(join(app_dir, "../gnome/libintl-8.dll"))
libintl = ctypes.cdll.LoadLibrary(LIB_INTL)
lc = locale.setlocale(locale.LC_ALL, "")
locale_dir_g = abspath(join(app_dir, "locale"))
libintl.bindtextdomain(self.app_name, locale_dir_g)
libintl.bind_textdomain_codeset(self.app_name, "UTF-8")
else:
kwargs = {}
if sys.version < '3':
kwargs['unicode'] = 1
gettext.install(True, localedir=None, **kwargs)
gettext.find(self.app_name, locale_dir)
locale.bindtextdomain(self.app_name, locale_dir)
# Now we need to choose the language. We will provide a list, and gettext
# will use the first translation available in the list
default_languages = os.environ.get('LANG', '').split(':')
default_languages += ['en_US']
lc, encoding = locale.getdefaultlocale()
if lc:
languages = [lc]
# Concat all languages (env + default locale),
# and here we have the languages and location of the translations
languages += default_languages
gettext.bindtextdomain (self.app_name, locale_dir)
gettext.textdomain (self.app_name)
self._language = gettext.translation(self.app_name, locale_dir,
languages=languages, fallback=True)
示例10: _install
# 需要导入模块: import gettext [as 别名]
# 或者: from gettext import textdomain [as 别名]
def _install(domain, localedir, asglobal=False, libintl='intl'):
'''
:param domain: translation domain
:param localedir: locale directory
:param asglobal: if True, installs the function _() in Python’s builtin namespace. Default is False
Private function doing all the work for the :func:`elib.intl.install` and
:func:`elib.intl.install_module` functions.
'''
# prep locale system
if asglobal:
locale.setlocale(locale.LC_ALL, '')
# on windows systems, set the LANGUAGE environment variable
if sys.platform == 'win32' or sys.platform == 'nt':
_putenv('LANGUAGE', _getscreenlanguage())
# The locale module on Max OS X lacks bindtextdomain so we specifically
# test on linux2 here. See commit 4ae8b26fd569382ab66a9e844daa0e01de409ceb
if sys.platform == 'linux2':
locale.bindtextdomain(domain, localedir)
locale.bind_textdomain_codeset(domain, 'UTF-8')
locale.textdomain(domain)
# initialize Python's gettext interface
gettext.bindtextdomain(domain, localedir)
gettext.bind_textdomain_codeset(domain, 'UTF-8')
if asglobal:
gettext.textdomain(domain)
# on windows systems, initialize libintl
if libintl and (sys.platform == 'win32' or sys.platform == 'nt'):
from ctypes import cdll
libintl = cdll.LoadLibrary(libintl)
libintl.bindtextdomain(domain, localedir)
libintl.bind_textdomain_codeset(domain, 'UTF-8')
if asglobal:
libintl.textdomain(domain)
del libintl