🌟

Flutterでアプリ名を多言語化する方法

2022/05/23に公開約2,200字


Flutterでアプリ名を変更したい。
Androidでいうと、アプリ情報から見れる部分。変更前は、アンダーバーで設定した名前としてしまっていたが、日本語では「Twitterかんたん検索」、英語では「Twitter Easy Search」という名前にしたい。

twitter_easy_searchでgrepすると、下記ファイルがHitした (package uriは除く)。

  • pubspec.yaml
  • android/app/src/main/AndroidManifest.xml
  • ios/Runner/Info.plist
pubspec.yaml
name: twitter_easy_search
description: A new Flutter project.

Flutter and the pubspec fileによると、nameは、プロジェクト名とのこと。package名となり、import URIにも使用されているため変更すると、全dartファイルのパスを変更する必要があるため、変更しない方が良い。Use lowercase_with_underscores for package names.という警告が出ることから、このpackage名に使える文字種は、lowercaseとunderscoreのみ。

Androidアプリ名の多言語化

android/app/src/main/resに以下のディレクトリを作成する。

  • values-en
  • values-ja
    更に、values, values-en, values-ja以下にstrings.xmlを作成する。

それぞれのstrings.xmlには、以下を記述する。

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <string name="app_name">アプリ名</string>
</resources>

values-ja/strings.xmlには日本語のアプリ名を、values/strings.xmlvalues-en/strings.xmlには英語のアプリ名を記述する。

values-ja/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
 <string name="app_name">Twitterかんたん検索</string>
</resources>
values/strings.xml, values-en/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
 <string name="app_name">Twitter Easy Search</string>
</resources>

最後に、android/app/src/main/res/AndroidManifest.xmlのlabelを次の通り変更する。

AndroidManifest.xml
 <application
        android:label="@string/app_name"

念のため、flutter clean; flutter pub getを実行して再度buildする。

結果

Androidの言語設定を変更して設定が反映されることを確かめる。

日本語

英語

簡体中文

iOSアプリ名の多言語化

https://naoya-ono.com/flutter/localize-app-name/
参照

余談

Twitter検索を簡単にするためのツールです。良ければ使ってみてください。

https://play.google.com/store/apps/details?id=com.tardigrader_app.twitter_easy_search

Discussion

ログインするとコメントできます