Localisation du modèle LookML

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

La localisation ne doit pas nécessairement être basée 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 quels éléments seront localisés en ajoutant des libellés, des libellés de groupe et des descriptions à votre modèle.
  2. Fournissez les définitions de localisation pour 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. Adaptez l'affichage à différents utilisateurs en attribuant les utilisateurs à des paramètres régionaux.

La localisation de modèles est souvent effectuée avec l'intervention d'un administrateur qui définit les paramètres de localisation du format numérique et de langue de l'interface utilisateur.

Localiser les étiquettes 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 de votre projet qui peuvent être localisés, définissez 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 pouvant être localisés, mais qui n'ont pas de libellé, et pour toutes les chaînes de votre modèle LookML qui peuvent l'être, mais qui ne sont pas définies dans vos fichiers de chaînes de paramètres régionaux.

Dans l'exemple de code LookML suivant, des étiquettes sont fournies pour la vue flights et pour 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 suivants sur cette page, nous localiserons ces valeurs dans les fichiers de chaînes à l'aide d'un niveau de localisation permissive. Notez que la dimension location n'a pas de libellé, ce qui nous permet de montrer comment une dimension sans localisation est affiché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. La clé de localisation se trouve à gauche de chaque paire clé-valeur. Il s'agit d'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é. Créez 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, votre modèle doit comporter un fichier 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, sans quoi elle ne sera pas localisée.

Cet exemple de fichier en.strings.json sera utilisé pour tous les utilisateurs dont la valeur Locale est en. Dans l'exemple de code LookML suivant, en est également spécifié comme paramètre régional par défaut. Par conséquent, toutes les chaînes doivent être définies dans ce fichier pour ê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 verra ce qu'il verra dans la table 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 code LookML de la vue flights présenté précédemment, nous n'avons pas fourni de libellé pour la dimension location. Looker affiche donc le nom de la dimension, en majuscules: "Location".
  • Nous n'avons pas défini de localisation pour le libellé "country" dans le fichier en.strings.json. Looker affiche donc le libellé tel qu'il est défini dans le fichier de vue, sans majuscule: "country".

Nous pouvons également créer un fichier es_ES.strings.json pour tous les utilisateurs dont la valeur 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'il verra dans Looker pour un utilisateur dont les paramètres régionaux sont es_ES:

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, dans la vue d'origine avec libellés et descriptions ajoutés, nous n'avons pas fourni de libellé pour la dimension location. Looker affiche donc le nom de la dimension, en majuscules: "Location".
  • Nous n'avons pas défini de localisation pour le libellé "country" dans notre fichier en.strings.json, qui est notre fichier de chaînes de paramètres régionaux par défaut. Ainsi, même si nous avons défini le terme "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 notre 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 spécifie le nom du fichier de chaînes de paramètres régionaux par défaut dans 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 le fichier de chaînes de paramètres régionaux par défaut, l'interface utilisateur de Looker affiche la chaîne non localisée.

Les paramètres régionaux par défaut pour votre projet ne doivent pas être confondus avec les paramètres régionaux par défaut des utilisateurs Looker. Votre administrateur Looker peut définir des paramètres régionaux par défaut pour votre instance. Si aucune valeur par défaut n'est définie, Looker utilise la valeur par défaut en. Si votre administrateur ne saisit pas de valeur Locale pour un utilisateur ou un groupe d'utilisateurs auquel l'utilisateur appartient, Looker attribue à l'utilisateur les paramètres régionaux par défaut de l'instance. Si l'administrateur n'a pas défini de paramètres régionaux par défaut pour l'instance, Looker affecte l'utilisateur aux paramètres régionaux en.

C'est pourquoi, sauf si vous êtes sûr que votre administrateur Looker va définir le paramètre 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 aucune valeur par défaut n'a été définie), et définir la localisation de tous vos libellés et descriptions dans le fichier .strings.json correspondant à 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 afin d'exiger des libellés localisés pour tous les modèles, explorations, vues et champs de votre projet. L'IDE Looker renverra une erreur de validation LookML pour tous les éléments qui n'ont pas de libellé, ainsi que pour les étiquettes et les descriptions qui ne sont pas définies 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é, et les libellés et descriptions qui ne sont pas définis dans le fichier de chaînes de localisation par défaut.

Même si vous souhaitez utiliser le niveau de localisation strict, il peut être utile de définir le niveau de localisation de votre projet sur permissive lorsque vous le développez afin d'éviter les erreurs de validation. Une fois que vous avez fini de localiser tous vos libellés et descriptions, vous pouvez définir le niveau de localisation sur strict pour afficher les erreurs éventuelles.

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. Pour ce faire, utilisez le champ Paramètres régionaux ou l'attribut utilisateur locale au niveau de l'instance, du groupe d'utilisateurs ou de l'utilisateur individuel.

Par exemple, si vous souhaitez qu'un utilisateur puisse voir les étiquettes et les descriptions définies dans le fichier es_ES.strings.json, votre administrateur Looker doit définir le paramètre Locale de l'utilisateur sur es_ES.

Vous pouvez saisir les paramètres régionaux personnalisés que vous créez avec des fichiers de chaîne dans le champ Paramètres régionaux. Pour ce faire, cliquez sur le champ et saisissez le nom du fichier de chaîne, plutôt que de sélectionner des paramètres régionaux intégrés dans le menu déroulant. Pour en savoir plus, consultez la page de documentation Utilisateurs.

Définir des paramètres régionaux pour les utilisateurs de l'intégration signée

Vous pouvez inclure les paramètres régionaux d'un utilisateur dans une URL d'intégration signée, comme n'importe quel autre attribut utilisateur. Le format exact requis pour les intégrations signées dépend du langage de programmation utilisé pour créer votre script d'URL d'intégration signée. Toutefois, le nom de l'attribut utilisateur est locale. Consultez la page de documentation Intégration signée pour en savoir plus sur les URL d'intégration signées et les outils permettant de créer votre URL d'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 vous permet de personnaliser l'affichage de ses libellés et descriptions en fonction des paramètres régionaux. Vous pouvez aussi inclure des clés de localisation dans les variables Liquid, ce qui vous permet de localiser également les valeurs 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, nous pouvons fournir des versions en espagnol de ces clés de localisation :

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

À partir de là, nous pouvons utiliser les clés de localisation domestic et international dans les variables Liquid pour 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 dont les paramètres régionaux sont en obtiendront 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 dont les paramètres régionaux sont es_ES obtiendront 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 dont les paramètres régionaux sont es_ES voient les données "National" et "International" localisées en "Nacional" et "Internacional", respectivement.

Vous pouvez également utiliser Liquid dans les filtres des tableaux de bord LookML et les filtres d'éléments des tableaux de bord LookML pour localiser la valeur par défaut d'un filtre. Par exemple, si un tableau de bord LookML comporte une vignette utilisant des données de ce modèle localisé et qu'un filtre sur cette vignette est défini dans LookML:

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

Lorsqu'un utilisateur utilisant les paramètres régionaux en effectue une exploration à partir de cette vignette du tableau de bord, l'exploration est filtrée en fonction de la valeur Domestic du champ Flights From the US? et la table de données de l'exploration inclura les résultats suivants:

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

Lorsqu'un utilisateur utilisant les paramètres régionaux es_ES effectue une exploration à partir de cette vignette du tableau de bord, l'exploration est filtrée en fonction de la valeur Nacional du champ Vuelos ¿De Los Estados Unidos?, et la table de données de l'exploration inclura 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

Sachez que les règles de localisation s'appliquent lorsque vous étendez des vues, des explorations ou des tableaux de bord LookML, et lorsque vous affinez des vues ou des explorations.

Si vous avez étendu ou affiné un objet, puis ajouté de nouveaux libellés ou 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 ;;
  ...
}

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 devrions définir les deux chaînes de libellé de vue ("flight_info" et "enhanced_flight_info"). Si le niveau de localisation du projet est défini sur strict, nous ne pourrons pas effectuer de mises à jour tant que les nouveaux libellés ou descriptions n'auront pas été définis.