---
type: how-to
title: Die Sprache eines Spiels anpassen
summary: Überschreib die übersetzten Strings eines Spiels auf dem Locale-Tab, gruppiert nach Sprache; ab dem Alpha-Tarif verfügbar.
---

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:

1. Das `locale`-Attribut des Widgets, wenn die Seite eines gesetzt hat (explizite Autorenabsicht).
2. Sonst die Browser-Sprache des Besuchers (die erste seiner bevorzugten Sprachen).
3. 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:

1. Ein exakter Tag-Match (`pt-BR` findet das `pt-BR`-Preset).
2. Die Basissprache (`pt-BR` fällt auf ein `pt`-Preset zurück).
3. Das Preset, das du als **Standard** markiert hast.
4. 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](/docs/understanding-caputchin/philosophy) 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](/docs/game-customization/overview): ein Spiel registrieren und verwalten.
- [Konfigurationen](/docs/game-customization/configurations) und [Skin](/docs/game-customization/skin): die anderen zwei Achsen.
- [Schema-Referenz](/docs/references/customization-schema): das Preset-Modell und die Feldtypen.
