1.pip install babel

https://www.osgeo.cn/babel/cmdline.html#

2.编写要翻译的文件

import gettext
t = gettext.translation('spam', './locale',languages=['en'])
t.install()
_ = t.gettext
print(_("welcome to view site"))
print(_("welcome"))
print(_("NMB"))

3.使用babel 分离pot文件

pybabel extract -o spam.pot --input-dirs=.

4.使用babel 生成对应的po文件

pybabel init -i ./spam.pot -D spam -d ./locale -l zh_Hans 
pybabel init -i ./spam.pot -D spam -d ./locale -l en

5.使用compile 生成对用mo文件

pybabel compile  -D spam -d ./locale

6.如果用户添加了要翻译的文字

6.1先分离
pybabel extract -o spam.pot --input-dirs=. 
6.2在update
pybabel update -D spam -d ./locale -i ./spam.pot 
6.3再修改对应的msgstr
6.4在compile即可