Localizzazione del modello LookML

Con la localizzazione dei modelli, puoi personalizzare il modo in cui vengono visualizzate le etichette e le descrizioni del modello in base alle impostazioni internazionali dell'utente.

La localizzazione non deve necessariamente basarsi sulla posizione geografica o sulla lingua. Puoi utilizzare le impostazioni internazionali per rappresentare altri fattori di distinzione, ad esempio utenti interni ed esterni oppure gestori o singoli collaboratori, nonché personalizzare di conseguenza etichette e descrizioni.

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

  1. Determina quali elementi verranno localizzati aggiungendo etichette, etichette dei gruppi e descrizioni al modello.
  2. Fornisci le definizioni di localizzazione per il tuo progetto creando file di stringhe delle impostazioni internazionali.
  3. Abilita la localizzazione per il tuo progetto aggiungendo le impostazioni di localizzazione al file manifest del progetto.
  4. Determina la visualizzazione per diversi utenti assegnando gli utenti a impostazioni internazionali.

La localizzazione dei modelli spesso avviene in combinazione con un amministratore che specifica le impostazioni di localizzazione del formato numerico e di lingua dell'interfaccia utente.

Localizzare etichette e descrizioni nel modello

Puoi localizzare etichette, etichette di gruppi e descrizioni nel modello, incluso quanto segue:

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 che non hanno etichette, e per tutte le stringhe nel modello LookML che possono essere localizzate, ma che non sono definite nei file di stringhe delle impostazioni internazionali.

Nel seguente esempio di LookML, le etichette vengono fornite per la vista flights e i campi id, country e number_of_engines. Viene fornita anche una descrizione per il campo country.

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

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

  dimension: country {
    label: "country"
    description: "country_of_departure"
    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 ;;
  }

Negli esempi riportati di seguito in questa pagina, localizzeremo questi valori nei file di stringhe utilizzando un livello di localizzazione permissive. Nota che la dimensione location non ha un'etichetta, quindi possiamo dimostrare come viene visualizzata una dimensione senza localizzazione.

Creazione di file di stringhe delle impostazioni internazionali

I file delle stringhe delle impostazioni internazionali utilizzano coppie chiave-valore per definire il modo in cui vengono visualizzate le etichette e le descrizioni nel modello per ogni impostazione internazionale. Sul lato sinistro di ogni coppia chiave-valore è presente la chiave di localizzazione, un'etichetta o una stringa descrittiva del modello. Il lato destro della coppia chiave-valore è il punto in cui definisci la modalità di visualizzazione della stringa nell'interfaccia utente di Looker.

Per ogni impostazione internazionale che vuoi utilizzare per il progetto, devi creare un file di stringhe dedicato. Crea un solo file di stringhe per ogni impostazione internazionale. Devi avere un file di stringhe 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 di stringhe delle impostazioni internazionali predefinite, altrimenti non verrà localizzata.

Questo esempio di file en.strings.json verrà utilizzato per tutti gli utenti che hanno il valore Locale di en. Nel seguente esempio di LookML, en è specificato anche come impostazione internazionale predefinita, quindi tutte le stringhe devono essere definite in questo file per poter essere localizzate.

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

La tabella seguente mostra ciò che un utente con le impostazioni internazionali impostate su en vedrà nella tabella dati di un'esplorazione di Looker:

Flights Identifier Flights country Flights Location Flights Number of Engines
493 Congo Kisangani, Congo 3
2167 Saudi Arabia Riyadh, Saudi Arabia 3
2657 Austria Vienna, Austria 2
17992 United States Kansas City, MO 2
18893 United States Anchorage, AK 4

Tieni presente quanto segue:

  • Nel LookML di esempio della vista flights mostrato in precedenza, non era stata fornita alcuna etichetta per la dimensione location, perciò Looker ne mostrerà il nome con l'iniziale maiuscola: "Posizione".
  • Non abbiamo definito la localizzazione per l'etichetta "country" nel file en.strings.json, quindi Looker visualizza l'etichetta così come è definita nel file di visualizzazione, senza che la parola sia maiuscola: "country".

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

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

La tabella seguente mostra ciò che un utente con le impostazioni internazionali impostate su es_ES vedrà in Looker:

Vuelos Identificador Vuelos country Vuelos Location Vuelos Número de Motores
493 Congo Kisangani, Congo 3
2167 Saudi Arabia Riyadh, Saudi Arabia 3
2657 Austria Vienna, Austria 2
17992 United States Kansas City, MO 2
18893 United States Anchorage, AK 4

Tieni presente quanto segue:

  • Come nell'esempio precedente, nella vista originale in cui sono state aggiunte etichette e descrizioni, non era stata fornita alcuna etichetta per la dimensione location, perciò Looker ne mostrerà il nome, con l'iniziale maiuscola: "Posizione".
  • Non abbiamo definito la localizzazione per l'etichetta "paese" nel nostro file en.strings.json, che è il nostro file di stringhe delle impostazioni internazionali predefinite. Quindi, anche se abbiamo definito "country" nel file es_ES.strings.json, Looker non localizza questa stringa e mostra l'etichetta così come definita nel file di visualizzazione: "country".

Aggiunta delle impostazioni di localizzazione al file manifest del progetto

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

Aggiungi le impostazioni di localizzazione nel file manifest. Ecco un esempio:

localization_settings: {
  default_locale: en
  localization_level: permissive
}

default_locale

Il parametro default_locale specifica il nome del file di stringhe delle impostazioni internazionali predefinite nel tuo progetto.

Il file di stringhe delle impostazioni internazionali predefinite determina quali stringhe del modello vengono localizzate. Anche se un'etichetta o una stringa di descrizione è definita in un altro file di stringhe delle impostazioni internazionali, se non è definita nel file di stringhe delle impostazioni internazionali predefinite, nell'interfaccia utente di Looker verrà visualizzata la stringa non localizzata.

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

Per questo motivo, a meno che tu non abbia la certezza che l'amministratore di Looker imposterà il valore Locale per tutti gli utenti di Looker, devi impostare il parametro default_locale del progetto sulle impostazioni internazionali predefinite per la tua istanza (o su en se non sono state impostate impostazioni predefinite) e definire la localizzazione per tutte le etichette e le descrizioni nel file .strings.json per quelle impostazioni internazionali.

localization_level

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

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

Anche se vuoi il livello di localizzazione strict, può essere utile impostare il livello di localizzazione del progetto su permissive durante lo sviluppo del progetto per evitare errori di convalida. Dopo aver localizzato tutte le etichette e le descrizioni, puoi impostare il livello di localizzazione su strict per visualizzare eventuali errori.

Assegnazione di utenti a impostazioni internazionali

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

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

Le impostazioni internazionali personalizzate create con i file di stringa possono essere inserite nel campo Impostazioni internazionali facendo clic sul campo e digitando il nome file della stringa anziché selezionare un'impostazione integrata dal menu a discesa. Per ulteriori informazioni, consulta la pagina della documentazione relativa agli utenti.

Impostazione delle impostazioni internazionali per gli utenti incorporati che hanno eseguito l'incorporamento

Puoi includere un valore delle impostazioni internazionali di un utente in un URL incorporato firmato, proprio come qualsiasi altro attributo utente. Il formato esatto richiesto per gli incorporamenti firmati dipende dal linguaggio di programmazione utilizzato per creare lo script dell'URL di incorporamento firmato, ma il nome dell'attributo utente è locale. Consulta la pagina della documentazione relativa all'incorporamento firmato per ulteriori informazioni sugli URL di incorporamento firmati e sugli strumenti per creare l'URL di incorporamento firmato.

Utilizzo di impostazioni internazionali nelle variabili Liquid

Come descritto in precedenza, la localizzazione del modello consente di personalizzare la visualizzazione delle etichette e delle descrizioni del modello per diverse impostazioni internazionali. Tuttavia, puoi anche includere chiavi di localizzazione nelle variabili Liquid, in modo da localizzare anche i valori dei dati.

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

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

Poi, nel nostro file es_ES.strings.json, possiamo fornire le versioni in spagnolo 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;;
  }

Gli utenti con l'impostazione internazionale en vedranno i seguenti risultati:

Flights Identifier Flights country Flights From the US?
289 United States Domestic
400 Canada International
493 Congo International
936 United States Domestic

Gli utenti con l'impostazione internazionale es_ES vedranno i seguenti risultati:

Vuelos Identificador Vuelos País Vuelos ¿De Los Estados Unidos?
289 United States Nacional
400 Canada Internacional
493 Congo Internacional
936 United States Nacional

Gli utenti con le impostazioni internazionali es_ES vedono i dati "Domestic" e "International" localizzati rispettivamente in "Nacional" e "Internacional".

Puoi anche utilizzare Liquid nei filtri della dashboard LookML e nei filtri degli elementi della dashboard LookML per localizzare il valore predefinito in un filtro. Ad esempio, se una dashboard LookML ha un riquadro che utilizza i dati di questo modello localizzato e su quel riquadro è presente un filtro definito in LookML:

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

Quando un utente con le impostazioni internazionali en esplora il riquadro della dashboard, l'esplorazione verrà filtrata in base al valore Domestic del campo Flights From the US? e la tabella dei dati nell'esplorazione includerà i seguenti risultati:

Flights Identifier Flights country Flights From the US?
289 United States Domestic
936 United States Domestic

Quando un utente con le impostazioni internazionali es_ES esplora il riquadro della dashboard, l'esplorazione verrà filtrata in base al valore Nacional del campo Vuelos ¿De Los Estados Unidos? e la tabella dei dati nell'esplorazione includerà i seguenti risultati:

Vuelos Identificador Vuelos País Vuelos ¿De Los Estados Unidos?
289 United States Nacional
936 United States Nacional

Comprendere come le regole di localizzazione si applicano agli oggetti estesi e perfezionati

Tieni presente che le regole di localizzazione vengono applicate quando espandi le visualizzazioni, le esplorazioni o le dashboard LookML e quando perfeziona le visualizzazioni o le esplorazioni.

Se hai esteso o perfezionato un oggetto e poi hai aggiunto nuove etichette o descrizioni, devi fornire le definizioni della localizzazione nei file delle stringhe delle impostazioni internazionali.

Ad esempio, se abbiamo una vista flights:


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

Poi creiamo una nuova visualizzazione che estende la visualizzazione flights:

include: "/views/flights.view"

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

Nei nostri file delle stringhe delle impostazioni internazionali dobbiamo definire entrambe le stringhe delle etichette delle viste ("flight_info" e "enhanced_flight_info"). Se il livello di localizzazione del progetto è impostato su strict, non saremo in grado di eseguire il commit degli aggiornamenti finché non avremo definito le nuove etichette o descrizioni.