Traducciones

Los mensajes predeterminados en Blockly (como el texto en el menú contextual) se tradujeron a muchos idiomas diferentes. La configuración regional en se carga de forma predeterminada, pero también se pueden incluir las otras configuraciones regionales disponibles.

Cómo configurar la configuración regional con npm

Cuando importes Blockly con import * as Blockly from 'blockly';, obtendrás los módulos predeterminados: Blockly core, Blockly integrado, el generador de JavaScript y los archivos en inglés.

Para usar otras configuraciones regionales, te recomendamos que definas tus importaciones con más cuidado:

Cómo importar módulos predeterminados de Blockly

import * as Blockly from 'blockly/core';
import 'blockly/blocks';
import 'blockly/javascript'; // Or the generator of your choice

Importar idiomas de Blockly

Por ejemplo, para importar el conjunto de mensajes en francés:

import * as Fr from 'blockly/msg/fr';

Para obtener una lista completa de las configuraciones regionales de Blockly compatibles, consulta: https://github.com/google/blockly/tree/master/msg/js

Configurar configuración regional

Después de importar el conjunto de mensajes deseado, debes establecer la configuración regional en Blockly. Actualmente, esta función solo se incluye en la versión de npm de Blockly.

Blockly.setLocale(Fr);

Se debe llamar a esta función antes de que se cargue el lugar de trabajo.

Cómo configurar la configuración regional sin npm

Incluye el src de la secuencia de comandos adecuada del directorio de mensajes de Blockly, y las traducciones se incluirán automáticamente.

<script src="../../blockly_compressed.js"></script>
<script src="../../blocks_compressed.js"></script>
<script src="../../msg/js/ar.js"></script>

Traducciones personalizadas

Blockly incluye traducciones para todas sus strings predeterminadas, pero si tienes bloques personalizados con texto, te recomendamos que incluyas tus propias traducciones para esas strings. Por ejemplo, la estructura de blockly/msg/es es similar a la siguiente:

Blockly.Msg["COLOUR_RGB_RED"] = "rojo";

Puedes agregar mensajes personalizados adicionales como propiedades nuevas en el objeto Blockly.Msg llamando a setLocale con un objeto con tus traducciones personalizadas. Es posible que desees agregar un prefijo a tus traducciones con un prefijo personalizado para evitar colisiones con cualquier traducción predeterminada que se pueda agregar en el futuro.

// In custom_es.js
export const CustomEs = {
  HELLO: "Hola",
}

// In your setup code
import * as Es from blockly/msg/Es;
import { CustomEs } from ../custom_es;
Blockly.setLocale(Es);
Blockly.setLocale(CustomEs);

setLocale coloca cada clave del objeto de entrada en Blockly.Msg. Puedes llamarla varias veces con claves distintas, pero llamarla por segunda vez con una clave duplicada reemplazará a la primera.

Para hacer referencia a la string traducida en el bloque, usa Blockly.Msg['HELLO'], que debe contener la string de la configuración regional que configuraste.