[All]
Android アプリのパッケージ名のローカライズ
By: Chikako Yonezawa
Abstract: Delphi/C++Builder で作成できる Android アプリのパッケージ名のローカライズ手順を説明します。
Delphi/C++Builder のFireMonkey フレームワークには、アプリケーションの文字列を翻訳するための TLang コンポーネントがありますが、デバイス上に表示されるパッケージ名までの翻訳は行いません。
パッケージ名に関しては、Andriodの リファレンスにあるように、 /res/values/ フォルダ以下の各ロケールの文字列リソースのファイル (strings.xml) を参照しローカライズを行います。
この記事では、Delphi/C++Builder で作成できる Android アプリのパッケージ名のローカライズ手順を簡単なアプリケーションを作成して説明します。
アプリケーションの作成
- IDE のメニューから [ファイル | 新規作成 | マルチデバイスアプリケーション - Delphi (または C++Builder)]を選択します。
- 「空のアプリケーション」を選択して[OK]ボタンをクリックします。
- TButtonをフォーム上に配置します。
- 配置した TButtonをダブルクリックして OnClickのイベントハンドラを生成します。
- 生成されたイベントハンドラには Button1.Text := 'Click'; (Delphi) Button1->Text = "Click"; (C++Builder) を記述しておきます。
- [ファイル|すべて保存]で、プロジェクトを保存します。この際、この後の作業を行いやすいように L10 というフォルダを作成し、そのフォルダ以下にプロジェクトファイル一式を保存します。
また、プロジェクト名(パッケージ名)は、このあと分かりやすいように「L10Base」としておきます。(画面は Delphiの場合)

- ターゲットを Android として、一度実行します。デバイス上を確認するとパッケージ名は L10Base と表示されています。

リソースファイルの作成
- エクスプローラを開き、L10 フォルダ以下に values, values-fr というフォルダを作成します。
- 今回は、デバイスの言語がフランス語に変わったら L10Base と表示されているパッケージ名が L10FR と表示されるようにするためのリソースファイルを用意します。
- values, values-fr それぞれのフォルダ下に strings.xml ファイルを作成します。
strings.xml ファイルには次のように記述します。
values 以下の strings.xml
<?xml version="1.0"
encoding="utf-8"
?>
<resources>
<string
name="app_name"
>L10Base</string
>
</resources>
values-fr 以下の strins.xml
<?xml version="1.0"
encoding="utf-8"
?>
<resources>
<string
name="app_name"
>L10FR</string
>
</resources>
string name で設定する文字列リソース名を、ここでは分かりやすいように「app_name」としています。
後のステップで出てくるリソース名と同じであればOKです。
strings.xml を作成する際に気をつけなければならない注意点があります。
改行コードが Windows の改行コード(CR LF) で作成されると、ビルドしてアプリをデバイスに配置する際に PAClicnt code 1 のエラーが発生します。(XML の改行コードは LF しか使用できません)
string.xml の改行コード考えて作成するには、ビルドした際に自動的に作成される Android\Debug(または Release) フォルダ以下にある splash_image_def.xml をコピーして使用するといいでしょう。
メモ:
IDE から、IDE のオプションを設定することで xml ファイルの改行コードを確認することができます。
IDE のメニューから [ツール|オプション] を選択し、オプションダイアログを開き、左側のツリーから 「エディタ設定\ソースオプション」を選択します。
右側に詳細が表示されますので、「ソースファイルの種類」を xml にし、オプション欄の「改行の表示」にチェックを付けると xml ファイルの改行コードを確認することができます。



文字列リソースの設定
Delphi/C++Builderでのパッケージ名は、プロジェクトオプションで指定します。
- IDE のメニューから [プロジェクト | オプション] を選択します。
- 左側のツリーから、「アプリケーション\バージョン情報」を選択します。
- 右側に詳細が表示されます。キーの label の箇所がパッケージ名となるところです。
デフォルトでは $(ModduleName) になっています。
この箇所を @string/app_name と書き換えます。 (@string/ 後の文字列リソース名は、strings.xml で設定した文字列リソース名と一致させます)

リソースファイルの配置設定
最後に作成した文字列リソースファイルを、デバイス上に配置するための設定を行います。
- IDE のメニューから[プロジェクト | 配置]を選択します。
- 配置マネージャが表示されます。配置マネージャ上の「追加」ボタンを押して、作成した2つの strings.xml ファイルを、追加します。
- 追加した strings.xml のリモートパスをそれぞれ以下のように設定します。

ローカルパス |
リモートパス |
\values\strings.xml |
res\values\ |
\values-fr\strings.xml |
res\values-fr\ |
これで全ての設定は完了しました。
実行して確認すると、日本語では L10Base と表示されるパッケージ名が、フランス語に変わると L10FR と表示されます。

Connect with Us