Android アプリのパッケージ名のローカライズ

By: Chikako Yonezawa

Abstract: Delphi/C++Builder で作成できる Android アプリのパッケージ名のローカライズ手順を説明します。

Delphi/C++Builder のFireMonkey フレームワークには、アプリケーションの文字列を翻訳するための TLang コンポーネントがありますが、デバイス上に表示されるパッケージ名までの翻訳は行いません。

パッケージ名に関しては、Andriodの リファレンスにあるように、 /res/values/ フォルダ以下の各ロケールの文字列リソースのファイル (strings.xml) を参照しローカライズを行います。

この記事では、Delphi/C++Builder で作成できる Android アプリのパッケージ名のローカライズ手順を簡単なアプリケーションを作成して説明します。

    アプリケーションの作成

  1. IDE のメニューから [ファイル | 新規作成 | マルチデバイスアプリケーション - Delphi (または C++Builder)]を選択します。
  2. 「空のアプリケーション」を選択して[OK]ボタンをクリックします。
  3. TButtonをフォーム上に配置します。
  4. 配置した TButtonをダブルクリックして OnClickのイベントハンドラを生成します。
  5. 生成されたイベントハンドラには Button1.Text := 'Click'; (Delphi) Button1->Text = "Click"; (C++Builder) を記述しておきます。
  6. [ファイル|すべて保存]で、プロジェクトを保存します。この際、この後の作業を行いやすいように L10 というフォルダを作成し、そのフォルダ以下にプロジェクトファイル一式を保存します。
    また、プロジェクト名(パッケージ名)は、このあと分かりやすいように「L10Base」としておきます。(画面は Delphiの場合)


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

    リソースファイルの作成

  1. エクスプローラを開き、L10 フォルダ以下に values, values-fr というフォルダを作成します。
  2. 今回は、デバイスの言語がフランス語に変わったら L10Base と表示されているパッケージ名が L10FR と表示されるようにするためのリソースファイルを用意します。
  3. 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でのパッケージ名は、プロジェクトオプションで指定します。

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

    リソースファイルの配置設定

最後に作成した文字列リソースファイルを、デバイス上に配置するための設定を行います。

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


     
  4.   ローカルパス   リモートパス
      \values\strings.xml  res\values\
      \values-fr\strings.xml  res\values-fr\

これで全ての設定は完了しました。
実行して確認すると、日本語では L10Base と表示されるパッケージ名が、フランス語に変わると L10FR と表示されます。


Server Response from: ETNASC03