diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs | 48 |
1 files changed, 15 insertions, 33 deletions
diff --git a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs index 629d21df6..1888d14fd 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> @@ -350,6 +331,7 @@ namespace MediaBrowser.Server.Implementations.Localization new LocalizatonOption{ Name="Catalan", Value="ca"}, new LocalizatonOption{ Name="Chinese Traditional", Value="zh-TW"}, new LocalizatonOption{ Name="Czech", Value="cs"}, + new LocalizatonOption{ Name="Danish", Value="da"}, new LocalizatonOption{ Name="Dutch", Value="nl"}, new LocalizatonOption{ Name="French", Value="fr"}, new LocalizatonOption{ Name="German", Value="de"}, |
