Localizzazione del modello LookML

Con la localizzazione del modello, puoi personalizzare la modalità di visualizzazione di etichette e descrizioni del modello in base alle impostazioni internazionali dell'utente.

La localizzazione non deve essere necessariamente basata sulla posizione geografica o sulla lingua. Puoi utilizzare le impostazioni internazionali per rappresentare altri fattori di distinzione, come utenti interni ed esterni o gestori e singoli collaboratori, e personalizzare le etichette e le descrizioni di conseguenza.

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

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

La localizzazione del modello spesso si verifica in collaborazione con un amministratore che specifica le impostazioni di localizzazione del formato numerico e lingua dell'interfaccia utente.

Localizzazione di etichette e descrizioni nel modello

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

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, vengono fornite etichette 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 che seguono questa pagina, localizzeremo questi valori nei file di stringhe utilizzando un livello di localizzazione permissive. Tieni presente 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 di stringhe delle impostazioni internazionali utilizzano coppie chiave-valore per definire la modalità di visualizzazione delle etichette e delle descrizioni nel modello per ogni lingua. Sul lato sinistro di ogni coppia chiave-valore è presente la chiave di localizzazione, che è un'etichetta o una stringa di descrizione del modello. Il lato destro della coppia chiave-valore è il punto in cui definisci in che modo vuoi che la stringa venga visualizzata nell'interfaccia utente di Looker.

Per ogni lingua che vuoi utilizzare per il tuo progetto, devi creare un file di stringhe dedicato. Crea un solo file di stringhe per ogni lingua. Devi avere un file di stringhe con il nome corrispondente alle impostazioni internazionali predefinite. Ad esempio, se hai specificato default_locale: en nel file manifest del tuo progetto, nel modello devi avere un file denominato en.strings.json. Ogni stringa deve essere definita nel file di stringhe delle impostazioni internazionali default, altrimenti non verrà localizzata.

Questo esempio di file en.strings.json verrà utilizzato per tutti gli utenti con valore Locale pari a en. Nel LookML di esempio che segue, en è specificato anche come impostazioni internazionali predefinite, quindi tutte le stringhe devono essere definite in questo file per 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 vedrebbe nella tabella di 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 di flights mostrato in precedenza, non abbiamo fornito alcuna etichetta per la dimensione location, quindi Looker visualizza il nome della dimensione in maiuscolo: "Posizione".
  • Non abbiamo definito la localizzazione per il "paese" nel nostro file en.strings.json, per cui Looker visualizza l'etichetta così come è definita nel nostro file di visualizzazione, senza scrivere in maiuscolo: "country".

Come ulteriore esempio, possiamo creare un file es_ES.strings.json 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 vedrebbe 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 visualizzazione originale con l'aggiunta di etichette e descrizioni, non abbiamo fornito alcuna etichetta per la dimensione location, quindi Looker visualizza il nome della dimensione in maiuscolo: "Posizione".
  • Non abbiamo definito la localizzazione per il "paese" nel nostro file en.strings.json, che è il nostro file di stringhe delle impostazioni internazionali predefinito. Quindi, anche se definiamo "paese", nel file es_ES.strings.json, Looker non localizza questa stringa e visualizza l'etichetta come definita nel nostro file di visualizzazione: "country".

Aggiunta delle impostazioni di localizzazione al file manifest del progetto

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

Nel file manifest, aggiungi le tue 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 di stringhe di impostazioni internazionali predefinite nel progetto.

Il file di stringhe delle impostazioni internazionali predefinite determina quali stringhe del tuo modello vengono localizzate. Anche se un'etichetta o una stringa descrittiva è definita in un altro file di stringhe delle impostazioni internazionali, se non è definita nel file di stringhe delle impostazioni internazionali default, la UI di Looker mostrerà la stringa non localizzata.

Le impostazioni internazionali predefinite per il progetto non devono essere confuse con quelle predefinite per gli utenti di Looker. L'amministratore di Looker può impostare impostazioni internazionali predefinite per l'istanza. Se non viene configurato alcun valore predefinito, Looker verrà impostato su 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 assegna l'utente alle impostazioni internazionali dell'istanza predefinite. Inoltre, se l'amministratore non ha configurato impostazioni internazionali per l'istanza predefinite, Looker assegna l'utente alle impostazioni internazionali en.

Per questo motivo, a meno che tu non sia sicuro 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 è stato impostato un valore predefinito) e definire la localizzazione per tutte le etichette e le descrizioni nel file .strings.json per quella lingua.

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 LookML per tutti questi elementi che non hanno etichette e per tutte le etichette e le descrizioni che non sono definite nel file delle stringhe di impostazioni internazionali predefinite.
  • Imposta il livello di localizzazione su permissive per consentire gli elementi senza etichette e le etichette e le descrizioni non definite nel file delle stringhe di localizzazione predefinite.

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. Una volta terminata la localizzazione di tutte le etichette e le descrizioni, puoi impostare il livello di localizzazione su strict per visualizzare eventuali errori.

Assegnazione di utenti a un'impostazione internazionale

Dopo aver configurato i file di stringhe delle impostazioni internazionali, puoi assegnare gli utenti a uno dei file di stringhe delle 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 Locale dell'utente su es_ES.

Le impostazioni internazionali personalizzate create con file di stringa possono essere inserite 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 saperne di più, consulta la pagina della documentazione Utenti.

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

Puoi includere il valore delle impostazioni internazionali di un utente in un URL di incorporamento firmato come per 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. Per ulteriori informazioni sugli URL di incorporamento firmato e sugli strumenti per creare un URL di incorporamento firmato, consulta la pagina della documentazione relativa all'incorporamento firmato.

Utilizzo delle 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 le diverse impostazioni internazionali. Nelle variabili Liquid puoi anche includere chiavi di localizzazione, che ti consentono di localizzare anche i valori dei dati.

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

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

Nel nostro file es_ES.strings.json possiamo quindi 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 le impostazioni internazionali 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 le impostazioni internazionali 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 la lingua es_ES vedranno l'indicazione "Nazionale" e "Internazionale" data localizzati in "Nacional" e "Internacional", rispettivamente.

Puoi anche utilizzare Liquid nei filtri della dashboard di LookML e nei filtri degli elementi della dashboard di 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, su quel riquadro è presente un filtro definito in LookML come segue:

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

Quando un utente con le impostazioni internazionali en esplora il riquadro nella dashboard, l'esplorazione viene filtrata in base al valore Domestic del campo Flights From the US? e la tabella dei dati dell'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 nella dashboard, l'esplorazione viene filtrata in base al valore Nacional per il campo Vuelos ¿De Los Estados Unidos? e la tabella dei dati dell'esplorazione includerà i seguenti risultati:

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

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

Tieni presente che le regole di localizzazione si applicano quando espandi viste, esplorazioni o dashboard LookML e quando perfeziona visualizzazioni o esplorazioni.

Se hai esteso o perfezionato un oggetto e poi hai aggiunto nuove etichette o descrizioni, devi fornire le definizioni di 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 ;;
  ...
}

Quindi creiamo una nuova vista che estende la vista flights:

include: "/views/flights.view"

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

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