---
type: explanation
title: Bagaimana widget menyelesaikan bahasa dan skin-nya
summary: Bagaimana shell widget memilih bahasa dan skin terang atau gelapnya, dan bagaimana itu mengikuti game saat satu dipasang.
---

Widget yang kamu sematkan punya dua lapis: **shell** (chrome Caputchin, checkbox atau strip merek-nya, kata dan warnanya) dan, saat kamu memakai game, **game** di dalamnya. Masing-masing punya bahasa dan skin, dan widget menyelesaikan keduanya di server saat ia memuat. Halaman ini menjelaskan bagaimana shell menyelesaikan, dan bagaimana ia sejajar dengan game agar keduanya tak pernah bentrok.

Untuk mengustomisasi bahasa, skin, dan konfigurasi game sendiri, lihat [kustomisasi game](/docs/game-customization/overview). Halaman ini tentang shell.

## Apa yang dikirim shell

Shell sepenuhnya mandiri. Ia membundel string antarmukanya di setiap bahasa resmi dan baik palet terang maupun gelap, jadi ia selalu punya sesuatu yang benar untuk dirender bahkan tanpa kustomisasi dan tanpa jaringan. Mengganti string, warna, atau tautan bawaan itu adalah [white-label](/docs/widget-customization/white-label), fitur jenjang-Apex; penyelesaian di bawah sama baik kamu punya penggantian atau tidak.

## Bagaimana shell memilih bahasa

Saat widget memuat ia memutuskan bahasa mana yang diminta ke server, dalam urutan ini:

1. Atribut `locale` widget, jika halaman menyetel satu (pilihan eksplisit).
2. Kalau tidak, bahasa peramban pengunjung.

Server lalu menyelesaikannya terhadap bahasa shell (penggantianmu dulu, lalu set bawaan): pencocokan persis, lalu bahasa dasar, lalu default shell, lalu bahasa pertamanya. Jadi shell selalu merender kata nyata.

## Bagaimana shell memilih skin

Bentuk yang sama untuk skin:

1. Atribut `skin` widget, jika halaman menyetel satu: `light`, `dark`, atau nama preset.
2. Kalau tidak, preferensi sistem pengunjung (`prefers-color-scheme`).

Server menyelesaikannya ke palet terang atau gelap konkret (penggantianmu dulu, lalu bawaan). Tiap preset mendeklarasikan mode yang ia berfungsi di dalamnya; sebuah preset yang mode-nya `any` terbaca di kedua latar dan karenanya layak untuk keduanya. Shell mengirim palet terang dan gelap dari kotak, dan skin terselesaikan selalu melaporkan mode terang atau gelap konkret, yang adalah apa yang dirender chrome.

## Bagaimana shell mengikuti game

Inilah bagian yang mengikatnya bersama. Saat sebuah game dipasang, shell tak menyelesaikan bahasa dan skin-nya dari sinyal pengunjung langsung. Sebaliknya ia **mengikuti game**: widget menyelesaikan game dulu, lalu memakai bahasa dan mode terang atau gelap terselesaikan game sebagai input shell.

Jadi jika peramban pengunjung berbahasa Prancis dan game menyelesaikan ke Prancis, chrome di sekelilingnya merender dalam Prancis juga. Jika game menyelesaikan ke skin gelapnya, chrome menjadi gelap untuk cocok. Shell jatuh ke bahasa dan preferensi sistem pengunjung sendiri hanya saat tak ada game yang dipasang (widget checkbox biasa), atau saat game tak menyelesaikan bahasa atau skin-nya sendiri.

Hasilnya adalah game dan chrome di sekelilingnya selalu setuju, tanpa kamu mengonfigurasi shell dan game secara terpisah agar cocok.

## Konfigurasi

Shell juga punya **konfigurasi** kecil: target tautan di strip mereknya (tautan home dan tautan legal). Tak seperti bahasa dan skin, ini tak punya input pengunjung; server menyelesaikannya dari penggantianmu atau default bawaan. Mengubah tautan itu adalah bagian dari [white-label](/docs/widget-customization/white-label).

## Lihat juga

- [White-label widget](/docs/widget-customization/white-label): ganti kata, warna, dan tautan shell.
- [Beri gaya widget dengan CSS](/docs/widget-customization/css-parts): targetkan part shell dari stylesheet-mu sendiri.
- [Kustomisasi game](/docs/game-customization/overview): bahasa, skin, dan konfigurasi game sendiri.
