LoginSignup
3
2

More than 1 year has passed since last update.

Swift Playgrounds のアプリで多言語対応する

Last updated at Posted at 2022-09-04

初めに

まず最初に Xcode の Playground とは違います のでmm
今回は Swift Playgrounds でアプリを開発する場合のお話です。

Swift Playgrounds とは

2016年に登場した iPad 上で Swift を学習できるアプリです。

当初はテンプレートの教材を Swift で学習するだけでした。

現在はバージョンが4.1までリリースされており、iPad のみならず Mac 上でも動作し、実際にリリースできるアプリが作成できるまでになりました。

どんなことができるの?

iOSDC Japan 2022 で LT をしました!
資料をあげたので、見ていただけると少しは理解が深まるかと思いますmm

ローカライズの実装方法

1. 前提

基本的には、Xcode で実装する場合と同じです。
ただし、Swift Playgrounds の GUI 上では実装が提供されていません
そこで、自前で必要なファイルをプロジェクトに追加する必要があります。

※iPad ではなく Mac で行う必要があります。iPad でもファイル操作可能なアプリを入れればできるかと(未確認)

余談

ちなみに Swift Playgrounds のみで完結させたい場合は...

分岐処理を書いて、自前で実装することもできなくはないです。
その場合はネイティブが提供するAPI(Locale.preferredLanguagesなど)で言語を取得する形になります。

(オススメはしません)

2. ファイルの追加

Xcode でローカライズを実装する際に、自動で生成されるファイルをプロジェクトの任意の場所に設置します。
(プロジェクト配下にあれば自動で読み取ってくれます。)

以下、日本語と英語の場合

任意のプロジェクトを Xcode で作成し、そこからローカライズのファイルを持ってくるのが早いかと思います。

3. 設定の追加

プロジェクト内の Package.swift に設定を追加します。

デフォルト言語を設定しましょう。
これで準備は完了です。

4. ローカライズ対応

これ以降は、特別なことはありません。

Localizable.strings ファイルに必要な文字を追加していくだけです。
また、使用する場合も従来と同じです。

以下、 「【SwiftUI】Localizable.stringsで、多言語対応する方法を解説」を参考にまでに。

終わりに

Swift Playgrounds の GUI 上でローカライズのインターフェースが提供されるのかわかりませんが...

今の Xcode と同じ実装で導入できることを考えると、今回のような少しハックするような実装を行ったとしても、今後影響はあまりないと思います。

今後のアップデートに期待です。

リポジトリ

以下に導入したアプリがあるので、参考程度に見ていただけますと🙏

その他

関連記事はこちら

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2