From 5f2e4512bc4cae23cb689dc065a38641306e825d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Poizat?= Date: Fri, 23 Jan 2026 14:42:51 +0100 Subject: [PATCH] Ensure fallback to English for unsupported locales in Scribe - Implement locale validation with fallback to 'en' - Disable automatic default locale setting --- .../ai/localizations/scribe_localizations.dart | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scribe/lib/scribe/ai/localizations/scribe_localizations.dart b/scribe/lib/scribe/ai/localizations/scribe_localizations.dart index 5601503b0..c57d50c4d 100644 --- a/scribe/lib/scribe/ai/localizations/scribe_localizations.dart +++ b/scribe/lib/scribe/ai/localizations/scribe_localizations.dart @@ -4,16 +4,21 @@ import 'package:multiple_localization/multiple_localization.dart'; import 'package:scribe/scribe/ai/l10n/messages_all.dart'; class ScribeLocalizations { + static const List _supportedLanguageCodes = ['en', 'fr', 'ru', 'vi']; + static ScribeLocalizations of(BuildContext context) { return Localizations.of(context, ScribeLocalizations)!; } static Future load(Locale locale) { + final effectiveLocale = _supportedLanguageCodes.contains(locale.languageCode) + ? locale + : const Locale('en'); return MultipleLocalizations.load( initializeMessages, - locale, + effectiveLocale, (locale) => ScribeLocalizations(), - setDefaultLocale: true, + setDefaultLocale: false, ); } @@ -179,8 +184,7 @@ class _ScribeLocalizationsDelegate const _ScribeLocalizationsDelegate(); @override - bool isSupported(Locale locale) => - ['en', 'fr', 'ru', 'vi'].contains(locale.languageCode); + bool isSupported(Locale locale) => true; @override Future load(Locale locale) =>