Localizar un modelo de LookML

Con la localización de modelos, puedes personalizar cómo se muestran las etiquetas y descripciones de tu modelo según la configuración regional de un usuario.

La localización no tiene por qué basarse en la ubicación geográfica o el idioma. Puedes usar configuraciones regionales para representar otros factores distintivos, como usuarios internos frente a externos o gestores frente a colaboradores individuales, y personalizar las etiquetas y descripciones en consecuencia.

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

  1. Determina qué elementos se localizarán añadiendo etiquetas, etiquetas de grupo y descripciones a tu modelo.
  2. Proporciona las definiciones de localización de tu proyecto creando archivos de cadenas de configuración regional.
  3. Para habilitar la localización de tu proyecto, añade ajustes de localización al archivo de manifiesto del proyecto.
  4. Determina la pantalla de los distintos usuarios asignándolos a configuraciones regionales.

La localización de modelos suele realizarse junto con un administrador que especifica la localización del formato de número y la configuración del idioma de la interfaz de usuario.

Localizar etiquetas y descripciones en un modelo

Puedes localizar etiquetas, etiquetas de grupo y descripciones de tu modelo, incluidas las siguientes:

También puedes crear paneles de control de LookML localizados en tu proyecto. Los siguientes parámetros de panel de control de LookML se pueden localizar:

Para ver todos los campos de tu proyecto que se pueden localizar, puedes definir el nivel de localización del proyecto como strict. Con este ajuste, 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, así como 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 del 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 muestran en esta página, localizaremos estos valores en los archivos de cadenas con un permissive nivel de localización. Ten en cuenta que la dimensión location no tiene ninguna etiqueta, por lo que podemos mostrar cómo se muestra una dimensión sin localización.

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 en cada configuración regional. En la parte izquierda de cada par clave-valor se encuentra la clave de localización, que es una etiqueta o una cadena de descripción de tu modelo. En la parte derecha del par clave-valor, se define cómo se quiere que se muestre esa cadena en la interfaz de usuario de Looker.

Para cada configuración regional que quieras usar en tu proyecto, debes crear un archivo de cadenas específico. Cree solo un archivo de cadenas para cada configuración regional. Debes tener un archivo de cadenas con el nombre de la configuración regional predeterminada. Por ejemplo, si has especificado 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. De lo contrario, no se localizará.

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

{
  "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 en en la tabla de datos de una Exploración 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 flightsejemplo de LookML que hemos visto antes, no hemos proporcionado ninguna etiqueta para la dimensión location, por lo que Looker muestra el nombre de la dimensión con la primera letra en mayúscula: "Location".
  • No hemos definido la localización de 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 ponerle la primera letra en mayúscula: "country".

Por ejemplo, podemos crear un archivo es_ES.strings.json que se utilice para todos los usuarios con el valor 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 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 las etiquetas y las descripciones añadidas, no hemos proporcionado ninguna etiqueta para la dimensión location, por lo que Looker muestra el nombre de la dimensión con la primera letra en mayúscula: "Location".
  • No hemos definido la localización de la etiqueta "country" en nuestro archivo en.strings.json, que es el archivo de cadenas de configuración regional predeterminado. Por lo tanto, aunque hayamos definido "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".

Añadir ajustes de localización al archivo de manifiesto de un proyecto

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

En el archivo de manifiesto, añade los ajustes de localización. Veamos un 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 predeterminada de tu proyecto.

El archivo de cadenas de configuración regional predeterminado determina qué cadenas de tu modelo se localizan. Aunque se defina una cadena de etiqueta o de 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 interfaz de usuario de Looker mostrará la cadena sin localizar.

La configuración regional predeterminada de tu proyecto no debe confundirse con la configuración regional predeterminada de los usuarios de Looker. Tu administrador de Looker puede definir una configuración regional predeterminada para tu instancia. Si no se define ningún valor predeterminado, Looker usará en. Si tu administrador no introduce un valor de Locale específico para un usuario o un grupo de usuarios al que pertenece el usuario, Looker asigna al usuario la configuración regional predeterminada de la instancia. Además, si el administrador no ha definido una configuración regional de instancia predeterminada, Looker asigna al usuario la configuración regional en.

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

localization_level

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

  • Define el nivel de localización como strict para que se requieran etiquetas localizadas en todos los modelos, Exploraciones, 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 tenga etiquetas, así como para cualquier etiqueta y descripción que no se haya definido en el archivo de cadenas de configuración regional predeterminada.
  • Define el nivel de localización en permissive para permitir elementos sin etiquetas y etiquetas y descripciones que no estén definidas en el archivo de cadenas de localización predeterminado.

Aunque quieras usar el nivel de localización strict, puede ser útil definir el nivel de localización de tu proyecto como permissive durante el desarrollo para evitar errores de validación. Cuando hayas terminado de localizar todas tus etiquetas y descripciones, puedes definir el nivel de localización en strict para ver si hay algún error.

Asignar usuarios a una configuración regional

Una vez que hayas configurado los archivos de cadenas de configuración regional, podrás 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 instancia, grupo de usuarios o usuario individual mediante 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, tu administrador de Looker debe definir el valor es_ES en el ajuste Configuración regional del usuario.

Las configuraciones regionales personalizadas que crees con archivos de cadena se pueden introducir en el campo Configuración regional haciendo clic en el campo y escribiendo el nombre del archivo de cadena en lugar de seleccionar una configuración regional integrada en el menú desplegable. Para obtener más información, consulta la página de documentación Usuarios.

.

Definir la configuración regional de los usuarios insertados con sesión iniciada

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

Usar la configuración regional en variables de Liquid

Como se ha descrito anteriormente, la localización de modelos 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 variables de Liquid, lo que te permite localizar los valores de tus 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"
}

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

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

A partir de ahí, 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 "Nacional" e "Internacional" localizados.

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

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

Cuando un usuario con la configuración regional en explora desde esa baldosa del panel de control, la exploración se filtrará por el valor Domestic del campo Flights From the US? y la tabla de datos de la exploración 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 explore desde esa baldosa del panel de control, la exploración se filtrará por el valor Nacional del campo Vuelos ¿De Los Estados Unidos? y la tabla de datos de la exploración 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 ampliados y refinados

Ten en cuenta que las reglas de localización se aplican cuando amplías vistas, Exploraciones o dashboards de LookML y cuando refinas vistas o Exploraciones.

Si has ampliado o perfeccionado un objeto y, a continuación, has añadido nuevas etiquetas o descripciones, 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 ;;
  ...
}

A continuación, creamos una vista que amplía 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, tendríamos que definir las cadenas de etiquetas de las dos vistas ("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.