using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;
public class ComManager
{
[DllImport("__Internal")]
// ios手机的当前语言 "en"、“zh"、“zh-Hans"、"zh-Hant"
private static extern string CurIOSLang();
/**
获得校正后的系统语言
因为ios9调整了系统语言,简体中文和繁体中文在ios9上Application.systemLanguage获取的值都是Chinese
无法区分简体中文和繁体中文
ios 7
简体 zh-Hans
繁体 zh-Hant
ios 8.1
简体中文 zh-Hans ChineseSimplified
繁体中文(香港) zh-HK ChineseTraditional
繁体中文(台湾) zh-Hant ChineseTraditional
ios 9.1
简体中文 zh-Hans-CN Chinese
繁体中文(香港) zh-HK ChineseTraditional
繁体中文(台湾) zh-TW Chinese
**/
public static SystemLanguage GetSystemLanguage()
{
SystemLanguage lang = Application.systemLanguage;
if (Application.platform == RuntimePlatform.IPhonePlayer)
{
if (lang == SystemLanguage.Chinese) {
string name = CurIOSLang();
if (name.StartsWith("zh-Hans")) {
return SystemLanguage.ChineseSimplified;
}
return SystemLanguage.ChineseTraditional;
}
}
return lang;
}
}
extern char* cStringCopy(const char* string);
extern "C"
{
// ios手机的当前语言 "en"、“zh"、“zh-Hans"、"zh-Hant"
const char* CurIOSLang()
{
NSArray *languages = [NSLocale preferredLanguages];
NSString *currentLanguage = [languages objectAtIndex:0];
return cStringCopy([currentLanguage UTF8String]);
}
}