我用pyside6开发了一个软件,我试着在上面做i18n。我发现pyside6 6-lupdate工具有个奇怪的问题。
当我在python文件中使用“tr”标记时,该工具可以成功地将其精确到ts文件。即main.py
self.btn_open_file = QPushButton(self.tr('Open File Folder'), self)我在终端中运行的命令是:
pyside6-lupdate main.py -ts test.ts但是,当我在QT生成的python文件上使用它时,它将不再工作了,因为这些文件使用“转换”作为标记,如下所示: ui_peg_page.py
def retranslateUi(self, PegPage):
PegPage.setWindowTitle(QCoreApplication.translate("PegPage", u"Form", None))
self.label.setText(QCoreApplication.translate("PegPage", u"1. Peg to Existing Mapping Column (OR)", None))
self.label_2.setText(QCoreApplication.translate("PegPage", u"2. Create a New Mapping Column", None))
self.groupBox.setTitle(QCoreApplication.translate("PegPage", u"GroupBox", None)当我再次运行命令时,没有提取任何内容。我想知道是否有人曾遇到过同样的问题。我的pyside6版本是6.2.2.1。我在mac和windows上都试过了,都不能用。如果有人能给我指明出路的话我会很感激的。
发布于 2022-01-22 18:38:56
在使用Qt创建UI时,您应该为lupdate提供表单文件,而不是生成的python模块。
请参阅PYSIDE-1717和PYSIDE-1774中的详细信息。
发布于 2022-01-16 15:21:55
经过多次失败的试验后,我终于找到了解决问题的办法。如果您想使用"QCoreApplication.translate("hared context",u"Text"),删除unicode前缀"u",它就会工作。
https://stackoverflow.com/questions/70728697
复制相似问题