• localization
  • internationalization
  • i18n
  • l10n
  • ui_locales
  • locale

OIDC ui_locales で Logto のサインイン体験をローカライズしよう

すべてのユーザーにネイティブなサインイン体験を提供しましょう。このチュートリアルでは、標準の OIDC パラメーター ui_locales を使って、Logto のサインイン UI や関連メールの実行時言語を設定する方法を学びます。

Charles
Charles
Developer

ユーザー認証に何週間も費やすのはもうやめましょう
Logto でより速く安全なアプリをリリース。数分で認証を統合し、コア製品に集中できます。
始めましょう
Product screenshot

なぜ 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_hintorganization_id またはファーストスクリーンディレクティブ等)と組み合わせて使えます。

オプション 2: authorize URL に ui_locales を追加する

OIDC 認可リクエストを手動(または汎用 OIDC クライアント経由)で作成している場合は、ui_locales を直接追加してください:

メールがどのようにローカライズされるか

認証フローでメール(例:認証コード)がトリガーされた場合、Logto は次の順序で言語を解決します:

  1. ui_locales(最初のサポートタグ)
  2. それ以外の場合は HTTP の Accept-Language ヘッダーによる自動検出
  3. それ以外の場合はテナントのデフォルト言語

その後、Logto は解決された言語とテンプレートタイプに一致するカスタムメールテンプレートを探します。見つからない場合はコネクターのデフォルトにフォールバックします。

プロバイダー管理テンプレート(例:Postmark、HTTP Email)では、Logto は両方の uiLocaleslocale をプロバイダーに渡します。ui_locales が指定されていれば、localeui_locales の最初のサポートタグを使用します。

参照: メールテンプレートのローカライズ

参考