flutter - Flutter,没有国家代码的本地化,可以吗?
问题描述
在实现本地化时,以西班牙语(Espanol)为例,使用的国家太多了,所以我想在初始化的时候排除国家代码(第二个参数值)。这没有问题吗?代码如下。如果您查看 Locale('es'),则后面缺少参数值。
@override
Widget build(BuildContext context) {
return MaterialApp(
supportedLocales: [
Locale('en', 'US'),
Locale('sk', 'SK'),
Locale('ja', 'JP'),
Locale('es',),
],
localizationsDelegates: [
AppLocalizations.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
localeResolutionCallback: (locale, supportedLocales) {
for (var supportedLocale in supportedLocales) {
if (supportedLocale.languageCode == locale.languageCode &&
supportedLocale.countryCode == locale.countryCode) {
return supportedLocale;
}
}
return supportedLocales.first;
},
);
}
解决方案
是的,没关系。您只能使用语言代码。
Locale.languageCode、Locale.scriptCode 和 Locale.countryCode
仅限 Locale.languageCode 和 Locale.scriptCode
仅限 Locale.languageCode 和 Locale.countryCode
仅限 Locale.languageCode
Locale.countryCode 仅当所有首选语言环境都不匹配时
返回 supportedLocales 的第一个元素作为后备
你可以这样使用:
// Full Chinese support for CN, TW, and HK
supportedLocales: [
const Locale.fromSubtags(languageCode: 'zh'), // generic Chinese 'zh'
const Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hans'), // generic simplified Chinese 'zh_Hans'
const Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant'), // generic traditional Chinese 'zh_Hant'
const Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hans', countryCode: 'CN'), // 'zh_Hans_CN'
const Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant', countryCode: 'TW'), // 'zh_Hant_TW'
const Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant', countryCode: 'HK'), // 'zh_Hant_HK'
],
您可以从官方文档中阅读更多内容。
推荐阅读
- vba - 在设计视图中打开窗体时,Access 在控件的 RowSource 中运行函数
- android - 如何在 android 上使用 xamarin 表单执行脚本
- javascript - 如何使用 PM2 启动多个节点脚本
- matlab - 用于独立可执行文件的 Matlab 编码器
- c++ - cout 在 for 循环中切断字符串的开头
- javascript - 带有href的SVG animateTransform
- reactjs - 如何在带有装饰器的 react-native 0.56 (Babel 7) 中使用 mobx
- c# - 给定国家 - 如何以编程方式从 CultureInfo 获取每个显示名称?
- qr-code - 二维码触发事件的工作原理
- r - plotly::ggplotly 正在破坏某些 facet-wrap 数据