Traduzioni

I messaggi predefiniti in Blockly (ad esempio il testo nel menu contestuale) sono stati tradotti in molte lingue diverse. Per impostazione predefinita viene caricato il codice lingua en, ma è possibile includere anche gli altri codici lingua disponibili.

Configurazione delle impostazioni internazionali con npm

Quando importi Blockly con import * as Blockly from 'blockly';, ottieni i moduli predefiniti: il nucleo di Blockly, i blocchi integrati di Blockly, il generatore di JavaScript e i file lang in inglese.

Per utilizzare altre impostazioni internazionali, ti consigliamo di definire le importazioni con maggiore attenzione:

Importare i moduli predefiniti di Blockly

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

Importare le lingue di Blockly

Ad esempio, per importare l'insieme di messaggi in francese:

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

Per un elenco completo delle lingue di Blockly supportate, visita la pagina: https://github.com/google/blockly/tree/master/msg/js

Configura impostazioni internazionali

Dopo aver importato il set di messaggi desiderato, ti consigliamo di impostare le impostazioni internazionali in Blockly. Questa funzione è attualmente inclusa solo nella release npm di Blockly.

Blockly.setLocale(Fr);

Questa operazione deve essere chiamata prima del caricamento dell'area di lavoro.

Configurazione delle impostazioni internazionali senza npm

Includi lo script src appropriato dalla directory msg di Blockly e le traduzioni verranno incluse automaticamente.

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

Traduzioni personalizzate

Blockly include le traduzioni per tutte le stringhe predefinite, ma se hai blocchi personalizzati con testo, ti consigliamo di includere le tue traduzioni per queste stringhe. Ad esempio, la struttura di blockly/msg/es è simile alla seguente:

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

Puoi aggiungere altri messaggi personalizzati come nuove proprietà all'oggetto Blockly.Msg chiamando setLocale con un oggetto contenente le tue traduzioni personalizzate. Ti consigliamo di anteporre alle traduzioni un prefisso personalizzato per evitare conflitti con le traduzioni predefinite che potrebbero essere aggiunte in 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 inserisce ogni chiave dell'oggetto di input in Blockly.Msg. Puoi chiamarla più volte con chiavi distinte, ma se la chiami una seconda volta con una chiave duplicata, la prima verrà sovrascritta.

Per fare riferimento alla stringa tradotta nel blocco, utilizza Blockly.Msg['HELLO'] che deve contenere la stringa per le impostazioni internazionali che hai configurato.