iPad自作のiPhoneアプリを多言語対応してみました。iPhoneというかObjective-Cに用意されている機構を使えば、割と簡単に対応出来ます。サンプルのxibファイルです。ラベル2個と、ボタン1個というシンプルな画面です。次に、Localizeファイルの用意します。今回は例として、英語と日本語に対応してみます。適当にLangというフォルダを作って、その下に、en.lprojとja.lprojというフォルダを作ります。この言語フォルダは、ISO_639で定義された2文字か3文字のコードです。他の言語に対応する場合は、このコードに対応したディレクトリを追加すれば大丈夫です。xcodeのグループで作ろうとした場合、実ディレクトリが作れません。最初にFinderでディレクトリだけ作ることをお薦めします。ディレクトリを作ったら、Resourcesの下にLocalizable.stringsというファイルを作ります。注意点は、先ほど作ったディレクトリを指定することです。(直下とかに作ると、二つ目の言語の時に名前が被って作れません)二つの言語を追加すると、次のようになります。Localizable.stringsの下に二つの言語が出てきます。Localizable.stringsの中身は、次のようになります。*/"label1"="ラベル1";"label2"="ラベル2";"button"="ボタン";書式は、"ラベル名"="表示させる内容";となります。最後のコロンを忘れると、次のようなエラーが出るのでご注意を。プロパティファイルなので、XCodeは指摘してくれません。1最後にコードの方で、上記のラベルを呼び出せば完了です。@"");引数の一つ目がラベル名です。二つ目はコメントなので指定しなくても大丈夫です。ラベルが見つからなかったら、ラベル名が代入されます。ちなみにこう言う書き方も出来ます。table:nil];localizedStringForKeyでラベルを探してきて、無かったらvalueの値をセットします。記述量が多いので、基本的には最初の書式で充分じゃないかと思います。実行すると次のようになります。iOSシュミレータ上で言語の切替をするのは、シミュレータ上から設定ボタンで変更します。言語別にアプリの表記名等を代える場合は、InfoPlist.stringsで可能です。"日本語アプリ";多言語対応した感想ですが、日本語しか対応しない場合も基本的にはこの作り方で作っておいた方が良いのではないかなと思います。1画面しか無い場合は恩恵は少ないですが、複数画面あるような場合は、表記名の一元管理に威力を発揮します。多言語対応する場合も簡単になります。これは覚えておくべき手法かなと思います。巡...2014-04-05Ruby2.0の文字エンコーディングの簡単なまとめ。5.4にMongoDBを入れてみました。はてなブログをはじめよう!dkfjさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。