đź“–
Open-Capture Documentation
  • 🏠Accueil
  • 🖥️Technique
    • Installation
      • CrĂ©ation d'instances supplĂ©mentaires
      • ParamĂ©trage d'un partage Samba
      • RĂ©cupĂ©ration des fournisseurs
      • Capture de mail
      • Mise en place des scripts de purge
    • Architecture fonctionnelle
    • Mise Ă  jour
    • Ajout d'une nouvelle langue
    • Connexion sans login/mdp depuis une application externe
    • DĂ©veloppement custom
    • Gestion des erreurs
    • Web Services
      • Authentification
      • Comptes tiers et clients
      • Configurations
      • Champs personnalisĂ©s
      • Formulaires
      • Module VĂ©rificateur
      • Pièces jointes
      • Monitoring
  • 🛠️ParamĂ©trages
    • Statistiques
    • Monitoring des processus
    • Liste des comptes clients
    • Liste des comptes fournisseurs
    • Historique
    • Paramètres GĂ©nĂ©raux
      • A propos
      • Configurations
      • Zone de stockage
      • Liste des Regex
      • MailCollect
      • Liste des utilisateurs
      • Quota d'utilisateurs
      • Liste des rĂ´les
        • Privilèges des rĂ´les
      • Champs personnalisĂ©s
      • MĂ©thodes d'authentification
    • Paramètres VĂ©rificateur
      • ParamĂ©trages divers
      • Workflows
        • Exemples de scriptings
      • RĂ©cupĂ©ration du contact
      • Liste des Formulaires
        • Modification du formulaire
        • CrĂ©ation de formulaire
      • ChaĂ®nes sortantes
        • Export XML
        • Export MEM Courrier
        • Export PDF
      • Masques de positionnement
        • CrĂ©er un nouveau masque
        • Modification du masque
    • Paramètres Splitter
      • Workflows
      • Liste des Formulaires
        • Modification du formulaire
        • CrĂ©ation de formulaire
      • ChaĂ®nes sortantes
        • Export PDF
        • Export XML
        • Export CMIS
        • Export OpenADS
      • SĂ©parateurs de documents
      • Types de documents
        • Ajouter un type de document
        • Ajouter une chemise
      • Intelligence artificielle
      • Changement de statut
  • 📝Utilisation
    • Introduction
    • Mot de passe oubliĂ©
    • VĂ©rifier
    • Splitter
    • TĂ©lĂ©charger le lot factures d’essai
    • TĂ©lĂ©charger le lot documents RH
Powered by GitBook
On this page
  • Modification cĂ´tĂ© base de donnĂ©es
  • Ajout d'un paquet de langue Tesseract
  • CrĂ©ation des fichiers Babel
  • Modification des REGEX
  1. Technique

Ajout d'une nouvelle langue

PreviousMise Ă  jourNextConnexion sans login/mdp depuis une application externe

Last updated 1 year ago

La gestion du multilingue est gérée par . Son intégration à Open-Capture est facilitée grâce au module . Passons maintenant à la procédure pour rajouter une nouvelle langue, en plus du français et de l'anglais, présent par défaut.

Modification côté base de données

La liste des langues est disponible dans la base de données, dans la table languages. Vous pouvez lancer la commande suivante pour commencer l'ajout d'une nouvelle langue :

INSERT INTO "languages"
    ("language_id", "label", "lang_code", "moment_lang_code", "date_format")
VALUES
    ('spa', 'Español', 'spa', 'spa-SPA', '%d %m %Y');

Ajout d'un paquet de langue Tesseract

Si vous souhaitez que Tesseract puisse lire et comprendre également la nouvelle langue, il faut installer le paquet spécifique. Pour cela, le lien suivant recense les codes de langue Tesseract : . Dans notre exemple, pour rajouter la langue espagnole la commande à taper serait :

sudo apt install tesseract-ocr-spa

Création des fichiers Babel

Il est désormais temps de créer le dossier Babel contenant toutes les traductions. Il suffira d'une seule ligne pour tout créer, le plus long sera de traduire ensuite tous les champs. Encore une fois, nous utilisons notre exemple avec la langue espagnole.

cd /var/www/html/opencapture/src/assets/i18n/
pybabel init -i backend/messages.pot -d backend/translations -l spa

Ce qui vous donnera une arborescence comme ceci :

/var/www/html/opencapture/src/assets/i18n/
backend
├── messages.pot
└── translations
    ├── en
    │   └── LC_MESSAGES
    │       ├── messages.mo
    │       └── messages.po
    ├── fr
    │   └── LC_MESSAGES
    │       ├── messages.mo
    │       └── messages.po
    └── spa
        └── LC_MESSAGES
            ├── messages.mo
            └── messages.po

Ouvrez désormais le fichier spa/LC_MESSAGES/message.po. Vous aurez X traductions, présentées comme ci-dessous. Il ne vous reste plus qu'à tout traduire dans le champ msgstr.

message.po
#: src/backend/models/user.py:40
msgid "USER"
msgstr ""

Modification des REGEX

Le dernier élément à modifier pour finaliser l'ajout de langue est la table contenant les REGEX. En effet, les REGEX sont liés à une langue. Situé dans la table regex, avoir des lignes spécifiques à la nouvelle langue est essentiel pour une bonne reconnaissance des différentes métadonnées. Vous retrouverez ci-dessous toutes les regex à modifier et à insérer dans votre base de données. Il ne vous reste qu'à modifier la colonne lang au besoin, le label ainsi que la colonne content qui contient la regex. Vous trouverez les regex d'origine française et anglaise dans le fichier /var/www/html/opencapture/instance/sql/global.sql

INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('date', 'spa', 'Date', '');
INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('due_date', 'spa', 'Date d''échance', '');
INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('invoice_number', 'spa', 'Numéro de facture', '');
INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('delivery_number', 'spa', 'Numéro de livraison', '');
INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('quotation_number', 'spa', 'Numéro de devis', '');
INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('no_rates', 'spa', 'Montant HT', '');
INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('all_rates', 'spa', 'Montant TTC', '');
INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('vat_rate', 'spa', 'Taux de TVA', '');
INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('vat_amount', 'spa', 'Montant TVA', '');
INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('vat_rate_list', 'spa', 'Liste des taux de TVA', '[20, 19.6, 10, 5.5, 2.1]');
INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('format_date', 'spa', 'Format final de la date', '%d/%m/%Y');

INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('splitter_doc_loop', 'spa', '');
INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('splitter_condition', 'spa', '');
INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('splitter_xml_comment', 'spa', '');
INSERT INTO "regex" ("regex_id", "lang", "label", "content") VALUES ('splitter_empty_line', 'spa', '');

Si vous le souhaitez, et dans le but d'améliorer continuellement Open-Capture, n'hésitez pas à le projet pour ensuite ouvrir un dans le dépot Git officiel afin d'intégrer vos modifications dans le tronc commun.

🖥️
Babel
Flask-Babel
https://www.macports.org/ports.php?by=name&substr=tesseract-
fork
Pull Request