重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
上一篇讲到如果解决ios长按输入框报错的问题,但是最终没有达到我们的要求,因为我们想实现中文的提示,那么本篇文章讲讲如何来实现多语言配置;
公司主营业务:网站设计、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出阿拉山口免费做网站回馈大家。
1.首先在pubspec.yaml的dependencies下加入这个
flutter_localizations:
sdk: flutter
如图:
2.然后在MaterialApp设置一下localizationsDelegates如图:
3.写一个类继承一下CupertinoLocalizations,在项目中 我这个类名叫ChineseCupertinoLocalizations(没错,就是localizationsDelegates中的第三个),如图:
上次提到报错的原因就是因为cutButtonLabel,copyButtonLabel,pasteButtonLabel,selectAllButtonLabel 这几个按钮没有实现,所以继承CupertinoLocalizations一定要为这几个按钮赋值,这里是那种语言,那么,赋值就对应那种语言,同时要注意locale.languageCode也要填写,如果你是中文,那么locale.languageCode =='zh';
4.在ios工程中,在项目的info设置语言环境
添加 Localization native development region---china
添加一个Localizations 为array类型的,并且设置值为 Chinese (simplified)
效果图:( 注意:请把手机环境调试成中文的语言环境 )
Android
ios 效果图
我公司用flutter做了一个《柚品生活》的app,感兴趣的朋友可以去看看,Android和ios都已经上架了
最后附上GitHub项目地址 GitHub - hxxsocket/flutter_lg_demo: flutter多语言配置之中文
(*注:以下仅个人配置过程参考,系统win7-64)
所需软件
vsCode,Android Studio, MuMu模拟器 (直连手机调试的话就不需要了)
配置过程
1、Flutter安装
安装时忘记截图,具体可参考链接 flutter中文网 相关教程+ 百度 ,现在网上教程很多,多踩点坑总会成功的。
2、MuMu模拟器调试时需进行相关配置
(*注:直连手机调试可忽略以下;执行以下操作需要在执行flutter doctor成功后,flutter run执行前)
(1)mumu模拟器端口监听,需要执行
(2)mumu模拟器调试flutter run可能会报错,可以改成,具体原因可直接百度“--enable-software-rendering”
3、如需调试ios端可尝试虚拟机+macOS+xCode
vmware+macOs可参考链接 VMware15安装MacOS系统 ,笔者按照该步骤已安装成功
当一个纯Flutter APP开发完成,我们要打包发布到App Store和各大安卓市场,这时候我们需要设置APP的版本号。
如果我们在使用原生iOS或者Android开发的时,我们会在info.plist中设置 version 和 build 或是在build.gradle中设置 versionName 和 versionCode ,他们分别表示APP的版本和构建版本。
但是我们在使用Flutter管理APP版本时,打开 pubspec.yaml 只看到一个 version 字段。这时候我们应该怎么设置APP的 version 和 build 呢?
我们在pub上随便找一个Flutter的组件,例如官方的 camera ,我们可以看到截止目前为止最新的版本为: camera: ^0.5.2+1 。看到这里,我想大家都明白了,Dart采用的是加号式的版本描述方式, + 前面是版本号, + 后面是当前版本的build号。所以我们设置APP的版本号和build次数,在这里设置即可,例如: version: 1.2.0+1 。
当我们新建一个Flutter工程的时候,我们分别使用Xcode和Android Studio打开iOS和Android的工程可以看到,iOS中的 version 和 build 的值分别为 FLUTTER_BUILD_NAME 和 FLUTTER_BUILD_NUMBER :
同样我们打开Android工程可以看到有如下定义:
事实上,Flutter在编译的时候会生成 ios/Flutter/Generated.xcconfig 和 android/local.properties 文件。这两个文件由Flutter编译自动生成,不可更改。记录了包含SDK路径或者文件路径,版本信息,环境配置(release/debug)等信息。原生工程获取版本信息的变量就定义在这两个文件里面。
官方连接:
以上4行作用:
第一行,将flutter的相关命令添加到环境中
第二三行,设置使用flutter社区的仓库,这样在使用flutter get时就不会出错了
第四行,配置flutter的git仓库,用于flutter的版本更新,默认使用github上的仓库速度太慢
将以上4行分别在环境变量中添加即可
注意:推荐使用本例中的社区的源,更新更及时,更全面.以前使用 ,在构建web是出现错误,改成社区源后解决.
错误: