Example #1
0
        // Add a new culture
        public LeanCulture AddCulture(string language, string alias)
        {
            if (Cultures == null)
            {
                Cultures = new List <LeanCulture>();
            }

            var culture = Cultures.Find(c => c.Language == language && c.Alias == alias);

            if (culture == null)
            {
                culture = new LeanCulture();

                culture.Language = language;
                culture.Alias    = alias;
                Cultures.Add(culture);
            }

            return(culture);
        }
        private static void Validate(LeanLocalization localization)
        {
            if (localization.Languages == null)
            {
                localization.Languages = new List <string>();
            }
            if (localization.Cultures == null)
            {
                localization.Cultures = new List <LeanCulture>();
            }
            if (localization.Phrases == null)
            {
                localization.Phrases = new List <LeanPhrase>();
            }

            for (var i = localization.Cultures.Count - 1; i >= 0; i--)
            {
                var culture = localization.Cultures[i];

                if (culture == null)
                {
                    culture = new LeanCulture();

                    culture.Language = "New Language";
                    culture.Alias    = "new-Alias";

                    localization.Cultures[i] = culture;
                }
            }

            for (var i = localization.Phrases.Count - 1; i >= 0; i--)
            {
                var phrase = localization.Phrases[i];

                if (phrase.Translations == null)
                {
                    phrase.Translations = new List <LeanTranslation>();
                }
            }
        }
Example #3
0
        // Add a new language to this localization
        public void AddLanguage(string language, string[] aliases = null)
        {
            Debug.Log("AddLanguage");
            if (Languages == null)
            {
                Languages = new List <string>();
            }

            // Add language to languages list?
            if (Languages.Contains(language) == false)
            {
                Languages.Add(language);
            }

            // Add cultures to language cultures list?
            if (aliases != null && aliases.Length > 0)
            {
                if (Cultures == null)
                {
                    Cultures = new List <LeanCulture>();
                }

                for (var i = 0; i < aliases.Length; i++)
                {
                    var alias = aliases[i];

                    if (Cultures.Exists(c => c.Language == language && c.Alias == alias) == false)
                    {
                        var newCulture = new LeanCulture();

                        newCulture.Language = language;
                        newCulture.Alias    = alias;

                        Cultures.Add(newCulture);
                    }
                }
            }
        }
        private void DrawCulture(LeanLocalization localization, LeanCulture culture, bool full)
        {
            var labelA = Reserve();
            var valueA = Reserve(ref labelA, 20.0f);

            BeginModifications();
            {
                //culture.Language = EditorGUI.TextField(labelA, "", culture.Name);
                culture.Alias = EditorGUI.TextField(labelA, "", culture.Alias);

                if (GUI.Button(valueA, "X") == true)
                {
                    MarkAsModified();

                    localization.Cultures.Remove(culture);

                    if (localization.Cultures.Exists(c => c.Language == culture.Language) == false)
                    {
                        cultureIndex = 0;
                    }
                }
            }
            EndModifications();
        }