using System.Collections.Generic; using System.Globalization; using Abp.Configuration.Startup; using Abp.Dependency; namespace Abp.Localization.Sources { /// /// Null object pattern for . /// internal class NullLocalizationSource : ILocalizationSource { /// /// Singleton instance. /// public static NullLocalizationSource Instance { get; } = new NullLocalizationSource(); public string Name { get { return null; } } private readonly IReadOnlyList _emptyStringArray = new LocalizedString[0]; private NullLocalizationSource() { } public void Initialize(ILocalizationConfiguration configuration, IIocResolver iocResolver) { } public string GetString(string name) { return name; } public string GetString(string name, CultureInfo culture) { return name; } public string GetStringOrNull(string name, bool tryDefaults = true) { return null; } public string GetStringOrNull(string name, CultureInfo culture, bool tryDefaults = true) { return null; } public IReadOnlyList GetAllStrings(bool includeDefaults = true) { return _emptyStringArray; } public IReadOnlyList GetAllStrings(CultureInfo culture, bool includeDefaults = true) { return _emptyStringArray; } } }