Anda dapat menyesuaikan setelan bahasa dan wilayah yang digunakan di peta dengan mengubah
lingkungan lokalitas di
Map, yang
dapat memengaruhi label dan perilaku peta berdasarkan bahasa
dan negara atau wilayah yang ditentukan.
Lihat cakupan Maps 3D SDK for iOS di tabel cakupan Maps.
Pelokalan bahasa
Secara default, Maps 3D SDK for iOS menggunakan lokalitas sistem yang dikonfigurasi di
perangkat pengguna (Locale.current) untuk menentukan terjemahan peta yang akan
ditampilkan. Anda dapat mengganti perilaku default ini dengan menerapkan pengubah .environment(\.locale, ...) SwiftUI ke tampilan Map, atau memperbarui variabel status Locale terikat secara dinamis saat runtime.
Menyetel bahasa akan memengaruhi terjemahan fitur politik, deskriptor, dan fitur alami—seperti mengubah "Geneva" menjadi "Genève" atau "lake" menjadi "lac"—dan mengubah arah teks yang dirender untuk skrip kanan ke kiri.
Maps 3D SDK for iOS mencari preferensi pelokalan dalam urutan berikut:
- Lingkungan SwiftUI: Nilai
Localeyang diteruskan ke.environment(\.locale, ...)diMap. - Setelan perangkat: Lokalitas default sistem yang dikonfigurasi di perangkat iOS.
Contoh berikut menampilkan
Map dalam
bahasa China ("zh") dan menetapkan wilayah ke China ("CN"):
import GoogleMaps3D
import SwiftUI
struct ContentView: View {
var body: some View {
Map(mode: .hybrid)
.environment(\.locale, Locale(identifier: "zh-CN"))
}
}
Anda juga dapat memperbarui bahasa dan wilayah secara dinamis saat runtime dengan mengikat
lokalitas lingkungan ke properti @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")
}
}
}
}
}
Pelokalan wilayah
Menetapkan wilayah pada Locale yang diteruskan ke .environment(\.locale, ...) di
Map dapat
menampilkan ubin peta yang berbeda atau mengarahkan aplikasi ke hasil yang sesuai secara regional.
Menetapkan wilayah juga membantu memastikan bahwa aplikasi Anda menerapkan pelokalan regional untuk negara atau wilayah tempat aplikasi didistribusikan.
Untuk mempertahankan bahasa perangkat pengguna saat menetapkan kode wilayah tertentu (misalnya, "JP"), buat Locale menggunakan Locale.Components:
var components = Locale.Components(locale: Locale.current)
components.region = Locale.Region("JP")
let regionBiasedLocale = Locale(components: components)