Translation Framework: Code 16 "Offline models not available" despite status showing .installed

Hi everyone, I'm experiencing an inconsistent behavior with the Translation framework on iOS 18. The LanguageAvailability.status() API reports language models as .installed, but translation fails with Code 16.

Setup: Using translationTask modifier with TranslationSession Batch translation with explicit source/target languages Languages: Portuguese→English, German→English

Issue:

let status = await LanguageAvailability().status(from: sourceLang, to: targetLang)  // Returns: .installed

// But translation fails:
let responses = try await session.translations(from: requests)
// Error: TranslationErrorDomain Code=16 "Offline models not available"

Logs:

Language model installed: pt -> en
Language model installed: de -> en
Starting translation: de -> en
Error Domain=TranslationErrorDomain Code=16 "Translation failed"NSLocalizedFailureReason=Offline models not available for language pair

What I've tried:

  • Re-downloading languages in Settings
  • Using source: nil for auto-detection
  • Fresh TranslationSession.Configuration each time

Questions:

  1. Is there a way to force model re-validation/re-download programmatically?
  2. Should translationTask show download popup when Code 16 occurs?
  3. Has anyone found a reliable workaround?

I've seen similar reports in threads 791357 and 777113. Any guidance appreciated! Thanks!

I have also filed this issue with Feedback Assistant: FB21678303

Translation Framework: Code 16 "Offline models not available" despite status showing .installed
 
 
Q