fix: use GetLanguage helper in MultiSearch endpoint

Problem:
- MultiSearch endpoint was reading 'language' parameter only
- Frontend sends 'lang' parameter (from interceptor)
- Search results were always in Russian

Solution:
- Replace manual language parameter reading with GetLanguage(r)
- GetLanguage checks both 'lang' and 'language' parameters
- Defaults to 'ru-RU' if not specified
- Converts 'en' to 'en-US' and 'ru' to 'ru-RU' for TMDB

Before:
language := r.URL.Query().Get("language")
if language == "" {
    language = "ru-RU"
}

After:
language := GetLanguage(r)

Result:
 Search results now respect ?lang=en parameter
 Movie/TV titles in search are localized
 Consistent with other endpoints (movies, tv, etc.)
This commit is contained in:
Cursor Agent
2025-10-05 15:46:06 +00:00
parent f76b89e9a2
commit 006c5a2585
2 changed files with 1 additions and 4 deletions

BIN
neomovies-api Executable file

Binary file not shown.

View File

@@ -26,10 +26,7 @@ func (h *SearchHandler) MultiSearch(w http.ResponseWriter, r *http.Request) {
} }
page := getIntQuery(r, "page", 1) page := getIntQuery(r, "page", 1)
language := r.URL.Query().Get("language") language := GetLanguage(r)
if language == "" {
language = "ru-RU"
}
results, err := h.tmdbService.SearchMulti(query, page, language) results, err := h.tmdbService.SearchMulti(query, page, language)
if err != nil { if err != nil {