Overview
Comment: | [core][fr] générateur de conjugaisons comme module (déplacement de fichiers) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | fr | core | multid |
Files: | files | file ages | folders |
SHA3-256: |
fb9f2914eb180c594fda6414a40e26d6 |
User & Date: | olr on 2018-03-06 15:38:18 |
Other Links: | branch diff | manifest | tags |
Context
2018-03-06
| ||
16:44 | [lo][fr][py] générateur de conjugaisons: nouvelles fonctions check-in: 456aa2a2aa user: olr tags: fr, lo, multid | |
15:38 | [core][fr] générateur de conjugaisons comme module (déplacement de fichiers) check-in: fb9f2914eb user: olr tags: fr, core, multid | |
15:08 | [tb] lexicon editor: Ui update check-in: f077da7669 user: olr tags: tb, multid | |
Changes
Modified gc_lang/fr/config.ini from [4a9c6e6781] to [5898e7ef09].
︙ | ︙ | |||
83 84 85 86 87 88 89 | oxt/Dictionnaires/dictionaries.xcu = dictionaries.xcu oxt/Dictionnaires/DictionarySwitcher.py = pythonpath/DictionarySwitcher.py oxt/Dictionnaires/ds_strings.py = pythonpath/ds_strings.py # Dictionary Options oxt/DictOptions/DictOptions.py = pythonpath/DictOptions.py oxt/DictOptions/do_strings.py = pythonpath/do_strings.py oxt/DictOptions/LexiconEditor.py = pythonpath/LexiconEditor.py | < | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | oxt/Dictionnaires/dictionaries.xcu = dictionaries.xcu oxt/Dictionnaires/DictionarySwitcher.py = pythonpath/DictionarySwitcher.py oxt/Dictionnaires/ds_strings.py = pythonpath/ds_strings.py # Dictionary Options oxt/DictOptions/DictOptions.py = pythonpath/DictOptions.py oxt/DictOptions/do_strings.py = pythonpath/do_strings.py oxt/DictOptions/LexiconEditor.py = pythonpath/LexiconEditor.py oxt/DictOptions/lxe_strings.py = pythonpath/lxe_strings.py # ContextMenu oxt/ContextMenu/ContextMenu.py = ContextMenu.py oxt/ContextMenu/jobs.xcu = config/jobs.xcu # TextFormatter oxt/TextFormatter/TextFormatter.py = pythonpath/TextFormatter.py oxt/TextFormatter/tf_strings.py = pythonpath/tf_strings.py |
︙ | ︙ |
Renamed and modified gc_lang/fr/webext/panel/lex_conj_data.js [465cbcd5b7] to gc_lang/fr/modules-js/conj_generator.js [d3fa10cd2f].
1 2 3 4 5 6 7 8 9 10 | // JavaScript "use strict"; // beta stage, unfinished, may be useless or the root for a new way to generate flexions… /* Règles de conjugaison */ | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | // JavaScript "use strict"; // beta stage, unfinished, may be useless or the root for a new way to generate flexions… /* Règles de conjugaison */ const conj_generator = { "V1_ppas": { "var": [ [2, "é", ":Q:A:1ŝ:m:s/*", false], [2, "és", ":Q:A:m:p/*", false], [2, "ée", ":Q:A:f:s/*", false], [2, "ées", ":Q:A:f:p/*", false], ], |
︙ | ︙ |
Name change from gc_lang/fr/oxt/DictOptions/lxe_conj_data.py to gc_lang/fr/modules/conj_generator.py.
︙ | ︙ |
Modified gc_lang/fr/oxt/DictOptions/LexiconEditor.py from [1e45d3395d] to [afd65cf50b].
1 2 3 4 5 6 7 8 9 10 11 12 | # Lexicon Editor # by Olivier R. # License: GPL 3 import unohelper import uno import json import re import traceback import helpers import lxe_strings | < > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # Lexicon Editor # by Olivier R. # License: GPL 3 import unohelper import uno import json import re import traceback import helpers import lxe_strings import grammalecte.graphspell as sc import grammalecte.graphspell.dawg as dawg import grammalecte.graphspell.ibdawg as ibdawg import grammalecte.fr.conj as conj import grammalecte.fr.conj_generator as conjgen from com.sun.star.task import XJobExecutor from com.sun.star.awt import XActionListener from com.sun.star.awt import XKeyListener def _waitPointer (funcDecorated): |
︙ | ︙ | |||
405 406 407 408 409 410 411 | # tables de conjugaison du 1er et du 2e groupe cGroup = "1" if sLemma.endswith("er") else "2" for nCut, sAdd, sFlexTags, sPattern in self._getConjRules(sLemma): if not sPattern or re.search(sPattern, sLemma): self.lGeneratedFlex.append((sLemma[0:-nCut]+sAdd, sLemma, ":V" + cGroup + "_" + sVerbTag + sFlexTags)) # participes passés bPpasVar = "var" if self.xV_pp.State else "invar" | | | 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 | # tables de conjugaison du 1er et du 2e groupe cGroup = "1" if sLemma.endswith("er") else "2" for nCut, sAdd, sFlexTags, sPattern in self._getConjRules(sLemma): if not sPattern or re.search(sPattern, sLemma): self.lGeneratedFlex.append((sLemma[0:-nCut]+sAdd, sLemma, ":V" + cGroup + "_" + sVerbTag + sFlexTags)) # participes passés bPpasVar = "var" if self.xV_pp.State else "invar" lPpasRules = conjgen.oConj["V1_ppas"][bPpasVar] if sLemma.endswith("er") else conjgen.oConj["V2_ppas"][bPpasVar] for nCut, sAdd, sFlexTags, sPattern in lPpasRules: if not sPattern or re.search(sPattern, sLemma): self.lGeneratedFlex.append((sLemma[0:-nCut]+sAdd, sLemma, ":V" + cGroup + "_" + sVerbTag + sFlexTags)) else: # copie du motif d’un autre verbe : utilisation du conjugueur if conj.isVerb(sVerbPattern): oVerb = conj.Verb(sLemma, sVerbPattern) |
︙ | ︙ | |||
445 446 447 448 449 450 451 | if sFlexion and sTags.startswith(":"): self.lGeneratedFlex.append((sFlexion, sLemma, sTags)) self._showGenWords() def _getConjRules (self, sVerb): if sVerb.endswith("ir"): # deuxième groupe | | | | | | | | | | | 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 | if sFlexion and sTags.startswith(":"): self.lGeneratedFlex.append((sFlexion, sLemma, sTags)) self._showGenWords() def _getConjRules (self, sVerb): if sVerb.endswith("ir"): # deuxième groupe return conjgen.oConj["V2"] elif sVerb.endswith("er"): # premier groupe, conjugaison en fonction de la terminaison du lemme # 5 lettres if sVerb[-5:] in conjgen.oConj["V1"]: return conjgen.oConj["V1"][sVerb[-5:]] # 4 lettres if sVerb[-4:] in conjgen.oConj["V1"]: if sVerb.endswith(("eler", "eter")): return conjgen.oConj["V1"][sVerb[-4:]]["1"] return conjgen.oConj["V1"][sVerb[-4:]] # 3 lettres if sVerb[-3:] in conjgen.oConj["V1"]: return conjgen.oConj["V1"][sVerb[-3:]] return conjgen.oConj["V1"]["er"] else: # troisième groupe return [ [0, "", ":Y/*", false] ] def _showGenWords (self): xGridDataModel = self.xGridModelNew.GridDataModel xGridDataModel.removeAllRows() |
︙ | ︙ |
Modified gc_lang/fr/webext/panel/lex_editor.html from [78fc49cfbe] to [81ed66a201].
︙ | ︙ | |||
302 303 304 305 306 307 308 | <script src="../grammalecte/graphspell/helpers.js"></script> <script src="../grammalecte/graphspell/str_transform.js"></script> <script src="../grammalecte/graphspell/dawg.js"></script> <script src="../grammalecte/graphspell/ibdawg.js"></script> <script src="../grammalecte/fr/conj.js"></script> | | | 302 303 304 305 306 307 308 309 310 311 312 313 | <script src="../grammalecte/graphspell/helpers.js"></script> <script src="../grammalecte/graphspell/str_transform.js"></script> <script src="../grammalecte/graphspell/dawg.js"></script> <script src="../grammalecte/graphspell/ibdawg.js"></script> <script src="../grammalecte/fr/conj.js"></script> <script src="../grammalecte/fr/conj_generator.js"></script> <script src="lex_editor.js"></script> </body> </html> |
Modified gc_lang/fr/webext/panel/lex_editor.js from [7139f8d80b] to [5562be7fad].
︙ | ︙ | |||
364 365 366 367 368 369 370 | for (let [nCut, sAdd, sFlexTags, sPattern] of this._getConjRules(sLemma)) { if (!sPattern || RegExp(sPattern).test(sLemma)) { this.addFlexion(sLemma.slice(0,-nCut)+sAdd, sLemma, ":V" + cGroup + "_" + sVerbTag + sFlexTags); } } // participes passés let bPpasVar = (document.getElementById("up_partpas").checked) ? "var" : "invar"; | | | 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | for (let [nCut, sAdd, sFlexTags, sPattern] of this._getConjRules(sLemma)) { if (!sPattern || RegExp(sPattern).test(sLemma)) { this.addFlexion(sLemma.slice(0,-nCut)+sAdd, sLemma, ":V" + cGroup + "_" + sVerbTag + sFlexTags); } } // participes passés let bPpasVar = (document.getElementById("up_partpas").checked) ? "var" : "invar"; let lPpasRules = (sLemma.endsWith("er")) ? conj_generator["V1_ppas"][bPpasVar] : conj_generator["V2_ppas"][bPpasVar]; for (let [nCut, sAdd, sFlexTags, sPattern] of lPpasRules) { if (!sPattern || RegExp(sPattern).test(sLemma)) { this.addFlexion(sLemma.slice(0,-nCut)+sAdd, sLemma, ":V" + cGroup + "_" + sVerbTag + sFlexTags); } } } else { // copie du motif d’un autre verbe : utilisation du conjugueur |
︙ | ︙ | |||
445 446 447 448 449 450 451 | showError(e); } }, _getConjRules: function (sVerb) { if (sVerb.endsWith("ir")) { // deuxième groupe | | | | | | | | | | | 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 | showError(e); } }, _getConjRules: function (sVerb) { if (sVerb.endsWith("ir")) { // deuxième groupe return conj_generator["V2"]; } else if (sVerb.endsWith("er")) { // premier groupe, conjugaison en fonction de la terminaison du lemme // 5 lettres if (sVerb.slice(-5) in conj_generator["V1"]) { return conj_generator["V1"][sVerb.slice(-5)]; } // 4 lettres if (sVerb.slice(-4) in conj_generator["V1"]) { if (sVerb.endsWith("eler") || sVerb.endsWith("eter")) { return conj_generator["V1"][sVerb.slice(-4)]["1"]; } return conj_generator["V1"][sVerb.slice(-4)]; } // 3 lettres if (sVerb.slice(-3) in conj_generator["V1"]) { return conj_generator["V1"][sVerb.slice(-3)]; } return conj_generator["V1"]["er"]; } else { // troisième groupe return [ [0, "", ":Y/*", false] ]; } }, getRadioValue: function (sName) { |
︙ | ︙ |