Пример #1
0
        void OnGUI()
        {
            if (LocalizationWindowUtility.ShouldShowWindow())
            {
                if (!isInitialized)
                {
                    Initialize();
                }

                if (createListContextMenu == null ||
                    createListAdaptor == null ||
                    settingsContextMenu == null ||
                    settingsAdaptor == null ||
                    languageListAdaptor == null ||
                    languageListContextMenu == null)
                {
                    InitializeCultureCollections(true);
                }

                undoManager.CheckUndo();

                //Show settings
                ReorderableListGUI.Title("GGLocalization");
                EditorGUILayout.Space();

                ShowCreateAndSettingsActions();

                ShowCreatedLanguages();

                undoManager.CheckDirty();
            }
        }
Пример #2
0
        void OnGUI()
        {
            if (LocalizationWindowUtility.ShouldShowWindow())
            {
                if (chosenCulture == null)
                {
                    this.Close();
                }

                GUILayout.Label("Импортировать язык", EditorStyles.boldLabel);
                GUILayout.Label("Язык для импорта: " + chosenCulture.englishName + " - " + chosenCulture.languageCode);

                chosenFileFormat = EditorGUILayout.Popup("Формат файла", chosenFileFormat, availableFileFormats);

                if (availableFileFormats[chosenFileFormat] == csvFileEnding)
                {
                    delimiter = (CSVParser.Delimiter)EditorGUILayout.EnumPopup("Разделитель", delimiter);
                }

                if (GUILayout.Button("Импортировать"))
                {
                    OnImportClicked();
                }
            }
        }
Пример #3
0
        void OnGUI()
        {
            if (localizedObjectContextMenu == null ||
                localizedObjectAdaptor == null ||
                settingsContextMenu == null ||
                settingsAdaptor == null)
            {
                Initialize();
            }


            if (LocalizationWindowUtility.ShouldShowWindow())
            {
                ReorderableListGUI.Title("Изменить корневые значения");
                EditorGUILayout.Space();

                settingsContextMenu.Draw(settingsAdaptor);

                bool shouldRepaint = listColumns.DrawColumns();
                scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);
                localizedObjectContextMenu.Draw(localizedObjectAdaptor);
                EditorGUILayout.EndScrollView();

                if (guiChanged)
                {
                    GUILayout.Label("- Есть несохраненные изменения", EditorStyles.miniLabel);
                }

                //If any changes to the gui is made
                if (GUI.changed)
                {
                    guiChanged = true;
                }

                GUILayout.Label("Сохранить изменения", EditorStyles.boldLabel);
                GUILayout.Label("Не забывайте всегда нажимать сохранить, когда вы изменили значения", EditorStyles.miniLabel);
                if (GUILayout.Button("Сохранить файл корневого языка"))
                {
                    SaveRootLanguageFile();
                    guiChanged = false;
                    GUIUtility.keyboardControl = 0;
                }

                if (shouldRepaint)
                {
                    Repaint();
                }
            }
        }
Пример #4
0
        void OnGUI()
        {
            if (LocalizationWindowUtility.ShouldShowWindow())
            {
                GUILayout.Label("Обновить язык из файла", EditorStyles.boldLabel);
                GUILayout.Label("Язык для обновления: " + chosenCulture.englishName + " - " + chosenCulture.languageCode);
                chosenFileFormat = EditorGUILayout.Popup("Формат файла", chosenFileFormat, availableFileFormats);

                if (availableFileFormats[chosenFileFormat] == csvFileEnding)
                {
                    delimiter = (CSVParser.Delimiter)EditorGUILayout.EnumPopup("Разделитель", delimiter);
                }

                if (GUILayout.Button("Обновить"))
                {
                    OnUpdateClicked();
                }
            }
        }
Пример #5
0
        void OnGUI()
        {
            if (this.parentWindow == null)
            {
                this.Close();
            }

            if (LocalizationWindowUtility.ShouldShowWindow())
            {
                if (updateMedhod == BulkUpdateMethod.Import)
                {
                    GUILayout.Label("Импортировать все языки из одного файла", EditorStyles.boldLabel);
                    ShowCommonGUI();
                    ShowImportGUI();
                }
                else
                {
                    GUILayout.Label("Экспорт всех языков в один файл", EditorStyles.boldLabel);
                    ShowCommonGUI();
                    ShowExportGUI();
                }
            }
        }
Пример #6
0
        void OnGUI()
        {
            if (LocalizationWindowUtility.ShouldShowWindow())
            {
                GUILayout.Label("Создать новую информацию о культуре", EditorStyles.boldLabel);

                languageCode = EditorGUILayout.TextField("Код языка", languageCode);
                if (languageCode != null)
                {
                    languageCode = languageCode.RemoveWhitespace();
                }

                englishName   = EditorGUILayout.TextField("Английское имя", englishName);
                nativeName    = EditorGUILayout.TextField("Родное имя", nativeName);
                isRightToLeft = EditorGUILayout.Toggle("Справа налево", isRightToLeft);

                if (GUILayout.Button("Создать"))
                {
                    SmartCultureInfo newInfo = new SmartCultureInfo();
                    newInfo.languageCode  = languageCode;
                    newInfo.englishName   = englishName.Trim();
                    newInfo.nativeName    = nativeName.Trim();
                    newInfo.isRightToLeft = isRightToLeft;

                    SmartCultureInfoCollection allCultures = SmartCultureInfoEx.Deserialize(LocalizationWorkspace.CultureInfoCollectionFilePath());
                    if (!allCultures.IsCultureInCollection(newInfo))
                    {
                        allCultures.AddCultureInfo(newInfo);
                        allCultures.Serialize(LocalizationWorkspace.CultureInfoCollectionFilePath());
                        LanguageHandlerEditor.CheckAndSaveAvailableLanguages(allCultures);

                        showHelpMessage = true;
                        helpMessageType = MessageType.Info;
                        helpMessage     = string.Format("Язык успешно создан!\n Код языка: {0}\n Английское имя:{1}\n Родное имя:{2}\n Справа налево:{3}",
                                                        newInfo.languageCode, newInfo.englishName, newInfo.nativeName, newInfo.isRightToLeft);

                        if (parentWindow != null)
                        {
                            parentWindow.InitializeCultureCollections(true);
                        }

                        this.Close();
                    }
                    else
                    {
                        SmartCultureInfo conflictingCulture  = allCultures.FindCulture(newInfo);
                        string           conflictingVariable = null;

                        if (conflictingCulture.languageCode.ToLower() == newInfo.languageCode.ToLower())
                        {
                            conflictingVariable = "Language Code:" + newInfo.languageCode;
                        }
                        else if (conflictingCulture.englishName.ToLower() == newInfo.englishName.ToLower())
                        {
                            conflictingVariable = "English Name:" + newInfo.englishName;
                        }

                        showHelpMessage = true;
                        helpMessageType = MessageType.Error;
                        helpMessage     = string.Format("Не удалось создать язык!\n Конфликтующая переменная - {0}\n\n",
                                                        conflictingVariable);

                        helpMessage += string.Format("Конфликтующая культура \n Код языка: {0}\n Английское имя:{1}\n Родное имя:{2}",
                                                     conflictingCulture.languageCode, conflictingCulture.englishName, conflictingCulture.nativeName);
                    }
                }

                if (showHelpMessage)
                {
                    EditorGUILayout.HelpBox(helpMessage, helpMessageType);
                }
            }
        }
Пример #7
0
        void OnGUI()
        {
            if (LocalizationWindowUtility.ShouldShowWindow(true))
            {
                if (Application.isPlaying)
                {
                    if (currentCultureInfo == null ||
                        (LanguageManager.HasInstance && currentCultureInfo.languageCode != LanguageManager.Instance.CurrentlyLoadedCulture.languageCode))
                    {
                        if (LanguageManager.HasInstance)
                        {
                            SmartCultureInfo currentLanguage = LanguageManager.Instance.GetCultureInfo(LanguageManager.Instance.CurrentlyLoadedCulture.languageCode);
                            if (currentLanguage == null)
                            {
                                return;
                            }

                            Initialize(currentLanguage);
                        }
                        else
                        {
                            GUILayout.Label("В сцене нет LanguageManager. Умное окно перевода локализации не может использоваться во время выполнения без него.", EditorStyles.boldLabel);
                            return;
                        }
                    }
                    else if (rootValues == null && currentCultureInfo != null)
                    {
                        Initialize(currentCultureInfo);
                    }
                }
                else if (rootValues == null)
                {
                    if (currentCultureInfo != null)
                    {
                        Initialize(currentCultureInfo, true);
                    }
                    else
                    {
                        this.Close();
                        return;
                    }
                }

                if (!rootFileChanged)
                {
                    DrawMainTranslationView();
                }
                else
                {
                    //The root file did change, which means that you have to reload. A key might have changed
                    //We can't have language files with different keys
                    GUILayout.Label("Корневой файл мог измениться", EditorStyles.boldLabel);
                    GUILayout.Label("Корневой файл был сохранен, вы должны перезагрузить его. Ключ мог измениться.", EditorStyles.miniLabel);
                    GUILayout.Label("Вы не можете иметь языковые файлы с разными ключами", EditorStyles.miniLabel);
                    if (GUILayout.Button("Перезагрузить языковой файл"))
                    {
                        ReloadLanguage();
                    }
                }
            }
        }