2011-11-29 8 views
6

私はiOSのアクセシビリティ機能について研究しています。さまざまなロケールのラベルをローカライズする方法がわかりません。アクセシビリティラベルをローカライズする方法

インターフェイスビルダのペン先に直接ラベルを入力する場合は、全面ペンをローカライズするだけでローカライズできますか?または、これらを文字列ファイルにエクスポートする方法はありますか?

答えて

6

あなたの質問に対する答えは、全面的なペン先(または実際には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

関連する問題