⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_gettext.py

📁 mallet是自然语言处理、机器学习领域的一个开源项目。
💻 PY
字号:
import osimport base64import gettextdef test_api_1(localedir, mofile):    print 'test api 1'    # Test basic interface    os.environ['LANGUAGE'] = 'xx'    print 'installing gettext'    gettext.install('gettext', localedir)    # test some translations    print _('albatross')    print _(u'mullusk')    print _(r'Raymond Luxury Yach-t')    print _(ur'nudge nudge')    # double quotes    print _("albatross")    print _(u"mullusk")    print _(r"Raymond Luxury Yach-t")    print _(ur"nudge nudge")    # triple single quotes    print _('''albatross''')    print _(u'''mullusk''')    print _(r'''Raymond Luxury Yach-t''')    print _(ur'''nudge nudge''')    # triple double quotes    print _("""albatross""")    print _(u"""mullusk""")    print _(r"""Raymond Luxury Yach-t""")    print _(ur"""nudge nudge""")    # multiline strings    print _('''This module provides internationalization and localizationsupport for your Python programs by providing an interface to the GNUgettext message catalog library.''')    # test the alternative interface    fp = open(os.path.join(mofile), 'rb')    t = gettext.GNUTranslations(fp)    fp.close()    t.install()    print _('nudge nudge')    # try unicode return type    t.install(unicode=1)    print _('mullusk')def test_api_2(localedir, mofile):    print 'test api 2'    gettext.bindtextdomain('gettext', localedir)    print gettext.bindtextdomain('gettext') == localedir    gettext.textdomain('gettext')    # should return 'gettext'    print gettext.textdomain()    # local function override builtin    _ = gettext.gettext    # test some translations    print _('albatross')    print _(u'mullusk')    print _(r'Raymond Luxury Yach-t')    print _(ur'nudge nudge')    # double quotes    print _("albatross")    print _(u"mullusk")    print _(r"Raymond Luxury Yach-t")    print _(ur"nudge nudge")    # triple single quotes    print _('''albatross''')    print _(u'''mullusk''')    print _(r'''Raymond Luxury Yach-t''')    print _(ur'''nudge nudge''')    # triple double quotes    print _("""albatross""")    print _(u"""mullusk""")    print _(r"""Raymond Luxury Yach-t""")    print _(ur"""nudge nudge""")    # multiline strings    print _('''This module provides internationalization and localizationsupport for your Python programs by providing an interface to the GNUgettext message catalog library.''')    # Now test dgettext()    def _(message):        return gettext.dgettext('gettext')GNU_MO_DATA = '''\3hIElQAAAAAFAAAAHAAAAEQAAAAHAAAAbAAAAAAAAACIAAAAFQAAAIkAAAChAAAAnwAAAAcAAABBAQAACwAAAEkBAAAZAQAAVQEAABYAAABvAgAAoQAAAIYCAAAFAAAAKAMAAAkAAAAuAwAAAQAAAAQAAAACAAAAAAAAAAUAAAAAAAAAAwAAAABSYXltb25kIEx1eHVyeSBZYWNoLXQAVGhpcyBtb2R1bGUgcHJvdmlkZXMgaW50ZXJuYXRpb25hbGl6YXRpb24gYW5kIGxvY2FsaXphdGlvbgpzdXBwb3J0IGZvciB5b3VyIFB5dGhvbiBwcm9ncmFtcyBieSBwcm92aWRpbmcgYW4gaW50ZXJmYWNlIHRvIHRoZSBHTlUKZ2V0dGV4dCBtZXNzYWdlIGNhdGFsb2cgbGlicmFyeS4AbXVsbHVzawBudWRnZSBudWRnZQBQcm9qZWN0LUlkLVZlcnNpb246IDIuMApQTy1SZXZpc2lvbi1EYXRlOiAyMDAwLTA4LTI5IDEyOjE5LTA0OjAwCkxhc3QtVHJhbnNsYXRvcjogQmFycnkgQS4gV2Fyc2F3IDxiYXJyeUBweXRob24ub3JnPgpMYW5ndWFnZS1UZWFtOiBYWCA8cHl0aG9uLWRldkBweXRob24ub3JnPgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9a29pOF9yCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IG5vbmUKR2VuZXJhdGVkLUJ5OiBweWdldHRleHQucHkgMS4xCgBUaHJvYXR3b2JibGVyIE1hbmdyb3ZlAEd1dmYgemJxaHlyIGNlYml2cXJmIHZhZ3JlYW5ndmJhbnl2bW5ndmJhIG5hcSB5YnBueXZtbmd2YmEKZmhjY2JlZyBzYmUgbGJoZSBDbGd1YmEgY2VidGVuemYgb2wgY2ViaXZxdmF0IG5hIHZhZ3Jlc25wciBnYiBndXIgVEFICnRyZ2dya2cgenJmZm50ciBwbmdueWJ0IHl2b2VuZWwuAGJhY29uAHdpbmsgd2luawA='''LOCALEDIR = os.path.join('xx', 'LC_MESSAGES')MOFILE = os.path.join(LOCALEDIR, 'gettext.mo')def setup():    os.makedirs(LOCALEDIR)    fp = open(MOFILE, 'wb')    fp.write(base64.decodestring(GNU_MO_DATA))    fp.close()def teardown():    os.unlink(MOFILE)    os.removedirs(LOCALEDIR)try:    setup()    test_api_1(os.curdir, MOFILE)    test_api_2(os.curdir, MOFILE)finally:    teardown()    pass# For reference, here's the .po file used to created the .mo data above.'''# Dummy translation for Python's test_gettext.py module.# Copyright (C) 2001 Python Software Foundation# Barry Warsaw <barry@python.org>, 2000.#msgid ""msgstr """Project-Id-Version: 2.0\n""PO-Revision-Date: 2000-08-29 12:19-04:00\n""Last-Translator: Barry A. Warsaw <barry@python.org>\n""Language-Team: XX <python-dev@python.org>\n""MIME-Version: 1.0\n""Content-Type: text/plain; charset=koi8_r\n""Content-Transfer-Encoding: none\n""Generated-By: pygettext.py 1.1\n"#: test_gettext.py:19 test_gettext.py:25 test_gettext.py:31 test_gettext.py:37#: test_gettext.py:51 test_gettext.py:80 test_gettext.py:86 test_gettext.py:92#: test_gettext.py:98msgid "nudge nudge"msgstr "wink wink"#: test_gettext.py:16 test_gettext.py:22 test_gettext.py:28 test_gettext.py:34#: test_gettext.py:77 test_gettext.py:83 test_gettext.py:89 test_gettext.py:95msgid "albatross"msgstr ""#: test_gettext.py:18 test_gettext.py:24 test_gettext.py:30 test_gettext.py:36#: test_gettext.py:79 test_gettext.py:85 test_gettext.py:91 test_gettext.py:97msgid "Raymond Luxury Yach-t"msgstr "Throatwobbler Mangrove"#: test_gettext.py:17 test_gettext.py:23 test_gettext.py:29 test_gettext.py:35#: test_gettext.py:56 test_gettext.py:78 test_gettext.py:84 test_gettext.py:90#: test_gettext.py:96msgid "mullusk"msgstr "bacon"#: test_gettext.py:40 test_gettext.py:101msgid """This module provides internationalization and localization\n""support for your Python programs by providing an interface to the GNU\n""gettext message catalog library."msgstr """Guvf zbqhyr cebivqrf vagreangvbanyvmngvba naq ybpnyvmngvba\n""fhccbeg sbe lbhe Clguba cebtenzf ol cebivqvat na vagresnpr gb gur TAH\n""trggrkg zrffntr pngnybt yvoenel."'''

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -