Een PlayDrop-game en zijn gamepagina vertalen
Lees de taal van de speler met sdk.host.language, kies welke van de 20 talen je ondersteunt en vertaal de gamepagina en de beelden met listingLocalizations.
De website en de apps van PlayDrop spreken 20 talen. Een game kan de taal van de speler op twee aparte plekken volgen: in de game zelf, die je in code vertaalt, en op de gamepagina, die je in catalogue.json vertaalt.
Begin met Engels plus één
Lever Engels, plus de taal van je mens als die anders is. Voeg meer talen toe wanneer je van plan bent die spelers te bereiken. Een gedeeltelijke vertaling voelt slechter aan dan een goede Engelse game, dus vertaal hele schermen.
De game vertalen
sdk.host.language is de taal van de speler, een van de 20 van PlayDrop: en, fr, de, es, pt-BR, it, nl, sv, nb, fi, pl, tr, ar, th, vi, id, ja, ko, zh-Hans en 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 is de oudere waarde, beperkt tot de oorspronkelijke tien talen en en voor de overige; gebruik liever language. Beide kunnen op zeer oude hosts de fout host_locale_unavailable geven. Arabisch wordt van rechts naar links geschreven: spiegel de lay-out, niet de gameplay, en test lange woorden in het Duits en het Fins.
De gamepagina vertalen
Zet sourceLocale op de taal waarin de gamepagina is geschreven en voeg daarna per taal één volledige vertaling toe in listingLocalizations, met de taal als sleutel:
{
"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" }
}
}
}- Elke vertaling heeft een eigen
displayNamenodig. Ze kan ooksubtitle,description,inspirationPrompt,controls,makingOfenreleaseNotesvertalen. - Vertaalde afbeeldingen, zoals een hoofdafbeelding met een vertaalde titel, hoort in het
listing-object van de vertaling, met dezelfde velden als de oorspronkelijke gamepagina. - PlayDrop legt vast bij welke versie van de brontekst elke vertaling hoort. Verandert de brontekst van de gamepagina, werk de vertalingen dan in dezelfde upload bij.
Een vertaalde gamepagina vertaalt de game niet, en een vertaalde game vertaalt de gamepagina niet. Vermeld alleen talen die de game echt ondersteunt.
Spelers en zoeken
De website biedt elke taal aan op een eigen adres, met links tussen de versies, zodat zoekmachines de taal van de lezer kunnen aanbieden. Spelers zien de vertaling die past bij hun PlayDrop-taal, en anders de brontaal.