diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs index 85c3aaa56..e1f5bcfdc 100644 --- a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs +++ b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs @@ -108,12 +108,41 @@ namespace MediaBrowser.Server.Implementations.Localization public IEnumerable<CultureDto> GetCultures() { var type = GetType(); - var path = type.Namespace + ".cultures.json"; + var path = type.Namespace + ".iso6392.txt"; + + var list = new List<CultureDto>(); using (var stream = type.Assembly.GetManifestResourceStream(path)) { - return _jsonSerializer.DeserializeFromStream<List<CultureDto>>(stream); + using (var reader = new StreamReader(stream)) + { + while (!reader.EndOfStream) + { + var line = reader.ReadLine(); + + if (!string.IsNullOrWhiteSpace(line)) + { + var parts = line.Split('|'); + + if (parts.Length == 5) + { + list.Add(new CultureDto + { + DisplayName = parts[3], + Name = parts[3], + ThreeLetterISOLanguageName = parts[0], + TwoLetterISOLanguageName = parts[2] + }); + } + } + } + } } + + return list.Where(i => !string.IsNullOrWhiteSpace(i.Name) && + !string.IsNullOrWhiteSpace(i.DisplayName) && + !string.IsNullOrWhiteSpace(i.ThreeLetterISOLanguageName) && + !string.IsNullOrWhiteSpace(i.TwoLetterISOLanguageName)); } /// <summary> |
