Para personalizar la configuración de idioma y región que se usa en tu mapa, cambia
el entorno de configuración regional en tu
Map, lo que
puede afectar las etiquetas y el comportamiento del mapa según el idioma
y el país o territorio especificados.
Consulta la cobertura del SDK de Maps 3D para iOS en la tabla de cobertura de Maps.
Localización de idiomas
De forma predeterminada, el SDK de Maps 3D para iOS usa la configuración regional del sistema configurada en el dispositivo del usuario (Locale.current) para determinar qué traducción del mapa mostrar. Puedes anular este comportamiento predeterminado aplicando el modificador de SwiftUI
.environment(\.locale, ...) a tu vista
Map o
actualizar la variable de estado Locale vinculada de forma dinámica en el tiempo de ejecución.
Configurar el idioma afecta la traducción de las funciones políticas, los descriptores y las funciones naturales, como cambiar "Geneva" a "Genève" o "lake" a "lac", y cambia la dirección en la que se renderiza el texto para las secuencias de comandos de derecha a izquierda.
El SDK de Maps 3D para iOS busca las preferencias de localización en el siguiente orden:
- Entorno de SwiftUI: El valor
Localeque se pasa a.environment(\.locale, ...)enMap. - Configuración del dispositivo: La configuración regional predeterminada del sistema configurada en el dispositivo iOS.
En el siguiente ejemplo, se muestra un
Map en
chino ("zh") y se establece la región en China ("CN"):
import GoogleMaps3D
import SwiftUI
struct ContentView: View {
var body: some View {
Map(mode: .hybrid)
.environment(\.locale, Locale(identifier: "zh-CN"))
}
}
También puedes actualizar el idioma y la región de forma dinámica en el tiempo de ejecución vinculando la configuración regional del entorno a una propiedad @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")
}
}
}
}
}
Localización regional
Configurar la región en el Locale que se pasa a .environment(\.locale, ...) en
Map puede
proporcionar diferentes mosaicos de mapas o sesgar la app hacia resultados adecuados para la región.
Configurar la región también ayuda a garantizar que tu app aplique la localización regional para el país o territorio en el que se distribuye.
Para mantener el idioma del dispositivo del usuario mientras configuras un código de región específico (por
ejemplo, "JP"), crea un Locale con Locale.Components:
var components = Locale.Components(locale: Locale.current)
components.region = Locale.Region("JP")
let regionBiasedLocale = Locale(components: components)