🗾

2024年だって自作のiOSアプリは日本語のみ対応させる 〜 Set Default のススメ

2024/09/03に公開

はじめに

日本語のみに対応したアプリで、Xcodeでプロジェクト設定のデフォルト言語を日本語のみにする要望がよくある。
あるいは他言語にも対応するが、デフォルト言語として日本語を設定する要望がよくある。
そこで2024年夏にXcodeでデフォルト言語を日本語にする作業をしてみる。

ただし、なんだかの目的に対してこの手段が正しいかどうかについては気にしない。あなたの目的に対して別の手段のほうがいい場合があるかもしれない。

忙しい人向けの結論

Set Default最高

  1. 日本語追加
  2. Set Defaultで日本語をデフォルトに
  3. 英語削除

環境

Sonoma 14.4.1
Xcode 15.4
シミュレータ iPhone15 iOS17.5

テストプロジェクト作成

  • multiplatform
  • App
  • SwiftUI

で作成する。

この時点で設定は次のようになっている。

プロジェクト設定は

ターゲット設定は

ちなみにこれ以降もターゲット設定の変化はない。

日本語追加

プロジェクト設定の言語のプラスボタンで日本語を追加する。

追加するとプロジェクト設定は次のようになる。

日本語をデフォルトにする

プロジェクト設定の言語のSet Defaultボタンで日本ををデフォルトにする。

日本語をデフォルトに設定したらプロジェクト設定は次のようになる。

動作確認

この時点で

  • 日本語(デフォルト)
  • 英語

となっている。

検証のために Localizable.xcstring を追加して日本語表示と英語表示を用意する。
シミュレータをいろんな設定にして試す。

動作確認の結果は

OSの言語設定 結果
日本語 日本語
英語 英語
スペイン語
2位日本語、3位英語
日本語
スペイン語
2位英語、3位日本語
英語
スペイン語
2位以下なし
日本語

英語を削除

プロジェクト設定の言語から英語を削除する。英語を選択してマイナスボタンを押す。

この検証用に Localizable.xcstring に英語の設定があったのでそれも消す。このとき、 英語の項目を空にしておく ことで、プロジェクト設定での言語の削除に連動してLocalizable.xcstringからも英語が消える。Localizable.xcstringの英語の項目に何か文字があると、プロジェクト設定で英語を消してもLocalizable.xcstringに英語が残り続けてやっかいなことになる。

英語を削除すると次のようになる。

プロジェクト設定は

xcstringsは

動作確認

この時点でプロジェクトの設定は

  • 日本語(デフォルト)

となっている。

動作確認の結果は

OSの言語設定 結果
日本語 日本語
英語 日本語
スペイン語
2位日本語、3位英語
日本語
スペイン語
2位英語、3位日本語
日本語
スペイン語
2位英語
日本語
スペイン語
2位以下なし
日本語

めでたし。

差分

差分を見たいので核の操作だけして差分を見る。

  1. 日本語追加
  2. 日本語をデフォルトに
  3. 英語を削除

した差分は project.pbxproj が

となる。

さいごに

「2024年だって自作のiOSアプリは日本語のみ対応させる」というタイトルですが、私自身はいつも英語(デフォルト)/日本語の設定でアプリを作成しております。

Discussion