diff --git a/pubspec.lock b/pubspec.lock index ece07fe4a..d3b6e2346 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1534,6 +1534,14 @@ packages: relative: true source: path version: "1.0.0+1" + multiple_localization: + dependency: transitive + description: + name: multiple_localization + sha256: "29c97a3fbf4d067ea5a63df1995465ea81ef28e2c817d9d0871983e50f4fd3f0" + url: "https://pub.dev" + source: hosted + version: "0.6.0" nm: dependency: transitive description: diff --git a/scribe/lib/scribe/ai/localizations/scribe_localizations.dart b/scribe/lib/scribe/ai/localizations/scribe_localizations.dart index 6856da55d..d55686abe 100644 --- a/scribe/lib/scribe/ai/localizations/scribe_localizations.dart +++ b/scribe/lib/scribe/ai/localizations/scribe_localizations.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; +import 'package:multiple_localization/multiple_localization.dart'; import 'package:scribe/scribe/ai/l10n/messages_all.dart'; class ScribeLocalizations { @@ -7,16 +8,13 @@ class ScribeLocalizations { return Localizations.of(context, ScribeLocalizations)!; } - static Future load(Locale locale) async { - final name = - locale.countryCode == null ? locale.languageCode : locale.toString(); - - final localeName = Intl.canonicalizedLocale(name); - - return initializeMessages(localeName).then((_) { - Intl.defaultLocale = localeName; - return ScribeLocalizations(); - }); + static Future load(Locale locale) { + return MultipleLocalizations.load( + initializeMessages, + locale, + (locale) => ScribeLocalizations(), + setDefaultLocale: true, + ); } static const LocalizationsDelegate delegate = diff --git a/scribe/pubspec.lock b/scribe/pubspec.lock index 1a3df5e93..1f175604e 100644 --- a/scribe/pubspec.lock +++ b/scribe/pubspec.lock @@ -798,6 +798,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.6" + multiple_localization: + dependency: "direct main" + description: + name: multiple_localization + sha256: "29c97a3fbf4d067ea5a63df1995465ea81ef28e2c817d9d0871983e50f4fd3f0" + url: "https://pub.dev" + source: hosted + version: "0.6.0" objective_c: dependency: transitive description: diff --git a/scribe/pubspec.yaml b/scribe/pubspec.yaml index 34e61c054..b295d9b88 100644 --- a/scribe/pubspec.yaml +++ b/scribe/pubspec.yaml @@ -38,6 +38,8 @@ dependencies: flutter_svg: 2.1.0 + multiple_localization: 0.6.0 + dev_dependencies: flutter_test: sdk: flutter