From c80435d6406785ae0c9bcbaa4ddd182df224a418 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Mon, 19 Apr 2021 21:09:40 +0900 Subject: [PATCH] =?UTF-8?q?=E8=A8=80=E8=AA=9E=E3=81=AE=E8=87=AA=E5=8B=95?= =?UTF-8?q?=E5=88=A4=E5=AE=9A=E3=81=A8=E4=BF=9D=E5=AD=98=E3=82=92=E5=AE=9F?= =?UTF-8?q?=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editor/UniGLTF/ExportDialog/M17N.cs | 31 +++++++++++++++++-- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/Assets/UniGLTF/Editor/UniGLTF/ExportDialog/M17N.cs b/Assets/UniGLTF/Editor/UniGLTF/ExportDialog/M17N.cs index dc872d04a..bec3eea5b 100644 --- a/Assets/UniGLTF/Editor/UniGLTF/ExportDialog/M17N.cs +++ b/Assets/UniGLTF/Editor/UniGLTF/ExportDialog/M17N.cs @@ -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 CultureMap = new Dictionary + { + {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(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()); } }