Caputchin
Настройка виджета

Как виджет разрешает свой язык и скин

У виджета, который ты встраиваешь, два слоя: оболочка (хром Caputchin, его галочка или брендовая полоса, его формулировки и цвета) и, когда ты используешь игру, игра внутри него. У каждого есть язык и скин, и виджет разрешает оба на сервере при загрузке. Эта страница объясняет, как разрешается оболочка и как она выстраивается с игрой, чтобы эти двое никогда не конфликтовали.

Для настройки собственного языка, скина и конфигурации игры смотри настройку игр. Эта страница про оболочку.

Что поставляет оболочка

Оболочка полностью самодостаточна. Она встраивает свои интерфейсные строки на каждом официальном языке и обе палитры, светлую и тёмную, так что у неё всегда есть что-то правильное для отрисовки даже без настройки и без сети. Замена этих встроенных строк, цветов или ссылок это white-label, функция уровня Apex; разрешение ниже одинаково независимо от того, есть ли у тебя переопределения.

Как оболочка выбирает язык

Когда виджет загружается, он решает, какой язык запросить у сервера, в этом порядке:

  1. Атрибут locale виджета, если страница его задала (явный выбор).
  2. Иначе язык браузера посетителя.

Сервер затем разрешает это против языков оболочки (сначала твои переопределения, затем встроенный набор): точное совпадение, затем базовый язык, затем умолчание оболочки, затем её первый язык. Так что оболочка всегда рендерит настоящие формулировки.

Как оболочка выбирает скин

Та же форма для скина:

  1. Атрибут skin виджета, если страница его задала: light, dark или имя пресета.
  2. Иначе системное предпочтение посетителя (prefers-color-scheme).

Сервер разрешает это в конкретную светлую или тёмную палитру (сначала твои переопределения, затем встроенные). Каждый пресет объявляет режим, в котором он работает; пресет, чей режим это any, читается на любом фоне и потому годится для обоих. Оболочка поставляет светлую и тёмную палитру из коробки, и разрешённый скин всегда сообщает конкретный светлый или тёмный режим, что и рендерит хром.

Как оболочка следует за игрой

Вот часть, которая связывает всё воедино. Когда игра смонтирована, оболочка не разрешает свой язык и скин из сигнала посетителя напрямую. Вместо этого она следует за игрой: виджет сначала разрешает игру, затем использует разрешённый язык и светлый или тёмный режим игры как ввод оболочки.

Так что если браузер посетителя французский и игра разрешается во французский, окружающий хром тоже рендерится по-французски. Если игра разрешается в свой тёмный скин, хром уходит в тёмное, чтобы совпасть. Оболочка откатывается на собственный язык и системное предпочтение посетителя только когда не смонтирована игра (простой галочный виджет) или когда игра не разрешила собственный язык или скин.

Результат в том, что игра и хром вокруг неё всегда согласны, без того чтобы ты настраивал оболочку и игру по отдельности для совпадения.

Конфигурация

У оболочки также есть небольшая конфигурация: цели ссылок в её брендовой полосе (домашняя ссылка и правовая ссылка). В отличие от языка и скина, у этого нет ввода посетителя; сервер разрешает это из твоих переопределений или встроенных умолчаний. Изменение этих ссылок это часть white-label.

См. также

На этой странице