Caputchin
Personalização do widget

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:

  1. O atributo locale do widget, se a página definiu um (uma escolha explícita).
  2. 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:

  1. O atributo skin do widget, se a página definiu um: light, dark ou um nome de preset.
  2. 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

Nesta página