Terjemahan

Pesan default di Blockly (seperti teks di menu konteks) telah diterjemahkan ke berbagai bahasa. Lokalitas en dimuat secara default, tetapi lokalitas 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 built-in block, generator JavaScript, dan file bahasa Inggris.

Untuk menggunakan lokalitas lain, sebaiknya tentukan impor dengan lebih cermat:

Mengimpor modul default Blockly

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

Mengimpor 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

Mengonfigurasi lokalitas

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

Blockly.setLocale(Fr);

Fungsi ini harus dipanggil sebelum ruang kerja dimuat.

Mengonfigurasi lokalitas tanpa npm

Sertakan skrip src 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 kustom 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 dengan objek yang berisi terjemahan kustom Anda. Anda dapat menambahkan awalan pada terjemahan dengan awalan kustom agar tidak terjadi konflik 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 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 terjemahan di blok Anda, gunakan Blockly.Msg['HELLO'] yang harus berisi string untuk lokalitas yang telah Anda konfigurasi.