Terjemahan

Pesan default di Blockly (seperti teks di menu konteks) telah diterjemahkan ke berbagai bahasa. Lokalitas en dimuat secara default, tetapi lokal lain yang tersedia juga dapat disertakan.

Mengonfigurasi lokalitas dengan npm

Saat mengimpor Blockly dengan import * as Blockly from 'blockly';, Anda akan mendapatkan modul default: Blockly core, Blockly bawaan blok, generator JavaScript, dan file lang bahasa Inggris.

Untuk menggunakan lokalitas lain, Anda harus mendefinisikan impor dengan lebih hati-hati:

Mengimpor modul default Blockly

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

Impor bahasa Blockly

Misalnya, untuk mengimpor kumpulan pesan bahasa Prancis:

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

Untuk mengetahui daftar lengkap lokalitas Blockly yang didukung, lihat: https://github.com/google/blockly/tree/master/msg/js

Konfigurasi lokalitas

Setelah mengimpor kumpulan pesan yang diinginkan, Anda dapat menyetel lokalitas di Blockly. Fungsi ini saat ini hanya disertakan dalam rilis npm Blockly.

Blockly.setLocale(Fr);

Tindakan ini harus dipanggil sebelum ruang kerja dimuat.

Mengonfigurasi lokalitas tanpa npm

Sertakan src skrip yang sesuai dari direktori pesan Blockly, dan terjemahan akan otomatis disertakan.

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

Terjemahan kustom

Blockly menyertakan terjemahan untuk semua string defaultnya, tetapi jika Anda memiliki blok khusus dengan teks, sebaiknya sertakan terjemahan Anda sendiri untuk string tersebut. Misalnya, struktur blockly/msg/es mirip dengan berikut:

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

Anda dapat menambahkan pesan kustom tambahan sebagai properti baru pada objek Blockly.Msg dengan memanggil setLocale menggunakan objek dengan terjemahan kustom Anda. Anda mungkin ingin memberikan awalan pada terjemahan dengan awalan kustom sehingga dapat menghindari tumbukan dengan terjemahan default yang mungkin ditambahkan di masa mendatang.

// 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 menempatkan setiap kunci dari objek input ke dalam Blockly.Msg. Anda dapat memanggilnya beberapa kali dengan kunci yang berbeda, tetapi memanggilnya untuk kedua kalinya dengan kunci duplikat akan menimpa kunci pertama.

Untuk mereferensikan string yang diterjemahkan dalam blok Anda, gunakan Blockly.Msg['HELLO'] yang harus berisi string untuk lokalitas yang telah dikonfigurasi.