Traduzioni

I messaggi predefiniti in Blockly (come il testo nel menu contestuale) sono stati tradotti in molte lingue diverse. Per impostazione predefinita vengono caricate le impostazioni internazionali en, ma è possibile includere anche le altre impostazioni internazionali disponibili.

Configurazione delle impostazioni internazionali con npm

Quando importi Blockly con import * as Blockly from 'blockly';, otterrai i moduli predefiniti: Blockly core, blocchi integrati Blockly, il generatore di JavaScript e i file di lingua inglese.

Per utilizzare altre impostazioni internazionali, devi definire le importazioni con maggiore attenzione:

Importare moduli predefiniti Blockly

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

Importa lingue Blockly

Ad esempio, per importare il set di messaggi in francese:

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

Per un elenco completo delle impostazioni internazionali di Blockly supportate, consulta: 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 richiamata prima del caricamento dell'area di lavoro.

Configurazione delle impostazioni internazionali senza npm

Includi l'origine dello script appropriata dalla directory dei messaggi 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 traduzioni per tutte le sue stringhe predefinite, ma se disponi di blocchi personalizzati con testo, puoi includere le tue traduzioni per quelle 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à nell'oggetto Blockly.Msg chiamando setLocale con un oggetto con le tue traduzioni personalizzate. Potresti voler anteporre alle tue 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 tasto dell'oggetto di input in Blockly.Msg. Puoi chiamarla più volte con chiavi distinte, ma se chiami una seconda volta con una chiave duplicata, la prima verrà sovrascritta.

Per fare riferimento alla stringa tradotta nel blocco, usa Blockly.Msg['HELLO'], che dovrebbe contenere la stringa per la lingua configurata.