我在 iOS 应用程序中分配给accessibilityLabel 的一些文本包含“混合语言”。
例如,在德语中,文本将是“Bier und guter Sound”。用德语 VoiceOver 语言说的“声音”这个词没有意义(它应该说“saund”,但听起来像“sund”)。
有没有办法对有关单词语言的信息进行配音?
我在 iOS 应用程序中分配给accessibilityLabel 的一些文本包含“混合语言”。
例如,在德语中,文本将是“Bier und guter Sound”。用德语 VoiceOver 语言说的“声音”这个词没有意义(它应该说“saund”,但听起来像“sund”)。
有没有办法对有关单词语言的信息进行配音?
是的,将一个属性字符串分配给accessibilityLabel
(即使它是 String 类型,它也会接受 AttributedString),并用于UIAccessibilitySpeechAttributeLanguage
为字符串中与 UI 语言不同的部分设置语言信息。例如,在您的情况下,您可以将 range (start=15, length=5) 设置为具有UIAccessibilitySpeechAttributeLanguage
值“en”(或者如果这不起作用,请尝试“en-US”或“en_US”,现在不确定是哪一个将接受,它应该是根据文档的 BCP 47 语言代码)。
如果您使用的是 Swift,那么它的类型安全性将不允许您分配to类型的AttributedString
属性,您可以使用. 有点破解(或解决方法),但有效。accessibilityLabel
String
label.setValue(attributedString, forKey: "accessibilityLabel")