v1.0.26
Runtime

CanvasLocalizer

El componente que se encarga de traducir todos los textos de un Canvas

¿Que hace?

El CanvasLocalizer es el componente que se añade a cada Canvas de tu mundo que tenga textos para traducir. En lugar de tener que poner un localizador en cada texto individual, este componente escanea el Canvas entero, detecta todos los textos (tanto TextMeshPro como Legacy Text) y se ocupa de cambiarlos cuando el jugador cambia de idioma.

No necesitas añadirlo a mano: cuando usas el boton "Configuracion Rapida" del LocalizationManager, este componente se añade automaticamente a todos los Canvas de tu escena. Consulta el Flujo Automatico.

El inspector del componente

Cuando seleccionas un Canvas que tiene un CanvasLocalizer, esto es lo que veras en el inspector:

Inspector CanvasLocalizer
1 Canvas ID — un nombre interno unico que identifica este Canvas. Se rellena solo a partir del nombre del GameObject. Normalmente no tienes que tocarlo. 2 Idioma base — el idioma en el que estan escritos los textos originales de este Canvas. Si todo tu Canvas esta escrito en español, eliges Español aqui. 3 Pestañas de navegacion — si tienes varios Canvas localizados, puedes saltar entre ellos sin tener que ir a la jerarquia. 4 Checkbox de inclusion — cada texto detectado tiene una casilla. Desmarca los textos que NO quieras traducir (por ejemplo, un nombre propio o un logo escrito). 5 Clave de traduccion — el identificador del texto en el archivo JSON. Se genera solo, pero puedes editarlo si quieres uno mas claro. 6 Texto actual — el contenido del texto tal y como esta ahora en tu Canvas. 7 Ruta en jerarquia — donde esta el texto dentro de tu Canvas (ej: Panel/Header/Title). Util para ubicar visualmente cada texto. 8 Estado — indica si la clave es nueva, si ya existe en el JSON, o si esta duplicada (en cuyo caso debes editarla para que sea unica). 9 Textos excluidos — los textos que has marcado para no traducir aparecen aqui. Puedes recuperarlos en cualquier momento. 10 Exportar al JSON y Aplicar — guarda los cambios en el archivo de traduccion. Hasta que pulses este boton, nada esta guardado.

¿Que hace al escanear un Canvas?

Cuando pulsas "Escanear Canvas" (o cuando usas la Configuracion Rapida en el LocalizationManager), la herramienta hace tres cosas:

  1. Busca todos los textos del Canvas, tanto TextMeshPro como Legacy Text.
  2. Ignora automaticamente los textos que son solo numeros o signos ("123", "%", "-"...) porque no tiene sentido traducirlos.
  3. Genera una clave unica para cada texto traducible y los muestra en la tabla del inspector para que los revises.
El escaneo no modifica nada hasta que pulses "Exportar al JSON y Aplicar". Puedes ajustar claves, marcar textos como excluidos y volver a escanear las veces que quieras antes de guardar.
Si modificas un texto en tu Canvas despues de haberlo escaneado, debes volver a pulsar "Escanear Canvas" para que la herramienta detecte el cambio. Si no, seguira mostrando el texto antiguo en el archivo de traduccion.

Marca visual en la vista de escena

Cada Canvas con un CanvasLocalizer muestra una pequeña marca azul en la vista de escena (Scene View) que dice [Idiomas:nombre] N textos. Asi puedes ver de un vistazo cuales de tus Canvas ya estan localizados sin tener que abrir cada uno.

¿Quieres traducir solo un texto puntual con parametros dinamicos (por ejemplo, "Hola, {nombre del jugador}")? Para eso usa TextLocalizer en lugar de CanvasLocalizer.