تمت ترجمة الرسائل التلقائية في 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']
الذي يجب أن يحتوي على السلسلة للّغة التي أعددتها.
مواضيع ذات صلة
- اللغات من اليمين إلى اليسار: اطّلِع على العرض التجريبي للغة من اليمين إلى اليسار.
- ترجمة الوحدات