Localizzazione del modello LookML

Con la localizzazione del modello, puoi personalizzare la visualizzazione delle etichette e delle descrizioni del modello in base alle impostazioni internazionali di un 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.

Questa pagina descrive 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. Determina la visualizzazione per utenti diversi assegnandoli alle lingue.

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

Localizzazione di etichette e descrizioni nel modello

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

Nel tuo progetto puoi anche creare dashboard LookML localizzate. 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 codice LookML di esempio, vengono fornite le etichette per la visualizzazione flights e per 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 strings denominato in modo che corrisponda al linguaggio predefinito. Ad esempio, se hai specificato default_locale: en nel file manifest del 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 il cui valore Locale è en. Nel seguente codice LookML di esempio, en è specificato anche come impostazioni internazionali predefinite, pertanto 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 della visualizzazione flights mostrato in precedenza, non abbiamo fornito alcuna etichetta per la dimensione location, pertanto Looker mostra il nome della dimensione in maiuscolo: "Località".
  • 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 attivare la localizzazione per il progetto, aggiungi il parametro localization_settings al file manifest del progetto.

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 di stringhe di impostazioni internazionali predefinite nel progetto.

Il file di stringhe internazionali predefinite determina quali stringhe del modello vengono localizzate. Anche se una stringa di etichetta o descrizione è definita in un altro file di stringhe di impostazioni internazionali, se non è definita nel file di stringhe di impostazioni internazionali predefinito, l'interfaccia utente 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 una lingua predefinita 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 impostato una lingua predefinita per l'istanza, Looker assegna l'utente alla lingua en.

Per questo motivo, a meno che non sia certo che l'amministratore di Looker imposterà il valore Locale per tutti gli utenti di Looker, devi impostare il parametro default_locale del progetto sull'impostazione internazionale predefinita per l'istanza (o su en se non è stato impostato alcun valore predefinito) e definire la localizzazione per tutte le etichette e le descrizioni nel file .strings.json per l'impostazione internazionale in questione.

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 visualizzazioni e i campi del progetto. L'IDE di Looker restituirà un errore di convalida di LookML per tutti questi elementi che non hanno etichette e per le etichette e le descrizioni non definite nel file di stringhe internazionali predefinite.
  • Imposta il livello di localizzazione su permissive per consentire elementi senza etichette ed etichette e descrizioni non definite nel file di stringhe di localizzazione predefinito.

Anche se vuoi il livello di localizzazione strict, potrebbe essere utile impostare il livello di localizzazione del progetto su permissive durante lo sviluppo 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 veda le etichette e le descrizioni definite nel file es_ES.strings.json, l'amministratore di Looker deve impostare 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 ulteriori informazioni, consulta la pagina della documentazione relativa agli Utenti.

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

Puoi includere il valore della locale di un utente in un URL di incorporamento firmato, 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. 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 ti consente di personalizzare la visualizzazione delle etichette e delle descrizioni del modello per le diverse impostazioni internazionali. Puoi anche includere le chiavi di localizzazione nelle variabili Liquid, il che ti consente 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 l'impostazione internazionale es_ES vedono "Nazionale" e "Internazionale" data localizzati in "Nacional" e "Internacional", rispettivamente.

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

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

Quando un utente con la locale en esegue l'esplorazione da quel riquadro della dashboard, l'esplorazione verrà filtrata in base al valore Domestic per il campo Flights From the US? e la tabella di 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 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

Informazioni su come le regole di localizzazione vengono applicate agli oggetti estesi e perfezionati

Tieni presente che le regole di localizzazione si applicano quando espandi viste, esplorazioni o dashboard LookML e quando ottieni una definizione più precisa di viste 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 visualizzazione flights:


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

Poi creiamo una nuova visualizzazione che espande la visualizzazione flights:

include: "/views/flights.view"

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

Nei file di stringhe internazionali dobbiamo definire entrambe le stringhe di etichetta della visualizzazione ("flight_info" e "enhanced_flight_info"). Se il livello di localizzazione del progetto è impostato su strict, non potremo eseguire commit degli aggiornamenti finché non avremo definito le nuove etichette o descrizioni.