如何让QTextToSpeech说“是”n错误“;用不同的语言正确吗?

如何让QTextToSpeech说“是”n错误“;用不同的语言正确吗?,qt,internationalization,text-to-speech,Qt,Internationalization,Text To Speech,我使用的是Qt翻译器处理不同语言中复数情况的多样性。特别是,在俄语中有单数、双数和复数(这就是Qt语言学家所说的),我可以使用 tr("%n error(s)", "", errorCount) 获得正确的译文 1错误→ 1 ошибка 3个错误→ 3 ошибки 6个错误→ 6 ошибок 当我想以文本形式呈现文本时,这很好,例如在消息框中。但是,如果我试着让QTextToSpeech发这个音(我试着将文本粘贴到Qt的hello_speak示例中),我会得到不好的结果,因为例如,“1

我使用的是Qt翻译器处理不同语言中复数情况的多样性。特别是,在俄语中有单数、双数和复数(这就是Qt语言学家所说的),我可以使用

tr("%n error(s)", "", errorCount)
获得正确的译文

1错误→ 1 ошибка
3个错误→ 3 ошибки
6个错误→ 6 ошибок
当我想以文本形式呈现文本时,这很好,例如在消息框中。但是,如果我试着让
QTextToSpeech
发这个音(我试着将文本粘贴到Qt的
hello_speak
示例中),我会得到不好的结果,因为例如,“1错误”的发音是“ааааааааааааааа(不正确的性别一致:ббба是女性,баа是女性,但бба是男性)

我想,
QTextToSpeech
引擎目前不可能发现数字应该与后面或前面的几个单词一致,因此解决方案应该包括将文本形式转换为语音引擎可以明确正确发音的形式(即,输入“一个错误”而不是“1错误”到
QTextToSpeech
)。但是我想用一些通用的方法修复它,这样我就不必为每种目标语言手动创建“数字到文本”转换器


我如何解决这个问题(如果可能的话,使用Qt工具)?

你能把
1错误翻译成
吗?也就是说,用单词表示数字,而不是使用[0-9]字符。@vahancho是的,应该这样做。请记住,数字是参数,不是硬编码到字符串中。这么简单的
翻译就可以了。”1错误“
文字远远不够。好吧,你可以将信息重新表述为:
ббббббббббббббббб1
。就我所知,这在所有情况下都是通用的,语法正确的。@vahancho“-数字仍然需要有正确的性别。与警告相比:“чччжжжж:аааа/ааааааааа”。你能将
1错误
翻译为
字符。@vahancho是的,应该这样做。请记住,数字是参数,不是硬编码到字符串中的。所以简单翻译
“1错误”
文字远远不够。好吧,你可以将信息重新表述为:
ччччббббббббббб1
。就我所知,这在所有情况下都是通用的,语法上都是正确的。@vahancho-数字仍然需要使用正确的性别。与警告比较:“ччччжжжж:ааа/аа”。