KENスクールブログ-パソコンスクール パソコン教室 KENスクール

Swift

[iPhoneアプリ開発] リソース(文字列)の多言語対応

swiftでの多言語対応に関する記事です。

環境(以下の環境で動作確認をしています)

  • OSX Yosemite 10.10.5
  • Xcode7.2.1

目次

  1. リソースとは
  2. 多言語対応とは
  3. 多言語設定の手順

リソースとは

リソースとは資源という意味で、アプリケーション開発においては、アプリケーションが利用するデータのことを意味し、画像ファイル、音声ファイル、文字列データなど様々な形式のデータを指します。

多言語対応とは

iOSには、異なる言語における表示をサポートするための機能が用意されており、文字列データをユーザの端末の言語情報にあわせて切りかえる事ができます。

多言語設定の手順

1. Project に Localization の設定

「Project」->「info」->「Localizations」と選択してから、「+」を押してロケール情報を追加します。日本語を登録するのであれば、Japanese(ja)を選びます。
localization1

2. Localizable.strings ファイルの作成

アプリ画面に対応するローカライズには Localizable.strings ファイルを新たに作成する必要があります。Fileメニューから新規作成を選び、「iOS」->「Resource」->「Strings File」で Localizable.strings の名前のファイルを作り、プロジェクトに追加します。
localization2

localization3

作成した Localizable.strings ファイルを選択して「file inspector」を見ると「Localization」の項目があるので、「Localize」ボタンを押し、「Japanese」を選択します。
localization4

localization5

続いて、「file inspector」で「English」と「Japanese」にチェックを入れると Localization.strings ファイルに新たに2つのファイルが自動で作成されます。
localization6

localization7

作成された Localizable.strings ファイルを開いて、それぞれに「”key名” = “値”;」の形式で key と value を設定します。

Localizable.strings(English) のファイル
“test” = “English”;

Localizable.strings(Japanese) のファイル
“test” = “日本語”;

3. プログラムで文字列を取得

プログラムから、「strings」ファイルの値を取得する NSLocalizedString(key, comment)メソッドを呼び出します。

実機または、シミュレータで「設定」「一般」「言語環境」で English を選択し、その設定でアプリを起動すると以下のように表示されます。
localization8
図 Localizable 英語

同様に言語情報を日本語に変えて起動すると以下のように表示されます。
localization9
図 Localizable 日本語

この記事に関連する講座

未経験からスマホエンジニアへ!

詳しくはこちら


カテゴリー: Swift スマートフォン プログラム

Swiftにおける変数・定数の扱いについて

f91fad8e08b2e43f5d7fe7e698afc8d6_s

変数・定数とは?

「変数」「定数」とは、プログラムの中で利用する値(データ)を保管するためのもので、イメージとしては値を格納するための「箱」です。
何度も利用する値や、状況によって変動する値は、この「箱」を使って管理します。

img1

Java・C言語・PHP・JavaScriptなど、様々なプログラム言語がありますが、どのプログラム言語にも変数は存在しています。

変数と定数の違い

値の上書きが可能な箱のことを「変数」といいます。「変わる数値」ですね。
例)クイズの正解数、通行人の計測数、日直の名前

一度入れた値の上書きが出来ず、固定の値を入れる箱のことを「定数」といいます。「定まった数値」ですね。
例)円周率、消費税率、都道府県の名称

数学の授業では、値を文字に置き換えて計算する「代入」をやりました。

例) X = 3    ※Xに3を代入
   Y = 5    ※Yに5を代入

この代入の後では、Xは3として、Yは5として使っていくことができます。
「X × Y × X – X」の式は「3 × 5 × 3 - 3」として計算されますよね。

img2

変数はこの「X」や「Y」のようなものです。変数に値を格納することも同じく「代入」といいます。

Swiftでの変数・定数の作り方

では、Swiftでこの箱を作るための書き方をみていきましょう。

変数
  var 変数名:型
定数
  let 定数名:型

「var」は「変数を作ります!」という宣言文です。
「let」は「定数を作ります!」という宣言文です。

「変数名」「定数名」にはそれぞれ「箱の名前」が入ります。

「型」は英語に直すとtypeです。つまり、値の種類(データのタイプ)のことを表しています。「箱がどんな値を格納するのか」を設定するための情報です。

格納したい値が整数ならば「Int」、小数ならば「Double」、文字ならば「String」という型を使います。型は他にもさまざまな型が存在しています。

箱に設定したものと違う型のデータを箱に代入すると基本的にはエラーになるので注意しましょう。

変数の作成例
  var count:Int

※countという名前でInt型の値を入れる箱(変数)を作成

変数へ値の代入
  count = 5

※宣言した変数countに5を代入

定数の作成例
  let name:String

※nameという名前でString型の値を入れる箱(定数)を作成

定数へ値の代入
  name = “斎藤”

※宣言した変数nameに”斎藤”を代入

変数も定数も、宣言と同時に値を入れることができます。このときの値を初期値といいます。

変数の初期化
  var count:Int = 5

定数の初期化
  let name = “斎藤”

img3

型推論

変数や定数は型を指定して宣言する(作成する)と前述しましたが、宣言と同時に値を代入する場合は、型の指定を省略することができます。
これは、代入された値の種類からSwiftが型を推測して、変数の型を自動で設定してくれるためです。これを型推論といいます。

型推論を利用した変数宣言
  var count = 10

※型の指定の記述が省略されているが代入されている値が整数のため型を推測してInt型の変数にしてくれる

型推論は宣言と代入を同時に行う場合のみ行われます。宣言の記述と代入の記述を二行に分けて書く場合は使えませんので注意しましょう。


カテゴリー: Swift スマートフォン プログラム