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.
Topik terkait
- Bahasa yang penulisannya dari kanan ke kiri: Lihat demo RTL
- Melakukan pelokalan blok