Personaliza el idioma de un juego
Un juego viene con los idiomas a los que su autor lo tradujo. En la pestaña Locale del editor del juego puedes sobrescribir esas cadenas, arreglar una traducción, ajustar el texto para que encaje con tu producto, o añadir un idioma que el juego no traía, y el cambio se aplica al juego renderizado.
La personalización de idioma está disponible desde el plan Alpha en adelante (Alpha, Equipo, Apex).
Fija las cadenas de idioma
Abre el juego en la página de Juegos de una clave de sitio (o del equipo), luego la pestaña Locale. Cada idioma que el juego ofrece es un preset, y cada preset es un conjunto de cadenas con nombre (las etiquetas y mensajes dentro del juego). Edita las cadenas que quieras cambiar; deja el resto y conservan el texto incluido del juego.
Los campos de locale son siempre texto plano. No hay nada que elegir salvo las palabras.
Cómo se elige un idioma en tiempo de ejecución
Cada preset de locale lleva una etiqueta de idioma (en, es, fr, etcétera), y los presets se agrupan por esa etiqueta. Elegir uno ocurre en dos etapas.
Primero el widget decide qué idioma pedir:
- El atributo
localedel widget, si la página fijó uno (intención explícita del autor). - Si no, el idioma del navegador del visitante (el primero de sus idiomas preferidos).
- Si no, nada, y el servidor recae en el valor por defecto del juego.
Luego el servidor empareja ese idioma contra los presets, tras fusionar tus overrides (clave de sitio sobre equipo sobre el conjunto incluido del juego), en este orden:
- Una coincidencia exacta de etiqueta (
pt-BRencuentra el presetpt-BR). - El idioma base (
pt-BRrecae en un presetpt). - El preset que marcaste default.
- El primer preset del juego.
Así que un juego con cualquier preset siempre renderiza texto real, nunca claves en bruto. Marcas un preset por idioma como el default en el editor.
En el elemento <caputchin-game> también puedes pasar un objeto locale inline: un objeto JSON escrito como el valor del atributo, por ejemplo locale='{"start":"Go!"}'. El widget lo envía al servidor como la señal de idioma de ese montaje, y el servidor lo parsea y lo superpone sobre los presets resueltos, así que tus cadenas inline ganan sobre todo lo de arriba (incluidos tus overrides de equipo y de clave de sitio). Es una propiedad de tu propio markup, así que funciona en cualquier plan. El <caputchin-widget> de checkbox no acepta un locale inline; su atributo locale toma solo una etiqueta de idioma o un nombre de preset. Mira nuestra filosofía para saber por qué este autoría por incrustación es gratis.
La dirección del texto (de izquierda a derecha o de derecha a izquierda) se deriva de la etiqueta de idioma automáticamente, así que un idioma de derecha a izquierda se renderiza correctamente sin configuración extra.
Añade o extiende un idioma
Puedes extender cualquier idioma que el juego traiga: el nuevo preset hereda cada cadena del que extiendes, y sobrescribes solo las que cambias. Para añadir un idioma que el juego no traía, crea un preset con la etiqueta de ese idioma y rellena las cadenas.
Qué aplica, y dónde
Los overrides de idioma se resuelven en el servidor, gana-lo-más-específico: un preset de clave de sitio gana al preset del equipo, que gana al idioma incluido del juego. El idioma del navegador del visitante selecciona qué preset resuelto ve.
Véase también
- Visión general de personalización de juego: registra un juego y gestiónalo.
- Configuraciones y skin: los otros dos ejes.
- Referencia de esquema: el modelo de presets y los tipos de campo.