フォントをXcodeに追加してローカライズ設定をする手順

はじめに

フォントの導入とローカライズ設定方法についてまとめました。

フォントをXcodeに追加する

使用したいフォントをXcodeに追加します。(デフォルトで入っている場合は問題ないです)
GoogleFonts をよく利用しています。
デザイナーさんもよく使っているという話を聞いたのと、オープンソースのフォントを簡単に検索できて、サポートしている言語も一覧で分かるので使いやすいです。
ダウンロードしたら、zipファイルを展開して追加したいフォントの.ttfファイル (.otfファイルの場合もある)をXcodeに追加します。

Copy item if neededにチェックを入れ、Add to targetsにアプリを選択する
Fontsディレクトリを作成して追加している

info.plistにFonts provided by applicationを追加する

フォントのソースファイルを追加したらすぐに使えると思いきや、info.plistにFonts provided by applicationを追加し、item0, item1, …キーに追加したいフォントのファイルを順番に記載する必要があります。
このとき、フォントファイルの拡張子 (今回の例だと.ttf)まで記載する必要があります。

フォントを使用してみる

いよいよ追加したフォントを使用できます。

Storyboardで設定する

Storyboardで設定する場合は、たとえばUILabelの場合、Attributes InspectorでFontを設定します。追加したフォントが一覧に含まれているので選択するだけです。

【Font】でCustomを、【Family】で追加したフォントを、【Style】で文字の太さを選択します。
Xcodeに追加したフォント、スタイルが選択できるはずです😄

コードで設定する

コードで設定する場合、たとえばUILabelなら以下のようにテキストのフォントを指定します。

 label.font = UIFont(name: "NotoSans-Regular", size: 20)

フォントのnameには、拡張子を含まないフォント名の文字列を指定します。

ローカライズ設定

まず、PROJECTの【info】タブにあるLocalizationを追加します。
Use Base Internationalizationにチェックが入っていることを確認してください。入っていなければチェックしましょう。これでフォントのBaseを使用できます。

次に、[+]ボタンをクリックして、ローカライズしたい国の言語を選択します。

今回はSpanishを選択してみました。👇

Spanishが追加されていることが確認できる

フォントファイルを選択して、File Inspectorで【Localize…】をクリックして、「Base」が選択されていることを確認したら【Localize】をクリックし、対応したい言語にチェックマークを入れます。

[Localize…]をクリック
【Base】が選択されていることを確認
対応したい言語を選択

以上でローカライズの設定は完了です。
フォントだけでなく、画像なども同様の方法でローカライズできるようです。

終わりに

フォントをXcodeに追加してローカライズ設定する手順をまとました。
何かと開発者から文句を言われるXcodeですが、Xcodeの機能により簡単にローカライズができたり、ファイルソースが管理しやすくなるのでXcode様様です。笑

参考文献

この記事は、以下の記事を参考に書きました。