如何获取iPhone应用程序使用的语言
问题描述:
如何获取应用程序运行的语言?我并不是说偏好设置为设置!如何获取iPhone应用程序使用的语言
让我进一步解释... 我用三种语言本地化我的应用程序:英语,意大利语和西班牙语。如果iPhone设置为意大利语或西班牙语,则该应用程序将使用这两个...否则它会回到英语。
例如:法国用户获得英文版...所以即使French是语言设置,我的应用程序也会自动使用英语。现在......我如何在代码中返回这个“值”?
谢谢!
答
可以使用获取用户的偏好的语言:
的NSString *语言代码= [[NSLocale preferredLanguages] objectAtIndex:0];
[NSLocale preferredLanguages]数组实际上包含了所有用户的首选语言,因此您可以循环访问它,直到找到应用程序支持的语言为止。
答
真的不承认这是什么我并不是说偏好设置为设置!是什么意思?
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];
答
你只需要获得设备的当前语言(如上由其他用户解释),并将它与您的应用程序支持的语言,像比较:
currentLangue = //get current language with code in other answers
languageToUse = ""
for each language in languagesSupportedbyMyApp
if currentLanguage == language
languagetoUse = language
//if no language is found then set it to "en"
if languageToUse == ""
languageToUse = "en"
问候, 费尔南多
嗨亚伦,我的意思是在法国用户的例子中描述...您的代码可能会返回“fr”或类似的东西,因为这是在iPhone国际和语言设置上设置的语言。相反,我正在寻找的是一段代码,它会返回“en”,因为我的应用程序没有法语版的本地化资源,因此它会回退到英语。希望这是清楚的知道...我真的很感谢你的帮助! – Andrea 2010-09-28 07:20:01