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