2015-07-06 51 views
1

我的iOS应用程序支持英语,我想允许用户进行切换并将语言更改为阿拉伯语(如果语言从右到左) 我在应用程序中为字符串进行了本地化。 另外我想反映用户界面中的所有组件[在左侧和右侧放置正确的组件,并使标题从右到左对齐] 当我疯狂的自动布局和如果我的设备区域设置是英语,组件被动态地反映。但是当用户改变应用程序内部的语言而不是设备的语言时,我想强制反映它们。 这样做的最好方法是什么? .. 谢谢,iOS中的本地化

+0

这是可能的iOS9使用普通的定位技术,对老版本没有一个完全左到右的支持 – Andrea

回答

0

可以使用AppleLanguages用户默认做到这一点:

NSMutableArray* arr = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] mutableCopy]; 
[arr removeObject:targetLang]; 
[arr insertObject:targetLang atIndex:0]; 
[[NSUserDefaults standardUserDefaults] setObject:arr forKey:@"AppleLanguages"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 
+0

是我用它我是我的AppDelegate.swift:var arr:NSArray = [“ar”] NSUserDefaults.standardUserDefaults()。setObject(arr,forKey:“AppleLanguages”) NSUserDefaults.standardUserDefaults()。synchronize() 。它在添加Localisable.strings并创建尾随和前导约束之后为我工作。谢谢 –