我有一个Qt应用程序。在那里,我使用QColorDialog选择QColor和QFileDialog来读取/保存文件。我的具体术语我已经翻译成了一个单独的myApp_DE.qm文件(除了this之外工作正常)。
但是Qt特定的对话框,即QColorDialog或QFileDialog
QColor color = QColorDialog::getColor(Qt::white, this, ui->label->text(), QColorDialog::DontUseNativeDialog);
或
QString exportFileName = QFileDialog::getSaveFileName(this, tr("Export dialog"), QDir::homePath(), tr("To text file (*.txt)"));
仍然是初始语言,而我的myApp_DE.qm已正确翻译。
如何翻译这些特定于Qt的对话框?
我在德语中使用UbuntuStudio QLocale :: system()返回“de_DE”,但即使在系统中,一些按钮也会显示“Quit”(我想那里没有可用的翻译?)。
答案 0 :(得分:1)
默认情况下,QFileDialog将使用本机文件浏览器而不是基于Qt的自定义对话框。本机文件浏览器将使用OS语言而不是Qt语言,并且不会应用Qt转换。您可以使用DontUseNativeDialog
的{{1}}选项覆盖此行为。