限制可选语言环境的数量
Limit the number of selectable locales
这里是 a line of code,returns 语言环境:
// lib/data/gallery_options.dart
Locale get locale => _locale ?? deviceLocale;
... 可以像这样访问:
// lib\studies\shrine\app.dart
locale: GalleryOptions.of(context).locale,
问题是语言环境的选项,即 supportedLocales
来自这个文件:
.dart_tool/flutter_gen/gen_l10n/gallery_localizations.dart
... 它看起来 不是 存储库的一部分并且是自动生成的。它不可编辑并重新加载并丢弃所有更改。
如何限制用户可选择的语言环境数量?
更新
这种方法不稳定。区域设置再次重新生成。
去除语言环境的方法是使用:
Tools > Flutter Intl > Remove Locale
或者只是简单地删除不需要的 *.arb
文件:
已解决! settings 页面支持的语言环境在文件 lib/pages/settings.dart
中,可以通过使用此补丁修改 this line 来限制:
- var supportedLocales =
- List<Locale>.from(GalleryLocalizations.supportedLocales);
+ var supportedLocales = [
+ const Locale('en'),
+ const Locale('he'),
+ ];
supportedLocales.removeWhere((locale) => locale == deviceLocale);
这里是 a line of code,returns 语言环境:
// lib/data/gallery_options.dart
Locale get locale => _locale ?? deviceLocale;
... 可以像这样访问:
// lib\studies\shrine\app.dart
locale: GalleryOptions.of(context).locale,
问题是语言环境的选项,即 supportedLocales
来自这个文件:
.dart_tool/flutter_gen/gen_l10n/gallery_localizations.dart
... 它看起来 不是 存储库的一部分并且是自动生成的。它不可编辑并重新加载并丢弃所有更改。
如何限制用户可选择的语言环境数量?
更新
这种方法不稳定。区域设置再次重新生成。
去除语言环境的方法是使用:
Tools > Flutter Intl > Remove Locale
或者只是简单地删除不需要的 *.arb
文件:
已解决! settings 页面支持的语言环境在文件 lib/pages/settings.dart
中,可以通过使用此补丁修改 this line 来限制:
- var supportedLocales =
- List<Locale>.from(GalleryLocalizations.supportedLocales);
+ var supportedLocales = [
+ const Locale('en'),
+ const Locale('he'),
+ ];
supportedLocales.removeWhere((locale) => locale == deviceLocale);