ゲームの言語をカスタマイズする
ゲームは、作者が翻訳した言語とともに出荷されます。ゲームのエディターの 言語 タブで、それらの文字列を上書きし、翻訳を直し、文言をあなたの製品に合わせて調整し、あるいはゲームが出荷しなかった言語を加えられます。変更はレンダリングされるゲームに適用されます。
言語のカスタマイズは Alpha プラン以上(Alpha、Troop、Apex)で利用可能です。
言語の文字列を設定する
サイトキー(またはチーム)の ゲーム ページでゲームを開き、それから 言語 タブを開きます。ゲームが提供する各言語はプリセットで、各プリセットは名前付き文字列のセット(ゲーム内のラベルとメッセージ)です。変えたい文字列を編集します。残りはそのままにすれば、ゲームのバンドル済みの文言を保ちます。
ロケールのフィールドは常にプレーンテキストです。選ぶものは言葉だけです。
実行時に言語がどう選ばれるか
各ロケールプリセットは 言語タグ(en、es、fr など)を運び、プリセットはそのタグでまとめられます。1 つを選ぶのは 2 段階で起きます。
まずウィジェットが、どの言語を求めるか決めます:
- ページが設定していれば、ウィジェットの
locale属性(明示的な作者の意図)。 - それ以外は、訪問者のブラウザの言語(その優先言語の最初のもの)。
- それ以外は何もなく、サーバーがゲームの既定にフォールバックします。
それからサーバーが、あなたの上書きをマージした後(サイトキー、チーム、ゲームのバンドル済みセットの順)、その言語をプリセットに対して、この順で照合します:
- 厳密なタグの一致(
pt-BRはpt-BRプリセットを見つけます)。 - ベース言語(
pt-BRはptプリセットにフォールバックします)。 - あなたが 既定 とマークしたプリセット。
- ゲームの最初のプリセット。
なので、何らかのプリセットを持つゲームは常に本物のテキストをレンダリングし、決して生のキーは出しません。エディターで、言語ごとに 1 つのプリセットを既定としてマークします。
<caputchin-game> 要素では、インラインの locale オブジェクトも渡せます。属性の値として書かれた JSON オブジェクトで、たとえば locale='{"start":"Go!"}' です。ウィジェットはそれをそのマウントの言語シグナルとしてサーバーへ送り、サーバーはそれをパースして解決済みのプリセットの上に重ねるので、あなたのインライン文字列は上のすべて(あなたのチームとサイトキーの上書きを含む)に勝ちます。それはあなた自身のマークアップのプロパティなので、どのプランでも動きます。チェックボックスの <caputchin-widget> はインラインロケールを受け付けません。その locale 属性は言語タグかプリセット名だけを取ります。なぜこの埋め込みごとの作成が無料かは 私たちの哲学 を参照してください。
文字の方向(左から右、または右から左)は言語タグから自動で導かれるので、右から左の言語が追加の設定なしに正しくレンダリングされます。
言語を加える、または拡張する
ゲームが出荷するどの言語も拡張できます。新しいプリセットは、拡張するものからすべての文字列を継承し、あなたは変えるものだけを上書きします。ゲームが出荷しなかった言語を加えるには、その言語のタグを持つプリセットを作り、文字列を埋めます。
何が適用され、どこで
言語の上書きはサーバーで、最も具体的なものが勝つで解決されます。サイトキーのプリセットはチームのプリセットに勝ち、それはゲームのバンドル済みの言語に勝ちます。訪問者のブラウザの言語が、解決済みのどのプリセットを見るかを選びます。
あわせて読む
- ゲームのカスタマイズの概要:ゲームを登録して管理する。
- 構成 と スキン:ほかの 2 つの軸。
- スキーマリファレンス:プリセットモデルとフィールド型。