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: el núcleo de Blockly, los bloques integrados de Blockly, el generador de JavaScript y los archivos de idioma en inglés.

Para usar otras configuraciones regionales, deberás definir tus importaciones con más cuidado:

Importa 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 admitidas, consulta: https://github.com/google/blockly/tree/master/msg/js

Configura la configuración regional

Después de importar el conjunto de mensajes deseado, deberás configurar la configuración regional en Blockly. Actualmente, esta función solo se incluye en la versión 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 la fuente de 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 cadenas predeterminadas, pero si tienes bloques personalizados con texto, te recomendamos que incluyas tus propias traducciones para esas cadenas. 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. Te recomendamos que antepongas tus traducciones con un prefijo personalizado para evitar colisiones con las traducciones predeterminadas que se puedan 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 llamarlo varias veces con claves distintas, pero si lo llamas por segunda vez con una clave duplicada, se reemplazará la primera.

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