python pylupdate5返回错误的源字符串[重复]

xpcnnkqh  于 2023-06-20  发布在  Python
关注(0)|答案(1)|浏览(127)

此问题已在此处有答案

PyQt4: Non-ASCII character detected in trUtf8 string(1个答案)
昨天关门了。
我尝试在pylupdate5中运行一些字符串(法语带重音,但所有文件都是utf8)的pylupdate5,以使用QCoreApplication.translate进行翻译,但当我生成.ts文件时,我得到了错误的字符串,例如:

<message>
    <location filename="myfile.py" line="193"/>
    <source>Cr&#xc3;&#xa9;er une trajectoire</source>
    <translation></translation>
</message>

而不是python代码中的字符串“Créer une trajectoire”。我想可能和这个question有关,但我不明白空间的问题,只有口音。当我在Qt Linguist中打开ts文件时,我遇到了同样的问题,即使相应的代码是正确的(就像在我的python IDE中一样)。
运行pylupdate5:

pylupdate5 myfile.py -ts myfile_en.ts

下面是我的代码:

# -*- coding: utf-8 -*-
from PyQt5.QtCore import QCoreApplication

def tr(message):
    return QCoreApplication.translate('myproject', message)

tr("Créer une trajectoire")

我在macOS上使用Python 3.8和PyQt5。

kd3sttzy

kd3sttzy1#

找到了我的.pro文件中缺少的部分,其中包含要翻译的所有脚本和UI文件:CODECFORTR = UTF-8,它告诉pylupdate5如何解码原始字符串(默认为latin1,找到解释here)。我不知道如何在命令行中使用它来解析单个脚本,但对于.pro文件,它工作得很好。

相关问题