Traductions

Les messages par défaut de Blockly (comme le texte du menu contextuel) ont été traduits dans de nombreuses langues. 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 des paramètres régionaux avec npm

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

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

Importer les modules par défaut Blockly

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

Importer les 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 des paramètres régionaux sans npm

Incluez le script src approprié à 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 avez des blocs personnalisés avec du texte, vous pouvez inclure vos propres traductions pour ces chaînes. Par exemple, la structure de blockly/msg/es est semblable à ceci:

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 ultérieurement.

// 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. Toutefois, si vous l'appelez une deuxième fois avec une clé en double, la première sera écrasée.

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