安装Flutter i18n plugin后,我已经添加了3语言.arb files.When我添加localeResolutionCallback:,我可以得到此此语言pages.But没有localeResolutionCallback:它总是在english.How使应用程序自动改变语言当我改变设备语言?
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()));
}发布于 2019-10-10 16:22:10
尝试此操作,首先声明受支持的语言环境:
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 _sysLng = ui.window.locale.languageCode;
https://stackoverflow.com/questions/58318060
复制相似问题