Grammalecte  Hex Artifact Content

Artifact ff091c7d4b3cb798337b9e0e12b0f70982102417ff54353ab5f29318018553cd:


0000: 5b 61 72 67 73 5d 0a 6c 61 6e 67 20 3d 20 66 72  [args].lang = fr
0010: 0a 6c 61 6e 67 5f 6e 61 6d 65 20 3d 20 46 72 65  .lang_name = Fre
0020: 6e 63 68 0a 6c 6f 63 61 6c 65 73 20 3d 20 66 72  nch.locales = fr
0030: 5f 46 52 20 66 72 5f 42 45 20 66 72 5f 43 41 20  _FR fr_BE fr_CA 
0040: 66 72 5f 43 48 20 66 72 5f 4c 55 20 66 72 5f 42  fr_CH fr_LU fr_B
0050: 46 20 66 72 5f 42 4a 20 66 72 5f 43 44 20 66 72  F fr_BJ fr_CD fr
0060: 5f 43 49 20 66 72 5f 43 4d 20 66 72 5f 4d 41 20  _CI fr_CM fr_MA 
0070: 66 72 5f 4d 4c 20 66 72 5f 4d 55 20 66 72 5f 4e  fr_ML fr_MU fr_N
0080: 45 20 66 72 5f 52 45 20 66 72 5f 53 4e 20 66 72  E fr_RE fr_SN fr
0090: 5f 54 47 0a 63 6f 75 6e 74 72 79 5f 64 65 66 61  _TG.country_defa
00a0: 75 6c 74 20 3d 20 46 52 0a 6e 61 6d 65 20 3d 20  ult = FR.name = 
00b0: 47 72 61 6d 6d 61 6c 65 63 74 65 0a 69 6d 70 6c  Grammalecte.impl
00c0: 6e 61 6d 65 20 3d 20 67 72 61 6d 6d 61 6c 65 63  name = grammalec
00d0: 74 65 0a 23 20 61 6c 77 61 79 73 20 75 73 65 20  te.# always use 
00e0: 33 20 6e 75 6d 62 65 72 73 20 66 6f 72 20 76 65  3 numbers for ve
00f0: 72 73 69 6f 6e 3a 20 78 2e 79 2e 7a 0a 76 65 72  rsion: x.y.z.ver
0100: 73 69 6f 6e 20 3d 20 31 2e 31 2e 31 0a 61 75 74  sion = 1.1.1.aut
0110: 68 6f 72 20 3d 20 4f 6c 69 76 69 65 72 20 52 2e  hor = Olivier R.
0120: 0a 70 72 6f 76 69 64 65 72 20 3d 20 47 72 61 6d  .provider = Gram
0130: 6d 61 6c 65 63 74 65 2e 6e 65 74 0a 6c 69 6e 6b  malecte.net.link
0140: 20 3d 20 68 74 74 70 73 3a 2f 2f 67 72 61 6d 6d   = https://gramm
0150: 61 6c 65 63 74 65 2e 6e 65 74 0a 64 65 73 63 72  alecte.net.descr
0160: 69 70 74 69 6f 6e 20 3d 20 43 6f 72 72 65 63 74  iption = Correct
0170: 65 75 72 20 67 72 61 6d 6d 61 74 69 63 61 6c 20  eur grammatical 
0180: 70 6f 75 72 20 6c 65 20 66 72 61 6e c3 a7 61 69  pour le fran..ai
0190: 73 2e 0a 65 78 74 72 61 73 20 3d 20 52 45 41 44  s..extras = READ
01a0: 4d 45 5f 66 72 2e 74 78 74 0a 6c 6f 67 6f 20 3d  ME_fr.txt.logo =
01b0: 20 6c 6f 67 6f 2e 70 6e 67 0a 0a 23 20 6d 61 69   logo.png..# mai
01c0: 6e 20 64 69 63 74 69 6f 6e 61 72 79 0a 6c 65 78  n dictionary.lex
01d0: 69 63 6f 6e 5f 73 72 63 20 3d 20 6c 65 78 69 63  icon_src = lexic
01e0: 6f 6e 73 2f 46 72 65 6e 63 68 2e 6c 65 78 0a 64  ons/French.lex.d
01f0: 69 63 5f 66 69 6c 65 6e 61 6d 65 73 20 3d 20 66  ic_filenames = f
0200: 72 2d 61 6c 6c 76 61 72 73 2c 66 72 2d 63 6c 61  r-allvars,fr-cla
0210: 73 73 69 63 2c 66 72 2d 72 65 66 6f 72 6d 0a 64  ssic,fr-reform.d
0220: 69 63 5f 6e 61 6d 65 20 3d 20 66 72 2d 61 6c 6c  ic_name = fr-all
0230: 76 61 72 73 2c 66 72 2d 63 6c 61 73 73 69 63 2c  vars,fr-classic,
0240: 66 72 2d 72 65 66 6f 72 6d 0a 64 69 63 5f 64 65  fr-reform.dic_de
0250: 73 63 72 69 70 74 69 6f 6e 20 3d 20 46 72 61 6e  scription = Fran
0260: c3 a7 61 69 73 20 28 54 6f 75 74 65 73 20 76 61  ..ais (Toutes va
0270: 72 69 61 6e 74 65 73 29 2c 46 72 61 6e c3 a7 61  riantes),Fran..a
0280: 69 73 20 28 43 6c 61 73 73 69 71 75 65 29 2c 46  is (Classique),F
0290: 72 61 6e c3 a7 61 69 73 20 28 52 c3 a9 66 6f 72  ran..ais (R..for
02a0: 6d 65 20 31 39 39 30 29 0a 64 69 63 5f 66 69 6c  me 1990).dic_fil
02b0: 74 65 72 20 3d 20 2c 5b 2a 43 4d 50 58 5d 24 2c  ter = ,[*CMPX]$,
02c0: 5b 2a 52 50 58 5d 24 0a 64 69 63 5f 64 65 66 61  [*RPX]$.dic_defa
02d0: 75 6c 74 5f 66 69 6c 65 6e 61 6d 65 5f 70 79 20  ult_filename_py 
02e0: 3d 20 66 72 2d 61 6c 6c 76 61 72 73 0a 64 69 63  = fr-allvars.dic
02f0: 5f 64 65 66 61 75 6c 74 5f 66 69 6c 65 6e 61 6d  _default_filenam
0300: 65 5f 6a 73 20 3d 20 66 72 2d 61 6c 6c 76 61 72  e_js = fr-allvar
0310: 73 0a 23 20 63 6f 6d 6d 75 6e 69 74 79 20 64 69  s.# community di
0320: 63 74 69 6f 6e 61 72 79 0a 6c 65 78 69 63 6f 6e  ctionary.lexicon
0330: 5f 63 6f 6d 6d 75 6e 69 74 79 5f 73 72 63 20 3d  _community_src =
0340: 20 6c 65 78 69 63 6f 6e 73 2f 46 72 65 6e 63 68   lexicons/French
0350: 2e 63 6f 6d 6d 75 6e 69 74 79 2e 6c 65 78 0a 64  .community.lex.d
0360: 69 63 5f 63 6f 6d 6d 75 6e 69 74 79 5f 66 69 6c  ic_community_fil
0370: 65 6e 61 6d 65 20 3d 20 66 72 2e 63 6f 6d 6d 75  ename = fr.commu
0380: 6e 69 74 79 0a 64 69 63 5f 63 6f 6d 6d 75 6e 69  nity.dic_communi
0390: 74 79 5f 6e 61 6d 65 20 3d 20 66 72 2e 63 6f 6d  ty_name = fr.com
03a0: 6d 75 6e 69 74 79 0a 64 69 63 5f 63 6f 6d 6d 75  munity.dic_commu
03b0: 6e 69 74 79 5f 64 65 73 63 72 69 70 74 69 6f 6e  nity_description
03c0: 20 3d 20 46 72 61 6e c3 a7 61 69 73 20 2d 20 64   = Fran..ais - d
03d0: 69 63 74 69 6f 6e 6e 61 69 72 65 20 63 6f 6d 6d  ictionnaire comm
03e0: 75 6e 61 75 74 61 69 72 65 0a 23 20 70 65 72 73  unautaire.# pers
03f0: 6f 6e 61 6c 20 64 69 63 74 69 6f 6e 61 72 79 0a  onal dictionary.
0400: 6c 65 78 69 63 6f 6e 5f 70 65 72 73 6f 6e 61 6c  lexicon_personal
0410: 5f 73 72 63 20 3d 20 6c 65 78 69 63 6f 6e 73 2f  _src = lexicons/
0420: 46 72 65 6e 63 68 2e 70 65 72 73 6f 6e 61 6c 2e  French.personal.
0430: 6c 65 78 0a 64 69 63 5f 70 65 72 73 6f 6e 61 6c  lex.dic_personal
0440: 5f 66 69 6c 65 6e 61 6d 65 20 3d 20 66 72 2e 70  _filename = fr.p
0450: 65 72 73 6f 6e 61 6c 0a 64 69 63 5f 70 65 72 73  ersonal.dic_pers
0460: 6f 6e 61 6c 5f 6e 61 6d 65 20 3d 20 66 72 2e 70  onal_name = fr.p
0470: 65 72 73 6f 6e 61 6c 0a 64 69 63 5f 70 65 72 73  ersonal.dic_pers
0480: 6f 6e 61 6c 5f 64 65 73 63 72 69 70 74 69 6f 6e  onal_description
0490: 20 3d 20 46 72 61 6e c3 a7 61 69 73 20 2d 20 64   = Fran..ais - d
04a0: 69 63 74 69 6f 6e 6e 61 69 72 65 20 70 65 72 73  ictionnaire pers
04b0: 6f 6e 6e 65 6c 0a 23 20 46 69 6e 69 74 65 20 73  onnel.# Finite s
04c0: 74 61 74 65 20 61 75 74 6f 6d 61 74 6f 6e 20 63  tate automaton c
04d0: 6f 6d 70 72 65 73 73 69 6f 6e 3a 20 31 2c 20 32  ompression: 1, 2
04e0: 20 28 65 78 70 65 72 69 6d 65 6e 74 61 6c 29 20   (experimental) 
04f0: 6f 72 20 33 20 28 65 78 70 65 72 69 6d 65 6e 74  or 3 (experiment
0500: 61 6c 29 0a 66 73 61 5f 6d 65 74 68 6f 64 20 3d  al).fsa_method =
0510: 20 31 0a 23 20 73 74 65 6d 6d 69 6e 67 20 6d 65   1.# stemming me
0520: 74 68 6f 64 3a 20 53 20 66 6f 72 20 73 75 66 66  thod: S for suff
0530: 69 78 65 73 20 6f 6e 6c 79 2c 20 41 20 66 6f 72  ixes only, A for
0540: 20 70 72 65 66 69 78 65 73 20 61 6e 64 20 73 75   prefixes and su
0550: 66 66 69 78 65 73 0a 73 74 65 6d 6d 69 6e 67 5f  ffixes.stemming_
0560: 6d 65 74 68 6f 64 20 3d 20 53 0a 0a 23 20 4c 69  method = S..# Li
0570: 62 72 65 4f 66 66 69 63 65 0a 75 6e 6f 70 6b 67  breOffice.unopkg
0580: 20 3d 20 43 3a 2f 50 72 6f 67 72 61 6d 20 46 69   = C:/Program Fi
0590: 6c 65 73 2f 4c 69 62 72 65 4f 66 66 69 63 65 2f  les/LibreOffice/
05a0: 70 72 6f 67 72 61 6d 2f 75 6e 6f 70 6b 67 2e 63  program/unopkg.c
05b0: 6f 6d 0a 6f 78 74 5f 76 65 72 73 69 6f 6e 20 3d  om.oxt_version =
05c0: 20 36 2e 34 2e 31 0a 6f 78 74 5f 69 64 65 6e 74   6.4.1.oxt_ident
05d0: 69 66 69 65 72 20 3d 20 46 72 65 6e 63 68 2e 6c  ifier = French.l
05e0: 69 6e 67 75 69 73 74 69 63 2e 72 65 73 6f 75 72  inguistic.resour
05f0: 63 65 73 2e 66 72 6f 6d 2e 44 69 63 6f 6c 6c 65  ces.from.Dicolle
0600: 63 74 65 2e 62 79 2e 4f 6c 69 76 69 65 72 52 0a  cte.by.OlivierR.
0610: 6f 78 74 5f 75 70 64 61 74 65 5f 69 6e 66 6f 5f  oxt_update_info_
0620: 55 52 4c 20 3d 20 68 74 74 70 73 3a 2f 2f 67 72  URL = https://gr
0630: 61 6d 6d 61 6c 65 63 74 65 2e 6e 65 74 2f 67 72  ammalecte.net/gr
0640: 61 6d 6d 61 6c 65 63 74 65 2f 6f 78 74 2f 67 72  ammalecte/oxt/gr
0650: 61 6d 6d 61 6c 65 63 74 65 2e 75 70 64 61 74 65  ammalecte.update
0660: 2e 78 6d 6c 0a 0a 23 20 46 69 72 65 66 6f 78 0a  .xml..# Firefox.
0670: 66 78 5f 69 64 65 6e 74 69 66 69 65 72 20 3d 20  fx_identifier = 
0680: 46 72 65 6e 63 68 2d 47 43 40 67 72 61 6d 6d 61  French-GC@gramma
0690: 6c 65 63 74 65 2e 6e 65 74 0a 66 78 5f 6e 61 6d  lecte.net.fx_nam
06a0: 65 20 3d 20 47 72 61 6d 6d 61 6c 65 63 74 65 20  e = Grammalecte 
06b0: 5b 66 72 5d 0a 0a 77 69 6e 5f 66 78 5f 64 65 76  [fr]..win_fx_dev
06c0: 5f 70 61 74 68 20 3d 20 43 3a 5c 50 72 6f 67 72  _path = C:\Progr
06d0: 61 6d 20 46 69 6c 65 73 5c 46 69 72 65 66 6f 78  am Files\Firefox
06e0: 20 44 65 76 65 6c 6f 70 65 72 20 45 64 69 74 69   Developer Editi
06f0: 6f 6e 5c 66 69 72 65 66 6f 78 2e 65 78 65 0a 77  on\firefox.exe.w
0700: 69 6e 5f 66 78 5f 6e 69 67 68 74 6c 79 5f 70 61  in_fx_nightly_pa
0710: 74 68 20 3d 20 43 3a 5c 50 72 6f 67 72 61 6d 20  th = C:\Program 
0720: 46 69 6c 65 73 5c 46 69 72 65 66 6f 78 20 4e 69  Files\Firefox Ni
0730: 67 68 74 6c 79 5c 66 69 72 65 66 6f 78 2e 65 78  ghtly\firefox.ex
0740: 65 0a 6c 69 6e 75 78 5f 66 78 5f 64 65 76 5f 70  e.linux_fx_dev_p
0750: 61 74 68 20 3d 20 2f 75 73 72 2f 62 69 6e 2f 66  ath = /usr/bin/f
0760: 69 72 65 66 6f 78 0a 6c 69 6e 75 78 5f 66 78 5f  irefox.linux_fx_
0770: 6e 69 67 68 74 6c 79 5f 70 61 74 68 20 3d 20 2f  nightly_path = /
0780: 75 73 72 2f 62 69 6e 2f 66 69 72 65 66 6f 78 0a  usr/bin/firefox.
0790: 0a 23 20 54 68 75 6e 64 65 72 62 69 72 64 0a 74  .# Thunderbird.t
07a0: 62 5f 69 64 65 6e 74 69 66 69 65 72 20 3d 20 46  b_identifier = F
07b0: 72 65 6e 63 68 2d 47 43 2d 54 42 40 67 72 61 6d  rench-GC-TB@gram
07c0: 6d 61 6c 65 63 74 65 2e 6e 65 74 0a 74 62 5f 6e  malecte.net.tb_n
07d0: 61 6d 65 20 3d 20 47 72 61 6d 6d 61 6c 65 63 74  ame = Grammalect
07e0: 65 20 5b 66 72 5d 0a 77 69 6e 5f 74 62 5f 70 61  e [fr].win_tb_pa
07f0: 74 68 20 3d 20 43 3a 5c 50 72 6f 67 72 61 6d 20  th = C:\Program 
0800: 46 69 6c 65 73 20 28 78 38 36 29 5c 4d 6f 7a 69  Files (x86)\Mozi
0810: 6c 6c 61 20 54 68 75 6e 64 65 72 62 69 72 64 5c  lla Thunderbird\
0820: 74 68 75 6e 64 65 72 62 69 72 64 2e 65 78 65 0a  thunderbird.exe.
0830: 23 77 69 6e 5f 74 62 5f 62 65 74 61 5f 70 61 74  #win_tb_beta_pat
0840: 68 20 3d 20 43 3a 5c 50 72 6f 67 72 61 6d 20 46  h = C:\Program F
0850: 69 6c 65 73 20 28 78 38 36 29 5c 4d 6f 7a 69 6c  iles (x86)\Mozil
0860: 6c 61 20 54 68 75 6e 64 65 72 62 69 72 64 20 28  la Thunderbird (
0870: 42 65 74 61 29 5c 74 68 75 6e 64 65 72 62 69 72  Beta)\thunderbir
0880: 64 2e 65 78 65 0a 77 69 6e 5f 74 62 5f 62 65 74  d.exe.win_tb_bet
0890: 61 5f 70 61 74 68 20 3d 20 43 3a 5c 50 72 6f 67  a_path = C:\Prog
08a0: 72 61 6d 20 46 69 6c 65 73 20 28 78 38 36 29 5c  ram Files (x86)\
08b0: 4d 6f 7a 69 6c 6c 61 20 54 68 75 6e 64 65 72 62  Mozilla Thunderb
08c0: 69 72 64 20 28 42 65 74 61 29 5c 74 68 75 6e 64  ird (Beta)\thund
08d0: 65 72 62 69 72 64 2e 65 78 65 0a 6c 69 6e 75 78  erbird.exe.linux
08e0: 5f 74 62 5f 70 61 74 68 20 3d 20 2f 75 73 72 2f  _tb_path = /usr/
08f0: 62 69 6e 2f 74 68 75 6e 64 65 72 62 69 72 64 0a  bin/thunderbird.
0900: 6c 69 6e 75 78 5f 74 62 5f 62 65 74 61 5f 70 61  linux_tb_beta_pa
0910: 74 68 20 3d 20 2f 75 73 72 2f 62 69 6e 2f 74 68  th = /usr/bin/th
0920: 75 6e 64 65 72 62 69 72 64 0a 77 69 6e 5f 74 62  underbird.win_tb
0930: 5f 64 65 62 75 67 5f 65 78 74 65 6e 73 69 6f 6e  _debug_extension
0940: 5f 70 61 74 68 20 3d 20 44 3a 5c 5f 74 65 6d 70  _path = D:\_temp
0950: 5c 74 62 2d 64 65 62 75 67 2e 70 72 6f 66 69 6c  \tb-debug.profil
0960: 65 5c 65 78 74 65 6e 73 69 6f 6e 73 5c 46 72 65  e\extensions\Fre
0970: 6e 63 68 2d 47 43 2d 54 42 40 67 72 61 6d 6d 61  nch-GC-TB@gramma
0980: 6c 65 63 74 65 2e 6e 65 74 0a 6c 69 6e 75 78 5f  lecte.net.linux_
0990: 74 62 5f 64 65 62 75 67 5f 65 78 74 65 6e 73 69  tb_debug_extensi
09a0: 6f 6e 5f 70 61 74 68 20 3d 20 7e 2f 74 62 2d 64  on_path = ~/tb-d
09b0: 65 62 75 67 2e 70 72 6f 66 69 6c 65 2f 65 78 74  ebug.profile/ext
09c0: 65 6e 73 69 6f 6e 73 2f 46 72 65 6e 63 68 2d 47  ensions/French-G
09d0: 43 2d 54 42 40 67 72 61 6d 6d 61 6c 65 63 74 65  C-TB@grammalecte
09e0: 2e 6e 65 74 0a 77 69 6e 5f 74 62 5f 62 65 74 61  .net.win_tb_beta
09f0: 5f 65 78 74 65 6e 73 69 6f 6e 5f 66 69 6c 65 70  _extension_filep
0a00: 61 74 68 20 3d 20 44 3a 5c 5f 74 65 6d 70 5c 74  ath = D:\_temp\t
0a10: 62 2d 62 65 74 61 2e 70 72 6f 66 69 6c 65 5c 65  b-beta.profile\e
0a20: 78 74 65 6e 73 69 6f 6e 73 5c 46 72 65 6e 63 68  xtensions\French
0a30: 2d 47 43 2d 54 42 40 67 72 61 6d 6d 61 6c 65 63  -GC-TB@grammalec
0a40: 74 65 2e 6e 65 74 2e 78 70 69 0a 6c 69 6e 75 78  te.net.xpi.linux
0a50: 5f 74 62 5f 62 65 74 61 5f 65 78 74 65 6e 73 69  _tb_beta_extensi
0a60: 6f 6e 5f 66 69 6c 65 70 61 74 68 20 3d 20 7e 2f  on_filepath = ~/
0a70: 74 62 2d 62 65 74 61 2e 70 72 6f 66 69 6c 65 2f  tb-beta.profile/
0a80: 65 78 74 65 6e 73 69 6f 6e 73 2f 46 72 65 6e 63  extensions/Frenc
0a90: 68 2d 47 43 2d 54 42 40 67 72 61 6d 6d 61 6c 65  h-GC-TB@grammale
0aa0: 63 74 65 2e 6e 65 74 2e 78 70 69 0a 23 20 53 65  cte.net.xpi.# Se
0ab0: 74 20 54 68 75 6e 64 65 72 62 69 72 64 20 66 6f  t Thunderbird fo
0ac0: 6c 64 65 72 20 69 6e 20 79 6f 75 72 20 50 41 54  lder in your PAT
0ad0: 48 20 76 61 72 69 61 62 6c 65 0a 23 20 43 72 65  H variable.# Cre
0ae0: 61 74 65 20 61 20 6c 6f 63 61 6c 20 70 72 6f 66  ate a local prof
0af0: 69 6c 65 3a 0a 23 20 20 20 20 20 09 74 68 75 6e  ile:.#     .thun
0b00: 64 65 72 62 69 72 64 20 2d 43 72 65 61 74 65 50  derbird -CreateP
0b10: 72 6f 66 69 6c 65 20 22 64 65 62 75 67 20 5f 62  rofile "debug _b
0b20: 75 69 6c 64 5c 74 62 2d 64 65 62 75 67 2e 70 72  uild\tb-debug.pr
0b30: 6f 66 69 6c 65 22 0a 23 20 4f 72 20 79 6f 75 20  ofile".# Or you 
0b40: 63 61 6e 20 75 73 65 20 74 68 65 20 47 55 49 20  can use the GUI 
0b50: 77 69 74 68 3a 0a 23 09 20 09 74 68 75 6e 64 65  with:.#. .thunde
0b60: 72 62 69 72 64 20 2d 50 0a 23 20 54 6f 20 6c 61  rbird -P.# To la
0b70: 75 6e 63 68 20 54 68 75 6e 64 65 72 62 69 72 64  unch Thunderbird
0b80: 20 77 69 74 68 20 74 68 65 20 70 72 6f 66 69 6c   with the profil
0b90: 65 20 64 65 62 75 67 2c 20 74 79 70 65 3a 0a 23  e debug, type:.#
0ba0: 20 20 20 20 20 09 74 68 75 6e 64 65 72 62 69 72       .thunderbir
0bb0: 64 20 2d 50 20 64 65 62 75 67 0a 23 20 54 68 65  d -P debug.# The
0bc0: 6e 2c 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 65  n, install the e
0bd0: 78 74 65 6e 73 69 6f 6e 20 28 2e 78 70 69 29 20  xtension (.xpi) 
0be0: 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 2e 0a  the first time..
0bf0: 23 20 54 68 65 6e 2c 20 79 6f 75 20 63 61 6e 20  # Then, you can 
0c00: 62 75 69 6c 64 20 47 72 61 6d 6d 61 6c 65 63 74  build Grammalect
0c10: 65 20 61 6e 64 20 6c 61 75 6e 63 68 20 54 68 75  e and launch Thu
0c20: 6e 64 65 72 62 69 72 64 20 61 75 74 6f 6d 61 74  nderbird automat
0c30: 69 63 61 6c 6c 79 20 77 69 74 68 20 60 6d 61 6b  ically with `mak
0c40: 65 2e 70 79 20 5b 6c 61 6e 67 5d 20 2d 6a 73 20  e.py [lang] -js 
0c50: 2d 74 62 60 0a 0a 0a 5b 6f 78 74 5d 0a 23 20 74  -tb`...[oxt].# t
0c60: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 69 6c  he following fil
0c70: 65 73 20 6d 75 73 74 20 62 65 20 69 6e 20 79 6f  es must be in yo
0c80: 75 72 20 70 72 6f 6a 65 63 74 20 66 6f 6c 64 65  ur project folde
0c90: 72 2c 20 66 69 6c 65 73 20 77 69 6c 6c 20 62 65  r, files will be
0ca0: 20 63 6f 70 69 65 64 20 69 6e 74 6f 20 74 68 65   copied into the
0cb0: 20 7a 69 70 20 61 72 63 68 69 76 65 0a 72 75 6c   zip archive.rul
0cc0: 65 73 2e 67 72 78 20 3d 20 66 72 2d 72 75 6c 65  es.grx = fr-rule
0cd0: 73 2e 74 78 74 0a 6f 78 74 2f 61 64 64 6f 6e 73  s.txt.oxt/addons
0ce0: 2e 78 63 75 20 3d 20 61 64 64 6f 6e 73 2e 78 63  .xcu = addons.xc
0cf0: 75 0a 6f 78 74 2f 70 61 63 6b 61 67 65 2d 64 65  u.oxt/package-de
0d00: 73 63 72 69 70 74 69 6f 6e 2e 74 78 74 20 3d 20  scription.txt = 
0d10: 70 61 63 6b 61 67 65 2d 64 65 73 63 72 69 70 74  package-descript
0d20: 69 6f 6e 2e 74 78 74 0a 23 20 69 6d 61 67 65 73  ion.txt.# images
0d30: 0a 6f 78 74 2f 5f 69 6d 67 2f 6c 6f 67 6f 31 30  .oxt/_img/logo10
0d40: 30 2e 70 6e 67 20 3d 20 69 6d 67 2f 6c 6f 67 6f  0.png = img/logo
0d50: 31 30 30 2e 70 6e 67 0a 6f 78 74 2f 5f 69 6d 67  100.png.oxt/_img
0d60: 2f 6c 6f 67 6f 31 32 30 5f 74 65 78 74 2e 70 6e  /logo120_text.pn
0d70: 67 20 3d 20 69 6d 67 2f 6c 6f 67 6f 31 32 30 5f  g = img/logo120_
0d80: 74 65 78 74 2e 70 6e 67 0a 6f 78 74 2f 5f 69 6d  text.png.oxt/_im
0d90: 67 2f 4c 61 4d 6f 75 65 74 74 65 5f 73 6d 61 6c  g/LaMouette_smal
0da0: 6c 2e 70 6e 67 20 3d 20 69 6d 67 2f 4c 61 4d 6f  l.png = img/LaMo
0db0: 75 65 74 74 65 5f 73 6d 61 6c 6c 2e 70 6e 67 0a  uette_small.png.
0dc0: 6f 78 74 2f 5f 69 6d 67 2f 41 6c 67 6f 6f 5f 6c  oxt/_img/Algoo_l
0dd0: 6f 67 6f 2e 70 6e 67 20 3d 20 69 6d 67 2f 41 6c  ogo.png = img/Al
0de0: 67 6f 6f 5f 6c 6f 67 6f 2e 70 6e 67 0a 6f 78 74  goo_logo.png.oxt
0df0: 2f 5f 69 6d 67 2f 67 72 61 6d 6d 61 6c 65 63 74  /_img/grammalect
0e00: 65 5f 31 36 2e 62 6d 70 20 3d 20 69 6d 67 2f 67  e_16.bmp = img/g
0e10: 72 61 6d 6d 61 6c 65 63 74 65 5f 31 36 2e 62 6d  rammalecte_16.bm
0e20: 70 0a 6f 78 74 2f 5f 69 6d 67 2f 66 72 65 6e 63  p.oxt/_img/frenc
0e30: 68 5f 66 6c 61 67 5f 31 36 2e 62 6d 70 20 3d 20  h_flag_16.bmp = 
0e40: 69 6d 67 2f 66 72 65 6e 63 68 5f 66 6c 61 67 5f  img/french_flag_
0e50: 31 36 2e 62 6d 70 0a 23 20 41 70 70 4c 61 75 6e  16.bmp.# AppLaun
0e60: 63 68 65 72 0a 6f 78 74 2f 41 70 70 4c 61 75 6e  cher.oxt/AppLaun
0e70: 63 68 65 72 2e 70 79 20 3d 20 41 70 70 4c 61 75  cher.py = AppLau
0e80: 6e 63 68 65 72 2e 70 79 0a 23 20 47 72 61 70 68  ncher.py.# Graph
0e90: 73 70 65 6c 6c 0a 6f 78 74 2f 47 72 61 70 68 73  spell.oxt/Graphs
0ea0: 70 65 6c 6c 2e 70 79 20 3d 20 47 72 61 70 68 73  pell.py = Graphs
0eb0: 70 65 6c 6c 2e 70 79 0a 23 20 41 62 6f 75 74 0a  pell.py.# About.
0ec0: 6f 78 74 2f 41 62 6f 75 74 2f 41 62 6f 75 74 2e  oxt/About/About.
0ed0: 70 79 20 3d 20 70 79 74 68 6f 6e 70 61 74 68 2f  py = pythonpath/
0ee0: 41 62 6f 75 74 2e 70 79 0a 6f 78 74 2f 41 62 6f  About.py.oxt/Abo
0ef0: 75 74 2f 61 62 5f 73 74 72 69 6e 67 73 2e 70 79  ut/ab_strings.py
0f00: 20 3d 20 70 79 74 68 6f 6e 70 61 74 68 2f 61 62   = pythonpath/ab
0f10: 5f 73 74 72 69 6e 67 73 2e 70 79 0a 23 20 44 69  _strings.py.# Di
0f20: 63 74 69 6f 6e 61 72 69 65 73 0a 6f 78 74 2f 44  ctionaries.oxt/D
0f30: 69 63 74 69 6f 6e 6e 61 69 72 65 73 2f 64 69 63  ictionnaires/dic
0f40: 74 69 6f 6e 61 72 69 65 73 20 3d 20 64 69 63 74  tionaries = dict
0f50: 69 6f 6e 61 72 69 65 73 0a 6f 78 74 2f 44 69 63  ionaries.oxt/Dic
0f60: 74 69 6f 6e 6e 61 69 72 65 73 2f 64 69 63 74 69  tionnaires/dicti
0f70: 6f 6e 61 72 69 65 73 2e 78 63 75 20 3d 20 64 69  onaries.xcu = di
0f80: 63 74 69 6f 6e 61 72 69 65 73 2e 78 63 75 0a 23  ctionaries.xcu.#
0f90: 20 44 69 63 74 69 6f 6e 61 72 79 20 4f 70 74 69   Dictionary Opti
0fa0: 6f 6e 73 0a 6f 78 74 2f 44 69 63 74 4f 70 74 69  ons.oxt/DictOpti
0fb0: 6f 6e 73 2f 44 69 63 74 4f 70 74 69 6f 6e 73 2e  ons/DictOptions.
0fc0: 70 79 20 3d 20 70 79 74 68 6f 6e 70 61 74 68 2f  py = pythonpath/
0fd0: 44 69 63 74 4f 70 74 69 6f 6e 73 2e 70 79 0a 6f  DictOptions.py.o
0fe0: 78 74 2f 44 69 63 74 4f 70 74 69 6f 6e 73 2f 64  xt/DictOptions/d
0ff0: 6f 5f 73 74 72 69 6e 67 73 2e 70 79 20 3d 20 70  o_strings.py = p
1000: 79 74 68 6f 6e 70 61 74 68 2f 64 6f 5f 73 74 72  ythonpath/do_str
1010: 69 6e 67 73 2e 70 79 0a 6f 78 74 2f 44 69 63 74  ings.py.oxt/Dict
1020: 4f 70 74 69 6f 6e 73 2f 4c 65 78 69 63 6f 6e 45  Options/LexiconE
1030: 64 69 74 6f 72 2e 70 79 20 3d 20 70 79 74 68 6f  ditor.py = pytho
1040: 6e 70 61 74 68 2f 4c 65 78 69 63 6f 6e 45 64 69  npath/LexiconEdi
1050: 74 6f 72 2e 70 79 0a 6f 78 74 2f 44 69 63 74 4f  tor.py.oxt/DictO
1060: 70 74 69 6f 6e 73 2f 6c 78 65 5f 73 74 72 69 6e  ptions/lxe_strin
1070: 67 73 2e 70 79 20 3d 20 70 79 74 68 6f 6e 70 61  gs.py = pythonpa
1080: 74 68 2f 6c 78 65 5f 73 74 72 69 6e 67 73 2e 70  th/lxe_strings.p
1090: 79 0a 6f 78 74 2f 44 69 63 74 4f 70 74 69 6f 6e  y.oxt/DictOption
10a0: 73 2f 53 65 61 72 63 68 57 6f 72 64 73 2e 70 79  s/SearchWords.py
10b0: 20 3d 20 70 79 74 68 6f 6e 70 61 74 68 2f 53 65   = pythonpath/Se
10c0: 61 72 63 68 57 6f 72 64 73 2e 70 79 0a 6f 78 74  archWords.py.oxt
10d0: 2f 44 69 63 74 4f 70 74 69 6f 6e 73 2f 73 77 5f  /DictOptions/sw_
10e0: 73 74 72 69 6e 67 73 2e 70 79 20 3d 20 70 79 74  strings.py = pyt
10f0: 68 6f 6e 70 61 74 68 2f 73 77 5f 73 74 72 69 6e  honpath/sw_strin
1100: 67 73 2e 70 79 0a 6f 78 74 2f 44 69 63 74 4f 70  gs.py.oxt/DictOp
1110: 74 69 6f 6e 73 2f 54 61 67 73 49 6e 66 6f 2e 70  tions/TagsInfo.p
1120: 79 20 3d 20 70 79 74 68 6f 6e 70 61 74 68 2f 54  y = pythonpath/T
1130: 61 67 73 49 6e 66 6f 2e 70 79 0a 6f 78 74 2f 44  agsInfo.py.oxt/D
1140: 69 63 74 4f 70 74 69 6f 6e 73 2f 74 69 5f 73 74  ictOptions/ti_st
1150: 72 69 6e 67 73 2e 70 79 20 3d 20 70 79 74 68 6f  rings.py = pytho
1160: 6e 70 61 74 68 2f 74 69 5f 73 74 72 69 6e 67 73  npath/ti_strings
1170: 2e 70 79 0a 23 20 43 6f 6e 74 65 78 74 4d 65 6e  .py.# ContextMen
1180: 75 0a 6f 78 74 2f 43 6f 6e 74 65 78 74 4d 65 6e  u.oxt/ContextMen
1190: 75 2f 43 6f 6e 74 65 78 74 4d 65 6e 75 2e 70 79  u/ContextMenu.py
11a0: 20 3d 20 43 6f 6e 74 65 78 74 4d 65 6e 75 2e 70   = ContextMenu.p
11b0: 79 0a 6f 78 74 2f 43 6f 6e 74 65 78 74 4d 65 6e  y.oxt/ContextMen
11c0: 75 2f 6a 6f 62 73 2e 78 63 75 20 3d 20 63 6f 6e  u/jobs.xcu = con
11d0: 66 69 67 2f 6a 6f 62 73 2e 78 63 75 0a 23 20 54  fig/jobs.xcu.# T
11e0: 65 78 74 46 6f 72 6d 61 74 74 65 72 0a 6f 78 74  extFormatter.oxt
11f0: 2f 54 65 78 74 46 6f 72 6d 61 74 74 65 72 2f 54  /TextFormatter/T
1200: 65 78 74 46 6f 72 6d 61 74 74 65 72 2e 70 79 20  extFormatter.py 
1210: 3d 20 70 79 74 68 6f 6e 70 61 74 68 2f 54 65 78  = pythonpath/Tex
1220: 74 46 6f 72 6d 61 74 74 65 72 2e 70 79 0a 6f 78  tFormatter.py.ox
1230: 74 2f 54 65 78 74 46 6f 72 6d 61 74 74 65 72 2f  t/TextFormatter/
1240: 74 66 5f 73 74 72 69 6e 67 73 2e 70 79 20 3d 20  tf_strings.py = 
1250: 70 79 74 68 6f 6e 70 61 74 68 2f 74 66 5f 73 74  pythonpath/tf_st
1260: 72 69 6e 67 73 2e 70 79 0a 6f 78 74 2f 54 65 78  rings.py.oxt/Tex
1270: 74 46 6f 72 6d 61 74 74 65 72 2f 74 66 5f 6f 70  tFormatter/tf_op
1280: 74 69 6f 6e 73 2e 70 79 20 3d 20 70 79 74 68 6f  tions.py = pytho
1290: 6e 70 61 74 68 2f 74 66 5f 6f 70 74 69 6f 6e 73  npath/tf_options
12a0: 2e 70 79 0a 6f 78 74 2f 54 65 78 74 46 6f 72 6d  .py.oxt/TextForm
12b0: 61 74 74 65 72 2f 74 66 5f 74 61 62 72 65 70 2e  atter/tf_tabrep.
12c0: 70 79 20 3d 20 70 79 74 68 6f 6e 70 61 74 68 2f  py = pythonpath/
12d0: 74 66 5f 74 61 62 72 65 70 2e 70 79 0a 23 20 4c  tf_tabrep.py.# L
12e0: 65 78 69 63 6f 67 72 61 70 68 65 72 0a 6f 78 74  exicographer.oxt
12f0: 2f 4c 65 78 69 63 6f 67 72 61 70 68 65 72 2f 45  /Lexicographer/E
1300: 6e 75 6d 65 72 61 74 6f 72 2e 70 79 20 3d 20 70  numerator.py = p
1310: 79 74 68 6f 6e 70 61 74 68 2f 45 6e 75 6d 65 72  ythonpath/Enumer
1320: 61 74 6f 72 2e 70 79 0a 6f 78 74 2f 4c 65 78 69  ator.py.oxt/Lexi
1330: 63 6f 67 72 61 70 68 65 72 2f 65 6e 75 6d 5f 73  cographer/enum_s
1340: 74 72 69 6e 67 73 2e 70 79 20 3d 20 70 79 74 68  trings.py = pyth
1350: 6f 6e 70 61 74 68 2f 65 6e 75 6d 5f 73 74 72 69  onpath/enum_stri
1360: 6e 67 73 2e 70 79 0a 23 20 43 6f 6e 6a 75 67 75  ngs.py.# Conjugu
1370: 65 75 72 0a 6f 78 74 2f 43 6f 6e 6a 75 67 75 65  eur.oxt/Conjugue
1380: 75 72 2f 43 6f 6e 6a 75 67 75 65 75 72 2e 70 79  ur/Conjugueur.py
1390: 20 3d 20 70 79 74 68 6f 6e 70 61 74 68 2f 43 6f   = pythonpath/Co
13a0: 6e 6a 75 67 75 65 75 72 2e 70 79 0a 23 20 4d 6f  njugueur.py.# Mo
13b0: 64 69 66 79 20 61 75 74 68 6f 72 0a 6f 78 74 2f  dify author.oxt/
13c0: 43 68 61 6e 67 65 41 75 74 68 6f 72 2f 41 75 74  ChangeAuthor/Aut
13d0: 68 6f 72 2e 70 79 20 3d 20 70 79 74 68 6f 6e 70  hor.py = pythonp
13e0: 61 74 68 2f 41 75 74 68 6f 72 2e 70 79 0a 6f 78  ath/Author.py.ox
13f0: 74 2f 43 68 61 6e 67 65 41 75 74 68 6f 72 2f 63  t/ChangeAuthor/c
1400: 61 5f 73 74 72 69 6e 67 73 2e 70 79 20 3d 20 70  a_strings.py = p
1410: 79 74 68 6f 6e 70 61 74 68 2f 63 61 5f 73 74 72  ythonpath/ca_str
1420: 69 6e 67 73 2e 70 79 0a                          ings.py.