Personalize o idioma de um jogo
Um jogo vem com os idiomas para os quais seu autor o traduziu. Na aba Idioma do editor do jogo você pode sobrescrever essas strings, corrigir uma tradução, ajustar o texto para combinar com seu produto, ou adicionar um idioma que o jogo não trouxe, e a mudança se aplica ao jogo renderizado.
A personalização de idioma está disponível do plano Alpha em diante (Alpha, Troop, Apex).
Defina as strings de idioma
Abra o jogo na página Jogos de uma chave de site (ou da equipe), depois a aba Idioma. Cada idioma que o jogo oferece é um preset, e cada preset é um conjunto de strings nomeadas (os rótulos e mensagens no jogo). Edite as strings que você quer mudar; deixe o resto e elas mantêm o texto empacotado do jogo.
Os campos de idioma são sempre texto puro. Não há nada para escolher além das palavras.
Como um idioma é escolhido em tempo de execução
Cada preset de idioma carrega uma tag de idioma (en, es, fr e assim por diante), e os presets são agrupados por essa tag. Escolher um acontece em duas etapas.
Primeiro o widget decide qual idioma pedir:
- O atributo
localedo widget, se a página definiu um (intenção explícita do autor). - Senão, o idioma do navegador do visitante (o primeiro dos idiomas preferidos dele), junto com os próximos dois idiomas preferidos dele, para que um jogo sem strings no primeiro possa usar o seguinte antes de recair no seu padrão.
- Senão nada, e o servidor recai no padrão do jogo.
Depois o servidor casa esse idioma contra os presets, após mesclar suas substituições (chave de site sobre equipe sobre o conjunto empacotado do jogo), nesta ordem:
- Um preset cujo nome é exatamente o valor pedido (o atributo
locale, ou o idioma do navegador do visitante quando ele não está definido). - Um preset no mesmo idioma base:
pt-BRcasa igualmente com um presetpt,pt-BRoupt-PT. O chinês tradicional (zh-TW,zh-HK,zh-MO,zh-Hant) só casa com um presetzh-Hant, nunca com um simplificado. - Os próximos idiomas preferidos do visitante, em ordem, quando o widget os enviou, casados do mesmo jeito.
- Um preset em inglês.
- O primeiro preset do jogo.
Quando vários presets compartilham um idioma, vence o que você marcou como padrão para esse idioma, senão o primeiro. Então um jogo com quaisquer presets sempre renderiza texto de verdade, nunca chaves cruas. Você marca um preset por idioma como o padrão no editor.
No elemento <caputchin-game> você também pode passar um objeto locale inline: um objeto JSON escrito como o valor do atributo, por exemplo locale='{"start":"Go!"}'. O widget o envia ao servidor como o sinal de idioma daquela montagem, e o servidor o faz parse e o sobrepõe aos presets resolvidos, então suas strings inline vencem tudo acima (incluindo suas substituições de equipe e de chave de site). É uma propriedade do seu próprio markup, então funciona em qualquer plano. A checkbox <caputchin-widget> não aceita um locale inline; seu atributo locale aceita só uma tag de idioma ou um nome de preset. Veja nossa filosofia para saber por que essa autoria por embed é grátis.
A direção do texto (da esquerda para a direita ou da direita para a esquerda) é derivada da tag de idioma automaticamente, então um idioma da direita para a esquerda renderiza corretamente sem configuração extra.
Adicione ou estenda um idioma
Você pode estender qualquer idioma que o jogo traz: o novo preset herda cada string daquele que você estende, e você sobrescreve só as que muda. Para adicionar um idioma que o jogo não trouxe, crie um preset com a tag desse idioma e preencha as strings.
O que se aplica, e onde
As substituições de idioma resolvem no servidor, o mais específico vence: um preset de chave de site vence o preset da equipe, que vence o idioma empacotado do jogo. O idioma do navegador do visitante seleciona qual preset resolvido ele vê.
Veja também
- Visão geral da personalização de jogo: registrar um jogo e gerenciá-lo.
- Configurações e skin: os outros dois eixos.
- Referência de esquema: o modelo de preset e os tipos de campo.