日本語
OIDC ui_locales で Logto のサインイン体験をローカライズしよう
すべてのユーザーにネイティブなサインイン体験を提供しましょう。このチュートリアルでは、標準の OIDC パラメーター ui_locales を使って、Logto のサインイン UI や関連メールの実行時言語を設定する方法を学びます。
なぜ ui_locales を使うのか?
Logto はすでに多言語コンテンツと自動検出に対応していますが、特定のやり取りごとに明示的に言語を指定したい場合があります:
- 組織ごとに異なる言語プリファレンスを持つマルチオーガナイゼーション製品
- 特定言語のキャンペーンからのディープリンク
- サインインと同じ言語で始まるローカライズされた CTA を持つプロダクトページ
- ローカライズされたオンボーディングのA/Bテスト
さらに、ui_locales
は多くのアイデンティティプロバイダーや SDK でサポートされている標準パラメーターです。
ui_locales が行うこと
- 現在のやり取りにおけるサインイン UI の言語を設定します(最初にサポートされているタグが優先されます)
- このやり取りで送信されるメールのローカライズに影響します
- オリジナル値を変数
uiLocales
としてメールテンプレートに公開します(例:「リクエストされた言語:{{uiLocales}}
」)
詳細はリファレンスをご覧ください: UI locales ドキュメント。
前提条件
- Logto テナント(Cloud または OSS)
- Logto と統合したアプリケーション(クイックスタート)
- サインイン体験で少なくとも 1 つ以上の追加言語が有効化されていること(ローカライズ言語)
オプションですが便利:
- メールのローカライズを確認したい場合は、カスタムメールテンプレートやプロバイダー管理テンプレートを有効にしてください(メールテンプレート)
オプション 1: SDK extraParams で ui_locales を使う
Logto SDK では、サインイン時に追加の OIDC パラメーターを渡すことができます。extraParams
に ui_locales を追加しましょう:
注意:
- BCP 47 タグ のスペース区切りリストを指定します。Logto はテナントの言語ライブラリに存在する最初のタグ(例:
fr-CA
、それがなければfr
、それもなければen
)を選択します。 - やり取りごとに動作し、テナントのデフォルト言語は変更されません。
ui_locales
は他の標準/カスタムパラメーター(例:login_hint
、organization_id
またはファーストスクリーンディレクティブ等)と組み合わせて使えます。
オプション 2: authorize URL に ui_locales を追加する
OIDC 認可リクエストを手動(または汎用 OIDC クライアント経由)で作成している場合は、ui_locales
を直接追加してください:
メールがどのようにローカライズされるか
認証フローでメール(例:認証コード)がトリガーされた場合、Logto は次の順序で言語を解決します:
ui_locales
(最初のサポートタグ)- それ以外の場合は HTTP の
Accept-Language
ヘッダーによる自動検出 - それ以外の場合 はテナントのデフォルト言語
その後、Logto は解決された言語とテンプレートタイプに一致するカスタムメールテンプレートを探します。見つからない場合はコネクターのデフォルトにフォールバックします。
プロバイダー管理テンプレート(例:Postmark、HTTP Email)では、Logto は両方の uiLocales
と locale
をプロバイダーに渡します。ui_locales
が指定されていれば、locale
は ui_locales
の最初のサポートタグを使用します。
参照: メールテンプレートのローカライズ。