【Unity】Andoridでアプリ名をローカライズするならaarライブラリを作ろう

【Unity】Andoridでアプリ名をローカライズするならaarライブラリを作ろう

Android向けのアプリを作る場合、aarファイル(Android ライブラリ)を使ってアプリ名をローカライズします。

Unityのプロジェクトでresフォルダにstrings.xmlを配置する方法もありますが、aarファイルを使うように警告が出るので、こちらを使うようにすると吉。

この記事ではアプリ名をローカライズするaarファイルの作成方法を紹介します。

 

 

環境

macOS 10.15 Catalina

Unity2018.4.23f1

Android Studio 4.0

 

参考にした情報

実はこちらの方が解説されている方法そのままです。

 

aarファイルをUnityのプロジェクトにおいてどこに配置するかについてはUnityのマニュアルも確認すると良いでしょう。

 

aarって?

aarファイルとは、Android ARchiveファイルのことで、Androidのライブラリです。Javaで実装した機能をライブラリに含めてUnityで簡単に呼び出しても良いですし、今回のローカライズのようにローカライズしたリソースをUnityで使用するのにも使えます。

ライブラリなので再利用性にすぐれていて、もし複数のプロジェクトで使いたい機能があればAndroidライブラリとして用意しておくと良いかもしれません。Unityの場合はC#で実装した機能を使いまわしていることが多いですが、JavaやKotlinで実装した機能を使い回すのであればaarとして準備しておくと良さげ。

どちらかというとAndroid Studioでの開発に慣れている人だと良く使うかな?

 

Android Studioでローカライズする場合

Android Studioでは、文字列や色の設定、スタイルなどを定義したxmlファイルが作成されます。ソースコードに値を埋め込むのではなく、定義値を別のファイルで持っておくことで、条件に合わせて必要な値を取り出すようになっています。

ローカライズではこの文字列のファイルであるstrings.xmlを編集することになります。

最初作ったAndroid向けアプリでは、無駄に英語対応をしたりもしたので、私にとっては非常に馴染みのある(そして苦労した思い出のある)ファイルでもあります。

おっと、話が逸れましたが、今回の目的であるアプリ名のローカライズはこのstrings.xmlに記載します。キーに対応した値を言語ごとに作成していくことで、Android本体の言語設定に応じてアプリ名を切り替えてくれます。

Unityのプロジェクト内にstrings.xmlを直接配置することもできますが、推奨される方法としてはaarファイルを作成してインポートする方法になっているので、この記事ではaarファイルを作成する方法を紹介します。

 

ローカライズ用aarファイルを作成する

aarファイルを作成する場合は、Android Studioを使います。もしまだインストールしていない場合はGoogle社の以下のページを参考にインストールしてください。

 

アプリ名をローカライズするライブラリを作成するにあたっては、新しくプロジェクトを作成します。Android Studioを開いて [Start a new Android Studio project] を選択します。

新規プロジェクトを作成するのだポッター
新規プロジェクトを作成するのだポッター

 

今回はアプリ名のローカライズだけしたいので画面は必要ありません。[No Activity] を選択して [Next] をクリックします。

空のActivityでOK
空のActivityでOK

 

続いてプロジェクトの設定を行います。プロジェクト名、パッケージ名、保存する場所を選択して [Finish] をクリックすると新規プロジェクトが作成されます。コーディングはしないのでLanguageはJavaでもKotlinでもOK。

『Minimum SDK』のAPIレベルはUnityのプロジェクトと合わせるようにしてください。ここがずれているとaarファイルをUnityにインポートしたあとにマニフェストファイルのマージエラーが発生します(1敗)

プロジェクトの名前を設定
プロジェクトの名前を設定

 

プロジェクト作成後、Gradleのビルドが終わったら画面上部のメニューバーから [File] -> [New] -> [New Module] を選択します。Gradleのビルド中は[New Module] の項目がグレーアウトされた状態になります。

モジュールを追加
モジュールを追加

 

追加するモジュールの種類として [Android Library] を選択します。選択したら [Next] をクリック。

ライブラリを選択
ライブラリを選択

 

追加するライブラリの設定を行います。モジュール名にライブラリの名前を入力します。パッケージ名はプロジェクト作成時のドメインが使われているかと思いますが、変更したい場合は [Edit] から。入力が終わったら [Finish] をクリックします。

ライブラリの設定
ライブラリの設定

 

Projectのツリーに作成したライブラリが表示されます。この段階ではまだリソースフォルダが作成されていないので手動で作成しましょう。作成したライブラリ(ここでは「mylibrary」)を選択した状態でコンテキストメニューを開き、[New] -> [Android Resource Directory] を選択します。

フォルダの追加
フォルダの追加

 

リソース用のフォルダの設定を行います。色々と選択できるようになっていますが、ここでは『Directory Name』が [values] となっていること、『Resource type』も [values] が選択されていることを確認して [OK] をクリックします。

フォルダの設定
フォルダの設定

 

[Android Resource Directory] のメニューから『values』フォルダを作成すると自動的に『res』フォルダも作成してくれるので便利です。

次は『values』フォルダを選択した状態でコンテキストメニューを開き、[New] -> [Values Resource File] を選択します。

リソースファイルを追加
リソースファイルを追加

 

『File name』で [strings.xml] と入力します。このファイルにローカライズの情報を記載します。

名前の設定
名前の設定

 

作成した『strings.xml』をダブルクリックして開きます。『resources』のタグの間に文字列の情報を記載していきます。

アプリ名を設定するタグ名は『app_name』です。この部分は作成したライブラリ(ここでは『mylibrary』)ではなく、『app』の下にあるstrings.xmlから内容をコピーしてくると簡単です。

以下のように『app_name』の内容を記載したら、右上にある [Open editor] ボタンをクリックして翻訳のエディタを開きます。

翻訳のエディタを開く
翻訳のエディタを開く

 

翻訳エディタではstrings.xmlで定義された名前について、言語ごとに比較して翻訳を行うことができます。この段階では英語のみなので、左上の地球のマークをクリックして言語を追加します。

地球のマークをクリック
地球のマークをクリック

 

表示されたメニューから日本語を追加します。ここでは『Japanese (ja) in Japan (JP)』を選択していますが、日本語の場合どちらを選んでも動作します。万全を期すなら両方追加しておくといいかもしれません。

日本語を追加する
日本語を追加する

 

日本語を追加したら、『app_name』の日本語の列を選択し、下の入力欄で『Translation』に日本語でのアプリ名を入力します。

日本語でapp_nameを設定
日本語でapp_nameを設定

 

アプリ名を入力したらビルドしましょう。メニューバーから [Build] -> [Make Project] を選択してビルドを行います。

準備ができたらビルド!
準備ができたらビルド!

 

ビルドが完了すると、<プロジェクト名>/mylibrary/build/outputs/aar のフォルダにaarファイルが作成されます。このファイルをUnityにインポートして使いましょう。

aarファイルが作成された
aarファイルが作成された

 

Unityにインポートする

ここからUnityでの作業です。といっても作成したライブラリのファイルをインポートするだけなので簡単です。

パスが決まっているので、そこだけ注意しましょう。配置するのは [Assets/Plugins/Android] のフォルダです。まだ存在していなければ手動で作成すればOKです。

ライブラリをインポート
ライブラリをインポート

 

Player Settingsでは『Minimum API Level』をライブラリのものと合わせます。

Minimumを合わせよう
Minimumを合わせよう

 

動作確認

Android用にapkを書き出して確認してみます。このページではAndroid StudioのADVマネージャーからシミュレーターを使って確認します。お手元に実機があればそちらでもOKです。

日本語でアプリ名を確認すると、aarファイルで指定した「アプリの名前」が表示されます。表示幅の問題で「前」が省略されているので、端末によっては長い名前が入らないことも留意しておくといいかもしれません。

日本語表記
日本語表記

 

端末の言語設定を英語にした場合は、UnityのProduct Nameが使われます。今回作成したaarファイルの中では英語用に翻訳を用意していないので、こうした言語ではProduct Nameが表示されるようになります。実際にアプリをリリースする場合は英語の名前も設定しておくと安心です。

プロダクト名
プロダクト名

 

まとめ

Androidでアプリ名をローカライズする場合は、Androidライブラリ(aar)を使ってリソースを用意します。

この記事の画面に沿って操作してもらえれば「あれ? 意外と難しくないな?」と感じてもらえると思います。1回やっておけば、リリース後半で慌てなくて済むので余裕がある時に試してみてください。

 

     

ゲーム開発の攻略チャートを作りました!

CTA-IMAGE

「ゲームを作ってみたいけど、何から手を付けていいか分からない!」


そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験を中心に、ゲーム作りの手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。


ゲームを作り始めた時にぶつかる壁である「何をしたら良いのか分からない」という悩みを吹き飛ばしましょう!