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 :
- Déterminez les éléments à localiser en ajoutant des libellés, des libellés de groupe et des descriptions à votre modèle.
- Fournissez les définitions de localisation de votre projet en créant des fichiers de chaînes de paramètres régionaux.
- Activez la localisation de votre projet en ajoutant des paramètres de localisation au fichier manifeste du projet.
- Déterminez l'affichage destiné aux différents utilisateurs en attribuant des utilisateurs à des paramètres régionaux.
La localisation des modèles est souvent effectuée par un administrateur qui spécifie les paramètres de localisation du format numérique et de la langue de l'interface utilisateur.
Localisation des libellés et descriptions dans votre modèle
Vous pouvez localiser les libellés, libellés de groupe et descriptions d'un modèle, notamment :
labelpour un champ, un modèle, une exploration ou une vuelabelpour les applications dans le framework d'extension Lookergroup_labelpour une exploration etgroup_labelpour un champgroup_item_labelpour un champdescriptionpour une exploration etdescriptionpour un champ
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 :
titledescriptiontext(qui est un sous-paramètre du paramètrenoteet peut être appliqué à tous les types d'éléments de tableau de bord, à l'exception des éléments detype: text)comparison_labelsingle_value_title
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. Grâce à ce paramètre, l'environnement IDE de Looker renvoie une erreur de validation LookML si l'un de ces éléments localisables ne possède pas de libellé et si l'une des chaînes de votre modèle LookML localisable n'est pas définie dans les 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 suivants de cette page, nous allons localiser ces valeurs dans les fichiers de chaînes à l'aide d'un niveau de localisation permissive. Notez 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 groupe de paramètres régionaux 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 groupe de paramètres régionaux. 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 disposer d'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 Paramètres régionaux est en. Dans l'exemple LookML suivant, en est également indiqué pour les paramètres régionaux par défaut, et toutes les chaînes doivent donc être définies dans ce fichier dans l'ordre où elles doivent ê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 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 LookML de la vue
flightsprésenté plus haut sur cette page, aucun libellé n'a été fourni pour la dimensionlocation. Looker met donc en majuscule le nom de la dimension et l'affiche sous la forme "Location". - La localisation du libellé "country" n'a pas été définie dans le fichier
en.strings.json. Looker affiche donc le libellé tel qu'il est défini dans le fichier d'affichage, sans majuscule : "country".
Autre exemple : nous pouvons créer un es_ES.strings.json fichier qui sera utilisé pour tous les utilisateurs dont la valeur Paramètres régionaux 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 les paramètres régionaux sont définis 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, aucun libellé n'a été fourni pour la dimension "location" dans l'affichage d'origine avec les libellés et descriptions ajoutés. Looker met donc en majuscule le nom de la dimension et l'affiche sous la forme "Location".
- La localisation n'a pas été définie pour le libellé "country" dans le fichier en.strings.json, qui est le fichier de chaînes de paramètres régionaux par défaut. Cela signifie que, même si "country" a été défini 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 d'affichage : "country".
Ajout de paramètres de localisation au fichier manifeste d'un projet
Pour activer la localisation de votre projet, ajoutez le localization_settings paramètre 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.
Ne confondez pas les paramètres régionaux par défaut de votre projet 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 aucun paramètre par défaut n'est défini, Looker utilise en par défaut. Si votre administrateur ne saisit pas explicitement une valeur Paramètres régionaux pour un utilisateur ou un groupe d'utilisateurs auquel appartient l'utilisateur, 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 d'être sûr que l'administrateur Looker définira la valeur Paramètres régionaux de chaque utilisateur Looker, vous devez attribuer la valeur au paramètre default_locale de votre projet aux paramètres régionaux par défaut de votre instance (ou la valeur en en l'absence de paramètres régionaux par défaut définis, et définir la localisation de tous les 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
strictpour 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. - Choisissez le niveau de localisation
permissivepour 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, pour qu'un utilisateur voie les libellés et descriptions définis dans le fichier es_ES.strings.json, l'administrateur Looker doit attribuer la valeur es_ES au paramètre Paramètres régionaux de cet utilisateur.
Vous pouvez 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 en cliquant sur le champ et en saisissant le nom du fichier de chaînes au lieu 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éfinition de 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'incorporation 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'incorporation signées et les outils de création correspondants, consultez la page de documentation Incorporation 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 le fichier de chaînes de paramètres régionaux par défaut nommé en.strings.json, vous pouvez 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;;
}
Voici à présent ce que voient les utilisateurs pour lesquels la valeur du paramètre locale est en :
| Flights Identifier | Flights country | Flights From the US? |
|---|---|---|
| 289 | United States | Domestic |
| 400 | Canada | International |
| 493 | Congo | International |
| 936 | United States | Domestic |
Voici à présent ce que voient les utilisateurs pour lesquels la valeur du paramètre locale est es_ES :
| 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 définis sur es_ES voient les données "Domestic" et "International" localisées respectivement en "Nacional" et "Internacional".
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 les paramètres régionaux sont définis sur en explore à partir de cette vignette du tableau de bord, l'exploration est filtrée sur la valeur Domestic du champ Flights From the US?, et la table 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 les paramètres régionaux sont définis sur es_ES explore à partir de cette vignette du tableau de bord, l'exploration est filtrée sur la valeur Nacional du champ Vuelos ¿De Los Estados Unidos?, et la table 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
Lorsque vous étendez des vues, des explorations ou des tableaux de bord LookML ou que vous affinez des vues ou des explorations, tenez compte des règles de localisation applicables.
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 ;;
...
}
Ensuite, nous créons un nouvel affichage 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 pourrions effectuer aucune mise à jour jusqu'à ce que nous définissions les nouveaux libellés ou les nouvelles descriptions.
Localisation des modèles et importation de projets
Vous pouvez utiliser la localisation des modèles dans les projets qui importent d'autres projets. Par défaut, Looker n'utilise que les définitions de paramètres régionaux du projet importateur, si celui-ci en comporte. Toutefois, si vous souhaitez fusionner les définitions de paramètres régionaux d'un projet importé avec celles du projet importateur, vous pouvez ajouter l'instruction import_locale_defs: yes au paramètre localization_settings dans le fichier manifeste (manifest.lkml) de votre projet importateur :
project_name: "my_project"
localization_settings: {
default_locale: en
localization_level: permissive
import_locale_defs: yes
}
Lorsque import_locale_defs est défini sur yes, Looker combine un fichier de chaînes correspondant à chaque groupe de paramètres régionaux de chaque projet.
Règles de priorité pour les clés en double
Si la même clé est définie dans différents fichiers de chaînes des projets importés et dans le projet importateur, Looker applique les règles de priorité suivantes lorsqu'il combine les définitions de paramètres régionaux :
- Les clés du projet importateur sont prioritaires : les clés définies dans les fichiers de paramètres régionaux du projet importateur remplacent toujours les clés en double des fichiers de paramètres régionaux de tout projet importé.
- L'ordre d'importation détermine la priorité : si une clé en double n'existe que dans les fichiers de paramètres régionaux des projets importés, Looker résout le conflit en fonction de l'ordre dans lequel les projets sont importés dans le fichier manifeste du projet importateur. Les définitions clé/valeur des projets importés plus tard dans le fichier manifeste sont prioritaires sur celles importées plus tôt.
- Les paramètres du projet importateur sont utilisés : les paramètres de localisation du projet importateur (tels que
default_localeetlocalization_level) sont utilisés dans tous les fichiers combinés, remplaçant tous les paramètres de localisation définis dans les fichiers manifestes des projets importés.