メインコンテンツまでスキップ

ローカライズ言語

Logto は幅広い事前定義された言語をサポートしており、さらに 113 の追加言語タグを提供しています。この強力なツールにより、独自の言語オプションや翻訳を作成・管理し、サインイン体験をカスタマイズできます。

Logto コンソールでのカスタマイズ手順

Logto コンソールでコーディング不要で簡単に言語設定をカスタマイズできます。

  1. 移動先コンソール > サインイン & アカウント > コンテンツ > 言語
  2. 言語の管理:「言語を管理」ボタンをクリックして、言語ライブラリにアクセスします。
    • 既存言語の編集:Logto が提供する言語の翻訳をカスタマイズできます。これらの言語は削除できませんが、変更内容がデフォルト値を上書きします。
    • 新しい言語の追加:「言語を追加」ボタンをクリックし、言語タグを選択、翻訳を入力して保存すると新しい言語が追加されます。
  3. 自動検出の有効化:有効にすると、ユーザーのデバイス設定に基づき、サインインページが自動的にユーザーの優先言語で表示されます。
  4. デフォルト言語の設定:言語ライブラリからデフォルト言語を選択できます。検出されたユーザー言語が現在のライブラリに含まれていない場合に使用されます。

言語管理時に理解しておくべき主な用語は以下の通りです:

定義説明
Language tag言語タグはコンテンツの言語を識別します。言語タグは言語コード(例:en, fr, zh)と国/地域コード(例:US, UK, KR)をハイフンで区切って構成されます。例:en-US のようになります。
Logto provided languageLogto 提供言語は Logto 公式の言語であり、Logto のオリジナルコードベースに保存されています。
Added languageAdded language はユーザーが追加した言語です。
Logto source valuesLogto source values はユーザーによってカスタマイズされていない Logto 供給値です。
Custom valuesCustom values はユーザーによってすでにカスタマイズされた値です。Logto source values は上書きされます。

Management API を使ったカスタマイズ

Management API の PUT /api/custom-phrases/{languageTag} を利用して言語翻訳をカスタマイズできます。API リクエストボディは次のような部分的なロケールオブジェクトです:

{
"input": { "username": "Username", "password": "Password" },
"secondary": {
"social_bind_with": "すでにアカウントをお持ちですか?ソーシャルアイデンティティで {{methods, list(type: disjunction;)}} をリンクしてサインインしてください。"
},
"action": { "sign_in": "サインイン" },
"error": {
"general_required": "{{types, list(type: disjunction;)}} は必須です"
},
"list": { "or": "または" },
"user_scopes": {
"descriptions": { "custom_data": "カスタムデータ" }
}
}

すべてのカスタマイズ可能な内容については ソースコード を参照してください。

また、PATCH /api/sign-in-exp API を利用して 言語検出ポリシー を制御することもできます。

実行時の言語解決

実行時、サインイン体験の言語は以下の優先順位で決定されます:

  1. 現在の認証リクエストの ui_locales OIDC パラメーター(最初にサポートされているタグが使用されます)。ui_locales を参照してください。
  2. それ以外の場合、「自動検出」が有効なら、ユーザークライアントの検出言語(例:HTTP Accept-Language ヘッダーから)。
  3. それ以外の場合、サインイン体験のテナントデフォルト言語。

この解決方法は、インタラクションによってトリガーされるメッセージのメールローカライズにも影響します。詳しくは:メールテンプレートのローカライズ をご覧ください。

ユースケース

追加した言語はエンドカスタマーにどのように表示されますか?

例えば、英語がデフォルト言語で自動検出がオンになっているウェブサイトがあるとします。日本からのユーザーがサイトにアクセスし、アカウントを作成しようとします。もしアプリの言語として日本語を使っていても、Logto がまだその言語をサポートしていなければ、サインイン画面は英語で表示されます。

Logto サインイン体験の i18n により、カスタマイズした言語が利用可能になります。

ja 言語タグをクリックして、日本語翻訳を追加してください。

このようにして、日本からアクセスしたユーザーは、英語から翻訳した日本語のコンテンツを読むことができます。

よくある質問

追加した言語が Logto 提供言語になった場合はどうなりますか?

左側の言語タグの隣に Logto 提供タグが表示され、追加した言語は削除できなくなります。変更した値は引き続き有効で、元の Logto 値を置き換えます。ユーザーが入力した値を消去すると、Logto のデフォルト設定で提供される値が使用されます。

カスタム値を一部だけ追加した場合はどうなりますか?

最終的にユーザーが目にするのは、2 つのカラムがマージされた結果です。 Logto が提供する元のコンテンツの一部だけを調整したい場合、サインアップ画面と Logto が提供する画面の違いは編集したキーのみとなり、それ以外の内容は変更されません。

サインイン体験でデフォルトの電話番号国コードを設定するには?

サインイン体験 の電話番号国コードは、ユーザーのブラウザロケールがデフォルトになります。たとえば、ユーザーのブラウザ言語が fr の場合、国コードはフランス(+33)になります。

特定のユーザーや地域向けにデフォルト国コードをプログラムで制御したい場合は、ui_locales 認証パラメーターを利用できます。例えば、ui_locales=ja を設定すると、国コードは日本(+81)になります。

アプリケーションでアラビア語や RTL(右から左)言語レイアウトをサポートする