0

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

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

例如,English 可以是enoreng甚至English,但对于两种设备来说必须是相同的。

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

4

2 回答 2

3

安卓:

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 必须有一些可用的东西才能获得完整的语言名称,但我以前没有使用过。

于 2014-09-02T19:38:58.887 回答
1

事实证明,iPhone 的 IETF BCP 47 语言代码可以转换为 Android 的 ISO-639-2 代码

我将接受这两种输入的本机形式,并在服务器端将 iPhone 的 BCP 47 转换为 ISO-639-2。

于 2014-09-29T08:50:09.520 回答