aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs33
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>