アプリ公開に先立って、やっておきたい作業の中に、多言語化がある。
可能な限り文字ではなく、アイコン化を行ってもどうしても文字での説明が必要な部分というのは、なくならない。
だから、広く薄くアプリをばらまこうと思うと、多言語化は必須の作業だと言える。
ここからはワタシの多言語化の手順をまとめておく。
1.アプリを作る。
これが無くては始まりません。
とにかく、公開できる直前(スプラッシュなどのオオモノ画像とかは多言語化後に用意する事が多いので、この段階では必須ではない)のアプリまで仕上げる。
2.InterfaceBuilderで作ったxib(nib)ファイルの日本語を含む部分をviewDidLoadで動的に設定するように変更する。
nibファイルを言語毎に用意する方法もあるが、あまり好きではないので、この方法で。
3.コード中の文字列をNSLocalizedString()の関数に置き換える。
このとき、第二引数のコメントに、元の文字列を入れておくと、第二、第三言語を設定するときにちょっと楽。
4.Localizable.stringsファイルを生成する。
コンソール上で、プロジェクトのディレクトリまで移動し、下記のコマンドを実行する。
genstrings -a $(find . -name "*.m")
これで、コード中のNSlocalizedString()関数を元にLocalizableS.stringsファイルが生成される。
5.言語を追加する。
Project -> Info -> Localizations -> "+" -> 言語を追加する。
このとき、nibファイルの多言語版が生成される事があるので、右ペイン、左端のファイルっぽいアイコンのLocalizationから、主言語以外の言語を削除しておく。
6.Localizable.stringsの登録。
プロジェクトに4.で生成したLocalizable.striongsを追加する。
この時点で、Localizable.striongsをXCodeで開くと、文字列がバケバケの焦るが落ち着く事。
右ペインを開き、左端のファイルっぽいアイコンを選択。
Localizationに、対応する言語を「+」で追加してゆく。
ここまでくると、ファイルの中身がちゃんと見える。ハズ。
7.言語毎に文言を修正。
6.の言語を追加すると、対応する言語版のLocalizable.stringsファイルが生成されるので、文字列を各国語に置き換える。
とにかくがんばって翻訳して置き換える。
血反吐を吐きながらでも、翻訳する。
8.完了
コンパイルして、iPhone側の言語設定を替えながら、表示文字が正しく置き換わっている事を確かめる。
おまけ.
各言語毎にアプリの表示名を変更する場合、infoPlist.stringsに下記の1行を追加する。
CFBundleDisplayName = "表示名称";
これで、多言語化は完了。
0 件のコメント:
コメントを投稿