Lock.swiftでの国際化

デフォルトで、Lock v2 for iOSは英語のテキストを表示します。テキストを別の言語で表示したい、または、アプリケーションのテキスト値を変えたい場合には、Lock.stringsファイルを提供して、Lockが表示するかもしれない各種のテキスト項目に使用する値を定義することができます。

言語の扱い方については、Appleのドキュメンテーションにある国際化とローカリゼーション

Lock文字列値

Lockが使用する用語の全リストについては、Lock.swiftリポジトリにあるLock.stringsベースファイルを参照してください。

英語の代替文字列を提供する

既存の用語の一部や全部を変更したい場合には、Lock.stringsファイルをダウンロードして、プロジェクトに追加します。

Lock.stringsファイルを選択し、File inspectorの[Localize...(ローカライズ...)]をクリックします。

Lock.swift: Localize

そして、[English(英語)]を選択します。

Lock.swift: Localize English

ここで、以下のように、Lock.stringsにあるいくつかの用語を代替のテキストで更新します。

// Forgot password "com.auth0.lock.database.button.forgot_password" = "Did you forget your password?"; // tos & privacy "com.auth0.lock.database.button.tos" = "Signing up is an indication of your agreement to our terms of\n service and privacy policy";

他の言語に対応する

別の言語を追加するには、まず、Project/Infoに新しい言語を追加する必要があります。

Lock.swift: Add language

新しい言語を追加して、Lock.stringsが選択されていることを確認します。

Lock.swift: Add Language step 2

Lock.stringsの下に、選択したReference Languageに基づいて、指定した言語の新しいファイルが作成されます。

これで、希望の言語に翻訳する準備が整いました。

注意

用語によってはパラメーターを伴うため、翻訳する際にはそれらの配置を考慮することが重要です。特に、以下のように、複数のパラメーターがある用語には注意してください。

// No more than %@{count} identical characters in a row (such as, \"%@{identical sample}\" not allowed) "com.auth0.lock.error.password.no_more_identical" = "No more than %1$d identical characters in a row (such as, \"%2$@\" not allowed)";