Localizzazione del modello LookML

La localizzazione dei modelli avviene spesso in combinazione con la localizzazione dei formati numerici e la selezione della lingua dell'interfaccia utente. Per ulteriori informazioni su questi argomenti, consulta le pagine della documentazione Localizzazione dei numeri di localizzazione e Lingue dell'interfaccia utente supportate.

Con la localizzazione dei modelli, puoi personalizzare la visualizzazione delle etichette e delle descrizioni del modello in base alle impostazioni internazionali dell'utente.

Non è necessario che la localizzazione sia basata sulla posizione geografica o sulla lingua. Puoi utilizzare le impostazioni internazionali per rappresentare altri fattori distintivi, ad esempio utenti interni o esterni, o gestori rispetto a singoli collaboratori, e personalizzare di conseguenza le etichette e le descrizioni.

La localizzazione dei modelli non è attualmente compatibile con l'importazione dei progetti.

In questa pagina vengono descritti i passaggi per localizzare il progetto:

Per saperne di più sulla localizzazione dell'interfaccia utente di Looker o sulla localizzazione della formattazione dei numeri, consulta le pagine della documentazione Lingue di interfaccia utente supportate e Localizzazione della formattazione dei numeri.

Utilizzare elementi localizzati nei file del modello

Puoi localizzare etichette, etichette di gruppo e descrizioni nel modello, tra cui:

La localizzazione non è supportata per dimension_group. Utilizza invece group_label e group_item_label per creare il tuo insieme di dimensioni che possono essere localizzate.

Puoi anche creare dashboard LookML localizzate nel tuo progetto. I seguenti parametri della dashboard LookML possono essere localizzati:

Per visualizzare tutti i campi del progetto che possono essere localizzati, puoi impostare il livello di localizzazione del progetto su strict. Con questa impostazione, l'IDE di Looker restituisce un errore di convalida di LookML per tutti gli elementi LookML che possono essere localizzati ma privi di etichette, così come per le stringhe nel modello LookML che possono essere localizzate ma non definite nei file di stringhe locali.

Di seguito è riportato un esempio di file di visualizzazione con alcune etichette e descrizioni:

view: flights {
  label: "flight_info"
  sql_table_name: flightstats.accidents ;;

  dimension: id {
    label: "id"
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }

  dimension: air_carrier {
    label: "airline"
    type: string
    sql: ${TABLE}.air_carrier ;;
  }

  dimension: country {
    label: "country"

    type: string
    map_layer_name: countries
    sql: ${TABLE}.country ;;
  }

  dimension: number_of_engines {
    label: "number_of_engines"
    type: string
    sql: ${TABLE}.number_of_engines ;;
  }

  dimension: location {
    type: string
    sql: ${TABLE}.location ;;
  }

Localizziamo questi valori nei file stringa utilizzando un livello di localizzazione permissive. Nota che la dimensione location non ha un'etichetta, così possiamo dimostrare come viene visualizzata una dimensione senza localizzazione.

Creazione di file stringa internazionali

I file stringa locali utilizzano coppie chiave-valore per definire la modalità di visualizzazione di etichette e descrizioni nel modello per ciascuna lingua. A sinistra di ogni coppia chiave-valore è presente la chiave di localizzazione, ovvero un'etichetta o una stringa di descrizione del modello. Il lato destro della coppia chiave-valore consente di definire la modalità di visualizzazione della stringa nell'interfaccia utente di Looker.

Per ogni impostazione locale relativa al progetto, crea un file stringhe dedicato. Dovresti creare un solo file stringa per ogni lingua nel tuo progetto. Deve essere presente un file stringa denominato in modo che corrisponda alle impostazioni internazionali predefinite. Ad esempio, se hai specificato default_locale: en nel file manifest del tuo progetto, devi avere un file nel modello denominato en.strings.json. Ogni stringa deve essere definita nel file delle stringhe locali predefinite, altrimenti non verrà localizzata.

La localizzazione del modello non deve essere necessariamente basata su una posizione geografica o su una lingua. Tuttavia, se utilizzi la localizzazione dei modelli e vuoi utilizzare anche la dashboard localizzata e l'interfaccia utente di visualizzazione localizzate di Looker, il titolo del file stringhe deve corrispondere al codice locale supportato di Looker.

Ecco un esempio di file en.strings.json che verrà utilizzato per tutti gli utenti con il valore Locale di en. Nell'esempio, en è anche specificato come lingua di destinazione predefinita, quindi tutte le stringhe devono essere definite in questo file per essere localizzate.

{
  "flight_info": "Flights",
  "id": "Identifier",
  "airline": "Air Carrier",
  "country_of_departure": "Country of Departure",
  "number_engines": "Number of Engines"
}

Ecco cosa vedrebbe un utente en in Looker:

Tieni presente quanto segue:

  • Nel file vista riportato sopra non abbiamo fornito alcuna etichetta per la dimensione location, perciò Looker visualizza il nome della dimensione, in maiuscolo: "Location".
  • Non abbiamo definito la localizzazione dell'etichetta "country" nel nostro file en.strings.json, pertanto Looker visualizza l'etichetta come viene definita nel nostro file di visualizzazione, senza utilizzarla la dicitura "country".

Come altro esempio, possiamo creare un file es_ES.strings.json utilizzato per tutti gli utenti con valore Locale pari a es_ES:

{
  "flight_info": "Vuelos",
  "id": "Identificador",
  "airline": "Aerolínea",
  "country": "País",
  "country_of_departure": "País de Partida",
  "number_engines": "Número de Motores"
}

Ecco cosa vedrebbe un utente es_ES in Looker:

Tieni presente quanto segue:

  • Come nell'esempio precedente, nel file vista riportato sopra non abbiamo fornito alcuna etichetta per la dimensione location, pertanto Looker mostra il nome della dimensione, in maiuscolo: "Location".
  • Non abbiamo definito la localizzazione per l'etichetta "country" nel nostro file en.strings.json, che è il nostro file di stringhe internazionali predefinito. Quindi, anche se abbiamo definito il "paese" nel nostro file es_ES.strings.json, Looker non localizza questa stringa e visualizza l'etichetta come viene definita nel file di vista: "paese".

Aggiunta delle impostazioni di localizzazione al file manifest del progetto

Per attivare la localizzazione per il tuo progetto, aggiungi il parametro localization_settings al file manifest del progetto.

Se il progetto non ha ancora un file manifest, puoi crearne uno dall'icona + nella parte superiore del browser di file nell'IDE di Looker.

Nel file manifest, aggiungi le impostazioni di localizzazione. Ecco un esempio:

localization_settings: {
  default_locale: en
  localization_level: permissive
}

default_locale

Il parametro default_locale specifica il nome del file stringa di impostazioni internazionali predefinito nel progetto.

Il file di stringhe internazionali predefinito determina quali stringhe del modello sono localizzate. Anche se un'etichetta o una stringa di descrizione è definita in un altro file di stringhe internazionali, se non è definita nel file delle stringhe locali predefinite, l'interfaccia utente di Looker mostrerà la stringa non localizzata. Consulta questa sezione precedente per ulteriori informazioni sulla configurazione dei file di stringhe locali.

Le impostazioni internazionali per il tuo progetto non devono essere confuse con quelle internazionali per gli utenti di Looker. L'amministratore di Looker può impostare le impostazioni internazionali predefinite per la tua istanza. Se non viene configurato alcun valore predefinito, Looker utilizza en per impostazione predefinita. Se l'amministratore non inserisce specificamente un valore Locale per un utente o un gruppo di utenti a cui appartiene l'utente, Looker lo assegna alle impostazioni internazionali predefinite dell'istanza. Inoltre, se l'amministratore non ha configurato le impostazioni internazionali predefinite, Looker assegna l'utente alle impostazioni internazionali en.

Per questo motivo, a meno che tu non abbia la certezza che l'amministratore Looker configuri il valore Locale per tutti gli utenti Looker, devi impostare il parametro default_locale del progetto sulle impostazioni internazionali predefinite per la tua istanza (oppure su en, se non è stata configurata alcuna impostazione predefinita) e definire la localizzazione di tutte le etichette e delle descrizioni nel file .strings.json per le impostazioni internazionali corrispondenti.

localization_level

Il livello di localizzazione del progetto specifica se gli elementi non localizzati sono consentiti nel modello:

  • Imposta il livello di localizzazione su strict per richiedere le etichette localizzate per tutti i modelli, le esplorazioni, le viste e i campi del progetto. L'IDE Looker restituirà un errore di convalida LookML per tutti gli elementi che non hanno etichette e per le etichette e le descrizioni che non sono definite nel file di stringhe locali predefinito.
  • Imposta il livello di localizzazione su permissive per consentire elementi senza etichette, nonché per etichette e descrizioni non definite nel file di stringa di localizzazione predefinito.

Anche se vuoi impostare il livello di localizzazione di strict, potrebbe essere utile impostare il livello di localizzazione del tuo progetto su permissive quando lo stai sviluppando per evitare errori di convalida. Dopo aver localizzato le etichette e le descrizioni, puoi impostare il livello di localizzazione su strict per visualizzare eventuali errori.

Assegnare gli utenti a un'area geografica

Dopo aver configurato i file di impostazioni internazionali, puoi assegnare gli utenti a un'area geografica corrispondente a uno dei file di impostazioni internazionali. Questa operazione può essere eseguita a livello di istanza, gruppo di utenti o singolo utente, utilizzando il campo Locale o l'attributo utente locale.

Ad esempio, se vuoi che un utente visualizzi le etichette e le descrizioni definite nel file es_ES.strings.json, l'amministratore di Looker deve configurare l'impostazione Impostazioni internazionali dell'utente su es_ES:

Puoi inserire impostazioni internazionali personalizzate create con file di stringa nel campo Impostazioni internazionali facendo clic sul campo e digitando il nome del file della stringa, anziché selezionare un'impostazione internazionale integrata dal menu a discesa. Per ulteriori informazioni, consulta la pagina della documentazione Utenti.

Se le impostazioni internazionali non sono configurate per gli utenti a livello di singolo utente o gruppo di utenti, Looker le assegna agli utenti di lingua locale. Tuttavia, se non è configurato alcun file .strings per le impostazioni internazionali dell'istanza, la localizzazione del modello non funzionerà per questi utenti. Per questo motivo, dovrebbe essere configurato un file .strings per le impostazioni internazionali predefinite di ogni istanza. Per saperne di più, consulta le sezioni su default_locale o Creazione di file con stringhe internazionali.

Impostazione delle impostazioni internazionali per gli utenti di incorporamento SSO

Puoi includere il valore locale dell'utente in un URL per l'incorporamento SSO, come per qualsiasi altro attributo utente. Il formato esatto richiesto per gli incorporamenti SSO dipende dal linguaggio di programmazione utilizzato per creare lo script dell'URL di incorporamento SSO, ma il nome dell'attributo utente è locale. Per ulteriori informazioni sugli URL e gli strumenti di incorporamento SSO, consulta la pagina della documentazione relativa all'incorporamento con Single Sign-On (SSO).

Uso delle impostazioni internazionali nelle variabili Liquid

Come descritto sopra, la localizzazione del modello ti consente di personalizzare la visualizzazione delle etichette e delle descrizioni del modello per le diverse impostazioni internazionali. Tuttavia, puoi anche includere delle chiavi di localizzazione nelle variabili liquide, che ti consentono di localizzare anche i valori dei tuoi dati.

Ad esempio, nel nostro file di stringhe locali denominato en.strings.json, possiamo creare le chiavi di localizzazione domestic e international con le seguenti voci:

{
  "domestic": "Domestic",
  "international": "International"
}

Quindi, nel nostro file es_ES.strings.json, possiamo fornire le versioni spagnole di queste chiavi di localizzazione:

{
  "domestic": "Nacional",
  "international": "Internacional"
}

Da qui, possiamo utilizzare le chiavi di localizzazione domestic e international nelle variabili Liquid per localizzare l'output di una dimensione:

dimension: from_US {
    label: "from_us"
    type: string
    sql: CASE
         WHEN ${TABLE}.country = 'United States' THEN '{{ _localization['domestic'] }}'
         ELSE '{{ _localization['international'] }}'
         END;;
  }

Ecco cosa vedono gli utenti con le impostazioni internazionali di en:

Ecco cosa vedono gli utenti con le impostazioni internazionali di es_ES:

Puoi anche utilizzare Liquid nei filtri dashboard e elemento dashboard per localizzare il valore predefinito in un filtro. Ad esempio, se una dashboard LookML ha un riquadro di Esplora sopra, e sopra quel riquadro è presente un filtro definito come questo:

filters:
  flights.from_US: "{{ _localization['domestic'] }}"

Ecco cosa vedranno gli utenti con le impostazioni internazionali di en quando esplorano da quel riquadro sulla dashboard:

Ed ecco cosa vedranno gli utenti con le impostazioni internazionali es_ES quando esplorano da quel riquadro sulla dashboard:

Informazioni sull'applicazione delle regole di localizzazione agli oggetti estesi e perfezionati

Tieni presente che le regole di localizzazione si applicano quando estendi le visualizzazioni, le esplorazioni o le dashboard di LookML e quando stai perfezionando viste o esplorazioni.

Se hai esteso o perfezionato un oggetto e hai aggiunto nuove etichette o descrizioni, devi fornire le definizioni di localizzazione nei file stringa locali.

Ad esempio, se abbiamo una vista flights:


view: flights {
  label: "flight_info"
  sql_table_name: flightstats.accidents ;;
  ...
}

Poi creiamo una nuova vista che estende la visualizzazione flights:

include: "/views/flights.view"

view: flights_enhanced {
  extends: [flights]
  label: "enhanced_flight_info"
}

Nei nostri file di stringhe locali dobbiamo definire entrambe le stringhe di etichette di vista ("flight_info" e "enhanced_flight_info"). Se il livello di localizzazione del progetto è impostato su strict, non potremmo eseguire il commit di alcun aggiornamento finché non abbiamo definito le nuove etichette o descrizioni.