OnGuiSelectLang

This commit is contained in:
ousttrue 2020-08-26 15:04:39 +09:00
parent 605ea0b618
commit 88923dc4af
3 changed files with 48 additions and 12 deletions

View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
namespace VRM.M17N
{
@ -143,11 +144,35 @@ namespace VRM.M17N
}
public static class Getter
{
public static M17N.Languages Lang;
const string LANG_KEY = "VRM_LANG";
static Languages? m_lang;
public static Languages Lang
{
get
{
if (!m_lang.HasValue)
{
m_lang = EnumUtil.TryParseOrDefault<Languages>(EditorPrefs.GetString(LANG_KEY, default(Languages).ToString()));
}
return m_lang.Value;
}
}
public static string Msg<T>(T key) where T : Enum
{
return M17N.MsgCache<T>.Get(Lang, key);
}
public static void OnGuiSelectLang()
{
var lang = (M17N.Languages)EditorGUILayout.EnumPopup("lang", Lang);
if (lang != Lang)
{
m_lang = lang;
EditorPrefs.SetString(LANG_KEY, M17N.Getter.Lang.ToString());
}
}
}
}

View File

@ -296,9 +296,8 @@ namespace VRM
m_Inspector = Editor.CreateEditor(m_settings);
}
M17N.Getter.Lang = EnumUtil.TryParseOrDefault<M17N.Languages>(EditorPrefs.GetString(LANG_KEY, default(M17N.Languages).ToString()));
M17N.Getter.OnGuiSelectLang();
}
const string LANG_KEY = "VRM_LANG";
void OnDisable()
{
@ -360,12 +359,7 @@ namespace VRM
EditorGUIUtility.labelWidth = 150;
// lang
var lang = (M17N.Languages)EditorGUILayout.EnumPopup("lang", M17N.Getter.Lang);
if (lang != M17N.Getter.Lang)
{
M17N.Getter.Lang = lang;
EditorPrefs.SetString(LANG_KEY, M17N.Getter.Lang.ToString());
}
M17N.Getter.OnGuiSelectLang();
EditorGUILayout.LabelField("ExportRoot");
{

View File

@ -51,6 +51,21 @@ namespace VRM
SerializedProperty m_LicenseType;
SerializedProperty m_OtherLicenseUrl;
static string RequiredMessage(string name)
{
switch (M17N.Getter.Lang)
{
case M17N.Languages.ja:
return $"必須項目。{name} を入力してください";
case M17N.Languages.en:
return $"{name} is required";
default:
throw new System.NotImplementedException();
}
}
private void OnEnable()
{
m_target = (VRMMetaObject)target;
@ -62,7 +77,7 @@ namespace VRM
{
if (string.IsNullOrEmpty(prop.stringValue))
{
return ($"必須項目。{prop.name} を入力してください", MessageType.Error);
return (RequiredMessage(prop.name), MessageType.Error);
}
return ("", MessageType.None);
});
@ -70,7 +85,7 @@ namespace VRM
{
if (string.IsNullOrEmpty(prop.stringValue))
{
return ($"必須項目。{prop.name} を入力してください", MessageType.Error);
return (RequiredMessage(prop.name), MessageType.Error);
}
return ("", MessageType.None);
});
@ -78,7 +93,7 @@ namespace VRM
{
if (string.IsNullOrEmpty(prop.stringValue))
{
return ($"必須項目。{prop.name} を入力してください", MessageType.Error);
return (RequiredMessage(prop.name), MessageType.Error);
}
return ("", MessageType.None);
});
@ -117,6 +132,8 @@ namespace VRM
bool m_foldoutDistribution = true;
void VRMMetaObjectGUI(SerializedObject so)
{
M17N.Getter.OnGuiSelectLang();
so.Update();
if (VRMVersion.IsNewer(m_exporterVersion.stringValue))