[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 おすすめ平均 |
関連記事
-
-
[iOS] INNER JOIN に失敗する
非常に面妖な状況でにわかには信じがたいのだが、iPhone 6 Plus だと問題なく動作する
-
-
Xcodeの Console出力をクリアするキーバインド
いつも忘れるので、メモとして残しておく。Command(⌘)+ Kその他はこちら。 Menu Com
-
-
20歳のときに知っておきたかったこと ティナ・シーリグ
しばらく前に読み終わっていたが感想を書いていなかった。 基本的に、失敗を恐れずに新しいことに挑戦しよ
-
-
[iPhone 開発本] Objective-C 逆引きハンドブック
854ページの大著。C&R研究所というところから出版されている。ページはこちら。目次はこちら
-
-
[iPhone 6 Plus] TUNEWEAR の iPhone 6 Plus 用ケースを買ってみた
iPhone 6 Plus 購入時に、とりあえず購入した Simplism のケースは、すぐ
-
-
ゲームで起業した人たちのインタビュー集 Gamers at Work
Gamers at Work: Stories Behind the Games Peo
-
-
新しい iPad の感想
昨日2012/03/16(金)は新しいiPadの発売日。 早速買って会社に持ってきた人がいたので、手
-
-
[iPhone SDK] iPhone SDK 開発のレシピ
ずいぶん昔に買ったけれどもブログに書くのを忘れていた。 出版社(秀和システム)の紹介ページ
-
-
iPhone 3GS/4 で使える Bluetooth キーボード ELECOM TK-FBP017BK
フォローしている人のつぶやきで発見した記事で知ったキーボード。iPhone4ユーザー必携Blueto
-
-
iPhone開発のネタ帳: UIPopoverController に UIPickerView をいれる
iPad から追加された部品の一つに、UIPopoverController がある。 iPadが