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); }
private AbpUserLocalizationConfigDto GetUserLocalizationConfig() { 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; } /* * // 支持i18n后,不需要再输出语言资源 * // * var sources = _localizationManager.GetAllSources().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); }
public static string Localize(this AbpUserLocalizationConfigDto userLocalizationConfig, string key, string source, params object[] args) { if (!userLocalizationConfig.Values.ContainsKey(source)) { throw new Exception("Cannot find localization source: " + source); } if (!userLocalizationConfig.Values[source].ContainsKey(key)) { return(key); } var value = userLocalizationConfig.Values[source][key]; if (args.IsNullOrEmpty()) { return(value); } return(string.Format(value, args)); }
protected virtual AbpUserLocalizationConfigDto GetUserLocalizationConfig() { 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().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); }
public static string Localize(this AbpUserLocalizationConfigDto userLocalizationConfig, string key, params object[] args) { return(Localize(userLocalizationConfig, key, AbpGeekConsts.LocalizationSourceName, args)); }