Flask 中如何使用 Flask-Babel 扩展?

推荐答案

-- -------------------- ---- -------
---- ----- ------ ------ ---------------
---- ----------- ------ ------ -------

--- - ---------------
---------------------------------- - ----
------------------------------------------- - --------------

----- - ----------

---------------------
--- -------------
    ------ ----

---------------
--- --------
    ------ ----------------------------- ----------------------- ---------

-- -------- -- -----------
    -------------------

本题详细解读

1. 安装 Flask-Babel

首先,你需要安装 Flask-Babel 扩展。可以通过 pip 安装:

2. 配置 Flask-Babel

在 Flask 应用中,你需要配置 BABEL_DEFAULT_LOCALEBABEL_TRANSLATION_DIRECTORIESBABEL_DEFAULT_LOCALE 用于设置默认的语言,BABEL_TRANSLATION_DIRECTORIES 用于指定翻译文件的存放目录。

3. 初始化 Babel

在 Flask 应用中初始化 Babel 扩展:

4. 设置语言选择器

通过 @babel.localeselector 装饰器定义一个函数来设置当前的语言。这个函数返回一个语言代码,例如 'zh' 表示中文。

5. 使用 gettext 进行翻译

在视图函数中,使用 gettext 函数来标记需要翻译的字符串。例如:

6. 生成翻译文件

使用 pybabel 命令生成翻译文件:

然后编辑生成的 .po 文件,添加翻译内容,最后编译翻译文件:

7. 运行应用

最后,运行 Flask 应用,访问 / 路由,你将看到翻译后的内容。

纠错
反馈