使用Flask-Babel扩展: 如果你使用Flask框架,可以考虑使用 Flask-Babel 扩展,它基于 babel 提供了对Flask应用程序的国际化支持。
文档:https://pythonhosted.org/Flask-Babel/ ---- 安装 Flask-Babel Flask-Babel 是 Flask 的翻译扩展工具。 安装命令如下: pip install flask-babel 安装它的时候会顺便安装 Babel、pytz、speaklater 这三个包,其中 Babel 是 Python 的一个国际化工具包。
01 flask-babel 简介 你猜对了,Flask-Babel正是用于简化翻译工作的。 可以使用pip命令安装它: (venv) $ pip install flask-babel Flask-Babel的初始化与之前的插件类似: app/__init__.py: Flask-Babel实例 文本标记后,Flask-Babel将扫描所有文件,并使用gettext工具将这些文本提取到单独的翻译文件中。不幸的是,这是一个繁琐的任务,并且是启用翻译的必要条件。 第三行定义了Jinja2模板引擎提供的两个扩展,以帮助Flask-Babel正确解析模板文件。 在这种情况下,你会发现你错过的那些文本将保持为英文,因为Flask-Babel对他们一无所知。
安装 Flask-Babel Flask-Babel是 Flask 的翻译扩展工具。 安装命令如下: pip install flask-babel 安装它的时候会顺便安装Babel、pytz、speaklater这三个包,其中 Babel 是 Python 的一个国际化工具包。 翻译需要用到 flask-babel 这个 flask 扩展。
为了使得我们的应用程序便于外国访问者,我们将要使用 Flask-Babel 扩展,它提供了一种简单使用的框架用来把应用程序翻译成不用的应用。 如果你还没有安装 Flask-Babel,现在是时候安装。 对于 Linux 和 Mac 用户: flask/bin/pip install flask-babel 对于 Windows 用户: flask\Scripts\pip install flask-babel 配置 Flask-Babel 可以简单地通过创建 Babel 类的一个实例并且传入 Flask 应用对象给它来初始化(文件 app/__init__.py): from flask.ext.babel 幸好,Flask-Babel 提供另外一个函数 lazy_gettext,它不会像 gettext() 和 _() 一样立即翻译,相反它会推迟翻译直到字符串实际上被使用的时候才会翻译。
Celery任务调度 whoosh+jieba:信息检索 oss2:阿里云oss云存储SDK redis:Redis的python连接客户端 Markdown:后端markdown解析 Flask插件如下: Flask-Babel
Flask-SQLAlchemy和Flask-Migrate Flask-Whooshee搜索索引 Flask-Moment本地化时间(因为时间统一以UTC时间保存) Flask-Assets处理静态文件 Flask-Babel
这种技术被称为Ajax,这是Asynchronous JavaScript和XML的简称(尽管现在XML常常被JSON取代) 02 实时翻译工作流 由于使用了Flask-Babel,本应用对外语有很好的支持 翻译链接只会出现在检测到语言种类的动态下,并且必须满足的条件是,这种语言与用Flask-Babel的localeselector装饰器装饰的函数选择的语言不匹配。 链接文本需要以Flask-Babel可以翻译的方式添加,所以我在定义它时使用了_()函数 请注意,我还没有关联此链接的操作。
,WTForms,flask-wtf,defusedxml,python3-openid,Flask-OpenID, Flask-SQLAlchemy,Flask-Login,pytz,babel,Flask-Babel
ORM events Email Flask-Mail - Flask-Mail adds SMTP mail sending to your Flask applications i18n flask-babel
) Collecting Werkzeug>=0.15 Using cached Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB) Collecting Flask-Babel croniter, pycparser, cffi, cryptography, MarkupSafe, Jinja2, itsdangerous, Werkzeug, flask, Babel, Flask-Babel
1.1.0 exceptiongroup==1.2.0 fastapi==0.109.0 ffmpy==0.3.1 filelock==3.13.1 fire==0.5.0 Flask==3.0.0 Flask-Babel
flask_yamlpage - Flatpages in yaml syntax Flask-Babel - Adds i18n/l10n support
如果您要维护非英语语言文件,则需要使用Flask-Babel刷新翻译文件,然后添加新的翻译: (venv) $ flask translate update 如果您使用的是编码翻译,那么我已经为你完成了翻译工作