# French typographic rules
# by the KDE French Team (kde-francophone@kde.org)
# License: GPLv3

include file="filter.include"

validGroup strongTypo
valid after="&unbsp;" before="(</[a-zA-Z0-9]+>)*&sp;" 
valid after="&unbsp;" before="(</[a-zA-Z0-9]+>)*$"
valid after="&unbsp;" before="(</[a-zA-Z0-9]+>)*\n"
valid after="&unbsp;" before="(</[a-zA-Z0-9]+>)*</?p>" 
valid after="&unbsp;" before="(</[a-zA-Z0-9]+>)*</?br\s?/?>" 
valid after="&unbsp;" before="(</[a-zA-Z0-9]+>)*</?ul>" 
valid after="&unbsp;" before="(</[a-zA-Z0-9]+>)*</qt>"
valid after="&unbsp;" before="(</[a-zA-Z0-9]+>)*<nl/>"
valid after="&unbsp;" before="(</[a-zA-Z0-9]+>)*&unbsp;»"
valid after="&unbsp;" before="(</[a-zA-Z0-9]+>)*</interface"

validGroup inParenthesis
valid after="\(" before="\)"

validGroup inQuotes
valid after="«&unbsp;" before="&unbsp;»"

validGroup inQuotesTag
valid after="<quote>.*" before=".*</quote>"

validGroup alone
valid after="^" before="$"

validGroup optionTag
valid after="<option>.*" before=".*</option>"

validGroup tokenTag
valid after="<token>.*" before=".*</token>"

validGroup filenameTag
valid after="<filename&sp;.*>.*" before=".*</filename>"

validGroup cdataTag
valid after="<\!\[CDATA\[.*" before=".*\]\]>"

validGroup commandTag
valid after="<command>.*" before=".*</command>"

validGroup userinputTag
valid after="<userinput>.*" before=".*</userinput>"

validGroup keycapTag
valid after="<keycap>.*" before=".*</keycap>"

validGroup keysymTag
valid after="<keysym>.*" before=".*</keysym>"

validGroup literalTag
valid after="<literal>.*" before=".*</literal>"

validGroup roleTag
valid after="role=\".*" before=".*\"/>"

validGroup computeroutputTag
valid after="<computeroutput>.*" before=".*</computeroutput>"

validGroup promptTag
valid after="<prompt>.*" before=".*</prompt>"

validGroup errortypeTag
valid after="<errortype>.*" before=".*</errortype>"

validGroup foreignphraseTag
valid after="<foreignphrase>.*" before=".*</foreignphrase>"

validGroup functionTag
valid after="<function>.*" before=".*</function>"

validGroup calligraCell
valid after="[A-Z]*[1-9]*" before="[A-Z]*[1-9]*"

validGroup calligraFunction
valid after="\(.*" before=".*\)"

validGroup decimal
valid after="[0-9]*" before="[0-9]*"

validGroup markupTag
valid after="<markup>.*" before=".*</markup>"

validGroup perlScript
valid msgid=".*/usr/bin/perl.*"

validGroup linkstart
valid after="&amp;linkstart;.*" before=".*\"&amp;linkmid;"
valid after="&amp;linkmid;.*" before=".*&amp;linkend;"

[:]
validGroup alone
validGroup cdataTag
validGroup computeroutputTag
validGroup errortypeTag
validGroup inParenthesis
validGroup inQuotes
validGroup promptTag
validGroup roleTag
validGroup strongTypo
validGroup userinputTag
validGroup calligraCell
valid after="&unbsp;" before="\t"
valid after="https?://\S+"
valid after="cgi|file|gg|mailto|man|whatsthis|kmail|addMsg|config|help"
valid after="about|audiocd|bookmarks|camera|ed2k|exec|floppy|ftps?|fonts|help|https?|lan|lpr|media|news|network|okular|pmp|parallel|smb|system|trash|umax|vdvd|videodvd|webdavs?|irc|print|protocole|info" before="/" 
valid after="about" before="blank"
valid after="gg|google" before="KDE|[a-z]+"
valid after=".+://(nom|utilisateur)" before="mot_?de_?passe"
valid after="\d\d?" before="\d\d?"
valid after="([pH]H|hh?|%h+|\[hh\])" before="(MM|mm|%m+)"
valid after="(MM|mm?|%m+|\[mm\])" before="(SS|ss|%s+)"
valid after="Heures" before="Minutes"
valid after="minutes" before="secondes"
valid after="%\d" before="%\d"
valid after="ht" before="\/\/dig"
valid before="-?[\)|\(]" # Smiley
valid before="\s?\d+(px)?;" # CSS
valid after="font-family|font-size|font-style|font-weight|text-align|text-decoration|margin-top|margin-bottom|-type"# CSS
valid after="white-space" # CSS
valid after="color" before="#|\s?[A-Z-a-z]" # CSS
valid after="bottom" before="\s\d+" # CSS
valid after="\"\S+" before="%?\d+\"" # CSS
valid after="xsl?"
valid cat="htmlsearch" msgid="^_: List of words to exclude from index" 
valid after="Process" before=":check" 
valid after="Process:" before="check"
valid after=".+:"
valid before=":.+"
valid before="slot" 
valid before="port|PORT"
valid after="<nom>"
valid after="PATH|ext"
valid after="com|host|org" before="\d+"
valid after=":q"
valid before="q:"
valid after="remote" before="/"
valid cat="imgalleryplugin" after="KImGalleryPlugin:" before="slotCreateHtml" 
valid cat="imgalleryplugin" after="KImGalleryPlugin" before=":slotCreateHtml"  
valid after="javascript" before="go"
valid cat="kalgebra" before="="
valid cat="kbackgammon" after="&sp;%1" before="%2\.$"
valid cat="kcmioslaveinfo" after="%1"  before="/"
valid cat="kurifilter" after="</b>" before="<b>ma recherche"  
valid cat="kcron" after="%H" before="%M" 
valid cat="kdat" after="%02d" before="%02d"
valid cat="kio4" after="\d" before="\d"
valid cat="kio4" after="org" before="port" 
valid cat="kio_smtp" after="SMTPProtocol" before=":smtp_open" 
valid cat="kio_smtp" after="SMTPProtocol:" before="smtp_open" 
valid cat="kiconedit" after="^1" before="1$"
valid cat="kiconedit" after="^1" before="10$" 
valid cat="kiconedit" after="^1" before="5$" 
valid cat="konsole" before="\\"
valid cat="kshisen" after="%02d" before="%02d"
valid cat="kshisen" after="XX" before="XX"  
valid cat="kspread,sheets" after="[A-Z0-9]+" before="[A-Z0-9]+" 
valid cat="kspread,sheets" after="(ligne)|(colonne)|(body)" before="(ligne)|(colonne)|(office)"
valid cat="ktexteditor_plugins" after="H|%"
valid cat="kcalc" after="\+"
valid cat="libkcal" before="&unbsp;" after="&unbsp;"
valid cat="parley" before="verbe"
valid cat="marble" before="all"
valid cat="kdevelop" after="attendu.*"
valid cat="artwork,karbon" after="draw|office"
valid cat="kiten" after="G"
valid cat="kiten" after="S" before="2"
valid cat="konqueror_plugins" after="NOMDEFICHIER(1|2)"
valid ctx="List of words.*"
valid ctx="Numbers and characters"
valid ctx="Hours:minutes:seconds"
valid ctx="CSV separator"
valid ctx="Query"
valid cat="skrooge" ctx="condition"
valid cat="jointhegame" ctx="member|join|payment"
valid cat="konqueror_man-kbookmarkmerger.1" after="jean@hal9000"
valid cat="kfilereplace" after="\[\$.*"
valid cat="kioslave_fish" after="<command>echo FISH"
valid cat="kolourpaint" msgid="All rights reserved.*"
valid cat="kppp" after="&PPP;"
valid cat="kdeprint_cups-config" before="/" after="/"
hint="Mettre une espace insécable avant et une espace après"

[;]
validGroup strongTypo
validGroup inParenthesis
validGroup inQuotes
validGroup inQuotesTag
validGroup alone
validGroup cdataTag
validGroup keysymTag
validGroup userinputTag
validGroup calligraFunction
validGroup perlScript
valid after="&amp;[0-9a-zA-Z\.\-]+"
valid after="\*\.[a-zA-Z]+" before="\*\.[a-zA-Z]+" # List of extension suffix
valid after="center|empty|normal|pt|px|pre-wrap|\d+|[a-f]{1,2}" # CSS
valid after="font-family:.+" # CSS
valid after="bold" before="'"   # CSS
valid before=" font" # CSS
valid before="-\)" # Smiley
valid after=";" 
valid before=";"
valid cat="kspread,sheets" after="^\S+\(\S+"
valid cat="kspread,sheets" after=";\S+"
valid cat="kspread,sheets" before="\S+;"
valid cat="kspread,sheets" before="\S+\)"
valid cat="konsole" before="\\"
valid cat="katepart4" after="plain|txt"
valid cat="kioslave_data" after="<userinput>data:"
valid cat="kioslave_fish" after="<command>echo FISH:"
valid ctx="Numbers and characters"
valid ctx="CSV separator"
valid ctx="Query" 
valid ctx="unit synonyms for matching user input"
valid cat="kolourpaint" msgid="All rights reserved.*"
valid cat="kopete_chatstyle" msgid="p.message { color:inherit; border-color:inherit; }"
valid cat="kopete_pipes" after="&amp;amp;lt"
valid cat="kdeprint_theory" after="% first box over"
valid cat="kile_scripting" after="\)"
valid cat="kile_scripting" msgid="var .*"
valid cat="kdm" msgid="if kdmctl*"
hint="Mettre une espace insécable avant et une espace après"

[!]
validGroup strongTypo
validGroup inParenthesis
validGroup inQuotes
validGroup alone
validGroup cdataTag
validGroup foreignphraseTag
validGroup keysymTag
validGroup userinputTag
validGroup calligraFunction
validGroup perlScript
valid after="&unbsp;" before="\)"
valid after="&unbsp;" before="&unbsp;»"
valid after="^<" before="--.*--&gt;$"
valid after="^<" before="DOCTYPE"
valid after="&unbsp;" before="!"
valid after="&unbsp;" before="\)"
valid after="!" before="!"
valid after="!" before="&sp;"
valid after="!" before="$"
valid after="!" before="&lf;"
valid after="!" before="<"
valid after="x!"
valid after="<"
valid after="&unbsp;" before="(&lt;\/[a-zA-Z0-9]&gt;)*&lt;\/qt&gt;" 
valid after="&lt;" before="-- Ce fichier a été généré par Konqueror --&gt;"
valid cat="kspread,sheets" after="[abcx\)!]|\(valeur\)"
valid cat="kspread,sheets" before="[A-Z][0-9]"
valid cat="k3b" before="a"
valid cat="kcalc" after="^x"
valid cat="kalgebra" after="n"
valid cat="kturtle,kturtle_glossary,kturtle_programming-reference" before="="
valid cat="kphotoalbum" before="Ok"
valid after="aKtion"
valid after="Yahoo"
valid cat="kcmkonqhtml" after="<tt>" before="</tt>"
valid ctx="Numbers and characters"
valid ctx="CSV separator"
valid cat="skrooge" ctx="condition"
valid cat="kfilereplace" before="\[CDATA"
valid before="DOCTYPE"
valid cat="khangman" before="--Traduire"
valid cat="kioslave_mailto" after="%20"
valid cat="kdeprint_theory" before="PS"
valid cat="sheets_basics" after="VALUE"
valid cat="sheets_functions" after="x|x!|\(valeur\)"
valid cat="sheets_functions" msgid="\(a\+b\+c\)!\s/\sa!b!c!"
valid cat="sheets_functions" after="Feuille[0-9]"
valid cat="kppp_callback" after="#" before="/bin"
valid cat="cantor" after="Q?alculate"
hint="Mettre une espace insécable avant et une espace après"

[\?]
validGroup strongTypo
validGroup inParenthesis
validGroup inQuotes
validGroup inQuotesTag
validGroup alone
validGroup userinputTag
validGroup commandTag
valid ctx=".*one character"
valid after="&unbsp;" before="\)"
valid after="&unbsp;" before="&unbsp;»"
valid after="<quote>" before="</quote>"
valid after="https?://\S+"
valid after="\?" 
valid after="<filename>\S*" before="\S*</filename>"
valid after="<keycap>\S*" before="\S*</keycap>"
valid cat="kfindpart" after="l" before="t"
valid cat="kio4" after="extension" before="requête" 
valid cat="kio4" after="^" before="&sp;"
valid after="&amp;nbsp;" before="&lt;\/qt&gt;$"
valid cat="kgoldrunner" after="\?|2"
valid cat="katefindinfilesplugin" after="<br /><b>"
valid cat="kdevelop" after="<ul><li><b>"
valid cat="kcmkonqhtml" after="<tt>.?" before=".+</tt>"
valid cat="kioslave_audiocd" before="device"
valid cat="kioslave_audiocd" before="fileNameTemplate"
valid cat="kioslave_audiocd" before="albumNameTemplate"
valid cat="kfilereplace" before=">"
valid before="xml"
valid after="xml version=.*"
valid after="mailto:.*"
valid ctx="Numbers and characters"
valid ctx="Query"
hint="Mettre une espace insécable avant et une espace après"

[,]
validGroup inQuotes
validGroup cdataTag
validGroup keycapTag
validGroup computeroutputTag
validGroup calligraFunction
validGroup decimal
valid after="[^&sp;(]" before="&sp;" 
valid after="[^&sp;(]" before="\n"
valid after="[^&sp;(]" before="</td>"
valid after="<keycap>" before="</keycap>"
valid after="[0-9]" before="[0-9]"
valid after="font-family:.+" # CSS
valid after="https?://\S+" 
valid after="^" before="&sp;"
valid after="<userinput>.*" before=".*</userinput>"
valid ctx="\w+ OF TRANSLATORS"  
valid ctx="desktop_po" after="^Keywords=.*" 
valid after="[^&sp;(&unbsp;)]" before="&lt;br" 
valid cat="kcmkwinrules" after="\+"
valid cat="kppp" after="0"
valid cat="kcalc" after="^" before="$"
valid cat="kommander" after="\([a-z]+"
valid cat="kturtle_glossary" after="\("
valid cat="kturtle_programming-reference" before="Y" after="mod X"
valid cat="kturtle_programming-reference" before="Y" after="va X"
valid cat="kioslave_data" after="<userinput>data:*"
valid ctx="Numbers and characters"
valid ctx="Keywords" 
valid ctx="CSV separator"
valid ctx="Query"
hint="Pas d'espace avant une virgule (mais un après) !"

[,(?=[a-zA-Z])]
validGroup cdataTag
validGroup userinputTag
validGroup keycapTag
validGroup computeroutputTag
validGroup calligraFunction
validGroup decimal
valid after="x" before="y"
valid after="^Keywords="
valid after="font-family:.+" # CSS
valid ctx="Query"
valid cat="kspread,sheets"
valid cat="kcmkwinrules" after="\+"
valid cat="kommander" after="\([a-z]+" 
valid cat="kturtle_programming-reference" before="Y" after="mod X"
valid cat="kturtle_programming-reference" before="Y" after="va X"
valid ctx="\w+ OF TRANSLATORS" after="."  before="."
valid ctx="Numbers and characters"
valid ctx="Keywords"
hint="Une espace après une virgule"

[»]
valid after="&unbsp;" before="&sp;"
valid after="&unbsp;" before="$"
valid after="&unbsp;" before="\n"
valid after="&unbsp;" before="&unbsp;(:|\?|!|;|/)" 
valid after="&unbsp;" before="\." 
valid after="&unbsp;" before="\)" 
valid after="&unbsp;" before=","
valid after="&unbsp;" before="</pre>|</p>|</li>|<br\s?/?>|</a>"
valid after="&unbsp;" before="</nobr>(&sp;|\.)"
valid ctx="Numbers and characters"
valid before="."
hint="Mettre une espace insécable avant et une espace après"

[«]
valid after="&sp;" before="&unbsp;"
valid after="\(|'" before="&unbsp;"
valid after="\t" before="&unbsp;"
valid after="^|\n|</p>|</?br\s?/?>|<p>|<pre>|<td>" before="&unbsp;"
valid after="&sp;<nobr>" before="&unbsp;"
valid ctx="Numbers and characters"
hint="Mettre une espace avant et une espace insécable après"

[`]
validGroup keycapTag
validGroup cdataTag
validGroup perlScript
validGroup userinputTag
validGroup optionTag
validGroup literalTag
valid cat="amarok" after="prefix"
valid cat="amarok" before="kde4?-config"
valid cat="kdevelop" after="attendu.*"
valid cat="kolourpaint" msgid="All rights reserved.*"
valid cat="kile" msgid="^% pdfTeX is running.*|.*DeclareGraphicsRule.*"
valid cat="kdm" msgid="if kdmctl*"
hint="Utiliser de vrais guillemets, au lieu d'une apostrophe (homogénéité)"

['(?=[^\wéèàêâÉÈÀÊÂ«œ])]
validGroup computeroutputTag
validGroup userinputTag
validGroup perlScript
valid before="&amp;[\wéèàêâ]" 
valid before="&lt;b&gt;"
valid before="&lt;a "
valid before="&lt;em&gt;"
valid before="&lt;b&gt;[\wéèàê]"
valid before="&lt;i&gt;[\wéèàê]"
valid before="&lt;strong&gt;[\wéèàê]"
valid cat="kgeography" before="É|Î"
valid cat="kgeography" after="Vayots"
valid cat="kfmclient" after="URL"
valid cat="kfmclient" before="URL"
valid cat="kfmclient" before="\]"
valid cat="kfmclient" after="\["
valid cat="k3b" before="{"
valid cat="kwriteconfig"
valid cat="plasma_applet_desktop"
valid cat="plasma_applet_frame"
valid cat="kmail_faq" msgid="Currently the script.*"
valid after="="
valid before=" \S+="
valid before="\s*/?>|&gt|}"
valid before=";" after="'.+" # CSS
valid before="DejaVu Sans" # CSS
valid after="[DejaVu|Vera] Sans" # CSS
valid after="Sans Serif" # CSS
valid before=" ou \""
valid after="\d+"
valid before="<"
valid cat="kmplot" after="f'?" before="'|\("
valid cat="kio_trash" after="url"
valid cat="kio_trash" before="url"
valid cat="kioclient" after="url|dest|src|type Mime"
valid cat="kioclient" before="url|dest|src|type Mime"
valid cat="konqueror" after="\d"
valid cat="konqueror" before="\d"
valid cat="kdevelop" after="attendu.*"
valid cat="kopete" after="sed -e \S*"
valid ctx="Numbers and characters"
valid ctx="list_of_words_to_replace"
valid ctx="City name"
valid ctx="characters are not allowed"
valid cat="kppp_dialog-setup" msgid="Expect.*"
valid cat="kile_scripting" msgid="var .*"
valid cat="kdm" msgid="if kdmctl*"
hint="Utiliser de vrais guillemets, au lieu d'une apostrophe (homogénéité)"

[\"]
validGroup inQuotes
validGroup alone
validGroup cdataTag
validGroup keycapTag
validGroup computeroutputTag
validGroup functionTag
validGroup perlScript
validGroup literalTag
validGroup commandTag
valid msgid="<!ENTITY"
valid after="\s+(=|]|PS1|\")"
valid before="\s*/?>|&gt|}"
valid after="' ou "
valid after="\d+"
valid after="="
valid after="=\S+" # HTML
valid msgid="DOCTYPE HTML PUBLIC "
valid after="<userinput>.*" before=".*</userinput>"
valid cat="amarok" after="install"
valid cat="amarok" before="make (un)?install"
valid cat="kioclient" before="Mount"
valid cat="kioclient" after="default"
valid cat="kspread,sheets"
valid cat="ktimetracker" after="^"
valid cat="kerry" msgstr="guillemet"
valid cat="kturtle_glossary,kturtle_programming-reference" after="écris.+"
valid cat="kturtle_glossary,kturtle_programming-reference" after="demande.+"
valid cat="kturtle_programming-reference" after="message.+"
valid cat="kturtle_programming-reference" after="auteur.+"
valid cat="kturtle_glossary" after="\(" before="\)"
valid cat="kopete_pipes" msgid="Here's an example"
valid cat="sheets_functions"
valid cat="kppp_callback" msgid="Expect.*"
valid cat="kile" before="uhler|A}\n"
valid after="DOCTYPE.*"
valid ctx="Numbers and characters"
valid ctx="characters are not allowed"
valid ctx="unit synonyms for matching user input"
valid cat="kile_scripting" msgid="var range.*"
valid cat="kile_scripting" after="\("
valid cat="kile_scripting" before="\)"
valid cat="kdm" msgid="ttyv8*"
valid cat="kdm" msgid="if kdmctl*"
valid after="&amp;linkstart;"
valid before="&amp;linkmid;"
hint="Utiliser de vrais guillemets (alt-gr w, z ou x), au lieu de guillemets anglais (homogénéité)"

[’]
hint="Utilisez le symbole apostrophe (touche 4 sur un clavier français)"

[&sp;&sp;+]
valid msgid="&sp;&sp;+"
validGroup computeroutputTag
valid cat="kile_scripting" ctx="Tag: programlisting"
hint="Ne jamais mettre plus d'une espace"

[%]
validGroup strongTypo
validGroup inParenthesis
validGroup inQuotes
validGroup inQuotesTag
validGroup optionTag
validGroup tokenTag
validGroup userinputTag
validGroup calligraFunction
valid ctx="kdedt-format"
valid after="&unbsp;" before="[,\. \)]"
valid after="&unbsp;" before="&unbsp;[\?!,;]"
valid after="font-size:[0-9]+"# CSS
valid before="[0-9ns]"
valid before="[A-Za-z_]\b"
valid before="{"
valid before="appname|progname|execname"
valid before="%"
valid after="%\S*"
valid after="^" before=" d'occupation"
valid after="width=\"\d+" before="\"" # HTML
valid after="^" before="$"
valid after="<prompt>" before="</prompt>"
valid cat="ktexteditor_plugins" before="[a-zA-Z]|:"
valid cat="guidancewer-manager" before="i"
valid cat="kcron" after="^" before="H:%M$"
valid cat="kcron" after="^%H:" before="M$"
valid cat="kmouth" after="[flt%]"
valid cat="kopete" before="[mst]|album|player"
valid cat="amarok" before="track|title|artist|composer|year|album|comment|genre|ignore|initial|folder|filetype|discnumber"
valid cat="kate" after="caractères " before="s "
valid cat="kmail" before="D=\""
valid cat="kmail" before="S=\""
valid cat="knode" before="NAME|EMAIL|MYEMAIL|f|L"
valid cat="konsole" before="\#"
valid cat="kaudiocreator" before="[of]"
valid cat="kgpg" before="KEYID|UIDNAME"
valid cat="kopete_chatstyle" before="chatName|destinationName|incomingIconPath|outgoingIconPath|timeOpened|userIconPath|textbackgroundcolor|senderStatusIcon|senderColor|message|time|messageDirection"
valid cat="kile" after="}|{"
valid cat="kile" after="^"
valid cat="kdeprint_theory" before="!PS| first"
valid cat="sheets_functions" msgid="MIRR\(.*"
valid cat="kppp_hayes" msgid="U.S.|U.K."
valid cat="kile" msgid=".*DeclareGraphicsRule.*|.*documentclass.*"
valid ctx="Numbers and characters"
valid cat="kdm_theme-ref" msgid="&amp;lt;\?xml version=\"1.0\".*"
hint="Mettre une espace insécable avant et une espace après"

[\d¤\b]
hint="Mettre une espace insécable avant le symbole monétaire"

[&sp;\,]
valid after="^Keywords="
valid cat="kdm" msgid="if kdmctl*"
hint="Pas d'espace avant une virgule"

[\.\)]
valid after="S\.u\.S\.E"
valid cat="kregexpeditor" after="\("
valid cat="kspread,sheets"
valid cat="kstars"
valid after="etc|min|sec|s|appl|p"
valid after="\.\."
hint="Le point doit être après la parenthèse (et non avant)"

[\.(?=[A-Z])]
validGroup filenameTag
valid after="<filename>.*" before=".*</filename>"
valid ctx="EMAIL OF TRANSLATORS" before="."
valid cat="kpackage" after="PACKAGES?" before="TXT"
valid before="Xclients"
valid before="Xmodmap"
valid before="Xsession"
valid before="Xdefaults"
valid before="Xresources"
valid before="DCOPserver"
valid before="[A-Z]{3}" # Extensions
valid before="[a-z]{3}" # Extensions
valid after="[A-Z]" # Acronyms
valid after="e" before="V."
valid after="jj" before="MM"
valid after="MM" before="aaaa"
valid cat="mailody" after="B" before="V"
valid cat="kgeography" after="D" before="C\."
valid cat="kcmlocale" after="MM" before="AA"
valid cat="kcontrol_kgamma" after="<surname>v" before="Ostheim</surname>"
valid after="kmail-uudecoded" before="XXXXXX"
valid after="(^|&sp;)\*" before="[a-zA-Z3]+(&sp;|$)"
valid after="([A-Za-z\-]+\.?)+@([A-Za-z]+\.?)" before="([A-Za-z]+\.?)+$"
valid after="([A-Za-z\-]*\.?)+" before="([A-Za-z\-]+\.?)*@([A-Za-z]+\.?)*"
valid after="[A-Za-z]*\.?" before="([A-Za-z\-]+\.?)+@([A-Za-z]+\.?)"
valid after="&amp;([A-Za-z\-]*\.?)+" before="([A-Za-z\-]*\.?)+;"
valid after="&amp;([A-Za-z\-]*\.?)+" before="([A-Za-z\-]*\.?)+\.mail;"
valid after="&amp;[A-Za-z\-]*\.[A-Za-z\-]+" before="mail"
valid after="http://\S+"
valid after="Yandex" before="Fotki"
valid cat="kmix" msgid="qdbus org.kde.kmix /Mixers/0/Master_0 org.freedesktop.DBus.Properties.*"
valid cat="kget" before="kgt|metalink|meta4|torrent"
valid cat="kile" msgid=".*DeclareGraphicsRule.*"
valid before="Xauthority"
valid ctx="Numbers and characters"
valid ctx="Query"
hint="Mettre une espace après un point"

[&sp;\.]
validGroup userinputTag
validGroup markupTag
valid before="desktop&sp;"
valid before="xinitrc"
valid before="cfg|doc|dvi|h|kml|kwd|eps|js|html?|kgm|m3u|pls|png|ps|rst|spec|txt|WRI|xml|kalcul|css|zip|tar|gz|pot"
valid before="NET|kde"
valid before="/\S+"
valid cat="konsole" before="schema"
valid cat="konsole" before="keytab"
valid cat="konsole" before="schema"
valid cat="konsole" before="keytab"
valid cat="konsole" before="schema"
valid cat="konsole" before="keytab"
valid cat="kioclient" after="exec"
valid cat="kxsconfig" before="-"
valid cat="kommander" after="@\S+"
valid cat="ksystemlog" after=":"
valid cat="kspread,sheets" after=";"
valid cat="kget" before="kgt"
valid cat="kturtle_programming-reference" msgid="{ ... }"
valid ctx="characters are not allowed"
valid cat="kopete_chatstyle" msgid="styleName\\.*"
valid cat="sheets_functions" msgid="..."
valid cat="kdm" before="dmrc"
hint="Pas d'espace avant un point"

[&cr;]
hint="À bas MS-DOS"

[&unbsp;[:|;] (?=[A-Z])]
validGroup computeroutputTag
validGroup errortypeTag
validGroup calligraFunction
validGroup userinputTag
validGroup linkstart
valid before="[A-Z]\.?[A-Z]" # Keywords, acronyms
valid before="David|Laura|Gerardo|Martin|Hari" # Authors
valid before="Français|Anglais|Italien|Espagnol|Allemand"
valid before="Sendmail|Maj|OpenUniverse|Risk|Tiff|Thor|Verr"
valid before="F%\d"
valid before="K3Shell|K3b|Okular"
valid after="<guimenuitem>Afficher"
valid after="<guimenuitem>Annuler"
valid after="Auteur"
valid cat="kspread,sheets" before="[A-Z][0-9]"
valid cat="skrooge" ctx="categories"
valid cat="khangman"
valid cat="knetattach" before="WebDav"
valid cat="kopete_chatstyle" before="Jabber"
valid cat="kcontrol_nepomuk" before="Nepomuk"
valid cat="kdeprint_cups-config" before="ServerName"
valid cat="kdeprint_final-word" before="Tom"
valid cat="sheets_functions" before="P|N|J|W|T|C|E|F|K|G"
valid cat="kppp_hayes" before="V.42bis"
valid cat="lokalize" before="Shankar|Sweta"
valid cat="tellico_importing-exporting" before="Tellico"
hint="Pas de majuscule après deux points ou un point virgule"

[(<strong>«)|(<b>«)|(<em>«)|(<i>«)|(»</strong>)|(»</b>)|(»</em>)|(»</i>)]
valid after="core&unbsp;|make&unbsp;"
hint="Ne pas cumuler le gras ou l'italique et les guillemets"

#[[A-Z]\S+ / [a-z]\S+|[A-Z]\S+&ubsp;/ [a-z]\S+]
#valid msgstr="vCalendar|Application"
#valid after="\s"
#hint="Mettez une majuscule aux deux termes (homogénéïté)"

[&sp;/&sp;|&sp;/&ubsp;]
validGroup computeroutputTag
valid cat="kcmlilo" before="lors du démarrage"
hint="Mettez une espace insécable avant le / et une espace après"

# End of rule file
