diff options
Diffstat (limited to 'download')
-rw-r--r-- | download/bz2toDB.py | 35 | ||||
-rwxr-xr-x | download/download.py | 225 | ||||
-rw-r--r-- | download/dump2msgp.py | 390 | ||||
-rw-r--r-- | download/msgPack2sqlite_msgPack.py | 59 | ||||
-rw-r--r-- | download/sectionList.py | 96 | ||||
-rw-r--r-- | download/template.py | 1086 |
6 files changed, 0 insertions, 1891 deletions
diff --git a/download/bz2toDB.py b/download/bz2toDB.py deleted file mode 100644 index a0c2cd3..0000000 --- a/download/bz2toDB.py +++ /dev/null @@ -1,35 +0,0 @@ -""" Not a script - -Don't use that script - - -This python file store function related to bz2 python module and then the -on the fly method of decompression. - -""" - -import bz2 -import sys - - -def unbz2(file): - decomp = bz2.BZ2Decompressor() - buf = b'' - for c in file: - buf += decomp.decompress(c) - - while b'\n' in buf: - i = buf.index(b'\n') - if i + 1 < len(buf): - ret = buf[:i + 1] - buf = buf[i + 1:] - yield ret.decode("utf-8") - else: - yield buf - buf = b'' - - -with open('./wiktionary_dump.xml.bz2', 'rb') as f: - it = iter(lambda: f.read(32768), b'') - for a in unbz2(it): - print(a, end='') diff --git a/download/download.py b/download/download.py deleted file mode 100755 index 21137f0..0000000 --- a/download/download.py +++ /dev/null @@ -1,225 +0,0 @@ -#!/bin/env python - -"""dfr - Prepare database - -This script will download the last wiktionary dump from wikimedia, extract it -process it and then . -The result of that script is a sqlite database file usable with dfr.py. - -As downloading the dump can be challenging, you can specify a input file that -will be used instead of the last dump from wikimedia. It's the goal of the -command line option `--download`. - -########################### -â ïž WARNING: Beaware that a wiktionary cmpressed archive dump is big. -Then a decompressed one is bigger again and so a lot of disk space is -needed to store these files. - -â ïž WARNING: Beaware that wiktionary dump are really big and than a lot of memory -space are needed to process them. It's NOT recommended to try to create a -database file on a computer with less than 2Gio memory, even using the on -the fly decompression method. -########################### - -They is only a few other command line options that can use with that script. - - + --output - The name of the final sqlite database. By default it's `dfr.db`. dfr.py - will expect the database to on the root of the project and to be - named `dfr.db` so that you don't have to modify anything here. - -+ --input - As describe earlier, if you already have downloaded the wiktionary dump, - you can set the location of the file that will be used here. - The purpose it to not re-download the dump each time. - - The "download" and "input" options are incompatibles. - -+ --download - Force the download of the file even if the file is already downloaded. - It used to force update of the database. - - The "download" and "input" options are incompatibles. - -+ --word-list - Not usefull for the moment. dfr will have a functionality to list every - words in the dictionnary. You will be able to filter words based on regex, - optionally, there will be a option to auto correct a word but nothing - is implemented here. - In all cases, you can specify the filename of the file that will store - every words. - -Note: This script have many option to decompress the wiktionary archive dump. - -First, it will try the `bzip2` command, if it fails, this script will try -to extract the bzip file on the fly using bz2 python module. - - - The `bzip2` command is very fast but use a lot of disk space and consume a lot -of memory (RAM) to quickly decompress the file. - - The `bz2` python module isn't that fast but use less memory and the parsing -is also done on the fly. - -In every case, a lot of memory (RAM) is necessary to process the last wiktionary dump. - -""" - -# TODO: Add an option to set URL of the DUMP. To cache another file than the latest or for another language than fr. - -# TODO: Add an option to choose the extract method. - -# TODO: Optimize the bz2 module process to write the msgpack file on the fly. The goal is to never store a lot of information in memory. This optimization could reduce a lot the memory (RAM) usage and possibly allow creation of the database on low memory computer (less than 2Gio). - -import argparse -import sys -import urllib.request -import dump2msgp -import msgPack2sqlite_msgPack -import subprocess -import os - -from os.path import exists - - -URL_DUMP = 'https://dumps.wikimedia.org/frwiktionary/latest/frwiktionary-latest-pages-meta-current.xml.bz2' - - -def unbz2(file): - decomp = bz2.BZ2Decompressor() - buf = b'' - for c in file: - buf += decomp.decompress(c) - - while b'\n' in buf: - i = buf.index(b'\n') - if i + 1 < len(buf): - ret = buf[:i + 1] - buf = buf[i + 1:] - yield ret.decode('utf-8') - else: - yield buf.decode('utf-8') - buf = b'' - - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='Download and create the database') - parser.add_argument('-o', '--output', dest='outputF', action='store', - help='the output, the database filename', - default='dfr.db') - parser.add_argument('-i', '--input', dest='dumpF', action='store', - help='the input dump file\'s filename', - default='') - parser.add_argument('-l', '--word-list', dest='wordList', action='store', - help='the alternative output, filename of the word list', - default=None) - parser.add_argument('-d', '--download', dest='download', action='store_true', - help='to download the lastest dump') - - download = True - - arg = parser.parse_args() - - - if not arg.wordList: - arg.wordList = arg.outputF + '.wordlist' - - if arg.download and arg.dumpF: - print('''Incompatible options '-i' and '-d'.''') - exit(1) - elif arg.download: - arg.dumpF = URL_DUMP[URL_DUMP.rindex('/') + 1:] - elif arg.dumpF: - download = False - - - if not arg.dumpF or not arg.dumpF.endswith('bz2'): - print('A bz2 dump file filename needed', file=sys.stderr) - exit(-1) - - if exists(arg.dumpF) and download: - print(f'{arg.dumpF} exists. Force downloading ? (y/N)') - answer = input('> ') - if answer.lower()[0] != 'y': - download = False - - if download: - print(download); - print(f'Downloading the dump ({arg.dumpF})\nIt should take some time') - try: - urllib.request.urlretrieve(URL_DUMP, arg.dumpF) - except urllib.error.URLError: - print('Error: Unable to download from internet') - print(f'Check connection and source URL : ({ URL_DUMP })') - print('Exiting') - exit(-10) - except: - print('Download failed.') - print('Exiting') - exit(-1) - - if not exists(arg.dumpF): - if download: - print('Download failed.\nExiting.', file=sys.stderr) - else: - print(f'Fichier { arg.dumpF } introuvable.\nArrĂȘt.') - exit(-2) - - decompress = False - - try: - print('Trying the bzip2 command') - assert(subprocess.call(['bzip2', '-d', arg.dumpF]) == 0) - decompress = True - except: - print('''The command "bzip" doesn't exists, or doesn't work as intended''') - print('Fallback to Python bz2 module decompressor') - - # Decompression using bzip2 - if not decompress: - try: - import bz2 - with open(arg.dumpF, 'rb') as f: - it = iter(lambda: f.read(2**16), b'') - - output_fn = arg.dumpF[:-4] - - with open(output_fn, 'wb') as fout: - dcomp = bz2.BZ2Decompressor() - for chunk in it: - datal = len(chunk) - data = dcomp.decompress(chunk) - fout.write(data) - decompress = True - except: - print('''Python bz2 module decompressor failed, maybe you don't have any space available''') - print('Fallback to on the fly decompressor (RAM will be needed)') - - if not decompress: - try: - # On the fly Decompression - with open(arg.dumpF, 'rb') as f: - it = iter(lambda: f.read(2**16), b'') - print('Data extraction on the fly') - res = dump2msgp.extractAll(unbz2(it), 'error.log', False) - with open(arg.wordList, 'wb'): - f.write('\n'.join(a.keys())) - - msgPack2sqlite_msgPack.writeDB(arg.outputF, res) - print(f'Word list { arg.wordList } created ! đ đ') - print(f'Database { arg.outputF } created ! đ đ') - except: - print('''Error: Can't extract the dump file''') - print('Exiting (-1)') - exit(-1) - - print(f'Removing temporary files') - os.remove(arg.dumpF) - else: - output_fn = arg.dumpF[:-4] - with open(output_fn, 'r') as f: - print('Create the database') - res = dump2msgp.extractAll(f, 'error.log', False) - msgPack2sqlite_msgPack.writeDB(arg.outputF, res) - print(f'Database { arg.outputF } created ! đ đ') - - print('Removing temporary files') - os.remove(output_fn) diff --git a/download/dump2msgp.py b/download/dump2msgp.py deleted file mode 100644 index e76115c..0000000 --- a/download/dump2msgp.py +++ /dev/null @@ -1,390 +0,0 @@ -#!/bin/env python - -"""dfr - Dump to msgpack - -Extract words from the Wiktionnary archive. All the parsing is done here. -The product of that script is a MessagePack file that store every information in -easily editable and dev friendly format. - -More information on MessagePack (msgpack) : -<https://msgpack.org/> - -So there is some command line options that script can deal with. - - - + --output - The filename of the msgpack file to write. - - + --input - The filename of the decompressed wiktionary dump. - - + --error - The filename that will log errors related to parsing. - Wiktionnary is a community edited platform so there is a lot of - formatting mistakes. This script will report everything that it - doesn't understand in that file. - - + --ignore - By default, this script stops on the first error. But as I say earlier, - there is a lot of mistakes in the wiktionary archive dump so this option - is intended to ignore errors and just continue. - Errors are still logged though. - - -""" - - -import tempfile as tmp -import re -import sys -import msgpack -import argparse - -from sectionList import listInfoSection -from template import template - - -DEFAULT_OUTPUT = 'dfr.msgpk' - - -template_second = ['link', 'bd', 'pc', 'nom w pc', 'w', 'smcp', 'lien', 'ws', - 'in', 'siĂšcle2', 'fchim', 'nobr', 'wp', 'r', - 'clĂ© de tri', 'contexte', 'emploi', 'l', 'polytonique', - 'pron-API', 'registre', 'scmp', 'siĂšcle', 'x', - ] - - -template_second_lambda_trd = { - 'refnec': (lambda x: '(RĂ©fĂ©rence nĂ©cessaire : ' + x + ')'), - 'refnĂ©c': (lambda x: '(RĂ©fĂ©rence nĂ©cessaire : ' + x + ')'), -} - -template_second_lambda_snd = { - 'term': (lambda x: '(' + x.title() + ')'), - 'terme': (lambda x: '(' + x.title() + ')'), - 'ex': (lambda x: '^{' + x if x else 'e' + '}'), - 'exp': (lambda x: '^{' + x if x else 'e' + '}'), - 'e': (lambda x: '^{' + x if x else 'e' + '}'), - 'er': (lambda x: '^{' + x if x else 'er' + '}'), - 'Ăšre': (lambda x: '^{' + x if x else 'Ăšre' + '}'), - 'Ăšme': (lambda x: '^{' + x if x else 'Ăšme' + '}'), - 'Ier': (lambda x: '^{' + x if x else 'Ier' + '}'), - 'III': (lambda x: '^{' + x if x else 'III' + '}'), - 'small': (lambda x: '_{' + x if x else '' + '}'), - 'indice': (lambda x: '_{' + x if x else '' + '}'), - 'graphie': (lambda x: '«' + x if x else '»'), - 'petites capitales': (lambda x: x.upper()), - 'isbn': (lambda x: 'cf. ISBN ' + x), - 'OCLC': (lambda x: 'cf. OCLC ' + x), - 'variante de': (lambda x: 'Variante de ' + x), - 'variante de': (lambda x: 'Variante de ' + x), - 'variante ortho de': (lambda x: 'Variante orthographique de ' + x), - 'variante ortho de': (lambda x: 'Variante orthographique de ' + x), - 'variante ortho de': (lambda x: 'Variante orthographique de ' + x), - 'variante orthographique de': (lambda x: 'Variante orthographique de ' + x), - 'sic !': (lambda x: '^{sic ' + x + '}'), - 'sic': (lambda x: '^{sic ' + x + '}'), - 'incise': (lambda x: '_' + x + '_'), - 'n°': (lambda x: 'n°' + x), - 'superlatif de': (lambda x: 'Superlatif de' + x), - 'vĂ©rifier': (lambda x: '(Ă vĂ©rifier : ' + x + ')'), -} - -dictMatch = {x['match']: i for (i, x) in enumerate(listInfoSection)} - -interdit = " :" - - -def transclusion(trans, info, errorF): - trans = trans[2:-2] - - while '{{' in trans: - l0 = trans.rfind('{{') - l1 = trans.find('}}', l0) - if l1 == -1: - break - else: - l1 += 2 - t = trans[l0:l1] - t = transclusion(t, info, errorF) - trans = trans[:l0] + t + trans[l1:] - - s = list(map(lambda x: x.strip(), trans.split('|'))) - if s[0] in template: - return template[s[0]] - - if s[0].lower() in template_second: - return s[1] if len(s) > 1 else info['mot'] - - if s[0].lower().startswith('citation'): - cit = s[0].split('/') - if len(cit) == 4: - return 'Par ' + cit[1] + ', ' + cit[2] + ', ' + cit[3] - if len(cit) == 3: - return 'Par ' + cit[1] + ', ' + cit[2] - if len(cit) == 5: - return cit[1] + '/' + cit[2] + '/' + cit[3] + ', ' + cit[4] - if len(cit) <= 2: - return '' - else: - return '/'.join(cit[1:]) - - if s[0].lower() in template_second_lambda_snd: - return template_second_lambda_snd[s[0].lower()](s[1] if len(s) > 1 else '') - - if s[0].lower() in template_second_lambda_trd: - return template_second_lambda_trd[s[0].lower()](s[2] if len(s) > 2 else '') - - if errorF: - with open(errorF, 'a') as err: - print(s[0], file=err) - print("IncomprĂ©hension de la transclusion {} du mot {}".format(trans, - info['mot']), file=err) - return '' - - -def extract(f, w, errorF): - infoFin = [] - - toRead = True - goBack = 0 - - while toRead: - toRead = False - - info = {'mot': w, - 'cat-gram': None, - 'def': [], - 'API': None, - 'infos': [], - 'genre': '', - 'accord': None} - - # State 0 // Initialisation ! - while line := f.readline(): - - if line.startswith('=== ') or line.startswith('==={'): - if re.match('^=== *{{ *S\\|([^|]+)|.*$', line): - try: - r = re.match('^=== *{{ *S\\|([^|]+)|.*$', line) - r = r.groups() - nat = r[0].strip() - if nat in dictMatch.keys(): - info['cat-gram'] = nat - toRead = True - break - except Exception as e: - if errorF: - with open(errorF, 'a') as err: - print("^[1] ProblĂšme Ă l'initialisation du mot {mot}: {e}", file=err) - print(f'line: [{line}]: {e}', file=err) - e = sys.exc_info()[0] - print("Erreur :", e, file=err) - - if not toRead: - break - - # State 1 - while line := f.readline(): - if line.startswith('{{fr-'): - e = line.find('}}') - if e == -1: - continue - ex = line[:e] - try: - infos = list(map(lambda x: x.strip(), ex.split('|'))) - info['infos'] = infos - info['accord'] = infos[0] - if len(infos) > 1: - info['API'] = infos[1] - except e: - err = sys.exc_info()[0] - print(ex) - print("Erreur :", e) - print("Erreur :", err) - if line.rstrip().startswith("'''"): - if '{{pron' in line: - p0 = line.find('{{pron') - p1 = line.find('}}', p0) - if p1 > 0: - p1 += 2 - p = line[p0:p1] - p = p.split('|') - info['API'] = p[1] - if '{{m}}' in line: - info['genre'] = 'mas' - elif '{{f}}' in line: - info['genre'] = 'fem' - - if line.startswith('# '): - info['def'].append({'def': wikiToMd(line[2:], info, errorF)}) - elif line.startswith('#* '): - if not info['def']: - with open('wiki_err.log', 'a') as err: - print("Exemple sans dĂ©finition pour le mot {}".format( - info['mot']), file=err) - elif 'ex' in info['def'][-1]: - info['def'][-1]['ex'].append(wikiToMd(line[3:], info, errorF)) - else: - info['def'][-1]['ex'] = [wikiToMd(line[3:], info, errorF)] - elif line.startswith('#') and not line.startswith('##'): - info['def'].append({'def': wikiToMd(line[1:], info, errorF)}) - if line.startswith('==='): - goBack = len(line) - break - if goBack: - f.seek(f.tell() - goBack) - goBack = 0 - toRead = True - infoFin.append(info) - - return infoFin - - -def wikiToMd(line, info, errorF): - line = line.strip() - # 3 Ătapes: - # - Links [...] - # - Style ''ita'' / '''bold''' - # - Template / Transclusion {{info}} = (Informatique) - - # Template - while '{{' in line: - l0 = line.rfind('{{') - l1 = line.find('}}', l0) - if l1 == -1: - break - else: - l1 += 2 - trans = line[l0:l1] - trans = transclusion(trans, info, errorF) - line = line[:l0] + trans + line[l1:] - - # Links ! - while '[[' in line: - link0 = line.rfind('[[') - link1 = line.find(']]', link0) - if link1 == -1: - break - else: - link1 += 2 - - link = line[link0:link1] - link = link[2:-2].split('|') - line = line[:link0] + (link[1] if len(link) > 1 else link[0]) + line[link1:] - - # Style - line = line.replace("'''", '*').replace("''", '') - - return line - - -def extractAll(f, errorF, ignore): - title = "" - isFr = False - hasForbidden = False - hasText = False - tf = None - isEnd = False - - dict_ = dict() - - i = 0 - - clearHTML = re.compile('<.*>', re.IGNORECASE) - - for line in f: - i += 1 - if "</page>" in line and tf: - tf.seek(0) - tmpInfo = extract(tf, title, errorF) - - dict_[title] = tmpInfo - tf.close() - - tf = None - hasForbidden = False - hasText = False - isFr = False - title = "" - isEnd = False - elif "</page>" in line: - tf = None - hasForbidden = False - hasText = False - isFr = False - title = "" - isEnd = False - if isEnd: - continue - - if "<title>" in line: - title = line[line.find('>') + 1:] - title = title[:title.find('<')] - - for c in interdit: - if c in title: - hasForbidden = True - if not hasForbidden and "<text bytes=\"" in line and "\" xml:space=\"preserve\">" in line: - hasText = True - if not hasForbidden and "== {{langue|fr}}" in line and hasText: - isFr = True - if tf: - if not ignore: - if errorF: - with open(errorF, 'a') as err: - print(f"{title}: Erreur tf encore ouvert !", - file=err) - else: - print(f"{title}: Erreur tf encore ouvert !") - tf.seek(0) - while line2 := tf.readline(): - print(line2, end='') - print(f"{i}: {line}") - - exit(-1) - else: - tf = tmp.NamedTemporaryFile(mode="w+t") - elif not hasForbidden and "== {{langue|" in line: - isFr = False - if not hasForbidden and isFr and tf: - start = "" - try: - start = line.split()[0] - except: - pass - tLine = clearHTML.sub('', line.replace('<br>', '\n' + start + ' ')) - try: - ind = tLine.index('</text>') - tf.write(tLine[:ind]) - isEnd = True - except: - tf.write(tLine) - - return dict_ - - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='wiktionary dump to msgpack') - parser.add_argument('-o', '--out', dest='outputF', action='store_const', - const=DEFAULT_OUTPUT, default=DEFAULT_OUTPUT, - help='the output filename') - parser.add_argument('-i', '--input', dest='inputF', action='store', - help='the input filename, a dump of witionary') - parser.add_argument('-e', '--error', dest='errorF', action='store', - help='the filename to log errors') - parser.add_argument('--ignore', dest='ignoreError', action='store_true', - help='the filename to log errors') - - arg = parser.parse_args() - - if arg.inputF is None: - print('A wiktionary dump is needed', file=sys.stderr) - exit(-1) - - with open(arg.inputF, 'r') as f: - res = extractAll(f, arg.errorF, arg.ignoreError) - - with open(arg.outputF, 'wb') as f: - to_w = msgpack.packb(res) - f.write(to_w) diff --git a/download/msgPack2sqlite_msgPack.py b/download/msgPack2sqlite_msgPack.py deleted file mode 100644 index c08efdb..0000000 --- a/download/msgPack2sqlite_msgPack.py +++ /dev/null @@ -1,59 +0,0 @@ -import msgpack -import os -import sys - -import sqlite3 -import argparse - - -def writeDB(outputF, data): - # Delete if exists - try: - os.remove(outputF) - except OSError: - pass - - with sqlite3.connect(outputF) as con: - cur = con.cursor() - cur.execute('''CREATE TABLE IF NOT EXISTS entry ( - word TEXT, - cat_gram TEXT, - API TEXT, - infos TEXT, - genre TEXT, - accord TEXT, - defs BLOG, - ID INTEGER PRIMARY KEY)''') - con.commit() - - for w, listW in data.items(): - for word in listW: - data = (w, word['cat-gram'], word['API'], "\t".join(word['infos']), - word['genre'], word['accord'], - msgpack.packb(word['def'])) - cur.execute('''INSERT INTO entry (word, cat_gram, API, infos, - genre, accord, defs) VALUES (?, ?, ?, ?, ?, ?, ?)''', data) - con.commit() - - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='wiktionary dump msgpack ' - 'to SQLite database file') - parser.add_argument('-o', '--out', dest='outputF', action='store', - help='the output filename') - parser.add_argument('-i', '--input', dest='inputF', action='store', - help='the input filename, a dump of witionary') - - arg = parser.parse_args() - - if arg.inputF is None: - print('Error input file needed', file=sys.stderr) - if arg.outputF is None: - print('Error output file needed', file=sys.stderr) - - with open(arg.inputF, 'rb') as f: - r = f.read() - - d = p = msgpack.unpackb(r, raw=False) - del r - writeDB(arg.outputF, d) diff --git a/download/sectionList.py b/download/sectionList.py deleted file mode 100644 index 68dd657..0000000 --- a/download/sectionList.py +++ /dev/null @@ -1,96 +0,0 @@ - -listInfoSection = [ - {'type': 'adjectif', 'match': 'adj', 'o': 'adjectif'}, - {'type': 'adjectif', 'match': 'adjectif', 'o': 'adjectif'}, - {'type': 'adjectif', 'match': 'adj-dĂ©m', 'o': 'adjectif dĂ©monstratif'}, - {'type': 'adjectif', 'match': 'adjectif dĂ©monstratif', 'o': 'adjectif dĂ©monstratif'}, - {'type': 'adjectif', 'match': 'adjectif exclamatif', 'o': 'adjectif exclamatif'}, - {'type': 'adjectif', 'match': 'adjectif indĂ©fini', 'o': 'adjectif indĂ©fini'}, - {'type': 'adjectif', 'match': 'adjectif interrogatif', 'o': 'adjectif interrogatif'}, - {'type': 'adjectif', 'match': 'adjectif numĂ©ral', 'o': 'adjectif numĂ©ral'}, - {'type': 'adjectif', 'match': 'adjectif possessif', 'o': 'adjectif possessif'}, - {'type': 'adjectif', 'match': 'adjectif relatif', 'o': 'adjectif relatif'}, - - {'type': 'adverbe', 'match': 'adv', 'o': 'adverbe'}, - {'type': 'adverbe', 'match': 'adverbe', 'o': 'adverbe'}, - {'type': 'adverbe', 'match': 'adverbe interrogatif', 'o': 'adverbe interrogatif'}, - {'type': 'adverbe', 'match': 'adverbe relatif', 'o': 'adverbe relatif'}, - - {'type': 'article', 'match': 'article', 'o': 'article'}, - {'type': 'article', 'match': 'article dĂ©fini', 'o': 'article dĂ©fini'}, - {'type': 'article', 'match': 'article indĂ©fini', 'o': 'article indĂ©fini'}, - {'type': 'article', 'match': 'article partitif', 'o': 'article partitif'}, - - {'type': 'conjonction', 'match': 'conjonction', 'o': 'conjonction'}, - {'type': 'conjonction', 'match': 'conjonction de coordination', 'o': 'conjonction de coordination'}, - - - {'type': 'erreur', 'match': 'erreur', 'o': 'faute courante'}, - {'type': 'erreur', 'match': 'faute', 'o': 'faute courante'}, - - {'type': 'interjection', 'match': 'interj', 'o': 'interjection'}, - {'type': 'interjection', 'match': 'interjection', 'o': 'interjection'}, - - {'type': 'interjection', 'match': 'interjection', 'o': 'interjection'}, - - {'type': 'locuton nominale', 'match': 'loc-phr', 'o': 'locution nominale'}, - {'type': 'locuton nominale', 'match': 'locution', 'o': 'locution nominale'}, - {'type': 'locuton nominale', 'match': 'locution nominale', 'o': 'locution nominale'}, - {'type': 'locuton nominale', 'match': 'locution phrase', 'o': 'locution nominale'}, - {'type': 'locuton nominale', 'match': 'locution-phrase', 'o': 'locution nominale'}, - - {'type': 'nom', 'match': 'nom', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom1', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom2', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom3', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom4', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom5', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom6', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom7', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom8', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom9', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom10', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom11', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom12', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom13', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom14', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom15', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom16', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom17', 'o': 'nom'}, - {'type': 'nom', 'match': 'nom commun', 'o': 'nom'}, - {'type': 'nom', 'match': 'substantif', 'o': 'substantif'}, - - - {'type': 'nom de famille', 'match': 'nom de famille', 'o': 'nom de famille'}, - {'type': 'nom de famille', 'match': 'nom de famille anglais', 'o': 'nom de famille'}, - {'type': 'nom de famille', 'match': 'nom-fam', 'o': 'nom de famille'}, - {'type': 'nom de famille', 'match': 'nom-pr', 'o': 'nom de famille'}, - {'type': 'nom de famille', 'match': 'nom-propre', 'o': 'nom de famille'}, - {'type': 'nom de famille', 'match': 'nom pr', 'o': 'nom de famille'}, - {'type': 'nom de famille', 'match': 'nom propre', 'o': 'nom de famille'}, - {'type': 'nom scientifique', 'match': 'nom scientifique', 'o': 'nom scientifique'}, - {'type': 'particule', 'match': 'particule', 'o': 'particule'}, - {'type': 'nom de famille', 'match': 'patronyme', 'o': 'nom de famille'}, - {'type': 'prĂ©fixe', 'match': 'prĂ©fixe', 'o': 'prĂ©fixe'}, - {'type': 'suffixe', 'match': 'suffixe', 'o': 'suffixe'}, - {'type': 'prĂ©nom', 'match': 'prĂ©nom', 'o': 'prĂ©nom'}, - - {'type': 'onomatopĂ©e', 'match': 'onomatopĂ©e', 'o': 'onomatopĂ©e'}, - {'type': 'onomatopĂ©e', 'match': 'onom', 'o': 'onomatopĂ©e'}, - - {'type': 'prĂ©position', 'match': 'prĂ©p', 'o': 'prĂ©position'}, - {'type': 'prĂ©position', 'match': 'prĂ©position', 'o': 'prĂ©position'}, - - {'type': 'pronom', 'match': 'pronom', 'o': 'pronom'}, - {'type': 'pronom', 'match': 'pronom dĂ©monstratif', 'o': 'pronom dĂ©monstratif'}, - {'type': 'pronom', 'match': 'pronom indĂ©fini', 'o': 'pronom indĂ©fini'}, - {'type': 'pronom', 'match': 'pronom interrogatif', 'o': 'pronom interrogatif'}, - {'type': 'pronom', 'match': 'pronom personnel', 'o': 'pronom personnel'}, - {'type': 'pronom', 'match': 'pronom possessif', 'o': 'pronom possessif'}, - {'type': 'pronom', 'match': 'pronom relatif', 'o': 'pronom relatif'}, - - {'type': 'verbe', 'match': 'verb', 'o': 'verbe'}, - {'type': 'verbe', 'match': 'verbe', 'o': 'verbe'}, - {'type': 'verbe', 'match': 'verbe pronominal', 'o': 'verbe pronominal'} -] - diff --git a/download/template.py b/download/template.py deleted file mode 100644 index fa0394a..0000000 --- a/download/template.py +++ /dev/null @@ -1,1086 +0,0 @@ - -""" - -File of template. - -To deal with Wikicode format. - -""" - -template = {'info': '(Informatique)', - 'informatique': '(Informatique)', - 'regex': '(Regex)', - 'mathĂ©matiques': '(MathĂ©matiques)', - 'palĂ©ographie': '(PalĂ©ographie)', - 'math': '(MathĂ©matiques)', - 'statistiques': '(Statistiques)', - 'stat': '(Statistiques)', - 'gĂ©ostatistique': '(GĂ©ostatistiques)', - 'montagnes': '(GĂ©ostatistiques)', - 'gĂ©ostatistiques': '(GĂ©ostatistiques)', - 'dĂ©partements': '(GĂ©ostatistiques)', - 'morphologie vĂ©gĂ©tale': '(Morphologie vĂ©gĂ©tale)', - 'mot-valise': '(Mot-valise)', - 'dĂ©serts': '(GĂ©ostatistiques)', - 'typog': '(Typographie)', - 'logi': '(Logique)', - 'logique': '(Logique)', - 'ironique': '(Ironique)', - 'iron': '(Ironique)', - 'ironie': '(Ironique)', - 'linguistique': '(Linguistique)', - 'mĂ©taplasmes': '(Linguistique)', - 'vieilli': '(Vieilli)', - 'vieux': '(Vieilli)', - 'obsolĂšte': '(DĂ©suet)', - 'dĂ©suet': '(DĂ©suet)', - 'familier': '(Familier)', - 'trĂšs familier': '(TrĂšs amilier)', - 'chiromancie': '(Chiromancie)', - 'climatologie': '(Climatologie)', - 'cnidaires': '(Zoologie)', - 'singes': '(Zoologie)', - 'quagga': '(Zoologie)', - 'argot': '(Familier)', - 'argot internet': '(1337)', - 'argot Internet': '(1337)', - 'argot policier': '(Argot policier)', - 'argot militaire': '(Argot militaire)', - 'argot poilu': '(Argot militaire)', - 'argot polytechnicien': '(Argot de l\'X)', - 'argot scolaire': '(Argot scolaire)', - 'argot typographes': '(Argot de typographes)', - 'argot voleurs': '(Argot)', - 'jeux vidĂ©o': 'Jeux vidĂ©o', - 'internet': '(Internet)', - 'Internet': '(Internet)', - 'vulgaire': '(Vulgaire)', - 'vulg': '(Vulgaire)', - 'popu': '(Populaire)', - 'injur': '(Injurieux)', - 'insultes': '(Injurieux)', - 'intelligence artificielle': '(IA)', - 'interjection': '(Interjection)', - 'soutenu': '(Soutenu)', - 'sout': '(Soutenu)', - 'rĂ©gio': '(RĂ©gionalisme)', - 'rĂ©gional': '(RĂ©gionalisme)', - 'rĂ©gionalisme': '(RĂ©gionalisme)', - 'crĂ©atures': '(Mythologie)', - 'stĂ©rĂ©otype': '(StĂ©rĂ©otype)', - 'divinitĂ©s': '(Mythologie)', - 'mythol': '(Mythologie)', - 'stĂ©rĂ©ochimie': '(StĂ©rĂ©ochimie)', - 'formule chimique': '(Chimie)', - 'chimie': '(Chimie)', - 'substance': '(Chimie)', - 'substances': '(Chimie)', - 'biochimie': '(Biohimie)', - 'bioch': '(Biohimie)', - 'enzymes': '(Biochimie)', - 'thĂ©rapies': '(ThĂ©rapies)', - 'cours dâeau': '(GĂ©ographie)', - 'plans d\'eau': '(GĂ©ographie)', - 'jeu de go': '(Jeu de go)', - 'mythologie grecque': '(Anthroponyme)', - 'jazz': '(Musique)', - 'jeux': '(Jeux)', - 'musiques': '(Musique)', - 'musique': '(Musique)', - 'musiciens': '(Musique)', - 'musi': '(Musique)', - 'pĂȘche': '(PĂȘche)', - 'pĂȘch': '(PĂȘche)', - 'hist': '(Histoire)', - 'histologie': '(Histoire)', - 'histoire': '(Histoire)', - 'anciennes divisions': '(Histoire)', - 'anciennes localitĂ©s': '(Histoire)', - 'tĂ©lĂ©phonie': '(TĂ©lĂ©phonie)', - 'tĂ©lĂ©com': '(TĂ©lĂ©communications)', - 'tĂ©lĂ©coms': '(TĂ©lĂ©communications)', - 'tĂ©lĂ©communications': '(TĂ©lĂ©communications)', - 'comm': '(Commerce)', - 'commerce': '(Commerce)', - 'commerces': '(Commerce)', - 'e-commerce': '(E-commerce)', - 'maçonnerie': '(Maçonnerie)', - 'maçon': '(Maçonnerie)', - 'architecture': '(Architecture)', - 'architecture des ordinateursâ': '(Architecture des ordinateurs)', - 'architecture des ordinateurs': '(Architecture des ordinateurs)', - 'archi': '(Architecture)', - 'technique': '(Technique)', - 'tech': '(Technique)', - 'meubres': '(Mobilier)', - 'mobilier': '(Mobilier)', - 'automatique': '(Automatique)', - 'automo': '(Automobile)', - 'auto': '(Automobile)', - 'automobile': '(Automobile)', - 'vĂ©hicules': '(VĂ©hicules)', - 'vĂ©hicule': '(VĂ©hicules)', - 'voitures': '(VĂ©hicules)', - 'anatomie': '(Anatomie)', - 'muscles': '(Anatomie)', - 'muscle': '(Anatomie)', - 'anat': '(Anatomie)', - 'un os': '(Anatomie)', - 'squelette': '(Anatomie)', - 'musculation': '(Musculation)', - 'justice': '(Justice)', - 'Ă©checs': '(Ăchecs)', - 'thĂ©Ăątre': '(ThĂ©Ăątre)', - 'thĂ©Ăąt': '(ThĂ©Ăątre)', - 'audiovi': '(Audiovisuel)', - 'audiovisuel': '(Audiovisuel)', - 'minĂ©ralogie': '(MinĂ©ralogie)', - 'minĂ©raux': '(MinĂ©ralogie)', - 'minĂ©r': '(MinĂ©ralogie)', - 'Mme': 'Mme', - 'moderne': '(Moderne)', - 'genres littĂ©raires': '(LittĂ©raire)', - 'genres musicaux': '(Musique)', - 'poĂ©t': '(LittĂ©raire PoĂ©tique)', - 'poĂ©tique': '(LittĂ©raire PoĂ©tique)', - 'poĂ©s': '(LittĂ©raire PoĂ©tique)', - 'points cardinaux': '(GĂ©ographie)', - 'poires': '(Botanique)', - 'prunes': '(Botanique)', - 'pommes': '(Botanique)', - 'poĂ©sie': '(LittĂ©raire PoĂ©tique)', - 'didactique': '(Didactique)', - 'didact': '(Didactique)', - 'nĂ©ol': '(NĂ©ologisme)', - 'nĂ©ologisme': '(NĂ©ologisme)', - 'archaĂŻsme': '(ArchaĂŻsme)', - 'roches': '(PĂ©trographie)', - 'wiki': '(jargon des Wikis)', - 'localitĂ©s': '(GĂ©ographie)', - 'rĂ©gion': '(GĂ©ographie)', - 'rĂ©gions': '(GĂ©ographie)', - 'gĂ©ologie': '(GĂ©ologie)', - 'gĂ©ol': '(GĂ©ologie)', - 'gĂ©omĂ©trie': '(GĂ©omĂ©trie)', - 'gĂ©omatique': '(GĂ©omatique)', - 'gĂ©ophysique': '(GĂ©ophysique)', - 'gĂ©om': '(GĂ©omĂ©trie)', - 'rugby': '(Rugby)', - 'tennis': '(Tennis)', - 'tennis de table': '(Tennis de table)', - 'sport': '(Sport)', - 'volley': '(Sport)', - 'triathlon': '(Triathlon)', - 'sportifs': '(Sport)', - 'sports': '(Sport)', - 'patinage': '(Patinage)', - 'roller': '(Patinage)', - 'pĂątisserie': '(PĂątisserie)', - 'pĂątisseries': '(PĂątisserie)', - 'cinĂ©': '(CinĂ©ma)', - 'cinĂ©ma': '(CinĂ©ma)', - 'cirque': '(Cirque)', - 'philo': '(Philosophie)', - 'philosophie': '(Philosophie)', - 'psychologie': '(Psychologie)', - 'psychanalyse': '(Psychanalyse)', - 'psychia': '(Psychiatrie)', - 'psychiatrie': '(Psychiatrie)', - 'psycho': '(Psychologie)', - 'psychotropes': '(Psychotropes)', - 'psychol': '(Psychologie)', - 'religion': '(Religion)', - 'religions': '(Religion)', - 'religieux': '(Religion)', - 'reli': '(Religion)', - 'christianisme': '(Christianisme)', - 'protestantisme': '(Christianisme)', - 'catholicisme': '(Catholicisme)', - 'dinosaures': '(PalĂ©ontologie)', - 'palĂ©ontologie': '(PalĂ©ontologie)', - 'poules': '(Zoologie)', - 'rongeurs': '(Zoologie)', - 'prĂ©ciser': '(Ă prĂ©ciser)', - 'prĂ©histoire': '(PrĂ©histoire)', - 'prestidigitation': '(Prestidigitation)', - 'prnl': 'pronominal', - 'probabilitĂ©s': '(ProbabilitĂ©s)', - 'procĂ©dure': '(Justice)', - 'propre': '(Sens propre)', - 'protĂ©ines': '(Biochimie)', - 'chevaux': '(Zoologie)', - 'poissons': '(Zoologie)', - 'raies': '(Ichtyologie)', - 'dindons': '(Zoologie)', - 'chien': '(Zoologie)', - 'cĂ©phalopodes': '(Zoologie)', - 'diplomatie': '(Diplomatie)', - 'cĂ©ramique': '(Arts de la cĂ©ramique)', - 'escalade': '(Escalade)', - 'escrime': '(Escrime)', - 'Ă©tats': '(Ătat)', - 'cĂ©rĂ©ales': '(Botanique)', - 'lĂ©gumes': '(Botanique)', - 'lexicographie': '(Lexicographie)', - 'lĂ©zards': '(Zoologie)', - 'cervidĂ©s': '(Zoologie)', - 'cĂ©tacĂ©s': '(Zoologie)', - 'casĂ©ologie': '(Zoologie)', - 'casĂ©ologieâ': '(Zoologie)', - 'pĂ©trochimie': '(PĂ©trochimie)', - 'islam': '(Islam)', - 'bouddhisme': '(Bouddhisme)', - 'bouddhismeâ': '(Bouddhisme)', - 'liturgie': '(Liturgie orthodoxe)', - 'arthropodes': '(arthropodes)', - 'arts martiaux': '(Art martiaux)', - 'couteaux': '(Couteaux)', - 'armes': '(Armement)', - 'armures': '(Armement)', - 'armement': '(Armement)', - 'guerre': '(Militaire)', - 'soldats': '(Militaire)', - 'militaire': '(Militaire)', - 'mili': '(Militaire)', - 'artillerie': '(Militaire)', - 'marine': '(Marine)', - 'avant 1835': '(Avant 1835)', - 'ortho1990': '(Orthographe rectifiĂ©e de 1990)', - 'outils': '(Outils)', - 'ustensiles': '(Cuisine)', - 'desserts': '(Cuisine)', - 'viandes': '(Cuisine)', - 'dessin': '(Dessin)', - 'Ă©toiles': '(Astronomie)', - 'astronomie': '(Astronomie)', - 'astron': '(Astronomie)', - 'astrol': '(Astrologie)', - 'astrologie': '(Astrologie)', - 'astronautique': '(Astronautique)', - 'astrophysique': '(Astrophysique)', - 'athlĂ©tisme': '(AthlĂ©tisme)', - 'course Ă pied': '(AthlĂ©tisme)', - 'chimie organique': '(Chimie organique)', - 'chimie physique': '(Chimie)', - 'atomes': '(Chimie)', - 'chim': '(Chimie)', - 'attention': 'Note â ïž:', - 'non standard': 'Note â ïž: (Mot d\'usage non standard)', - 'non attestĂ©': 'Note â ïž: (Mot d\'usage non attestĂ©)', - 'Audet': 'Audet', - 'Boudoux': 'Boudoux', - 'Euzennat': 'Euzennat', - 'fĂ©minin': '(Au fĂ©minin)', - 'au fĂ©minin': '(Au fĂ©minin)', - 'figures': '(RhĂ©torique)', - 'rhĂ©to': '(RhĂ©torique)', - 'rhĂ©torique': '(RhĂ©torique)', - 'au figurĂ©': '(Au figurĂ©)', - 'au masculin': '(Au masculin)', - - 'infographie': '(Infographie)', - 'dermatologie': '(Dermatologie)', - 'fiscalitĂ©': '(FiscalitĂ©)', - 'finances': '(Finance)', - 'finance': '(Finance)', - 'finan': '(Finance)', - 'travail': '(Travail)', - 'beaux-arts': '(Beaux-arts)', - 'transport': '(Transport)', - 'transp': '(Transport)', - 'transports': '(Transport)', - 'mythologie': '(Mythologie)', - 'arts': '(Arts)', - 'figurĂ©': '(Au sens figurĂ©)', - 'mĂ©ton': '(Par mĂ©tonymie)', - 'au singulier': '(Au singulier)', - 'p': '(Au pluriel)', - 'au pluriel': '(Au pluriel)', - 'propriĂ©tĂ©': '(Droit)', - 'dabeur': '(Droit)', - 'droit': '(Droit)', - 'geocacher': '(Droit)', - 'crimes': '(Droit)', - 'dĂ©lits': '(Droit)', - 'droit fĂ©odal': '(Droit fĂ©odal)', - 'cristallographie': '(Cristallographie)', - 'Ă©lec': '(ĂlectricitĂ©)', - 'Ă©lectricitĂ©': '(ĂlectricitĂ©)', - 'Ă©lectron': '(Ălectronique)', - 'composants': '(Ălectronique)', - 'composants Ă©lectriques': '(Ălectronique)', - 'comptabilitĂ©': '(ComptabilitĂ©)', - 'compta': '(ComptabilitĂ©)', - 'Ă©lectronique': '(Ălectronique)', - 'Ă©lectrot': '(Ălectronique)', - 'Ă©lectrotechnique': '(Ălectronique)', - 'pĂ©joratif': '(PĂ©joratif)', - 'souvent pĂ©joratif': '(PĂ©joratif)', - 'pĂ©j': '(PĂ©joratif)', - 'gastronomie': '(Gastronomie)', - 'hĂ©raldique': '(HĂ©raldique)', - 'hĂ©ral': '(HĂ©raldique)', - 'meuble': '(Meuble)', - 'meubles': '(Meuble)', - 'microbiologie': '(Microbiologie)', - 'meubles hĂ©raldiques': '(HĂ©raldique)', - 'beaucoup plus courant': '(Courant)', - 'plus courant': '(Courant)', - 'peu usitĂ©': '(Peu usitĂ©)', - 'p us': '(Peu usitĂ©)', - 'p-us': '(Peu usitĂ©)', - 'pyrotechnie': '(Pyrotechnie)', - - 'barriĂ©rage': '(Usage critiquĂ©)', - 'rare': '(Rare)', - 'beaucoup moins courant': '(Rare)', - 'moins courant': '(Rare)', - 'b-m-cour': '(Rare)', - 'rare': '(Rare)', - 'plus rare': '(Rare)', - 'pl-rare': '(Rare)', - 'trĂšs-rare': '(TrĂšs rare)', - 'trĂšs trĂšs rare': '(TrĂšs rare)', - 'trĂšs rare': '(TrĂšs rare)', - 'ex-rare': '(ExtrĂȘmement rare)', - 'famille': '(Famille)', - 'fantastique': '(Fantastisque)', - 'fanta': '(Fantastisque)', - 'fant': '(Fantastisque)', - - 'extrĂȘmement rare': '(ExtrĂȘmement rare)', - 'renseignement': '(Renseignement)', - 'reproduction': '(Reproduction)', - 'reliure': '(Reliure)', - 'littĂ©raire': '(LittĂ©raire)', - 'litt': '(LittĂ©raire)', - 'livre': '(Livre)', - 'logistique': '(Logistique)', - 'Loiret': '(Loiret)', - 'loisirs': '(Loisirs)', - 'Lorraine': '(Lorraine)', - 'louchĂ©bem': '(LouchĂ©bem)', - 'lusi': '(Lusitanisme)', - 'Luxembourg': '(Luxembourg)', - 'littĂ©rature': '(LittĂ©raire)', - 'cartographie': '(Cartographie)', - 'neurologie': '(Neurologie)', - 'neurol': '(Neurologie)', - 'mĂ©decine': '(MĂ©decine)', - 'pĂ©diatrie': '(MĂ©decine)', - 'pĂ©dologie': '(PĂ©dologie)', - 'pĂ©dol': '(PĂ©dologie)', - 'peinture': '(Peinture)', - 'philatĂ©lie': '(PhilatĂ©lie)', - 'phobies': '(MĂ©decine)', - 'phonĂ©tique': '(PhonĂ©tique)', - 'phonologie': '(Phonologie)', - 'ophtalmologie': '(MĂ©decine)', - 'optimisation': '(Optimisation)', - 'particules': '(Physique)', - 'optique': '(Physique)', - 'phys': '(Physique)', - 'physiol': '(Physiologie)', - 'physiologie': '(Physiologie)', - 'phytosociologie': '(Phytosociologie)', - 'oncologie': '(MĂ©decine)', - 'obstĂ©trique': '(MĂ©decine)', - 'mĂ©de': '(MĂ©decine)', - 'antonomase': '(MĂ©decine)', - 'aphĂ©rĂšse': 'AphĂ©rĂšse', - 'apiculture': '(Apiculture)', - 'apJC': 'AntiquitĂ©', - 'avJC': 'AntiquitĂ©', - 'apocope': '(Apocope)', - 'application': '(Couche application)', - 'couche application': '(Couche OSI application)', - 'couche liaison': '(Couche OSI liaison)', - 'couche physique': '(Couche OSI physique)', - 'couche rĂ©seau': '(Couche OSI rĂ©seau)', - 'couche session': '(Couche OSI session)', - 'couche transport': '(Couche OSI transport)', - 'apposition': '(En apposition)', - 'baby-foot': '(Baby-foot)', - 'bactĂ©ries': '(BactĂ©riologie)', - 'bactĂ©riologie': '(BactĂ©riologie)', - 'bandes dessinĂ©es': '(BD)', - 'baseball': '(Baseball)', - 'base de donnĂ©es': '(BDD)', - 'basket': '(Basket-ball)', - 'basket-ball': '(Basket-ball)', - 'basketball': '(Basket-ball)', - 'bĂątiment': '(Construction)', - 'BDD': '(BDD)', - 'TAAF': '(Vocabulaire des TAAF)', - 'taille de pierre': '(Taille de pierre)', - - - 'chir': '(Chirurgie)', - 'urban': '(Urbanisme)', - 'urbanisme': '(Urbanisme)', - 'chirurgie': '(Chirurgie)', - 'photo': '(Photographie)', - 'photographie': '(Photographie)', - 'transitif': '(Transitif)', - 't': '(Transitif)', - 'transit': '(Transitif)', - 'trans': '(Transitif)', - 'intransitif': '(Intransitif)', - 'intrans': '(Intransitif)', - 'i': '(Intransitif)', - 'ibid': '(ibid.)', - 'illĂ©galitĂ©': '(IllĂ©galitĂ©)', - 'impersonnel': '(Impersonnel)', - 'ichtyologie': '(Ichtyologie)', - 'pronl': '(Pronominal)', - 'pronominal': '(Pronominal)', - 'forme pronominale': '(Pronominal)', - 'physique': '(Physique)', - 'nanotechnologie': '(Physique)', - 'Ă©bauch-exe': '', - 'Ă©bauche-exe': '', - 'Ă©bauche-dĂ©f': '', - 'Ă©bauche-Ă©tym': '', - 'mĂ©canique': '(MĂ©canique)', - 'mĂ©ca': '(MĂ©canique)', - 'mĂ©decine non conv': '(MĂ©decine non conventionnelle)', - 'mĂ©decine non conventionnelle': '(MĂ©decine non conventionnelle)', - 'temps gĂ©ologiques': '(GĂ©ologie)', - 'tĂ©ratologie': '(TĂ©ratologie)', - 'temps': '(Chronologie)', - 'tĂ©lĂ©': '(MĂ©dia)', - 'tĂ©lĂ©vision': '(MĂ©dia)', - 'mĂ©dia': '(MĂ©dia)', - 'presse': '(MĂ©dia)', - 'radio': '(MĂ©dia)', - 'politique': '(Politique)', - 'polit': '(Politique)', - 'LGBT': '(LGBT)', - 'Ă©conomie': '(Ăconomie)', - 'Ă©con': '(Ăconomie)', - 'juri': '(Droit)', - 'manĂšge': '(Ăquitation)', - 'marbrerie': '(Marbrerie)', - 'marĂ©chalerie': '(MarĂ©chalerie)', - 'Ă©quitation': '(Ăquitation)', - 'hippisme': '(Ăquitation)', - 'impr': '(Imprimerie)', - 'imprimerie': '(Imprimerie)', - 'industriel': '(Industrie)', - 'industrie': '(Industrie)', - 'indus': '(Industrie)', - 'usines': '(Industrie)', - 'indus pĂ©troliĂšre': '(Petro mafia)', - 'raffinage': '(PĂ©tro mafia)', - 'informel': '(Informel)', - 'insectes': '(Entomologie)', - 'mouches': '(Entomologie)', - 'Moyen Ăge': '(Moyen Ăge)', - 'instruments': '(Musique)', - 'boucherie': '(Boucherie)', - 'distinctions': '(Distinctions)', - 'documents': '(MĂ©dia)', - 'doute': '(information Ă vĂ©rifier)', - 'vaudou': '(Vaudou)', - 'mĂ©dicaments': '(Pharmacologie)', - 'drogue': '(Pharmacologie)', - 'drogues': '(Pharmacologie)', - 'mĂ©lioratif': '(MĂ©lioratif)', - 'pharma': '(pharmacologie)', - 'surf': '(Surf)', - - - 'QuĂ©bec': '(QuĂ©bec)', - 'QC': '(QuĂ©bec)', - 'quĂ©bec': '(QuĂ©bec)', - 'Canada': '(Canada)', - 'CA': '(Canada)', - 'BE': '(Belgique)', - 'France': '(France)', - 'Inde': '(Inde)', - 'Liban': '(Liban)', - 'Japon': '(Japon)', - 'jardi': '(Jardinage)', - 'jardinage': '(Jardinage)', - 'Franche-ComptĂ©': '(Franche-ComptĂ©)', - 'franc-maçonnerie': '(Franc-maçonnerie)', - 'Europe': '(Europe)', - 'Espagne': '(Espagne)', - 'Roumanie': '(Roumanie)', - 'Royaume-Uni': '(Royaume-Uni)', - 'Pays basque': '(Pays basque)', - 'pelote': '(Pelote Basque)', - 'Australie': '(Australie)', - 'Russie': '(Russie)', - 'Rwanda': '(Rwanda)', - 'Saint-Pierre-et-Miquelon': '(Saint-Pierre-et-Miquelon)', - 'Autriche': '(Autriche)', - 'Auvergne': '(Auvergne)', - 'Touraine': '(Touraine)', - 'Occitanie': '(Occitanie)', - 'Ăgypte': '(Ăgypte)', - 'USA': '(Ătats-Unis)', - 'Ătats-Unis': '(Ătats-Unis)', - 'Normandie': '(Normandie)', - 'Congo-Kinshasa': '(Congo-Kinshasa)', - 'RĂ©publique DĂ©mocratique du Congo': '(Congo-Kinshasa)', - 'RDC': '(Congo-Kinshasa)', - 'RDCongo': '(Congo-Kinshasa)', - 'Congo-Brazzaville': '(Congo-Brazzaville)', - 'Bordelais': '(Bordelais)', - 'Lyon': '(Lyon)', - 'MĂąconnais': '(Lyon)', - 'lyonnais': '(Lyon)', - 'Champagne': '(Champagne)', - 'Nice': '(Nice)', - 'Lille': '(Lille)', - 'Paris': '(Paris)', - 'Marseille': '(Marseille)', - 'Midi toulousain': '(Midi)', - 'Midi': '(Midi)', - 'champignon': '(Mycologie)', - 'champignons': '(Mycologie)', - 'Beaujolais': '(Beaujolais)', - 'Bourdonnais': '(Bourdonnais)', - 'Boureau-Louvet': '(Boureau-Louvet)', - 'Bourgogne': '(Bourgogne)', - 'reptiles': '(Zoologie)', - 'requins': '(Zoologie)', - 'mollusques': '(Zoologie)', - 'Ă©chinodermes': '(Zoologie)', - 'marsupial': '(Zoologie)', - 'marsupiaux': '(Zoologie)', - 'bovins': '(Zoologie)', - 'crustacĂ©s': '(Zoologie)', - 'boxe': '(Boxe)', - 'b-pl-cour': '(Courant)', - 'cour': '(Courant)', - 'courant': '(Courant)', - 'crypto': '(Cryptologie)', - 'cryptologie': '(Cryptologie)', - 'cryptographie': '(Cryptologie)', - 'cryptomonnaie': '(Cryptologie)', - 'cryptomonnaies': '(Cryptologie)', - 'bridge': '(Bridge)', - 'MĂąconnais': '(MĂąconnais)', - 'Nantes': '(Nantes)', - 'VendĂ©e': '(VendĂ©e)', - 'Velay': '(Velay)', - 'Picardie': '(Picardie)', - 'Poitou': '(Poitou)', - 'Vosges': '(Vosges)', - 'Provence': '(Provence)', - 'RhĂŽne-Alpes': '(RhĂŽne-Alpes)', - 'rire': '(đ)', - 'sourire': '(đ)', - 'Niger': '(Niger)', - 'Nicaragua': '(Nicaragua)', - 'natation': '(Natation)', - 'navigation': '(Navigation)', - 'Ăcosse': '(Ăcosse)', - 'Lyonnais': '(Lyon)', - 'Savoie': '(Savoie)', - 'Guadeloupe': '(Guadeloupe)', - 'Martinique': '(Martinique)', - 'RĂ©union': '(RĂ©union)', - 'Guyane': '(Guyane)', - 'Maurice': '(Guyane)', - 'Mayotte': '(Mayotte)', - 'HaĂŻti': '(HaĂŻti)', - 'herpĂ©tologie': '(HerpĂ©tologie)', - 'Bretagne': '(Bretagne)', - 'Madagascar': '(Madagascar)', - 'magnĂ©tisme': '(MagnĂ©tisme)', - 'maintenance': '(Maintenance)', - 'Maghreb': '(Maghreb)', - 'france': '(France)', - 'FR': '(France)', - 'fr': '(France)', - 'Belgique': '(Belgique)', - 'Suisse': '(Suisse)', - 'CH': '(Suisse)', - 'suisse': '(Suisse)', - 'Acadie': '(Acadie)', - 'Louisiane': '(Louisiane)', - 'Languedoc-Roussillon': '(Languedoc-Roussillon)', - 'Languedoc': '(Languedoc)', - 'Limousin': '(Limousin)', - 'Vietnam': '(ViĂȘt Nam)', - 'ViĂȘt Nam': '(ViĂȘt Nam)', - 'Afrique': '(Agrique)', - 'Mali': '(Mali)', - 'Burkina Faso': '(Burkina Faso)', - 'SĂ©nĂ©gal': '(SĂ©nĂ©gal)', - 'BĂ©nin': '(BĂ©nin)', - 'Togo': '(Togo)', - 'Gabon': '(Gabon)', - 'Tchad': '(Tchad)', - 'Gascogne': '(Gascogne)', - 'GaspĂ©sie': '(GaspĂ©sie)', - 'GĂ©liot': '(HĂ©raldique)', - 'gĂ©nĂ©alogie': '(GĂ©nĂ©alogie)', - 'gĂ©nĂ©ralement': '(GĂ©nĂ©ralement)', - 'gĂ©nĂ©ralement singulier': '(GĂ©nĂ©ralement au singulier)', - 'Cameroun': '(Cameroun)', - 'Centrafrique': '(Centrafrique)', - 'Mauritanie': '(Mauritanie)', - 'Berry': '(Berry)', - 'Afrique du Sud': '(Afrique du Sud)', - 'AlgĂ©rie': '(AlgĂ©rie)', - 'Maroc': '(Maroc)', - 'Tunisie': '(Tunisie)', - 'Orient': '(Orient)', - 'ornement': '(Ornement)', - 'maroquinerie': '(Maroquinerie)', - 'marque': '(Marque)', - 'Allemagne': '(Allemagne)', - 'Alsace': '(Alsace)', - 'AmĂ©rique du Nord': '(AmĂ©rique du Nord)', - 'AmĂ©rique du Sud': '(AmĂ©rique du Sud)', - 'Nord-Pas-de-Calais': '(Nord-Pas-de-Calais)', - 'Nouvelle-CalĂ©donie': '(Nouvelle-CalĂ©donie)', - 'Terre-Neuve': '(Terre-Neuve)', - 'nuclĂ©aire': '(NuclĂ©aire)', - 'nucl': '(NuclĂ©aire)', - 'numismatique': '(Numismatique)', - 'numis': '(Numismatique)', - 'nutrition': '(Nutrition)', - 'Anjou': '(Anjou)', - 'Antilles': '(Antilles)', - 'Aquitaine': '(Aquitaine)', - 'Asie centrale': '(Asie centrale)', - 'Kirghizistan': '(Asie centrale)', - 'Chine': '(Chine)', - 'saliculture': '(Saliculture)', - 'satellites': '(Astonomie)', - 'saut en hauteur': '(Saut en hauteur)', - 'sciences': '(Sciences)', - 'scientifiques': '(Scientifiques)', - 'scol': '(Scolaire)', - 'scolaire': '(Scolaire)', - 'sculpture': '(Sculpture)', - 'secourisme': '(Secourisme)', - 'seigneuries': '(Histoire)', - - - 'CB': '(Citizen-band)', - 'bibli': '(BibliothĂ©conomie)', - 'bibliothĂ©conomie': '(BibliothĂ©conomie)', - 'assurance': '(Assurance)', - 'arboriculture': '(Arboriculture)', - 'anthropologie': '(Anthropologie)', - 'peupliers': '(Botanique)', - 'agrumes': '(Botanique)', - 'algues': '(Botanique)', - 'fleurs': '(Botanique)', - 'aĂŻkido': '(AĂŻkido)', - 'Ă©lĂ©ments': '(Chimie)', - 'alcaloĂŻdes': '(Chimie)', - 'alliage': '(Chimie)', - 'alpinisme': '(Alpinisme)', - 'alchimie': '(Alchimie)', - 'alcools': '(Boisson)', - 'cocktails': '(Boisson)', - 'biĂšres': '(Boisson)', - 'algĂšbre': '(AlgĂšbre)', - 'orfĂšvrerie': '(Bijou)', - 'bijou': '(Bijou)', - 'bijouterie': '(Bijou)', - 'joaillerie': '(Bijou)', - 'jonglerie': '(Jonglerie)', - 'judaĂŻsme': '(JudaĂŻsme)', - 'judo': '(Judo)', - 'karatĂ©': '(KaratĂ©)', - 'kung-fu': '(Kung-fu)', - 'Jura': '(Jura)', - 'billard': '(Billard)', - 'coiffure': '(Coiffure)', - 'biogĂ©ographie': '(BiogĂ©ographie)', - 'biol': '(Biologie)', - 'biologie cellulaire': '(Biologie cellulaire)', - 'bivalves': '(Malacologie)', - 'b-m-cour': '(Rare)', - 'm-cour': '(Plus Rare)', - 'bonsaĂŻ': '(BonsaĂŻ)', - - 'calendrier': '(Chronologie)', - 'agrohomardinenomie': '(Agronomie)', - 'dames:': '(Jeu de Dames)', - 'danse': '(Dance)', - 'danses': '(Dance)', - 'dauphinois': '', - 'pĂątes': '(Cuisine)', - 'pĂątes alimentaires': '(Cuisine)', - 'bĂąteaux': '(Cuisine)', - 'cuisine': '(Cuisine)', - 'cuis': '(Cuisine)', - 'aliments': '(Cuisine)', - 'prĂ©parations': '(Cuisine)', - 'canoĂ«-kayak': '(CanoĂ«-kayak)', - 'confiserie': '(Confiserie)', - 'confiseries': '(Confiserie)', - 'colorimĂ©trie': '(ColorimĂ©trie)', - 'couture': '(Couture)', - 'cout': '(Couture)', - 'textile': '(Textile)', - 'tissage': '(Textile)', - 'tissus': '(Textile)', - 'textiles': '(textile)', - 'couverture': '(Couvertures)', - 'broderie': '(Textile)', - 'vĂȘtements': '(VĂȘtements)', - 'habil': '(VĂȘtements)', - 'vĂȘte': '(VĂȘtements)', - 'chaussures': '(VĂȘtements)', - 'couvre-chefs': '(VĂȘtements)', - 'colĂ©optĂšres': '(Zoologie)', - 'mammifĂšres': '(Zoologie)', - 'crabes': '(Zoologie)', - 'Ă©cureils': '(Zoologie)', - 'chauves-souris': '(Zoologie)', - 'carnivore': '(Zoologie)', - 'vĂ©tĂ©rinaire': '(MĂ©decine vĂ©tĂ©rinaire)', - 'vexillologie': '(Vexillologie)', - 'cartes': '(Cartes Ă jouer)', - 'poker': '(Poker)', - 'jeux de cartes': '(Cartes Ă jouer)', - 'tonnellerie': '(Tonnellerie)', - 'topographie': '(Topographie)', - 'caprins': '(Zoologie)', - 'camĂ©lidĂ©s': '(Zoologie)', - 'antilopes': '(Zoologie)', - 'animaux': '(Zoologie)', - 'zool': '(Zoologie)', - 'zoologie': '(Zoologie)', - 'zootechnie': '(Zoologie)', - 'serpents': '(Zoologie)', - 'serrurerie': '(Serrurerie)', - 'fauconnerie': '(Fauconnerie)', - 'sentiments': '(Psychologie)', - 'yoga': '(Yoga)', - 'yogana': '(Yoga)', - 'virologie': '(Virologie)', - 'virus': '(Virologie)', - 'viticulture': '(viticulture)', - 'volcanologie': '(GĂ©ologie)', - 'mf': 'masculin et fĂ©minin identiques', - 'Ćnologie': '(Ćnologie)', - 'vins': '(Ćnologie)', - 'Ćnol': '(Ćnologie)', - 'oenologie': '(Ćnologie)', - 'cĂ©pages': '(Ćnologie)', - 'oenol': '(Ćnologie)', - 'papeterie': '(Papeterie)', - 'papĂšterie': '(Papeterie)', - 'ornithologie': '(Ornithologie)', - 'palmipĂšdes': '(Ornithologie)', - 'oiseaux': '(Ornithologie)', - 'ornithol': '(Ornithologie)', - 'entomol': '(Entomologie)', - 'papillons': '(Entomologie)', - 'entomologie': '(Entomologie)', - 'pharmacologie': '(Pharmacologie)', - 'pharmacie': '(Pharmacologie)', - 'Ă©pithĂšte': '(EmployĂ© comme Ă©pithĂšte)', - 'symboles unitĂ©s': '(MĂ©trologie)', - 'instruments de mesure': '(MĂ©trologie)', - 'unitĂ©s': '(MĂ©trologie)', - 'unitĂ©': '(MĂ©trologie)', - 'mĂ©tro': '(MĂ©trologie)', - 'mĂ©trol': '(MĂ©trologie)', - 'mĂ©trologie': '(MĂ©trologie)', - 'vents': '(MĂ©tĂ©orologie)', - 'verlan': '(Verlan)', - 'mĂ©tĂ©orologie': '(MĂ©tĂ©orologie)', - 'mĂ©tĂ©orol': '(MĂ©tĂ©orologie)', - 'mĂ©tĂ©o': '(MĂ©tĂ©orologie)', - 'cordonnerie': '(Cordonnerie)', - 'CorĂ©e du Nord': '(CorĂ©e du Nord)', - 'cosmĂ©tique': '(CosmĂ©tique)', - 'CĂŽte dâIvoire': '(CĂŽte dâIvoire)', - 'robotique': '(Robotique)', - 'science-fiction': '(SF)', - 'sci-fi': '(SF)', - 'pathologie': '(Nosologie)', - 'maladie': '(Nosologie)', - 'nosologie': '(Nosologie)', - 'maladies': '(Nosologie)', - 'rĂ©ciproque': '(rĂ©ciproque)', - 'populaire': '(Par abuus de langage)', - 'enfantin': '(Langage enfantin)', - 'parler gaga': '(Langage enfantin)', - 'Parler gaga': '(Langage enfantin)', - 'enfant': '(Langage enfantin)', - 'par mĂ©tonymie': '(Linguistique)', - 'mĂ©tonymie': '(Linguistique)', - 'langues': '(Linguistique)', - 'lang': '(Linguistique)', - 'langages': '(Linguistique)', - 'SMS': '(Langage SMS)', - 'langage SMS': '(Langage SMS)', - 'Lang': '(Linguistique)', - 'ling': '(Linguistique)', - 'langage Java': '(Informatique)', - 'protocoles': '(RĂ©seaux)', - 'rĂ©seaux': '(RĂ©seaux)', - 'POO': '(Programmation OrientĂ©e Objet)', - 'absolument': '(Absolument, Sans complĂ©ment)', - 'OTAN': '(OTAN)', - 'absol': '(Absolument, Sans complĂ©ment)', - 'VII': '(AntiquitĂ©)', - 'antiq': '(AntiquitĂ©)', - 'AntiquitĂ©': '(AntiquitĂ©)', - 'antiquitĂ©': '(AntiquitĂ©)', - 'topol': '(Topologie)', - 'topologie': '(Topologie)', - 'topon': '(Toponymie)', - 'toponymes': '(Toponymie)', - 'toponymesâ': '(Toponymie)', - 'territoires': '(Toponymie)', - 'toponymie': '(Toponymie)', - 'quartiers': '(Toponymie)', - 'ferroviaire': '(Chemin de fer)', - 'ferro': '(Chemin de fer)', - 'chemin de fer': '(Chemin de fer)', - 'typographie': '(Typographie)', - 'typo': '(Typographie)', - 'diacritiques': '(Grammaire)', - 'dialectes': '(Dialecte)', - 'langue': '(Linguistique)', - 'humour': '(Humour)', - 'management': '(Management)', - 'ufologie': '(Ufologie)', - 'marketing': '(Marketing)', - 'publicitĂ©': '(Marketing)', - 'plaisanterie': '(Humour)', - 'plais': '(Humour)', - 'plance Ă neige': '(Snowboard)', - 'snowboard': '(Snowboard)', - 'planche Ă roulettes': '(Plance Ă roulettes)', - 'skateboard': '(Plance Ă roulettes)', - 'plomberie': '(Plomberie)', - 'plongĂ©e': '(PlongĂ©e)', - 'Marne': '(Marne)', - 'ski alpin': '(Ski alpin)', - 'socialisme': '(Socialisme)', - 'sociologie': '(Sociologie)', - 'sylviculture': '(Sylviculture)', - 'sylv': '(Sylviculture)', - 'lacs': '(GĂ©ographie)', - 'pays': '(GĂ©ographie)', - 'ocĂ©anographie': '(OcĂ©anographie)', - 'tourisme': '(Tourisme)', - 'tradit': '(Orthographe traditionnelle)', - 'dĂ©troits': '(GĂ©ographie)', - 'gentilĂ©s': '(GĂ©ographie)', - 'chaĂźnes de montagnes': '(GĂ©ographie)', - 'gĂ©ographie': '(GĂ©ographie)', - 'gĂ©og': '(GĂ©ographie)', - 'Ăźles': '(GĂ©ographie)', - 'Ăźle': '(GĂ©ographie)', - 'provinces': '(GĂ©ographie)', - 'botanique': '(Botanique)', - 'fruits': '(Botanique)', - 'phyton': '(Botanique)', - 'botan': '(Botanique)', - 'arbres': '(Botanique)', - 'familles de plantes': '(Botanique)', - 'plantes': '(Botanique)', - 'dentisterie': '(Dentisterie)', - 'cyclisme': '(Cyclisme)', - 'vĂ©lo': '(Cyclisme)', - 'motocyclisme': '(Motocyclisme)', - 'moto': '(Motocyclisme)', - 'Moto': '(Motocyclisme)', - 'prog': '(Informatique)', - 'programmation': '(Informatique)', - 'programation': '(Informatique)', - 'anglicismes informatiques': '(Anglicisme informatique)', - 'anglicisme informatique': '(Anglicisme informatique)', - 'germanisme': '(Germanisme)', - 'italianisme': '(Italianisme)', - 'latinisme': '(Latinisme)', - 'latinisme droit': '(Latinisme du Droit)', - 'hispanisme': '(Hispanisme)', - 'hisp': '(Hispanisme)', - 'histoire de France': '(Histoire)', - 'monarchie': '(Histoire)', - 'histol': '(Histologie)', - 'horticulture': '(Horticulture)', - 'hydrobiologie': '(Hydrobiologie)', - 'hydrologie': '(Hydrologie)', - 'monnaies': '(Numismatique)', - - 'versification': '(Versification)', - 'giraffidĂ©s': '(Zoologie)', - 'vers': '(Zoologie)', - 'tortues': '(Zoologie)', - 'glaciologie': '(Glaciologie)', - 'gladiateurs': '(AntiquitĂ©)', - 'angl': '(Anglicisme)', - 'golf': '(Golf)', - 'gymnastique': '(Gym)', - 'gram': '(Grammaire)', - 'thĂ©ologie': '(ThĂ©ologie)', - 'thĂ©ologie': '(ThĂ©ol)', - 'semi-logarithmique': '(Informatique)', - 'thermodynamique': '(Thermodynamique)', - 'graph': '(ThĂ©orie des graphes)', - 'anglicisme': '(Anglicisme)', - 'faux anglicisme': '(Faux anglicisme)', - 'paume': '(Jeu de paume)', - 'Union europĂ©enne': '(Union europĂ©enne)', - 'abrĂ©viation': '(AbrĂ©viation)', - 'abrĂ©viation de': '(AbrĂ©viation)', - 'par ext': 'Par extension; ', - 'euphĂ©misme': 'Par euphĂ©misme; ', - 'exagĂ©ration': 'Par hyperbole; ', - 'dĂ©rision': 'Par dĂ©rision; ', - 'par extension': 'Par extension; ', - 'analyse': '(Analyse)', - 'anal': 'Par analogie; ', - 'par analogie': 'Par analogie; ', - 'exploitation forestiĂšre': '(Exploitation forestiĂšre)', - 'expression': '(Expression)', - 'analogie': 'Par analogie; ', - 'part': 'En particulier; ', - 'en particulier': 'En particulier; ', - 'particulier': 'En particulier; ', - 'spĂ©cialement': 'En particulier; ', - 'spĂ©c': 'En particulier; ', - 'spĂ©cifiquement': '(SpĂ©cifiquement)', - 'archaĂŻque': '(ArchaĂŻque)', - 'arch': '(ArchaĂŻque)', - 'archĂ©ologie': '(ArchĂ©ologie)', - 'Argadz': '(Argot des GadzâArts ?!)', - 'agriculture': '(Agriculture)', - 'Ă©levage': '(Agriculture)', - 'Ă©leva': '(Agriculture)', - 'embryologie': '(Embryologie)', - 'agri': '(Agriculture)', - 'sexualitĂ©': '(SexualitĂ©)', - 'sexe': '(SexualitĂ©)', - 'numĂ©ro': 'n°', - 'biologie': '(Biologie)', - 'parasitologie': '(Biologie)', - 'micro-biologie': '(Micro-biologie)', - 'grammaire': '(Grammaire)', - 'ellipse': '(Par ellipse)', - 'par ellipse': '(Par ellipse)', - 'Ă©cologie': '(Ăcologie)', - 'Ă©co': '(Ăcologie)', - 'bateaux': '(Navigation)', - 'ethnologie': '(Ethnologie)', - 'ethnobiologie': '(Ethnologie)', - 'usage': 'Note d\'usage: ', - 'note': 'Note: ', - 'rĂ©flĂ©chi': '(RĂ©flĂ©chi)', - 'cf': '', - 'rĂ©f ?': '', - 'RĂF': '', - 'rĂ©fĂ©rence nĂ©cessaire': '', - 'pĂ©riodique': '', - 'article': '', - 'Article': '', - 'pĂ©riodique ': '', - 'lire en ligne': '', - 'lien vidĂ©o': '', - 'Lien web ': '', - 'Lien web': '', - 'lien web': '', - 'lien brisĂ©': '', - 'Lien brisĂ©': '', - 'ouvrage': '', - 'Ouvrage': '', - 'compo': '', - 'Ă©couter': '', - 'voir': '', - 'pron': '', # Prononciation - 'rĂ©f': '', # RĂ©fĂ©rence - 'cit_rĂ©f': '', # RĂ©fĂ©rence - 'cit rĂ©f': '', # RĂ©fĂ©rence - 'trad+': '', - 'p.': 'p.', - 'trad-': '', - 'source': '', # Source - '?': '', # Source - 'rĂ©f?': '', # Source - 'WikipĂ©dia': '', - 'Wikisource': '', - 'wsp': '', - 'WSP': '', - - - 'vitrerie': '(Vitrerie)', - 'miroiterie': '(Miroiterie)', - 'menuiserie': '(Menuiserie)', - 'menu': '(Menuiserie)', - 'charpenterie': '(Charpenterie)', - 'charpente': '(Charpenterie)', - 'charronnerie': '(Charronerie)', - 'chasse': '(Chasse)', - 'hindouisme': '(Hindouisme)', - 'gravure': '(Gravue)', - 'tauromachie': '(Tauromachie)', - 'catch': '(Catch)', - 'cosmĂ©tologie': '(CosmĂ©tologie)', - 'parfumerie': '(CosmĂ©tologie)', - 'mycologie': '(Mycologie)', - 'mycol': '(Mycologie)', - 'aĂ©ro': '(AĂ©ronautique)', - 'aĂ©ronautique': '(AĂ©ronautique)', - 'avion': '(AĂ©ronautique)', - 'avions': '(AĂ©ronautique)', - 'palĂ©ontol': '(PalĂ©ontologie)', - 'occultisme': '(Occultisme)', - 'indĂ©nombrable': '(IndĂ©nombrable)', - 'indĂ©n': '(IndĂ©nombrable)', - 'dĂ©nombrable': '(DĂ©nombrable)', - 'police': '(Police)', - 'Pologne': '(Pologne)', - 'PolynĂ©sie française': '(PolynĂ©sie française)', - 'sigle': '(Sigle)', - 'Seychelles': '(Seychelles)', - 'sidĂ©rurgie': '(SidĂ©rurgie)', - 'affectueux': '(Affectueux)', - 'technologie': '(Technologie)', - 'technol': '(Technologie)', - 'machines': '(Technologie)', - 'boissons': '(Boisson)', - 'boisson': '(Boisson)', - 'construction': '(Construction)', - 'Ă©difices': '(Construction)', - 'constr': '(Construction)', - 'titres': '(Noblesse)', - 'noblesse': '(Histoire)', - 'horlogerie': '(Horlogerie)', - 'numismatique': '(Numismatique)', - 'gĂ©nĂ©tique': '(GĂ©nĂ©tique)', - 'gĂ©nĂ©t': '(GĂ©nĂ©tique)', - 'gĂ©nĂ©riquement': '(GĂ©nĂ©riquement)', - 'admin': '(Administration)', - 'administration': '(Administration)', - 'journalisme': '(Journalisme)', - 'Ă©dition': '(Ădition)', - 'fromages': '(Fromage)', - 'fromage': '(Fromage)', - 'Ă©ducation': '(Ăducation)', - 'Ă©duc': '(Ăducation)', - 'hapax': '(Hapax)', - 'handisport': '(Handisport)', - 'handball': '(Handball)', - 'football': '(Football)', - 'foot': '(Football)', - 'foresterie': '(Foresterie)', - 'metal': '(MĂ©tallurgie)', - 'mĂ©tal': '(MĂ©tallurgie)', - 'mĂ©tallurgie': '(MĂ©tallurgie)', - 'fonderie': '(MĂ©tallurgie)', - 'mĂ©taphore': '(MĂ©taphore)', - 'acoustique': '(Acoustique)', - 'acoustique': '(Acoustique)', - 'acron': '(Acronyme)', - 'acronyme': '(Acronyme)', - - - } |