コード例 #1
0
    public static CultureInfo GetCultureDefualt(SystemLanguage language)
    {
        CultureInfo[] cultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures);
        string        cultureName = string.Empty;

        foreach (CultureInfo cult in cultureInfo)
        {
            string[] name = cult.EnglishName.Split(new[] { " " }, StringSplitOptions.None);

            if (name.Length == 0)
            {
                continue;
            }

            //Debug.Log(name[0] + " - " + Enum.GetName(language.GetType(), language));
            if (name[0] != Enum.GetName(language.GetType(), language))
            {
                continue;
            }

            Debug.Log("Language: " + cult.Name + " Region info: " + RegionInfo.CurrentRegion);
            cultureName = cult.Name;
            break;
        }

        Debug.Log("Final Chosen name: " + cultureName);

        if (cultureName == string.Empty)
        {
            return(CultureInfo.CurrentCulture);
        }

        return(CultureInfo.CreateSpecificCulture(cultureName));
    }
コード例 #2
0
 public static CultureInfo GetCultureInfo(SystemLanguage language)
 {
     return(CultureInfo.GetCultures(CultureTypes.AllCultures).
            FirstOrDefault(x => x.EnglishName == System.Enum.GetName(language.GetType(), language)));
 }
コード例 #3
0
    public static string GetISO3LetterCode(SystemLanguage unityLangCode)
    {
        CultureInfo culture = CultureInfo.GetCultures(CultureTypes.AllCultures).FirstOrDefault(x => x.EnglishName == Enum.GetName(unityLangCode.GetType(), unityLangCode));

        return((culture == null) ? DEFAULT_LETTER_CODE : culture.ThreeLetterISOLanguageName);
    }