如何给 Flutter App 显示不同语言应用名,做国际化处理

做 Flutter 开发 App 时,最近有个需求,要将 App 的应用名做中英国际化处理,如果系统语言是中文时,显示应用的中文名,比如“今晚打老虎”,如果系统语言是其他任何语言,都是显示 App 的英文名 “Kiss Tiger”。使用 FLutter 开发时,这个需求在 Android 和 iOS 端分别如何实现呢?我踩了一点坑,请教 iOS 开发同事,终于实现了,下面是我的分享。

Android

在 Android studio 找到目录 android/app/src/main/res,看看是否存在 values 和 values-zh-rCN 文件夹,如果没有则创建。这里我需要固定中文语言下的应用名,所以创建 values-zh-rCN ,如果你需要其他处理其他语言,创建你需要的。我列一些其他国家的文件夹名字:

values-zh-rTW: 繁体中文(台湾)
values-zh-rHK: 繁体中文(香港)
values-ja: 日语
values-ko: 韩语
values-fr: 法语
values-es: 西班牙语
values-de: 德语
values-it: 意大利语
values-ru: 俄语

在每个 values 文件夹下创建 strings.xml ,然后添加你应用名对应语言的词条名字,中文写中文名,英文写英文名,这应该很好理解。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="appName">your_app_name</string>
</resources>

再更改 android\app\src\main\AndroidManifest.xml 的内容

android:label="@string/appName"

Android 端这就行了。

iOS

我对 iOS 开发一点不懂,所以走了点弯路,最后还是请教了同事才知道,其实很简单。

打开 Xcode,左侧选择 Runner – Info – Localizations ,添加你需要处理的语言,我这里是中文,那就加上简体中文,后面本地化处理,需要这里的语言列表。

创建新的 Strings 文件,File->New->File,选择 Resource下的 Strings File,命名为 InfoPlist(确保“I”和“P”都是大写的),然后点击 Create。

注意看创建出来的位置目录,如果位置不对也没关系,可以拖动改变位置。正确位置如上图,接着就是对创建的 Strings 本地化,点击 InfoPlist ,右方导航区有 Localization,先勾选其中一个,然后再勾选你需要其他的多语言。

没问题后也是分别在不同语言里添加词条

"CFBundleDisplayName"="Your App Name";

OK,基本就这样,希望以上能帮到你。

本文由老郭种树原创,转载请注明:https://guozh.net/flutter-app-displays-application-names-in-different-languages/

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注