mirror of https://github.com/python/cpython.git
77 lines
1.8 KiB
Python
77 lines
1.8 KiB
Python
import os
|
|
import gettext
|
|
|
|
def get_qualified_path(name):
|
|
"""Return a more qualified path to name"""
|
|
import sys
|
|
import os
|
|
path = sys.path
|
|
try:
|
|
path = [os.path.dirname(__file__)] + path
|
|
except NameError:
|
|
pass
|
|
for dir in path:
|
|
fullname = os.path.join(dir, name)
|
|
if os.path.exists(fullname):
|
|
return fullname
|
|
return name
|
|
|
|
# Test basic interface
|
|
os.environ['LANGUAGE'] = 'xx'
|
|
|
|
mofile = get_qualified_path('xx')
|
|
localedir = os.path.dirname(mofile)
|
|
|
|
print 'installing gettext'
|
|
gettext.install()
|
|
|
|
print _('calling bindtextdomain with localedir %s') % localedir
|
|
print gettext.bindtextdomain('gettext', localedir)
|
|
print gettext.bindtextdomain()
|
|
|
|
print gettext.textdomain('gettext')
|
|
print gettext.textdomain()
|
|
|
|
# test some translations
|
|
print _(u'mullusk')
|
|
print _(r'Raymond Luxury Yach-t')
|
|
print _(ur'nudge nudge')
|
|
|
|
# double quotes
|
|
print _(u"mullusk")
|
|
print _(r"Raymond Luxury Yach-t")
|
|
print _(ur"nudge nudge")
|
|
|
|
# triple single quotes
|
|
print _(u'''mullusk''')
|
|
print _(r'''Raymond Luxury Yach-t''')
|
|
print _(ur'''nudge nudge''')
|
|
|
|
# triple double quotes
|
|
print _(u"""mullusk""")
|
|
print _(r"""Raymond Luxury Yach-t""")
|
|
print _(ur"""nudge nudge""")
|
|
|
|
# multiline strings
|
|
print _('''This module provides internationalization and localization
|
|
support for your Python programs by providing an interface to the GNU
|
|
gettext message catalog library.''')
|
|
|
|
print gettext.dgettext('gettext', 'nudge nudge')
|
|
|
|
# dcgettext
|
|
##import locale
|
|
##if gettext.dcgettext('gettext', 'nudge nudge',
|
|
## locale.LC_MESSAGES) <> 'wink wink':
|
|
## print _('dcgettext failed')
|
|
|
|
# test the alternative interface
|
|
fp = open(os.path.join(mofile, 'LC_MESSAGES', 'gettext.mo'), 'rb')
|
|
t = gettext.GNUTranslations(fp)
|
|
fp.close()
|
|
|
|
gettext.set(t)
|
|
print t == gettext.get()
|
|
|
|
print _('nudge nudge')
|