Swiftでローカライズ対応を学ぶ!Localizable.stringsとPluralizationの基本
生徒
「先生、アプリを作るときに日本語以外の言語にも対応させたいんですが、どうすればいいんですか?」
先生
「Swiftではローカライズという仕組みを使います。Localizable.stringsというファイルに翻訳を用意しておくと、ユーザーの言語設定に応じて自動的に切り替わるんですよ。」
生徒
「なるほど!でも英語と日本語で単語の数え方が違うこともありますよね?例えば1個と2個以上とか。」
先生
「そういうときはPluralization(複数形対応)を使います。Swiftではそれも簡単に設定できるので安心ですよ。」
1. ローカライズとは?
ローカライズ(Localization)とは、アプリをいろいろな言語や地域の文化に対応させることです。単に翻訳するだけではなく、日付の書き方、数字の区切り方、通貨の表示なども含まれます。
例えば日本語では「こんにちは」と表示される画面が、英語環境では「Hello」に自動的に切り替わるのがローカライズです。これをすることで、世界中のユーザーにアプリを届けることができます。
2. Localizable.stringsファイルの作り方
ローカライズを行うためには、Localizable.stringsというファイルを作成します。このファイルには「キー」と「翻訳文」をセットで書いていきます。
"hello_message" = "こんにちは";
"bye_message" = "さようなら";
英語用のファイルには次のように書きます。
"hello_message" = "Hello";
"bye_message" = "Goodbye";
同じキーを使うことで、ユーザーが選んだ言語に応じて自動的に翻訳が切り替わります。
3. コードからローカライズを呼び出す
Swiftのコードからローカライズした文字列を使うときは、NSLocalizedStringを使います。
let greeting = NSLocalizedString("hello_message", comment: "挨拶メッセージ")
print(greeting)
こんにちは
ユーザーが英語環境なら「Hello」、日本語環境なら「こんにちは」と表示されます。
4. Pluralization(複数形対応)とは?
Pluralization(複数形対応)は、言語ごとに単数形と複数形を切り替える仕組みです。英語では「1 item」と「2 items」と表現が変わりますが、日本語では「1個」「2個」と同じように扱える場合があります。
Swiftでは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. コードから複数形を呼び出す
複数形のローカライズはString.localizedStringWithFormatを使って呼び出します。
let itemCount = 3
let message = String.localizedStringWithFormat(
NSLocalizedString("item_count", comment: "アイテムの数"),
itemCount
)
print(message)
3 items
このように書くことで、数に応じて正しい形のメッセージが表示されます。
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つの理解
OSの壁を越え、クラウドを活用してスマートに学習を開始する「現代的な開発スタイル」を習得します。
iPhoneアプリ特有のデータの扱い方や、Appleが推奨する「安全で美しいコード」の書き方を学びます。
将来的にiOSエンジニアとして副業・転職するために必要な準備や、Mac選びのポイントを伝授します。
※本講座は、将来的にiPhoneアプリ開発で収益化や転職を目指したい未経験者のためのエントリー講座です。マンツーマン形式により、Windows環境ならではの疑問にもその場でお答えし、あなたの理解度に合わせて進行します。
Windowsで始めるiPhoneアプリ開発入門