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

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

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

ভাষা লোকালাইজেশন

ডিফল্ট হিসেবে, iOS-এর জন্য Maps 3D SDK ব্যবহারকারীর ডিভাইসে (Locale.current) কনফিগার করা সিস্টেম লোকেল ব্যবহার করে ম্যাপের কোন অনুবাদটি দেখানো হবে তা নির্ধারণ করে। আপনি SwiftUI .environment(\.locale, ...) মডিফায়ার আপনার Map ভিউতে প্রয়োগ করে এই ডিফল্ট অ্যাকশন ওভাররাইড করতে পারেন, অথবা রানটাইমে বাউন্ড Locale স্টেট ভেরিয়েবল ডায়নামিকভাবে আপডেট করতে পারেন।

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

iOS-এর জন্য Maps 3D SDK নিম্নলিখিত ক্রমে লোকালাইজেশন সংক্রান্ত পছন্দ খোঁজে:

  1. SwiftUI এনভায়রনমেন্ট: Locale ভ্যালু .environment(\.locale, ...)-এ Map-এ পাস করা হয়েছে।
  2. ডিভাইস সেটিংস: iOS ডিভাইসে কনফিগার করা সিস্টেম ডিফল্ট লোকেল।

নিম্নলিখিত উদাহরণে Map চাইনিজ ("zh") ভাষায় দেখানো হয়েছে এবং অঞ্চল হিসেবে চীন ("CN") সেট করা হয়েছে:

import GoogleMaps3D
import SwiftUI

struct ContentView: View {
  var body: some View {
    Map(mode: .hybrid)
      .environment(\.locale, Locale(identifier: "zh-CN"))
  }
}

এছাড়াও, আপনি রানটাইমে ডাইনামিকভাবে ভাষা ও অঞ্চল আপডেট করতে পারবেন। এর জন্য এনভায়রনমেন্ট লোকেলকে @State প্রপার্টির সাথে বাইন্ড করতে হবে:

import GoogleMaps3D
import SwiftUI

struct LocalizationExampleView: View {
  @State private var mapLocale: Locale = .current

  var body: some View {
    VStack {
      Map(mode: .hybrid)
        .environment(\.locale, mapLocale)

      HStack {
        Button("Français") {
          mapLocale = Locale(identifier: "fr-FR")
        }
        Button("日本語") {
          mapLocale = Locale(identifier: "ja-JP")
        }
        Button("中文") {
          mapLocale = Locale(identifier: "zh-CN")
        }
      }
    }
  }
}

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

Locale-এ অঞ্চল সেট করা হলে তা .environment(\.locale, ...)-এ পাস করা হয় Map-এ, এটি বিভিন্ন ম্যাপ টাইল দেখাতে পারে বা অঞ্চল অনুযায়ী উপযুক্ত ফলাফল দেখানোর জন্য অ্যাপকে প্রভাবিত করতে পারে। এছাড়াও, অঞ্চল সেট করলে, আপনার অ্যাপ যে দেশ বা অঞ্চলে ডিস্ট্রিবিউট করা হয়েছে সেখানে আঞ্চলিক লোকালাইজেশন প্রয়োগ করা হয়েছে কিনা তা নিশ্চিত করতে সাহায্য করে।

নির্দিষ্ট অঞ্চল কোড (যেমন, "JP") সেট করার সময় ব্যবহারকারীর ডিভাইসের ভাষা বজায় রাখতে, Locale.Components ব্যবহার করে Locale তৈরি করুন:

var components = Locale.Components(locale: Locale.current)
components.region = Locale.Region("JP")
let regionBiasedLocale = Locale(components: components)