Puoi personalizzare le impostazioni di lingua e regione utilizzate nella mappa modificando
l'ambiente delle impostazioni internazionali su
Map, che
può influire sulle etichette e sul comportamento della mappa in base alla lingua
e al paese o al territorio specificati.
Consulta la copertura di Maps 3D SDK for iOS nella tabella di copertura di Maps.
Localizzazione della lingua
Per impostazione predefinita, Maps 3D SDK for iOS utilizza le impostazioni internazionali di sistema configurate sul dispositivo dell'utente (Locale.current) per determinare quale traduzione della mappa visualizzare. Puoi ignorare questo comportamento predefinito applicando il modificatore SwiftUI
.environment(\.locale, ...) alla visualizzazione
Map o
aggiornare dinamicamente la variabile di stato Locale associata in fase di runtime.
L'impostazione della lingua influisce sulla traduzione di elementi politici, descrittori ed elementi naturali, ad esempio modificando "Geneva" in "Genève" o "lake" in "lac", e cambia la direzione in cui viene eseguito il rendering del testo per gli script da destra a sinistra.
Maps 3D SDK for iOS cerca le preferenze di localizzazione nel seguente ordine:
- Ambiente SwiftUI: il
Localevalore passato a.environment(\.locale, ...)suMap. - Impostazioni del dispositivo: le impostazioni internazionali predefinite del sistema configurate sul dispositivo iOS.
L'esempio seguente mostra un
Map in
cinese ("zh") e imposta la regione sulla Cina ("CN"):
import GoogleMaps3D
import SwiftUI
struct ContentView: View {
var body: some View {
Map(mode: .hybrid)
.environment(\.locale, Locale(identifier: "zh-CN"))
}
}
Puoi anche aggiornare dinamicamente la lingua e la regione in fase di runtime associando le impostazioni internazionali dell'ambiente a una proprietà @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")
}
}
}
}
}
Localizzazione della regione
L'impostazione della regione su Locale passato a .environment(\.locale, ...) su
Map può
fornire riquadri mappa diversi o orientare l'app verso risultati appropriati a livello regionale.
L'impostazione della regione contribuisce anche a garantire che l'app applichi la localizzazione regionale per il paese o il territorio in cui viene distribuita.
Per mantenere la lingua del dispositivo dell'utente durante l'impostazione di un codice regione specifico (ad
esempio, "JP"), crea un Locale utilizzando Locale.Components:
var components = Locale.Components(locale: Locale.current)
components.region = Locale.Region("JP")
let regionBiasedLocale = Locale(components: components)