Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
所有语言的英文数组-iOS_Ios_Localization_Nsuserdefaults - Fatal编程技术网

所有语言的英文数组-iOS

所有语言的英文数组-iOS,ios,localization,nsuserdefaults,Ios,Localization,Nsuserdefaults,我正在寻找一系列专门用英语编写的语言。 我读过几个关于这个主题的问题,我注意到这行代码: NSArray *languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]; “languages”数组对象包含所有langauges字符串,但问题是它是用iPhone中定义的语言编写的。我希望所有设备都使用英语 有没有办法做到这一点?强制默认语言为“en”,然后查询语言列表并将其设置回上一个。类似

我正在寻找一系列专门用英语编写的语言。 我读过几个关于这个主题的问题,我注意到这行代码:

NSArray *languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
“languages”数组对象包含所有langauges字符串,但问题是它是用iPhone中定义的语言编写的。我希望所有设备都使用英语


有没有办法做到这一点?

强制默认语言为“en”,然后查询语言列表并将其设置回上一个。类似这样的东西(未经测试的想法)


强制默认语言为“en”,然后查询语言列表并将其设置回前一种语言。类似这样的东西(未经测试的想法)

NSArray*localIdentifiers=[NSLocale可用的日历标识符];
NSMutableArray*lanuages=[[NSMutableArray alloc]init];
对于(int i=0;i<[localIdentifiers计数];i++){
[lanuages addObject:[[NSLocale currentLocale]displayNameForKey:NSLocaleIdentifier值:[LocaleIdentifiers objectAtIndex:i]];
}
NSLog(@“%@”,语言);
试试这个,或者你可以用另一种方法

NSArray* languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];

    for (int i = 0; i < [languages count]; i++) {

        NSLog(@"%@", [[NSLocale currentLocale] displayNameForKey:NSLocaleIdentifier value:[languages objectAtIndex:i]]);

    }
NSArray*语言=[[NSUserDefaults standardUserDefaults]objectForKey:@“AppleLanguages”];
对于(int i=0;i<[语言计数];i++){
NSLog(@“%@,[[NSLocale currentLocale]displayNameForKey:NSLocaleIdentifier值:[语言objectAtIndex:i]]);
}
NSArray*localIdentifiers=[NSLocale可用的本地标识符];
NSMutableArray*lanuages=[[NSMutableArray alloc]init];
对于(int i=0;i<[localIdentifiers计数];i++){
[lanuages addObject:[[NSLocale currentLocale]displayNameForKey:NSLocaleIdentifier值:[LocaleIdentifiers objectAtIndex:i]];
}
NSLog(@“%@”,语言);
试试这个,或者你可以用另一种方法

NSArray* languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];

    for (int i = 0; i < [languages count]; i++) {

        NSLog(@"%@", [[NSLocale currentLocale] displayNameForKey:NSLocaleIdentifier value:[languages objectAtIndex:i]]);

    }
NSArray*语言=[[NSUserDefaults standardUserDefaults]objectForKey:@“AppleLanguages”];
对于(int i=0;i<[语言计数];i++){
NSLog(@“%@,[[NSLocale currentLocale]displayNameForKey:NSLocaleIdentifier值:[语言objectAtIndex:i]]);
}

第一种方法打印的是数据(我认为),而不是字符串。第二种方法不做任何事情,仍然以设备的默认语言打印语言。第一种方法打印数据(我认为),而不是字符串。第二种方法不做任何事情,仍然以设备的默认语言打印语言。这是一个好主意,但在我使用:[[NSUserDefaults standardUserDefaults]setObject:[NSArray arrayWithObjects:@“en”,nil]forKey:@“AppleLanguages”];[[NSUserDefaults standardUserDefaults]同步];NSArray*englishArray=[[NSUserDefaults standardUserDefaults]objectForKey:@“AppleLanguages”];“englishArray”只有一个宾语,甚至在英语中都没有。。你知道为什么吗?谢谢。这是个好主意,但在我使用:[[NSUserDefaults standardUserDefaults]setObject:[NSArray arrayWithObjects:@“en”,nil]forKey:@“AppleLanguages”];[[NSUserDefaults standardUserDefaults]同步];NSArray*englishArray=[[NSUserDefaults standardUserDefaults]objectForKey:@“AppleLanguages”];“englishArray”只有一个宾语,甚至在英语中都没有。。你知道为什么吗?谢谢
NSArray* languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];

    for (int i = 0; i < [languages count]; i++) {

        NSLog(@"%@", [[NSLocale currentLocale] displayNameForKey:NSLocaleIdentifier value:[languages objectAtIndex:i]]);

    }