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); } }
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);
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)); }
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);