Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
dictconv [Le 01/05/2017, 17:38]
41.78.195.85 tags
dictconv [Le 18/03/2023, 10:40] (Version actuelle)
L'Africain nettoyage
Ligne 1: Ligne 1:
-{{tag>Trusty ​dictionnaires_encyclopedies}}+{{tag>Jammy dictionnaires_encyclopedies}}
 ---- ----
 ====== Dictconv ====== ====== Dictconv ======
Ligne 6: Ligne 6:
 Il a été codé par l'​auteur de ktranslator et de wordtrans.\\ Il a été codé par l'​auteur de ktranslator et de wordtrans.\\
 Le programme détecte le type de dictionnaire par ses extensions :\\ Le programme détecte le type de dictionnaire par ses extensions :\\
-  * .bgl pour les dictionnaires Babylon; 
   * .dct pour les dictionnaires ​ Sdictionary;​   * .dct pour les dictionnaires ​ Sdictionary;​
   * .dic pour les dictionnaires plain text;   * .dic pour les dictionnaires plain text;
Ligne 12: Ligne 11:
   * .index pour les dictionnaires DICT;   * .index pour les dictionnaires DICT;
   * .tei pour les dictionnaires ​ Freedict (XML format).   * .tei pour les dictionnaires ​ Freedict (XML format).
-À l'​heure actuelle (version 0.2), il convertit des dictionnaires de Babylon, ​Freedict, Sdictionary et Stardict vers les dictionnaires de DICT, plain text et StarDict.+Il convertit des dictionnaires de Freedict, Sdictionary et Stardict vers les dictionnaires de DICT, plain text et StarDict.
  
-<note warning>Il semble que sous [[:​Trusty|Ubuntu 14.04]] dictconv ​ne fonctionne plus correctement en tout cas lors de la conversion de dictionnaire BGL. Voir [[https://​bugs.launchpad.net/​ubuntu/​+source/​dictconv/​+bug/​347695|ici]] le rapport de bug.</​note>​+<note warning>Dictconv ​ne fonctionne plus correctement en tout cas lors de la conversion de dictionnaire BGL. Voir [[https://​bugs.launchpad.net/​ubuntu/​+source/​dictconv/​+bug/​347695|ici]] le rapport de bug.</​note>​
 ===== Pré-requis ===== ===== Pré-requis =====
    
Ligne 33: Ligne 32:
 Dans un terminal, l'​usage est de type : <​code>​dictconv -o fichier_cible.ext fichier_original.ext</​code>​ Dans un terminal, l'​usage est de type : <​code>​dictconv -o fichier_cible.ext fichier_original.ext</​code>​
  
-On prend pour exemple un dictionnaire au format .bgl à cette [[http://www.babylon.com/gloss/glossaries.php|adresse]].\\+Vous trouverez des dictionnaires ​à cette [[https://drive.google.com/drive/folders/​0BzrQwK2v03aKWjlsQ3NsaWJKalU?​resourcekey=0-DtgqOJiVFSDI231ugoQgiQ|adresse]].\\
 Babylon_English_French.BGL que l'on télécharge sur le bureau. Babylon_English_French.BGL que l'on télécharge sur le bureau.
  
-====Procédé par conversion directe (pour le moment encore beaucoup d'​erreurs)==== 
- 
-Pour convertir un fichier "​.bgl"​ en fichier compatible stardict "​.ifo":​ <​code>​cd ~/Bureau 
-dictconv -o Babylon_English_French.ifo Babylon_English_French.BGL 
-</​code>​ 
-On obtient donc trois nouveaux fichiers sur le bureau : 
-  * Babylon_English_French.dict 
-  * Babylon_English_French.idx 
-  * Babylon_English_French.ifo 
- 
-On crée un nouveau répertoire par exemple "​babylon_eng_fr",​ on les place dedans et on met celui-ci dans le répertoire **dic** de stardict. 
- 
-En convertissant vers StarDict et DICT, le fichier .dict n'est pas compressé. Si vous voulez compresser ce fichier, utilisez le programme **dictzip**. Après vous êtres mis dans le bon dossier, par exemple : 
-<​code>​cd Bureau/​babylon_eng_fr</​code>​ 
-Lancez la commande :<​code>​dictzip fichier_cible.dict</​code>​ 
-Soit ici : 
-<​code>​dictzip Babylon_English_French.dict</​code>​ 
- 
- 
-====Procédé par conversion indirect==== 
- 
-Suivant les dictionnaires il se produit des erreurs de conversion c'est le cas avec le dictionnaire pris en exemple ! 
- 
-Convertir d'​abord le fichier ''​.bgl''​ en format plain text, le modifier si nécessaire grâce à un [[:​editeur_de_texte|éditeur de texte]] puis le retransformer en format stardict par stardict-editor. On prend toujours en exemple le même fichier ''​.bgl''​ mis sur le bureau : 
-  * convertissez en plain text ("​.dic"​) : <​code>​cd ~/Bureau 
-dictconv -o Babylon_English_French.dic Babylon_English_French.BGL</​code>​ 
-  * Corrigez les fautes : Le dictionnaire est formé d'​abord du mot, suivit d'une tabulation puis la définition. Si la définition contient une nouvelle ligne, écrire \n. En ouvrant le ''​.dic''​ avec l'​éditeur de texte gedit on remarque alors la cause du problème : le mot suivi de caractères du type "​$suite de chiffres$"​ suivit d'une tabulation. On va utiliser la commande [[:sed]]. 
-On les retire dans un terminal avec : <​code>​sed '​s|\$[0-9]\+\$\t|\t|' ​ Babylon_English_French.dic > Babylon_English_French_nouveau.dic</​code>​ 
- 
- 
-Il reste les caractères du type "​œ"​ qui n'ont pas été correctement convertis. 
-[[:​tutoriel:​comment_modifier_un_fichier|Ouvrez le fichier]] et remplacez : mettre une copie du caractère mal converti "​Œ"​ et le remplacer par œ. Il se peut qu'il faille refaire la manœuvre plusieurs fois par copier coller du caractère qui pose problème le œ est apparemment converti en différent type de ž.\\ 
-Cette manœuvre sera très utile dans le cas du dictionnaire français-anglais.\\ 
-Il vaut mieux faire une relecture "en diagonale"​ pour retrouver d'​autres erreurs du type quelques lettres mises en majuscule "​ÉE"​ pour ée, rarement une apostrophe ​ sous forme Œ, des mots mis en majuscule quand ils commencent par un "​à"​. Et quelques erreurs dans les articles.\\ 
-Ex : ligne 33 Australasia,​ ligne 24 jacobinic, ligne 149605,​73577,​147429,​147257,​147346... 
- 
-On peut pour s'​aider afficher les lignes dans les préférences de gedit.\\ 
- 
-Pour finir, convertissez le format plain text en format stardict ​ 
-avec stardict-tools qu'on lance dans un terminal: <​code>​stardict-editor</​code>​ 
- 
-Dans l'​onglet compile on indique le chemin du "​.dic",​ on laisse le format tab file en bas et on clique sur build.\\ 
-S'il y a des erreurs on peut noter les lignes en cause et les rechercher en ouvrant à nouveau le "​.dic"​. On peut corriger "à la main" puis refaire une nouvelle conversion.\\ 
- 
-ex : ligne 72621 avec une mauvaise tabulation 
- 
-Le dictionnaire par cette méthode est directement compressé. 
- 
- 
-** Automatisation de la méthode indirecte ** 
- 
-Le script suivant, ''​convert-bgl'',​ permet d'​automatiser l'​essentiel ​ de la méthode indirecte ci-dessus. 
-Avec sed, on devrait pouvoir aussi gérer les cas particuliers. 
- 
-<file bash convert-bgl>​ 
-#!/bin/bash 
-## Nom de ce script: convert-bgl 
- 
-## Pour exécuter ce script, l'​utilisateur courant 
-## doit pouvoir écrire dans le dossier /​usr/​share/​stardict/​dic/​ 
-## Pour cela, soit il faut lancer ce script en root (c'est risqué), soit faire ceci: 
-# sudo chown $USER:$USER /​usr/​share/​stardict/​dic/​ 
- 
-## Rendre ce script executable avec: 
-# chmod a+x ./​convert-bgl 
-## Pour exécuter ce script, le mettre dans le dossier où sont 
-## stockés les fichiers .BGL et faire: 
-# ./​convert-bgl 
- 
-for i in $(ls *.BGL) 
-do 
-  # on enleve l'​extension '​.BGL'​ au nom de fichier 
-  DICOACONVERTIR=${i%.BGL} 
-  dictconv -o $DICOACONVERTIR-tmp.dic $DICOACONVERTIR.BGL 
-  sed '​s|\$[0-9][0-9]*\$\t|\t|'<​$DICOACONVERTIR-tmp.dic>​$DICOACONVERTIR.dic 
-  /​usr/​lib/​stardict-tools/​tabfile $DICOACONVERTIR.dic 
-  rm -I $DICOACONVERTIR.dic $DICOACONVERTIR-tmp.dic 
-  mkdir -p /​usr/​share/​stardict/​dic/​$DICOACONVERTIR 
-  mv --force $DICOACONVERTIR.*i* /​usr/​share/​stardict/​dic/​$DICOACONVERTIR 
-done 
-</​file>​ 
- 
-===== Références ===== 
-  * [[http://​www.grymoire.com/​Unix/​Sed.html#​uh-1|Sur sed]] 
  
 ---- ----
  • dictconv.1493653138.txt.gz
  • Dernière modification: Le 01/05/2017, 17:38
  • par 41.78.195.85