, Créer un menu UIM multi-langue

Vous utilisez UIM pour faire vos AIDES et vos menus

Vous voulez avoir une version multi langue sans changer votre panel de groupe

Il n’existe pas de solution dynamique, mais vous pouvez utiliser les fichiers messages, comme pour les commandes et les écrans, à la compile
il vous suffira de mettre en ligne la bibliothèque avec le bon langage

rappel un message est identifié par 7 caractéres xxxnnnn
xxx est est généralement 3 lettres (mais avec des exceptions exemple SQL et SQ2)
nnnn est composé de 4 chiffres

La partie utilisée dans les écrans et les commandes, c’est uniquement le message sur 132 caractères c’est le paramètre MSG()

dans notre exemple :
Nous avons différencié 3 Types de messages pour simplifier
TXT sur la structure du menu
OPT sur le texte des options à afficher
HLP sur les aides d’option à afficher
USR sur les commandes (mais pas utilisé pour l’instant le tag MENUI ne semblant pas admettre de message ) c’est le standard des fichiers de messages associés au menu SDA

Nous avons créer une commande

CRTMNUMOD qui génère ces messages dans le msgf, par défaut c’est un menu de 10 options avec texte en Français

Téléchargeable ici : https://github.com/Plberthoin/PLB/tree/master/GENUIMDSP

Vous obtenez un MSGF comme ceci :

Ensuite vous avez un modèle de menu en PNLGRP qui s’appui sur ce fichier messages

Vous allez devoir le customiser la première fois

1) Vous devez indiquer le fichier message sur le tag PNLGRP


Exemple :
:PNLGRP SUBMSGF=MODELE.

2) Les options sur les tags :MENUI

Exemple :

otion 4 avec un WRKSPLF

:MENUI OPTION=04 ACTION= ‘CMD WRKSPLF’
HELP=’MENU/OPTION04′.

** pour le moment je ne sais pas les mettre dans un fichier message

3) Vous devez ensuite compiler votre menu en précisant le nom du menu et le source

Exemple :

CRTMNU MENU(MALIB/MONMENU)
TYPE(*UIM)
SRCFILE(MALIB/QMNUSRC)

==>GO votremenu

Les identifiants de messages sont remplacés par les textes des messages, si vous avez une version par langue , mettez la bibliothèque de la langue en ligne avant la compile et c’est joué.

Vous pouvez utiliser la même technique sur les panneaux d’aide

Vous pouvez indiquer de nouveaux identifiants si vous avez des textes de plus de 132 caractères

Vous pouvez utiliser des caractères spéciaux pour éviter certains problèmes de syntaxe

&period. pour un « . »

&slr. pour un « / »

&amp. pour un « & »

&colon. pour un :

Documentation de référence ici : https://public.dhe.ibm.com/systems/power/docs/systemi/v6r1/en_US/sc415715.pdf

Pour les traductions vous pouvez même les automatiser en utilisant des webservices type Google , reverso, ou deepl bientôt nous ferons un article sur ce blog