Localiser votre modèle LookML

Avec la localisation des modèles, vous pouvez personnaliser l'affichage des libellés et descriptions d'un modèle en fonction des paramètres régionaux de l'utilisateur.

La localisation ne doit pas nécessairement reposer sur l'emplacement géographique ou la langue. Vous pouvez en effet utiliser des paramètres régionaux pour représenter d'autres facteurs distinctifs — utilisateurs internes et externes, responsables et collaborateurs individuels, etc. — et personnaliser les libellés et descriptions en conséquence.

Cette page décrit la procédure de localisation d'un projet :

  1. Déterminez les éléments à localiser en ajoutant des libellés, libellés de groupe et descriptions à votre modèle.
  2. Spécifiez les définitions de localisation de votre projet en créant des fichiers de chaînes de paramètres régionaux.
  3. Activez la localisation pour votre projet en ajoutant des paramètres de localisation au fichier manifeste du projet.
  4. Déterminez l'affichage destiné aux différents utilisateurs en associant les utilisateurs à des paramètres régionaux.

Un modèle est généralement localisé par un administrateur qui spécifie les paramètres de localisation du format numérique et de langue de l'interface utilisateur.

Localiser les libellés et les descriptions dans votre modèle

Vous pouvez localiser les libellés, libellés de groupe et descriptions d'un modèle, notamment :

Vous pouvez également créer des tableaux de bord LookML localisés dans votre projet. Les paramètres suivants du tableau de bord LookML peuvent être localisés :

Pour afficher tous les champs pouvant être localisés dans votre projet, vous pouvez définir le niveau de localisation de votre projet sur strict. Avec ce paramètre, l'IDE Looker renvoie une erreur de validation LookML pour tous les éléments LookML qui peuvent être localisés, mais qui ne possèdent pas de libellé, ainsi que pour toutes les chaînes de votre modèle LookML qui peuvent être localisées, mais qui ne sont pas définies dans vos fichiers de chaînes de paramètres régionaux.

Dans l'exemple LookML suivant, des libellés sont fournis pour la vue flights et les champs id, country et number_of_engines. Une description est également fournie pour le champ 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 ;;
  }
}

Dans les exemples qui suivent sur cette page, nous allons localiser ces valeurs dans les fichiers de chaînes à l'aide d'un niveau de localisation permissive. À noter que la dimension location ne possède pas de libellé, ce qui illustre comment se présente une dimension non localisée.

Création de fichiers de chaînes de paramètres régionaux

Les fichiers de chaînes de paramètres régionaux utilisent des paires clé-valeur pour définir l'affichage des libellés et descriptions d'un modèle pour chaque groupe de paramètres régionaux. À gauche de chaque paire clé-valeur se trouve la clé de localisation, qui est une chaîne de libellé ou de description issue de votre modèle. C'est à droite de la paire clé-valeur que vous définissez la valeur affichée pour cette chaîne dans l'interface utilisateur Looker.

Pour chaque paramètre régional que vous souhaitez utiliser pour votre projet, vous devez créer un fichier de chaînes dédié. Ne créez qu'un seul fichier de chaînes pour chaque paramètre régional. Vous devez disposer d'un fichier de chaînes dont le nom correspond aux paramètres régionaux par défaut. Par exemple, si vous avez spécifié default_locale: en dans le fichier manifeste de votre projet, vous devez avoir un fichier dans votre modèle appelé en.strings.json. Chaque chaîne doit être définie dans le fichier de chaînes de paramètres régionaux par défaut, sinon elle ne pourra pas être localisée.

Cet exemple de fichier en.strings.json sera utilisé pour tous les utilisateurs dont la valeur Locale est en. Dans l'exemple LookML suivant, en est également indiqué pour les paramètres régionaux par défaut. Toutes les chaînes doivent donc être définies dans ce fichier pour pouvoir être localisées.

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

Le tableau suivant montre ce qu'un utilisateur dont les paramètres régionaux sont définis sur en verrait dans le tableau de données d'une exploration 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

Veuillez noter les points suivants :

  • Dans l'exemple de fichier LookML de la vue flights présenté précédemment, nous n'avons indiqué aucun libellé pour la dimension location. Looker affiche donc le nom de cette dimension, avec une majuscule : "Location".
  • Comme nous n'avons pas défini de localisation pour le libellé "country" dans le fichier en.strings.json, Looker l'affiche tel qu'il est défini dans le fichier de vue, sans majuscule : "country".

Autre exemple : nous allons créer un fichier es_ES.strings.json destiné à tous les utilisateurs pour lesquels la valeur de Locale est es_ES :

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

Le tableau suivant montre ce qu'un utilisateur dont le paramètre régional est défini sur es_ES verrait dans 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

Veuillez noter les points suivants :

  • Comme dans l'exemple précédent, nous n'avons indiqué dans la vue d'origine avec les libellés et les descriptions ajoutés aucun libellé pour la dimension location. Looker affiche donc le nom de cette dernière, avec une majuscule : "Location".
  • Nous n'avons pas défini de localisation pour le libellé "country" dans le fichier en.strings.json, qui est notre fichier de chaînes de paramètres régionaux par défaut. Par conséquent, même si nous avons défini "country" dans le fichier es_ES.strings.json, Looker ne localise pas cette chaîne et affiche le libellé tel qu'il est défini dans le fichier de vue : "country".

Ajouter des paramètres de localisation au fichier manifeste de votre projet

Pour activer la localisation pour votre projet, ajoutez le paramètre localization_settings au fichier manifeste de votre projet.

Ajoutez vos paramètres de localisation dans le fichier manifeste. Exemple :

localization_settings: {
  default_locale: en
  localization_level: permissive
}

default_locale

Le paramètre default_locale indique le nom du fichier de chaînes de paramètres régionaux par défaut de votre projet.

Ce fichier détermine les chaînes du modèle à localiser. Même si une chaîne de libellé ou de description est définie dans un autre fichier de chaînes de paramètres régionaux, si elle n'est pas définie dans celui des paramètres régionaux par défaut, l'interface utilisateur Looker affiche la chaîne non localisée.

Les paramètres régionaux par défaut du projet ne doivent pas être confondus avec ceux des utilisateurs Looker. Votre administrateur Looker peut définir un paramètre régional par défaut pour votre instance. Si aucune valeur par défaut n'est définie, Looker utilise en. Si votre administrateur ne saisit pas explicitement une valeur Locale pour un utilisateur ou un groupe d'utilisateurs auquel il appartient, Looker attribue à l'utilisateur les paramètres régionaux par défaut de l'instance. Par ailleurs, si l'administrateur ne définit pas de paramètres régionaux par défaut pour l'instance, Looker attribue l'utilisateur aux paramètres régionaux en.

Par conséquent, à moins que vous ne soyez sûr que votre administrateur Looker définira la valeur Locale pour tous vos utilisateurs Looker, vous devez définir le paramètre default_locale de votre projet sur les paramètres régionaux par défaut de votre instance (ou sur en si aucun paramètre par défaut n'a été défini), et définir la localisation de tous vos libellés et descriptions dans le fichier .strings.json pour ces paramètres régionaux.

localization_level

Le niveau de localisation de votre projet détermine si les éléments non localisés sont autorisés ou non dans votre modèle :

  • Définissez le niveau de localisation sur strict pour exiger des libellés localisés pour tous les modèles, explorations, vues et champs de votre projet. Dans ce cas, l'environnement IDE de Looker renvoie une erreur de validation LookML si l'un de ces éléments ne possède pas de libellé, et en cas de libellé ou de description non défini dans le fichier de chaînes de paramètres régionaux par défaut.
  • Définissez le niveau de localisation sur permissive pour autoriser les éléments sans libellé, ainsi que les libellés et descriptions non définis dans le fichier de chaînes de paramètres régionaux par défaut.

Même si vous souhaitez le niveau de localisation strict, il peut être préférable d'opter pour le niveau permissive lors du développement du projet, afin d'éviter les erreurs de validation. Une fois la localisation de vos libellés et descriptions terminée, vous pouvez activer le niveau de localisation strict afin de vérifier les éventuelles erreurs.

Attribution d'utilisateurs à des paramètres régionaux

Une fois les fichiers de chaînes de paramètres régionaux définis, vous pouvez attribuer des utilisateurs à des paramètres régionaux correspondant à l'un de ces fichiers. Vous pouvez le faire au niveau de l'instance, du groupe d'utilisateurs ou de l'utilisateur individuel, à l'aide du champ Paramètres régionaux ou de l'attribut utilisateur locale.

Par exemple, si vous souhaitez qu'un utilisateur voie les libellés et les descriptions définis dans le fichier es_ES.strings.json, votre administrateur Looker doit définir le paramètre Paramètres régionaux de l'utilisateur sur es_ES.

Il est possible de saisir les paramètres régionaux personnalisés que vous créez avec des fichiers de chaînes dans le champ Paramètres régionaux. Pour cela, cliquez sur le champ et saisissez le nom de la chaîne, au lieu de sélectionner les paramètres régionaux intégrés dans le menu déroulant. Pour en savoir plus, consultez la page de documentation Utilisateurs.

Définir les paramètres régionaux pour les utilisateurs d'incorporations signées

Vous pouvez insérer la valeur des paramètres régionaux d'un utilisateur dans une URL d'intégration signée, comme n'importe quel autre attribut utilisateur. Le format précis requis pour les incorporations signées varie en fonction du langage de programmation utilisé pour créer le script de cette URL, mais le nom de l'attribut utilisateur est toujours locale. Pour en savoir plus sur les URL d'intégration signées et les outils de création correspondants, consultez la page de documentation Intégration signée.

Utilisation de paramètres régionaux dans des variables Liquid

Comme décrit précédemment, la localisation d'un modèle permet de personnaliser l'affichage de ses libellés et descriptions en fonction des paramètres régionaux. Néanmoins, vous pouvez aussi insérer des clés de localisation dans des variables Liquid, ce qui vous permet de localiser également la valeur de vos données.

Par exemple, dans notre fichier de chaînes de paramètres régionaux par défaut nommé en.strings.json, nous pouvons créer les clés de localisation domestic et international avec les entrées suivantes :

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

Ensuite, dans le fichier es_ES.strings.json, vous pouvez insérer des versions en espagnol de ces clés de localisation :

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

À ce stade, vous pouvez utiliser les clés de localisation domestic et international dans des variables Liquid afin de localiser la sortie d'une dimension :

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

Les utilisateurs pour lesquels la valeur du paramètre locale est en verront les résultats suivants :

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

Les utilisateurs pour lesquels la valeur du paramètre locale est es_ES verront les résultats suivants :

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

Les utilisateurs pour lesquels la valeur du paramètre locale est es_ES voient les données "National" et "International" localisées en "Nacional" et "Internacional", respectivement.

Vous pouvez également utiliser Liquid dans les filtres de tableau de bord LookML et les filtres d'éléments de tableau de bord LookML pour localiser la valeur par défaut d'un filtre. Prenons l'exemple d'un tableau de bord LookML contenant une vignette utilisant les données de ce modèle localisé, à laquelle le filtre suivant serait appliqué dans LookML :

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

Lorsqu'un utilisateur dont le paramètre régional est défini sur en explore les données à partir de cette vignette du tableau de bord, l'exploration est filtrée sur la valeur Domestic pour le champ Flights From the US?. Le tableau de données de l'exploration inclut les résultats suivants :

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

Lorsqu'un utilisateur dont le paramètre régional est défini sur es_ES explore les données à partir de cette vignette du tableau de bord, l'exploration est filtrée sur la valeur Nacional pour le champ Vuelos ¿De Los Estados Unidos?. Le tableau de données de l'exploration inclut les résultats suivants :

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

Comprendre comment les règles de localisation s'appliquent aux objets étendus et affinés

Tenez compte des règles de localisation lorsque vous étendez des vues, des explorations ou des tableaux de bord LookML, et lorsque vous affinez des vues ou des explorations.

Si vous étendez ou affinez un objet, puis ajoutez de nouveaux libellés ou de nouvelles descriptions, vous devez fournir des définitions de localisation dans les fichiers de chaînes de paramètres régionaux.

Par exemple, si nous avons une vue flights :


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

Et si nous créons ensuite une vue qui étend la vue flights :

include: "/views/flights.view"

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

Dans nos fichiers de chaînes de paramètres régionaux, nous devrons définir les deux chaînes de libellés de vues ("flight_info" et "enhanced_flight_info"). Si le niveau de localisation du projet est défini sur strict, nous ne pourrons valider aucune modification tant que nous n'aurons pas défini les nouveaux libellés ou descriptions.