diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs | 47 |
1 files changed, 14 insertions, 33 deletions
diff --git a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs index 629d21df6..8eaaaacc0 100644 --- a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs +++ b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs @@ -5,7 +5,6 @@ using MediaBrowser.Controller.Localization; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Globalization; using MediaBrowser.Model.Serialization; -using MoreLinq; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -106,16 +105,13 @@ namespace MediaBrowser.Server.Implementations.Localization /// <returns>IEnumerable{CultureDto}.</returns> public IEnumerable<CultureDto> GetCultures() { - return CultureInfo.GetCultures(CultureTypes.AllCultures) - .OrderBy(c => c.DisplayName) - .DistinctBy(c => c.TwoLetterISOLanguageName + c.ThreeLetterISOLanguageName) - .Select(c => new CultureDto - { - Name = c.Name, - DisplayName = c.DisplayName, - ThreeLetterISOLanguageName = c.ThreeLetterISOLanguageName, - TwoLetterISOLanguageName = c.TwoLetterISOLanguageName - }); + var type = GetType(); + var path = type.Namespace + ".cultures.json"; + + using (var stream = type.Assembly.GetManifestResourceStream(path)) + { + return _jsonSerializer.DeserializeFromStream<List<CultureDto>>(stream); + } } /// <summary> @@ -124,28 +120,13 @@ namespace MediaBrowser.Server.Implementations.Localization /// <returns>IEnumerable{CountryInfo}.</returns> public IEnumerable<CountryInfo> GetCountries() { - return CultureInfo.GetCultures(CultureTypes.SpecificCultures) - .Select(c => - { - try - { - return new RegionInfo(c.LCID); - } - catch (CultureNotFoundException) - { - return null; - } - }) - .Where(i => i != null) - .OrderBy(c => c.DisplayName) - .DistinctBy(c => c.TwoLetterISORegionName) - .Select(c => new CountryInfo - { - Name = c.Name, - DisplayName = c.DisplayName, - TwoLetterISORegionName = c.TwoLetterISORegionName, - ThreeLetterISORegionName = c.ThreeLetterISORegionName - }); + var type = GetType(); + var path = type.Namespace + ".countries.json"; + + using (var stream = type.Assembly.GetManifestResourceStream(path)) + { + return _jsonSerializer.DeserializeFromStream<List<CountryInfo>>(stream); + } } /// <summary> |
