问题标签 [python-babel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 翻译 Flask-WTF 中的默认错误
我正在尝试使用 Flask-WTF 插件翻译来自 WTForms 的默认消息。根据这个(https://github.com/ajford/flask-wtf/pull/65)它应该可以工作。您还可以看到 wtforms 使用 gettext 作为其默认错误消息(https://bitbucket.org/simplecodes/wtforms/src/113994790508/wtforms/validators.py)。
我将 WTF_I18n_ENABLED 添加到我的配置文件中,并使用以下命令创建了我的 .po 文件
我希望默认消息出现在那里,但他们没有。我是期待太多还是做错了什么?
python - Flask-Babel 更新现有的 messages.pot 文件
如何更新现有的 messages.pot 文件?比如我翻译了messages.pot文件:
如果我将使用选择器 gettext 标记新文本,例如:
并运行:
pybabel extract -F babel.cfg -o messages.pot
我将收到一个新的 messages.po 文件:
那么,如何更新现有的 messages.pot 文件,保存翻译后的字符串(“昵称”、“错误的电子邮件”)?
python - 在“es”语言环境中将月份名称大写
我正在尝试对format_date
. 我想要大写的月份名称,为此我使用MMMM yyyy
or LLLL yyyy
。我期待类似的东西April 2007
。这是我的测试程序:
这是输出:
如您所见,西班牙语 ( es
) 版本是错误的:月份名称为小写,forMMMM
和LLLL
. 这是为什么?这是 Babel 中的错误吗?从意大利输出中,我预计MMMM
是指小写字母和LLLL
大写字母。大写月份名称的格式代码是什么?(这在文档中没有明确说明)
python - Flask、Babel 和 python - ImportError: No module named babel
尽管安装了 babel,但我对 Flask 和 Babel 不起作用感到很开心但很恼火。
python - Pyramid i18n 中每个域一个 .pot
在 Pyramid 应用程序中,我们有一些部分和模板,我们在其中使用不同的翻译域(除了默认域)。
目前,如果我们运行python setup.py extract_messages
,来自所有域的所有翻译字符串都会在一个 .pot 文件中生成。我们如何才能让 Babel 为每个翻译域生成单独的 .pot 文件?
python - Pybabel extract 在从 html 模板中提取关键字时添加了额外的单引号
我有一个使用 jinja2 html 模板运行 python 的 App Engine 应用。我正在使用 pybabel 将其国际化。当我运行pybabel extract -F babel.cfg -o ./locale/messages.pot ./
从模板中提取的命令时,它会在带有单引号的字符串中添加额外的单引号 ',并在使用双引号的关键字上转义双引号。
示例:我正在提取这些字符串:
变成
哪个不起作用。预期(如果我手动删除不需要的字符,则确认工作)输出应该是:
在运行 pybabel 提取后的 messages.pot 中。
当然,当我更新、编译和运行应用程序时,这不起作用,但如果我删除额外添加的单引号和转义引号,它会按预期工作。如果您不对模板文件中的关键字使用引号,则它不起作用。
babel.cfg 文件非常简单:
关于如何在从模板中提取关键字时如何使 pybabel 提取不包含额外引号的任何建议?或者从文件中提取的任何其他方法?
python - 我在我的 OSX babel 安装中找不到 setup.py 来导入 cldr babel 文件,我做错了什么?
我一直在尝试在我的 iMac 上使用 babel(OSX Mavericks,我使用 MacPorts 安装了 python 和 babel),但我收到以下错误消息:
我无法运行以下命令,因为我在 Mac 上的 .egg 存档中找不到 setup.py 文件
尝试在我下载的另一个版本的 babel 上运行 setup.py 会导致此错误,但即使我能做到,我认为它也无法解决我的问题:
关于如何为 .egg 安装安装 CLDR 文件的任何想法?
这是我机器上 babel 包的内容:
以及我尝试的一些命令的结果:
python - 如何配置我的 Python 2.7 以在我的 OSX Mavericks 系统上使用正确的 Babel 安装?
这是对我之前的问题的跟进。
我有一台 OSX Mavericks 机器,我在其中使用 MacPorts 安装了 Python 2.7 和 Babel 1.3。问题是我在那台机器上似乎至少有两个版本的 babel,除了我使用 MacPort 安装的一个,另一个没有安装 CLDR 语言环境数据文件,所以当我在我的应用程序目录中执行以下命令时:
我收到此错误消息:
我发现 Babel 安装在我机器上的这些位置:
这些是我的环境中定义的各种路径:
pybabel 是我使用以下命令创建的别名:
如何让 babel 在 /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/babel 中看到 Babel 版本?
python - 从数据库 flask-babel 翻译字符串
我正在使用 Flask-Babel 来翻译字符串。
在某些模板中,我正在从数据库(postgresql)中读取字符串。如何使用 Flask-Babel 翻译数据库中的字符串?
python - js 中的 Flask-Babel 本地化字符串
我对 Python 和 Flask(使用 Jinja2 作为模板引擎)都很陌生,我不确定我的做法是否正确。我正在使用 Flask-Babel 扩展为我的 Web 应用程序添加 i18n 支持。我想从我的 js 代码中获取本地化字符串,例如:
为此,我配置了 babel (babel.cfg):
它的初始化是(为简单起见省略了导入):
Babel 在构建 POT/PO 语言文件时识别该字符串,但由于未定义 gettext 函数,因此我似乎无法从 js 代码访问这些本地化字符串。Jinja2 似乎忽略了这部分。
有什么提示吗?