カテゴリ: Swift 更新日: 2026/03/15

Swiftでローカライズ対応を学ぶ!Localizable.stringsとPluralizationの基本

Swift ローカライズ対応(Localizable.strings/Pluralization)
Swift ローカライズ対応(Localizable.strings/Pluralization)

先生と生徒の会話形式で理解しよう

生徒

「先生、アプリを作るときに日本語以外の言語にも対応させたいんですが、どうすればいいんですか?」

先生

「Swiftではローカライズという仕組みを使います。Localizable.stringsというファイルに翻訳を用意しておくと、ユーザーの言語設定に応じて自動的に切り替わるんですよ。」

生徒

「なるほど!でも英語と日本語で単語の数え方が違うこともありますよね?例えば1個と2個以上とか。」

先生

「そういうときはPluralization(複数形対応)を使います。Swiftではそれも簡単に設定できるので安心ですよ。」

1. ローカライズとは?

1. ローカライズとは?
1. ローカライズとは?

ローカライズ(Localization)とは、アプリをいろいろな言語や地域の文化に対応させることです。単に翻訳するだけではなく、日付の書き方、数字の区切り方、通貨の表示なども含まれます。

例えば日本語では「こんにちは」と表示される画面が、英語環境では「Hello」に自動的に切り替わるのがローカライズです。これをすることで、世界中のユーザーにアプリを届けることができます。

2. Localizable.stringsファイルの作り方

2. Localizable.stringsファイルの作り方
2. Localizable.stringsファイルの作り方

ローカライズを行うためには、Localizable.stringsというファイルを作成します。このファイルには「キー」と「翻訳文」をセットで書いていきます。


"hello_message" = "こんにちは";
"bye_message" = "さようなら";

英語用のファイルには次のように書きます。


"hello_message" = "Hello";
"bye_message" = "Goodbye";

同じキーを使うことで、ユーザーが選んだ言語に応じて自動的に翻訳が切り替わります。

3. コードからローカライズを呼び出す

3. コードからローカライズを呼び出す
3. コードからローカライズを呼び出す

Swiftのコードからローカライズした文字列を使うときは、NSLocalizedStringを使います。


let greeting = NSLocalizedString("hello_message", comment: "挨拶メッセージ")
print(greeting)

こんにちは

ユーザーが英語環境なら「Hello」、日本語環境なら「こんにちは」と表示されます。

4. Pluralization(複数形対応)とは?

4. Pluralization(複数形対応)とは?
4. Pluralization(複数形対応)とは?

Pluralization(複数形対応)は、言語ごとに単数形と複数形を切り替える仕組みです。英語では「1 item」と「2 items」と表現が変わりますが、日本語では「1個」「2個」と同じように扱える場合があります。

SwiftではStringsdictというファイルを使って、この複数形を管理します。

5. Stringsdictの基本

5. Stringsdictの基本
5. Stringsdictの基本

例えば「%d個のアイテムがあります」というメッセージをローカライズしたいときは、Localizable.stringsdictファイルに次のように書きます。


<plist version="1.0">
<dict>
    <key>item_count</key>
    <dict>
        <key>NSStringLocalizedFormatKey</key>
        <string>%#@items@</string>
        <key>items</key>
        <dict>
            <key>NSStringFormatSpecTypeKey</key>
            <string>NSStringPluralRuleType</string>
            <key>NSStringFormatValueTypeKey</key>
            <string>d</string>
            <key>one</key>
            <string>%d item</string>
            <key>other</key>
            <string>%d items</string>
        </dict>
    </dict>
</dict>
</plist>

これを呼び出すと、数が1のときは「1 item」、2以上のときは「2 items」と自動的に切り替わります。

6. コードから複数形を呼び出す

6. コードから複数形を呼び出す
6. コードから複数形を呼び出す

複数形のローカライズはString.localizedStringWithFormatを使って呼び出します。


let itemCount = 3
let message = String.localizedStringWithFormat(
    NSLocalizedString("item_count", comment: "アイテムの数"),
    itemCount
)
print(message)

3 items

このように書くことで、数に応じて正しい形のメッセージが表示されます。

Swiftを基礎から実践レベルまで学びたい人や、 iOSアプリ開発を本格的に始めたい人には、 定番の入門+実践書がこちらです。

Swift実践入門をAmazonで見る

※ Amazon広告リンク

7. ローカライズ対応で注意するポイント

7. ローカライズ対応で注意するポイント
7. ローカライズ対応で注意するポイント

初心者がローカライズを学ぶときに気をつけたいポイントは以下の通りです。

  • 必ずキーを統一して使うこと(異なるキーを混ぜると管理が大変になります)。
  • 翻訳はLocalizable.stringsにまとめておくと見やすいです。
  • 複数形や性別による言い回しはStringsdictで管理すること。
  • 翻訳担当者にわかりやすいコメントを書くと、誤訳を防げます。

ローカライズはアプリ開発を国際的に広げるための第一歩です。最初は難しく感じるかもしれませんが、慣れると自然に使えるようになります。

関連セミナーのご案内

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

「iPhoneアプリを作りたいけれど、Macを持っていないから諦めている」そんな方のための画期的な入門講座です。実は、プログラミングの本質を学ぶのに高価な機材は必要ありません。本講座では、Windowsパソコンを使用し、クラウド環境を活用してAppleの最新言語Swift(スウィフト)の基礎を最短距離でマスターします。

Windowsで実現する開発環境

【つくるもの】
ブラウザ上で動作する「スマート・計算ツール」や「データ判定プログラム」をゼロから作成します。変数の扱いや条件分岐など、iPhoneアプリの内部で動くロジックを自分の手で構築する感動を体験してください。

【開発環境】
ブラウザだけでSwiftが動くプロ仕様のオンラインエディタ(Replit等)を使用します。面倒な設定は一切不要。今あるWindows PCで、プロのエンジニアと同じコードを書き始められます。

この60分で得られる3つの理解

1. WindowsでのSwift実行環境の作り方

OSの壁を越え、クラウドを活用してスマートに学習を開始する「現代的な開発スタイル」を習得します。

2. Swiftの基本構造(変数・型・定数)

iPhoneアプリ特有のデータの扱い方や、Appleが推奨する「安全で美しいコード」の書き方を学びます。

3. アプリエンジニアとしてのロードマップ

将来的にiOSエンジニアとして副業・転職するために必要な準備や、Mac選びのポイントを伝授します。

※本講座は、将来的にiPhoneアプリ開発で収益化や転職を目指したい未経験者のためのエントリー講座です。マンツーマン形式により、Windows環境ならではの疑問にもその場でお答えし、あなたの理解度に合わせて進行します。

セミナー画像

Windowsで始めるiPhoneアプリ開発入門

カテゴリの一覧へ
新着記事
New1
Go言語
Go言語の構造体タグ(jsonタグなど)の使い方と活用例を初心者向けにやさしく解説
New2
Go言語
Go言語のfmt.Errorf関数を使ったエラーメッセージ整形方法
New3
Go言語
Go言語のスライスでappend時のメモリの仕組みを理解しよう!初心者でもわかる基礎解説
New4
Kotlin
KotlinのtoInt・toDoubleの使い方をやさしく解説!文字列から数値に変換する方法
人気記事
No.1
Java&Spring記事人気No1
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.2
Java&Spring記事人気No2
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方
No.3
Java&Spring記事人気No3
Go言語
Go言語でセッション管理を行う基本!サードパーティライブラリ活用例
No.4
Java&Spring記事人気No4
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.5
Java&Spring記事人気No5
Kotlin
Kotlinのクラスの基本!クラス定義とコンストラクタの書き方を解説
No.6
Java&Spring記事人気No6
Kotlin
Kotlinのビルドキャッシュとは?初心者でもわかる高速化の仕組みと使い方
No.7
Java&Spring記事人気No7
Swift
Swiftで数値と文字列を相互変換!NumberFormatterで桁区切りや通貨表示をわかりやすく解説
No.8
Java&Spring記事人気No8
Swift
Swift UI部品の使い方|Button・Label・TextField入門