Flutter 颤振i18n插件无法自动更改语言
安装后,我添加了3个language.arb文件。当我添加Flutter 颤振i18n插件无法自动更改语言,flutter,internationalization,Flutter,Internationalization,安装后,我添加了3个language.arb文件。当我添加LocalResolutionCallback:时,我可以获得此语言页面。但如果没有LocalResolutionCallback:则始终使用英语。当我更改设备语言时,如何使应用程序自动更改语言 lib/main.dart: ... import 'package:hctodo/generated/i18n.dart'; import 'app.dart'; import 'package:flutter_localizations/fl
LocalResolutionCallback:
时,我可以获得此语言页面。但如果没有LocalResolutionCallback:
则始终使用英语。当我更改设备语言时,如何使应用程序自动更改语言
lib/main.dart:
...
import 'package:hctodo/generated/i18n.dart';
import 'app.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
void main() {
...
return runApp(CupertinoApp(
localizationsDelegates: [
S.delegate,
GlobalCupertinoLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalMaterialLocalizations.delegate
],
supportedLocales: S.delegate.supportedLocales,
// localeResolutionCallback: S.delegate.resolution(fallback: new Locale("ja", "JP")),
home: MyApp()));
}
试试这个,
首先声明支持的区域设置:
import 'dart:ui' as ui;
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
supportedLocales: [
const Locale('en'), // English
const Locale('he'), // Hebrew
const Locale('de'), // Hebrew
// ... other locales the app supports
],
home: MyHomePage(title: ''),
);
}
}
然后var\u sysLng=ui.window.locale.languageCode代码>
在您的另一个文件中,它返回null:[VERBOSE-2:ui\u dart\u state.cc(148)]未处理的异常:NoSuchMethodError:对null调用了getter“languageCode”。接收方:null尝试呼叫:languageCode