Cómo localizar tu modelo de LookML

Con la localización de modelos, puedes personalizar la forma en que se muestran las etiquetas y descripciones de tu modelo según la configuración regional del usuario.

La localización no tiene que basarse en la ubicación geográfica ni en el idioma. Puedes usar la configuración regional para representar otros factores distintivos, como usuarios internos y externos, o administradores y colaboradores individuales, y personalizar tus etiquetas y descripciones según corresponda.

En esta página, se describen los pasos para localizar tu proyecto:

  1. Determina qué elementos se localizarán agregando etiquetas, etiquetas de grupo y descripciones a tu modelo.
  2. Proporciona las definiciones de localización para tu proyecto creando archivos de cadenas de configuración regional.
  3. Para habilitar la localización de tu proyecto, agrega parámetros de configuración de localización al archivo de manifiesto del proyecto.
  4. Determina la pantalla para diferentes usuarios asignándolos a configuraciones regionales.

La localización del modelo suele ocurrir en conjunto con un administrador que especifica la localización del formato de número y la configuración del idioma de la interfaz de usuario.

Cómo localizar etiquetas y descripciones en tu modelo

Puedes localizar etiquetas, agrupar etiquetas y descripciones en tu modelo, incluidas las siguientes:

También puedes crear paneles de LookML localizados en tu proyecto. Se pueden localizar los siguientes parámetros del panel de LookML:

Para ver todos los campos de tu proyecto que se pueden localizar, puedes establecer el nivel de localización de tu proyecto en strict. Con este parámetro de configuración, el IDE de Looker devuelve un error de validación de LookML para cualquier elemento de LookML que se pueda localizar, pero que no tenga etiquetas, y para cualquier cadena de tu modelo de LookML que se pueda localizar, pero que no esté definida en tus archivos de cadenas de configuración regional.

En el siguiente ejemplo de LookML, se proporcionan etiquetas para la vista flights y los campos id, country y number_of_engines. También se proporciona una descripción para el 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 ;;
  }
}

En los ejemplos que se incluyen en esta página, localizaremos estos valores en los archivos de cadenas con un nivel de localización permissive. Ten en cuenta que la dimensión location no tiene una etiqueta, por lo que podemos demostrar cómo se muestra una dimensión sin localización.

Cómo crear archivos de cadenas de configuración regional

Los archivos de cadenas de configuración regional usan pares clave-valor para definir cómo se muestran las etiquetas y las descripciones de tu modelo para cada configuración regional. En el lado izquierdo de cada par clave-valor, se encuentra la clave de localización, que es una cadena de etiqueta o descripción de tu modelo. En el lado derecho del par clave-valor, defines cómo deseas que se muestre esa cadena en la IU de Looker.

Para cada configuración regional que quieras usar en tu proyecto, debes crear un archivo de cadenas dedicado. Crea solo un archivo de cadenas para cada configuración regional. Debes tener un archivo de cadenas con un nombre que coincida con la configuración regional predeterminada. Por ejemplo, si especificaste default_locale: en en el archivo de manifiesto de tu proyecto, debes tener un archivo en tu modelo llamado en.strings.json. Cada cadena debe definirse en el archivo de cadenas de la configuración regional predeterminada o no se localizará.

Este ejemplo de un archivo en.strings.json se utilizará para todos los usuarios que tengan el valor Locale de en. En el siguiente ejemplo de LookML, en también se especifica como la configuración regional predeterminada, por lo que todas las cadenas deben definirse en este archivo para poder localizarse.

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

En la siguiente tabla, se muestra lo que vería un usuario con la configuración regional establecida en en en la tabla de datos de un Explorador de 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

Ten en cuenta lo siguiente:

  • En el ejemplo de LookML de la vista flights que se mostró anteriormente, no proporcionamos ninguna etiqueta para la dimensión location, por lo que Looker muestra el nombre de la dimensión en mayúsculas: "Ubicación".
  • No definimos la localización para la etiqueta "country" en nuestro archivo en.strings.json, por lo que Looker muestra la etiqueta tal como se define en nuestro archivo de vista, sin ponerla en mayúsculas: "country".

Como otro ejemplo, podemos crear un archivo es_ES.strings.json que se utilice para todos los usuarios con un valor de Locale de es_ES:

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

En la siguiente tabla, se muestra lo que vería un usuario con la configuración regional establecida en es_ES en 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

Ten en cuenta lo siguiente:

  • Al igual que en el ejemplo anterior, en la vista original con etiquetas y descripciones agregadas, no proporcionamos ninguna etiqueta para la dimensión location, por lo que Looker muestra el nombre de la dimensión en mayúsculas: "Ubicación".
  • No definimos la localización para la etiqueta "country" en nuestro archivo en.strings.json, que es nuestro archivo de cadenas de configuración regional predeterminado. Por lo tanto, aunque definimos "country" en nuestro archivo es_ES.strings.json, Looker no localiza esta cadena y muestra la etiqueta tal como se define en nuestro archivo de vista: "country".

Cómo agregar parámetros de configuración de localización al archivo de manifiesto de tu proyecto

Para habilitar la localización de tu proyecto, agrega el parámetro localization_settings al archivo de manifiesto del proyecto.

En el archivo de manifiesto, agrega la configuración de localización. Por ejemplo:

localization_settings: {
  default_locale: en
  localization_level: permissive
}

default_locale

El parámetro default_locale especifica el nombre del archivo de cadenas de configuración regional predeterminado en tu proyecto.

El archivo de cadenas de configuración regional predeterminado determina qué cadenas de tu modelo se localizan. Incluso si se define una cadena de etiqueta o descripción en otro archivo de cadenas de configuración regional, si no se define en el archivo de cadenas de configuración regional predeterminado, la IU de Looker mostrará la cadena sin localizar.

La configuración regional predeterminada de tu proyecto no se debe confundir con la configuración regional predeterminada para los usuarios de Looker. Tu administrador de Looker puede establecer una configuración regional predeterminada para tu instancia. Si no se establece ningún valor predeterminado, Looker usará en de forma predeterminada. Si tu administrador no ingresa específicamente un valor de configuración regional para un usuario o un grupo de usuarios al que pertenece el usuario, Looker le asigna al usuario la configuración regional predeterminada de la instancia. Además, si el administrador no estableció una configuración regional predeterminada para la instancia, Looker asigna al usuario la configuración regional en.

Por este motivo, a menos que tengas la certeza de que tu administrador de Looker establecerá el valor de Configuración regional para todos tus usuarios de Looker, debes establecer el parámetro default_locale de tu proyecto en la configuración regional predeterminada de tu instancia (o en en si no se estableció ningún valor predeterminado) y definir la localización de todas tus etiquetas y descripciones en el archivo .strings.json para esa configuración regional.

localization_level

El nivel de localización de tu proyecto especifica si se permiten elementos sin localizar en tu modelo:

  • Establece el nivel de localización en strict para requerir etiquetas localizadas para todos los modelos, Explores, vistas y campos de tu proyecto. El IDE de Looker devolverá un error de validación de LookML para cualquiera de estos elementos que no tengan etiquetas, y para cualquier etiqueta y descripción que no se definan en el archivo de cadenas de configuración regional predeterminado.
  • Establece el nivel de localización en permissive para permitir elementos sin etiquetas y para permitir etiquetas y descripciones que no estén definidas en el archivo de cadenas de localización predeterminado.

Incluso si deseas el nivel de localización strict, puede ser útil establecer el nivel de localización de tu proyecto en permissive cuando lo desarrolles para evitar errores de validación. Una vez que termines de localizar todas tus etiquetas y descripciones, puedes establecer el nivel de localización en strict para ver los errores.

Cómo asignar usuarios a una configuración regional

Una vez que hayas configurado los archivos de cadenas de configuración regional, puedes asignar usuarios a una configuración regional que corresponda a uno de los archivos de cadenas de configuración regional. Esto se puede hacer a nivel de la instancia, el grupo de usuarios o el usuario individual, con el campo Configuración regional o el atributo de usuario locale.

Por ejemplo, si quieres que un usuario vea las etiquetas y las descripciones definidas en el archivo es_ES.strings.json, el administrador de Looker debe establecer el parámetro de configuración Configuración regional del usuario en es_ES.

Los parámetros de configuración regional personalizados que creas con archivos de cadenas se pueden ingresar en el campo Configuración regional. Para ello, haz clic en el campo y escribe el nombre del archivo de cadenas en lugar de seleccionar un parámetro de configuración regional integrado en el menú desplegable. Para obtener más información, consulta la página de documentación de Usuarios.

Cómo configurar la configuración regional para los usuarios de la integración con acceso

Puedes incluir el valor de la configuración regional de un usuario en una URL de incorporación firmada como cualquier otro atributo del usuario. El formato exacto que se requiere para las URLs de incorporación firmadas depende del lenguaje de programación que se use para compilar la secuencia de comandos de la URL de incorporación firmada, pero el nombre del atributo del usuario es locale. Consulta la página de documentación sobre la Incorporación firmada para obtener más información sobre las URLs de incorporación firmadas y las herramientas para crear tu URL de incorporación firmada.

Cómo usar la configuración regional en variables de Liquid

Como se describió anteriormente, la localización del modelo te permite personalizar la visualización de las etiquetas y descripciones de tu modelo para diferentes configuraciones regionales. Sin embargo, también puedes incluir claves de localización en las variables de Liquid, lo que te permite localizar tus valores de datos.

Por ejemplo, en nuestro archivo de cadenas de configuración regional predeterminado llamado en.strings.json, podemos crear las claves de localización domestic y international con las siguientes entradas:

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

Luego, en nuestro archivo es_ES.strings.json, podemos proporcionar versiones en español de estas claves de localización:

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

Desde allí, podemos usar las claves de localización domestic y international en variables de Liquid para localizar el resultado de una dimensión:

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

Los usuarios con la configuración regional en verán los siguientes resultados:

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

Los usuarios con la configuración regional es_ES verán los siguientes resultados:

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

Los usuarios con la configuración regional es_ES ven los datos de "Nacional" y "Extranjero" localizados como "Nacional" y "Internacional", respectivamente.

También puedes usar Liquid en los filtros del panel de LookML y los filtros de elementos del panel de LookML para localizar el valor predeterminado en un filtro. Por ejemplo, si un panel de LookML tiene un mosaico que usa datos de este modelo localizado y hay un filtro en ese mosaico definido en LookML de la siguiente manera:

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

Cuando un usuario con la configuración regional en explora desde ese mosaico en el panel, el Explorar se filtrará según el valor Domestic para el campo Flights From the US?, y la tabla de datos en el Explorar incluirá los siguientes resultados:

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

Cuando un usuario con la configuración regional es_ES explora desde ese mosaico en el panel, la función Explorar se filtrará según el valor Nacional para el campo Vuelos ¿De Los Estados Unidos?, y la tabla de datos en Explorar incluirá los siguientes resultados:

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

Cómo se aplican las reglas de localización a los objetos extendidos y refinados

Ten en cuenta que las reglas de localización se aplican cuando extiendes vistas, Explorar o paneles de LookML, y cuando refinas vistas o Explorar.

Si extendiste o refinaste un objeto y, luego, agregaste etiquetas o descripciones nuevas, debes proporcionar definiciones de localización en los archivos de cadenas de configuración regional.

Por ejemplo, si tenemos una vista flights:


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

Luego, creamos una vista nueva que extiende la vista flights:

include: "/views/flights.view"

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

En nuestros archivos de cadenas de configuración regional, deberíamos definir ambas cadenas de etiquetas de vista ("flight_info" y "enhanced_flight_info"). Si el nivel de localización del proyecto se establece en strict, no podríamos confirmar ninguna actualización hasta que definamos las nuevas etiquetas o descripciones.