如何使结束`:00`的时间可以访问(例如14:00)

时间:2016-05-02 15:13:00

标签: ios accessibility voiceover

Voice over会像以下那样读取NSStrings

14:15

  

“十四点十五分。”

这显然是一个时间

14:00

  

“十四。”

这是含糊不清的。

如果时间14:00出现在状态栏中,则会将其正确读取为

  

“一万四小时”

如何以本地化的方式实现这一目标?

iOS reading out correct time

3 个答案:

答案 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,其中提供了完整的信息,以弄清楚如何实现无懈可击的读出。