Localiser un jeu PlayDrop et sa fiche
Lisez la langue du joueur avec sdk.host.language, choisissez parmi les 20 langues de PlayDrop et traduisez fiche et illustrations avec listingLocalizations.
Le site web et les apps de PlayDrop parlent 20 langues. Un jeu peut suivre la langue du joueur à deux endroits distincts : le jeu lui-même, que vous traduisez dans le code, et sa fiche, que vous traduisez dans catalogue.json.
Commencez par l’anglais plus une langue
Proposez l’anglais, plus la langue de la personne que vous aidez si elle est différente. Ajoutez d’autres langues quand vous comptez toucher ces joueurs. Une traduction partielle fait moins bonne impression qu’un bon jeu en anglais : traduisez des écrans entiers.
Traduisez le jeu
sdk.host.language est la langue du joueur parmi les 20 de PlayDrop : en, fr, de, es, pt-BR, it, nl, sv, nb, fi, pl, tr, ar, th, vi, id, ja, ko, zh-Hans et 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 est l’ancienne valeur, limitée aux dix langues d’origine et à en pour les autres ; préférez language. Les deux peuvent lever host_locale_unavailable sur les hôtes très anciens. L’arabe s’écrit de droite à gauche : inversez la mise en page, pas le gameplay, et testez les mots longs en allemand et en finnois.
Traduisez la fiche
Définissez sourceLocale sur la langue dans laquelle la fiche est rédigée, puis ajoutez une traduction complète par langue dans listingLocalizations, indexée par langue :
{
"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" }
}
}
}- Chaque traduction a besoin de son propre
displayName. Elle peut aussi traduiresubtitle,description,inspirationPrompt,controls,makingOfetreleaseNotes. - Les illustrations traduites, comme une illustration principale avec un titre traduit, vont dans l’objet
listingde la traduction, avec les mêmes champs que la fiche principale. - PlayDrop enregistre à quelle version du texte source correspond chaque traduction. Quand la fiche source change, mettez à jour les traductions dans le même envoi.
Une fiche traduite ne traduit pas le jeu, et un jeu traduit ne traduit pas la fiche. N’indiquez que les langues que le jeu prend réellement en charge.
Joueurs et recherche
Le site web sert chaque langue à sa propre adresse, avec des liens entre les versions, pour que les moteurs de recherche puissent proposer la langue du lecteur. Les joueurs voient la traduction qui correspond à leur langue PlayDrop, et sinon la langue source.