Çeviriler

Blockly'deki varsayılan mesajlar (bağlam menüsündeki metin gibi) birçok farklı dile çevrilmiştir. en yerel ayarı varsayılan olarak yüklenir ancak diğer kullanılabilir yerel ayarlar da eklenebilir.

npm ile yerel ayarı yapılandırma

Blockly'yi import * as Blockly from 'blockly'; ile içe aktardığınızda varsayılan modülleri alırsınız: Blockly çekirdeği, Blockly yerleşik blokları, JavaScript oluşturucu ve İngilizce dil dosyaları.

Diğer yerel ayarları kullanmak için içe aktarma işlemlerinizi daha dikkatli bir şekilde tanımlamanız gerekir:

Blockly varsayılan modüllerini içe aktarma

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

Blockly dillerini içe aktarma

Örneğin, Fransızca ileti grubunu içe aktarmak için:

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

Desteklenen Blockly yerel ayarlarının tam listesi için: https://github.com/google/blockly/tree/master/msg/js

Yerel ayarı yapılandır

İstediğiniz mesaj grubunu içe aktardıktan sonra Blockly'de yerel ayarı yapmanız gerekir. Bu işlev şu anda yalnızca Blockly'nin npm sürümüne dahildir.

Blockly.setLocale(Fr);

Bu işlevin çalışma alanı yüklenmeden önce çağrılması gerekir.

npm olmadan yerel ayarı yapılandırma

Blockly msg dizininden uygun komut dosyası src'sini ekleyin. Böylece çeviriler otomatik olarak dahil edilir.

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

Özel çeviriler

Blockly, varsayılan dizelerinin tümünün çevirilerini içerir ancak metin içeren özel bloklarınız varsa bu dizeler için kendi çevirilerinizi ekleyebilirsiniz. Örneğin, blockly/msg/es yapısı aşağıdakine benzer:

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

Özel çevirilerinizi içeren bir nesneyle setLocale'ı çağırarak Blockly.Msg nesnesine yeni özellikler olarak ek özel mesajlar ekleyebilirsiniz. Gelecekte eklenebilecek varsayılan çevirilerle çakışmayı önlemek için çevirilerinizin önüne özel bir ön ek ekleyebilirsiniz.

// 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, giriş nesnesinden gelen her anahtarı Blockly.Msg içine yerleştirir. Bu işlevi farklı anahtarlarla birden çok kez çağırabilirsiniz ancak aynı anahtarla ikinci kez çağırdığınızda ilk çağrının üzerine yazılır.

Blokunuzda çevrilmiş dizeye referans vermek için Blockly.Msg['HELLO'] simgesini kullanın. Bu simge, yapılandırdığınız yerel dilin dizesini içermelidir.