private object getlocalization(ResultExecutingContext filterContext)
        {
            var dictonaryFilter = _LocalizationManager.GetAllSources().Where(s => extensionManager.AvailableFeatures().Any(f => f.Name == s.Name));



            return(dictonaryFilter.ToDictionary(source => source.Name, source => source.GetAllStrings().ToDictionary(str => str.Name, str => str.Value)));
        }
Beispiel #2
0
        [HttpPost] // voor filter form
        public async Task <PagedResultDto <LocalizationDto> > GetAll(LocalizationResultRequestDto input)
        {
            //CheckGetAllPermission();
            var lst = new List <LocalizationDto>();

            foreach (var language in await _languageManager.GetLanguagesAsync(AbpSession.TenantId))
            {
                foreach (var source in _localizationManager.GetAllSources())
                {
                    foreach (var item in source.GetAllStrings(new CultureInfo("en")))
                    {
                        var value = source.GetStringOrNull(item.Name, new CultureInfo(language.Name), false);
                        lst.Add(new LocalizationDto()
                        {
                            Key          = item.Name,
                            Value        = value,
                            Default      = item.Value,
                            LanguageName = language.Name,
                            Source       = source.Name
                        });
                    }
                }
            }
            if (!string.IsNullOrEmpty(input.LanguageSource))
            {
                lst = lst.Where(t => t.Source == input.LanguageSource).ToList();
            }
            if (!string.IsNullOrEmpty(input.LanguageName))
            {
                lst = lst.Where(t => t.LanguageName == input.LanguageName).ToList();
            }
            if (!string.IsNullOrEmpty(input.LanguageKey))
            {
                lst = lst.Where(t => t.Key.ToLower().Contains(input.LanguageKey.ToLower())).ToList();
            }
            if (input.NotTranslatedOnly)
            {
                lst = lst.Where(t => string.IsNullOrEmpty(t.Value)).ToList();
            }
            return(new PagedResultDto <LocalizationDto>()
            {
                Items = lst.Skip(input.SkipCount).Take(input.MaxResultCount).ToList(),
                TotalCount = lst.Count()
            });
        }
Beispiel #3
0
        private AbpUserLocalizationConfigDto GetUserLocalizationConfig(string sourceName)
        {
            var currentCulture = CultureInfo.CurrentUICulture;
            var languages      = _languageManager.GetLanguages();

            var config = new AbpUserLocalizationConfigDto
            {
                CurrentCulture = new AbpUserCurrentCultureConfigDto
                {
                    Name        = currentCulture.Name,
                    DisplayName = currentCulture.DisplayName
                },
                Languages = languages.ToList()
            };

            if (languages.Count > 0)
            {
                config.CurrentLanguage = _languageManager.CurrentLanguage;
            }

            var sources = _localizationManager.GetAllSources().Where(s => s.Name.ToLower() == sourceName.ToLower() ||
                                                                     !CommonConsts.ApplicationSourceName.Contains(s.Name.ToLower()))
                          .OrderBy(s => s.Name).ToArray();

            config.Sources = sources.Select(s => new AbpLocalizationSourceDto
            {
                Name = s.Name,
                Type = s.GetType().Name
            }).ToList();

            config.Values = new Dictionary <string, Dictionary <string, string> >();
            foreach (var source in sources)
            {
                var stringValues     = source.GetAllStrings(currentCulture).OrderBy(s => s.Name).ToList();
                var stringDictionary = stringValues
                                       .ToDictionary(_ => _.Name, _ => _.Value);
                config.Values.Add(source.Name, stringDictionary);
            }

            return(config);
        }
Beispiel #4
0
        private UserLocalizationConfigDto GetUserLocalizationConfig()
        {
            var currentCulture = Thread.CurrentThread.CurrentUICulture;
            var languages      = _languageManager.GetLanguages();

            var config = new UserLocalizationConfigDto
            {
                CurrentCulture = new UserCurrentCultureConfigDto
                {
                    Name        = currentCulture.Name,
                    DisplayName = currentCulture.DisplayName
                },
                Languages = languages.ToList()
            };

            if (languages.Count > 0)
            {
                config.CurrentLanguage = _languageManager.CurrentLanguage;
            }

            var sources = _localizationManager.GetAllSources().OrderBy(s => s.Name).ToArray();

            config.Sources = sources.Select(s => new LocalizationSourceDto
            {
                Name = s.Name,
                Type = s.GetType().Name
            }).ToList();

            config.Values = new Dictionary <string, Dictionary <string, string> >();
            foreach (var source in sources)
            {
                var stringValues     = source.GetAllStrings(currentCulture).OrderBy(s => s.Name).ToList();
                var stringDictionary = stringValues
                                       .ToDictionary(_ => _.Name, _ => _.Value);
                config.Values.Add(source.Name, stringDictionary);
            }

            return(config);
        }
        public virtual List <LocalizedStringDto> GetAllLocalizedStringDtos()
        {
            var list = new List <LocalizedStringDto>();

            var sources = _localizationManager.GetAllSources().OrderBy(s => s.Name).ToArray();

            foreach (var source in sources)
            {
                IReadOnlyList <LocalizedString> ens = source.GetAllStrings(new CultureInfo("en"), includeDefaults: true);
                IReadOnlyList <LocalizedString> zhs = source.GetAllStrings(new CultureInfo("zh-Hans"), includeDefaults: true);
                foreach (var item in ens)
                {
                    list.Add(new LocalizedStringDto
                    {
                        Source  = source.Name,
                        Name    = item.Name,
                        EnValue = item.Value
                    });
                }
                foreach (var item in zhs)
                {
                    var elem = list.FirstOrDefault(x => x.Source == source.Name && x.Name == item.Name);
                    if (elem != null)
                    {
                        elem.ZhValue = item.Value;
                    }
                    else
                    {
                        list.Add(new LocalizedStringDto
                        {
                            Source  = source.Name,
                            Name    = item.Name,
                            EnValue = item.Value
                        });
                    }
                }
            }
            return(list);
        }
Beispiel #6
0
        private string BuildAll(CultureInfo cultureInfo)
        {
            var script = new StringBuilder();

            script.AppendLine("(function(){");
            script.AppendLine();
            script.AppendLine("    studiox.localization = studiox.localization || {};");
            script.AppendLine();
            script.AppendLine("    studiox.localization.currentCulture = {");
            script.AppendLine("        name: '" + cultureInfo.Name + "',");
            script.AppendLine("        displayName: '" + cultureInfo.DisplayName + "'");
            script.AppendLine("    };");
            script.AppendLine();
            script.Append("    studiox.localization.languages = [");

            var languages = languageManager.GetLanguages();

            for (var i = 0; i < languages.Count; i++)
            {
                var language = languages[i];

                script.AppendLine("{");
                script.AppendLine("        name: '" + language.Name + "',");
                script.AppendLine("        displayName: '" + language.DisplayName + "',");
                script.AppendLine("        icon: '" + language.Icon + "',");
                script.AppendLine("        isDisabled: " + language.IsDisabled.ToString().ToLowerInvariant() + ",");
                script.AppendLine("        isDefault: " + language.IsDefault.ToString().ToLowerInvariant());
                script.Append("    }");

                if (i < languages.Count - 1)
                {
                    script.Append(" , ");
                }
            }

            script.AppendLine("];");
            script.AppendLine();

            if (languages.Count > 0)
            {
                var currentLanguage = languageManager.CurrentLanguage;
                script.AppendLine("    studiox.localization.currentLanguage = {");
                script.AppendLine("        name: '" + currentLanguage.Name + "',");
                script.AppendLine("        displayName: '" + currentLanguage.DisplayName + "',");
                script.AppendLine("        icon: '" + currentLanguage.Icon + "',");
                script.AppendLine("        isDisabled: " + currentLanguage.IsDisabled.ToString().ToLowerInvariant() + ",");
                script.AppendLine("        isDefault: " + currentLanguage.IsDefault.ToString().ToLowerInvariant());
                script.AppendLine("    };");
            }

            var sources = localizationManager.GetAllSources().OrderBy(s => s.Name).ToArray();

            script.AppendLine();
            script.AppendLine("    studiox.localization.sources = [");

            for (int i = 0; i < sources.Length; i++)
            {
                var source = sources[i];
                script.AppendLine("        {");
                script.AppendLine("            name: '" + source.Name + "',");
                script.AppendLine("            type: '" + source.GetType().Name + "'");
                script.AppendLine("        }" + (i < (sources.Length - 1) ? "," : ""));
            }

            script.AppendLine("    ];");

            script.AppendLine();
            script.AppendLine("    studiox.localization.values = studiox.localization.values || {};");
            script.AppendLine();

            foreach (var source in sources)
            {
                script.Append("    studiox.localization.values['" + source.Name + "'] = ");

                var stringValues = source.GetAllStrings(cultureInfo).OrderBy(s => s.Name).ToList();
                var stringJson   = stringValues
                                   .ToDictionary(s => s.Name, s => s.Value)
                                   .ToJsonString(indented: true);
                script.Append(stringJson);

                script.AppendLine(";");
                script.AppendLine();
            }

            script.AppendLine();
            script.Append("})();");

            return(script.ToString());
        }
Beispiel #7
0
        private string BuildAll()
        {
            var script         = new StringBuilder();
            var currentCulture = Thread.CurrentThread.CurrentUICulture;

            script.AppendLine("(function(){");
            script.AppendLine();
            script.AppendLine("    abp.localization = abp.localization || {};");
            script.AppendLine();
            script.AppendLine("    abp.localization.currentCulture = {");
            script.AppendLine("        name: '" + currentCulture.Name + "',");
            script.AppendLine("        displayName: '" + currentCulture.DisplayName + "'");
            script.AppendLine("    };");
            script.AppendLine();
            script.Append("    abp.localization.languages = [");

            var languages = _localizationManager.GetAllLanguages();

            for (var i = 0; i < languages.Count; i++)
            {
                var language = languages[i];

                script.AppendLine("{");
                script.AppendLine("        name: '" + language.Name + "',");
                script.AppendLine("        displayName: '" + language.DisplayName + "',");
                script.AppendLine("        icon: '" + language.Icon + "',");
                script.AppendLine("        isDefault: " + language.IsDefault.ToString().ToLower());
                script.Append("    }");

                if (i < languages.Count - 1)
                {
                    script.Append(" , ");
                }
            }

            script.AppendLine("];");
            script.AppendLine();

            if (languages.Count > 0)
            {
                var currentLanguage = _localizationManager.CurrentLanguage;
                script.AppendLine("    abp.localization.currentLanguage = {");
                script.AppendLine("        name: '" + currentLanguage.Name + "',");
                script.AppendLine("        displayName: '" + currentLanguage.DisplayName + "',");
                script.AppendLine("        icon: '" + currentLanguage.Icon + "',");
                script.AppendLine("        isDefault: " + currentLanguage.IsDefault.ToString().ToLower());
                script.AppendLine("    };");
            }

            script.AppendLine();
            script.AppendLine("    abp.localization.values = abp.localization.values || {};");
            script.AppendLine();

            foreach (var source in _localizationManager.GetAllSources().OrderBy(s => s.Name))
            {
                script.AppendLine("    abp.localization.values['" + source.Name + "'] = {");

                var stringValues = source.GetAllStrings().OrderBy(s => s.Name).ToList();
                for (var i = 0; i < stringValues.Count; i++)
                {
                    script.AppendLine(
                        string.Format(
                            "        '{0}' : '{1}'" + (i < stringValues.Count - 1 ? "," : ""),
                            stringValues[i].Name,
                            stringValues[i].Value
                            .Replace(@"\", @"\\")
                            .Replace("'", @"\'")
                            .Replace(Environment.NewLine, string.Empty)
                            ));
                }

                script.AppendLine("    };");
                script.AppendLine();
            }

            script.AppendLine();
            script.Append("})();");

            return(script.ToString());
        }