From 97a6e599ef59a40811bd9ca0bff866932c733a05 Mon Sep 17 00:00:00 2001 From: Balazs Perlaki-Horvath Date: Thu, 15 Feb 2024 22:42:22 +0100 Subject: [PATCH] Fix default langauge for library filtering --- ViewModel/LibraryViewModel.swift | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ViewModel/LibraryViewModel.swift b/ViewModel/LibraryViewModel.swift index 14059c1a..1305282a 100644 --- a/ViewModel/LibraryViewModel.swift +++ b/ViewModel/LibraryViewModel.swift @@ -56,10 +56,19 @@ public class LibraryViewModel: ObservableObject { Defaults[.libraryLastRefresh] = Date() // populate library language code if there isn't one set already - if Defaults[.libraryLanguageCodes].isEmpty, let currentLanguageCode = Locale.current.languageCode { - Defaults[.libraryLanguageCodes] = [currentLanguageCode] + let currentLanguageCode: String? + if #available(iOS 16, *) { + currentLanguageCode = Locale.current.language.languageCode?.identifier(.alpha3) + } else { + // Locale.current.languageCode is returning a 2 char lang code, eg: "en" + // we want a 3 char value, eg: "eng", otherwise we filter out every results + // and end up with an empty list in the categories + currentLanguageCode = "eng" + } + if Defaults[.libraryLanguageCodes].isEmpty, + let currentLanguageCode { + Defaults[.libraryLanguageCodes] = [currentLanguageCode] } - // reset error error = nil