我的团队正在构建适用于Android和iOS的应用。应用程序以各种形式(如推送通知和UI弹出窗口)从服务器接收多个通知。
为了使用正确的语言发送消息,我希望两个平台中的应用程序都以相同的格式向我发送设备语言 。
例如,英语可以是en
或eng
,甚至是English
,但两个设备必须相同。
iOS和Android是否支持语言名称格式?如果是这样,两个平台对设备语言的要求是什么?
答案 0 :(得分:2)
机器人:
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
所以你可以使用" en"对于英语。 ios必须有一些东西才能获得完整的语言名称,但之前我还没有使用它。
答案 1 :(得分:1)
事实证明,iPhone's IETF BCP 47 language codes can be converted to Android's ISO-639-2 codes。
我将以原生形式接受这两项输入,并在服务器端将iPhone的BCP 47转换为ISO-639-2。