- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试使用 QT Creator 制作一个简单的文本编辑器。此文本编辑器具有可翻译的 UI,支持 3 种语言:英语、西类牙语和葡萄牙语。
我的问题是,每次运行lupdate时,代码中标记为可翻译(即包含在 tr() 中)的字符串文字都会被解析,并且可以使用 QLinguist 进行编辑和翻译。但是,属于 QObjects 一部分的字符串(例如 QFileDialog 的 ButtonText)不会被解析。为了让 lupdate 解析这些字符串,我是否缺少一些过程?
void PeterTextEditor::on_actionOpen_triggered()
{
QString fileName = QFileDialog::getOpenFileName(this, tr("Open Document"), QDir::currentPath(),
tr("Text documents (*.txt)"), 0, QFileDialog::DontUseNativeDialog);
if (fileName.isNull())
return;
if ( m_fileName.isNull() && !isWindowModified() )
{
loadFile(fileName);
return;
}
else
{
PeterTextEditor * openFile = new PeterTextEditor( fileName );
openFile->show();
openFile->setAttribute(Qt::WA_DeleteOnClose);
}
}
在上面的示例中,tr("Open Document")
将被解析,但 QFileDialog 有 QButton 和 QLabel 对象,其中包含按钮文本和标签文本的字符串。这些不会被解析。我希望解析这些内容,以便我可以使用 QLinguist 添加翻译。
最佳答案
所有已编译的翻译文件 (*.qm) 应位于 /translations
目录中,您将按 QFileDialog localization 中所示加载它们。 .
不幸的是,Qt 库并未提供所有语言的所有翻译,而且并非所有提供的翻译都是完整的。
对于我的版本(Qt 5.2.1),库有西类牙语翻译(qt_es.qm
),但还有许多字符串尚未翻译,并且有没有葡萄牙语的翻译文件(qt_pt.qm
)。
将 Qt 翻译成其他语言是一个正在进行的项目,因此我建议您搜索网络和/或其他论坛,看看是否有人获得了可以使用的更新文件。
如果您找不到任何内容,并且您的西类牙语翻译缺少一些您需要的字符串,您可以将源代码提取文件 (*.ts
) 归档到 /Src/qttranslations 中/translations
目录。不幸的是,您可能只能找到西类牙语版。
如果您愿意开始葡萄牙语翻译,您可以通过在 /Src/qtbase/qtbase.pro
上运行 lupdate
来提取所需的所有必要字符串。文件。
关于qt - lupdate 没有从 QObject 对象获取 tr() 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28951911/
我正在我的Qt HMI 应用程序 上运行lupdate。而且我注意到很少有单引号的字符串(例如 l'unite)被替换为它的字符实体 '(例如l'unite) 在作为 lupdate 结果生成的 .t
在开发 Qt 应用程序时,我在使用 QTranslator 时遇到了问题。经过一些研究,我发现问题出在 Qt 的 lupdate 有问题 using namespace; 指令。按照 here 中的说
运行lupdate时,qml 文件中的任何qsTr都无法识别。生成的 .ts 文件不包含任何翻译上下文。 $ lupdate -verbose App.pro Updating 'translatio
我一直在尝试使用 QT Creator 制作一个简单的文本编辑器。此文本编辑器具有可翻译的 UI,支持 3 种语言:英语、西类牙语和葡萄牙语。 我的问题是,每次运行lupdate时,代码中标记为可翻译
我需要对现有的 Java 项目进行国际化。我已经在使用 Qt 的 C++ 项目中使用 Qt Linguist,我希望(并且必须)为我的 Java 项目保留相同的过程,而不是使用 java Ressou
这是在黑暗中拍摄的,但有没有办法在 xml 文件中以某种方式使用 qt("") ?要像这样生成 .ts 文件?: lupdate myXML.xml -ts myML.ts 我试过这个命令,但它不起作
我是一名优秀的程序员,十分优秀!