Exemplo n.º 1
0
        private L10nAsset Parse(Parser <VslRow> parser, string csvData, L10nAsset asset, List <string> languages)
        {
            var enumerator = parser.Parse(csvData).GetEnumerator();
            var row        = 0;
            var error      = string.Empty;
            var logger     = new StringBuilder();

            L10nTextRow text = null;

            while (enumerator.MoveNext())
            {
                if (!enumerator.Current.IsValid)
                {
                    error = enumerator.Current.Error.ToString();
                    break;
                }

                var vslRow = enumerator.Current.Result;
                row = enumerator.Current.RowIndex + 1;

                text = vslRow.Parse(asset, text, languages, row);

                if (vslRow.IsError)
                {
                    error = vslRow.Error;
                    break;
                }
            }

            if (!string.IsNullOrEmpty(error))
            {
                Debug.LogError($"Vsl row {row}: {error}");
                return(null);
            }

            if (logger.Length > 0)
            {
                Debug.LogError(logger);
            }

            return(asset);
        }
        private ContentElement CreateContentGUI(VisualElement root, L10nAsset asset, L10nTextRow text,
                                                IList <ContentElement> contentElems, string language)
        {
            root.userData = asset;
            var contentText = asset.GetContent(text.ContentId)?.GetLocalization(language);

            if (string.IsNullOrEmpty(contentText))
            {
                return(null);
            }

            var contentElem = new ContentElement {
                userData = text.ContentId,
                value    = contentText,
                label    = "Text"
            };

            contentElems.Add(contentElem);
            root.Add(contentElem);
            return(contentElem);
        }
        private L10nTextElement CreateLocalTextGUI(VisualElement root, L10nAsset asset, L10nTextRow text)
        {
            var contentElems = new List <ContentElement>();
            var textElem     = new L10nTextElement {
                userData = contentElems,
                text     = text.Id
            };

            var languages      = new List <string>(asset.Languages);
            var languagesPopup = new LanguagePopup("Language Id", languages, 0);

            languagesPopup.RegisterValueChangedCallback(OnChangeLanguage);
            textElem.Content.Add(languagesPopup);

            CreateContentGUI(textElem.Content, asset, text, contentElems, languages[0]);

            root.Add(textElem);
            return(textElem);
        }
Exemplo n.º 4
0
 public L10nTextRow Parse(IL10nData data, L10nTextRow text, in Segment <string> languages, int row)