这是我的问题:
我已将我的应用程序本地化为阿拉伯语。 (它实际上与常规本地化略有不同,因为我有不同的目标,每种语言一个)。
在模拟器上,由于自动布局和约束的前导/尾随部分,视图被正确翻转,但我似乎无法在设备上获得相同的结果。 AutoLayout + RTL + UILabel text alignment显示了模拟器上翻转视图的示例。
我还发现自动布局指南支持它:«The attributes leading and trailing are the same as left and right for left-to-right languages such as English, but in a right-to-left environment such as Hebrew or Arabic, leading and trailing are the same as right and left»。这让我觉得它应该翻转视图,就像在模拟器上一样。
我在我的方案中使用-AppleLanguages (ar_SA)
在模拟器上,因此翻转视图,但未能在设备本身找到正确的设置来做同样的事情。将语言和区域格式设置为阿拉伯语似乎没什么帮助。
这是在iPhone 4S,iOS 7.0.4
TLDR:我应该在实际的iPhone设备上更改为什么设置在“阿拉伯语环境”中,并且有翻转视图,或者我缺少什么,以便它在模拟器中翻转但不在设备上翻转?
答案 0 :(得分:4)
结束添加以下内容:
int main(int argc, char *argv[]) {
@autoreleasepool {
#if TARGET == TARGET_AR
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSArray arrayWithObject:@"ar-SA"] forKey:@"AppleLanguages"];
[defaults synchronize];
#endif
return UIApplicationMain(argc, argv, NSStringFromClass([SNFIdleDetectorApplication class]), NSStringFromClass([SNFAppDelegate class]));
}
}
虽然我确实觉得这种丑陋。
编辑:可能有趣的是,当设置为阿拉伯语时,设备会将@"ar"
显示为AppleLanguages的第一个值,而不是@"ar-SA"
。我想翻看视图不适用于@"ar"
语言环境,虽然我不确定这是一个错误,还是一些阿拉伯国家写LTR,因此有意义的是不要系统地翻转视图。
答案 1 :(得分:3)
希望现在还不晚,我遇到了类似的问题,你可以检查一下: https://stackoverflow.com/a/25380873/2633295