번역

Blockly의 기본 메시지 (예: 컨텍스트 메뉴의 텍스트)가 다양한 언어로 번역되었습니다. en 언어는 기본적으로 로드되지만 다른 사용 가능한 언어도 포함될 수 있습니다.

npm으로 언어 구성

import * as Blockly from 'blockly';를 사용하여 Blockly를 가져오면 Blockly 코어, Blockly 내장 블록, JavaScript 생성기, 영어 언어 파일과 같은 기본 모듈을 가져옵니다.

다른 언어를 사용하려면 가져오기를 더 신중하게 정의해야 합니다.

Blockly 기본 모듈 가져오기

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

Blockly 언어 가져오기

예를 들어 프랑스어 메일 집합을 가져오려면 다음과 같이 하세요.

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

지원되는 Blockly 언어의 전체 목록은 https://github.com/google/blockly/tree/master/msg/js를 참고하세요.

언어 구성

원하는 메시지 세트를 가져온 후에는 Blockly에서 언어를 설정하는 것이 좋습니다. 이 함수는 현재 Blockly의 npm 출시에만 포함되어 있습니다.

Blockly.setLocale(Fr);

작업공간이 로드되기 전에 호출해야 합니다.

npm 없이 언어 구성

Blockly 메시지 디렉터리에서 적절한 스크립트 src를 포함하면 번역이 자동으로 포함됩니다.

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

맞춤 번역

Blockly는 모든 기본 문자열에 대한 번역을 포함하지만 텍스트가 있는 맞춤 블록이 있는 경우 해당 문자열에 자체 번역을 포함하는 것이 좋습니다. 예를 들어 blockly/msg/es의 구조는 다음과 유사합니다.

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

맞춤 번역이 있는 객체로 setLocale를 호출하여 맞춤 메시지를 Blockly.Msg 객체에 새 속성으로 추가할 수 있습니다. 향후 추가될 수 있는 기본 번역과의 충돌을 방지하기 위해 번역에 맞춤 접두사를 붙일 수 있습니다.

// 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는 입력 객체의 각 키를 Blockly.Msg에 배치합니다. 고유한 키로 여러 번 호출할 수 있지만 중복 키로 두 번째로 호출하면 첫 번째를 덮어씁니다.

블록의 번역된 문자열을 참조하려면 Blockly.Msg['HELLO']를 사용합니다. 여기에는 구성한 언어의 문자열이 포함되어야 합니다.