public Dictionary <string, string> GetTexts(string languageName, string source) { var result = new Dictionary <string, string>(); if (!IsXMLAvailableForTheLangCode(languageName, source)) { throw new AbpException("Language file not found"); } var localResult = XmlLocations.GetXmlLocationBySourceName(source); var provider = new XmlEmbeddedFileLocalizationDictionaryProvider( Assembly.GetAssembly(localResult.Assembly), localResult.LocalizationNameSpace ); provider.Initialize(source); //Default dictionary = "en" en should be always available var strings = provider.DefaultDictionary.GetAllStrings().Where(a => a.CultureInfo.Name == languageName); foreach (var localizedString in strings) { result.Add(localizedString.Name, localizedString.Value); } return(result); }
/// <summary> /// Gets all strings for the requested language /// </summary> /// <param name="sourceLang"></param> /// <param name="source"></param> /// <returns></returns> public List <LocalizedString> GetLocalizationStringFromAssembly(string sourceLang, string source) { var localResult = XmlLocations.GetXmlLocationBySourceName(source); var provider = new XmlEmbeddedFileLocalizationDictionaryProvider( Assembly.GetAssembly(localResult.Assembly), localResult.LocalizationNameSpace ); provider.Initialize(source); var result = new List <LocalizedString>(); var localizationDictionary = provider.Dictionaries.FirstOrDefault(a => a.Value.CultureInfo.Name == sourceLang); var localizedStrings = localizationDictionary.Value?.GetAllStrings().ToList(); //Else we load by the source if (localizedStrings != null) { foreach (var localizedString in localizedStrings) { result.Add(localizedString); } } return(result); }
public XmlEmbeddedFileLocalizationDictionaryProvider_Tests() { _dictionaryProvider = new XmlEmbeddedFileLocalizationDictionaryProvider( Assembly.GetExecutingAssembly(), "Abp.Tests.Localization.TestXmlFiles" ); }
public static void Configure(ILocalizationConfiguration localizationConfiguration) { var ass = typeof(EVLocalizationConfigurer).GetAssembly(); var p = new XmlEmbeddedFileLocalizationDictionaryProvider(ass, "EV.Localization.SourceFiles"); var x = new DictionaryBasedLocalizationSource(EVConsts.LocalizationSourceName, p); localizationConfiguration.Sources.Add(x); }
public XmlEmbeddedFileLocalizationDictionaryProviderTests() { dictionaryProvider = new XmlEmbeddedFileLocalizationDictionaryProvider( typeof(XmlEmbeddedFileLocalizationDictionaryProviderTests).GetAssembly(), "StudioX.Tests.Localization.TestXmlFiles" ); dictionaryProvider.Initialize("Test"); }
public XmlEmbeddedFileLocalizationDictionaryProvider_Tests() { _dictionaryProvider = new XmlEmbeddedFileLocalizationDictionaryProvider( Assembly.GetExecutingAssembly(), "Adorable.Tests.Localization.TestXmlFiles" ); _dictionaryProvider.Initialize("Test"); }
public static void Configure(ILocalizationConfiguration localizationConfiguration) { XmlEmbeddedFileLocalizationDictionaryProvider dictionaryProvider = new XmlEmbeddedFileLocalizationDictionaryProvider( typeof(AcmStatisticsAbpLocalizationConfigurer).GetAssembly(), "AcmStatisticsAbp.Localization.SourceFiles"); localizationConfiguration.Sources.Add( new DictionaryBasedLocalizationSource( AcmStatisticsAbpConsts.LocalizationSourceName, dictionaryProvider)); }
public bool IsXMLAvailableForTheLangCode(string langCode, string source) { var provider = new XmlEmbeddedFileLocalizationDictionaryProvider( Assembly.GetExecutingAssembly(), XmlLocations.GetXmlLocationBySourceName(source) ); provider.Initialize(source); //Default dictionary = "en" en should be always available var result = provider.Dictionaries.Any(a => a.Value.CultureInfo.Name == langCode); return(result); }
private List <string> GetLocalizationKeysFromAssembly(string source) { var provider = new XmlEmbeddedFileLocalizationDictionaryProvider( Assembly.GetExecutingAssembly(), XmlLocations.GetXmlLocationBySourceName(source) ); provider.Initialize(source); //Default dictionary = "en" en should be always available var strings = provider.DefaultDictionary.GetAllStrings(); var result = strings.Select(a => a.Name).ToList(); return(result); }
private void AddLocalizationSources() { //添加Abp开头的本地化资源配置项:abp核心模块的本地化资源 AbpDebug.WriteLine("添加Abp开头的本地化资源配置项"); //要读取本地化资源的程序集 var assembly = typeof(AbpKernelModule).GetAssembly(); //资源文件除文件名外的完整命名空间 var rootNameSpaces = "Abp.Localization.Sources.AbpXmlSource"; //资源解析器 var provider = new XmlEmbeddedFileLocalizationDictionaryProvider(assembly, rootNameSpaces); //资源 var source = new DictionaryBasedLocalizationSource(AbpConsts.LocalizationSourceName, provider); Configuration.Localization.Sources.Add(source); }