网站建设 博贤科技,苏州地产网站建设,闵行区天气,潢川手机网站建设文章目录 Android国际化IOS国际化 Flutter开发的App#xff0c;如果名称想要跟随着系统的语言自动改变#xff0c;则必须同时配置Android和IOS原生。
Android国际化
打开android\app\src\main\res\values 创建strings.xml 在values上右键#xff0c;选择NewValues Res… 文章目录 Android国际化IOS国际化 Flutter开发的App如果名称想要跟随着系统的语言自动改变则必须同时配置Android和IOS原生。
Android国际化
打开android\app\src\main\res\values 创建strings.xml 在values上右键选择NewValues Resource File 在新窗口中输入文件名strings.xml 在strings.xml文件中输入以下内容?xml version1.0 encodingutf-8?
resources
!-- appName是key,后面的值就是本地化实际的名称--string nameappNameApp name default locale/string
/resources创建多个语言的strings.xml 在res目录上右键选择NewAndroid Resource Directory 左侧Available Qualifiers选择Locale点击中间的右箭头,然后在右边选择需要国际化的语言和地区点击OK. 会自动创建values前缀的文件夹将之前的strings.xml复制进去. 然后将值修改成对应语言. 这里推荐使用Android Studio自带的国际化编辑器Translations Editor在strings.xml的右上角点击Open editor打开。 在国际化编辑器可以很方便地修改每一种语言定义的值这样就不需要打开多个string.xml来修改了。 引用多语言的key 打开Manifest.xml将label的值替换为我们定义的资源id引用方式为string/id名。
manifest xmlns:androidhttp://schemas.android.com/apk/res/androidpackagecom.example.flutter_appapplicationandroid:labelstring/appNameandroid:name${applicationName}android:iconmipmap/ic_launcher!-- 其他省略... --/application
/manifestAndroid官方推荐资源的key命名方式全部小写单词之间以下划线分开例如app_name。 最后重新运行App当系统语言切换时App的名称也会跟着改变。 当然了如果切换的语言是不被App支持会以默认的values文件下的资源值为主。
IOS国际化 首先要添加支持的语言。默认是en(英语)。如果已经设置过了请看下一步。 如果要设置其他语言为默认语言选中语言后点击Set Default。 创建InfoPlist文件。 选中Runner右键New File... 在弹出的窗口中选择Resouce中的String Catalog点击Next 保存名称为InfoPlist点击Creat创建文件 定义多语言的key和value。 打开InfoPlist可以看到会自动有我们支持的语言。 点击号创建一个字符串资源. 将key的名称改为CFBundleDisplayName后面的值就是本地化的app名称。 对应的源码文件是ios/Runner/InfoPlist.xcstrings看结构就是一个JSON。 {sourceLanguage : en,strings : {CFBundleDisplayName : {extractionState : manual,localizations : {en : {stringUnit : {state : translated,value : App Name}},zh-Hans : {stringUnit : {state : translated,value : App名称}}}}},version : 1.0
}最后在Info.plist中引用key。 将CFBundleDisplayName和CFBundleName的value都改为$(PRODUCT_NAME)。
重新运行IOS App只要支持当前系统的语言就会显示对应的app名称。