Application.systemLanguage无法区分简体中文和繁体中文 - 针对Unity4.7版本,Unity 5.6是可以区分的
作者:互联网
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]); } }
标签:zh,区分,ios,SystemLanguage,繁体中文,Hans,简体中文 来源: https://www.cnblogs.com/open-coder/p/12502386.html