Igo*_*gor 5 qt translation localization qt4 qml
Qt lupdate 和 QTranslator 将源字符串分组到独占上下文中。这意味着在一个上下文中定义的翻译将无法在不同的上下文中访问。
C++ 中的默认上下文是已覆盖的类的名称QObject::tr()。声明性 QML 中的默认上下文是没有扩展名的当前文件名。要覆盖翻译语境中,应当使用qApp->translate( "context", "source" )或qsTranslate( "context", "source" )C ++或QML。
我希望能够在一个大型项目中使用单个通用翻译上下文,我发现为每个翻译功能指定翻译上下文非常乏味。是否有任何现有或未来的 Qt 翻译框架扩展可以简化此任务?我正在寻找像tr( "source" )and一样简单的东西qsTr( "source" ),但使用系统范围或项目范围的默认上下文。有任何想法吗?
还有比这更容易的事情。使用 qtTrId/qsTrId (Qt/QML) 而不是 tr/qsTr 并将 -idbased 参数添加到 lrelease 调用中。基于 ID 的翻译根本没有上下文。