chrome.i18n

রিফ্রেশ তারিখ: ২০২৬-০৯-২৫ রোবটস: নোইনডেক্স

বর্ণনা

আপনার সম্পূর্ণ অ্যাপ বা এক্সটেনশন জুড়ে আন্তর্জাতিকীকরণ বাস্তবায়ন করতে chrome.i18n পরিকাঠামো ব্যবহার করুন।

আপনাকে এর সমস্ত ব্যবহারকারী-দৃশ্যমান স্ট্রিং messages.json নামের একটি ফাইলে রাখতে হবে। প্রতিবার একটি নতুন লোকেল যোগ করার সময়, আপনাকে _locales/_localeCode_ নামের একটি ডিরেক্টরির অধীনে একটি messages ফাইল যোগ করতে হবে, যেখানে localeCode হলো একটি কোড, যেমন ইংরেজির জন্য en ।

এখানে একটি আন্তর্জাতিকীকৃত এক্সটেনশনের ফাইল কাঠামো দেওয়া হলো যা ইংরেজি ( en ), স্প্যানিশ ( es ) এবং কোরিয়ান ( ko ) ভাষা সমর্থন করে:

এক্সটেনশন ডিরেক্টরিতে রয়েছে: manifest.json, *.html, *.js, _locales ডিরেক্টরি। _locales ডিরেক্টরির ভেতরে রয়েছে: en, es, এবং ko ডিরেক্টরি, যার প্রতিটিতে একটি messages.json ফাইল আছে।

একাধিক ভাষা সমর্থন করার উপায়

ধরুন আপনার কাছে এমন একটি এক্সটেনশন আছে যেখানে নিম্নলিখিত চিত্রে দেখানো ফাইলগুলো রয়েছে:

A manifest.json file and a file with JavaScript. The .json file has

এই এক্সটেনশনটিকে আন্তর্জাতিকীকরণ করতে, আপনাকে ব্যবহারকারীর কাছে দৃশ্যমান প্রতিটি স্ট্রিং-এর নাম দিয়ে সেটিকে একটি 'messages' ফাইলে রাখতে হবে। এক্সটেনশনটির ম্যানিফেস্ট, CSS ফাইল এবং জাভাস্ক্রিপ্ট কোড প্রতিটি স্ট্রিং-এর নাম ব্যবহার করে সেটির স্থানীয় সংস্করণ সংগ্রহ করে।

আন্তর্জাতিকীকরণের পর এক্সটেনশনটি দেখতে এইরকম হয় (লক্ষ্য করুন যে এতে এখনও শুধুমাত্র ইংরেজি স্ট্রিং রয়েছে):

manifest.json ফাইলে,

আন্তর্জাতিকীকরণ সম্পর্কে কিছু নোট:

  • আপনি যেকোনো সমর্থিত লোকেল ব্যবহার করতে পারেন। যদি আপনি কোনো অসমর্থিত লোকেল ব্যবহার করেন, গুগল ক্রোম তা উপেক্ষা করে।
  • manifest.json এবং CSS ফাইলগুলিতে, messagename নামের একটি স্ট্রিংকে এইভাবে উল্লেখ করুন:

    __MSG_messagename__
    
  • আপনার এক্সটেনশন বা অ্যাপের জাভাস্ক্রিপ্ট কোডে, messagename নামের একটি স্ট্রিংকে এইভাবে উল্লেখ করুন:

    chrome.i18n.getMessage("messagename")
    
  • getMessage() এর প্রতিটি কলে, আপনি মেসেজে অন্তর্ভুক্ত করার জন্য সর্বোচ্চ ৯টি স্ট্রিং সরবরাহ করতে পারেন। বিস্তারিত জানতে Examples: getMessage দেখুন।

  • @@bidi_dir এবং @@ui_locale এর মতো কিছু বার্তা আন্তর্জাতিকীকরণ সিস্টেম দ্বারা সরবরাহ করা হয়। পূর্বনির্ধারিত বার্তার নামগুলির সম্পূর্ণ তালিকার জন্য পূর্বনির্ধারিত বার্তা বিভাগটি দেখুন।

  • messages.json ফাইলে, ব্যবহারকারীর কাছে দৃশ্যমান প্রতিটি স্ট্রিং-এর একটি নাম, একটি "message" আইটেম এবং একটি ঐচ্ছিক "description" আইটেম থাকে। নামটি হলো "extName" বা "search_string"-এর মতো একটি কী (key), যা স্ট্রিংটিকে শনাক্ত করে। "message" এই লোকেলে স্ট্রিংটির মান নির্দিষ্ট করে। ঐচ্ছিক "description" অনুবাদকদের সাহায্য করে, যারা হয়তো আপনার এক্সটেনশনে স্ট্রিংটি কীভাবে ব্যবহৃত হয়েছে তা দেখতে পান না। উদাহরণস্বরূপ:

    {
      "search_string": {
        "message": "hello%20world",
        "description": "The string we search for. Put %20 between words that go together."
      },
      ...
    }
    

    আরও তথ্যের জন্য, ফরম্যাট: লোকেল-নির্দিষ্ট বার্তা দেখুন।

কোনো এক্সটেনশন বা অ্যাপ একবার আন্তর্জাতিকীকরণ করা হয়ে গেলে, সেটির অনুবাদ করা সহজ। আপনি messages.json ফাইলটি কপি করে, অনুবাদ করে, এবং কপিটি _locales অধীনে একটি নতুন ডিরেক্টরিতে রাখবেন। উদাহরণস্বরূপ, স্প্যানিশ সমর্থন করার জন্য, messages.json এর একটি অনূদিত কপি _locales/es এর অধীনে রাখুন। নিচের চিত্রে নতুন স্প্যানিশ অনুবাদসহ পূর্ববর্তী এক্সটেনশনটি দেখানো হয়েছে।

এটি দেখতে আগের চিত্রটির মতোই, তবে এখানে _locales/es/messages.json নামে একটি নতুন ফাইল রয়েছে, যেটিতে বার্তাগুলোর স্প্যানিশ অনুবাদ আছে।

পূর্বনির্ধারিত বার্তা

আন্তর্জাতিকীকরণ সিস্টেমটি আপনাকে স্থানীয়করণে সাহায্য করার জন্য কয়েকটি পূর্বনির্ধারিত বার্তা প্রদান করে। এর মধ্যে রয়েছে @@ui_locale , যার মাধ্যমে আপনি বর্তমান UI লোকেল শনাক্ত করতে পারেন, এবং কয়েকটি @@bidi_... বার্তা যা আপনাকে টেক্সটের দিক শনাক্ত করতে দেয়। এই শেষের বার্তাগুলোর নাম গ্যাজেটের BIDI (দ্বি-মুখী) API-এর কনস্ট্যান্টগুলোর নামের অনুরূপ।

এক্সটেনশন বা অ্যাপটি স্থানীয়করণ করা হোক বা না হোক, CSS এবং JavaScript ফাইলগুলিতে @@extension_id বিশেষ বার্তাটি ব্যবহার করা যেতে পারে। এই বার্তাটি ম্যানিফেস্ট ফাইলে কাজ করে না।

নিম্নলিখিত সারণিতে প্রতিটি পূর্বনির্ধারিত বার্তার বর্ণনা দেওয়া হয়েছে।

বার্তার নাম বর্ণনা
@@extension_id এক্সটেনশন বা অ্যাপ আইডি; এক্সটেনশনের ভেতরের রিসোর্সগুলোর জন্য ইউআরএল তৈরি করতে আপনি এই স্ট্রিংটি ব্যবহার করতে পারেন। এমনকি অস্থানীয়কৃত এক্সটেনশনগুলোও এই বার্তাটি ব্যবহার করতে পারে।
দ্রষ্টব্য: আপনি এই বার্তাটি কোনো ম্যানিফেস্ট ফাইলে ব্যবহার করতে পারবেন না।
@@ui_locale বর্তমান লোকেল; আপনি লোকেল-নির্দিষ্ট ইউআরএল তৈরি করতে এই স্ট্রিংটি ব্যবহার করতে পারেন।
@@bidi_dir বর্তমান লোকেল অনুযায়ী লেখার দিক, যা ইংরেজির মতো বাম থেকে ডানে লেখা ভাষার জন্য 'ltr' অথবা জাপানির মতো ডান থেকে বামে লেখা ভাষার জন্য 'rtl' হয়ে থাকে।
@@bidi_reversed_dir যদি @@bidi_dir "ltr" হয়, তাহলে এটি "rtl" হবে; অন্যথায়, এটি "ltr" হবে।
@@bidi_start_edge যদি @@bidi_dir "ltr" হয়, তাহলে এটি "left" (বাম); অন্যথায়, এটি "right" (ডান)।
@@bidi_end_edge যদি @@bidi_dir "ltr" হয়, তাহলে এটি "ডান"; অন্যথায়, এটি "বাম"।

CSS ফাইলে @@extension_id ব্যবহার করে URL তৈরি করার একটি উদাহরণ নিচে দেওয়া হলো:

body {
  background-image:url('chrome-extension://__MSG_@@extension_id__/background.png');
}

যদি এক্সটেনশন আইডি abcdefghijklmnopqrstuvwxyzabcdef হয়, তাহলে পূর্ববর্তী কোড স্নিপেটের বোল্ড লাইনটি হবে:

  background-image:url('chrome-extension://abcdefghijklmnopqrstuvwxyzabcdef/background.png');

একটি CSS ফাইলে @@bidi_* মেসেজ ব্যবহারের একটি উদাহরণ নিচে দেওয়া হলো:

body {
  direction: __MSG_@@bidi_dir__;
}

div#header {
  margin-bottom: 1.05em;
  overflow: hidden;
  padding-bottom: 1.5em;
  padding-__MSG_@@bidi_start_edge__: 0;
  padding-__MSG_@@bidi_end_edge__: 1.5em;
  position: relative;
}

ইংরেজির মতো বাম থেকে ডানে লেখা ভাষাগুলোর ক্ষেত্রে, গাঢ় রেখাগুলো হয়ে যায়:

  dir: ltr;
  padding-left: 0;
  padding-right: 1.5em;

স্থানীয়

আপনি অনেকগুলো লোকেল থেকে বেছে নিতে পারেন, যার মধ্যে কিছু (যেমন en ) একটিমাত্র অনুবাদকে কোনো ভাষার একাধিক রূপ (যেমন en_GB এবং en_US ) সমর্থন করার সুযোগ দেয়।

সমর্থিত স্থান

আপনি ক্রোম ওয়েব স্টোর দ্বারা সমর্থিত যেকোনো লোকেল ব্যবহার করতে পারেন।

বার্তা অনুসন্ধান করা হচ্ছে

আপনাকে প্রতিটি সমর্থিত লোকেলের জন্য প্রতিটি স্ট্রিং সংজ্ঞায়িত করতে হবে না। যতক্ষণ পর্যন্ত ডিফল্ট লোকেলের messages.json ফাইলে প্রতিটি স্ট্রিং-এর জন্য একটি মান থাকবে, অনুবাদটি যতই অসম্পূর্ণ হোক না কেন, আপনার এক্সটেনশন বা অ্যাপটি চলবে। এক্সটেনশন সিস্টেমটি যেভাবে একটি বার্তা অনুসন্ধান করে তা নিচে দেওয়া হলো:

  1. ব্যবহারকারীর পছন্দের লোকেল খুঁজে বের করার জন্য মেসেজেস ফাইলটিতে (যদি থাকে) অনুসন্ধান করুন। উদাহরণস্বরূপ, যখন গুগল ক্রোমের লোকেল ব্রিটিশ ইংলিশ ( en_GB ) সেট করা থাকে, তখন সিস্টেমটি প্রথমে _locales/en_GB/messages.json ফাইলে মেসেজটি খোঁজে। যদি ফাইলটি বিদ্যমান থাকে এবং মেসেজটি সেখানে থাকে, তবে সিস্টেমটি আর অনুসন্ধান করে না।
  2. যদি ব্যবহারকারীর পছন্দের লোকেলে কোনো অঞ্চল থাকে (অর্থাৎ, লোকেলটিতে একটি আন্ডারস্কোর: _ থাকে), তাহলে সেই অঞ্চলটি ছাড়া লোকেলটিতে অনুসন্ধান করুন। উদাহরণস্বরূপ, যদি en_GB messages ফাইলটি না থাকে বা তাতে বার্তাটি না থাকে, তাহলে সিস্টেমটি en messages ফাইলে অনুসন্ধান করে। যদি সেই ফাইলটি থাকে এবং বার্তাটিও সেখানে পাওয়া যায়, তাহলে সিস্টেমটি আর অনুসন্ধান করে না।
  3. ডিফল্ট লোকেল খুঁজে পেতে মেসেজেস ফাইলটি অনুসন্ধান করুন। উদাহরণস্বরূপ, যদি এক্সটেনশনটির 'default_locale' 'es'-এ সেট করা থাকে, এবং _locales/en_GB/messages.json বা _locales/en/messages.json কোনোটিতেই মেসেজটি না থাকে, তাহলে এক্সটেনশনটি _locales/es/messages.json থেকে মেসেজটি ব্যবহার করে।

নিচের চিত্রে, 'colores' নামের বার্তাটি এক্সটেনশনটির সমর্থিত তিনটি লোকেল-এর সবকটিতেই রয়েছে, কিন্তু 'extName' শুধুমাত্র দুটি লোকেল-এ রয়েছে। যেখানেই মার্কিন ইংরেজিতে গুগল ক্রোম ব্যবহারকারী 'Colors' লেবেলটি দেখেন, সেখানেই ব্রিটিশ ইংরেজিতে ব্যবহারকারী 'Colours' লেখাটি দেখেন। মার্কিন এবং ব্রিটিশ উভয় ইংরেজি ব্যবহারকারীই 'Hello World' এক্সটেনশন নামটি দেখতে পান। যেহেতু ডিফল্ট ভাষা স্প্যানিশ, তাই ইংরেজি ছাড়া অন্য যেকোনো ভাষায় গুগল ক্রোম ব্যবহারকারীরা 'Colores' লেবেল এবং 'Hola mundo' এক্সটেনশন নামটি দেখতে পান।

চারটি ফাইল: manifest.json এবং তিনটি messages.json ফাইল (es, en, এবং en_GB-এর জন্য)। es এবং en ফাইলগুলিতে নির্দিষ্ট নামের মেসেজগুলির এন্ট্রি দেখানো হয়।

আপনার ব্রাউজারের লোকেল কীভাবে সেট করবেন

অনুবাদ পরীক্ষা করার জন্য, আপনি আপনার ব্রাউজারের লোকেল সেট করতে পারেন। এই বিভাগে Windows , Mac OS X , Linux , এবং ChromeOS- এ কীভাবে লোকেল সেট করতে হয় তা বলা হয়েছে।

উইন্ডোজ

আপনি একটি লোকেল-নির্দিষ্ট শর্টকাট অথবা গুগল ক্রোম ইউআই ব্যবহার করে লোকেল পরিবর্তন করতে পারেন। একবার সেট আপ করে নিলে শর্টকাট পদ্ধতিটি দ্রুততর এবং এটি আপনাকে একই সাথে একাধিক ভাষা ব্যবহার করার সুযোগ দেয়।

একটি স্থান-নির্দিষ্ট শর্টকাট ব্যবহার করে

একটি নির্দিষ্ট লোকেল সহ গুগল ক্রোম চালু করার জন্য একটি শর্টকাট তৈরি ও ব্যবহার করতে:

  1. আপনার ডেস্কটপে আগে থেকেই থাকা গুগল ক্রোম শর্টকাটটির একটি অনুলিপি তৈরি করুন।
  2. নতুন লোকেলের সাথে মিলিয়ে নতুন শর্টকাটটির নাম পরিবর্তন করুন।
  3. শর্টকাটটির প্রোপার্টি পরিবর্তন করুন যাতে টার্গেট ফিল্ডে --lang এবং --user-data-dir ফ্ল্যাগগুলো নির্দিষ্ট করা থাকে। টার্গেটটি দেখতে অনেকটা এইরকম হবে:

    path_to_chrome.exe --lang=locale --user-data-dir=c:\locale_profile_dir
    
  4. শর্টকাটটিতে ডাবল-ক্লিক করে গুগল ক্রোম চালু করুন।

উদাহরণস্বরূপ, স্প্যানিশ ( es ) ভাষায় গুগল ক্রোম চালু করার জন্য একটি শর্টকাট তৈরি করতে, আপনি chrome-es নামের একটি শর্টকাট তৈরি করতে পারেন যার টার্গেটটি হবে নিম্নরূপ:

path_to_chrome.exe --lang=es --user-data-dir=c:\chrome-profile-es

আপনি আপনার পছন্দমতো যত খুশি শর্টকাট তৈরি করতে পারেন, যা একাধিক ভাষায় পরীক্ষা করা সহজ করে তোলে। উদাহরণস্বরূপ:

path_to_chrome.exe --lang=en --user-data-dir=c:\chrome-profile-en
path_to_chrome.exe --lang=en_GB --user-data-dir=c:\chrome-profile-en_GB
path_to_chrome.exe --lang=ko --user-data-dir=c:\chrome-profile-ko
UI ব্যবহার করে

উইন্ডোজের জন্য গুগল ক্রোমের UI ব্যবহার করে লোকেল পরিবর্তন করার পদ্ধতি নিচে দেওয়া হলো:

  1. অ্যাপ আইকন > বিকল্প
  2. আন্ডার দ্য হুড ট্যাবটি বেছে নিন
  3. ওয়েব কন্টেন্ট পর্যন্ত নিচে স্ক্রোল করুন
  4. ফন্ট এবং ভাষার সেটিংস পরিবর্তন করতে ক্লিক করুন
  5. ভাষা ট্যাবটি বেছে নিন
  6. গুগল ক্রোমের ভাষা সেট করতে ড্রপ ডাউন ব্যবহার করুন।
  7. ক্রোম পুনরায় চালু করুন

ম্যাক ওএস এক্স

Mac-এ লোকেল পরিবর্তন করতে, সিস্টেম প্রেফারেন্সেস ব্যবহার করতে হয়।

  1. Apple মেনু থেকে, System Preferences নির্বাচন করুন
  2. ব্যক্তিগত বিভাগের অধীনে, আন্তর্জাতিক নির্বাচন করুন।
  3. আপনার ভাষা এবং অবস্থান নির্বাচন করুন
  4. ক্রোম পুনরায় চালু করুন

লিনাক্স

লিনাক্সে লোকেল পরিবর্তন করতে, প্রথমে গুগল ক্রোম বন্ধ করুন। তারপর, এক লাইনে LANGUAGE এনভায়রনমেন্ট ভেরিয়েবলটি সেট করুন এবং গুগল ক্রোম চালু করুন। উদাহরণস্বরূপ:

LANGUAGE=es ./chrome

ক্রোমওএস

ChromeOS-এ লোকেল পরিবর্তন করতে:

  1. সিস্টেম ট্রে থেকে সেটিংস নির্বাচন করুন।
  2. ভাষা ও ইনপুট বিভাগের অধীনে, ভাষা ড্রপডাউনটি নির্বাচন করুন।
  3. আপনার ভাষাটি তালিকায় না থাকলে, 'ভাষা যোগ করুন'-এ ক্লিক করে সেটি যোগ করুন।
  4. একবার যোগ করা হয়ে গেলে, আপনার ভাষার পাশে থাকা ৩-ডট ‘More actions’ মেনু আইটেমটিতে ক্লিক করুন এবং ‘Display ChromeOS in this language’ বিকল্পটি বেছে নিন।
  5. ChromeOS রিস্টার্ট করতে, সেট করা ভাষার পাশে প্রদর্শিত রিস্টার্ট বোতামটিতে ক্লিক করুন।

উদাহরণ

আপনি examples/api/i18n ডিরেক্টরিতে আন্তর্জাতিকীকরণের সহজ উদাহরণ খুঁজে পাবেন। একটি সম্পূর্ণ উদাহরণের জন্য, examples/extensions/news দেখুন। অন্যান্য উদাহরণের জন্য এবং সোর্স কোড দেখার সাহায্যের জন্য, Samples দেখুন।

উদাহরণ: getMessage

নিম্নলিখিত কোডটি ব্রাউজার থেকে একটি স্থানীয় ভাষার বার্তা গ্রহণ করে এবং সেটিকে একটি স্ট্রিং হিসাবে প্রদর্শন করে। এটি বার্তার মধ্যে থাকা দুটি প্লেসহোল্ডারকে 'string1' এবং 'string2' স্ট্রিং দুটি দিয়ে প্রতিস্থাপন করে।

function getMessage() {
  var message = chrome.i18n.getMessage("click_here", ["string1", "string2"]);
  document.getElementById("languageSpan").innerHTML = message;
}

এইভাবে আপনি একটি একক স্ট্রিং সরবরাহ ও ব্যবহার করবেন:

  // In JavaScript code
  status.innerText = chrome.i18n.getMessage("error", errorDetails);
"error": {
  "message": "Error: $details$",
  "description": "Generic error template. Expects error parameter to be passed in.",
  "placeholders": {
    "details": {
      "content": "$1",
      "example": "Failed to fetch RSS feed."
    }
  }
}

প্লেসহোল্ডার সম্পর্কে আরও তথ্যের জন্য, লোকেল-নির্দিষ্ট বার্তা পৃষ্ঠাটি দেখুন। getMessage() কল করার বিশদ বিবরণের জন্য, এপিআই রেফারেন্স দেখুন।

উদাহরণ: getAcceptLanguages

নিম্নলিখিত কোডটি ব্রাউজার থেকে গৃহীত ভাষাগুলো (accept-languages) সংগ্রহ করে এবং প্রতিটি গৃহীত ভাষাকে কমা (,) দিয়ে আলাদা করে একটি স্ট্রিং হিসেবে প্রদর্শন করে।

function getAcceptLanguages() {
  chrome.i18n.getAcceptLanguages(function(languageList) {
    var languages = languageList.join(",");
    document.getElementById("languageSpan").innerHTML = languages;
  })
}

getAcceptLanguages() কল করার বিস্তারিত তথ্যের জন্য, এপিআই রেফারেন্স দেখুন।

উদাহরণ: ভাষা সনাক্ত করুন

নিম্নলিখিত কোডটি প্রদত্ত স্ট্রিং থেকে সর্বোচ্চ ৩টি ভাষা শনাক্ত করে এবং ফলাফলগুলো নতুন লাইন দ্বারা পৃথক করা স্ট্রিং হিসেবে প্রদর্শন করে।

function detectLanguage(inputText) {
  chrome.i18n.detectLanguage(inputText, function(result) {
    var outputLang = "Detected Language: ";
    var outputPercent = "Language Percentage: ";
    for(i = 0; i < result.languages.length; i++) {
      outputLang += result.languages[i].language + " ";
      outputPercent +=result.languages[i].percentage + " ";
    }
    document.getElementById("languageSpan").innerHTML = outputLang + "\n" + outputPercent + "\nReliable: " + result.isReliable;
  });
}

detectLanguage(inputText) কল করার বিষয়ে আরও বিস্তারিত জানতে এপিআই রেফারেন্স দেখুন।

প্রকারভেদ

LanguageCode

ক্রোম ৪৭+

একটি ISO ভাষা কোড, যেমন en বা fr । এই পদ্ধতি দ্বারা সমর্থিত ভাষাগুলির সম্পূর্ণ তালিকার জন্য, kLanguageInfoTable দেখুন। একটি অজানা ভাষার ক্ষেত্রে, und ফেরত দেওয়া হবে, যার অর্থ হলো পাঠ্যটির [শতাংশ] CLD-এর কাছে অজানা।

প্রকার

স্ট্রিং

পদ্ধতি

detectLanguage()

প্রমিস ক্রোম ৪৭+
chrome.i18n.detectLanguage(
  text: string,
  callback?: function,
)
: Promise<object>

CLD ব্যবহার করে প্রদত্ত টেক্সটের ভাষা শনাক্ত করে।

প্যারামিটার

  • পাঠ্য

    স্ট্রিং

    ব্যবহারকারীর দেওয়া অনুবাদযোগ্য স্ট্রিং।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: object) => void

    • ফলাফল

      বস্তু

      LanguageDetectionResult অবজেক্ট, যা শনাক্তকৃত ভাষার নির্ভরযোগ্যতা এবং DetectedLanguage-এর অ্যারে ধারণ করে।

      • নির্ভরযোগ্য

        বুলিয়ান

        CLD ভাষার নির্ভরযোগ্যতা শনাক্ত করেছে

      • ভাষা

        বস্তু[]

        শনাক্তকৃত ভাষার অ্যারে

        • ভাষা

          স্ট্রিং

        • শতাংশ

          সংখ্যা

          শনাক্তকৃত ভাষার শতাংশ

ফেরত

  • প্রতিশ্রুতি<object>

    ক্রোম ৯৯+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

getAcceptLanguages()

প্রতিশ্রুতি
chrome.i18n.getAcceptLanguages(
  callback?: function,
)
: Promise<LanguageCode[]>

ব্রাউজারের গৃহীত ভাষাগুলো পাওয়া যায়। এটি ব্রাউজারের ব্যবহৃত লোকেল থেকে ভিন্ন; লোকেল পেতে i18n.getUILanguage ব্যবহার করুন।

প্যারামিটার

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (languages: string[]) => void

    • ভাষা

      স্ট্রিং[]

      ভাষা কোডের অ্যারে

ফেরত

  • প্রতিশ্রুতি< ভাষা কোড []>

    ক্রোম ৯৯+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

getMessage()

chrome.i18n.getMessage(
  messageName: string,
  substitutions?: any,
  options?: object,
)
: string

নির্দিষ্ট বার্তার জন্য স্থানীয় ভাষার স্ট্রিংটি নিয়ে আসে। যদি বার্তাটি অনুপস্থিত থাকে, তবে এই মেথডটি একটি খালি স্ট্রিং ('') রিটার্ন করে। যদি getMessage() কলের ফরম্যাট ভুল হয় — উদাহরণস্বরূপ, messageName একটি স্ট্রিং না হলে অথবা substitutions অ্যারেতে ৯টির বেশি উপাদান থাকলে — এই মেথডটি undefined রিটার্ন করে।

প্যারামিটার

  • বার্তার নাম

    স্ট্রিং

    messages.json ফাইলে নির্দিষ্ট করা বার্তার নাম।

  • প্রতিস্থাপন

    যেকোনো ঐচ্ছিক

    বার্তার প্রয়োজনে সর্বোচ্চ ৯টি প্রতিস্থাপন স্ট্রিং ব্যবহার করা যাবে।

  • বিকল্পগুলি

    বস্তু ঐচ্ছিক

    ক্রোম ৭৯+
    • পলায়নকারী লেফটেন্যান্ট

      বুলিয়ান ঐচ্ছিক

      অনুবাদে < চিহ্নকে &lt; -এ এস্কেপ করুন। এটি শুধুমাত্র মূল বার্তার ক্ষেত্রে প্রযোজ্য, প্লেসহোল্ডারগুলোর ক্ষেত্রে নয়। অনুবাদটি যদি HTML প্রেক্ষাপটে ব্যবহৃত হয়, তবে ডেভেলপাররা এটি ব্যবহার করতে চাইতে পারেন। ক্লোজার কম্পাইলারের সাথে ব্যবহৃত ক্লোজার টেমপ্লেটগুলো এটি স্বয়ংক্রিয়ভাবে তৈরি করে।

ফেরত

  • স্ট্রিং

    বার্তাটি বর্তমান অঞ্চলের জন্য স্থানীয়করণ করা হয়েছে।

getUILanguage()

chrome.i18n.getUILanguage(): string

ব্রাউজারের UI ভাষাটি পাওয়া যায়। এটি i18n.getAcceptLanguages ​​থেকে ভিন্ন, যা ব্যবহারকারীর পছন্দের ভাষাগুলো ফেরত দেয়।

ফেরত

  • স্ট্রিং

    ব্রাউজারের UI ভাষার কোড, যেমন en-US বা fr-FR।