我正致力于支持阿拉伯语和英语的应用
阿拉伯语是RTL语言
英语是LTR语言
因此,当我在设计工作时,我将约束放在所有标签尾随空格和前导空间上,所以当我更改ios设备语言时,标签根据所选语言正确定位
我的意思是如果我在同一行中有两个标签,如下所示
标签1标签2
如果是英语
标签1标签2
左侧标记1位置,标签2右侧标记
如果是阿拉伯语
标签2标签1 标签2在左边,标签1到右边
这就是我想要的,现在正在发生的事情
现在我想从我的应用程序中设置语言
我把这段代码放在main.m
中NSArray *lang= [defaults objectForKey:@"AppleLanguages"];
[defaults setObject:@[lang[0]] forKey:@"AppleLanguages"];
[defaults synchronize];
并在我的按钮操作中更改语言此代码
-(IBAction)changeLang:(id)sender{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *lang= [defaults objectForKey:@"AppleLanguages"];
if ([lang[0] isEqualToString:@"ar"]) {
[defaults setObject:@[@"en"] forKey:@"AppleLanguages"];
}else{
[defaults setObject:@[@"ar"] forKey:@"AppleLanguages"];
}
[defaults synchronize];
exit(0);
}
当我再次打开我的应用程序时,它会听取语言更改并且所有标签和字符串都已本地化
没有退出(0)没有任何反应我的应用程序语言仍然相同
我想做什么
我的应用程序重新加载所有视图而不退出(0);语言更改后或退出后(0)如果可能,再次打开我的应用程序