Localiza un juego de PlayDrop y su ficha
Lee el idioma del jugador con sdk.host.language, elige cuáles de los 20 idiomas de PlayDrop admitir y traduce la ficha y sus imágenes con listingLocalizations.
La web y las apps de PlayDrop están disponibles en 20 idiomas. Un juego puede seguir el idioma del jugador en dos lugares independientes: el propio juego, que traduces en el código, y su ficha, que traduces en catalogue.json.
Empieza con inglés y uno más
Publica en inglés y también en el idioma de tu usuario si es diferente. Añade más idiomas cuando pienses llegar a esos jugadores. Una traducción parcial da peor impresión que un buen juego en inglés, así que traduce pantallas completas.
Traduce el juego
sdk.host.language es el idioma del jugador entre los 20 de PlayDrop: en, fr, de, es, pt-BR, it, nl, sv, nb, fi, pl, tr, ar, th, vi, id, ja, ko, zh-Hans y 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 es el valor antiguo, limitado a los diez idiomas originales y en para los demás; es preferible language. Ambos pueden lanzar host_locale_unavailable en hosts muy antiguos. El árabe se escribe de derecha a izquierda: refleja la interfaz, no la jugabilidad, y prueba las palabras largas en alemán y finés.
Traduce la ficha
Establece sourceLocale con el idioma en que está escrita la ficha y añade una traducción completa por idioma en listingLocalizations, con el idioma como clave:
{
"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" }
}
}
}- Cada traducción necesita su propio
displayName. También puede traducirsubtitle,description,inspirationPrompt,controls,makingOfyreleaseNotes. - Las imágenes traducidas, como una portada con el título traducido, van en el objeto
listingde la traducción, con los mismos campos que la ficha principal. - PlayDrop registra a qué versión del texto original corresponde cada traducción. Cuando cambie la ficha original, actualiza las traducciones en la misma subida.
Traducir la ficha no traduce el juego, y traducir el juego no traduce la ficha. Indica solo los idiomas que el juego admite de verdad.
Jugadores y buscadores
La web sirve cada idioma en su propia dirección, con enlaces entre las versiones, para que los buscadores puedan ofrecer el idioma del lector. Los jugadores ven la traducción que corresponde a su idioma de PlayDrop y, si no existe, el idioma original.