public static string GetLanguageFilesMap(this AbpLocalizationOptions localizationOptions, string packageName, string language) { return(localizationOptions.LanguageFilesMap.TryGetValue(packageName, out var maps) ? maps.FirstOrDefault(x => x.Name == language)?.Value ?? language : language); }
public static AbpLocalizationOptions AddLanguagesMapOrUpdate(this AbpLocalizationOptions localizationOptions, string packageName, params NameValue[] maps) { foreach (var map in maps) { AddOrUpdate(localizationOptions.LanguagesMap, packageName, map); } return(localizationOptions); }
//TODO: It's better to use decorator pattern for IStringLocalizerFactory instead of getting ResourceManagerStringLocalizerFactory as a dependency. public AbpStringLocalizerFactory( ResourceManagerStringLocalizerFactory innerFactory, IOptions <AbpLocalizationOptions> abpLocalizationOptions, IServiceProvider serviceProvider) { _innerFactory = innerFactory; _serviceProvider = serviceProvider; _abpLocalizationOptions = abpLocalizationOptions.Value; _localizerCache = new ConcurrentDictionary <Type, AbpDictionaryBasedStringLocalizer>(); }
public static string GetCurrentUICultureLanguageFilesMap(this AbpLocalizationOptions localizationOptions, string packageName) { return(GetLanguageFilesMap(localizationOptions, packageName, CultureInfo.CurrentUICulture.Name)); }
public DefaultLanguageProvider(IOptions <AbpLocalizationOptions> options) { Options = options.Value; }