mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-09-07 11:28:35 -05:00
言語の自動判定と保存を実装
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
|
||||
@@ -72,13 +73,37 @@ namespace UniGLTF.M17N
|
||||
{
|
||||
const string LANG_KEY = "VRM_LANG";
|
||||
|
||||
static Languages? m_lang;
|
||||
static Dictionary<CultureInfo, Languages> CultureMap = new Dictionary<CultureInfo, Languages>
|
||||
{
|
||||
{new CultureInfo("ja-JP",false), Languages.ja},
|
||||
};
|
||||
|
||||
static Languages? s_lang;
|
||||
|
||||
public static Languages Lang
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_lang.GetValueOrDefault();
|
||||
if (!s_lang.HasValue)
|
||||
{
|
||||
var value = EditorPrefs.GetString(LANG_KEY);
|
||||
if (!string.IsNullOrEmpty(value) && Enum.TryParse<Languages>(value, true, out Languages parsed))
|
||||
{
|
||||
s_lang = parsed;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CultureMap.TryGetValue(CultureInfo.CurrentCulture, out Languages lang))
|
||||
{
|
||||
s_lang = lang;
|
||||
}
|
||||
else
|
||||
{
|
||||
s_lang = default(Languages);
|
||||
}
|
||||
}
|
||||
}
|
||||
return s_lang.GetValueOrDefault();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,7 +117,7 @@ namespace UniGLTF.M17N
|
||||
var lang = (Languages)EditorGUILayout.EnumPopup("lang", Lang);
|
||||
if (lang != Lang)
|
||||
{
|
||||
m_lang = lang;
|
||||
s_lang = lang;
|
||||
EditorPrefs.SetString(LANG_KEY, LanguageGetter.Lang.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user