言語と右から左への表記
エンドユーザー向けページ(ホスト型ログイン、アカウントポータル、メール)は30言語で利用できます。そのうち3言語は右から左へ書かれます:アラビア語(ar)、ペルシア語(fa)、ヘブライ語(he)。ダッシュボードとこのドキュメントは8言語で利用できます:トルコ語、英語、フランス語、ドイツ語、韓国語、日本語、イタリア語、スペイン語。
言語の選択方法
ホスト型ページは次の順に言語を選択します。各ソースはページが翻訳されている言語と照合され、一致しない場合は次のソースが試されます:
- OIDC認可リクエストの
ui_localesパラメータ(順序付きリスト、先頭10件)。 - ブラウザの
Accept-Languageヘッダー。
どちらも一致しない場合は英語(en)が使用されます。地域タグは基本言語にフォールバックします(de-AT から de)。これらの値は照合のみに使われ、ページにそのままコピーされることはありません。
環境で有効な言語は、OpenID Providerメタデータの ui_locales_supported と、/fapi/v1/environment レスポンスの locales として公開されるため、アプリケーションはこれらの言語だけを提示できます。ホスト型ページはまだこのリストに選択を絞り込んでおらず、環境のデフォルト言語もフォールバックとしてはまだ使用されません。それまでフォールバックは常に英語です。
まだ利用できない機能(計画 §70):idp_locale Cookieで選択を記憶する言語セレクタ、およびサインイン済みユーザーの locale の使用。これらが提供されるまで、言語はリクエストごとに選択し直されます。
右から左へのページ
- すべてのホスト型ページとアカウントポータルは
<html lang=… dir=…>を持ち、ar、fa、heではdirがrtlになります。メールテンプレートは、ルート要素に同じdirを持ちます。 - カスタムCSSは論理方向プロパティのみを受け付けます。例:
margin-inline-start、padding-inline-end、border-inline-start、text-align: start。margin-leftなどの物理方向プロパティはphysical_propertyで、値leftとrightはphysical_valueで拒否されます。positionやinset系など、要素を別の要素の上に移動させるプロパティは、そもそも受け付けられません。 - ワンタイムコードとリカバリーコードのフィールドは常に左から右に配置されます。識別子のフィールドは
dir="auto"を使用するため、アドレスは自身の方向を保ちます。 - 同意画面のアプリケーション名は
<bdi>で分離されるため、左から右のアプリケーション名が右から左の文を崩すことはありません。組織ピッカーの組織名など、その他の名前はまだ分離されていません。
双方向制御文字
- 同意画面に表示される、アプリケーション名などの顧客提供の表示名からは、制御文字、不可視の書式文字(双方向制御文字 U+202A–U+202E および U+2066–U+2069 を含む)、行区切り・段落区切りが除去されるため、名前によって周囲の文字列の順序が変わったり、なりすましが起きたりすることはありません。
- ブランディングのカスタムテキスト上書きでは、双方向制御文字 U+202A–U+202E および U+2066–U+2069 はフィールドエラーコード
bidi_control_characterで、その他の制御文字はcontrol_characterで拒否されます(422 validation_failed。errors[]のエントリがテキストを指します)。 - メールに挿入されるテキスト値(アプリケーション名など)は、制御文字または不可視の書式文字を含む場合は拒否されます。ペルシア語やインド系文字には必要なため、ゼロ幅接合子と非接合子(U+200D、U+200C)は許可されます。
コード、日付、数値
ワンタイムコードとリカバリーコードは、ユーザーが別のデバイスで入力する可能性があるため、すべての言語でASCII数字で表示されます。メール内のセキュリティイベントの時刻は、メールの言語のCLDR日付・時刻形式と受信者のタイムゾーン(不明な場合はUTC)を使用します。CLDRの日付データがない言語では、時刻は YYYY-MM-DD HH:MM UTC で表示されます。
その他の文字体系のフォント
許可されているフォント一覧には、アラビア語、ヘブライ語、日本語、韓国語、簡体字中国語、タイ語、デーヴァナーガリー文字向けのNoto Sansファミリーが含まれます。繁体字中国語のファミリーはまだ一覧に含まれていません(未検証)。フォントとトークンについては ログインページのブランディング を参照してください。