Domyślne komunikaty w Blockly (np. tekst w menu kontekstowym) zostały przetłumaczone na wiele różnych języków. Język en
jest wczytywany domyślnie, ale można uwzględnić też inne dostępne języki.
Konfigurowanie ustawień regionalnych przy użyciu npm
Gdy zaimportujesz Blockly za pomocą import * as Blockly from 'blockly';
, otrzymasz domyślne moduły: Blockly core, wbudowane bloki Blockly, generator JavaScriptu i pliki języka angielskiego.
Jeśli chcesz używać innych języków, musisz dokładniej zdefiniować importy:
Importuj domyślne moduły Blockly
import * as Blockly from 'blockly/core';
import 'blockly/blocks';
import 'blockly/javascript'; // Or the generator of your choice
Importuj języki Blockly
Aby na przykład zaimportować zestaw wiadomości w języku francuskim:
import * as Fr from 'blockly/msg/fr';
Pełną listę obsługiwanych języków znajdziesz na stronie https://github.com/google/blockly/tree/master/msg/js.
Skonfiguruj język
Po zaimportowaniu wybranego zestawu wiadomości ustaw język w Blockly. Ta funkcja jest obecnie uwzględniona tylko w wersji npm w Blockly.
Blockly.setLocale(Fr);
Należy to wywołać przed wczytaniem obszaru roboczego.
Konfigurowanie ustawień regionalnych bez npm
Dodaj odpowiednie źródło skryptu z katalogu Blockly msg, a tłumaczenia zostaną dołączone automatycznie.
<script src="../../blockly_compressed.js"></script>
<script src="../../blocks_compressed.js"></script>
<script src="../../msg/js/ar.js"></script>
Tłumaczenia na zamówienie
Blockly uwzględnia tłumaczenia wszystkich swoich ciągów domyślnych, ale jeśli masz niestandardowe bloki z tekstem, możesz użyć własnych tłumaczeń. Na przykład struktura obiektu blockly/msg/es
jest podobna do tej:
Blockly.Msg["COLOUR_RGB_RED"] = "rojo";
Możesz dodać kolejne komunikaty niestandardowe jako nowe właściwości w obiekcie Blockly.Msg
, wywołując setLocale
z obiektem z własnymi tłumaczeniami. Do swoich tłumaczeń możesz dodawać prefiksy niestandardowe, aby uniknąć kolizji z jakimikolwiek domyślnymi tłumaczeniami, które mogą pojawić się w przyszłości.
// 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
umieszcza każdy klucz z obiektu wejściowego w obiekcie Blockly.Msg
. Możesz wywołać ją wielokrotnie za pomocą różnych kluczy, ale wywołanie go po raz drugi z użyciem duplikatu spowoduje zastąpienie pierwszego.
Aby odwołać się do przetłumaczonego ciągu znaków w bloku, użyj parametru Blockly.Msg['HELLO']
, który powinien zawierać ciąg znaków odpowiadający skonfigurowanego języka.
Powiązane artykuły
- Języki z zapisem od prawej do lewej: patrz prezentacja w formacie RTL.
- Lokalizowanie bloków