首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pyside6 lupdate不会识别标记“翻译”,只识别"tr“

Pyside6 lupdate不会识别标记“翻译”,只识别"tr“
EN

Stack Overflow用户
提问于 2022-01-16 09:12:11
回答 2查看 229关注 0票数 0

我用pyside6开发了一个软件,我试着在上面做i18n。我发现pyside6 6-lupdate工具有个奇怪的问题。

当我在python文件中使用“tr”标记时,该工具可以成功地将其精确到ts文件。即main.py

代码语言:javascript
复制
self.btn_open_file = QPushButton(self.tr('Open File Folder'), self)

我在终端中运行的命令是:

代码语言:javascript
复制
pyside6-lupdate main.py -ts test.ts

但是,当我在QT生成的python文件上使用它时,它将不再工作了,因为这些文件使用“转换”作为标记,如下所示: ui_peg_page.py

代码语言:javascript
复制
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上都试过了,都不能用。如果有人能给我指明出路的话我会很感激的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-22 18:38:56

在使用Qt创建UI时,您应该为lupdate提供表单文件,而不是生成的python模块。

请参阅PYSIDE-1717PYSIDE-1774中的详细信息。

票数 0
EN

Stack Overflow用户

发布于 2022-01-16 15:21:55

经过多次失败的试验后,我终于找到了解决问题的办法。如果您想使用"QCoreApplication.translate("hared context",u"Text"),删除unicode前缀"u",它就会工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70728697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档