Traductions

Les messages par défaut de Blockly (comme le texte du menu contextuel) ont été traduits dans de nombreuses langues différentes. Les paramètres régionaux en sont chargés par défaut, mais les autres paramètres régionaux disponibles peuvent également être inclus.

Configurer les paramètres régionaux avec npm

Lorsque vous importez Blockly avec import * as Blockly from 'blockly';, vous obtenez les modules par défaut: le noyau Blockly, les blocs intégrés Blockly, le générateur JavaScript et les fichiers de langue en anglais.

Pour utiliser d'autres paramètres régionaux, vous devez définir vos importations plus précisément:

Importer les modules par défaut de Blockly

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

Importer des langues Blockly

Par exemple, pour importer l'ensemble de messages en français:

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

Pour obtenir la liste complète des paramètres régionaux Blockly compatibles, consultez la page https://github.com/google/blockly/tree/master/msg/js.

Configurer les paramètres régionaux

Après avoir importé l'ensemble de messages souhaité, vous devez définir les paramètres régionaux dans Blockly. Cette fonction n'est actuellement incluse que dans la version npm de Blockly.

Blockly.setLocale(Fr);

Cette méthode doit être appelée avant le chargement de l'espace de travail.

Configurer la langue sans npm

Incluez la source de script appropriée à partir du répertoire de messages Blockly. Les traductions seront automatiquement incluses.

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

Traductions personnalisées

Blockly inclut des traductions pour toutes ses chaînes par défaut, mais si vous disposez de blocs personnalisés avec du texte, vous pouvez inclure vos propres traductions pour ces chaînes. Par exemple, la structure de blockly/msg/es se présente comme suit:

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

Vous pouvez ajouter des messages personnalisés supplémentaires en tant que nouvelles propriétés de l'objet Blockly.Msg en appelant setLocale avec un objet avec vos traductions personnalisées. Vous pouvez ajouter un préfixe personnalisé à vos traductions afin d'éviter les conflits avec les traductions par défaut qui pourraient être ajoutées à l'avenir.

// 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 place chaque clé de l'objet d'entrée dans Blockly.Msg. Vous pouvez l'appeler plusieurs fois avec des clés distinctes, mais l'appeler une deuxième fois avec une clé en double écrasera la première.

Pour faire référence à la chaîne traduite dans votre bloc, utilisez Blockly.Msg['HELLO'], qui doit contenir la chaîne pour les paramètres régionaux que vous avez configurés.