做网页有时肯定有国际化的需求, 看得懂中文的显示中文, 看不懂的就让他选英文.
一般默认的根据浏览器的请求头里面的语言来显示, 有特殊要求的给个列表让他自己选.
python
里面标准库有 gettext
模块, 第三方库有 Babel
. 这个第三方现在已经由 pocoo
团队维护了. flask
里面可以用扩展 Flask-Babel
.
安装Flask-Babel
配置
1 2 3 4 5 6 7
| from flask import Flask from flask.ext.babel import Babel, gettext
app = Flask(__name__)
app.config['BABEL_DEFAULT_LOCALE'] = 'zh_Hans_CN' babel = Babel(app)
|
使用
py文件里面
jinja2里面
设置babel配置
保存为 babel.cfg
1 2 3
| [python: **.py] [jinja2: **/templates/**.html] extensions=jinja2.ext.autoescape,jinja2.ext.with_
|
翻译
下面都是 babel
模块里面的命令, 文档
1 2 3 4
| pybabel extract -F babel.cfg -o messages.pot . pybabel init -i messages.pot -d translations -l zh_Hans_CN pybabel compile -d translations pybabel update -i messages.pot -d translations
|