Fork me on GitHub

Flutter - 本地化语言

Flutter有很多本地化的packages使用,我现在用的是 flutter_i18n

项目主页:https://pub.dartlang.org/packages/flutter_i18n

 

1、安装

在pubspec.yaml中添加

dependencies: flutter_i18n:

Ctrl+S保存后,自动获取最新的包。

 

2、引用

import 'package:flutter_i18n/flutter_i18n.dart';

 

3、配置

项目下新建一个文件夹,下面站识几个例子,用任意一个即可

/assets/flutter_i18n (默认)

/assets/i18n

/assets/locales

 

以  assets/i18n 为例

在刚才新建的文件夹下,新建json文件,包含需要翻译的关键字,这儿分两种情况。

需要指定国家代码

/assets/i18n/{languageCode}_{countryCode}.json

 

其他

/assets/i18n/{languageCode}.json

 

然后在pubspec.yaml中声明

flutter:
  assets:
    - /assets/i18n

 

 

然后为了使用flutter_i18n,需要在MaterialApp中添加.

true或者false根据情况自己确定。

return new MaterialApp(
              localizationsDelegates: [
                GlobalMaterialLocalizations.delegate,
                GlobalWidgetsLocalizations.delegate,
                FlutterI18nDelegate(true, 'en_us', 'assets/i18n'),
              ],
              home: new HomePage(),
              },
            );

 

 

4、翻译

在使用的时候,直接添加代码

FlutterI18n.translate(buildContext, "your.key")

 

 

 

更多请参考项目主页介绍https://pub.dartlang.org/packages/flutter_i18n

 

posted @ 2019-02-15 17:12  猫叔Vincent  阅读(2149)  评论(0编辑  收藏  举报