Localizzazione del modello LookML

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

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

Questa pagina descrive i passaggi per localizzare il progetto:

  1. Determina 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 delle impostazioni internazionali.
  3. Attiva la localizzazione per il tuo progetto aggiungendo le impostazioni di localizzazione al file manifest del progetto.
  4. Determina la visualizzazione per utenti diversi assegnando gli utenti ai paesi.

La localizzazione del modello spesso avviene in combinazione 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:

Puoi anche creare dashboard LookML localizzate nel tuo progetto. È possibile localizzare i seguenti parametri delle dashboard LookML:

Per visualizzare tutti i campi del tuo 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 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 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 in questa pagina, localizzeremo questi valori nei file delle stringhe utilizzando un livello di localizzazione permissive. Tieni presente che la dimensione location non ha un'etichetta, quindi possiamo mostrare come viene visualizzata una dimensione senza localizzazione.

Creazione di file di stringhe delle impostazioni internazionali

I file delle stringhe di impostazioni internazionali utilizzano coppie chiave-valore per definire la modalità di visualizzazione delle etichette e delle descrizioni nel modello per ogni impostazione internazionale. Sul lato sinistro di ogni coppia chiave-valore si trova la chiave di localizzazione, ovvero una stringa di etichetta o descrizione del modello. Il lato destro della coppia chiave-valore è dove definisci come 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 denominato in modo che corrisponda alle impostazioni internazionali predefinite. 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 che hanno il valore en per Locale. Nel seguente esempio di LookML, 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 seguente tabella mostra cosa vedrebbe un utente con le impostazioni internazionali impostate su en 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:

  • Nell'flightsesempio di visualizzazione di LookML mostrato in precedenza, non abbiamo fornito alcuna etichetta per la dimensione location, quindi Looker mostra il nome della dimensione in maiuscolo: "Location".
  • Non abbiamo definito la localizzazione per l'etichetta "country" nel nostro file en.strings.json, quindi Looker la visualizza così com'è definita nel nostro file di visualizzazione, senza maiuscole: "country".

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

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

La seguente tabella mostra cosa vedrebbe un utente con le impostazioni internazionali impostate su es_ES 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 etichette e descrizioni aggiunte, non abbiamo fornito alcuna etichetta per la dimensione location, quindi 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 delle impostazioni internazionali predefinite. Quindi, anche se abbiamo definito "paese" nel nostro file es_ES.strings.json, Looker non localizza questa stringa e mostra l'etichetta così come è definita nel nostro file di visualizzazione: "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.

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

Il file di stringhe di impostazioni 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 localizzazione, se non è definita nel file di stringhe di localizzazione predefinito, l'interfaccia utente di Looker visualizzerà la stringa non localizzata.

Le impostazioni internazionali predefinite per il tuo progetto non devono essere confuse con le impostazioni internazionali predefinite per gli utenti di Looker. L'amministratore di Looker può impostare un locale predefinito per la tua istanza. Se non è impostato alcun valore predefinito, Looker utilizzerà en. Se l'amministratore non inserisce un valore Locale specifico per un utente o un gruppo di utenti a cui appartiene l'utente, Looker assegna l'utente al locale dell'istanza predefinito. Inoltre, se l'amministratore non ha impostato un locale predefinito per l'istanza, Looker assegna l'utente al locale 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 sul locale predefinito per la tua 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 quel locale.

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 etichette localizzate per tutti i modelli, le esplorazioni, le visualizzazioni 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 di stringhe di impostazioni internazionali predefinite.
  • Imposta il livello di localizzazione su permissive per consentire elementi senza etichette e per consentire etichette e descrizioni non definite nel file di stringhe di localizzazione predefinite.

Anche se vuoi il livello di localizzazione strict, potrebbe 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.

Assegnare utenti a un locale

Una volta configurati i file di stringhe delle impostazioni internazionali, puoi assegnare gli utenti a una lingua corrispondente 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 che crei con i file di stringhe possono essere inserite nel campo Impostazioni internazionali facendo clic sul campo e digitando il nome del file di stringhe 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 di incorporamenti firmati

Puoi includere il 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. Per saperne di più sugli URL di incorporamento firmati e sugli strumenti per crearli, consulta la pagina di documentazione 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 diverse impostazioni internazionali. Tuttavia, puoi includere anche chiavi di localizzazione nelle variabili Liquid, che ti consentono di 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"
}

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 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 le impostazioni internazionali es_ES vedono i dati "Nazionale" e "Internazionale" localizzati in "Nacional" e "Internacional", rispettivamente.

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

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

Quando un utente con le impostazioni internazionali en esplora da questo riquadro nella dashboard, l'esplorazione viene filtrata in base al valore Domestic per il campo Flights From the US? e la tabella dei dati nell'esplorazione include 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 da questo 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 nell'esplorazione include 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 si applicano agli oggetti estesi e perfezionati

Tieni presente che le regole di localizzazione si applicano quando estendi viste, esplorazioni o dashboard LookML e quando perfeziona 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 di impostazioni internazionali.

Ad esempio, se abbiamo una visualizzazione di 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 nostri file di stringhe di impostazioni internazionali dobbiamo definire entrambe le stringhe di etichette di visualizzazione ("flight_info" e "enhanced_flight_info"). Se il livello di localizzazione del progetto è impostato su strict, non potremo eseguire il commit di alcun aggiornamento finché non avremo definito le nuove etichette o descrizioni.