示例#1
0
        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;
        }
示例#2
0
    private static void InitializeWindow()
    {
        LocalizationEditor window = (LocalizationEditor)GetWindow(typeof(LocalizationEditor));

        window.CreateNewTranslation();
        window.Show();
    }
示例#3
0
        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();
        }
示例#4
0
        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();
                        }
                    }
                }
            }
        }
示例#5
0
        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);
            }
        }
示例#6
0
    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();
 }