Voice over会像以下那样读取NSStrings
14:15
“十四点十五分。”
这显然是一个时间
14:00
“十四。”
这是含糊不清的。
如果时间14:00
出现在状态栏中,则会将其正确读取为
“一万四小时”
如何以本地化的方式实现这一目标?
答案 0 :(得分:3)
如何以本地化的方式实现这一目标?
使用NSDateFormatter::localizedStringFromDate()
的结果覆盖accessibilityLabel
将是最好的办法,因为您只能依靠iOS自己的算法来处理任何语言。
以本地化方式进行此操作的问题在于它取决于您想要的语言。
例如,在法语中,您永远不会发出:00
,“14:00”将被视为 quatorze heures (“十四小时” )。 “14:12”是“quatorze heures douze”(十四小时十二,不是“十四二十二”)
在西班牙语中,即使阅读24小时格式,您也会在12小时内阅读:“14:00”将被视为 las dos de la tarde (“下午两点“)没有谈论”de la tarde“和”de la noche“之间的区别。
在法语或西班牙语中,你永远不会说百。
答案 1 :(得分:1)
恕我直言,这很容易; - )
14:00 =十四点
答案 2 :(得分:0)
要以本地化的方式实现目标,您应该完美地格式化日期和数字,以使VoiceOver能够很好地理解。
阅读this answer,其中提供了完整的信息,以弄清楚如何实现无懈可击的读出。