ウィジェットが言語とスキンをどう解決するか
あなたが埋め込むウィジェットには 2 つの層があります。シェル(Caputchin のクローム、そのチェックボックスやブランドの帯、その文言と色)と、ゲームを使うときの、その中の ゲーム です。それぞれが言語とスキンを持ち、ウィジェットは読み込み時にサーバーで両方を解決します。このページは、シェルがどう解決するか、そして 2 つが決して衝突しないようゲームとどう揃うかを説明します。
ゲーム自身の言語、スキン、構成のカスタマイズについては ゲームのカスタマイズ を参照してください。このページはシェルについてです。
シェルが出荷するもの
シェルは完全に自己完結しています。そのインターフェースの文字列をすべての公式言語で、そしてライトとダークの両方のパレットでバンドルするので、カスタマイズもネットワークもなくても、常に正しく何かをレンダリングできます。それらのバンドル済みの文字列、色、リンクを置き換えるのが ホワイトラベル、Apex 階層の機能です。下の解決は、上書きがあろうとなかろうと同じです。
シェルが言語をどう選ぶか
ウィジェットが読み込まれると、どの言語をサーバーに求めるか、この順で決めます:
- ページが設定していれば、ウィジェットの
locale属性(明示的な選択)。 - それ以外は、訪問者のブラウザの言語。
それからサーバーが、それをシェルの言語に対して解決します(あなたの上書きが先、それからバンドル済みのセット)。厳密な一致、それからベース言語、それからシェルの既定、それからその最初の言語です。なので、シェルは常に本物の文言をレンダリングします。
シェルがスキンをどう選ぶか
スキンも同じ形です:
- ページが設定していれば、ウィジェットの
skin属性:light、dark、またはプリセット名。 - それ以外は、訪問者のシステム設定(
prefers-color-scheme)。
サーバーがそれを具体的なライトかダークのパレットに解決します(あなたの上書きが先、それからバンドル済み)。各プリセットは、それが働くモードを宣言します。モードが any のプリセットはどちらの背景でも読めるので、両方の資格があります。シェルは箱を出してすぐにライトとダークのパレットを出荷し、解決済みのスキンは常に具体的なライトかダークのモードを報告し、それがクロームがレンダリングするものです。
シェルがゲームにどう従うか
ここがそれを結びつける部分です。ゲームがマウントされると、シェルはその言語とスキンを訪問者のシグナルから直接は解決しません。代わりに ゲームに従います。ウィジェットはまずゲームを解決し、それからゲームの解決済みの言語とライトかダークのモードを、シェルの入力として使います。
なので、訪問者のブラウザがフランス語でゲームがフランス語に解決されると、周りのクロームもフランス語でレンダリングされます。ゲームがダークのスキンに解決されると、クロームも合わせてダークになります。シェルが訪問者自身の言語とシステム設定にフォールバックするのは、ゲームがマウントされていないとき(素のチェックボックスウィジェット)か、ゲームが自身の言語やスキンを解決しなかったときだけです。
その結果、シェルとゲームを別々に合わせて設定しなくても、ゲームとその周りのクロームは常に一致します。
構成
シェルには小さな 構成 もあります。そのブランドの帯のリンク先(home リンクと legal リンク)です。言語やスキンと違い、これには訪問者の入力がありません。サーバーが、あなたの上書きかバンドル済みの既定からそれを解決します。それらのリンクを変えるのは ホワイトラベル の一部です。
あわせて読む
- ウィジェットをホワイトラベルする:シェルの文言、色、リンクを置き換える。
- CSS でウィジェットをスタイルする:あなた自身のスタイルシートからシェルのパーツを対象にする。
- ゲームのカスタマイズ:ゲーム自身の言語、スキン、構成。