mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Test suite for new gettext.py module.
This commit is contained in:
parent
95be23dc86
commit
9e03592149
1 changed files with 76 additions and 0 deletions
76
Lib/test/test_gettext.py
Normal file
76
Lib/test/test_gettext.py
Normal file
|
@ -0,0 +1,76 @@
|
|||
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')
|
Loading…
Add table
Add a link
Reference in a new issue