Con la localización de modelos, puedes personalizar la forma en que se muestran las etiquetas y las descripciones de tu modelo según la configuración regional de un usuario.
La localización no tiene que basarse en la ubicación geográfica ni en el idioma. Puedes usar configuraciones regionales para representar otros factores distintivos, como usuarios internos versus externos, o administradores versus colaboradores individuales, y personalizar tus etiquetas y descripciones en consecuencia.
En esta página, se describen los pasos para localizar tu proyecto:
- Para determinar qué elementos se localizarán, agrega etiquetas, etiquetas de grupo y descripciones a tu modelo.
- Para proporcionar las definiciones de localización de tu proyecto, crea archivos de cadenas de configuración regional.
- Para habilitar la localización de tu proyecto, agrega parámetros de configuración de localización al archivo de manifiesto del proyecto.
- Para determinar la visualización para diferentes usuarios, asígnalos a las configuraciones regionales.
La localización de modelos suele ocurrir 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.
Cómo localizar etiquetas y descripciones en tu modelo
Puedes localizar etiquetas, etiquetas de grupo y descripciones en tu modelo, incluidos los siguientes elementos:
labelpara el campo, el modelo, la exploración o la vistalabelpara las aplicaciones en el framework de extensión de Lookergroup_labelpara la exploración ygroup_labelpara el campogroup_item_labelpara el campodescriptionpara la exploración ydescriptionpara el campo- Períodos, intervalos y períodos personalizados generados por
dimension_groupparámetros (para obtener más información, consulta la sección Cómo localizar grupos de dimensiones en esta página)
También puedes crear paneles de LookML localizados en tu proyecto. Se pueden localizar los siguientes parámetros del panel de LookML:
titledescriptiontext(que es un subparámetro del parámetronotey se puede aplicar a todos los tipos de elementos del panel, además de los elementos detype: text)comparison_labelsingle_value_title
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 muestra 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 siguen 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 etiqueta o una cadena de descripción de tu modelo. En el lado derecho del par clave-valor, defines cómo quieres 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 cuyo nombre 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 configuración regional predeterminado o no se localizará.
Este ejemplo de un 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, también se especifica en 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 su configuración regional establecida en 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 ejemplo de LookML de la vista
flightsque se muestra anteriormente en esta página, no se proporcionó ninguna etiqueta para la dimensiónlocation, por lo que Looker escribe en mayúscula el nombre de la dimensión y lo muestra como "Location". - La localización de la etiqueta "country" no se definió en el archivo
en.strings.json, por lo que Looker muestra la etiqueta tal como se define en el archivo de vista, sin escribirla en mayúscula: "country".
Como otro ejemplo, podemos crear un archivo es_ES.strings.json que se utilice para todos los usuarios con un valor Configuración regional 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 su 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 se proporcionó ninguna etiqueta para la dimensión de ubicación, por lo que Looker escribe en mayúscula y muestra el nombre de la dimensión como "Location".
- No se definió la localización para la etiqueta "country" en el archivo en.strings.json, que es el archivo de cadenas de configuración regional predeterminado. Esto significa que, aunque "country" se definió en el archivo es_ES.strings.json, Looker no localiza esta cadena y muestra la etiqueta tal como se define en el 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 localization_settings parámetro al archivo de manifiesto del proyecto.
En el archivo de manifiesto, agrega tu configuración de localización. A continuación, se presenta 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 predeterminado en tu proyecto.
El archivo de cadenas de configuración regional predeterminado determina qué cadenas de tu modelo se localizan. Incluso si una etiqueta o una cadena de descripción se define 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 muestra la cadena sin localizar.
No confundas la configuración regional predeterminada de tu proyecto 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 usa 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 asigna el usuario a la configuración regional predeterminada de la instancia. Además, si el administrador no estableció una configuración regional predeterminada de la instancia, Looker asigna el usuario a la configuración regional en.
Por este motivo, a menos que estés seguro 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
strictpara requerir etiquetas localizadas para todos los modelos, las exploraciones, las vistas y los campos de tu proyecto. El IDE de Looker muestra un error de validación de LookML para cualquiera de estos elementos que no tengan etiquetas, así como para cualquier etiqueta y descripción que no se defina en el archivo de cadenas de configuración regional predeterminado. - Establece el nivel de localización en
permissivepara 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 tus 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 instancia, grupo de usuarios o 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, tu administrador de Looker debe establecer el parámetro de configuración Configuración regional del usuario en es_ES.
Las configuraciones regionales personalizadas 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 una configuración regional integrada en el menú desplegable. Para obtener más información, consulta la página de documentación Usuarios.
Cómo establecer la configuración regional para los usuarios de incorporación firmada
Puedes incluir el valor de configuración regional de un usuario en una URL de incorporación firmada como cualquier otro atributo de usuario. El formato exacto que se requiere para las incorporaciones 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 de usuario es locale. Consulta la página de documentación Incorporación firmada para obtener más información sobre las URLs de incorporación firmadas y las herramientas para compilar tu URL de incorporación firmada.
Cómo localizar grupos de dimensiones
Puedes usar la localización de modelos con el dimension_group parámetro. Esta función permite que los desarrolladores de LookML proporcionen traducciones personalizadas para lo siguiente:
- Los períodos de los grupos de dimensiones
type: time(comomonth,yearo las opciones de período estándar) - Los intervalos de
type: durationgrupos de dimensiones (comomonths,yearso las opciones de intervalo estándar) - Los períodos personalizados de los grupos de dimensiones
type: custom_calendar(comocustom_periodocustom_year). Consulta Cómo localizar grupos de dimensiones de calendario personalizados.
La localización de grupos de dimensiones es particularmente útil para proporcionar nombres precisos y personalizados para los campos que generan los grupos de dimensiones de calendario personalizados (por ejemplo, cambiar el nombre de un campo predeterminado a "Período de ventas").
Para traducir o cambiar el nombre de los valores de período e intervalo que genera un grupo de dimensiones, agrega la cadena de período, intervalo o período personalizado como clave en tus archivos de cadenas de configuración regional (como en.strings.json y es_ES.strings.json) y proporciona el valor de visualización traducido.
A continuación, se muestra el LookML para un grupo de dimensiones de ejemplo:
dimension_group: created {
type: time
timeframes: [time, date, week, month, year]
sql: ${TABLE}.created_at ;;
}
Este es un ejemplo de archivo de cadenas de configuración regional en.strings.json que proporciona una traducción de par clave-valor para year:
{
"year": "translated year",
}
En el selector de campos de la exploración, el grupo de dimensiones se muestra de la siguiente manera:
Created Date
Date
Month
Time
translated year
Week
Cómo localizar grupos de dimensiones de calendario personalizados
Para los grupos de dimensiones de type: custom_calendar, debes agregar el período personalizado (como custom_date y custom_year) como clave en tus archivos de cadenas de configuración regional y proporcionar el valor de visualización traducido.
A continuación, se muestra el LookML para un grupo de dimensiones de calendario personalizado de ejemplo:
dimension_group: cust_created_localized {
type: custom_calendar
custom_timeframes: [custom_date, custom_week, custom_period, custom_year]
sql: ${TABLE}.created_at ;;
based_on_calendar: retail_custom_calendar_v2
}
Este es un ejemplo de archivo de cadenas de configuración regional en.strings.json que proporciona traducciones de pares clave-valor para period y custom_week:
{
"period": "translated period",
"custom_week": "translated custom week"
}
En el selector de exploración, el grupo de dimensiones de calendario personalizado se muestra de la siguiente manera:
Cust Created Localized
Fiscal Date
Fiscal Period
Fiscal Year
translated custom week
Ten en cuenta lo siguiente sobre cómo Looker muestra el grupo de dimensiones de calendario personalizado en el selector de exploración:
- Debido a que el archivo de cadenas de configuración regional
en.strings.jsonespecifica una traducción paracustom_week, el períodocustom_weekdel grupo de dimensiones usa el valor de traducción (semana personalizada traducida) en lugar del valor predeterminado (Semana fiscal). - El archivo de cadenas de configuración regional
en.strings.jsonproporciona una traducción paraperiod, pero no paracustom_period, por lo que el períodocustom_perioddel grupo de dimensiones personalizado no se traduce y se muestra con la etiqueta predeterminada (Período fiscal). Para que Looker traduzca el períodocustom_period, el archivo de cadenas debe tener una traducción de par clave-valor específicamente paracustom_period. - No se traducen el resto de los períodos del grupo de dimensiones personalizado. En cambio, se les antepone Fiscal, como se describe en Etiquetas para grupos de dimensiones de calendario personalizados.
Cómo usar la configuración regional en variables de Liquid
Como se describió anteriormente, la localización de modelos te permite personalizar la visualización de las etiquetas y las 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 también 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"
}
Luego, 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 "Domestic" y "International" localizados en "Nacional" e "Internacional", respectivamente.
También puedes usar Liquid en los filtros de paneles de LookML y los filtros de elementos de paneles 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, la exploración se filtrará según el valor Domestic para el campo Flights From the US? y la tabla de datos en 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 explora desde ese mosaico en el panel, la exploración se filtrará según el valor Nacional para el campo Vuelos ¿De Los Estados Unidos? y la tabla de datos en 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 |
Información sobre 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 estás extendiendo vistas, exploraciones o paneles de LookML, y cuando estás refinando vistas o exploraciones.
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 etiquetas o descripciones nuevas.
Localización de modelos e importación de proyectos
Puedes usar la localización de modelos en proyectos que importan otros proyectos. El comportamiento predeterminado es que Looker use solo las definiciones de configuración regional del proyecto de importación, si el proyecto de importación tiene definiciones de configuración regional. Sin embargo, si quieres combinar las definiciones de configuración regional de un proyecto importado con las definiciones de configuración regional del proyecto de importación, puedes agregar la instrucción import_locale_defs: yes a tu parámetro localization_settings en el archivo de manifiesto (manifest.lkml) de tu proyecto de importación:
project_name: "my_project"
localization_settings: {
default_locale: en
localization_level: permissive
import_locale_defs: yes
}
Cuando import_locale_defs se establece en yes, Looker combina un archivo de cadenas que corresponde a cada configuración regional de cada proyecto.
Reglas de prioridad para claves duplicadas
Si se define la misma clave en diferentes archivos de cadenas en los proyectos importados y también en el proyecto de importación, Looker aplica las siguientes reglas de prioridad cuando combina las definiciones de configuración regional:
- Las claves del proyecto de importación tienen prioridad: Las claves que se definen en los archivos de configuración regional del proyecto de importación siempre anulan las claves duplicadas de los archivos de configuración regional de cualquier proyecto importado.
- El orden de importación determina la prioridad: Si una clave duplicada existe solo dentro de los archivos de configuración regional de los proyectos importados, Looker resuelve el conflicto según el orden en que se importan los proyectos en el archivo de manifiesto del proyecto de importación. Las definiciones de pares clave-valor en los proyectos que se importan más adelante en el archivo de manifiesto tienen prioridad sobre las que se importan antes.
- Se usa la configuración del proyecto de importación: La configuración de localización del proyecto de importación (como
default_localeylocalization_level) se usa en todos los archivos combinados, lo que anula cualquier configuración de localización que se defina en los archivos de manifiesto de los proyectos importados.