英語をベースに作っているiOSアプリがあって、せっかくなら日本語化対応もしたいなと思い、対応してみました。
ということで、その手順をメモとして残しておきます。
多言語語化の方法は大きく分けて「アプリ内で言語の変更機能を作り、選択した言語に応じて変更する方法」と、「端末の言語設定によって自動で切り替える方法」の2種類あると思いますが、今回は後者です。
端末の言語設定を日本語にしていれば「日本語」が、そうでなければ英語(ベースとなる言語)が表示されるようになります。
Contents
多言語化対応の流れ
アプリを多言語化するには、Localizationの設定が必要になります。
Localizationとは言語を各国の物に合わせることを指しますが、世界中の言語を用意するのは、ほぼ不可能なので、今回は英語ベースで作ったものを、日本語に翻訳する設定を行います。
全体の流れは次の通りです。
- Localizationを追加する
- 翻訳ファイルを用意する
- 翻訳ファイルを使用する
- storyboard上の文言を翻訳する
では、順に解説していきますね。
STEP1. Localizationを追加する
まず、プロジェクトファイルを開き、次のように進めます。
- PROJECT欄にあるプロジェクト名をクリック(画像①)
- infoをクリック(画像②)
- Localizationの項目の下の方にある「+」ボタンをクリック(画像③)
「Localization」の下の「Use Base Internationalization」がデフォルトでチェックされているはずですので、チェックが外れている場合はチェックをつけておいてください。
言語の一覧が表示されるので、「Japanese(ja)」を選択します。
「Finish」をクリックします。
すると、下の画像のように「Localizations」に「Japanese」が追加されます。
STEP2. 翻訳ファイルを用意する
英語を日本語に訳すための翻訳ファイルを用意していきます。
メニューから「File」-「New」-「File…」でファイル作成画面を開き、「String File」を選んで「Next」をクリックします。
ファイル名を「Localizable.strings」にし「create」をクリックします。
ファイル名は必ず、Localizable.stringsにしましょう。
別の名前にしてしまった場合、あとで紹介するNSLocalized
Localizable.stringsが作成できたら、開きましょう。
インスペクターに、「Localization」という項目があるのでこの中の「Localize…」をクリックします。
「Do you want to localize this file?」と聞かれるので、「Japanese」を選んで「Localize」をクリックします。
あとは、Localizable.stringsに翻訳したい言葉を書いてきます。
書き方は下のように「“キーとなる文字” = “表示したい文字”;」となります。今回は英語を日本語に変換して表示したいので、「“英単語” = “日本語訳”;」のように書きます。
セミコロンを忘れないように!
STEP3. 翻訳ファイルを使用する
用意した翻訳ファイルを使うには、NSLocalizedStringを使います。
基本の書き方は、次の通りです。
NSLocalizedString(key, comment: "")
例えば、先ほど設定したファイルの「yes」の日本語訳「はい」が欲しい場合は次のように書きます。
NSLocalizedString("yes", comment: "")
stringで値が得られるので、あとは必要な箇所に代入してあげればOKです。
言語設定を日本語にしている場合は「はい」が、そうで無い場合は「Yes」が表示されます。
STEP4. storyboard上の文言を翻訳する
ナビゲーションのタイトルや、ボタンの名前など、storyboard上で固定で設定している項目もありますよね。
それらの翻訳方法を紹介します。
ファイル一覧に「Main.string (Japanese)」ができているはずなので、こちらを開きましょう。
中身を確認すると、下の写真のようにstoryboard上で設定している、ラベル名やボタン名の一覧が表示されるので、これらを日本語に変えてあげればOKです。
試しに、トップページのタイトルを「Shop List」から「お買い物リスト」に変更すると、次のようになります
言語設定が日本語以外の場合
言語設定が日本語の場合
以上、多言語化対応の基本的なやり方でした。
アプリ名をローカライズするには?
アプリ名の多言語化対応は少しやり方が異なります。
以下の記事で詳しく解説していますので、気になる方は合わせてお読みください。
(2024/12/11 19:46:04時点 Amazon調べ-詳細)