fix: language filter also checks the title's original language (v1.0.0.15)
All checks were successful
Publish Release / release (push) Successful in 9s

AllowedLanguages only filtered on each video's iso_639_1 tag, and TMDB
often tags subtitled foreign trailers as "en". With en,fr selected, 6 of
27 downloaded trailers were Korean, Chinese or Zulu titles. Candidates
now also need an allowed original_language (from the list results, so
no extra API calls).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Martin
2026-10-05 18:27:50 -04:00
parent 2664ab4d5a
commit fb75fa5a07
5 changed files with 29 additions and 9 deletions

View File

@@ -177,6 +177,14 @@ namespace Jellyfin.Plugin.CinemaTrailers4Jellyfins.ScheduledTasks
continue;
}
// A trailer's own language tag is often "en" just because it has English
// subtitles, so also require the title itself to be in an allowed language.
if (allowedLanguages != null && !allowedLanguages.Contains(movie.OriginalLanguage))
{
_logger.LogDebug("|CinemaTrailers4Jellyfins| Skipping '{Title}': original language '{Lang}' is not allowed", movie.Title, movie.OriginalLanguage);
continue;
}
var trailers = await _tmdbService.GetTrailersAsync(
"movie", movie.Id.ToString(), config.TmdbApiKey, allowedLanguages, cancellationToken).ConfigureAwait(false);
@@ -284,6 +292,14 @@ namespace Jellyfin.Plugin.CinemaTrailers4Jellyfins.ScheduledTasks
continue;
}
// A trailer's own language tag is often "en" just because it has English
// subtitles, so also require the title itself to be in an allowed language.
if (allowedLanguages != null && !allowedLanguages.Contains(show.OriginalLanguage))
{
_logger.LogDebug("|CinemaTrailers4Jellyfins| Skipping '{Title}': original language '{Lang}' is not allowed", show.Title, show.OriginalLanguage);
continue;
}
var trailers = await _tmdbService.GetTrailersAsync(
"tv", show.Id.ToString(), config.TmdbApiKey, allowedLanguages, cancellationToken).ConfigureAwait(false);