      SUBROUTINE INITBOUT
C
      INCLUDE 'com_boutons.f'
      INCLUDE 'com_options.f'
      LOGICAL*4 LA
C
      DO I=1,NBOUT
        IACTIF(I) = 1
        IMENU(I) = 0
      ENDDO
C
      IB = 1
      CBOUT(IB) = 'QUIT'
      LBOUT(IB) = 4
      ICB(IB)   = 5
      KBOUT(IB) = 26
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'Q : fin du programme'
      ELSE
        HBOUT(IB) = 'Q : end of program  '
      ENDIF
      LHB(IB)   = 20
C 2
      IB = IB+1
      CBOUT(IB) = 'Help'
      INQUIRE(FILE=CHEMDOC(1:LENCHEM),EXIST=LA)
      IF (LA) THEN
        LBOUT(IB) = 4
        ITB(IB-1) = 1
      ELSE
        LBOUT(IB) = 0
        ITB(IB-1) = 4
      ENDIF
      ICB(IB)   = 5
      KBOUT(IB) = 0
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = ' Affiche la documentation détaillée '
     &    //'(nécessite son installation et gv ou Ghostview)'
        LHB(IB)   = 83
      ELSE
        HBOUT(IB) =
     & ' Displays the detailled documentation (uses gv or Ghostview)'
        LHB(IB)   = 59
      ENDIF
      ITB(IB) = 3
      IBDOC   = IB
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'Géométrie'
      ELSE
        CBOUT(IB) = 'Geometry'
      ENDIF
      LBOUT(IB) = 9
      ICB(IB)   = 5
      KBOUT(IB) = 0
      LHB(IB)   = 0
      ITB(IB)   = 6
C
      IB = IB+1
      CBOUT(IB) = 'zoom-'
      LBOUT(IB) = 0
      ICB(IB)   = 4
      KBOUT(IB) = 0
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &       'A : zoom arrière de rapport 1.09 centré sur le curseur'
      ELSE
        HBOUT(IB) = 'A : zoom out under the cursor (ratio 1.09)'
      ENDIF
      LHB(IB)   = 54
      ITB(IB)   = -2
C 5
      IB = IB+1
      CBOUT(IB) = 'zoom+'
      LBOUT(IB) = 0
      ICB(IB)   = 5
      KBOUT(IB) = 0
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &       'C : zoom avant de rapport 1.09 centré sur le curseur'
      ELSE
        HBOUT(IB) = 'C : zoom in under the cursor (ratio 1.09)'
      ENDIF
      LHB(IB)   = 52
      ITB(IB)   = -2
C
      IB = IB+1
      CBOUT(IB) = 'trans'
      LBOUT(IB) = 0
      ICB(IB)   = 6
      KBOUT(IB) = 0
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = '5 : translation du dessin centrée sur le curseur'
      ELSE
        HBOUT(IB) = '5 : translation centered under the cursor'
      ENDIF
      LHB(IB)   = 48
      ITB(IB)   = -2
C 7
      IB = IB+1
      CBOUT(IB) = 'angle'
      LBOUT(IB) = 5
      ICB(IB)   = 4
      KBOUT(IB) = 11
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'B : changement de l''angle courant de rotation '//
     &       '(pour <Rot im.> et touches 7,8,9)'
      ELSE
        HBOUT(IB) = 'B : changes the current angle of rotation '//
     &       '(used by <Rot im.> and keys 7,8,9)'
      ENDIF
      LHB(IB)   = 89
      ITB(IB)   = 7
c      ITB(IB)   = 1
      IMENU(IB) = 1
C 7
      IB = IB+1
      CBOUT(IB) = 'dble buf.'
      LBOUT(IB) = 9
      ICB(IB)   = 5
      KBOUT(IB) = -20
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = CHAR(92)//' : double buffering ou non (bascule)'
      ELSE
        HBOUT(IB) = CHAR(92)//' : double buffering or not (toggle)'
      ENDIF
      LHB(IB)   = 37
      ITB(IB)   = 7
c      ITB(IB)   = 1
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'plein écran'
      ELSE
        CBOUT(IB) = 'full screen'
      ENDIF
      LBOUT(IB) = 11
      ICB(IB)   = 5
      KBOUT(IB) = 29
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'T : affichage du dessin entier dans le cadre'
      ELSE
        HBOUT(IB) = 'T : shows the whole object fitted to the frame'
      ENDIF
      LHB(IB)   = 46
c      ITB(IB)   = 1
      ITB(IB)   = 7
C 9
      IB = IB+1
      CBOUT(IB) = 'rotxrotyrotz'
      LBOUT(IB) = 4
      ICB(IB)   = 4
      KBOUT(IB) = 36
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = '{ : position angulaire donnée. '//
     &       ' 7: rotation / Ox.  8: rotation / Oz.  9: rotation / Oy'
      ELSE
        HBOUT(IB) = '{ : given angular position. '//
     &       ' 7: rotation / Ox.  8: rotation / Oz.  9: rotation / Oy'
      ENDIF
      LHB(IB)   = 86
      ITB(IB)   = 5
      IBROT     = IB
C 10
      IB = IB+1
      CBOUT(IB) = 'inv.'
      LBOUT(IB) = 4
      ICB(IB)   = 5
      KBOUT(IB) = 31
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &       'V : inversion du point de vue d''observation (bascule)'
      ELSE
        HBOUT(IB) = 'V : point of view inversion (toggle)'
      ENDIF
      LHB(IB)   = 53
      ITB(IB)   = 2
C
      IB = IB+1
      CBOUT(IB) = 'reset'
      LBOUT(IB) = 5
      ICB(IB)   = 5
      KBOUT(IB) = 30
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'U : cadrages normalisés (en boucle)'
      ELSE
        HBOUT(IB) = 'U : normalized views'
      ENDIF
      LHB(IB)   = 35
      ITB(IB)   = 2
      IMENU(IB) = 1
C 12
      IB = IB+1
      CBOUT(IB) = 'rot im.'
      LBOUT(IB) = 7
      ICB(IB)   = 5
      KBOUT(IB) = 32
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'W : rotation de l''image de l''angle courant'
      ELSE
        HBOUT(IB) = 'W : image rotation (of the current angle)'
      ENDIF
      LHB(IB)   = 42
      ITB(IB)   = 2
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'Présentation'
      ELSE
        CBOUT(IB) = 'Presentation'
      ENDIF
      LBOUT(IB) = 13
      ICB(IB)   = 5
      KBOUT(IB) = 0
      LHB(IB)   = 0
      ITB(IB)   = 6
C
Cfj      IB = IB+1
Cfj      IF (ILANG.EQ.0) THEN
Cfj        CBOUT(IB) = 'Ne bougeons plus'
Cfj        LBOUT(IB) = 16
Cfj      ELSE
Cfj        CBOUT(IB) = 'Don''t move any more'
Cfj        LBOUT(IB) = 20
Cfj      ENDIF
Cfj      ICB(IB)   = 5
Cfj      KBOUT(IB) = -3333
Cfj      IF (ILANG.EQ.0) THEN
Cfj        HBOUT(IB) = ' Fige le dessin pour pouvoir empiler'//
Cfj     &       ' les commandes sans redessiner (bascule)'
Cfj      ELSE
Cfj        HBOUT(IB) = ' Freezes the picture to enter several commands'//
Cfj     &       ' without refresh (toggle)'
Cfj      ENDIF
Cfj      LHB(IB)   = 71
Cfj      ITB(IB)   = 4
Cfj      IBFREEZ   = IB
C 14
      IB = IB+1
      CBOUT(IB) = 'sym.'
      LBOUT(IB) = 4
      ICB(IB)   = 5
      KBOUT(IB) = 1
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &       '1 : symétrisation par rapport à Ox et Oy (en boucle)'
      ELSE
        HBOUT(IB) = '1 : symmetries / Ox and Oy '
      ENDIF
      LHB(IB)   = 52
      ITB(IB)   = 2
      IMENU(IB) = 1
C
      IB = IB+1
      CBOUT(IB) = 'shrink'
      LBOUT(IB) = 6
      ICB(IB)   = 5
      KBOUT(IB) = 4
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = '4 : shrink des éléments (en bascule)'
      ELSE
        HBOUT(IB) = '4 : shrinks elements (toggle)'
      ENDIF
      LHB(IB)   = 36
      ITB(IB)   = 2
C 16
      IB = IB+1
      CBOUT(IB) = 'prop.'
      LBOUT(IB) = 5
      ICB(IB)   = 5
      KBOUT(IB) = 14
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'E : proportion de la fenêtre '
     &       //'(carrée ou rectangulaire, en bascule)'
      ELSE
        HBOUT(IB) = 'E : window''s proportions'//
     &       ' (square or rectangular) (toggle)'
      ENDIF
      LHB(IB)   = 66
      ITB(IB)   = 2
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'face cachée'
        LBOUT(IB) = 11
      ELSE
        CBOUT(IB) = 'hidden lines'
        LBOUT(IB) = 12
      ENDIF
      ICB(IB)   = 5
      KBOUT(IB) = 6
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &       '6 : faces cachées ou non (en bascule)'
      ELSE
        HBOUT(IB) =
     &       '6 : hidden lines or not (toggle)'
      ENDIF
      LHB(IB)   = 37
      ITB(IB)   = 1
C
      IF (ICOURB.GT.0) THEN
        IB = IB+1
        IF (IGROUP.LE.1) THEN
          IF (ILANG.EQ.0) THEN
            CBOUT(IB) = 'réf, blo'
            LBOUT(IB) = 8
          ELSE
            CBOUT(IB) = 'ref, BC'
            LBOUT(IB) = 7
          ENDIF
          IF (ILANG.EQ.0) THEN
            HBOUT(IB) =
     &      'F : affichage des références et des blocages (en boucle)'
          ELSE
            HBOUT(IB) = 'F : shows references and boundary conditions'
          ENDIF
          LHB(IB) = 56
        ELSE
          IF (ILANG.EQ.0) THEN
            CBOUT(IB) = 'sd, réf, blo'
            LBOUT(IB) = 12
          ELSE
            CBOUT(IB) = 'sd, ref, BC'
            LBOUT(IB) = 11
          ENDIF
          IF (ILANG.EQ.0) THEN
            HBOUT(IB) =
     &'F : affichage des sous-domaines, des références et des blocages '
     &           //'(en boucle)'
          ELSE
            HBOUT(IB) =
     &'F : shows subdomains, references and boundary conditions'
          ENDIF
          LHB(IB) = 85
        ENDIF
        ICB(IB)   = 5
        KBOUT(IB) = 15
        ITB(IB)   = 1
        IMENU(IB) = 1
      ENDIF
C 19
      IB = IB+1
      IF (ICOURB.LT.0) THEN
        IF (ILANG.EQ.0) THEN
          CBOUT(IB) = 'légende'
          LBOUT(IB) = 7
        ELSE
          CBOUT(IB) = 'legend'
          LBOUT(IB) = 6
        ENDIF
        ITB(IB)   = 1
      ELSE
        IF (ILANG.EQ.0) THEN
          CBOUT(IB) = 'lég.'
        ELSE
          CBOUT(IB) = 'leg.'
        ENDIF
        LBOUT(IB) = 4
        ITB(IB)   = 3
      ENDIF
      ICB(IB)   = 5
      KBOUT(IB) = 16
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &       'G : affiche, bouge ou supprime la légende (en boucle)'
      ELSE
        HBOUT(IB) = 'G : shows, moves or cancels the legend'
      ENDIF
      LHB(IB)   = 53
C
      IB = IB+1
      IF (ICOURB.GT.0) THEN
        CBOUT(IB) = 'num  '
        LBOUT(IB) = 5
        IF (ILANG.EQ.0) THEN
          HBOUT(IB) ='^ : affiche les numéros de noeuds et '
     &         //"d'éléments (en boucle)"
        ELSE
          HBOUT(IB) =
     &         '^ : displays successivelly nodes and elements numbers'
        ENDIF
        LHB(IB)   = 59
        KBOUT(IB) = -18
        IMENU(IB) = 1
      ELSE
        IF (ILANG.EQ.0) THEN
          CBOUT(IB) = 'boite'
          LBOUT(IB) = 0
          HBOUT(IB) = '/ : définition de la boite et des échelles'
        ELSE
          CBOUT(IB) = 'box'
          LBOUT(IB) = 0
          HBOUT(IB) = '/ : box''s and scales parameters'
        ENDIF
        LHB(IB)   = 42
        KBOUT(IB) = -1
      ENDIF
      ICB(IB)   = 5
      ITB(IB)   = 3
C 21
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'bornes iso.'
        LBOUT(IB) = 11
      ELSE
        CBOUT(IB) = 'contour val.'
        LBOUT(IB) = 12
      ENDIF
      ICB(IB)   = 5
      KBOUT(IB) = 19
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'J : lecture de nouvelles bornes des isovaleurs'
      ELSE
        HBOUT(IB) = 'J : asks for new bounds for contour plot'
      ENDIF
      LHB(IB)   = 46
      ITB(IB)   = 1
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'type iso'
        LBOUT(IB) = 8
      ELSE
        CBOUT(IB) = 'cont. type'
        LBOUT(IB) = 10
      ENDIF
      ICB(IB)   = 4
      KBOUT(IB) = 17
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'H : type des isovaleurs affichées'//
     &       ' (remplissage avec ou sans lissage, au trait..)'
      ELSE
        HBOUT(IB) = 'H : type of contour plot displayed'//
     &       ' (filling with or without smoothing, lines...)'
      ENDIF
      LHB(IB)   = 80
      ITB(IB)   = 1
      IMENU(IB) = 1
      IBISO     = IB
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'nombre d''iso'
      ELSE
        CBOUT(IB) = 'contour num.'
      ENDIF
      LBOUT(IB) = 12
      ICB(IB)   = 5
      KBOUT(IB) = 21
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'L : nombre d''isovaleurs'
      ELSE
        HBOUT(IB) = 'L : number of contour plot'
      ENDIF
      LHB(IB)   = 26
      ITB(IB)   = 1
C 24
      IB = IB+1
      CBOUT(IB) = 'exag'
      LBOUT(IB) = 4
      ICB(IB)   = 5
      KBOUT(IB) = 23
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'N : exagération des déplacements'
      ELSE
        HBOUT(IB) = 'N : displacements exageration'
      ENDIF
      LHB(IB)   = 32
      IF (ICOURB.GT.0) THEN
        ITB(IB) = 3
      ELSE
        ITB(IB) = 1
      ENDIF
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'axes'
      ELSE
        CBOUT(IB) = 'axis'
      ENDIF
      LBOUT(IB) = 4
      ICB(IB)   = 5
      KBOUT(IB) = 22
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &  'M : bouge ou supprime les axes de coordonnées dans les coins'
     &       //'(en boucle)'
      ELSE
        HBOUT(IB) = 'M : moves and cancels axis display (corners)'
      ENDIF
      LHB(IB)   = 72
      IF (ICOURB.GT.0) THEN
        ITB(IB) = 3
      ELSE
        ITB(IB) = 1
      ENDIF
      IMENU(IB) = 1
C 26
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'champ tracé'
      ELSE
        CBOUT(IB) = 'drawn field'
      ENDIF
      LBOUT(IB) = 11
      ICB(IB)   = 5
      KBOUT(IB) = 27
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'R : isovaleurs de champs prédéfinis'
      ELSE
        HBOUT(IB) = 'R : contour plot of pre-defined fields'
      ENDIF
      LHB(IB)   = 38
      ITB(IB)   = 1
      IMENU(IB) = 1
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'maillage/bord'
      ELSE
        CBOUT(IB) = 'mesh/boundary'
      ENDIF
      LBOUT(IB) = 13
      ICB(IB)   = 5
      KBOUT(IB) = 33
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'X : surlignage des frontières et effacement de '
     &       //'l''intérieur (en boucle)'
      ELSE
        HBOUT(IB) = 'X : highlights boundaries and erases mesh'
      ENDIF
      LHB(IB)   = 70
      ITB(IB)   = 8
      IMENU(IB) = 1
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = "': valeurs"
        LBOUT(IB) = 10
      ELSE
        CBOUT(IB) = "': values"
        LBOUT(IB) = 9
      ENDIF
      ICB(IB)   = 5
      KBOUT(IB) = -9
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &"' : affichage des valeurs du champ scalaire sous le curseur"
      ELSE
        HBOUT(IB) =
     &"' : displays values of the current scalar field under the cursor"
      ENDIF
      LHB(IB)   = 64
      ITB(IB)   = -2
C 29
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'efface maill.'
      ELSE
        CBOUT(IB) = 'erase mesh'
      ENDIF
      LBOUT(IB) = 0
      ICB(IB)   = 5
      KBOUT(IB) = -99999
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = '- : effacement du maillage'
      ELSE
        HBOUT(IB) = '- : erases the mesh'
      ENDIF        
      LHB(IB)   = 26
      ITB(IB)   = 1
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'type flèches'
        HBOUT(IB) = '~ : changement du type de tracé des flèches'
        LBOUT(IB) = 12
      ELSE
        CBOUT(IB) = 'arrows type'
        HBOUT(IB) = '~ : change type of arrows'
        LBOUT(IB) = 11
      ENDIF
      LHB(IB)   = 43
      ICB(IB)   = 4
      KBOUT(IB) = 39
      ITB(IB)   = 1
      IMENU(IB) = 1
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'dim flèches'
        HBOUT(IB) = '* : changement de la taille des flèches'
        LBOUT(IB) = 11
      ELSE
        CBOUT(IB) = 'arrows dim'
        HBOUT(IB) = '* : changes size of arrows'
        LBOUT(IB) = 10
      ENDIF
      LHB(IB)   = 39
      ICB(IB)   = 4
      KBOUT(IB) = -6
      ITB(IB)   = 1
      IBDIMFL   = IB
      IMENU(IB) = 1
C
      IB = IB+1
      CBOUT(IB) = 'perspective'
      LBOUT(IB) = 11
      ICB(IB)   = 4
      KBOUT(IB) = -11
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = '% : type de perspective (en boucle)'
      ELSE
        HBOUT(IB) = '% : perspective''s types'
      ENDIF
      LHB(IB)   = 35
      IBPERSP   = IB
      ITB(IB)   = 4
      IMENU(IB) = 1
C 33
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'hauteur'
        LBOUT(IB) = 7
      ELSE
        CBOUT(IB) = 'height'
        LBOUT(IB) = 6
      ENDIF
      ICB(IB)   = 4
      KBOUT(IB) = 34
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &   'Y : taille maximale du dessin (23.5 ou 27.7 cm en bascule)'
      ELSE
        HBOUT(IB) =
     &   'Y : maximal size of the plot (toggle 23.5 or 27.7 cm)'
      ENDIF
      LHB(IB)   = 58
      ITB(IB)   = 1
C 36
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'éclairage'
      ELSE
        CBOUT(IB) = 'lightning'
      ENDIF
      LBOUT(IB) = 9
      ICB(IB)   = 4
      KBOUT(IB) = -10
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &       '& : changement de direction d''éclairement (en boucle)'
      ELSE
        HBOUT(IB) = '& : changes lightning direction'
      ENDIF
      LHB(IB)   = 53
      ITB(IB)   = 1
      IMENU(IB) = 1
C
      IB = IB+1
      IF (ICOURB.GT.0) THEN
        IF (ILANG.EQ.0) THEN
          CBOUT(IB) = 'éch.'
          LBOUT(IB) = 4
        ELSE
          CBOUT(IB) = 'scale'
          LBOUT(IB) = 5
        ENDIF
        ITB(IB) = 3
      ELSE
        IF (ILANG.EQ.0) THEN
          CBOUT(IB) = 'échelle'
          LBOUT(IB) = 7
        ELSE
          CBOUT(IB) = 'scales'
          LBOUT(IB) = 6
        ENDIF
        IF (ICOURB.EQ.-5) THEN
          ITB(IB) = 1
        ELSE
          ITB(IB) = 2
        ENDIF
      ENDIF
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = '/ : définition de la boite et des échelles'
      ELSE
        HBOUT(IB) = '/ : parameters for scales and box'
      ENDIF
      LHB(IB)   = 42
      KBOUT(IB) = -1
      ICB(IB)   = 5
      IMENU(IB) = -2
Cfj      CBOUT(IB) = 'info'
Cfj      LBOUT(IB) = 4
Cfj      ICB(IB)   = 5
Cfj      KBOUT(IB) = -8
Cfj      HBOUT(IB) =
Cfj     &'( : informations dans le cadre de droite ou non (en bascule)'
Cfj      LHB(IB)   = 60
C 38
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'titre'
        HBOUT(IB) = '_ : affichage du titre lu dans le '//
     &       'fichier de maillage (en bascule)'
      ELSE
        CBOUT(IB) = 'title'
        HBOUT(IB) = '_ : displys the title of the mesh file (toggle)'
      ENDIF
      IF (ICOURB.GT.0) THEN
        LBOUT(IB) = 5
        LHB(IB)   = 66
      ELSE
        LBOUT(IB) = 0
        LHB(IB)   = 0
      ENDIF
      ICB(IB)   = 5
      KBOUT(IB) = -17
      ITB(IB)   = 3
C
      IB = IB+1
      IF (ICOURB.GT.0) THEN
        CBOUT(IB) = 'isosurface'
        HBOUT(IB) = '! : isosurface'
        IF (I2D.EQ.0.AND.ELEMENTS(1:5).NE.'Trian'
     &              .AND.ELEMENTS(1:5).NE.'Segme'
     &              .AND.ELEMENTS(1:5).NE.'Quadr') THEN
          LBOUT(IB) = 10
          LHB(IB)   = 14
        ELSE
          LBOUT(IB) = 0
          LHB(IB)   = 0
        ENDIF
        ITB(IB) = 1
      ELSEIF(ICOURB.NE.-5) THEN
        IF (ILANG.EQ.0) THEN
          CBOUT(IB) = 'coupes'
          HBOUT(IB) = '! : coupes de la surface // Ox ou Oy et appel de'
     &         //' xgraphic (si installé)'
          LBOUT(IB) = 6
        ELSE
          CBOUT(IB) = 'cr. sec.'
          HBOUT(IB) =
     &         '! : surface''s cross-section // Ox or Oy and calls'
     &         //' xgraphic (if present)'
          LBOUT(IB) = 8
        ENDIF
        LHB(IB) = 71
        ITB(IB) = 2
      ELSE
        LBOUT(IB) = 0
        LHB(IB)   = 0
      ENDIF
      ICB(IB)   = 5
      KBOUT(IB) = -15
C
      IB = IB+1
      IF (ICOURB.GT.0) THEN
        IF (ILANG.EQ.0) THEN
          CBOUT(IB) = 'coupe'
          HBOUT(IB) = '} : coupe parallèle à Ox, Oy ou Oz'
          LBOUT(IB) = 5
        ELSE
          CBOUT(IB) = 'cross section'
          HBOUT(IB) = '} : cross-section // Ox, Oy or Oz'
          LBOUT(IB) = 13
        ENDIF
        IF (I2D.EQ.0.AND.ELEMENTS(1:5).NE.'Trian'
     &              .AND.ELEMENTS(1:5).NE.'Segme'
     &              .AND.ELEMENTS(1:5).NE.'Quadr') THEN
          LHB(IB)   = 34
        ELSE
          LBOUT(IB) = 0
          LHB(IB)   = 0
        ENDIF
        ITB(IB) = 1
      ELSE
        LBOUT(IB) = 0
        LHB(IB)   = 0
      ENDIF
      ICB(IB)   = 5
      KBOUT(IB) = 38
C
      IB = IB+1
      CBOUT(IB) = 'sd'
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     & '. : affiche successivement les différents sous-domaines '
     &       //'(en boucle)'
      ELSE
        HBOUT(IB) =
     &       '. : displays successivelly the different subdomains'
      ENDIF
      IF (IGROUP.LE.1) THEN
        LBOUT(IB) = 0
        LHB(IB)   = 0
      ELSE
        LBOUT(IB) = 2
        LHB(IB)   = 67
      ENDIF
      ICB(IB)   = 4
      KBOUT(IB) = -2
      ITB(IB)   = 1
      IMENU(IB) = -2
C 40/41
      IB = IB+1
      IF (ICOURB.LT.0) THEN
        CBOUT(IB) = 'cube'
        LBOUT(IB) = 4
        ICB(IB)   = 5
        KBOUT(IB) = 15
        IF (ILANG.EQ.0) THEN
          HBOUT(IB) = 'F : normalisation des échelles (en bascule)'
        ELSE
          HBOUT(IB) = 'F : normalized scales (toggle)'
        ENDIF
        LHB(IB)   = 43
        IF (ICOURB.EQ.-5) THEN
          ITB(IB) = 1
        ELSE
          ITB(IB) = 2
        ENDIF
C
        IB = IB+1
        IF (ILANG.EQ.0) THEN
          CBOUT(IB) = 'Fichiers'
          LBOUT(IB) = 8
        ELSE
          CBOUT(IB) = 'Files'
          LBOUT(IB) = 5
        ENDIF
        ICB(IB)   = 5
        KBOUT(IB) = 0
        LHB(IB)   = 0
        ITB(IB)   = 6
      ENDIF
C
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'Fichiers'
        LBOUT(IB) = 8
      ELSE
        CBOUT(IB) = 'Files'
        LBOUT(IB) = 5
      ENDIF
      ICB(IB)   = 5
      KBOUT(IB) = 0
      LHB(IB)   = 0
      ITB(IB)   = 6
C
      IB = IB+1
      CBOUT(IB) = 'val.'
      LBOUT(IB) = 4
      ICB(IB)   = 5
      KBOUT(IB) = 13
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &'D : lecture d''un fichier de valeurs (scalaires ou vectorielles)'
      ELSE
        HBOUT(IB) =
     &'D : reads a file containing a scalar or vector field'
      ENDIF
      LHB(IB)   = 63
      ITB(IB)   = 3
C
      IB = IB+1
      ICB(IB)   = 5
      KBOUT(IB) = 35
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'Z : lecture d''un nouveau fichier de maillage'
      ELSE
        HBOUT(IB) = 'Z : reads a new mesh file'
      ENDIF
      LHB(IB)   = 44
      CBOUT(IB) = 'mesh'
      LBOUT(IB) = 4
      ITB(IB)   = 3
      IB = IB+1
      IF (ICOURB.GT.0) THEN
        CBOUT(IB) = 'comp.'
        LBOUT(IB) = 5
        IF (ILANG.EQ.0) THEN
          HBOUT(IB) =
     &         ') : lecture de 2 fichiers scalaires et comparaison'
        ELSE
          HBOUT(IB) =
     &         ') : reads 2 scalar files and compares them'
        ENDIF
        LHB(IB)   = 50
        ITB(IB)   = 3
      ELSE
        IF (ILANG.EQ.0) THEN
          CBOUT(IB) = 'courbe'
          LBOUT(IB) = 6
          HBOUT(IB) = ') : lecture d''un fichier de points x,y'//
     &         ' (format xgraphic) pour affichage sur la surface'
        ELSE
          CBOUT(IB) = 'dots'
          LBOUT(IB) = 4
          HBOUT(IB) = ') : reads a x,y file'//
     &         ' (xgraphic format) and plots it on the surface'
        ENDIF
        LHB(IB)   = 86
        ITB(IB)   = 3
      ENDIF
      ICB(IB)   = 5
      KBOUT(IB) = -7
C
      IB = IB+1
      CBOUT(IB) = 'reload'
      LBOUT(IB) = 6
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &  '[ : relecture des fichiers éventuellement modifiés'
      ELSE
        HBOUT(IB) = '[ : reloads files modified since last plot'
      ENDIF
      LHB(IB)   = 50
      ICB(IB)   = 5
      KBOUT(IB) = -21
      IBREL     = IB
      ITB(IB) = 3
C 45
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'Couleurs'
        LBOUT(IB) = 8
      ELSE
        CBOUT(IB) = 'Colors'
        LBOUT(IB) = 6
      ENDIF
      ICB(IB)   = 5
      KBOUT(IB) = 0
      LHB(IB)   = 0
      ITB(IB)   = 6
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'arêtes'
        LBOUT(IB) = 6
      ELSE
        CBOUT(IB) = 'vertices'
        LBOUT(IB) = 8
      ENDIF
      ICB(IB)   = 4
      KBOUT(IB) = 18
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'I : changement de couleur des arêtes (en boucle)'
      ELSE
        HBOUT(IB) = 'I : changes vertices color'
      ENDIF
      LHB(IB)   = 51
      ITB(IB)   = 1
      IMENU(IB) = -1
C
      IB = IB+1
      CBOUT(IB) = 'faces'
      LBOUT(IB) = 5
      ICB(IB)   = 4
      KBOUT(IB) = 25
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &  'P : choix de la couleur des facettes ou du type d''éclairage'
      ELSE
        HBOUT(IB) = 'P : facets color and lightning type'
      ENDIF
      LHB(IB)   = 59
      ITB(IB)   = 1
      IMENU(IB) = -1
C 49
      IB = IB+1
      CBOUT(IB) = 'table'
      LBOUT(IB) = 5
      ICB(IB)   = 4
      KBOUT(IB) = 20
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = 'K : changement de table de couleurs '//
     &       '(boucle sur les 36 possibles)'
      ELSE
        HBOUT(IB) = 'K : changes color table'
      ENDIF
      LHB(IB)   = 65
Cfj      CBOUT(48) = 'impos.'
Cfj      LBOUT(48) = 6
Cfj      ICB(48)   = 5
Cfj      KBOUT(48) = -12
Cfj      HBOUT(48) = '$ : d'//CHAR(233)//
Cfj     &  'finition de couleurs impos'//CHAR(233)//'es dans la table'
Cfj      LHB(48)   = 49
      ITB(IB)   = 2
      IMENU(IB) = -1
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'fond'
        LBOUT(IB) = 4
      ELSE
        CBOUT(IB) = 'bkgd'
        LBOUT(IB) = 4
      ENDIF
      ICB(IB)   = 4
      KBOUT(IB) = 3
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = '3 : choix de la couleur du fond'
      ELSE
        HBOUT(IB) = '3 : choice of the background color'
      ENDIF
      LHB(IB)   = 34
      ITB(IB)   = 2
      IMENU(IB) = -1
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'fl.'
        LBOUT(IB) = 3
        HBOUT(IB) = '+ : changement de couleur des flèches'
      ELSE
        CBOUT(IB) = 'arws'
        LBOUT(IB) = 4
        HBOUT(IB) = '+ : arrows''s colors for a vector field'
      ENDIF
      ICB(IB)   = 4
      KBOUT(IB) = -5
      LHB(IB)   = 38
      ITB(IB)   = 2
      IBFLECH   = IB
      IMENU(IB) = -1
C 51
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'Sauvegardes'
        LBOUT(IB) = 11
      ELSE
        CBOUT(IB) = 'Hardcopies'
        LBOUT(IB) = 10
      ENDIF
      ICB(IB)   = 5
      KBOUT(IB) = 0
      LHB(IB)   = 0
      ITB(IB)   = 6
C
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'PS nb'
      ELSE
        CBOUT(IB) = 'PS bw'
      ENDIF
      LBOUT(IB) = 5
      ICB(IB)   = 5
      KBOUT(IB) = 2
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &  '2 : sauvegarde dans un fichier PostScript noir et blanc'
      ELSE
        HBOUT(IB) =
     &       '2 : creates a Black and White PostScript file'
      ENDIF
      LHB(IB)   = 55
      ITB(IB)   = 3
C
      IB = IB+1
      CBOUT(IB) = 'bitmap/anim'
      LBOUT(IB) = 11
      ICB(IB)   = 5
      KBOUT(IB) = 37
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = '| : sauvegarde dans un fichier bitmap '//
     &       '(gif, eps, png) ou création d''animations'
      ELSE
        HBOUT(IB) = '| : creates a bitmap file '//
     &       '(gif, eps, png) or generates an animated gif'
      ENDIF
      LHB(IB)   = 78
      ITB(IB)   = 1
C
      IB = IB+1
      CBOUT(IB) = 'PS col'
      LBOUT(IB) = 6
      ICB(IB)   = 5
      KBOUT(IB) = 24
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &       'O : sauvegarde dans un fichier PostScript couleur'
      ELSE
        HBOUT(IB) =
     &       'O : creates a color PostScript file'
      ENDIF
      LHB(IB)   = 49
      ITB(IB)   = 3
C 56 (nbout-1)
      IB = IB+1
c      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'PS param'
        LBOUT(IB) = 8
c      ELSE
c        CBOUT(IB) = 'save param'
c        LBOUT(IB) = 9
c      ENDIF
      ICB(IB)   = 4
      KBOUT(IB) = 28
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) =
     &       'S : définition de ce qui est sauvé dans les PostScript'
        LHB(IB)   = 54
      ELSE
        HBOUT(IB) = 'S : what is saved in the PostScript files'
        LHB(IB)   = 41
      ENDIF
      ITB(IB)   = 4
      IMENU(IB) = -2
C 57 (nbout)
      IB = IB+1
      IF (ILANG.EQ.0) THEN
        CBOUT(IB) = 'lll'
        LBOUT(IB) = 3
      ELSE
        CBOUT(IB) = 'lll'
        LBOUT(IB) = 3
      ENDIF
      ICB(IB)   = 4
      KBOUT(IB) = 0
      IF (ILANG.EQ.0) THEN
        HBOUT(IB) = ' Français <--> Anglais'
        LHB(IB)   = 22
      ELSE
        HBOUT(IB) = ' English <--> French'
        LHB(IB)   = 20
      ENDIF
      ITB(IB) = 9
      IBLANG  = IB
C
      IF (IB.NE.NBOUT) THEN
        IF (ILANG.EQ.0) THEN
          PRINT*,'*** PROBLEME INDICES BOUTONS'
        ELSE
          PRINT*,'*** ERROR BUTTON POINTER'
        ENDIF
      ENDIF
C
      IF (ILANG.EQ.0) THEN
        HBOUT(NBOUT+1) = 'Q : abandon du zoom'
      ELSE
        HBOUT(NBOUT+1) = 'Q : cancel zoom'
      ENDIF
      LHB(NBOUT+1)   = 19
      IF (ILANG.EQ.0) THEN
        HBOUT(NBOUT+2) =
     &'Souris : ( Zoom +  ( A = zoom - )  |  Translation  |  Rotation )'
      ELSE
        HBOUT(NBOUT+2) =
     &'Mouse : ( Zoom +  ( A = zoom - )  |  Translation  |  Rotation )'
      ENDIF
      LHB(NBOUT+2)   = 64
      IF (ILANG.EQ.0) THEN
        HBOUT(NBOUT+3) ='Numéros de noeuds sous le curseur.'
     &//' Abandon: bouton de gauche; no. d''éléments: bouton de droite'
      ELSE
        HBOUT(NBOUT+3) ='Nodes numbers under cursor.'
     &       //' cancel: left button; elements numbers: right button'
      ENDIF
      LHB(NBOUT+3)   = 94
      IF (ILANG.EQ.0) THEN
        HBOUT(NBOUT+4) = 'Numéros d''éléments sous le curseur.'
     &//' Abandon: bouton de gauche; no. de noeuds: bouton de droite'
      ELSE
        HBOUT(NBOUT+4) ='Elements numbers under cursor.'
     &       //' cancel: left button; nodes numbers: right button'
      ENDIF
      LHB(NBOUT+4)   = 94
      DO I=1,NBOUT+4
        DO J=LHB(I)+1,128
          HBOUT(I)(J:J) = ' '
        ENDDO
      ENDDO
C
      END
