Çeviriler

Blockly'deki varsayılan mesajlar (ör. içerik menüsündeki metin) birçok farklı dile çevrildi. en yerel ayarı varsayılan olarak yüklenir ancak diğer kullanılabilir yerel ayarlar da dahil edilebilir.

npm ile yerel ayarı yapılandırma

import * as Blockly from 'blockly'; ile Blockly'yi içe aktardığınızda şu varsayılan modüllere sahip olursunuz: Blockly core, Blockly yerleşik bloklar, JavaScript oluşturucu ve İngilizce dil dosyaları.

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

Blockly varsayılan modüllerini içe aktar

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

Blockly dilleri içe aktarma

Örneğin, Fransızca mesaj kümesini içe aktarmak için:

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

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

Yerel ayarı yapılandır

İstenen mesaj kümesini içe aktardıktan sonra Blockly'de yerel ayarı yapabilirsiniz. Bu işlev şu anda yalnızca Blockly'nin npm sürümünde mevcuttur.

Blockly.setLocale(Fr);

Bunun, çalışma alanı yüklenmeden önce çağrılması gerekir.

npm olmadan yerel ayarı yapılandırma

Bloklu mesaj dizininden uygun komut dosyası src'yi eklediğinizde ç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, tüm varsayılan dizeleri için çevirileri içerir ancak metin içeren özel bloklarınız varsa bu dizeler için kendi çevirilerinizi eklemek isteyebilirsiniz. Örneğin, blockly/msg/es yapısı aşağıdaki gibidir:

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

Özel çevirilerinizi içeren bir nesneyle setLocale yöntemini çağırarak Blockly.Msg nesnesine yeni özellik olarak ek özel mesajlar ekleyebilirsiniz. Gelecekte eklenebilecek varsayılan çevirilerle çakışmamak için çevirilerinizin önüne özel bir önek 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ş nesnesindeki her anahtarı Blockly.Msg içine yerleştirir. Farklı anahtarlarla birden çok kez çağırabilirsiniz ancak yinelenen bir anahtarla ikinci kez çağrıldığında ilkinin üzerine yazılır.

Bloğunuzdaki çevrilmiş dizeye referans vermek için, yapılandırdığınız yerel ayarın dizesini içeren Blockly.Msg['HELLO'] kullanın.