这似乎是一个愚蠢的问题,但我有一个函数,其中有一个 for 循环,我qsTr
多次调用函数,如下所示:
function example() {
var groups = []
for (var g=0; g<io_data.length; g++) {
groups.push( { "label": qsTr("I/O Group"),
"value": String(g+1),
"headers": [
qsTr("Entry"),
qsTr("Panel"),
qsTr("Loop"),
qsTr("Device")
]
} )
}
}
当然,根据文档qsTr
是一个获取相应翻译的函数,所以如果我有一个太大的 for 循环,我想在这种情况下,每个qsTr
翻译都有变量会好得多,如下所示:
var ioGroupLabel = qsTr("I/O Group")
你们有什么感想?
根据官方文档:
标记字符串的最常用方法是使用 qsTr() 函数。例如:
Text {
id: txt1;
text: qsTr("Back");
}
此代码使“返回”成为翻译文件中的关键条目。在运行时,翻译系统查找关键字“Back”,然后获取当前系统语言环境对应的翻译值。结果返回给 text 属性,用户界面将显示当前语言环境的“Back”的适当翻译。
在您的情况下,将创建 5 个关键条目:“I/O 组”、“条目”、“面板”、“循环”、“设备”。无论您在源代码中执行多少循环。
一般来说,如果您知道可以减少特定函数(例如qsTr
)的调用量而不会产生太多开销——那就去做吧。
UPD:关于性能测量,可以参考这个项目。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句