بومی‌سازی نقشه

می‌توانید تنظیمات زبان و منطقه مورداستفاده در نقشه‌تان را با تغییر دادن محیط محلی در Map سفارشی‌سازی کنید. این کار می‌تواند برچسب‌ها و رفتار نقشه را براساس زبان و کشور یا قلمرو مشخص‌شده تحت‌تأثیر قرار دهد.

پوشش کیت توسعه نرم‌افزار ۳ بعدی نقشه برای iOS را در جدول پوشش Maps ببینید.

بومی‌سازی زبان

به‌طور پیش‌فرض، «کیت توسعه نرم‌افزار ۳ بعدی نقشه برای iOS» از زبان سیستم پیکربندی‌شده در دستگاه کاربر (Locale.current) برای تعیین اینکه کدام ترجمه نقشه نمایش داده شود استفاده می‌کند. می‌توانید این رفتار پیش‌فرض را با اعمال اصلاح‌کننده SwiftUI .environment(\.locale, ...) به نمای Map لغو کنید، یا متغیر حالت Locale محدودشده را به‌طور پویا در زمان اجرا به‌روز کنید.

تنظیم زبان بر ترجمه ویژگی‌های سیاسی، توصیف‌کننده‌ها، و ویژگی‌های طبیعی تأثیر می‌گذارد (مثلاً «Geneva» به «Genève» یا «lake» به «lac» تغییر می‌کند) و جهت نمایش نوشتار را برای خط‌های راست‌به‌چپ تغییر می‌دهد.

کیت توسعه نرم‌افزار ۳ بعدی نقشه برای iOS تنظیمات برگزیده بومی‌سازی را به‌ترتیب زیر جستجو می‌کند:

  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)