Vérification des messages ========================= La vérification des messages est effectuée par un cas-test dédié à cela: supv002. Le but est de s'assurer: * que les messages fournis dans les catalogues ont le bon format: ils doivent être en *unicode* pour être capable de gérer les caractères non-ascii; * qu'ils pourront être formatés correctement, notamment que les variables qu'ils contiennent ont un type cohérent; * que les messages sont écrits en français ! Pour ce dernier point, on procède à une vérification systématique du texte des messages à l'aide du vérificateur d'orthographe aspell. Celui-ci s'appuie sur son propre dictionnaire auquel on ajoute le jargon propre à Code_Aster. C'est-à-dire: * un dictionnaire contenant la liste de tous les mots-clés du catalogue de commandes, * un dictionnaire ajoutant un certain nombre de mots en complément du dictionnaire français de base (des noms propres comme *Newton* , des mots anglais mais adoptés dans notre jargon comme *level-set* , etc.). On veillera à limiter au strict minimum le dictionnaire personnel pour *Code_Aster* . **Remarque** aspell *ne prend en compte qu'un dictionnaire personnel. Lors de la vérification, on concatène automatiquement nos deux dictionnaires pour n'en former qu'un seul.* Les dictionnaires sont rangés dans $ASTER_ROOT/share/codeaster respectivement sous les noms code_aster_cata.aspell.per et code_aster_dict.aspell.per. Attention à conserver l'encodage correct de ces fichiers. Dictionnaire des mots-clés du catalogue --------------------------------------- On construit ce dictionnaire de la manière la plus simple qui soit (on peut le mettre à jour de temps en temps en fonction de l'apparition de nouveaux mots-clés): on prend tous les mots-clés en majuscules de cata.py. aspell n'accepte pas les «_» en milieu de mot, ni les mots contenant les chiffres. On peut produire le dictionnaire ainsi : import os import re cata=open('cata.py', 'r').read() exp = re.compile('([A-Z][A-Z]+)', re.M) kw = list(set(exp.findall(cata))) kw.sort() kw.insert(0, 'personal_ws-1.1 fr 0 utf-8') open('dict.aspell.per', 'w').write(os.linesep.join(kw))