Flask-Babel是一个非常棒的项目。如果你在 google 上寻找 jinja、i18n 和 Flask,你会发现一些有用的例子。请参阅文档以获取更多信息。在这里,我将提供一个小例子:
1. 创建翻译目录:
my_website/translations/pt/LC_MESSAGES/
my_website/translations/en/LC_MESSAGES/
假设您的网站是葡萄牙语和英语的。这是一种手动方式。你最好使用pybabel init
command。
2. 创建一个名为 messages.po 的文件(这些文件将包含已翻译的字符串):
$ touch my_website/translations/pt/LC_MESSAGES/messages.po
$ printf "msgid \"Hello world\"\nmsgstr \"Olá mundo\"" > my_website/translations/pt/LC_MESSAGES/messages.po
$ cat my_website/translations/pt/LC_MESSAGES/messages.po
它将创建一个包含以下内容的文件:
msgid "HELLO WORLD"
msgstr "Olá mundo"
3.编译翻译
$ pybabel compile -d translations
4. 将此行代码添加到烧瓶的主应用程序文件中。
app.config['BABEL_DEFAULT_LOCALE'] = 'pt_BR' #(context locale to load language).
5. 使用_()
jinja 模板文件中的函数来查看Olá mundo字符串。
<h1>{{ _('HELLO WORLD') }}</h1>
我希望它会有用。