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).
- 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 casamento exato de tag (
pt-BRacha o presetpt-BR). - O idioma base (
pt-BRrecai em um presetpt). - O preset que você marcou como padrão.
- O primeiro preset do jogo.
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.