iOSアプリケーションのローカライズ方法まとめ

せっかくアプリを作ったので、日本以外の人にも使ってもらいたい。

英語には対応しておきたいこともあると思います。

(むしろ英語がデフォルトで日本語に対応する形になります)

 

ローカライズとは

他言語に対応することをローカライズといいます。

アプリを作り始める時からローカライズを意識しておかないと少し面倒なので、覚えておいて損はないと思います。

ちなみにローカライズしたアプリがどの言語で表示されるかはiOSの設定から確認することができます。

この時の優先順位が高く設定されている言語に合わせて表示が変更されます。

(優先順位に関しては後述します)

 

ローカライズ方法

プロジェクトファイルを選択してLocalizationから言語を追加します。

今回はJapaneseを選択してください。

ここで、ストーリーボードやLaunchScreenを消してしまっていた人はそもそも言語を増やせません。

(僕は一時的にストーリーボードを復活させて対処しました。。)

localize_1

 

ストーリボードを使う場合

まずは、ストーリーボードがある場合です。

ストーリーボードを開き、右側のユーティリティー・エリアで対応したい言語にチェックを入れます。

localize_2
これで、他言語に対応ができました。

ナビゲーター・エリアでストーリーボードが展開できるので言語ごとに設定を行うことでローカライズできます。

localize_3

 

ストーリーボードを使わない場合

ストーリーボードを使わない場合はローカライズしたい文字列がコードの中にあると思います。

この場合、文字列を全て以下のメソッドで置き換えます。

第一引数は、文字列のキーを入力します。ローカライズに失敗した時にこのキーが表示されます。

第二引数は、メモ書きです。どこの文字列なのかをわかるように設定しておきましょう。不必要な場合はnilを設定してください。

全ての文字列を置き換えることができたら、.mが保存されているディレクトで以下のコードを実行します

そうすると、Localizable.stringsが作成されるので、プロジェクトに追加します。

次に、右側のユーティリティー・エリアでLocalizeをクリックします。

localize_4

その後、対応したい言語にチェックを入れると、ローカライズができています。

あとは、代入する文字列を言語ごとに設定するとおわりです!

ローカライズの注意点

プロジェクトから言語が追加できない

一時的に、ストーリーボードを追加して対処しましょう

 

ローカライズがうまく動かない

プロジェクトをクリーンする

実機でテストする

Localizable.stringsの文字コードをチェックする(UTF-32に設定する必要がある)

Xcodeを再起動

genstrings *.mからやり直す。Localizable.stringsを自分で編集しすぎると動かなくなる時があります。

 

言語の優先順位について

ローカライズで機能する言語はiOSの設定->一般->言語と地域->使用する言語の優先順位から確認できます。

 

 

以上がローカライズ方法でした!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">