Flutter 使用intl、localizely实现多语言国际化
官方文档
1.AndroidStudio导入插件

2.然后点击(我的电脑是Mac)Tool > Flutter Intl > Intialize for Project导入插件到项目

3.然后会看到pubspec.yaml文件多了如下内容

4.再点击Add Locale添加语言


插件会新增目录

intl_zh_CN.arb对应的计时语言包文件了

5.接下来可以通过localizely编辑语言词条信息。

6.编辑好后可以直接使用intl插件导入到项目。
- 找到项目的
API token和Project ID


- 使用
intl插件导入到项目利


连接成功后pubspec.yaml文件会新增如下内容

7.最后代码里面使用。
void main() {runApp(MaterialApp(localizationsDelegates: const [//使material组件支持多语言GlobalMaterialLocalizations.delegate,//定义组件默认的文本方向,从左往右或者从右往左GlobalWidgetsLocalizations.delegate,S.delegate],supportedLocales: S.delegate.supportedLocales,home: const IntlPage(),));
}class IntlPage extends StatefulWidget {const IntlPage({Key? key}) : super(key: key);@overrideState<StatefulWidget> createState() => IntlState();
}class IntlState extends State<IntlPage> {@overrideWidget build(BuildContext context) => MaterialApp(home: Scaffold(body: Column(mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.center,children: [//语言包里的词条Text(S.of(context).name),ElevatedButton(onPressed: () {setState(() {//手动切换中文S.load(const Locale("zh", 'CN'));});},child: const Text('切换中文')),ElevatedButton(onPressed: () {setState(() {//手动切换英文S.load(const Locale('en'));});},child: const Text('切换EN'))],),),);
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
