From 28b0ff1e75a937d16e8c8cd09fb3369e0961d0d2 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 28 Dec 2013 11:58:13 -0500 Subject: allow custom language per item --- MediaBrowser.Controller/Entities/BaseItem.cs | 39 +++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs') diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 6e5024a458..a02369b2cb 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -960,7 +960,7 @@ namespace MediaBrowser.Controller.Entities /// Gets the preferred metadata language. /// /// System.String. - public virtual string GetPreferredMetadataLanguage() + public string GetPreferredMetadataLanguage() { string lang = null; @@ -971,6 +971,13 @@ namespace MediaBrowser.Controller.Entities lang = hasLang.PreferredMetadataLanguage; } + if (string.IsNullOrEmpty(lang)) + { + lang = Parents.OfType() + .Select(i => i.PreferredMetadataLanguage) + .FirstOrDefault(i => !string.IsNullOrEmpty(i)); + } + if (string.IsNullOrEmpty(lang)) { lang = ConfigurationManager.Configuration.PreferredMetadataLanguage; @@ -979,6 +986,36 @@ namespace MediaBrowser.Controller.Entities return lang; } + /// + /// Gets the preferred metadata language. + /// + /// System.String. + public string GetPreferredMetadataCountryCode() + { + string lang = null; + + var hasLang = this as IHasPreferredMetadataLanguage; + + if (hasLang != null) + { + lang = hasLang.PreferredMetadataCountryCode; + } + + if (string.IsNullOrEmpty(lang)) + { + lang = Parents.OfType() + .Select(i => i.PreferredMetadataCountryCode) + .FirstOrDefault(i => !string.IsNullOrEmpty(i)); + } + + if (string.IsNullOrEmpty(lang)) + { + lang = ConfigurationManager.Configuration.MetadataCountryCode; + } + + return lang; + } + /// /// Determines if a given user has access to this item /// -- cgit v1.2.3