gpt4 book ai didi

ios - 如何正确检测设备 objective-c 的语言用户?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:00:28 24 4
gpt4 key购买 nike

我有一个关于 iOS 的问题。我想检测我的设备的语言,如果语言是英语,则更改我的应用程序中的任何文本,如果不是英语,则更改其他文本。但是当我检测语言时,总是检测区域而不是检测语言。换句话说,如果我去改变语言,这不会改变。如果我改变地区,语言也会改变。

我的代码是:

 NSString *userLocale = [[NSLocale currentLocale] localeIdentifier];
NSString *userLanguage = [userLocale substringToIndex:2];
NSLog(@"%@", userLanguage); // return format "en", "es"... (english or spanish)

可能是因为使用 [NSLocale currentLocale] 获取 en_Us 并且此参数取决于区域而出现此问题?

谢谢!

最佳答案

如果你想要语言试试

[NSLocale preferredLanguages];

它将返回用户语言偏好的数组,最偏好的语言将排在列表的第一位。

NSLocale 封装的不仅仅是当前语言。诸如货币标识符和用于小数点分隔符的东西只是其中的一部分。美国西北部讲西类牙语的用户可能希望看到西类牙语的东西,但可能仍希望看到美元的货币。

话虽如此,我怀疑您真正需要的是全面的本地化支持,在这种情况下,有大量关于如何本地化您的应用程序的信息。宏

NSLocalizedString 

及其兄弟允许您编写与语言无关的代码(大部分)。

关于ios - 如何正确检测设备 objective-c 的语言用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24641847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com