gpt4 book ai didi

python - pygettext 提取后 .pot 文件中没有字符集指示

转载 作者:行者123 更新时间:2023-12-01 03:56:56 24 4
gpt4 key购买 nike

从 python3 应用程序中提取消息后,使用

pygettext.py --default-domain=po_typo_purifier po_typo_purifier.py

我得到一个带有此标题行的 .pot 文件

"Content-Type: text/plain; charset=CHARSET\n"

然后,当我在 poedit 中打开它时,某些字符(在本例中为无中断空格和窄无中断空格)未正确显示。此外,在创建 .po 和 .mo 文件后,程序仅显示其中不包含此类字符的消息的翻译。如果我在上面的行中更改 charset=UTF-8,那么运行时一切正常。我的问题是:“如何在提取消息时将字符集设置为 UTF-8?”

最佳答案

从较高的层面来看,您的问题的不言而喻的答案是,您需要告诉工具来执行此操作。第一步:运行 pygettext.py --help看看是否有一个标志。不幸的是,没有,并且 a quick look at the source code表明

  1. pygettext.py实际上在 Python 3 中默认为 UTF-8。
  2. 这在 Python 2.x 中根本不可配置。

此时,您有多种选择:

  1. 修复工具。将修复程序向后移植到 2.7,提交补丁,希望包含在内。
  2. 切换到 Python 3,至少对于这个工具,或者理想情况下对于您所做的一切。
  3. 使用更好的提取工具。

我会推荐3。确实没有理由使用pygettextxgettext来自 GNU gettext 工具,这是 gettext 提取工具,完全支持 Python。它还支持 --from-code 的非 ASCII 源代码标志 — 只需传递 --from-code=utf-8到它。

或者甚至不用费心,完全从 Poedit 中提取源代码。它总是捆绑最新的 gettext 工具,直接支持这种情况(目录 → 属性 → 源代码字符集),并且无需额外配置即可识别 Python 文件。

关于python - pygettext 提取后 .pot 文件中没有字符集指示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37290384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com