我一直在閱讀有關iPhone上的VoiceOver,但我找不到任何人在討論如何將內容標記爲某種語言並在應用程序中使用多種語言。我想讓我的詞典VoiceOver兼容。iphone uiaccessiblity多種語言
例如,這可以寫成一個UITableViewCell(英當時的德國)和配音將讀取兩種不同的聲音這一行:
喝 - trinken
如果這是不可能的,那麼VoiceOver的用戶不能使用任何具有多種語言的內容。
我一直在閱讀有關iPhone上的VoiceOver,但我找不到任何人在討論如何將內容標記爲某種語言並在應用程序中使用多種語言。我想讓我的詞典VoiceOver兼容。iphone uiaccessiblity多種語言
例如,這可以寫成一個UITableViewCell(英當時的德國)和配音將讀取兩種不同的聲音這一行:
喝 - trinken
如果這是不可能的,那麼VoiceOver的用戶不能使用任何具有多種語言的內容。
Apple已定義一個協議,請參閱documentation here,名爲UIAccessibility
,它由UIKit
中的所有視圖實現。該協議定義了屬性accessibilityLanguage
,它設置了元素的語言。默認值是返回nil
,這被解釋爲用戶的默認語言。
就單一觀點而言,似乎不可能同時選擇兩種不同的語言。然而,似乎可以聲明兩個單獨的視圖(一個用英語,另一個用德語標籤),併爲兩個視圖重寫上述方法,併爲這兩個視圖返回不同的語言。這樣,您可以在應用程序中有效地將兩種不同的語言與VoiceOver配合使用。
所以我猜UIWebView只能有一個語言屬性。看起來,如果我在HTML規範http://tlt.its.psu.edu/suggestions/international/web/tips/langtag.html中標記不同的語言元素,那麼VoiceOver將不會識別它們。 – ojreadmore 2010-11-05 16:38:47
@ojreadmore:雖然我還沒有嘗試過這個'UIWebView',但這也是我的解釋。將webview分成兩個(或更多)子視圖應該可以做到這一點,但對於web視圖,您肯定需要自己解析HTML源代碼。而滾動內容則是一個完全不同的故事,對於視障用戶來說可能沒有幫助。將此作爲功能請求提交給Apple可能是有意義的。 – user8472 2010-11-05 17:19:38
我對UIWebView的初步測試看起來很有希望。到目前爲止,使用iPhone模擬器和可訪問性檢查器,HTML標籤被識別爲不同的語言。我仍然需要使用第四代設備進行測試。 – ojreadmore 2010-11-06 05:42:37
VoiceOver似乎並不是在這裏使用的正確技術。 VoiceOver旨在以其母語提供用戶反饋,這就是使其可訪問的原因。對於多種語言,似乎你實際上想要有一個根語言字符串,並且該字符串的本地化版本都是使用本地口音說出的。 – ImHuntingWabbits 2010-10-29 19:28:09