Personalização de jogo

Personalize o idioma de um jogo

Ver como Markdown

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:

  1. O atributo locale do widget, se a página definiu um (intenção explícita do autor).
  2. 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.
  3. 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:

  1. Um preset cujo nome é exatamente o valor pedido (o atributo locale, ou o idioma do navegador do visitante quando ele não está definido).
  2. Um preset no mesmo idioma base: pt-BR casa igualmente com um preset pt, pt-BR ou pt-PT. O chinês tradicional (zh-TW, zh-HK, zh-MO, zh-Hant) só casa com um preset zh-Hant, nunca com um simplificado.
  3. Os próximos idiomas preferidos do visitante, em ordem, quando o widget os enviou, casados do mesmo jeito.
  4. Um preset em inglês.
  5. 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