Flutter 颤振:应用';并非其所有本地化代理都支持s区域设置
您好,我正在尝试在Flatter应用程序中添加BottomNavigationBar,但运行项目时出现错误:Flutter 颤振:应用';并非其所有本地化代理都支持s区域设置,flutter,dart,localization,internationalization,Flutter,Dart,Localization,Internationalization,您好,我正在尝试在Flatter应用程序中添加BottomNavigationBar,但运行项目时出现错误: A MaterialLocalizations delegate that supports the ka_GE locale was not found 这是我的应用程序代理: supportedLocales: [ const Locale('en', 'US'), const Locale('ka', 'GE'), const Locale('ru',
A MaterialLocalizations delegate that supports the ka_GE locale was not found
这是我的应用程序代理:
supportedLocales: [
const Locale('en', 'US'),
const Locale('ka', 'GE'),
const Locale('ru', 'RU'),
],
localizationsDelegates: [
const InfosLocalizationsDelegate(),
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate
],
locale: Locale('ka')
这是自定义本地化数据包:
class CLocalizationsDelegate
extends LocalizationsDelegate<CLocalizations> {
const CLocalizationsDelegate();
@override
bool isSupported(Locale locale) =>
['en', 'ka', 'ru'].contains(locale.languageCode);
@override
Future<CLocalizations> load(Locale locale) async {
CLocalizations localizations = new CLocalizations(locale);
await localizations.load();
print("Load ${locale.languageCode}");
return localizations;
}
@override
bool shouldReload(CLocalizationsDelegate old) => false;
}
class CLocalizationsDelegate
扩展本地化数据包{
const CLocalizationsDelegate();
@凌驾
bool isSupported(区域设置)=>
['en','ka','ru'].contains(locale.languageCode);
@凌驾
未来加载(区域设置)异步{
CLocalizations localizations=新的CLocalizations(locale);
等待本地化。加载();
打印(“加载${locale.languageCode}”);
回归局部化;
}
@凌驾
bool应该重新加载(CLocalizationsDelegate old)=>false;
}
是的,我知道问题是“ka”,因为MaterialLocalizations不支持它,但我必须解决这个问题,所以各位可以帮我解决吗?您可以实现自定义
MaterialLocalizations
委托
class MaterialLocalizationKaDelegate extends LocalizationsDelegate<MaterialLocalizations> {
@override
bool isSupported(Locale locale) {
return locale.countryCode == "GE" && locale.languageCode == "ka";
}
@override
Future<MaterialLocalizations> load(Locale locale) async {
return MaterialLocalizationKa();
}
@override
bool shouldReload(Foo old) {
return false;
}
}
class MaterialLocalizationKa extends MaterialLocalizations {
// TODO: implement KA localization yourself
}
class MaterialLocalizationKaDelegate扩展本地化Delegate{
@凌驾
bool isSupported(区域设置){
返回locale.countryCode==“GE”&&locale.languageCode==“ka”;
}
@凌驾
未来加载(区域设置)异步{
返回MaterialLocalizationKa();
}
@凌驾
bool应重新加载(Foo old){
返回false;
}
}
类MaterialLocalization扩展了MaterialLocalization{
//TODO:自己实现KA本地化
}
您必须为ka