首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检查NSString语言是否与NSLocaleLanguageCode匹配

如何检查NSString语言是否与NSLocaleLanguageCode匹配
EN

Stack Overflow用户
提问于 2018-07-31 07:37:57
回答 1查看 116关注 0票数 0

我正尝试在XCode中执行一项简单的任务,检查某一种NSString语言是否与用户的首选语言匹配。

例如,假设我有一个字符串,如下所示:

代码语言:javascript
复制
NSString *englishString = @"Good morning!";
NSString *frenchString = @"Bonjour!";

我知道我可以使用NSLocaleLanguageCode值获得用户设备的首选语言,并且根据之前的堆栈溢出答案here,我可以获得NSString的语言。但是,当我比较这两个值时,键似乎不匹配。有没有更好的方法来实现这一点?谢谢!

NSLocaleLanguageCode的文档可以在here中找到,NSLinguisticTagger的描述可以在here中找到。NSLocaleLanguageCode返回一个NSString,而标记器,特别是"tagAtIndex“方法返回一个NSLinguisticTag键。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-31 09:17:26

这两种方法都会得到一个字符串。在Objective-C中,NSLinguisticTagNSString *的同义词。只需将NSLinguisticTag (实际上只是一个NSString)与从语言环境的语言代码中获得的NSString进行比较。

但更简单的解决方案是使用NSLinguisticTaggerdominantLanguageForString:类方法来轻松地将字符串的语言作为NSString获取。这比使用NSLinguisticTaggertag...实例方法简单得多,但它确实需要iOS 11+/macOS 10.13+。

代码语言:javascript
复制
NSLinguisticTag languageTag = ... // tag from NSLinguisticTagger

NSString *languageCode = ... // language from NSLocale

if ([languageCode isEqualToString:languageTag]) {
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51603604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档