Traduction des éléments affichés dans OBIEE

Oracle Business Intelligence Enterprise Edition est un outil qui propose la traduction de son interface en de nombreuses langues. Il est donc très simple de basculer l’interface de consultation d’une langue à une autre. Par contre, le contenu, les différents développements des outils Answers et Dashboard sont affichés dans la langue de développement. Il est donc nécessaire de fournir aux utilisateurs la possibilité de visualiser l’ensemble des tableaux de bord dans leur langue natale.

Pour réaliser cette traduction complète des éléments d’affichage, il faut procéder par étapes.

1-Récupérer les informations de langue lors de la connexion de l’utilisateur

Créer une table SA_SYSTEM qui permettra de peupler des informations directement utilisables par le module Delivers, entre autre.
Importer cette table dans le référentiel qui sera mise en correspondance avec une table qui possède les informations de votre annuaire, comme par exemple une table Utilisateur.

Créer un block d’initialisation et une variable initialisé par les informations de l’utilisateur lors de sa connexion.
Par exemple :

select LOCALE from SA_SYSTEM where LOGON= (':USER')

2- Traduire les éléments de la couche de présentation du référentiel, donc les éléments qui seront visible dans Answers

Dans l’outil d’administration, cliquer sur le catalogue de présentation avec le bouton droit de la souris.
Sélectionner Externalize Display Names si vous souhaitez traduire les noms de colonnes.
Sélectionner Externalize Description si vous souhaitez traduire les descriptions de colonnes.
Ensuite, dans le menu, sélectionner Tools>Utilities et sélectionner Externalize String, puis cliquer sur le bouton Execute.
Si vous avez plusieurs catalogues, sélectionner le catalogue à traduire et cliquer sur le bouton Save.
Choisir un emplacement pour enregistrer le fichier csv ainsi généré.
Vous devez convertir le fichier csv obtenu précédemment, pour préparer l’intégration des données dans la base, et obtenir les 4 colonnes suivantes :

  • ACTUAL : contient le nom actuel de l’objet
  • SESSION_VARIABLE : contient la variable généré par OBI
  • TRANSLATION : contient le nom de l’objet traduit
  • LANG_ID : contient l’identifiant de la langue.


Créer une table BI_MSG dans la base de données :

CREATE TABLE "FLUIDE"."BI_MSG"
(
"ACTUAL"           VARCHAR2(100 BYTE),
"SESSION_VARIABLE" VARCHAR2(100 BYTE),
"TRANSLATION"      VARCHAR2(100 BYTE),
"LANG_ID"          CHAR(2 BYTE)
)
SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE
(
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT
)
TABLESPACE "USERS"

Chargez les données du fichier Excel en utilisant l’instruction suivante pour chaque ligne du fichier :

insert into bi_msg(ACTUAL, SESSION_VARIABLE , TRANSLATION , LANG_ID)  values('Colonne A', 'Colonne B', 'Colonne C', 'Colonne D');

Importer la table BI_MSG dans la couche physique du référentiel.

Créer un block d’initialisation pour la traduction qui récupère les informations de langue de la session.

select SESSION_VARIABLE, TRANSLATION from fluide.bi_msg where LANG_ID = 'VALUEOF(NQ_SESSION.LOCALE)'


Dans la section Variable Target, cocher le bouton radio Row-wise initialization.

Lorsque vous testerez votre block, vous verrez apparaitre les 4 colonnes ainsi que leurs valeurs.

3-Traduire les éléments développés dans Dashboard

Arrêter les services.
Ouvrir Catalog Manager à partir d’un poste client.
Ouvrir le catalogue Off Line
Dans le menu, sélectionner Tools>Export Captions.

L’outil génère un fichier xml pour chaque dossier sélectionné. Dans notre exemple, le nom du fichier est sharedcaptions.xml.
Copier le fichier xml pour traduire tous les textes qui se trouvent entre les 2 tags <Text></Text>.
Créer un fichier pour chaque langue dans le répertoire suivant :
<InstallDrive>/OracleBIData/web/res
Par exemple les dossiers pour l’anglais et le français

Créer l’arborescence de dossier pour y déposer le fichier xml traduit dans la langue. Dans notre exemple, voici l’arborescence pour  déposer le fichier xml en français
<InstallDrive>/OracleBIData/web/res/ l_fr/Captions
Faire de même pour chaque langue, par exemple pour l’anglais
<InstallDrive>/OracleBIData/web/res/ l_en/Captions

Modification du fichier instanceconfig.xml. Il se trouve dans le répertoire <InstallDrive>/OracleBIData/web/config/ instanceconfig.xml
Supprimez les commentaires sur les 2 tags de langage suivants :
<AllowedLanguages></AllowedLanguages>
<AllowedLocales></AllowedLocales>

Redémarrer les services OBI.
Pour vérifier, connectez-vous avec un utilisateur dans une langue
Par exemple ‘fr’

Puis cliquez sur le lien Paramètres>Mon compte pour modifier les préférences.
Modifiez les paramètres régionaux du profil en ‘en’ (English –United State).
Rafraichir l’affichage

Pour une bonne compréhension, les champs provenant de la table BI_MSG sont libellés WELCOME1, WELCOME2 et ainsi de suite. Les champs provenant du fichier xml de l’export du catalogue, sont préfixés par en-. Voilà donc une opération qui permet à vos utilisateurs d’afficher le contenu d’Interactive Dashboard et d’Answers dans la langue maternelle. N’oubliez pas que toutes modifications dans la couche de présentation, dans Answers ou dans Dashboard entraine automatiquement de faire une mise à jour de la table BI_MSG ainsi que de tous les fichiers xml de traduction.

1 réflexion sur “Traduction des éléments affichés dans OBIEE”

  1. Ping : Traduction des éléments affichés dans OBIEE « EASYTEAM LE BLOG | Information Mining R&D

Les commentaires sont fermés.