Qt QTranslator::translate() documentation declares
如果n不是-1,则用于为翻译选择合适的表格(例如“找到%n文件”与“找到%n个文件”)。
似乎没有办法将“%n人回答%n个问题”翻译为一个字符串(即我需要执行2个QTranslator :: translate()调用),或者我错了?
答案 0 :(得分:4)
我建议不要在一个可翻译的字符串中使用多个数字形式。
tr()
的多次调用。O(n^m)
中增长,其中n
是语言中数字形式的数量,m
是字符串中数字形式的数量被翻译的字符串。例证:阿拉伯语有六种形式,如果你的字符串中有两个%n
,你需要36种不同的翻译。因此,最好构建可翻译的字符串,以便每个字符串最多需要%n
。