private void ShowLanguage(string searchContext)
{
var enable_localization = EditorGUILayout.Toggle(LanguageProperties.editorLanguageExperimental, m_EnableEditorLocalization);
if (enable_localization != m_EnableEditorLocalization)
{
m_EnableEditorLocalization = enable_localization;
m_SelectedLanguage = LocalizationDatabase.GetDefaultEditorLanguage().ToString();
}
EditorGUI.BeginDisabledGroup(!m_EnableEditorLocalization);
{
SystemLanguage[] editorLanguages = LocalizationDatabase.GetAvailableEditorLanguages();
int idx = 0;
for (int i = 0; i < editorLanguages.Length; i++)
{
if (editorLanguages[i].ToString().Equals(m_SelectedLanguage))
{
idx = k_LangListMenuOffset + i;
break;
}
}
int sel = EditorGUILayout.Popup(LanguageProperties.editorLanguage, idx, m_EditorLanguageNames);
m_SelectedLanguage = (sel == 0) ? LocalizationDatabase.GetDefaultEditorLanguage().ToString() :
editorLanguages[sel - k_LangListMenuOffset].ToString();
}
EditorGUI.EndDisabledGroup();
if (!m_SelectedLanguage.Equals(LocalizationDatabase.currentEditorLanguage.ToString()))
{
SystemLanguage lang = (SystemLanguage)Enum.Parse(typeof(SystemLanguage), m_SelectedLanguage);
EditorGUIUtility.NotifyLanguageChanged(lang);
InternalEditorUtility.RequestScriptReload();
}
ApplyChangesToPrefs();
}