我正在研究iOS中的辅助功能。我似乎无法找到如何本地化不同语言环境的标签。
如果我直接在界面构建器的nib中输入标签,我是否可以通过本地化整个笔尖来定位它们?或者有没有办法将这些导出到字符串文件?
答案 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)];
}
答案 2 :(得分:2)
似乎可以使用IBOutlets以与在xib中设置任何其他UI组件相同的方式完成以编程方式设置辅助功能标签。
本地化的最佳实践/技术完全是另一个主题,但我们通常会尽可能避免本地化xib(例如,确保设计有足够的空间来处理我们支持的语言之间的差异,避免图像中的文本等) ,依靠NSLocalizedString来调整面向用户(和/或用户可听?)的副本。