Grammalecte  Check-in [6a3646249d]

Overview
Comment:[fr] conjugeur: mise à jour + pas de variable d’un seul caractère
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: 6a3646249d23cd8ebe4ac4c9de0264481fa7d02283e2bffdeeeee170792202ba
User & Date: olr on 2017-05-28 13:01:17
Other Links: manifest | tags
Context
2017-05-29
06:26
[fr] déplacement des règles de confusion <différent/différend> + correction faux positifs check-in: b2901e8b0f user: olr tags: trunk, fr
2017-05-28
13:01
[fr] conjugeur: mise à jour + pas de variable d’un seul caractère check-in: 6a3646249d user: olr tags: trunk, fr
12:15
[fr] étiquettes pour les verbes pronominaux check-in: 3a71c07d37 user: olr tags: trunk, fr
Changes

Modified gc_lang/fr/modules-js/conj.js from [1c45293d0f] to [55db24a585].

283
284
285
286
287
288
289
290

291
292

293
294

295
296

297
298

299
300

301
302
303


304
305
306

307
308
309


310
311

312
313
314
315
316
317
318
283
284
285
286
287
288
289

290
291

292
293

294
295

296
297

298
299

300
301


302
303
304
305

306
307


308
309
310

311
312
313
314
315
316
317
318







-
+

-
+

-
+

-
+

-
+

-
+

-
-
+
+


-
+

-
-
+
+

-
+







        ]);
    };

    _readableInfo () {
        // returns readable infos
        this.sVerbAux = (this._sRawInfo.slice(7,8) == "e") ? "être" : "avoir";
        let sGroup = _dGroup.get(this._sRawInfo[0]);
        let s = "";
        let sInfo = "";
        if (this._sRawInfo.slice(3,4) == "t") {
            s = "transitif";
            sInfo = "transitif";
        } else if (this._sRawInfo.slice(4,5) == "n") {
            s = "transitif indirect";
            sInfo = "transitif indirect";
        } else if (this._sRawInfo.slice(2,3) == "i") {
            s = "intransitif";
            sInfo = "intransitif";
        } else if (this._sRawInfo.slice(5,6) == "r") {
            s = "pronominal réciproque";
            sInfo = "pronominal réciproque";
        } else if (this._sRawInfo.slice(5,6) == "p") {
            s = "pronominal";
            sInfo = "pronominal";
        }
        if (this._sRawInfo.slice(5,6) == "q" || this._sRawInfo.slice(5,6) == "e") {
            s = s + " (+ usage pronominal)";
        if ( ["q", "u", "v", "e"].includes(this._sRawInfo.slice(5,6)) ) {
            sInfo = sInfo + " (+ usage pronominal)";
        }
        if (this._sRawInfo.slice(6,7) == "m") {
            s = s + " impersonnel";
            sInfo = sInfo + " impersonnel";
        }
        if (s === "") {
            s = "# erreur - code : " + this._sRawInfo;
        if (sInfo === "") {
            sInfo = "# erreur - code : " + this._sRawInfo;
        }
        return sGroup + " · " + s;
        return sGroup + " · " + sInfo;
    };

    infinitif (bPro, bNeg, bTpsCo, bInt, bFem) {
        let sInfi;
        if (bTpsCo) {
            sInfi = (bPro) ? "être" : this.sVerbAux;
        } else {
341
342
343
344
345
346
347
348

349
350

351
352

353
354

355
356
357

358
359
360

361
362

363
364
365
366

367
368
369

370
371
372

373
374

375
376
377
378
379
380
381

382
383
384
385
386

387
388

389
390

391
392
393

394
395
396

397
398

399
400
401
402

403
404
405
406


407
408

409
410
411

412
413

414
415
416
417

418
419
420

421
422
423

424
425

426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
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
478
341
342
343
344
345
346
347

348
349

350
351

352
353

354
355
356

357
358
359

360
361

362
363
364
365

366
367
368

369
370
371

372
373

374
375
376
377
378
379
380

381
382
383
384
385

386
387

388
389

390
391
392

393
394
395

396
397

398
399
400
401

402
403
404


405
406
407

408
409
410

411
412

413
414
415
416

417
418
419

420
421
422

423
424

425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444

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
478







-
+

-
+

-
+

-
+


-
+


-
+

-
+



-
+


-
+


-
+

-
+






-
+




-
+

-
+

-
+


-
+


-
+

-
+



-
+


-
-
+
+

-
+


-
+

-
+



-
+


-
+


-
+

-
+



















-
+

-
+

-
+

-
+


-
+



-
+

-
+


-
+


-
+


-
+

-
+







        return this.dConj.get(":PQ").get(sWho);
    };

    participePresent (bPro, bNeg, bTpsCo, bInt, bFem) {
        if (!this.dConj.get(":PQ").get(":P")) {
            return "";
        }
        let s;
        let sPartPre;
        if (bTpsCo) {
            s = (!bPro) ? _getConjWithTags(this.sVerbAux, this._tTagsAux, ":PQ", ":P") : getConj("être", ":PQ", ":P");
            sPartPre = (!bPro) ? _getConjWithTags(this.sVerbAux, this._tTagsAux, ":PQ", ":P") : getConj("être", ":PQ", ":P");
        } else {
            s = this.dConj.get(":PQ").get(":P");
            sPartPre = this.dConj.get(":PQ").get(":P");
        }
        if (s === "") {
        if (sPartPre === "") {
            return "";
        }
        let bEli = _zStartVoy.test(s);
        let bEli = _zStartVoy.test(sPartPre);
        if (bPro) {
            if (this.bProWithEn) {
                s = "s’en " + s;
                sPartPre = "s’en " + sPartPre;
            } else {
                s = (bEli) ? "s’" + s : "se " + s;
                sPartPre = (bEli) ? "s’" + sPartPre : "se " + sPartPre;
            }
        }
        if (bNeg) {
            s = (bEli && !bPro) ? "n’" + s + " pas" : "ne " + s + " pas";
            sPartPre = (bEli && !bPro) ? "n’" + sPartPre + " pas" : "ne " + sPartPre + " pas";
        }
        if (bTpsCo) {
            s += " " + this._seekPpas(bPro, bFem, this._sRawInfo[5] == "r");
            sPartPre += " " + this._seekPpas(bPro, bFem, this._sRawInfo[5] == "r");
        }
        if (bInt) {
            s += " … ?";
            sPartPre += " … ?";
        }
        return s;
        return sPartPre;
    };

    conjugue (sTemps, sWho, bPro, bNeg, bTpsCo, bInt, bFem) {
        if (!this.dConj.get(sTemps).get(sWho)) {
            return "";
        }
        let s;
        let sConj;
        if (!bTpsCo && bInt && sWho == ":1s" && this.dConj.get(sTemps)._get(":1ś", false)) {
            sWho = ":1ś";
        }
        if (bTpsCo) {
            s = (!bPro) ? _getConjWithTags(this.sVerbAux, this._tTagsAux, sTemps, sWho) : getConj("être", sTemps, sWho);
            sConj = (!bPro) ? _getConjWithTags(this.sVerbAux, this._tTagsAux, sTemps, sWho) : getConj("être", sTemps, sWho);
        } else {
            s = this.dConj.get(sTemps).get(sWho);
            sConj = this.dConj.get(sTemps).get(sWho);
        }
        if (s === "") {
        if (sConj === "") {
            return "";
        }
        let bEli = _zStartVoy.test(s);
        let bEli = _zStartVoy.test(sConj);
        if (bPro) {
            if (!this.bProWithEn) {
                s = (bEli) ? _dProObjEl.get(sWho) + s : _dProObj.get(sWho) + s;
                sConj = (bEli) ? _dProObjEl.get(sWho) + sConj : _dProObj.get(sWho) + sConj;
            } else {
                s = _dProObjEl.get(sWho) + "en " + s;
                sConj = _dProObjEl.get(sWho) + "en " + sConj;
            }
        }
        if (bNeg) {
            s = (bEli && !bPro) ? "n’" + s : "ne " + s;
            sConj = (bEli && !bPro) ? "n’" + sConj : "ne " + sConj;
        }
        if (bInt) {
            if (sWho == ":3s" && !_zNeedTeuph.test(s)) {
                s += "-t";
            if (sWho == ":3s" && !_zNeedTeuph.test(sConj)) {
                sConj += "-t";
            }
            s += "-" + this._getPronom(sWho, bFem);
            sConj += "-" + this._getPronom(sWho, bFem);
        } else {
            if (sWho == ":1s" && bEli && !bNeg && !bPro) {
                s = "j’" + s;
                sConj = "j’" + sConj;
            } else {
                s = this._getPronom(sWho, bFem) + " " + s;
                sConj = this._getPronom(sWho, bFem) + " " + sConj;
            }
        }
        if (bNeg) {
            s += " pas";
            sConj += " pas";
        }
        if (bTpsCo) {
            s += " " + this._seekPpas(bPro, bFem, sWho.endsWith("p") || this._sRawInfo[5] == "r");
            sConj += " " + this._seekPpas(bPro, bFem, sWho.endsWith("p") || this._sRawInfo[5] == "r");
        }
        if (bInt) {
            s += " … ?";
            sConj += " … ?";
        }
        return s;
        return sConj;
    };

    _getPronom (sWho, bFem) {
        if (sWho == ":3s") {
            if (this._sRawInfo[5] == "r") {
                return "on";
            } else if (bFem) {
                return "elle";
            }
        } else if (sWho == ":3p" && bFem) {
            return "elles";
        }
        return _dProSuj.get(sWho);
    };

    imperatif (sWho, bPro, bNeg, bTpsCo, bFem) {
        if (!this.dConj.get(":E").get(sWho)) {
            return "";
        }
        let s;
        let sImpe;
        if (bTpsCo) {
            s = (!bPro) ? _getConjWithTags(this.sVerbAux, this._tTagsAux, ":E", sWho) : getConj("être", ":E", sWho);
            sImpe = (!bPro) ? _getConjWithTags(this.sVerbAux, this._tTagsAux, ":E", sWho) : getConj("être", ":E", sWho);
        } else {
            s = this.dConj.get(":E").get(sWho);
            sImpe = this.dConj.get(":E").get(sWho);
        }
        if (s === "") {
        if (sImpe === "") {
            return "";
        }
        let bEli = _zStartVoy.test(s);
        let bEli = _zStartVoy.test(sImpe);
        if (bNeg) {
            if (bPro) {
                if (!this.bProWithEn) {
                    s = (bEli && sWho == ":2s") ? "ne t’" + s + " pas" : _dImpeProNeg.get(sWho) + s + " pas";
                    sImpe = (bEli && sWho == ":2s") ? "ne t’" + sImpe + " pas" : _dImpeProNeg.get(sWho) + sImpe + " pas";
                } else {
                    s = _dImpeProNegEn.get(sWho) + s + " pas";
                    sImpe = _dImpeProNegEn.get(sWho) + sImpe + " pas";
                }
            } else {
                s = (bEli) ? "n’" + s + " pas" : "ne " + s + " pas";
                sImpe = (bEli) ? "n’" + sImpe + " pas" : "ne " + sImpe + " pas";
            }
        } else if (bPro) {
            s = (this.bProWithEn) ? s + _dImpeProEn.get(sWho) : s + _dImpePro.get(sWho);
            sImpe = (this.bProWithEn) ? sImpe + _dImpeProEn.get(sWho) : sImpe + _dImpePro.get(sWho);
        }
        if (bTpsCo) {
            return s + " " + this._seekPpas(bPro, bFem, sWho.endsWith("p") || this._sRawInfo[5] == "r");
            return sImpe + " " + this._seekPpas(bPro, bFem, sWho.endsWith("p") || this._sRawInfo[5] == "r");
        }
        return s;
        return sImpe;
    };

    _seekPpas (bPro, bFem, bPlur) {
        if (!bPro && this.sVerbAux == "avoir") {
            return this.dConj.get(":PQ").get(":Q1");
        }
        if (!bFem) {

Modified gc_lang/fr/modules/conj.py from [7c55bc9b32] to [55e5497434].

24
25
26
27
28
29
30
31
32


33
34
35
36
37
38
39
24
25
26
27
28
29
30


31
32
33
34
35
36
37
38
39







-
-
+
+








_dGroup = { "0": "auxiliaire", "1": "1ᵉʳ groupe", "2": "2ᵉ groupe", "3": "3ᵉ groupe" }

_dTenseIdx = { ":PQ": 0, ":Ip": 1, ":Iq": 2, ":Is": 3, ":If": 4, ":K": 5, ":Sp": 6, ":Sq": 7, ":E": 8 }



def isVerb (s):
    return s in _dVerb
def isVerb (sVerb):
    return sVerb in _dVerb


def getConj (sVerb, sTense, sWho):
    "returns conjugation (can be an empty string)"
    if sVerb not in _dVerb:
        return None
    return _modifyStringWithSuffixCode(sVerb, _dPatternConj[sTense][_lTags[_dVerb[sVerb][1]][_dTenseIdx[sTense]]].get(sWho, ""))
238
239
240
241
242
243
244
245

246
247

248
249

250
251

252
253

254
255
256
257



258
259
260
261
262




263
264
265
266
267
268
269
238
239
240
241
242
243
244

245
246

247
248

249
250

251
252

253
254



255
256
257
258




259
260
261
262
263
264
265
266
267
268
269







-
+

-
+

-
+

-
+

-
+

-
-
-
+
+
+

-
-
-
-
+
+
+
+







            if not self._sRawInfo:
                return "verbe inconnu"
            if self._sRawInfo[7:8] == "e":
                self.sVerbAux = "être"
            else:
                self.sVerbAux = "avoir"
            sGroup = _dGroup.get(self._sRawInfo[0], "# erreur ")
            s = ""
            sInfo = ""
            if self._sRawInfo[3:4] == "t":
                s = "transitif"
                sInfo = "transitif"
            elif self._sRawInfo[4:5] == "n":
                s = "transitif indirect"
                sInfo = "transitif indirect"
            elif self._sRawInfo[2:3] == "i":
                s = "intransitif"
                sInfo = "intransitif"
            elif self._sRawInfo[5:6] == "r":
                s = "pronominal réciproque"
                sInfo = "pronominal réciproque"
            elif self._sRawInfo[5:6] == "p":
                s = "pronominal"
            if self._sRawInfo[5:6] == "q" or self._sRawInfo[5:6] == "e":
                s = s + " (+ usage pronominal)"
                sInfo = "pronominal"
            if self._sRawInfo[5:6] in ["q", "u", "v", "e"]:
                sInfo = sInfo + " (+ usage pronominal)"
            if self._sRawInfo[6:7] == "m":
                s = s + " impersonnel"
            if not s:
                s = "# erreur - code : " + self._sRawInfo
            return sGroup + " · " + s
                sInfo = sInfo + " impersonnel"
            if not sInfo:
                sInfo = "# erreur - code : " + self._sRawInfo
            return sGroup + " · " + sInfo
        except:
            traceback.print_exc()
            return "# erreur"

    def infinitif (self, bPro, bNeg, bTpsCo, bInt, bFem):
        try:
            if bTpsCo:
294
295
296
297
298
299
300
301

302
303
304


305
306

307
308
309

310
311

312
313
314

315
316

317
318

319
320
321


322
323
324
325
326
327
328
329
330
331
332
333

334
335
336


337
338

339
340
341

342
343

344
345

346
347
348
349



350
351
352

353
354

355
356

357
358

359
360
361


362
363
364
365
366
367
368
294
295
296
297
298
299
300

301
302


303
304
305

306
307
308

309
310

311
312
313

314
315

316
317

318
319


320
321
322
323
324
325
326
327
328
329
330
331
332

333
334


335
336
337

338
339
340

341
342

343
344

345
346



347
348
349
350
351

352
353

354
355

356
357

358
359


360
361
362
363
364
365
366
367
368







-
+

-
-
+
+

-
+


-
+

-
+


-
+

-
+

-
+

-
-
+
+











-
+

-
-
+
+

-
+


-
+

-
+

-
+

-
-
-
+
+
+


-
+

-
+

-
+

-
+

-
-
+
+







            return "# erreur"

    def participePresent (self, bPro, bNeg, bTpsCo, bInt, bFem):
        try:
            if not self.dConj[":PQ"][":P"]:
                return ""
            if bTpsCo:
                s = _getConjWithTags(self.sVerbAux, self._tTagsAux, ":PQ", ":P")  if not bPro  else  getConj("être", ":PQ", ":P")
                sPartPre = _getConjWithTags(self.sVerbAux, self._tTagsAux, ":PQ", ":P")  if not bPro  else  getConj("être", ":PQ", ":P")
            else:
                s = self.dConj[":PQ"][":P"]
            if not s:
                sPartPre = self.dConj[":PQ"][":P"]
            if not sPartPre:
                return ""
            bEli = True  if _zStartVoy.search(s)  else  False
            bEli = True  if _zStartVoy.search(sPartPre)  else  False
            if bPro:
                if self.bProWithEn:
                    s = "s’en " + s
                    sPartPre = "s’en " + sPartPre
                else:
                    s = "s’" + s  if bEli  else  "se " + s
                    sPartPre = "s’" + sPartPre  if bEli  else  "se " + sPartPre
            if bNeg:
                if bEli and not bPro:
                    s = "n’" + s + " pas"
                    sPartPre = "n’" + sPartPre + " pas"
                else:
                    s = "ne " + s + " pas"
                    sPartPre = "ne " + sPartPre + " pas"
            if bTpsCo:
                s += " " + self._seekPpas(bPro, bFem, self._sRawInfo[5] == "r")
                sPartPre += " " + self._seekPpas(bPro, bFem, self._sRawInfo[5] == "r")
            if bInt:
                s += " … ?"
            return s
                sPartPre += " … ?"
            return sPartPre
        except:
            traceback.print_exc()
            return "# erreur"

    def conjugue (self, sTemps, sWho, bPro, bNeg, bTpsCo, bInt, bFem):
        try:
            if not self.dConj[sTemps][sWho]:
                return ""
            if not bTpsCo and bInt and sWho == ":1s" and self.dConj[sTemps].get(":1ś", False):
                sWho = ":1ś"
            if bTpsCo:
                s = _getConjWithTags(self.sVerbAux, self._tTagsAux, sTemps, sWho)  if not bPro  else  getConj("être", sTemps, sWho)
                sConj = _getConjWithTags(self.sVerbAux, self._tTagsAux, sTemps, sWho)  if not bPro  else  getConj("être", sTemps, sWho)
            else:
                s = self.dConj[sTemps][sWho]
            if not s:
                sConj = self.dConj[sTemps][sWho]
            if not sConj:
                return ""
            bEli = True  if _zStartVoy.search(s)  else  False
            bEli = True  if _zStartVoy.search(sConj)  else  False
            if bPro:
                if not self.bProWithEn:
                    s = _dProObjEl[sWho] + s  if bEli  else _dProObj[sWho] + s
                    sConj = _dProObjEl[sWho] + sConj  if bEli  else _dProObj[sWho] + sConj
                else:
                    s = _dProObjEl[sWho] + "en " + s
                    sConj = _dProObjEl[sWho] + "en " + sConj
            if bNeg:
                s = "n’" + s  if bEli and not bPro  else  "ne " + s
                sConj = "n’" + sConj  if bEli and not bPro  else  "ne " + sConj
            if bInt:
                if sWho == ":3s" and not _zNeedTeuph.search(s):
                    s += "-t"
                s += "-" + self._getPronom(sWho, bFem)
                if sWho == ":3s" and not _zNeedTeuph.search(sConj):
                    sConj += "-t"
                sConj += "-" + self._getPronom(sWho, bFem)
            else:
                if sWho == ":1s" and bEli and not bNeg and not bPro:
                    s = "j’" + s
                    sConj = "j’" + sConj
                else:
                    s = self._getPronom(sWho, bFem) + " " + s
                    sConj = self._getPronom(sWho, bFem) + " " + sConj
            if bNeg:
                s += " pas"
                sConj += " pas"
            if bTpsCo:
                s += " " + self._seekPpas(bPro, bFem, sWho.endswith("p") or self._sRawInfo[5] == "r")
                sConj += " " + self._seekPpas(bPro, bFem, sWho.endswith("p") or self._sRawInfo[5] == "r")
            if bInt:
                s += " … ?"
            return s
                sConj += " … ?"
            return sConj
        except:
            traceback.print_exc()
            return "# erreur"

    def _getPronom (self, sWho, bFem):
        try:
            if sWho == ":3s":
378
379
380
381
382
383
384
385

386
387
388


389
390

391
392
393
394
395

396
397

398
399

400
401

402
403

404
405
406


407
408
409
410
411
412
413
378
379
380
381
382
383
384

385
386


387
388
389

390
391
392
393
394

395
396

397
398

399
400

401
402

403
404


405
406
407
408
409
410
411
412
413







-
+

-
-
+
+

-
+




-
+

-
+

-
+

-
+

-
+

-
-
+
+







            return "# erreur"

    def imperatif (self, sWho, bPro, bNeg, bTpsCo, bFem):
        try:
            if not self.dConj[":E"][sWho]:
                return ""
            if bTpsCo:
                s = _getConjWithTags(self.sVerbAux, self._tTagsAux, ":E", sWho)  if not bPro  else  getConj(u"être", ":E", sWho)
                sImpe = _getConjWithTags(self.sVerbAux, self._tTagsAux, ":E", sWho)  if not bPro  else  getConj(u"être", ":E", sWho)
            else:
                s = self.dConj[":E"][sWho]
            if not s:
                sImpe = self.dConj[":E"][sWho]
            if not sImpe:
                return ""
            bEli = True  if _zStartVoy.search(s)  else  False
            bEli = True  if _zStartVoy.search(sImpe)  else  False
            if bNeg:
                if bPro:
                    if not self.bProWithEn:
                        if bEli and sWho == ":2s":
                            s = "ne t’" + s + " pas"
                            sImpe = "ne t’" + sImpe + " pas"
                        else:
                            s = _dImpeProNeg[sWho] + s + " pas"
                            sImpe = _dImpeProNeg[sWho] + sImpe + " pas"
                    else:
                        s = _dImpeProNegEn[sWho] + s + " pas"
                        sImpe = _dImpeProNegEn[sWho] + sImpe + " pas"
                else:
                    s = "n’" + s + " pas"  if bEli  else  "ne " + s + " pas"
                    sImpe = "n’" + sImpe + " pas"  if bEli  else  "ne " + sImpe + " pas"
            elif bPro:
                s = s + _dImpeProEn[sWho]  if self.bProWithEn  else  s + _dImpePro[sWho]
                sImpe = sImpe + _dImpeProEn[sWho]  if self.bProWithEn  else  sImpe + _dImpePro[sWho]
            if bTpsCo:
                return s + " " + self._seekPpas(bPro, bFem, sWho.endswith("p") or self._sRawInfo[5] == "r")
            return s
                return sImpe + " " + self._seekPpas(bPro, bFem, sWho.endswith("p") or self._sRawInfo[5] == "r")
            return sImpe
        except:
            traceback.print_exc()
            return "# erreur"

    def _seekPpas (self, bPro, bFem, bPlur):
        try:
            if not bPro and self.sVerbAux == "avoir":

Modified gc_lang/fr/oxt/Conjugueur/Conjugueur.py from [6ca66ec150] to [7525f9e8de].

299
300
301
302
303
304
305
306

307
308
309
310
311
312

313
314
315
316
317
318
319
299
300
301
302
303
304
305

306
307
308
309
310
311

312
313
314
315
316
317
318
319







-
+





-
+







                    self.otco.Enabled = False
                    self.infomsg.Label = self.sWarning
                else:
                    self.infomsg.Label = ""
                    if sRawInfo[5] == "_":
                        self.opro.State = False
                        self.opro.Enabled = False
                    elif sRawInfo[5] == "q" or sRawInfo[5] == "e":
                    elif sRawInfo[5] in ["q", "u", "v", "e"]:
                        self.opro.State = False
                        self.opro.Enabled = True
                    elif sRawInfo[5] == "p" or sRawInfo[5] == "r":
                        self.opro.State = True
                        self.opro.Enabled = False
                    elif sRawInfo[5] == "!":
                    elif sRawInfo[5] == "x":
                        self.opro.Label = "cas particuliers"
                        self.opro.State = False
                        self.opro.Enabled = False
                    else:
                        self.opro.Label = "# erreur #"
                        self.opro.State = False
                        self.opro.Enabled = False

Modified gc_lang/fr/tb/content/conjugueur.js from [d8559c53e4] to [52fcb1616a].

98
99
100
101
102
103
104
105

106
107
108
109
110
111
112
113

114
115
116
117
118
119
120
98
99
100
101
102
103
104

105
106
107
108
109
110
111
112

113
114
115
116
117
118
119
120







-
+







-
+







                        document.getElementById('otco').style = "color: #CCC;";
                        document.getElementById('smallnote').hidden = false;
                    } else {
                        if (sRawInfo[5] == "_") {
                            document.getElementById('opro').checked = false;
                            document.getElementById('opro').disabled = true;
                            document.getElementById('opro').style = "color: #CCC;";
                        } else if (sRawInfo[5] == "q" || sRawInfo[5] == "e") {
                        } else if (["q", "u", "v", "e"].includes(sRawInfo[5])) {
                            document.getElementById('opro').checked = false;
                            document.getElementById('opro').disabled = false;
                            document.getElementById('opro').style = "color: #000;";
                        } else if (sRawInfo[5] == "p" || sRawInfo[5] == "r") {
                            document.getElementById('opro').checked = true;
                            document.getElementById('opro').disabled = true;
                            document.getElementById('opro').style = "color: #CCC;";
                        } else if (sRawInfo[5] == "!") {
                        } else if (sRawInfo[5] == "x") {
                            document.getElementById('opro').textContent = "cas particuliers";
                            document.getElementById('opro').checked = false;
                            document.getElementById('opro').disabled = true;
                            document.getElementById('opro').style = "color: #CCC;";
                        } else {
                            document.getElementById('opro').textContent = "# erreur #";
                            document.getElementById('opro').checked = false;

Modified gc_lang/fr/xpi/data/conj_panel.js from [d0838c414c] to [0a29bb81bd].

91
92
93
94
95
96
97
98

99
100
101
102
103
104
105
106

107
108
109
110
111
112
113
91
92
93
94
95
96
97

98
99
100
101
102
103
104
105

106
107
108
109
110
111
112
113







-
+







-
+







                    document.getElementById('otco_lbl').style = "color: #CCC;";
                    document.getElementById('smallnote').hidden = false;
                } else {
                    if (sRawInfo[5] == "_") {
                        document.getElementById('opro').checked = false;
                        document.getElementById('opro').disabled = true;
                        document.getElementById('opro_lbl').style = "color: #CCC;";
                    } else if (sRawInfo[5] == "q" || sRawInfo[5] == "e") {
                    } else if (["q", "u", "v", "e"].includes(sRawInfo[5])) {
                        document.getElementById('opro').checked = false;
                        document.getElementById('opro').disabled = false;
                        document.getElementById('opro_lbl').style = "color: #000;";
                    } else if (sRawInfo[5] == "p" || sRawInfo[5] == "r") {
                        document.getElementById('opro').checked = true;
                        document.getElementById('opro').disabled = true;
                        document.getElementById('opro_lbl').style = "color: #CCC;";
                    } else if (sRawInfo[5] == "!") {
                    } else if (sRawInfo[5] == "x") {
                        document.getElementById('opro').textContent = "cas particuliers";
                        document.getElementById('opro').checked = false;
                        document.getElementById('opro').disabled = true;
                        document.getElementById('opro_lbl').style = "color: #CCC;";
                    } else {
                        document.getElementById('opro').textContent = "# erreur #";
                        document.getElementById('opro').checked = false;