NullLocalizationSource.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System.Collections.Generic;
  2. using System.Globalization;
  3. using Abp.Configuration.Startup;
  4. using Abp.Dependency;
  5. namespace Abp.Localization.Sources
  6. {
  7. /// <summary>
  8. /// Null object pattern for <see cref="ILocalizationSource"/>.
  9. /// </summary>
  10. internal class NullLocalizationSource : ILocalizationSource
  11. {
  12. /// <summary>
  13. /// Singleton instance.
  14. /// </summary>
  15. public static NullLocalizationSource Instance { get; } = new NullLocalizationSource();
  16. public string Name { get { return null; } }
  17. private readonly IReadOnlyList<LocalizedString> _emptyStringArray = new LocalizedString[0];
  18. private NullLocalizationSource()
  19. {
  20. }
  21. public void Initialize(ILocalizationConfiguration configuration, IIocResolver iocResolver)
  22. {
  23. }
  24. public string GetString(string name)
  25. {
  26. return name;
  27. }
  28. public string GetString(string name, CultureInfo culture)
  29. {
  30. return name;
  31. }
  32. public string GetStringOrNull(string name, bool tryDefaults = true)
  33. {
  34. return null;
  35. }
  36. public string GetStringOrNull(string name, CultureInfo culture, bool tryDefaults = true)
  37. {
  38. return null;
  39. }
  40. public IReadOnlyList<LocalizedString> GetAllStrings(bool includeDefaults = true)
  41. {
  42. return _emptyStringArray;
  43. }
  44. public IReadOnlyList<LocalizedString> GetAllStrings(CultureInfo culture, bool includeDefaults = true)
  45. {
  46. return _emptyStringArray;
  47. }
  48. }
  49. }