【发布时间】:2017-09-04 14:51:34
【问题描述】:
我想使用 QCoreApplication::installTranslator 更改语言,并为每种语言使用几个不同的 .qm 文件(项目的不同部分导致不同的 .qm 文件)。
可以使用多个 .qm 文件:
QCoreApplication::installTranslator(QTranslator *translationFile)
可以安装多个翻译文件。搜索翻译 因为它们的安装顺序相反,所以最 最近安装的翻译文件首先搜索 最后搜索安装的翻译文件。
但是,如果我不remove 年长的翻译人员,他们仍然是翻译的候选人。即使他们是最近安装较少的翻译器。
如何在加载所需文件之前清除之前加载的任何文件?
我看到的唯一方法是保留我安装的指针,并在我想更改时将它们一一删除,但是有没有更直接的方法?
【问题讨论】:
-
您可以显示您注释的代码以便更好地理解。
-
只需维护一些旧译者的列表。或者使用一些共同的父母(它可以是一些虚拟的
QObject)来维护它。在这种情况下,您将能够删除相应的翻译。我不认为这应该是个问题。 -
@MarekR 不是,但是让 QApp 这样做会很方便,因为它已经知道您安装的翻译器,它可以只清除其私人翻译器列表,而不是让我删除他们一个接一个。
标签: qt qtranslator