Пример #1
0
        public static string GetTitle(IEnumerable <Title> seriesTitles, IEnumerable <Title> episodeTitles, string seriesTitle, string episodeTitle, DisplayLanguageType languageType, TitleType outputType, string displayLanguage, params string[] originLanguages)
        {
            switch (languageType)
            {
            // Let Shoko decide the title.
            case DisplayLanguageType.Default:
                return(__GetTitle(null, null, seriesTitle, episodeTitle, outputType));

            // Display in metadata-preferred language, or fallback to default.
            case DisplayLanguageType.MetadataPreferred:
                var title = __GetTitle(seriesTitles, episodeTitles, seriesTitle, episodeTitle, outputType, displayLanguage);
                if (string.IsNullOrEmpty(title))
                {
                    goto case DisplayLanguageType.Default;
                }
                return(title);

            // Display in origin language without fallback.
            case DisplayLanguageType.Origin:
                return(__GetTitle(seriesTitles, episodeTitles, seriesTitle, episodeTitle, outputType, originLanguages));

            default:
                return(null);
            }
        }
Пример #2
0
 public static (string, string) GetMovieTitles(IEnumerable <Title> seriesTitles, IEnumerable <Title> episodeTitles, string seriesTitle, string episodeTitle, DisplayLanguageType mainLanguage, DisplayLanguageType alternateLanguage, string metadataLanguage)
 => GetTitles(seriesTitles, episodeTitles, seriesTitle, episodeTitle, mainLanguage, alternateLanguage, TitleType.FullTitle, metadataLanguage);
Пример #3
0
        public static (string, string) GetTitles(IEnumerable <Title> rSeriesTitles, IEnumerable <Title> rEpisodeTitles, string seriesTitle, string episodeTitle, DisplayLanguageType mainLanguage, DisplayLanguageType alternateLanguage, TitleType outputType, string metadataLanguage)
        {
            // Don't process anything if the series titles are not provided.
            if (rSeriesTitles == null)
            {
                return(null, null);
            }
            var seriesTitles    = (List <Title>)rSeriesTitles;
            var episodeTitles   = (List <Title>)rEpisodeTitles;
            var originLanguage  = GuessOriginLanguage(seriesTitles);
            var displayLanguage = metadataLanguage?.ToLower() ?? "en";

            return(GetTitle(seriesTitles, episodeTitles, seriesTitle, episodeTitle, mainLanguage, outputType, displayLanguage, originLanguage), GetTitle(seriesTitles, episodeTitles, seriesTitle, episodeTitle, alternateLanguage, outputType, displayLanguage, originLanguage));
        }
Пример #4
0
 public static (string, string) GetSeriesTitles(IEnumerable <Title> seriesTitles, string seriesTitle, DisplayLanguageType mainLanguage, DisplayLanguageType alternateLanguage, string metadataLanguage)
 => GetTitles(seriesTitles, null, seriesTitle, null, mainLanguage, alternateLanguage, TitleType.MainTitle, metadataLanguage);