Die Standardmeldungen in Blockly (z. B. der Text im Kontextmenü) wurden in viele verschiedene Sprachen übersetzt. Die Sprache en
wird standardmäßig geladen, aber die anderen verfügbaren Sprachen können auch eingeschlossen werden.
Gebietsschema mit npm konfigurieren
Wenn Sie Blockly mit import * as Blockly from 'blockly';
importieren, erhalten Sie die Standardmodule: Blockly Core, Blockly integrierte Blöcke, den JavaScript-Generator und die englischen lang-Dateien.
Wenn Sie andere Sprachen verwenden möchten, müssen Sie Ihre Importe genauer definieren:
Blockly-Standardmodule importieren
import * as Blockly from 'blockly/core';
import 'blockly/blocks';
import 'blockly/javascript'; // Or the generator of your choice
Blockly-Sprachen importieren
So importieren Sie beispielsweise das französische Nachrichtenset:
import * as Fr from 'blockly/msg/fr';
Eine vollständige Liste der unterstützten Blockly-Sprachen finden Sie unter https://github.com/google/blockly/tree/master/msg/js.
Sprache konfigurieren
Nachdem Sie den gewünschten Nachrichtensatz importiert haben, müssen Sie die Sprache in Blockly festlegen. Diese Funktion ist derzeit nur in der npm-Version von Blockly enthalten.
Blockly.setLocale(Fr);
Diese Funktion muss aufgerufen werden, bevor der Arbeitsbereich geladen wird.
Sprache ohne npm konfigurieren
Fügen Sie die entsprechende Script-Src aus dem Blockly-msg-Verzeichnis ein. Die Übersetzungen werden dann automatisch eingefügt.
<script src="../../blockly_compressed.js"></script>
<script src="../../blocks_compressed.js"></script>
<script src="../../msg/js/ar.js"></script>
Benutzerdefinierte Übersetzungen
Blockly schließt Übersetzungen für alle Standardstrings ein. Wenn Sie jedoch benutzerdefinierte Blöcke mit Text haben, können Sie auch eigene Übersetzungen für diese Strings hinzufügen. Die Struktur von blockly/msg/es
sieht beispielsweise so aus:
Blockly.Msg["COLOUR_RGB_RED"] = "rojo";
Sie können dem Blockly.Msg
-Objekt zusätzliche benutzerdefinierte Nachrichten als neue Properties hinzufügen. Rufen Sie dazu setLocale
mit einem Objekt mit Ihren benutzerdefinierten Übersetzungen auf. Sie können Ihren Übersetzungen ein benutzerdefiniertes Präfix vorangestellt, um Konflikte mit Standardübersetzungen zu vermeiden, die in Zukunft hinzugefügt werden könnten.
// 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
fügt jeden Schlüssel aus dem Eingabeobjekt in Blockly.Msg
ein. Sie können sie mehrmals mit unterschiedlichen Schlüsseln aufrufen, aber wenn Sie sie ein zweites Mal mit einem doppelten Schlüssel aufrufen, wird der erste überschrieben.
Verwende Blockly.Msg['HELLO']
, um in deinem Block auf den übersetzten String zu verweisen. Dieser String sollte den String für die von dir konfigurierte Sprache enthalten.
Weitere Informationen
- Linksläufige Sprachen: Demo für linksläufige Sprachen
- Blöcke lokalisieren