mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-05-13 14:04:29 -05:00
OnGuiSelectLang
This commit is contained in:
parent
605ea0b618
commit
88923dc4af
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user