الترجمات

تمت ترجمة الرسائل التلقائية في Blockly (مثل النص في قائمة السياق) إلى العديد من اللغات المختلفة. يتم تحميل لغة en تلقائيًا، ولكن يمكن تضمين اللغات الأخرى المتاحة أيضًا.

ضبط اللغة باستخدام npm

عند استيراد Blockly باستخدام import * as Blockly from '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. لا تتوفّر هذه الوظيفة حاليًا إلا في إصدار npm من Blockly.

Blockly.setLocale(Fr);

يجب طلب هذا قبل تحميل مساحة العمل.

ضبط اللغة بدون npm

أدرِج src النص البرمجي المناسب من دليل msg في Blockly، وسيتم تلقائيًا تضمين translations.

<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";

يمكنك إضافة رسائل مخصّصة إضافية كخصائص جديدة في Blockly.Msg العنصر من خلال استدعاء setLocale باستخدام عنصر يتضمّن ترجماتك المخصّصة. يمكنك إضافة بادئة مخصّصة إلى ترجمة المحتوى لتجنّب حدوث تعارضات مع أي ترجمات تلقائية قد تتم إضافتها في المستقبل.

// 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'] الذي يجب أن يحتوي على السلسلة للّغة التي أعددتها.