«

»

7月 10

iPhoneアプリのローカライズ


アプリを作るときに日本向けアプリだけを作るならあまり気にしなくてもいいのですが、世界に向けたアプリを作る場合にはローカライズは避けて通れない道になります。

ローカライズですが、iPhoneアプリではローカライズ対象は以下の二種類があります。

  1. 文字列のローカライズ
  2. 画面のローカライズ

今回自分が挑戦したローカライズは1の文字列のローカライズでした。

文字列のローカライズは genstrings コマンドを使います。

genstrings コマンドを使うと *.m ファイルに記述された NSLocalizedString(@”DisplayString”, @”CommentString”) を検出して、自動的に文字列のローカライズファイル Localizable.strings を作成してくれます。

自分の場合は以下のようにコマンドを実行しています。

> cd {ProjectRoot}

> genstrings `find . -name ‘*.m’`

このコマンドを実行するとプロジェクトに含まれる全ての *.m ファイルを走査して Localizable.strings を ~/tmp/ 以下に作成してくれます。

ファイルが作成されたらXCodeのプロジェクトの Resources 配下にD&Dでコピーします。

コピーの際には必ず Unicode(UTF-16) を選択してコピーをしてください。

UTF-8を指定してしまうと正しく文字列がローカライズされないようです。

そして、次にファイルに対してローカライズの設定を行います。

先ほどコピーした Localizable.strings ファイルを右クリックして「情報を見る」をクリックしてください。

そうすると図のような画面が表示されるので、「一般」タブをクリックして、「ファイルをローカライズ可能にする」をクリックします。

そうすると今度は画面の表示が変わり、現在ローカライズされている言語の一覧が表示されるようになります。

デフォルトでは「English」しか存在しないので、「Japanese」を追加します。

「ローカリゼーションを追加」をクリックすると下のような画面が出るので「Japanese」を選択して「追加」をクリックします。

追加されると先ほどの一覧に「Japanese」が追加された状態になります。

XCodeに戻るとファイルのリストが以下のように変わっています。

Localizable.strings に「▼」が表示されて「English」と「Japanese」ができているのがわかります。

後はそれぞれの言語用に「English」と「Japanese」を変更すれば iPhone の言語設定に従って表示が切り替わるアプリとなります。

【参考にしたWebページ】

http://akisute.com/2008/12/iphone_21.html

コメントをどうぞ

メールアドレスは公開されません

次の HTMLタグおよび属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

edited by