private void OnGUI() { EditorGUIUtility.labelWidth = 120.0f; GUILayout.BeginHorizontal(); var outputFolder = new GUIContent("Output Folder", "Folder to save generated files in."); EditorGUILayout.TextField(outputFolder, _outputPath, GUILayout.MinWidth(240), GUILayout.MaxWidth(750)); if (GUILayout.Button(new GUIContent("Select Folder"), GUILayout.MinWidth(80), GUILayout.MaxWidth(100))) { _outputPath = EditorUtility.OpenFolderPanel("Select folder to save generated files", _outputPath, Application.dataPath); } GUILayout.EndHorizontal(); if (string.IsNullOrEmpty(_outputPath)) { GUI.enabled = false; } GUILayout.BeginHorizontal(); if (GUILayout.Button("Generate Constant Files")) { LocalizationEditor.GenerateConstFile(_outputPath); } GUILayout.EndHorizontal(); GUI.enabled = true; }
private static void InitializeWindow() { LocalizationEditor window = (LocalizationEditor)GetWindow(typeof(LocalizationEditor)); window.CreateNewTranslation(); window.Show(); }
public override void OnInspectorGUI() { LocalizationEditor.GetKeys(); serializedObject.Update(); _key.stringValue = EditorGUILayout.TextField("Key", _key.stringValue); var validKeys = string.IsNullOrWhiteSpace(_key.stringValue) ? LocalizationEditor.Keys : LocalizationEditor.Keys.Where(k => k.ToLower().StartsWith(_key.stringValue.ToLower(), StringComparison.Ordinal)).ToList(); if (validKeys.Count > 0) { var index = validKeys.FindIndex(k => string.Equals(k.ToLower(), _key.stringValue.ToLower())); if (index < 0) { validKeys.Insert(0, string.Empty); index = 0; } var value = validKeys[EditorGUILayout.Popup(string.Empty, index, validKeys.ToArray())]; if (!string.IsNullOrEmpty(value)) { _key.stringValue = value; } } else { EditorGUILayout.LabelField("No Matching Keys", EditorStyles.centeredGreyMiniLabel); } EditorGUILayout.PropertyField(_toUpper); EditorGUILayout.PropertyField(_formatArgs, true); serializedObject.ApplyModifiedProperties(); DrawTestingGUI(); }
public virtual void DrawTestingGUI() { if (!EditorApplication.isPlaying) { LocalizationEditor.GetLanguages(); if (LocalizationEditor.Keys.Count != 0 && LocalizationEditor.Languages.Count != 0) { _testingOut = EditorGUILayout.Foldout(_testingOut, "Localization Testing"); if (_testingOut) { var index = Mathf.Max(0, LocalizationEditor.Languages.FindIndex(lang => _myLoc.LanguageOverride == lang.Name)); EditorGUI.BeginChangeCheck(); var overrideLang = LocalizationEditor.Languages[EditorGUILayout.Popup("Language Override", index, LocalizationEditor.Languages.Select(lang => lang.EnglishName).ToArray())].Name; if (EditorGUI.EndChangeCheck()) { Undo.RegisterCompleteObjectUndo(_myLoc, "Localization Override Change"); _myLoc.LanguageOverride = overrideLang; } if (GUILayout.Button("Localize")) { Set(); } } } } }
public static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { var assets = importedAssets.ToList(); assets.AddRange(deletedAssets); assets.AddRange(movedAssets); assets.AddRange(movedFromAssetPaths); if (assets.Any(a => a.Contains("/Resources/" + Localization.FilePath))) { LocalizationEditor.GetKeys(true); } }
public void EditLocalization(SystemLanguage _language, string _search = "") { editor = new LocalizationAssistantEditor(); editorRender = editor.OnInspectorGUI; LocalizationEditor locEditor = new LocalizationEditor(); locEditor.scroll = (Vector2 scroll) => { editorScroll = scroll; }; editorRender += locEditor.OnInspectorGUI; locEditor.language = _language; locEditor.search = _search; locEditor.OnEnable(); editorTitle = "Localization"; }
public override void OnInspectorGUI() { LocalizationEditor.GetKeys(); DrawDefaultInspector(); DrawTestingGUI(); }