Flask国际话和本地化

国际化代码参考:https://www.unicode.org/cldr/charts/43/supplemental/territory_language_information.html

pip install parse-accept-language 根据标头来进行语言选择包

安装:pip3 install Flask-Babel

在应用目录下创建一个babel.cfg的文件:

[python: **.py]
[jinja2: **/templates/**.html]

然后在应用目录执行如下命令
pybabel extract -F babel.cfg -o messages.pot . #生成messages.pot文件后面的点号也要

生成要翻译的语言
pybabel init -i messages.pot -d app/translations -l zh_Hant

然后是修改生成的文件,把里面对应的文字手动翻译好
翻译好所有文件后在应用目录下执行:
pybabel compile -d translations #编辑翻译文件

一些语言代码

zh #中文
zh_Hant #繁体中文
en #英语
es #西班牙语
ko #朝鲜语
ru #俄语
fr #法语
de #德语
vi #越南语
yue_Hans #中国粤语
ja #日语
ar #阿拉伯语

地区代码

CN #中国
TW #台湾
HK #香港
US #美国
CA #加拿大
JP #日本
KR #韩国
AU #澳大利亚
RU #俄罗斯
SA #沙特阿拉伯
SG #新加坡
VN #越南
IN #印度
MX #墨西哥
ES #西班牙
FR #法国
DE #德国
UA #乌克兰
ES #西班牙
IT #意大利
GB #英国
PL #波兰
RO #罗马尼亚
NL #荷兰
SE #瑞典
FI #芬兰
BE #比利时