如何本地化可访问性标签

时间:2011-11-29 12:42:23

标签: ios localization accessibility

我正在研究iOS中的辅助功能。我似乎无法找到如何本地化不同语言环境的标签。

如果我直接在界面构建器的nib中输入标签,我是否可以通过本地化整个笔尖来定位它们?或者有没有办法将这些导出到字符串文件?

3 个答案:

答案 0 :(得分:6)

你的问题的答案是整个笔尖(或实际上是xib)意味着按语言进行本地化。有一个用于英语的xib,一个用于西班牙语,一个用于日语等。

答案 1 :(得分: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

答案 2 :(得分:2)

似乎可以使用IBOutlets以与在xib中设置任何其他UI组件相同的方式完成以编程方式设置辅助功能标签。

本地化的最佳实践/技术完全是另一个主题,但我们通常会尽可能避免本地化xib(例如,确保设计有足够的空间来处理我们支持的语言之间的差异,避免图像中的文本等) ,依靠NSLocalizedString来调整面向用户(和/或用户可听?)的副本。