Exemplo n.º 1
0
        public static Dictionary <string, string> CreateLocalizations(Dictionary <LanguageIdPrimitive, Dictionary <uint, LanguageItem> > source, uint entryId, LanguageValueProcessor[] valueProcessors = null)
        {
            var result = new LocalizedText();

            foreach (LanguageIdPrimitive languageId in Languages)
            {
                if (source.TryGetValue(languageId, out Dictionary <uint, LanguageItem> language) == false)
                {
                    continue;
                }

                LanguageItem item        = language[entryId];
                string       resultValue = item.Value;

                if (valueProcessors != null)
                {
                    foreach (LanguageValueProcessor valueProcessor in valueProcessors)
                    {
                        if (valueProcessor != null)
                        {
                            resultValue = valueProcessor?.Invoke(languageId, resultValue);
                        }
                    }
                }

                result.Add(LanguageIdToLanguageCode(languageId), resultValue);
            }

            return(result);
        }