অনুবাদ

Blockly-এর ডিফল্ট বার্তাগুলি (যেমন প্রসঙ্গ মেনুতে লেখা) বিভিন্ন ভাষায় অনুবাদ করা হয়েছে। en লোকেল ডিফল্টরূপে লোড করা হয়, তবে অন্যান্য উপলব্ধ লোকেলগুলিও অন্তর্ভুক্ত করা যেতে পারে।

npm দিয়ে লোকেল কনফিগার করা হচ্ছে

যখন আপনি import * as Blockly from 'blockly'; আপনি ডিফল্ট মডিউল পাবেন: ব্লকলি কোর, ব্লকলি বিল্ট-ইন ব্লক, জাভাস্ক্রিপ্ট জেনারেটর এবং ইংরেজি ল্যাং ফাইল।

অন্যান্য লোকেল ব্যবহার করতে, আপনি আপনার আমদানিগুলি আরও সাবধানে সংজ্ঞায়িত করতে চাইবেন:

ব্লকলি ডিফল্ট মডিউল আমদানি করুন

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

ব্লকলি ভাষা আমদানি করুন

উদাহরণস্বরূপ, ফরাসি বার্তা সেট আমদানি করতে:

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

সমর্থিত ব্লকলি লোকেলের সম্পূর্ণ তালিকার জন্য, দেখুন: https://github.com/google/blockly/tree/master/msg/js

লোকেল কনফিগার করুন

পছন্দসই বার্তা সেট আমদানি করার পরে, আপনি ব্লকলিতে লোকেল সেট করতে চাইবেন। এই ফাংশনটি বর্তমানে শুধুমাত্র Blockly এর npm রিলিজে অন্তর্ভুক্ত করা হয়েছে।

Blockly.setLocale(Fr);

ওয়ার্কস্পেস লোড হওয়ার আগে এটি কল করা প্রয়োজন।

npm ছাড়া লোকেল কনফিগার করা হচ্ছে

Blockly msg ডিরেক্টরি থেকে উপযুক্ত স্ক্রিপ্ট src অন্তর্ভুক্ত করুন, এবং অনুবাদগুলি স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত হবে।

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

কাস্টম অনুবাদ

ব্লকলি এর সমস্ত ডিফল্ট স্ট্রিংগুলির জন্য অনুবাদ অন্তর্ভুক্ত করে, তবে আপনার যদি পাঠ্য সহ কাস্টম ব্লক থাকে, আপনি সেই স্ট্রিংগুলির জন্য আপনার নিজস্ব অনুবাদ অন্তর্ভুক্ত করতে চাইতে পারেন। উদাহরণস্বরূপ, 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'] ব্যবহার করুন যাতে আপনার কনফিগার করা লোকেলের জন্য স্ট্রিং থাকা উচিত।