ম্যাপ লোকালাইজ করা

ডিফল্ট ভাষা সেটিংস ও ম্যাপের অঞ্চল কোড পরিবর্তন করে আপনার ম্যাপে ব্যবহৃত ভাষা ও অঞ্চল সেটিংস কাস্টমাইজ করতে পারবেন। এর ফলে নির্দিষ্ট দেশ বা অঞ্চলের উপর ভিত্তি করে ম্যাপের ব্যবহার প্রভাবিত হতে পারে।

Android-এর জন্য Maps 3D SDK-এর কভারেজ Maps কভারেজ টেবিল থেকে দেখুন।

ভাষার স্থানীয়করণ

ডিফল্ট হিসেবে, Maps 3D SDK for Android ম্যাপের কোন অনুবাদ দেখাতে হবে তা নির্ধারণ করতে ব্যবহারকারীর ডিভাইসে কনফিগার করা ভাষা সেটিংস ব্যবহার করে। তবে, আপনি এই ডিফল্ট অ্যাকশন ওভাররাইড করতে এবং ম্যাপ শুরু করার সময় একটি নির্দিষ্ট ভাষা সেট করতে পারেন, অথবা ম্যাপ শুরু হওয়ার পরে ডাইনামিকভাবে ভাষা এবং অঞ্চল আপডেট করতে পারেন।

ভাষা সেট করলে, UI কন্ট্রোল, টুলটিপ ও কপিরাইট সংক্রান্ত বিজ্ঞপ্তি কোন ভাষায় দেখানো হবে তা প্রভাবিত হয়। রানটাইম লোকেল আপডেট ম্যাপ ভিউতে দেখা যায়, তবে অন্য কোনও UI কন্ট্রোল, টুলটিপ বা এই ধরনের অন্যান্য এলিমেন্টে দেখা যায় না। এছাড়াও, এটি রাজনৈতিক ফিচার, বর্ণনাকারী এবং প্রাকৃতিক ফিচারের অনুবাদকে প্রভাবিত করে—যেমন, "Geneva" থেকে "Genève" বা "lake" থেকে "lac"—এবং ডান-থেকে-বাঁদিকে লেখা স্ক্রিপ্টের জন্য টেক্সট রেন্ডার করার দিক পরিবর্তন করে।

Android-এর জন্য Maps 3D SDK নিম্নলিখিত ক্রমে লোকালাইজেশন সংক্রান্ত পছন্দ খোঁজে। প্রথম ধাপে পছন্দ নির্দিষ্ট করা না থাকলে, এটি নির্দিষ্ট ক্রমে দেখা চালিয়ে যায়:

  1. রানটাইম আপডেট: ভাষা ও অঞ্চলের পছন্দ setLocale আপনার GoogleMap3D ইনস্ট্যান্সে LocaleOptions-এর মাধ্যমে পাস করা হয়েছে।
  2. ম্যাপ ইনিশিয়ালাইজ করা: ম্যাপ তৈরি করার সময় উল্লেখ করা ভাষা ও অঞ্চলের পছন্দ, Map3DView-এ আপনার লেআউট XML-এ অথবা map3d:language ও map3d:region অ্যাট্রিবিউট ব্যবহার করে অথবা প্রোগ্রাম্যাটিক উপায়ে Map3DInitConfig ব্যবহার করে।
  3. ডিভাইস সেটিংস: Android ডিভাইসে কনফিগার করা সিস্টেমের ডিফল্ট লোকেল।

নিচে দেওয়া উদাহরণে চিনা ভাষায় ("zh") ম্যাপ দেখানো হয়েছে এবং অঞ্চল হিসেবে চিন ("CN") সেট করা হয়েছে।

আপনি Map3DView-এ map3d:language এবং map3d:region অ্যাট্রিবিউট ব্যবহার করে আপনার লেআউট XML ফাইলে ভাষা এবং অঞ্চল কনফিগার করতে পারেন:

<com.google.android.gms.maps3d.Map3DView
    android:id="@+id/map3dView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    map3d:mapMode="hybrid"
    map3d:language="zh"
    map3d:region="CN" />

এছাড়াও, আপনি রানটাইমে ডায়নামিক পদ্ধতিতে ভাষা ও অঞ্চল আপডেট করতে পারেন। এর জন্য, একটি LocaleOptions ইনস্ট্যান্স তৈরি করুন, setLanguage ও setRegion-এর মাধ্যমে ভ্যালু সেট করুন এবং আপনার GoogleMap3D ইনস্ট্যান্সে setLocale পাস করুন:

val localeOptions = LocaleOptions().apply {
    language = "zh"
    region = "CN"
}
googleMap3D.setLocale(localeOptions)

অঞ্চল ভিত্তিক স্থানীয়করণ

map3d:region XML অ্যাট্রিবিউট ব্যবহার করে অঞ্চল সেট করা, region প্রপার্টি Map3DInitConfig-এ, অথবা setRegion LocaleOptions-এ বিভিন্ন ম্যাপ টাইল দেখাতে পারে অথবা অ্যাপ্লিকেশনকে আরও আঞ্চলিকভাবে উপযুক্ত ফলাফলের দিকে পক্ষপাতিত্ব করতে পারে। এছাড়াও, অঞ্চল ট্যাগ সেট করলে এটি নিশ্চিত করা যায় যে অ্যাপ্লিকেশনটি যে দেশ বা অঞ্চলে ডিস্ট্রিবিউট করা হয়েছে সেখানে সঠিক আঞ্চলিক লোকালাইজেশন প্রয়োগ করে অ্যাপ্লিকেশনটি স্থানীয় আইন মেনে চলে।