android - 以相同的格式从 iOS 和 Android 获取设备语言

标签 android ios iso-639-2

我的团队正在构建适用于 Android 和 iOS 的应用。应用程序从服务器接收多个通知,形式多样,例如推送通知和 UI 弹出窗口。

为了以正确的语言发送消息,我希望两个平台中的应用程序以相同的格式向我发送设备语言

例如英文可以是eneng甚至 English , 但两个设备必须相同。

是否有iOS和Android都支持的语言名称格式?如果是这样,两个平台对设备语言的调用是什么?

最佳答案

安卓:

Locale.getDefault().getLanguage()       ---> en      
Locale.getDefault().getISO3Language()   ---> eng 
Locale.getDefault().getCountry()        ---> US 
Locale.getDefault().getISO3Country()    ---> USA 
Locale.getDefault().getDisplayCountry() ---> United States 
Locale.getDefault().getDisplayName()    ---> English (United States) 

iOS

NSString *language = [[NSLocale preferredLanguages] firstObject]; // ---> en

文档:https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/Articles/ChoosingLocalizations.html

因此您可以使用“en”表示英语。 ios 必须有一些可用的东西来获取完整的语言名称,但我以前没有用过。

关于android - 以相同的格式从 iOS 和 Android 获取设备语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25630951/

相关文章:

java - 防止 Textview android 中的负数 - 代码

android - 强制更新我的安卓应用程序

android - Ionic 2 中与 onResume() 等效的方法是什么?

java - 如何更改具有圆角半径的形状的背景?

ios - 在 UITableviewcell swift 中设置水平渐变

ios - 正确设置 XCode iOS 项目?

ios - 如何在 Swift 4 中将 2 个 boolean 组合在一起

java - 将语言名称转换为 ISO 639 语言代码