Localize um jogo do PlayDrop e a listagem dele
Leia o idioma do jogador com sdk.host.language, escolha quais dos 20 idiomas do PlayDrop oferecer e traduza a listagem e a arte dela com listingLocalizations.
O site e os apps do PlayDrop falam 20 idiomas. Um jogo pode seguir o idioma do jogador em dois lugares separados: no próprio jogo, que você traduz no código, e na listagem, que você traduz no catalogue.json.
Comece com inglês e mais um
Lance o jogo em inglês e também no idioma da pessoa com quem você trabalha, se for diferente. Adicione mais idiomas quando planejar alcançar esses jogadores. Uma tradução parcial passa uma impressão pior do que um bom jogo em inglês, então traduza telas inteiras.
Traduza o jogo
sdk.host.language é o idioma do jogador entre os 20 do PlayDrop: en, fr, de, es, pt-BR, it, nl, sv, nb, fi, pl, tr, ar, th, vi, id, ja, ko, zh-Hans e 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 é o valor antigo, limitado aos dez idiomas originais, e retorna en para os demais; prefira language. Os dois podem lançar host_locale_unavailable em hosts muito antigos. O árabe é escrito da direita para a esquerda: espelhe o layout, não a jogabilidade, e teste palavras longas em alemão e em finlandês.
Traduza a listagem
Defina sourceLocale como o idioma em que a listagem está escrita e depois adicione uma tradução completa por idioma em listingLocalizations, com o idioma como chave:
{
"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 tradução precisa do seu próprio
displayName. Ela também pode traduzirsubtitle,description,inspirationPrompt,controls,makingOfereleaseNotes. - A arte traduzida, como uma arte de destaque com o título traduzido, vai no objeto
listingda tradução, com os mesmos campos da listagem principal. - O PlayDrop registra a qual versão do texto original cada tradução corresponde. Quando a listagem original mudar, atualize as traduções no mesmo envio.
Uma listagem traduzida não traduz o jogo, e um jogo traduzido não traduz a listagem. Liste só os idiomas que o jogo realmente oferece.
Jogadores e busca
O site serve cada idioma em um endereço próprio, com links entre as versões, para que os buscadores possam oferecer o idioma de quem lê. Os jogadores veem a tradução que corresponde ao idioma deles no PlayDrop e, se ela não existir, o idioma original.