# Linguae

Linguae est une interface permettant de consulter, créer ou éditer des dictionnaires hors ligne. C'est un logiciel libre distribué sous licence CeCILL et disponible pour Linux, Windows, FreeBSD, Solaris et Mac OS X.

## Caractéristiques
### Lecture des dictionnaires

Les formats de dictionnaires supportés en lecture, édition du contenu et conversion d'un format à l'autre sont les suivants :
* .ling (format binaire Linguae)
* .dict (format binaire StarDict)
* .xdxf (format texte xml)
* .wb (format binaire à champs de longueur fixe)
* .ini (format texte des fichiers d'initialisation)
* .csv, *.tab, *.txt (fichiers texte délimités)
Ces formats sont supportés nativement, c.à.d. que Linguae n'effectue aucune conversion interne pour les lire et les éditer.

### Édition du contenu des dictionnaires

* Modification des entrées (entrée et notice).
* Ajout de nouvelle entrées.
* Déplacement libre des entrées dans le dictionnaire.
* Suppression d'entrées.
* Table de caractère Unicode intégrée.
* Édition des propriétés (métadonnées) du dictionnaire pour les formats le permettant.
* Tri paramétrable des dictionnaires.
* Déplacement libre des entrées dans le dictionnaire
* Ajout ou modification du contenu audio directement par l'interface.
* Association d'images gif aux entrées.

### Gestion des dictionnaires

* Création de nouveaux dictionnaires vides.
* Chemin de recherche et chemin du fichier de stockage principal paramétrables
* Création automatique de dictionnaires inverses.
* Croisement de dictionnaires (L1/L2 x L2/L3 → nouveau dictionnaire L1/L3)
* Exportation des dictionnaires vers divers formats.
* Importation au format texte (CSV ou format texte dédié).
* Extraction des modifications apportées par l'utilisateur (si le format le permet).

### Recherche dans les dictionnaires

* Recherche textuelle dans les entrées ou les notices ou les deux associées.
* Recherche des entrées par leur identifiant.
* Recherche des entrées "à la volée" en tapant le début du mot.
* Recherche itérative dans les entrées et les notices avec insensibilité optionnelle aux ligatures (avec ou sans sensibilité à la casse).

### Interface

* Interface redimensionnable
* Transparence réglable (inactif sur certaines plateformes).
* Affichage récursif du dossier de stockage dans un menu déroulant "Dictionnaires"
* Polices d'affichage paramétrables (indépendamment pour la liste d'entrées et la notice)
* Mémorisation de la taille et de la position de la fenêtre d'une utilisation à l'autre.
* Réouverture automatique du dernier dictionnaire ouvert.
* Réouverture automatique du dernier greffon ouvert.

### Divers

* Possibilité d'utiliser des greffons ("plug-ins")
* Recherche automatique de l'existence d'une nouvelle version.

### Le format Ling

Linguae introduit un nouveau format binaire (*.ling) ainsi qu'un format texte associé (format dit "Preling") servant de passerelle d'importation vers celui-ci et permettant d'utiliser toutes les potentialités du format binaire ling tout en restant éditable à la main.
La spécification de ce(s) format(s) est incluse dans les fichiers du programme.
En matière de format de fichier, il est toujours préférable de rejoindre les standards existants que de faire preuve d'originalité... La justification de ce nouveau format repose essentiellement sur l'insuffisance des formats existants quant à la facilité (et même la possibilité...) de définir des relations internes ou externes entre les diverses entrées des dictionnaires.

### Greffons

Linguae accepte des greffons ("plug-ins") sous la forme de modules Python utilisant un interfaçage logiciel simple (voire le code du greffon de démonstration "demo.py" joint au programme). Les greffons sont destinés à apporter des fonctionnalités propres à une langue ou un groupe de langues ou de dictionnaires, sans devoir transformer le programme principal en une usine à gaz de fonctions utiles à certains utilisateurs mais inutiles à la majorité des autres.