browser.i18n

বিবরণ

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

ম্যানিফেস্ট

কোনও এক্সটেনশনে /_locales ডিরেক্টরি থাকলে, ম্যানিফেস্টে অবশ্যই "default_locale" সংজ্ঞায়িত করতে হবে।

ধারণা ও ব্যবহার

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

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

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

একাধিক ভাষা ব্যবহার করা যায়

ধরা যাক, আপনার কাছে নিচের ছবিতে দেখানো ফাইল সহ একটি এক্সটেনশন আছে:

একটি manifest.json ফাইল এবং জাভাস্ক্রিপ্ট সহ একটি ফাইল। .json ফাইলে 'Hello World' আছে। জাভাস্ক্রিপ্ট ফাইলের টাইটেল = 'Hello World'।

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

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

manifest.json ফাইলে, 'Hello World' পরিবর্তন করে '__MSG_extName__' করা হয়েছে এবং নতুন default_locale' আইটেমের ভ্যালু হল 'en'। জাভাস্ক্রিপ্ট ফাইলে, 'Hello World' পরিবর্তন করে browser.i18n.getMessage('extName') করা হয়েছে। /_locales/en/messages.json নামের একটি নতুন ফাইল 'extName' নির্ধারণ করে।

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

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

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

    browser.i18n.getMessage("messagename")
    
  • getMessage()-এ প্রতিটি কলে, আপনি মেসেজে অন্তর্ভুক্ত করার জন্য সর্বাধিক ৯টি স্ট্রিং প্রদান করতে পারেন। আরও বিবরণের জন্য উদাহরণ: getMessage দেখুন।

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

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

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

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

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

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

আগে থেকে নির্দিষ্ট করা মেসেজ

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

এক্সটেনশন বা অ্যাপ লোকালাইজ করা হোক বা না হোক, CSS এবং জাভাস্ক্রিপ্ট ফাইলে বিশেষ মেসেজ @@extension_id ব্যবহার করা যেতে পারে। এই মেসেজ ম্যানিফেস্ট ফাইলে কাজ করে না।

নিম্নলিখিত সারণীতে প্রতিটি আগে থেকে নির্ধারিত মেসেজের বিবরণ দেওয়া হয়েছে।

মেসেজের নামবিবরণ
@@extension_idএক্সটেনশন বা অ্যাপ আইডি; এক্সটেনশনের মধ্যে রিসোর্সের জন্য URL তৈরি করতে আপনি এই স্ট্রিং ব্যবহার করতে পারেন। এমনকি লোকালাইজ করা হয়নি এমন এক্সটেনশনও এই মেসেজ ব্যবহার করতে পারে।
মনে রাখবেন: আপনি ম্যানিফেস্ট ফাইলে এই মেসেজ ব্যবহার করতে পারবেন না।
@@ui_localeবর্তমান লোকেল; লোকেল-নির্দিষ্ট URL তৈরি করতে আপনি এই স্ট্রিং ব্যবহার করতে পারেন।
@@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" হলে, এটি "ডানদিকে" হবে; অন্যথায়, এটি "বাঁদিকে" হবে।

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

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) সমর্থন করতে দেয়।

Chrome Web Store-এ কাজ করে এমন যেকোনও লোকেলের জন্য আপনি এক্সটেনশন লোকালাইজ করতে পারবেন। আপনার লোকেল এখানে তালিকাভুক্ত না থাকলে, সবচেয়ে কাছাকাছি বিকল্প বেছে নিন। যেমন, আপনার এক্সটেনশনের ডিফল্ট লোকেল "de_CH" হলে, Chrome ওয়েব স্টোরে "de" বেছে নিন।

লোকেল কোড ভাষা (অঞ্চল)
ar আরবি
am আমহারীক
bg বুলগেরিয়ান
bn বাংলা
ca কাতালান
cs চেক
da ড্যানিশ
de জার্মান
el গ্রিক
en ইংরেজি
en_AU ইংরাজী (অস্ট্রেলিয়া)
en_GB ইংরেজি (গ্রেট ব্রিটেন)
en_US ইংরেজি (মার্কিন যুক্তরাষ্ট্র)
es স্প্যানিশ
es_419 স্প্যানিশ (ল্যাটিন আমেরিকা ও ক্যারিবিয়ান)
et এস্তোনিয়ান
fa ফার্সি
fi ফিনিশ
fil ফিলিপিনো
fr ফরাসী
gu গুজরাতি
he হিব্রু
hi হিন্দি
hr ক্রোয়েশিয়ান
hu হাঙ্গেরিয়ান
id ইন্দোনেশিয়ান
it ইতালিয়ান
ja জাপানী
kn কন্নড়
ko কোরিয়ান
lt লিথুয়ানিয়ান
lv লাটভিয়ান
ml মালায়লাম
mr মারাঠি
ms মালয়
nl ডাচ
no নরওয়েজিয়ান
pl পোলিশ
pt_BR পর্তুগিজ (ব্রাজিল)
pt_PT পর্তুগিজ (পর্তুগাল)
ro রোমানিয়ান
ru রাশিয়ান
sk স্লোভাক
sl স্লোভেনিয়ান
sr সার্বিয়
sv সুইডিশ
sw সোয়াহিলি
ta তামিল
te তেলুগু
th থাই
tr তুর্কি
uk ইউক্রেনিয়ান
vi ভিয়েতনামিজ
zh_CN চৈনিক (চীন)
zh_TW চীনা (তাইওয়ান)

মেসেজ সার্চ করা

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

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

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

চারটি ফাইল: manifest.json এবং তিনটি messages.json ফাইল (es, en এবং en_GB-এর জন্য)। es এবং en ফাইলে 'extName' এবং 'colores' নামের মেসেজের এন্ট্রি দেখানো হয়; en_GB ফাইলে শুধু একটি এন্ট্রি ('colores'-এর জন্য) আছে।

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

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

Windows

আপনি লোকেল-নির্দিষ্ট শর্টকাট বা Google Chrome UI ব্যবহার করে লোকেল পরিবর্তন করতে পারবেন। আপনি এটি সেট-আপ করার পরে, শর্টকাট পদ্ধতিটি দ্রুত কাজ করে এবং আপনাকে একসাথে একাধিক ভাষা ব্যবহার করতে দেয়।

লোকেল-নির্দিষ্ট শর্টকাট ব্যবহার করুন

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

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

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

যেমন, স্প্যানিশ (es) ভাষায় Google Chrome চালু করার শর্টকাট তৈরি করতে, আপনি 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 ব্যবহার করুন

Windows-এর জন্য Google Chrome-এ UI ব্যবহার করে কীভাবে লোকেল পরিবর্তন করবেন তা এখানে দেওয়া হল:

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

Mac OS

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

  1. Apple মেনু থেকে, সিস্টেম প্রেফারেন্স বেছে নিন
  2. ব্যক্তিগত বিভাগের মধ্যে, আন্তর্জাতিক বিকল্প বেছে নিন
  3. আপনার ভাষা ও লোকেশন বেছে নিন
  4. Chrome রিস্টার্ট করুন

Linux

Linux-এ লোকেল পরিবর্তন করতে, প্রথমে Google Chrome বন্ধ করুন। তারপর, এক লাইনে LANGUAGE এনভায়রনমেন্ট ভেরিয়েবল সেট করে Google Chrome চালু করুন। যেমন:

LANGUAGE=es ./chrome

ChromeOS

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

  1. সিস্টেম ট্রে থেকে, সেটিংস বেছে নিন।
  2. ভাষা ও ইনপুট বিভাগে গিয়ে ভাষা ড্রপ-ডাউন বেছে নিন।
  3. আপনার ভাষা তালিকাভুক্ত না থাকলে, ভাষা যোগ করুন বিকল্পে ক্লিক করে সেটি যোগ করুন।
  4. যোগ করা হয়ে গেলে, আপনার ভাষার পাশে ৩-ডট আরও অ্যাকশন মেনু আইটেমে ক্লিক করুন এবং এই ভাষায় ChromeOS দেখুন বিকল্প বেছে নিন।
  5. ChromeOS রিস্টার্ট করতে, সেট করা ভাষার পাশে দেখানো রিস্টার্ট করুন বোতামে ক্লিক করুন।

উদাহরণ

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

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() কল করার বিষয়ে বিস্তারিত জানতে, API রেফারেন্স দেখুন।

getAcceptLanguages()

নিম্নলিখিত কোড ব্রাউজার থেকে গ্রহণ-ভাষা পায় এবং প্রতিটি গ্রহণ-ভাষাকে ',' দিয়ে আলাদা করে স্ট্রিং হিসেবে দেখায়।

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

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

detectLanguage()

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

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) কল করার ব্যাপারে আরও জানতে, API রেফারেন্স দেখুন।

ধরন

LanguageCode

Chrome 47+ Chrome 148 থেকে browser.*

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

ধরন

স্ট্রিং

পদ্ধতি

detectLanguage()

Chrome 47+ Chrome 148 থেকে browser.*
browser.i18n.detectLanguage(
  text: string,
)
: Promise<object>

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

প্যারামিটারগুলি

  • মেসেজ পাঠান

    স্ট্রিং

    ব্যবহারকারীর ইনপুট স্ট্রিং অনুবাদ করতে হবে।

রিটার্ন

  • Promise<object>

    Chrome 99+ Chrome 148 থেকে browser.*

getAcceptLanguages()

browser.i18n.getAcceptLanguages(): Promise<LanguageCode[]>

ব্রাউজারের অ্যাকসেপ্ট-ল্যাঙ্গুয়েজ পায়। এটি ব্রাউজারের ব্যবহার করা লোকেল থেকে আলাদা; লোকেল পেতে, i18n.getUILanguage ব্যবহার করুন।

রিটার্ন

  • <LanguageCode[]> প্রমিস করুন

    Chrome 99+ Chrome 148 থেকে browser.*

getMessage()

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

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

প্যারামিটারগুলি

  • messageName

    স্ট্রিং

    messages.json ফাইলে উল্লেখ করা মেসেজের নাম।

  • খেলোয়াড় পরিবর্তন

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

    মেসেজে প্রয়োজন হলে, সর্বাধিক ৯টি সাবস্টিটিউশন স্ট্রিং।

  • বিকল্প

    অবজেক্ট ঐচ্ছিক

    Chrome 79+ Chrome 148 থেকে browser.*
    • escapeLt

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

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

রিটার্ন

  • স্ট্রিং

    বর্তমান লোকেলের জন্য মেসেজ লোকালাইজ করা হয়েছে।

getUILanguage()

browser.i18n.getUILanguage(): string

ব্রাউজারের UI ভাষা পায়। এটি i18n.getAcceptLanguages-এর থেকে আলাদা যা ব্যবহারকারীর পছন্দের ভাষা ফিরিয়ে আনে।

রিটার্ন

  • স্ট্রিং

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