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(); }