美文网首页
flutter 配置多语言

flutter 配置多语言

作者: 亦久亦韭 | 来源:发表于2023-11-21 14:14 被阅读0次

第一步,添加intl and flutter_localizations,并启动generate标志:

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter
  intl: ^0.18.1 #多语言

https://pub.flutter-io.cn/packages/intl/install
这将在您的包的 pubspec.yaml 中添加这样一行

image.png
启动generate标志
 generate: true # Add this line
image.png

第二步,lib文件夹中新建文件夹l10n或者locale,并在其中创建app_en.arb 和app_zh.arb文件:

{
  "@@locale": "en",
  "homeTitle": "Heart"
}
arb-dir: lib/I10n
template-arb-file: app_en.arb
output-localization-file: app_localizations.dart
image.png
image.png

第三步,在flutte项目的根目录中添加l10n.yaml, 内容如下:


image.png

添加完成之后,执行命令flutter gen-l10n,执行命令 flutter run,dart_tools会自动生成相关的文件
第四步,在主程序MaterialApp中,添加下面内容:

import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
return const MaterialApp(
  title: 'Localizations Sample App',
  localizationsDelegates: [                         // 本地化应用的代理
    AppLocalizations.delegate,                      // 应用程序本地化代理
    GlobalMaterialLocalizations.delegate,           // 全局材质组件的本地化代理
    GlobalWidgetsLocalizations.delegate,            // 全局组件本地化代理
  ],
  supportedLocales: [
    Locale('en', 'US'), // English, no country code
    Locale('zh', 'CN'), // Spanish, no country code
  ],
  home: MyHomePage(),
);

使用:

Text(AppLocalizations.of(context)!.helloWorld);

相关文章

网友评论

      本文标题:flutter 配置多语言

      本文链接:https://www.haomeiwen.com/subject/mzibwdtx.html