[iPhone SDK] アプリケーションのローカライズ
iPhoneアプリを作っていて、一通り作り終わったら最後にやる作業の一つとして、ローカライズがある。
たまにしか実施しないので、毎回やり方を忘れてしまい本を参照しているが、今回はメモを残してみる。
ソースコード中で NSLocalizedString() でローカライズした文字列は、genstrings を使って、Localizable.strings を作り、そのファイルを各言語ごとに編集することで実現する。
自分はいつもプログラムの置かれているディレクトリにTerminalで移動して、コマンドラインで下記を実行している。これにより、実行したディレクトリに Localizable.strings が生成される。
genstrings ./Classes/*.m
genstrings で生成された Localizable.strings をXcodeにインポートして、右クリックで「情報を見る」から「ファイルをローカライズ可能にする」でローカライズできるようにしてから、「ローカリゼーションを追加」で言語を追加する。
インポートの際には、エンコーディング には UTF-16 を選ぶ。UTF-8 では文字化けするようだ。


その後、各言語用に生成された Localizable.strings を編集していく。
例えばこんな感じ。
/* Mon */ "Monday" = "月曜日"; /* No Address */ "No Address" = "住所なし";
xib ファイルのローカライズに関しても、上記と同様に右クリックで「情報を見る」から「ファイルをローカライズ可能にする」→ 「ローカリゼーションを追加」でファイルをローカライズ言語数分用意して、Interface Builderでそれぞれのxibファイルを開いてローカライズしていく。
アプリ名のローカライズに関しては、InfoPlist.strings ファイルを作成し、上記と同様にローカライズ可能な状態にして、
CFBundleDisplayName = "Locations";
と記載しておけばよい。
なぜかこれらが全て書かれた本が見つからない。手元にある本は、どの本もこの中の一部だけしか載っていないようだ。
とりあえず下記2冊を買えば全部載ってます。参考まで。
| はじめてのiPhone3プログラミング | |
![]() |
Dave Mark Jeff LaMarche 鮎川 不二雄
ソフトバンククリエイティブ 2009-12-17 おすすめ平均 |
| iPhoneSDK開発のレシピ | |
![]() |
高山 恭介 広部 一弥 松浦 晃洋
秀和システム 2010-03 おすすめ平均 |
関連記事
-
-
[読んだ] 織田信長のマネー革命
織田信長のマネー革命 経済戦争としての戦国時代 (ソフトバンク新書)武田 知弘 ソフトバンククリエイ
-
-
イタリア語でレビューをいただきました
おんぷちゃん for iPad にイタリア語でレビューをいただきました。 Ottimo! O
-
-
スマートフォン手袋を買ってみた 2010
今使っている手袋に穴が空いたので、せっかくなのでスマートフォンが使える手袋を買ってみようと思い探して
-
-
iPad mini 用透明ハードケース eggshell for iPad mini
iPad mini 用にハードケースを購入した。 iPad 用ケー
-
-
Reject履歴 EverLearn 1.7.0
どうやら Apple Watch対応アプリの審査は厳しいらしいので、Rejectされた履歴を書いてみ
-
-
iPad, iPhone, Mac, PC で使える Line6 Mobile Keys
今年のCESで発表されて以来ずっと待っていたLine6のMobile Keysがついに発売される。こ
-
-
iPhoneアプリ おんぷちゃん開発日記 iPad版をアップデート
iPhoneアプリサポートページ の方に書きましたが、4月30日にようやくiPad用のアップデート版
-
-
タッチ! アメリカ地図 1.1 アップデート
タッチ! アメリカ地図のアップデート (バージョン 1.1) が今朝公開されました。 アメリカの州は
-
-
iPhone Dev Center が We’ll be back soon.
iPhone Dev Centerが昨日からずっとメンテナンス中。もうすぐ1日経つと思うけどいつま
-
-
[iOS SDK] iTunes Connect ではまる
iOS8リリースに合わせてiTunes Connect のUIが大幅に変わっており、下記のページの方


不備は多々あるが良書である
Cを知っていてiPhoneアプリを作ってみたい人に。