Die Sprache eines Spiels anpassen
Ein Spiel wird mit den Sprachen ausgeliefert, in die sein Autor es übersetzt hat. Auf dem Locale-Tab des Spiel-Editors kannst du diese Strings überschreiben, eine Übersetzung korrigieren, den Wortlaut an dein Produkt anpassen oder eine Sprache hinzufügen, die das Spiel nicht ausgeliefert hat, und die Änderung wird auf das gerenderte Spiel angewendet.
Sprach-Anpassung ist ab dem Alpha-Tarif verfügbar (Alpha, Troop, Apex).
Die Sprach-Strings setzen
Öffne das Spiel auf der Spiele-Seite eines Site-Keys (oder des Teams), dann den Locale-Tab. Jede Sprache, die das Spiel bietet, ist ein Preset, und jedes Preset ist ein Satz benannter Strings (die In-Game-Labels und Nachrichten). Bearbeite die Strings, die du ändern willst; lass den Rest, und sie behalten den mitgelieferten Wortlaut des Spiels.
Locale-Felder sind immer reiner Text. Es gibt nichts zu wählen außer den Worten.
Wie eine Sprache zur Laufzeit gewählt wird
Jedes Locale-Preset trägt einen Sprach-Tag (en, es, fr und so weiter), und Presets sind nach diesem Tag gruppiert. Eines zu wählen passiert in zwei Stufen.
Zuerst entscheidet das Widget, welche Sprache es anfragt:
- Das
locale-Attribut des Widgets, wenn die Seite eines gesetzt hat (explizite Autorenabsicht). - Sonst die Browser-Sprache des Besuchers (die erste seiner bevorzugten Sprachen).
- Sonst nichts, und der Server fällt auf den Standard des Spiels zurück.
Dann matcht der Server diese Sprache gegen die Presets, nach dem Mergen deiner Overrides (Site-Key über Team über den mitgelieferten Satz des Spiels), in dieser Reihenfolge:
- Ein exakter Tag-Match (
pt-BRfindet daspt-BR-Preset). - Die Basissprache (
pt-BRfällt auf einpt-Preset zurück). - Das Preset, das du als Standard markiert hast.
- Das erste Preset des Spiels.
So rendert ein Spiel mit beliebigen Presets immer echten Text, nie rohe Schlüssel. Du markierst ein Preset pro Sprache als Standard im Editor.
Auf dem <caputchin-game>-Element kannst du auch ein Inline-locale-Objekt übergeben: ein JSON-Objekt, geschrieben als Attributwert, zum Beispiel locale='{"start":"Go!"}'. Das Widget sendet es als Sprachsignal dieses Mounts an den Server, und der Server parst es und legt es über die aufgelösten Presets, sodass deine Inline-Strings über allem oben gewinnen (einschließlich deiner Team- und Site-Key-Overrides). Es ist eine Eigenschaft deines eigenen Markups, also funktioniert es in jedem Tarif. Das Checkbox-<caputchin-widget> akzeptiert kein Inline-Locale; sein locale-Attribut nimmt nur einen Sprach-Tag oder Preset-Namen. Sieh dir unsere Philosophie an, warum dieses Verfassen pro Einbettung kostenlos ist.
Textrichtung (links-nach-rechts oder rechts-nach-links) wird automatisch aus dem Sprach-Tag abgeleitet, sodass eine Rechts-nach-links-Sprache ohne zusätzliche Einrichtung korrekt rendert.
Eine Sprache hinzufügen oder erweitern
Du kannst jede Sprache erweitern, die das Spiel ausliefert: das neue Preset erbt jeden String von dem, das du erweiterst, und du überschreibst nur die, die du änderst. Um eine Sprache hinzuzufügen, die das Spiel nicht ausgeliefert hat, erstell ein Preset mit dem Tag dieser Sprache und füll die Strings aus.
Was gilt und wo
Sprach-Overrides lösen sich auf dem Server auf, am-spezifischsten-gewinnt: ein Site-Key-Preset schlägt das Team-Preset, das die mitgelieferte Sprache des Spiels schlägt. Die Browser-Sprache des Besuchers wählt, welches aufgelöste Preset er sieht.
Siehe auch
- Überblick zur Spiel-Anpassung: ein Spiel registrieren und verwalten.
- Konfigurationen und Skin: die anderen zwei Achsen.
- Schema-Referenz: das Preset-Modell und die Feldtypen.