美文网首页
【windows平台】- 使用python babel实现i18

【windows平台】- 使用python babel实现i18

作者: SystemLight | 来源:发表于2021-04-21 16:24 被阅读0次
  1. 安装依赖包
pip install babel
  1. 创建程序入口

main.py

import os
import gettext

"""
1. 根据用户系统的语言配置(系统的环境变量LANGUAGE, LC_ALL, LC_MESSAGES, LANG),自动选择语言
2. 在程序中实时切换语言
"""

"""
pybabel --list-locales
mkdir locale
pybabel extract . -o locale/base.pot
pybabel init -l zh -i locale/base.pot -d locale
pybabel compile -d locale
pybabel update -i locale/base.pot -d locale
"""
APP_NAME = "messages" # 必须和本地化文件中.mo文件名称相同
LOCALE_DIR = os.path.abspath("locale")
# gettext.bindtextdomain(APP_NAME, LOCALE_DIR)
# gettext.textdomain(APP_NAME)
# _ = gettext.gettext

# 这条语句会将_()函数自动放到python的内置命名空间中
gettext.install(APP_NAME, LOCALE_DIR)

# 获取简体中文翻译类的实例
lang_zh_CN = gettext.translation(APP_NAME, LOCALE_DIR, ["zh"])

# 这条语句会将_()函数自动放到python的内置命名空间中
# gettext.install(APP_NAME, LOCALE_DIR)
# 获取简体中文翻译类的实例
# lang_zh_CN = gettext.translation(APP_NAME, LOCALE_DIR, ["zh_CN"])
# 获取英文翻译类的实例
# lang_en = gettext.translation(APP_NAME, LOCALE_DIR, ["en"])
lang_zh_CN.install()
print(_("This is a translatable string."))
  1. 创建本地化翻译文件
pybabel --list-locales
mkdir locale
pybabel extract . -o locale/base.pot
pybabel init -l zh -i locale/base.pot -d locale
pybabel compile -d locale
pybabel update -i locale/base.pot -d locale
  1. 运行程序

相关文章

网友评论

      本文标题:【windows平台】- 使用python babel实现i18

      本文链接:https://www.haomeiwen.com/subject/pwjzlltx.html