XJDIC V2.3 GUIDE D'INSTALLATION

INTRODUCTION

XJDIC est un dictionnaire électronique japonais-anglais conçu pour opérer dans une fenêtre d'environnement graphique et fournir un support aux polices de caractères japonais, comme Kterm/Kinput2 sous X11. Il est basé sur JDIC et JREADER qui ont été développés pour fonctionner sous MS-DOS, sur PC IBM et clones.

À partir de la V2.2, XJDIC supporte les kanji au format JIS X 0212-1990. Pour utiliser ces kanji, vous aurez besoin d'un environnement adéquat, comme Kterm 6.2.2.

Voir le document xjdic23_inf.html pour des informations d'ordre général.

DISTRIBUTION

La distribution de XJDIC s'effectue grâce au fichier "xjdic23.tar.gz" (ou "xjdic23.tgz"). Il contient :

Vous devrez également vous fournir les fichiers des dictionnaires japonais/anglais et de kanji (EDICT et KANJIDIC). Ils sont distribués séparément car ils font l'objet de mises à jour régulières. Le site principal de distribution est le répertoire ftp /pub/nihongo sur le ftp.cc.monash.edu.au, mais il y a d'autres miroirs dans de nombreux pays. Vous pouvez également vous fournir d'autres dictionnaires comme : ENAMDICT (noms japonais), COMPDIC (vocabulaire informatique et des télécommunications), EDICLSD3 (termes bio-médicaux), etc. (N.D.T. : Ainsi que FJ.DCT, une traduction française partielle du fichier EDICT, disponible ici.)

Si vous utilisez les kanji supplémentaires du jeu de caractères JIS X 0212-1990, vous devriez vous fournir le fichier KANJD212. On peut l'utiliser en ajoutant les informations qu'il contient au fichier KANJIDIC, constituant ainsi un seul fichier augmenté. (J'ai procédé ainsi et appellé ce fichier combiné "kanjidic_b".)

Il n'y a pas de structure de fichiers incluse dans les programmes du fichier xjdic23tar, cela laisse à l'utilisateur le choix de cet aspect de l'installation. Certains utilisateurs installeront les binaires localement, par exemple dans ~/bin, tandis que d'autres feront le choix d'une installation plus centrale, par exemple dans /usr/local/bin.

PROCÉDURE D'INSTALLATION

XJDIC V2.3 peut être lancé comme un programme autonome (stand-alone), ou comme un ensemble client/serveur. (La version autonome nécessite l'installation de l'ensemble des fichiers, alors que le programme client suffit à accéder aux informations dans la version client/serveur.) Le module en charge de la recherche dans les fichiers des dictionnaires, par exemple le programme autonome ou serveur, peut opérer en maintenant les fichiers dans la RAM, utiliser le bus partagé (memory-mapped I/O), ou encore un système dynamique de demande-pagination. La procédure qui suit décrit l'installation la plus simple, convenant à un utilisateur installant le programme pour un usage personnel.

  1. Créez un répertoire qui contiendra les fichiers de XJDIC, par exemple "mkdir_xjdic".

  2. Décompressez les fichiers de l'archive. En utilisant par exemple :
    gzip -d xjdic23.tar.gz
    tar xvf xjdic23.tar
  3. Choisissez l'endroit où vous allez placer les fichiers de données et les dictionnaires. (J'utilise un répertoire nommé "dics" pour cela.)

  4. Procurez-vous et décompressez au moins les fichiers EDICT et KANJIDIC dans le répertoire de données. Copiez les fichiers gnu_licence, radicals.tm, vconj, kanjstroke, radkfile and romkana.cnv dans le même répertoire. Vous pouvez y ajouter également d'autres fichiers de dictionnaires comme ENAMDICT et COMPDIC. (N.D.T. : Ou encore FJDICT.)

  5. Effectuez toute modification nécessaire aux paramètres de compilation dans le "makefile". Les commentaires dans le fichier lui-même indiquent certaines de ces options. Le logiciel, tel qu'il est distribué, devrait convenir à la plupart des systèmes Unix et assimilés.

  6. Créer les fichiers binaires comme suit :

    (Vous pouvez utiliser le compilateur GNU en invoquant gmake au lieu de make, ou en lançant make avec l'option de ligne de commande CC=gcc...)

    Cela doit avoir créé les fichiers de programme binaires xjdgen, ainsi que xjdic_sa (pour la version autonome) ou le couple xjdic_cl/xjdserver (pour la version client/serveur). Selon que vous vouliez utiliser la version autonome ou la version client/serveur, renommez soit xjdic_sa, soit xjdic_cl simplement en "xjdic".

  7. Organisez les fichiers binaires pour qu'ils soient accessibles pour l'exécution. Cela peut vouloir dire :
    1. Les copier vers le répertoire ~/bin. Si vous avez...
    2. ... placé des liens symboliques vers les fichiers dans le répertoire courant :
    3. les exécuter directement à cet emplacement.
  8. Créez les fichiers d'indexation .xjdx des fichiers des dictionnaires en tapant :
    xjdxgen /chemin_du_fichier/edict
    xjdxgen /chemin_du_fichier/kanjidic
    etc.
    XJDXGEN est une ligne de commande mono-argument : le nom du fichier du dictionnaire pour lequel il génère un index. Par défaut, il s'agit d'EDICT.

  9. Créez un fichier .xjdicrc selon vos goûts. Il doit comporter les chemins désignant les noms et localisation des dictionnaires et des fichiers de données. La meilleure solution est peut-être d'orienter la directive "dicdir" sur la localisation de vos dictionnaires et de vos fichiers de données. (J'ai créé la ligne "dicdir dics" à cette fin.) Un fichier d'exemple, .xjdicrc.skel, est inclus dans les fichiers.

  10. Si un ou plusieurs utilisateurs veulent pouvoir comparer des entrées n'ayant pas encore de traduction anglaise, fournissez-vous le fichier wsktok.Z et décompressez-le pour obtenir le fichier wsktok.dat. Exécutez XJDXGEN pour produire le fichier wsktok.dat.xjdx et spécifiez-le comme dictionnaire alternatif, soit par une ligne de commande, soit dans le fichier .xjdicrc.

  11. Copiez la page de "man" (xjdic.1) dans /usr/man/man1 ou à tout autre endroit prévu à cet effet dans votre système.
Et c'est tout. Si vous avez des problèmes lors de la compilation, n'hésitez pas à traficoter le code (désolé pour ce manque relatif d'indications), et envoyez-moi les détails des modifications que vous avez dû effectuer. Ne soyez pas trop critique à l'égard de ce programme : il souffre de nombreuses séquelles de son portage depuis MS-DOS/Borland Graphics, et je l'ai écrit alors que j'apprenais encore moi-même le C.

MODE CLIENT/SERVEUR

Dans le mode client/serveur, la recherche dans le dictionnaire est effectuée par un programme indépendant qui opère en arrière-plan en tant que démon (daemon). Les fonctions orientées utilisateur sont rassemblées dans un programme client qui communique avec le programme serveur en utilisant le protocole Internet de communication UDP/IP. Cela rend possible la localisation des programmes client et serveur sur deux machines différentes et même (cela fait rêver) dans deux pays différents.

Un usage typique du mode d'opération client/serveur est quand de nombreux utilisateurs d'XJDIC appartiennent à une même organisation. Cela permet ainsi d'éviter de lancer un lourd processus de recherche sur chaque station de travail.

La compilation du programme serveur et client se fait comme suit :

make client
make server
make clean

Le même numéro de port UDP doit être utilisé pour les deux programmes. Par défaut il est 47512 (la date de naissance de l'auteur) mais un autre port par défaut peut être défini dans le fichier xjdic.h. Une autre solution est de définir le numéro du port par une ligne de commande ou dans le fichier .xjdirc.

Le même fichier .xjdicrc peut être utilisé à la fois par le programme client et le programme serveur, mais l'installateur peut vouloir des versions séparées. La directive spéciale principale est la spécification du "serveur", par exemple :

server daneel.dgs.monash.edu.au

qui doit être définie dans le fichier .xjdic utilisé par le client pour lui donner l'adresse hôte du serveur. Si elle n'est pas mentionnée, l'adresse par défaut sera localhost.

MÉTHODE D'ACCÈS AU DICTIONNAIRE

Il existe une option de compilation, pour spécifier le mode de recherche dans les fichiers des dictionnaires, par exemple pour le mode autonome ou le mode serveur :

  1. Stocker les fichiers des dictionnaires et les fichiers d'indexation dans la RAM.
  2. Opérer un mécanisme de demande/pagination de ces fichiers.
  3. Accès direct aux fichiers en utilisant un bus partagé (memory-mapped I/O).
La première méthode nécessite évidemment plus de RAM et d'espace en swap, mais s'exécutera plus rapidement sur un système disposant de beaucoup de mémoire vive. La seconde méthode sera plus lente mais coexistera plus facilement avec d'autres programmes et pourra fonctionner sur des systèmes avec des configurations plus modestes.

La méthode demande/pagination était auparavant la méthode par défaut, mais elle a été remplacée dans la V2.3 par la méthode du bus partagé. Avec la demande/pagination, le tampon de la taille des pages (VBUFFSIZE par défaut 4096) et le tampon du nombre de pages (NOVB par défaut 1000) sont définis dans le fichier xjdic.h. Pour modifier ces paramètres, décommentez les lignes de ce fichier. Pour ne pas utiliser la méthode demande/pagination, compilez sans l'option -DDEMAND_PAGING dans le makefile.

XJDXGEN

XJDXGEN est un utilitaire qui analyse les fichiers des dictionnaires et produit un fichier nom_du_dictionnaire.xjdx contenant la table d'index (voir ci-dessous). Si vous faites un quelconque changement dans les dictionnaires, vous devrez relancer XJDXGEN avant d'utiliser de nouveau XJDIC.

XJDXGEN inscrit la longueur des fichiers des dictionnaires et la version de XJDIC dans le fichier .xjdx, et si XJDIC détecte une anomalie, il refusera de se lancer. Cela assure que XJDXGEN soit bien lancé chaque fois que le dictionnaire est modifié.

L'index généré par XJDXGEN contient une longue série de nombres entiers marquant l'octet de départ de chaque "mot" contenu dans le dictionnaire, ainsi qu'un classement alpha/kana/JIS des "mots" indexés. Cela permet une recherche binaire rapide et également l'affichage par ordre alphabétique, classé par kana... en fonction des mots clefs. Les "mots" indexés par XJDXGEN sont définis pour chaque séquence de un ou plusieurs kana, chaque occurence d'un kanji, ou chaque séquence à partir de trois caractères ascii alphabétiques ou numériques. Les mots communs comme "de", "à", "le"... ainsi que les termes grammaticaux comme "adj", "vi", "vt"... ne sont pas indexés. Les mots compris entre ({...}), ne sont également pas indéxés.

XJDRAD

Le programme C XJDRAD est disponible pour les utilisateurs voulant conserver l'affichage dans une fenêtre séparée des radicaux utilisés dans le sous-système de reconnaissance multiradicale des kanji.

MAKEKANJSTROKE

Ajouté à la distribution, vous trouverez le fichier kanjstroke, qui est extrait du fichier principal KANJIDIC, comptabilisant le nombre de traits. Il est utilisé associé au sous-système de reconnaissance multiradicale des kanji. Le programme C MAKEKANJSTROKE est fourni au cas où l'utilisateur souhaiterait générer un fichier "nombre de traits".

Jim Breen
School of Computer Science & Software Engineering
Université de Monash
Melbourne, Australie
(jwb@csse.monash.edu.au)
September 1998

APPENDICE - TABLEAU DES MODULES ET DES FICHIERS

Voici le tableau des modules et des différents fichiers binaires :

PROGRAMME AUTONOME CLIENT SERVEUR
xjdic.h O O O
xjdfrontend.c O O N
xjdsa.c O N N
xjdcomm.c (xjdicrc & stringcomp) O O O
xjdservcomm.c (DicSet, dbchar, etc.) O N O
xjdserver.c N N O
xjdclient.c N O N

Le tableau suivant indique les fichiers nécessaires au lancement de l'application :

PROGRAMME AUTONOME CLIENT SERVEUR
.xjdicrc O O O
edict, edict.xjdx (& autres) O N O
kanjidic, kanjidic.xjdx O N O
romkana.cnv O O N
radicals.tm O O N
vconj O O N
radkfile O O N
kanjstroke O O N
clipboard O O N
edictext, edictext.xjdx (*) O O N
gnu_licence O O N

(* Ce fichier n'est pas encore disponible.)

Traduction : Raphaël Carrand (raphael.carrand@free.fr)


Disclaimer