2011-11-29 30 views
6

我正在研究iOS中的輔助功能。我似乎無法找到您如何本地化不同地區的標籤。如何本地化輔助功能標籤

如果我在界面構建器中直接將標籤輸入到筆尖,我只能通過本地化整個筆尖來定位這些標籤嗎?或者有沒有辦法讓這些導出到一個字符串文件?

回答

6

您的問題的答案是整個筆尖(或xib,實際上)是爲了按語言本地化。英語有一個xib,一個用於西班牙語,一個用於日語等。

+1

有兩者,我接受你的答案!我相信你很高興。這是一個恥辱,這是唯一的方法 - 這將是一個很好的解決方案,通過一個文本文件,然後可以翻譯發送。將整個筆尖局部化看起來過多。 –

+1

有 - 它被稱爲'ibtool'並隨Xcode一起發貨。 –

2

似乎以編程方式設置輔助功能標籤可以像使用IBOutlets設置xib中的其他UI組件一樣完成。用於本地化的最佳實踐/技術完全是另一個主題,但我們通常避免在可能的情況下本地化xib(例如,確保設計有足夠的空間來處理我們支持的語言之間的差異,避免圖像中的文本等)。 ),依靠NSLocalizedString來調整面向用戶(和/或用戶可聽?)的副本。

6

你也可以做到這一點編程,無需多筆尖:

@implementation MyCustomViewController 
- (id)init 
{ 
    _view = [[[MyCustomView alloc] initWithFrame:CGRectZero] autorelease]; 
    [_view setIsAccessibilityElement:YES]; 

    [_view setAccessibilityTraits:UIAccessibilityTraitButton]; 
    [_view setAccessibilityLabel:NSLocalizedString(@"view.label", nil)]; 
    [_view setAccessibilityHint:NSLocalizedString(@"view.hint", nil)]; 
} 

Accessibility Programming Guide for iOS