Các thông báo mặc định trong Blockly (chẳng hạn như văn bản trong trình đơn theo bối cảnh) đã được dịch sang nhiều ngôn ngữ. Ngôn ngữ en
được tải theo mặc định, nhưng bạn cũng có thể thêm các ngôn ngữ có sẵn khác.
Định cấu hình ngôn ngữ bằng npm
Khi nhập Blockly bằng import * as Blockly from 'blockly';
, bạn sẽ nhận được các mô-đun mặc định: lõi Blockly, các khối tích hợp Blockly, trình tạo JavaScript và tệp ngôn ngữ tiếng Anh.
Để sử dụng các ngôn ngữ khác, bạn nên xác định các lệnh nhập một cách cẩn thận hơn:
Nhập các mô-đun mặc định của Blockly
import * as Blockly from 'blockly/core';
import 'blockly/blocks';
import 'blockly/javascript'; // Or the generator of your choice
Nhập ngôn ngữ của Blockly
Ví dụ: để nhập bộ thông báo tiếng Pháp:
import * as Fr from 'blockly/msg/fr';
Để biết danh sách đầy đủ các ngôn ngữ Blockly được hỗ trợ, hãy xem: https://github.com/google/blockly/tree/master/msg/js
Định cấu hình ngôn ngữ
Sau khi nhập bộ thông báo mong muốn, bạn nên đặt ngôn ngữ trong Blockly. Hàm này hiện chỉ có trong bản phát hành npm của Blockly.
Blockly.setLocale(Fr);
Bạn cần gọi phương thức này trước khi tải không gian làm việc.
Định cấu hình ngôn ngữ không có npm
Thêm src tập lệnh thích hợp từ thư mục msg Blockly và bản dịch sẽ tự động được thêm vào.
<script src="../../blockly_compressed.js"></script>
<script src="../../blocks_compressed.js"></script>
<script src="../../msg/js/ar.js"></script>
Bản dịch tuỳ chỉnh
Blockly bao gồm bản dịch cho tất cả chuỗi mặc định, nhưng nếu có các khối tuỳ chỉnh có văn bản, bạn nên thêm bản dịch của riêng mình cho các chuỗi đó. Ví dụ: cấu trúc của blockly/msg/es
tương tự như sau:
Blockly.Msg["COLOUR_RGB_RED"] = "rojo";
Bạn có thể thêm các thông báo tuỳ chỉnh khác dưới dạng thuộc tính mới trên đối tượng Blockly.Msg
bằng cách gọi setLocale
với một đối tượng có bản dịch tuỳ chỉnh. Bạn nên thêm tiền tố tuỳ chỉnh vào bản dịch để tránh xung đột với bất kỳ bản dịch mặc định nào có thể được thêm vào trong tương lai.
// 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
đặt từng khoá từ đối tượng đầu vào vào Blockly.Msg
. Bạn có thể gọi hàm này nhiều lần bằng các khoá riêng biệt, nhưng việc gọi hàm này lần thứ hai bằng khoá trùng lặp sẽ ghi đè khoá đầu tiên.
Để tham chiếu chuỗi đã dịch trong khối, hãy sử dụng Blockly.Msg['HELLO']
. Khối này sẽ chứa chuỗi cho ngôn ngữ mà bạn đã định cấu hình.
Chủ đề có liên quan
- Ngôn ngữ từ phải sang trái: Xem bản minh hoạ RTL
- Bản địa hoá các khối