Como o widget resolve seu idioma e skin
O widget que você embute tem duas camadas: o shell (a moldura do Caputchin, sua checkbox ou faixa de marca, seu texto e cores) e, quando você usa um jogo, o jogo dentro dele. Cada um tem um idioma e um skin, e o widget resolve os dois no servidor quando carrega. Esta página explica como o shell resolve, e como ele se alinha com o jogo para que os dois nunca se choquem.
Para personalizar o próprio idioma, skin e configuração de um jogo, veja personalização de jogo. Esta página é sobre o shell.
O que o shell traz
O shell é totalmente autossuficiente. Ele empacota suas strings de interface em cada idioma oficial e tanto uma paleta clara quanto uma escura, então sempre tem algo correto para renderizar mesmo sem personalização e sem rede. Substituir essas strings, cores ou links empacotados é white-label, um recurso de nível Apex; a resolução abaixo é a mesma quer você tenha substituições ou não.
Como o shell escolhe um idioma
Quando o widget carrega ele decide qual idioma pedir ao servidor, nesta ordem:
- O atributo
localedo widget, se a página definiu um (uma escolha explícita). - Senão, o idioma do navegador do visitante.
O servidor então resolve isso contra os idiomas do shell (suas substituições primeiro, depois o conjunto empacotado): um casamento exato, depois o idioma base, depois o padrão do shell, depois seu primeiro idioma. Então o shell sempre renderiza texto de verdade.
Como o shell escolhe um skin
Mesmo formato para o skin:
- O atributo
skindo widget, se a página definiu um:light,darkou um nome de preset. - Senão, a preferência de sistema do visitante (
prefers-color-scheme).
O servidor resolve isso para uma paleta clara ou escura concreta (suas substituições primeiro, depois empacotadas). Cada preset declara o modo em que funciona; um preset cujo modo é any lê em qualquer fundo e por isso é elegível para os dois. O shell traz uma paleta clara e uma escura de fábrica, e o skin resolvido sempre reporta um modo claro ou escuro concreto, que é o que a moldura renderiza.
Como o shell acompanha o jogo
Aqui está a parte que amarra tudo. Quando um jogo está montado, o shell não resolve seu idioma e skin do sinal do visitante diretamente. Em vez disso ele acompanha o jogo: o widget resolve o jogo primeiro, depois usa o idioma resolvido do jogo e seu modo claro ou escuro como a entrada do shell.
Então se o navegador de um visitante é francês e o jogo resolve para o francês, a moldura ao redor renderiza em francês também. Se o jogo resolve para seu skin escuro, a moldura fica escura para combinar. O shell recai no próprio idioma do visitante e na preferência de sistema só quando nenhum jogo está montado (a checkbox simples do widget), ou quando o jogo não resolveu um idioma ou skin próprio.
O resultado é que o jogo e a moldura ao redor dele sempre concordam, sem você configurar o shell e o jogo separadamente para combinarem.
Configuração
O shell também tem uma pequena configuração: os alvos de link na sua faixa de marca (o link de início e o link legal). Diferente de idioma e skin, isto não tem entrada do visitante; o servidor o resolve das suas substituições ou dos padrões empacotados. Mudar esses links é parte do white-label.
Veja também
- White-label do widget: substitua o texto, as cores e os links do shell.
- Estilize o widget com CSS: mire os parts do shell a partir da sua própria folha de estilo.
- Personalização de jogo: o próprio idioma, skin e configuração do jogo.