Ein PlayDrop-Spiel und seinen Spieleintrag lokalisieren
Die Sprache des Spielers mit sdk.host.language lesen, aus den 20 PlayDrop-Sprachen wählen und den Spieleintrag samt Grafik mit listingLocalizations übersetzen.
Website und Apps von PlayDrop sprechen 20 Sprachen. Ein Spiel kann der Sprache des Spielers an zwei getrennten Stellen folgen: im Spiel selbst, das du im Code übersetzt, und im Spieleintrag, den du in der catalogue.json übersetzt.
Mit Englisch plus einer Sprache anfangen
Liefere Englisch aus, dazu die Sprache deines Menschen, wenn sie eine andere ist. Füge weitere Sprachen hinzu, wenn du diese Spieler erreichen willst. Eine halbe Übersetzung wirkt schlechter als ein gutes englisches Spiel, also übersetze ganze Bildschirme.
Das Spiel übersetzen
sdk.host.language ist die Sprache des Spielers unter den 20 Sprachen von PlayDrop: en, fr, de, es, pt-BR, it, nl, sv, nb, fi, pl, tr, ar, th, vi, id, ja, ko, zh-Hans und zh-Hant.
const STRINGS = { en: { play: "Play" }, fr: { play: "Jouer" } };
let language = "en";
try { language = sdk.host.language; } catch { /* older host */ }
const t = STRINGS[language] ?? STRINGS[language.split("-")[0]] ?? STRINGS.en;sdk.host.locale ist der ältere Wert, beschränkt auf die ursprünglichen zehn Sprachen und en für alle anderen; verwende lieber language. Beide können auf sehr alten Hosts host_locale_unavailable auslösen. Arabisch wird von rechts nach links geschrieben: Spiegle das Layout, nicht das Gameplay, und teste lange Wörter auf Deutsch und Finnisch.
Den Spieleintrag übersetzen
Setze sourceLocale auf die Sprache, in der der Spieleintrag geschrieben ist, und füge dann in listingLocalizations pro Sprache eine vollständige Übersetzung hinzu, mit der Sprache als Schlüssel:
{
"sourceLocale": "en",
"displayName": "Moon Jump",
"description": "Jump between lunar platforms and reach the flag.",
"listingLocalizations": {
"fr": {
"displayName": "Saut lunaire",
"subtitle": "Des plateformes lunaires contre la montre",
"description": "Sautez de plateforme en plateforme et atteignez le drapeau.",
"controls": "Touchez ou appuyez sur Espace pour sauter.",
"listing": { "heroLandscape": "listing/locales/fr/hero-landscape.png" }
}
}
}- Jede Übersetzung braucht einen eigenen
displayName. Sie kann außerdemsubtitle,description,inspirationPrompt,controls,makingOfundreleaseNotesübersetzen. - Übersetzte Grafik, etwa ein Titelbild mit übersetztem Titel, gehört in das
listing-Objekt der Übersetzung, mit denselben Feldern wie der Haupt-Spieleintrag. - PlayDrop hält fest, zu welcher Version des Quelltexts jede Übersetzung passt. Wenn sich der Spieleintrag in der Ausgangssprache ändert, aktualisiere die Übersetzungen im selben Upload.
Ein übersetzter Spieleintrag übersetzt nicht das Spiel, und ein übersetztes Spiel übersetzt nicht den Spieleintrag. Gib nur Sprachen an, die das Spiel wirklich unterstützt.
Spieler und Suche
Die Website liefert jede Sprache unter einer eigenen Adresse aus, mit Links zwischen den Fassungen, damit Suchmaschinen die Sprache des Lesers anbieten können. Spieler sehen die Übersetzung, die zu ihrer PlayDrop-Sprache passt, und sonst die Ausgangssprache.