うちのいぬ Tech Blog

Tech Blog of Uchinoinu/My dog

アプリをローカライズ(国際化)する・Storyboardやplistも含め、複数言語を設定する

English is here uchinoinu.hatenablog.jp

Webアプリではやったことあっても、iOSではなかったのですが、

↓はよく目にしていました。

f:id:susanne:20160710203352p:plain

ちゃんと手順をおってみます。

手順

1. Localizable.stringsを作成

f:id:susanne:20160710204235p:plain

2. Localizeの設定

出来たファイルをinspector表示します。 f:id:susanne:20160710204635p:plain

↓な感じでLocalizationというsectionが見つかります。 ボタンがあるので押下します。 f:id:susanne:20160710204843p:plain

localizeファイルを作成します。 Baseを選択します。 f:id:susanne:20160710204929p:plain

ここまで来るとBaseである英語のStringファイルが出来ます。

f:id:susanne:20160710205449p:plain

Baseとは

このBaseとは何かというと、開発言語を指します。 これは↓で設定します。 f:id:susanne:20160710205257p:plain

↑は英語にして、日本語のローカライズファイルを作成すると、

日本語設定では日本語が読まれ、それ以外では英語が読まれる様になります。

このあたりは、各アプリで良きように。

3. 日本語ファイルの作成

InfoのLocalizationに戻ります。 +から日本語を選択します。

f:id:susanne:20160710205613p:plain

Resourceは以下の様に。

f:id:susanne:20160710205803p:plain

すると日本語が追加されます。

f:id:susanne:20160710205856p:plain

f:id:susanne:20160710205916p:plain

4. key-valueを書いていきます

現在、以下の様な状況になっています。 f:id:susanne:20160710205927p:plain

日本語と英語それぞれの指定がこれで可能になりました。

記載方法は以下

"key" = "value";

;がないとダメです。面倒くさい。。。

5. 呼び出す

let title = NSLocalizedString("key", comment: "")

基本的なところは以上です。

その他 1. 表示されるアプリ名の変更

1. InfoPlist.stringを作成

手順は↑と一緒

2. 日本語とBase(英語)でローカライズファイルを作成

f:id:susanne:20160710215619p:plain

3. 設定

"CFBundleDisplayName" = "アプリ名";

その他 2. Storyboardのlocalization

storyboardファイルのInspectorを見ます。

そこにlocalizeボタンがあるので、押下。

欲しい言語ファイルをチェックします。

f:id:susanne:20160710220832p:plain

f:id:susanne:20160710220938p:plain

これでファイルは出来上がり。

あとは、照らしあわせながら書き上げていくだけ。

(storyboardはあまり使わないので、雑です)

(この方法はxibファイルにも適用できるようです)

References