             }
         }
         
+        // Take preferred language from backend
+        if let currentLanguage = currentLanguage,
+            let languageDictionary = translationsMatching(locale: currentLanguage.locale, inDictionary: dictionary) {
+            logger.logVerbose("Finding translations for language recommended by API: \(currentLanguage.locale).")
+            return languageDictionary
+        }
+
         logger.logWarning("Falling back to first language in dictionary: \(dictionary.allKeys.first ?? "None")")
         languageDictionary = dictionary.allValues.first as? NSDictionary
         

                    logger.logError("Failed to get NSDictionary from fallback JSON file.")
                    continue
                }
                
                return dictionary
            } catch {
                logger.logError("Error loading translations JSON file: " +

            logger.logError("Failed to get language from all meta NSDictionary. \(meta)")
            return nil
        }

        return Language(dictionary: language)
    }
    
