Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
  • Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
  • Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
  • Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
function mes_typos() {
  $.typo.add(function(str) {
// PONCTUATION
    str = str.replace(/( <+ )/g, " « ");
    str = str.replace(/( >+ )/g, " » ");
    str = str.replace(/(« ){2,}/g, "« ");
    str = str.replace(/( »){2,}/g, " »");
    str = str.replace(/([\-¬](| )\n)/g, "");
    str = str.replace(/(\n+«\n+)/g, " « ");
    str = str.replace(/(\n+»\n+)/g, " » ");
    str = str.replace(/(» \.)/g, "»\.");
    str = str.replace(/(’ «)/g, "’{{lié}}«");
    str = str.replace(/( \n)/g, "\n");
    str = str.replace(/(\( )/g, "\(");
    str = str.replace(/( \))/g, "\)");
    str = str.replace(/(`)/g, "’");
    str = str.replace(/(\_\s*)/g, "");
    str = str.replace(/(?<=\.|,|\!|\?)-/g, " — ");
    str = str.replace(/(–)/g, "—");
    str = str.replace(/(——+)/g, "—");
    str = str.replace(/(\n+—\n+)/g, " — ");
    str = str.replace(/(’’)/g, "’");
    str = str.replace(/( +|\t+)/g, " ");
    str = str.replace(/(\n\w\n)/g, "\n");
    str = str.replace(/\n([A-ZÀ-ÜŒ]{2,})(.+?)\n/g, "\n\n$1$2\n\n");
    str = str.replace(/( <ref)/g, "<ref"); // pas d'espaces avant les appels de notes
    str = str.replace(/( <\/ref)/g, "<\/ref");
// SUPPRESSION DES SAUTS DE LIGNES
    str = str.replace(/\n[“”®\*‘’\-|\/Ÿ\.\!\?,\%@ ]+/g, "\n"); // suppression caractères parasites en début de ligne
    str = str.replace(/( \n)/g, "\n");
    str = str.replace(/([^\n])\n/g, "$1 ");
    str = str.replace(/( \n)([^\n])/g, "\n\n$2");
// SUPPRESSION DES LIGATURES
    str = str.replace(/(\u2028)/g, "");
    str = str.replace(/(fi)/g, "fi");
    str = str.replace(/(fl)/g, "fl");
    str = str.replace(/(ff)/g, "ff");
    str = str.replace(/(ſt)/g, "ft");
    str = str.replace(/(st)/g, "st");
    str = str.replace(/ (a priori|a posteriori|a fortiori)(?!')/g, " ''$1''"); // italiques autour des expressions latines
// AJOUT AUTOMATIQUE DES ESPACES INSÉCABLES
    str = str.replace(/( —,)/g, "{{lié}}—,");
    str = str.replace(/( —\.)/g, "{{lié}}—.");
    str = str.replace(/( etc\.)/g, "{{lié}}etc\.");
    str = str.replace(/(, etc\.)/g, ",{{lié}}etc\.");
    str = str.replace(/(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre|printemps|été|automne|hiver|an|année)\s(?=[0-9]+)/g, "$1{{lié}}");
    str = str.replace(/(?<=[0-9]+|\{\{1er\}\}|er)\s(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/g, "{{lié}}$1");
    str = str.replace(/§ ([0-9]*)/g, "{{§|$1}}");
// AJOUT AUTOMATIQUE DES EXPOSANTS
    str = str.replace(/(1[°“®º] )/g, "{{1o}}{{lié}}");
    str = str.replace(/(2[°“®º] )/g, "{{2o}}{{lié}}");
    str = str.replace(/(3[°“®º] )/g, "{{3o}}{{lié}}");
    str = str.replace(/(4[°“®º] )/g, "{{4o}}{{lié}}");
    str = str.replace(/(5[°“®º] )/g, "{{5o}}{{lié}}");
    str = str.replace(/(6[°“®º] )/g, "{{6o}}{{lié}}");
    str = str.replace(/(7[°“®º] )/g, "{{7o}}{{lié}}");
    str = str.replace(/(8[°“®º] )/g, "{{8o}}{{lié}}");
    str = str.replace(/(9[°“®º] )/g, "{{9o}}{{lié}}");
    str = str.replace(/n[°“®º] ([0-9]*)/g, "{{n°|$1}}");
    str = str.replace(/( 1er)/g, "{{lié}}{{1er}}");
    str = str.replace(/([0-9])e /g, "{{$1e}} ");
// DÉVELOPPEMENT AUTOMATIQUE DES ABRÉVIATIONS
    str = str.replace(/( éd\.)/g, " {{éd.}}");
    str = str.replace(/( édit\.)/g, " {{édit.}}");
    str = str.replace(/(Ep\.) /g, " ''{{abr|$1|épître}}''{{lié}}");
    str = str.replace(/( trad\.)/g, " {{trad.}}");
    str = str.replace(/(ibid\.)/g, "{{ibid.}}");
    str = str.replace(/(Ibid\.)/g, "{{Ibid.|cap}}");
    str = str.replace(/( id\.)/g, " {{id.}}");
    str = str.replace(/( Id\.)/g, " {{Id.|cap}}");
    str = str.replace(/(loc\. cit\.)/g, "{{loc. cit.}}");
    str = str.replace(/(Loc\. cit\.)/g, "{{Loc. cit.|cap}}");
    str = str.replace(/([l\/]\. c\.*)/g, "{{loc. cit.|abr}}");
    str = str.replace(/(op\. cit\.)/g, "{{op. cit.}}");
    str = str.replace(/(Op\. cit\.)/g, "{{Op. cit.|cap}}");
    str = str.replace(/Or\.,/g, "''{{lang|la|{{abr|Or.|Orationes}}}}'',");
    str = str.replace(/ art\. ([^ \.,…\|\}\)]*)/g, " {{art.|$1}}");
    str = str.replace(/ ch\. ([^ \.,…\|\}\)]*)/g, " {{ch.|$1}}");
    str = str.replace(/ chap\. ([^ \.,…\|\}\)]*)/g, " {{chap.|$1}}");
    str = str.replace(/ col\. ([^ \.,…\|\}\)]*)/g, " {{col.|$1}}");
    str = str.replace(/ fig\. ([^ \.,…\|\}\)]*)/g, " {{fig.|$1}}");
    str = str.replace(/ l\. ([0-9]+)/g, " {{l.|$1}}");
    str = str.replace(/ n\. ([^ \.,…\|\}\)]*)/g, " {{n.|$1}}");
    str = str.replace(/(?<=\s|\()p\. ([^ \.,…\|\}\)]*)/g, "{{pg|$1}}");
    str = str.replace(/(?<=\s|\()P\. ([0-9]+)/g, "{{pg|$1|cap}}");
    str = str.replace(/ pp\. ([^ \.,…\|\}\)]*)/g, " {{ppg|$1}}");
    str = str.replace(/ pl\. ([^ \.,…\|\}\)]*)/g, " {{pl.|$1}}");
    str = str.replace(/ t\. ([^ \.,…\|\}\)]*)/g, " {{t.|{{rom-maj|$1}}}}");
    str = str.replace(/ t\.\{\{lié\}\}([^ \.,…\|\}\)]*)/g, " {{t.|$1}}");
    str = str.replace(/([Tt]ome) (?=[IVXLCDM])/g, "$1{{lié}}");
    str = str.replace(/ v\. ([0-9]+)/g, " {{v.|$1}}");
    str = str.replace(/ vol\. ([^ \.,…\|\}\)]*)/g, " {{vol.|{{rom-maj|$1}}}}");
    str = str.replace(/ cap\. ([^ \.,…\|\}\)]*)/g, " {{abr|cap.|capitulum}}{{lié}}$1");
    str = str.replace(/ lib\. ([^ \.,…\|\}\)]*)/g, " {{abr|lib.|liber}}{{lié}}$1");
    str = str.replace(/((?<=[0-9]|[0-9]\}\}) s\.)/g, "{{lié}}{{abr|s.|et suivantes}}");
    str = str.replace(/( sq\.)/g, " {{sq.}}");
    str = str.replace(/( sqq\.)/g, " {{sqq.}}");
    str = str.replace(/( et suiv\.)/g, " {{et suiv.}}");
    str = str.replace(/([0-9abcde] suiv\.)/g, "{{suiv.}}");
    str = str.replace(/(?<=\s)(v\.|[Vv]oy\.)/g, "{{abr|$1|voyez}}");
    str = str.replace(/av. J.-C./g, "{{av. J.-C.}}");
    str = str.replace(/apr. J.-C./g, "{{apr. J.-C.}}");
    str = str.replace(/ J.-C.(?!\}\})/g, "{{lié}}{{J.-C.}}");
// AJOUT AUTOMATIQUE DES MODÈLES DE TITRE DE CIVILITÉ
    str = str.replace(/(D<sup>r<\/sup>)+/g, "{{Dr}}");
    str = str.replace(/Dr /g, "{{Dr}} ");
    str = str.replace(/(M<sup>r<\/sup>)+/g, "{{Mr}}");
    str = str.replace(/(M<sup><small>r<\/small><\/sup>)+/g, "{{Mr}}");
    str = str.replace(/Mr /g, "{{Mr}} ");
    str = str.replace(/(M<sup>me<\/sup>)+/g, "{{Mme}}");
    str = str.replace(/(M<sup><small>me<\/small><\/sup>)+/g, "{{Mme}}");
    str = str.replace(/Mme /g, "{{Mme}} ");
    str = str.replace(/(M<sup>lle<\/sup>)+/g, "{{Mlle}}");
    str = str.replace(/(M<sup><small>lle<\/small><\/sup>)+/g, "{{Mlle}}");
    str = str.replace(/(M<sup>elle<\/sup>)+/g, "{{Mlle}}");
    str = str.replace(/(M<sup><small>elle<\/small><\/sup>)+/g, "{{Mlle}}");
    str = str.replace(/ M\. de ([^ \.,…\|\}]*)/g, " {{M\.\|{{lié\|de $1}}}}");
    str = str.replace(/ M\. des ([^ \.,…\|\}]*)/g, " {{M\.\|{{lié\|des $1}}}}");
    str = str.replace(/ M\. du ([^ \.,…\|\}]*)/g, " {{M\.\|{{lié\|du $1}}}}");
    str = str.replace(/ M\. La ([^ \.,…\|\}]*)/g, " {{M\.\|{{lié\|La $1}}}}");
    str = str.replace(/ M\. Le ([^ \.,…\|\}]*)/g, " {{M\.\|{{lié\|Le $1}}}}");
    str = str.replace(/(?<=\s)M\. /g, "{{M\.}} ");
    str = str.replace(/(MM\. )/g, "{{MM\.}} ");
    str = str.replace(/Mlle /g, "{{Mlle}} ");
    str = str.replace(/Mgr /g, "{{Mgr}} ");
    str = str.replace(/ P\. /g, " {{P.}} ");
    str = str.replace(/\{\{Dr\}\} ([^ \.,…\|\}]*)/g, "{{Dr\|$1}}");
    str = str.replace(/\{\{Mme\}\} ([^ \.,…\|\}]*)/g, "{{Mme\|$1}}");
    str = str.replace(/\{\{Mlle\}\} ([^ \.,…\|\}]*)/g, "{{Mlle\|$1}}");
    str = str.replace(/\{\{Mgr\}\} ([^ \.,…\|\}]*)/g, "{{Mgr\|$1}}");
    str = str.replace(/\{\{M\.\}\} ([^ \.,…\|\}<]*)/g, "{{M\.\|$1}}");
    str = str.replace(/\{\{MM\.\}\} ([^ \.,…\|\}]*)/g, "{{MM\.\|$1}}");
    str = str.replace(/\{\{M\.\}\}\{\{lié\}\}([^ \.,…\|\}]*)/g, "{{M\.\|$1}}");
    str = str.replace(/\{\{P\.\}\} ([^ \.,…\|\}]*)/g, "{{P\.\|$1}}");
    str = str.replace(/([A-ZÀ-Ü]\.\-[A-ZÀ-Ü]\.)\s+([A-ZÀ-ÜŒ])/g, "{{nobr|$1}}{{lié}}$2");
// ACCENTS
    str = str.replace(/(e’)/g, "é");
    str = str.replace(/([éè]ê)/g, "ê");
    str = str.replace(/ê([éè])/g, "ê");
    str = str.replace(/(ä)/g, "â");
    str = str.replace(/( â )/g, " à ");
    str = str.replace(/( Â )/g, " À ");
    str = str.replace(/( [àâ] [éêèe]t[éêèe] )/g, " a été ");
    str = str.replace(/( [àâ] eu(?=s|\s|,|\.))/g, " a eu");
    str = str.replace(/([^t] [àâ] fait)/g, " a fait");
    str = str.replace(/( [àâ] pu )/g, " a pu ");
    str = str.replace(/( [àâ] su )/g, " a su ");
    str = str.replace(/( [àâ] vu)/g, " a vu");
    str = str.replace(/(à là)/g, "à la");
    str = str.replace(/(àme)/g, "âme");
    str = str.replace(/(?<= on| On|’on|qui|Qui) à/g, " a");
    str = str.replace(/(a la fois)/g, "à la fois");
    str = str.replace(/( àme )/g, " âme ");
    str = str.replace(/( CHEUR)/g, " CHŒUR");
    str = str.replace(/( dés qu)/g, " dès qu");
    str = str.replace(/( [éôè]t[lr]e )/g, " être ");
    str = str.replace(/( étes )/g, " êtes ");
    str = str.replace(/(vous ôtes)/g, "vous êtes");
    str = str.replace(/(ôtes-vous)/g, "êtes-vous");
    str = str.replace(/( f[éèô]te)/g, " fête");
    str = str.replace(/(fït)/g, "fît");
    str = str.replace(/(foret)/g, "forêt");
    str = str.replace(/([ -])m[éèô]m[eo]([s \.,…\|\}])/g, "$1même$2");
    str = str.replace(/( t[éèô]te)/g, " tête");
    str = str.replace(/(y [àâ] )/g, "y a ");
    str = str.replace(/(accroit)/g, "accroît");
    str = str.replace(/(décroit)/g, "décroît");
    str = str.replace(/(surcroit)/g, "surcroît");
    str = str.replace(/([^aém])parait/g, "$1paraît");
    str = str.replace(/( plait)/g, " plaît");
    str = str.replace(/( nait)/g, " naît");
    str = str.replace(/(connait)/g, "connaît");
    str = str.replace(/( chaine)/g, " chaîne");
    str = str.replace(/(déchain)/g, "déchaîn");
    str = str.replace(/(enchain)/g, "enchaîn");
    str = str.replace(/(maitre)/g, "maître");
    str = str.replace(/(traine)/g, "traîne");
    str = str.replace(/(épitre)/g, "épître");
    str = str.replace(/(?<=\s)trés(?=\s|\-)/g, "très");
    str = str.replace(/(?<=[Nn]ous\s)primes/g, "prîmes");
    str = str.replace(/(?<=[Nn]ous\s)mimes/g, "mîmes");
    str = str.replace(/th[eéè][aà]tr/g, "théâtr");
    str = str.replace(/ senor/g, " señor");
    str = str.replace(/ Senor/g, " Señor");
    str = str.replace(/ Dona /g, " Doña ");
    str = str.replace(/DONA /g, "DOÑA ");
    str = str.replace(/ņ/g, "ṇ");
    str = str.replace(/(ş|ș)/g, "ṣ");
    str = str.replace(/ț/g, "ṭ");
// CHIFFRES MIS POUR DES LETTRES ET INVERSEMENT
	str = str.replace(/((?<=[o ]{2})o|o(?=[o ]{2})|(?<=[o ])o(?=[o ]))/g, "0");
    str = str.replace(/(?<=[A-Za-zà-ÿ])0(?=[a-zà-ÿ])/g, "o");
    str = str.replace(/(?<=[A-Za-zà-ÿ])01(?=[a-zà-ÿ])/g, "oi");
    str = str.replace(/(?<=[A-Za-zà-ÿ])10(?=[a-zà-ÿ])/g, "io");
    str = str.replace(/([A-Za-zà-ü ])1([a-zà-ÿ])/g, "$1i$2");
    str = str.replace(/(?<=[\.\!\?]\s)1l(?=\s|s\s)/g, "Il");
    str = str.replace(/(?<![\.\!\?]\s)1l(?=\s|s\s)/g, "il");
    str = str.replace(/(1’)/g, "l’");
    str = str.replace(/( 1a )/g, " la ");
    str = str.replace(/( 1e )/g, " le ");
    str = str.replace(/( 1rs )/g, " les ");
// SCANILLES DIVERSES
    str = str.replace(/(cb)/g, "ch");
    str = str.replace(/(tb)/g, "th");
    str = str.replace(/(iï|ïi)/g, "i");
    str = str.replace(/(?<!H)iu(?!m|r|s |s, |s.)/g, "in");
    str = str.replace(/meuts(?=[ \.,…\|\}])/g, "ments");
    str = str.replace(/[tl]iou(?=[ \.,…\|\}])/g, "tion");
    str = str.replace(/[tl]ious(?=[ \.,…\|\}])/g, "tions");
    str = str.replace(/(?<=\s)([cdjlmnst])[ \*](?=a|e|é|ê|è|i|o|ô|u|y)/g, "$1’");
    str = str.replace(/(qu[ \*])/g, "qu’");
    str = str.replace(/( quil)/g, " qu’il");
    str = str.replace(/(squil)/g, "squ’il");
    str = str.replace(/(quoiquil)/g, "quoiqu’il");
    str = str.replace(/(quon )/g, "qu’on ");
    str = str.replace(/(?<=\s)(est ce|estce)(?=\sque|\squ’)/g, "est-ce");
    str = str.replace(/(?<=\s)(Est ce|Estce)(?=\s)/g, "Est-ce");
    str = str.replace(/( ail )/g, " ait ");
    str = str.replace(/(au lien d)/g, "au lieu d");
    str = str.replace(/(Au lien d)/g, "Au lieu d");
    str = str.replace(/(avals)/g, "avais");
    str = str.replace(/(?<![Tt]ra)vail(?=[ \.,…\|\}])/g, "vait");
    str = str.replace(/(?<=\s)a[ry]e[co]/g, "avec");
    str = str.replace(/( bêle)/g, " bête");
    str = str.replace(/( bêles)/g, " bêtes");
    str = str.replace(/( bion)/g, " bien");
    str = str.replace(/( cc)/g, " ce");
    str = str.replace(/(Gela)/g, "Cela");
    str = str.replace(/(Cola)/g, "Cela");
    str = str.replace(/( cola)/g, " cela");
    str = str.replace(/(?<=(^|\s)(C|c))est(?=\s|\.|,|…)/g, "’est");
    str = str.replace(/([\n—\!\?\.\\…\»\«\( ] )Celte/g, "$1Cette");
    str = str.replace(/(celte|cetle)/g, "cette");
    str = str.replace(/cotte(?!\sde)/g, "cette");
    str = str.replace(/c[aæ]ur/g, "cœur");
    str = str.replace(/(?<=\s)ceur/g, "cœur");
    str = str.replace(/(?<=[AaDd]u\s|[LlCc]e\s|[Uu]n\s)cour(?![a-zà-ÿ])/g, "cœur");
    str = str.replace(/(Gomme)/g, "Comme");
    str = str.replace(/ cle /g, " de ");
    str = str.replace(/ dc /g, " de ");
    str = str.replace(/ do (?!dièse)(?!bémol)(?!bécarre)(?!majeur)(?!mineur)/g, " de ");
    str = str.replace(/( [dg]a[ur]s )/g, " dans ");
    str = str.replace(/(?<!au\s)(?<!de\s)(?<!par\s)(?<!\-)delà/g, "de la");
    str = str.replace(/(Dien)/g, "Dieu");
    str = str.replace(/( cloute)/g, " doute");
    str = str.replace(/(effaner)/g, "effacer");
    str = str.replace(/( eflet)/g, " effet");
    str = str.replace(/( alles )/g, " elles ");
    str = str.replace(/( entant)/g, " enfant");
    str = str.replace(/\seu(?=\ssorte|\seffet|\sfait|\sgénéral|\smarche|\svertu|\sdétail)/g, "en");
    str = str.replace(/(en roule)/g, "en route");
    str = str.replace(/(en égard)/g, "eu égard");
    str = str.replace(/(cst)/g, "est");
    str = str.replace(/( c[lt] )/g, " et ");
    str = str.replace(/( [co]t )/g, " et ");
    str = str.replace(/( e[li] )/g, " et ");
    str = str.replace(/( ea )/g, " eu ");
    str = str.replace(/( étail)/g, " était");
    str = str.replace(/(?<=par\s|un\s)exempte/g, "exemple");
    str = str.replace(/ fail(?=[ \.,…\|\}])/g, " fait");
    str = str.replace(/ faile(?=[ \.,…\|\}])/g, " faite");
    str = str.replace(/ fails(?=[ \.,…\|\}])/g, " faits");
    str = str.replace(/(ligure)/g, "figure");
    str = str.replace(/(?<!nous\s)fondions/g, "fonctions");
    str = str.replace(/(fiançais)/g, "français");
    str = str.replace(/(granité)/g, "granit");
    str = str.replace(/([\n—\!\?\.\\…\»\«\( ] )(11|II) /g, "$1Il ");
    str = str.replace(/(?<=\s)(It|Tl|TI)(?=\s)/g, "Il");
    str = str.replace(/(. Us )/g, ". Ils ");
    str = str.replace(/( gue )/g, " que ");
    str = str.replace(/( gue )/g, " que ");
    str = str.replace(/(bomme)/g, "homme");
    str = str.replace(/( ia )/g, " la ");
    str = str.replace(/( Ia )/g, " La ");
    str = str.replace(/( ie )/g, " le ");
    str = str.replace(/( Ie )/g, " Le ");
    str = str.replace(/( los )/g, " les ");
    str = str.replace(/ la lin(?=[ \.,…\|\}])/g, " la fin");
    str = str.replace(/( Faction )/g, " l’action ");
    str = str.replace(/ Tair(?=[ \.,…\|\}])/g, " l’air");
    str = str.replace(/ Tait /g, " l’ait ");
    str = str.replace(/(Tannée)/g, "l’année");
    str = str.replace(/(Tan )/g, "l’an ");
    str = str.replace(/(?<=\s[Pp]lus\s|\s[Tt]rès\s|\s[Tt]rop\s)lard/g, "tard");
    str = str.replace(/Fauteur(?! de trouble)/g, "L’auteur");
    str = str.replace(/(Teau )/g, "L’eau ");
    str = str.replace(/(l’ou )/g, "l’on ");
    str = str.replace(/(?<=\.|\!|\?|…|\(|«|»|—) Ton /g, " l’on ");
    str = str.replace(/(Tonde )/g, "L’onde ");
    str = str.replace(/(Tun )/g, "l’un");
    str = str.replace(/(Tune )/g, "l’un");
    str = str.replace(/(moyeu)/g, "moyen");
    str = str.replace(/(moyenx)/g, "moyeux");
    str = str.replace(/ (no|ue) /g, " ne ");
    str = str.replace(/nl(?=[ \.,…\|\}])/g, "nt");
    str = str.replace(/nls(?=[ \.,…\|\}])/g, "nts");
    str = str.replace(/( n['’]v )/g, " n’y ");
    str = str.replace(/( out )/g, " ont ");
    str = str.replace(/( pa[it] )/g, " par ");
    str = str.replace(/( peul )/g, " peut ");
    str = str.replace(/( saus )/g, " sans ");
    str = str.replace(/( sc )/g, " se ");
    str = str.replace(/( scs )/g, " ses ");
    str = str.replace(/( s1 )/g, " si ");
    str = str.replace(/( sout )/g, " sont ");
    str = str.replace(/( sout\-)/g, " sont\-");
    str = str.replace(/(?<=\s)T’/g, "T");
    str = str.replace(/(taudis qu)/g, "tandis qu");
    str = str.replace(/( tonte)/g, "  toute");
    str = str.replace(/(vêlement)/g, "vêtement");
    str = str.replace(/(?<=[’\s][Ii]l\s)v(?=\sa|\sva|\sall)/g, "y");
// MAJUSCULES ACCENTUÉES
    str = str.replace(/(\nA )/g, "\nÀ ");
    str = str.replace(/([\!\?\.\\…\»\«\(]) A /g, "$1 À ");
    str = str.replace(/[AÀ]ge([^n])/g, "Âge$1");
    str = str.replace(/( Ca )/g, " Ça ");
    str = str.replace(/( Ca,)/g, " Ça,");
    str = str.replace(/( Cà )/g, " Çà ");
    str = str.replace(/( Cà,)/g, " Çà,");
    str = str.replace(/([EÊÈ]co)/g, "Éco");
    str = str.replace(/([EÊÈ]cr)/g, "Écr");
    str = str.replace(/([EÊÈ]den)/g, "Éden");
    str = str.replace(/([EÊÈ]du)/g, "Édu");
    str = str.replace(/([EÊÈ]glise)/g, "Église");
    str = str.replace(/([EÊÈ]gypt)/g, "Égypt");
    str = str.replace(/([EÊÈ]la)/g, "Éla");
    str = str.replace(/([EÊÈ]lec)/g, "Élec");
    str = str.replace(/([EÊÈ]lé)/g, "Élé");
    str = str.replace(/([EÊÈ]li)/g, "Éli");
    str = str.replace(/([EÊÈ]loge)/g, "Éloge");
    str = str.replace(/([EÊÈ]lysée)/g, "Élysée");
    str = str.replace(/([EÊÈ]mile)/g, "Émile");
    str = str.replace(/([EÊÈ]mili)/g, "Émili");
    str = str.replace(/([EÊÈ]nerg)/g, "Énerg");
    str = str.replace(/([EÊÈ]p)/g, "Ép");
    str = str.replace(/([EÊÈ]quateur)/g, "Équateur");
    str = str.replace(/([EÊÈ]rasme)/g, "Érasme");
    str = str.replace(/([EÊÈ]tablis)/g, "Établis");
    str = str.replace(/([EÊÈ]tat)/g, "État");
    str = str.replace(/([EÊÈ]tan)/g, "Étan");
    str = str.replace(/([EÊÈ]tern)/g, "Étern");
    str = str.replace(/([EÊÈ]thique)/g, "Éthique");
    str = str.replace(/([EÊÈ]tienne)/g, "Étienne");
    str = str.replace(/([EÊÈ]trang)/g, "Étrang");
    str = str.replace(/([EÉÈ]tre)/g, "Être");
    str = str.replace(/([EÊÈ]tud)/g, "Étud");
    str = str.replace(/([EÊÈ]v)/g, "Év");
    str = str.replace(/([EÉÊ]ve)/g, "Ève");
    str = str.replace(/(Ile )/g, "Île ");
    str = str.replace(/(Ile-)/g, "Île-");
    str = str.replace(/(Iles )/g, "Îles ");
    str = str.replace(/(Iles-)/g, "Îles-");
    str = str.replace(/(OE|CE|E)(?=DIPE|dipe)/g, "Œ");
// ÉRUDITION
	str = str.replace(/Syst\. nat\./g, "''{{lang|la|{{abr|Syst. nat.|Systema naturæ}}}}''");
    str = str.replace(/(?<=\s)g\. /g, "{{abr|g.|genus}}{{lié}}");
    str = str.replace(/(?<=\s)sp\. /g, "{{abr|sp.|species}}{{lié}}");
    str = str.replace(/Guiane/g, "{{corr|Guiane|Guyane}}");
    str = str.replace(/ +\(\*+\)/g, "<ref group=NdÉ>'''' {{abr|L.|Linnæus}} [''Note de Wikisource :'' actuellement '''' {{sc|}}, vulgairement ''''].</ref>");
/*// THÉÂTRE (à désactiver quand on ne corrige pas de théâtre)
    str = str.replace(/\n([A-ZÀ-ÜŒ ’\-]{1,20})\n/g, "\n{{Personnage|$1|c||sm}}"); // cas des personnages sans didascalie
    str = str.replace(/\n([A-ZÀ-ÜŒ ’\-]{1,20}) +(.+?)\s*\n/g, "\n{{PersonnageD|$1|c|{{di|$2|sm}}|e|sm}}\n"); // cas des personnages avec didascalie entre parenthèses */
// CHIFFRES ROMAINS
	str = str.replace(/([A-ZÀ-Ü][a-zà-ÿ]+?) ([IVX]+)\b/g, "{{roi|$1|$2}}");
    str = str.replace(/(\n|\-| |\{\{lié\}\}|\()([IVXL]|[IVXLCDM]{2,})([\n-\.,…\|\}\) ])/g, "$1{{rom-maj|$2}}$3");
    str = str.replace(/\.\-\{\{rom-maj\|([IVXLCDM])\}\}\./g, ".-$1.");
    str = str.replace(/(\{\{lié\}\})([ivxlcdm]+)([\n-\.,…\|\}\) ])/g, "$1{{rom|$2}}$3");
    str = str.replace(/(\{\{rom-maj\|Ier\}\})/g, "\{\{Ier\}\}");
// GREC
    str = str.replace(/(ϐ)/g, "β");
    str = str.replace(/(ϰ)/g, "κ");
    str = str.replace(/(ϑ)/g, "θ");
    str = str.replace(/(ϖ)/g, "π");
    str = str.replace(/(ϕ)/g, "φ");
    	return str;
  });
}

$.when(
	mw.loader.using( [ 'ext.gadget.Typo' ] ),
	$.ready
).then(
	mes_typos
);