
org.languagetool.rules.en.en-GB.grammar.xml Maven / Gradle / Ivy
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/print.xsl" ?> <?xml-stylesheet type="text/css" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.css" title="Easy editing stylesheet" ?> <!-- British English Grammar and Typo Rules for LanguageTool See tagset.txt for the meaning of the POS tags Copyright (C) 2012 Marcin Miłkowski (https://www.languagetool.org) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA --> <!DOCTYPE rules [ <!ENTITY apostrophe "['’`´‘ʻ]"> <!ENTITY hyphen "(?:[-‑])"> <!ENTITY ambiguous_date ' <token regexp="yes">0?[1-9]|1[0-2]</token> <token>/</token> <token regexp="yes">0?[1-9]|1[0-2]</token> <token>/</token> <token regexp="yes">\d\d\d\d</token> '> <!-- "7 October 2014" and "7th October 2014" --> <!ENTITY date_dmy ' <token regexp="yes">\d\d?(th)?</token> <token regexp="yes">&months;|&abbrevMonths;</token> <token regexp="yes">\d\d\d\d</token> '> <!ENTITY date_dmy_skip ' <token regexp="yes">\d\d?</token> <token regexp="yes">&months;|&abbrevMonths;</token> <token regexp="yes" skip="-1">\d\d\d\d</token> '> <!-- "October 7, 2014" --> <!ENTITY date_mdy ' <token regexp="yes">&months;|&abbrevMonths;</token> <token regexp="yes">\d\d?</token> <token>,</token> <token regexp="yes">\d\d\d\d</token> '> <!ENTITY date_mdy_skip ' <token regexp="yes">&months;|&abbrevMonths;</token> <token regexp="yes">\d\d?</token> <token>,</token> <token regexp="yes" skip="-1">\d\d\d\d</token> '> <!-- "31/10/2014" --> <!ENTITY date_dmy_numbers ' <token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token> <token>/</token> <token regexp="yes">0?[1-9]|1[0-2]</token> <token>/</token> <token regexp="yes">\d\d\d\d</token> '> <!ENTITY date_dmy_numbers_skip ' <token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token> <token>/</token> <token regexp="yes">0?[1-9]|1[0-2]</token> <token>/</token> <token regexp="yes" skip="-1">\d\d\d\d</token> '> <!-- "10/31/2014" --> <!ENTITY date_mdy_numbers ' <token regexp="yes">0?[1-9]|1[0-2]</token> <token>/</token> <token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token> <token>/</token> <token regexp="yes">\d\d\d\d</token> '> <!ENTITY date_mdy_numbers_skip ' <token regexp="yes">0?[1-9]|1[0-2]</token> <token>/</token> <token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token> <token>/</token> <token regexp="yes" skip="-1">\d\d\d\d</token> '> ]> <rules lang="en-GB" xsi:noNamespaceSchemaLocation="../../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <category id="AMERICAN_ENGLISH" name="American English phrases" type="locale-violation"> <rulegroup id="TAKE_A_LOOK" name="take a look → have a look"> <short>American spelling</short> <rule> <pattern> <marker> <token inflected="yes" chunk_re=".-VP"> take </token> <token>a</token> <token min="0" regexp="yes">closer?|first|second|deeper|brief|quick|careful</token> <token chunk_re="E-NP.*">look</token> </marker> <token regexp="yes">at|if|and|on|because|but|when|once|over|in(to)?|whether|later|before|afterwards?|after|tomorrow|here|please|,|\.|…|\?|\!</token> </pattern> <message>In American English, "take a look" is more commonly used.</message> <suggestion><match no="1" postag="VB.*" postag_regexp="yes">have</match> \2 \3 \4</suggestion> <example correction="have a look">I promise that I will <marker>take a look</marker> later.</example> </rule> </rulegroup> <rulegroup id="LUNCH_ROOM" name="lunchroom"> <rule> <pattern> <token>lunchroom</token> </pattern> <message>This term is chiefly North American English. Consider a replacement.</message> <suggestion>canteen</suggestion> <suggestion>cafeteria</suggestion> <suggestion>break room</suggestion> <example correction="canteen|cafeteria|break room">Tom is having a break in the <marker>lunchroom</marker>.</example> </rule> <rule> <pattern> <token>lunchrooms</token> </pattern> <message>This term is chiefly North American English. Consider a replacement.</message> <suggestion>canteens</suggestion> <suggestion>cafeterias</suggestion> <suggestion>break rooms</suggestion> <example correction="canteens|cafeterias|break rooms">Tom is having a break in the <marker>lunchrooms</marker>.</example> </rule> </rulegroup> <rule id="DRIVERS_LICENSE" name="driver's licence/driving licence"> <pattern> <token>driver</token> <token>'s</token> <token regexp="yes">licences?</token> </pattern> <message>This term is chiefly North American English. Consider a replacement.</message> <suggestion>driving \4</suggestion> <url>https://www.lexico.com/definition/driving_licence</url> <example correction="driving licence">I've got a full, clean <marker>driver's licence</marker>.</example> </rule> <rule id="EGGPLANT" name="eggplant/aubergine"> <pattern> <token regexp="yes">eggplants?</token> </pattern> <message>This term is chiefly North American English. Consider a replacement.</message> <suggestion><match no="1" regexp_match="(?i)eggplant" regexp_replace="aubergine" /></suggestion> <url>https://www.lexico.com/en/definition/eggplant</url> <example correction="aubergines">He loved to eat <marker>eggplants</marker> for breakfast.</example> </rule> <rule id="ZIP_CODE_POSTCODE" name="zip code/postcode"> <pattern> <token>zip</token> <token postag_regexp="yes" postag="NN:UN|NNS" regexp="yes">codes?</token> </pattern> <message>The term '\1 \2' is common for American English. Did you mean <suggestion><match no="2" postag_regexp="yes" postag="NN(S)|NN:UN" postag_replace="NN$1">postcode</match></suggestion>?</message> <url>http://www.learnenglish.de/mistakes/USvsBrEnglish.html</url> <short>AmE/BrE: zip code/postcode</short> <example correction="postcode">Please enter your <marker>zip code</marker>.</example> <example correction="Postcodes"><marker>Zip codes</marker> are not always necessary.</example> </rule> <rule id="APARTMENT-FLAT" name="apartment/flat"> <pattern> <token inflected="yes">apartment</token> </pattern> <message>The word '\1' is common for American English. Did you mean <suggestion><match no="1" postag="(NN.*)" postag_replace="$1">flat</match></suggestion>?</message> <url>http://www.learnenglish.de/mistakes/USvsBrEnglish.html</url> <short>AmE/BrE: apartment/flat</short> <example correction="flats">These <marker>apartments</marker> are expensive.</example> <example correction="flat">I just bought an <marker>apartment</marker>.</example> </rule> <rulegroup id="BAND-AID_PLASTER" name="band-aid/plaster"> <rule><!-- 'Band-Aid' is a trademark according to Merriam Webster's dictionary. Thus, it must not have postags NN or NNS. --> <pattern> <token>band-aid</token> </pattern> <message>The word '\1' is common for American English. (Band-Aid is a trademark.) Did you mean <suggestion>plaster</suggestion>?</message> <url>http://www.learnenglish.de/mistakes/USvsBrEnglish.html</url> <short>AmE/BrE: band-aid/plaster</short> <example correction="plaster">Where's the <marker>band-aid</marker>?</example> </rule> <rule> <pattern> <token>band-aids</token> </pattern> <message>The word '\1' is common for American English. (Band-Aid is a trademark.) Did you mean <suggestion>plasters</suggestion>?</message> <url>http://www.learnenglish.de/mistakes/USvsBrEnglish.html</url> <short>AmE/BrE: band-aid/plaster</short> <example correction="plasters">These <marker>band-aids</marker> are dirty.</example> </rule> </rulegroup> <rule id="GROUND_VS_MINCED" name="ground beef/minced beef"> <pattern> <token>ground</token> <token>beef</token> </pattern> <message>The term '\1 \2' is common for American English. Did you mean <suggestion>minced \2</suggestion>?</message> <url>http://www.learnenglish.de/mistakes/USvsBrEnglish.html</url> <short>AmE/BrE: ground beef/minced beef</short> <example correction="minced beef">Do vegetarians eat <marker>ground beef</marker>?</example> </rule> <rule id="MOVIE_THEATER_CINEMA" name="movie theater/cinema"> <pattern> <token>movie</token> <token inflected="yes">theater</token> </pattern> <message>The term '\1 \2' is common for American English. Did you mean <suggestion><match no="2" postag="NN|NN(S)" postag_replace="NN$1(:UN)?">cinema</match></suggestion>?</message> <url>http://www.learnenglish.de/mistakes/USvsBrEnglish.html</url> <short>AmE/BrE: movie theater/cinema</short> <example correction="cinema">Let's go to a <marker>movie theater</marker>.</example> <example correction="Cinemas"><marker>Movie theaters</marker> are popular, despite the new online movie streaming services.</example> <example>Edward Norton – not appearing in a <marker>cinema</marker> near you.</example> </rule> <rule id="GOT_GOTTEN" name="gotten/got"> <pattern> <token>gotten</token> </pattern> <message>"Gotten" is commonly used in American English. For varieties outside of North America, "got" is the preferred variant.</message> <suggestion>got</suggestion> <url>https://languagetool.org/insights/post/grammar-got-gotten/</url> <short>AmE/BrE: gotten/got</short> <example correction="got">He has <marker>gotten</marker> some food.</example> <example correction="got">He's <marker>gotten</marker> up on the wrong side of bed.</example> </rule> <rule id="GAS_PETROL" name="gas/petrol" default="off"> <!-- This rule needs more exceptions to be usable --> <pattern> <token>gas<exception scope="previous">natural</exception></token> </pattern> <message>With the meaning of "gasoline", in British English is more common to use <suggestion>petrol</suggestion>.</message> <short>AmE/BrE: gas/petrol</short> <example>Natural gas.</example> <example correction="petrol">More <marker>gas</marker>.</example> </rule> <rule id="LICENCE_LICENSE_NOUN_SINGULAR" name="License/Licence (noun)"> <antipattern> <token postag="TO|MD" postag_regexp="yes" /> <token postag="RB" min="0" /> <token>license</token> </antipattern> <pattern> <token negate_pos="yes" postag="VB|VBD|VBG|VBN|VBP|VBZ" postag_regexp="yes">license</token> </pattern> <message><match no="1"/> must be spelled with a "c" when used as a noun in British English. Use <suggestion>licence</suggestion>.</message> <short>AmE/BrE: license/licence (noun singular)</short> <example correction="licence">Please show me your <marker>license</marker>.</example> </rule> <rule id="LICENCE_LICENSE_NOUN_PLURAL" name="Licenses/Licences (noun)"> <antipattern> <token chunk_re=".-NP-.*"/> <token negate_pos="yes" postag="VB|VBD|VBG|VBN|VBP|VBZ" postag_regexp="yes">licenses</token> <token chunk_re=".-NP-.*"/> <example>The verb licenses a bare infinitive.</example> </antipattern> <pattern> <token negate_pos="yes" postag="VB|VBD|VBG|VBN|VBP|VBZ" postag_regexp="yes">licenses</token> </pattern> <message><match no="1"/> must be spelled with a "c" when used as a noun in British English. Use <suggestion>licences</suggestion>.</message> <short>AmE/BrE: license/licence (noun plural)</short> <example correction="licences">Please show me your <marker>licenses</marker>.</example> </rule> <rule id="TRUNK_BOOT" name="trunk/boot (of car)"> <antipattern> <token>car</token> <token regexp="yes" skip="-1">boots?</token> <token regexp="yes">trunks?</token> </antipattern> <antipattern> <token regexp="yes" skip="-1">trunks?</token> <token>car</token> <token regexp="yes">boots?</token> </antipattern> <antipattern> <token>car</token> <token>'s</token> <token skip="-1">boot</token> <token regexp="yes">trunks?</token> </antipattern> <antipattern> <token regexp="yes" skip="-1">trunks?</token> <token>car</token> <token>'s</token> <token>boot</token> </antipattern> <antipattern> <token regexp="yes">boots?</token> <token>of</token> <token postag_regexp="yes" postag="DT|PDT" /> <token inflected="yes" skip="-1">car</token> <token regexp="yes">trunks?</token> </antipattern> <antipattern> <token regexp="yes" skip="-1">trunks?</token> <token regexp="yes">boots?</token> <token>of</token> <token postag_regexp="yes" postag="DT|PDT" /> <token inflected="yes">car</token> </antipattern> <pattern> <token postag="SENT_START" skip="-1"><exception scope="next" inflected="yes" regexp="yes">elephant|river|swimming|tree</exception></token> <marker> <token regexp="yes" skip="-1">trunk|trunks<exception scope="next" inflected="yes" regexp="yes">elephant|river|swimming|tree|road|muzik</exception></token> </marker> <token postag="SENT_END"><exception scope="current" inflected="yes" regexp="yes">elephant|river|swimming|tree</exception></token> </pattern> <message>In the context of cars (automobiles), '<match no="2"/>' is American English. For British English use <suggestion><match no="2" postag="(NN.*)" postag_replace="$1">boot</match></suggestion>.</message> <url>https://en.wikipedia.org/wiki/Trunk_%28car%29</url> <short>AmE/BrE: trunk/boot</short> <example correction="boot">The automobile has a small <marker>trunk</marker>.</example> <example correction="boots">Automobiles that have large <marker>trunks</marker> are usually expensive.</example> <example correction="Boots"><marker>Trunks</marker> on some automobiles are at the front.</example> <example correction="boot">This Volkswagen has a large <marker>trunk</marker>.</example> <example correction="boots">Volkswagens and Chryslers usually have large <marker>trunks</marker>.</example> <example>The elephant's <marker>trunk</marker> is long.</example> <example>This tree <marker>trunk</marker> is large.</example> <example>The <marker>trunks</marker> of some trees were damaged during the storm.</example> <example>The arterial <marker>trunks</marker> of some rivers are ...</example> <example><marker>Trunks</marker> (swimming) of various colours are available from ...</example> <example>If the electrical <marker>trunking</marker> on the car is ...</example> <example>Put the <marker>trunk</marker> into the car boot.</example> <example>The car boot contained <marker>trunks</marker> of many colours.</example> <example>The car boots contained <marker>trunks</marker> of many sizes.</example> <example>Put these items into the boot of the car: <marker>trunk</marker>, table, chair, kitchen sink.</example> <example>Put the <marker>trunks</marker> into the boot of the car.</example> <example>The lace on this <marker>boot</marker> is frayed.</example> <example>The car boot contained a <marker>trunk</marker> and a ...</example> <example>The car's boot contained a <marker>trunk</marker> and a ...</example> <example>The <marker>trunks</marker> were in our car’s boot.</example> <example>In the United Kingdom, trunk roads were first defined for Great Britain in the Trunk Roads Act 1936.</example> <example>Trunk Muzik is a mixtape by southern rapper Yelawolf.</example> <example type="triggers_error">The boot of this Volkswagen contains a large <marker>trunk</marker>.</example> <example type="triggers_error">The boots of Volkswagens are sufficiently large to contain 2 or 3 <marker>trunks</marker>.</example> <example type="triggers_error">The <marker>trunk</marker> was in the Ford.</example> <example type="triggers_error">Mr Ford has a large blue <marker>trunk</marker>.</example> <example type="triggers_error">The <marker>trunk</marker> was on the back seat of the Ford.</example> <example type="triggers_error">The abandoned car contained a stolen <marker>trunk</marker>.</example> <example type="triggers_error">The Chrysler's boot contained a <marker>trunk</marker> and a ...</example> <example type="triggers_error">Some cars' boots can contain <marker>trunks</marker> of enormous size.</example> </rule> <rule id="AIR_PLANE_AEROPLANE" name="air plane/aeroplane"><!-- 'airplane' is in replace.txt --> <pattern> <token>air</token> <token postag_regexp="yes" postag="NN|NNS" regexp="yes">planes?</token> </pattern> <message>The term '\1 \2' is common for American English. For British English use <suggestion><match no="2" postag="(NN.*)" postag_replace="$1">aeroplane</match></suggestion>.</message> <url>https://www.lexico.com/definition/airplane</url> <short>AmE/BrE: air plane/aeroplane</short> <example correction="aeroplane">This <marker>air plane</marker> is very quiet.</example> <example correction="aeroplanes">These <marker>air planes</marker> can fly for 12 hours when they are fully loaded with fuel.</example> <example>This <marker>aeroplane</marker> is very quiet.</example> </rule> <rule id="SI_UNITS_OF_MEASUREMENT_ADJECTIVES_AME" name="1-liter/1-litre"> <pattern> <token regexp="yes">([0-9]+-)(yotta|zetta|exa|peta|tera|giga|mega|kilo|hecto|deka|deci|centi|milli|micro|nano|pico|femto|atto|zepto|yocto)?(liter|meter)<exception postag="NNP"/></token> </pattern> <message>The word '<match no="1"/>' is an adjective (SI unit of measurement), but the spelling is not correct British English.</message> <short>AmE/BrE: SI units (adjectives)</short> <example correction="">Use a <marker>6-millimeter</marker> bolt.</example> <example>Use a <marker>6-millimetre</marker> bolt.</example> <example>Do not find incorrect English: use a <marker>10-millimeters</marker> bolt.</example> <example>The 4.<marker>6-centigram</marker> difference is not a problem.</example><!-- Refer to OXFORD_SPELLING_GRAM --> <example correction="">Use a <marker>10-meter</marker> rope.</example> <example correction="">Also find typographic errors: a 5.7.<marker>8-femtoliter</marker> difference is not important.</example> </rule> <rule id="TAKE_A_BATH" name="Collocation: take (have) a bath/nap"><!-- Refer to en-US/HAVE_A_BATH --> <pattern> <marker> <token inflected="yes">take</token> </marker> <or> <token>a</token> <token postag="PRP$"/> </or> <token regexp="yes" chunk_re="E-NP.*">bath|nap|rest|vacation</token> </pattern> <message>In British English, the usual verb to go with '\3' is <suggestion><match no="1" postag_regexp="yes" postag="(VB.*)" postag_replace="$1">have</match></suggestion>.</message> <url>http://dialectblog.com/2012/07/26/take-have-a-bath/</url> <short>Collocation error</short> <example correction="had">John <marker>took</marker> a nap after lunch.</example> <example correction="have">You can't <marker>take</marker> your bath now because I'm cleaning the bathroom.</example><!-- LT suggestion is not correct. --> <example correction="have">Mary will <marker>take</marker> her vacation in Paris.</example> <example correction="having">I was thinking about <marker>taking</marker> a rest, but I decided to complete the work.</example> <example correction="having">While I was <marker>taking</marker> a bath, I thought about how to lay the bedroom carpet.</example> <example correction="have">Does she <marker>take</marker> a bath in her vacation home or only a shower?</example> <example correction="had">Who <marker>took</marker> a bath in the morning?</example> <example>John <marker>had</marker> a nap after lunch.</example> </rule> <rule id="OK" name="ok (OK)"> <pattern> <token case_sensitive="yes" regexp="yes">[Oo]k</token> </pattern> <message>Lower-case '\1' is American English. For British English use <suggestion>OK</suggestion>.</message> <url>https://www.lexico.com/en/definition/ok</url> <short>AmE/BrE: ok/OK</short> <example correction="OK"><marker>Ok</marker>, I'll let you know.</example> <example correction="OK">Are you <marker>ok</marker>?</example> </rule> <rule id="ANYMORE" name="anymore (any more)"><!-- Premium #759 --> <pattern> <token>anymore</token> </pattern> <message>In British English, the spelling '\1' is sometimes considered incorrect. Did you mean <suggestion>any more</suggestion>?</message> <url>https://www.collinsdictionary.com/dictionary/english/anymore</url> <short>AmE/BrE: anymore/any more</short> <example correction="any more">I don't want to do this <marker>anymore</marker>.</example> <example>I don't want to do this <marker>any more</marker>.</example> </rule> </category> <category id="SEMANTICS" name="Semantics" type="inconsistency"> <rule id="UNION_JACK" name="Union Jack"> <antipattern case_sensitive="yes"> <token regexp="yes">Union|UNION</token> <token regexp="yes">Jack|JACK</token> </antipattern> <pattern> <token>union</token> <token>jack</token> </pattern> <message>Capitalize this word if you mean the national flag of the UK.</message> <suggestion>Union Jack</suggestion> <url>https://www.lexico.com/definition/union_jack</url> <example correction="Union Jack">The <marker>union jack</marker> is the national flag of the UK.</example> </rule> <rulegroup id="DATE_FUTURE_VERB_PAST_US" name="Future date, but verb in past tense (UK)"> <rule><!-- We have visited the client on 27/10/2040 --> <pattern> <token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token> <token postag="VBN" skip="-1" chunk_re=".-VP"> <exception>scheduled</exception> <exception regexp="yes">wed|sat</exception> <exception scope='next' regexp='yes'>before|until|will</exception></token> <marker> &date_dmy_numbers; </marker> </pattern> <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\7 month:\5 day:\3"/> <message>The given date is in the future, but the verb is in past tense.</message> <example correction="">We have visited the client on <marker>27/10/2040</marker>.</example> <example correction="">I had already informed the customer on <marker>27/10/2040</marker>.</example> <example>We have visited the client on <marker>27/10/2010</marker>.</example> <example>I had already informed the customer on <marker>27/10/2010</marker>.</example> <example>We will inform the client on 27/10/2010.</example> <example>He promised to do it before 30/08/2020.</example> <example>The data collected from 8/12/2019 to 8/29/2019 contained a lot of errors.</example><!-- XXX US standard style dates --> </rule> <rule><!-- On 27/10/2040, we have visited the client --> <pattern> <token> <exception regexp='yes'>before|until</exception></token> <marker> &date_dmy_numbers_skip; </marker> <token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token> <token postag="VBN" skip="-1" chunk_re=".-VP"> <exception regexp="yes">wed|sat</exception> </token> </pattern> <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\4 day:\2"/> <message>The given date is in the future, but the verb is in past tense.</message> <example correction="">On <marker>27/10/2040</marker>, we have visited the client.</example> <example correction="">On <marker>27/10/2040</marker>, I had already informed the customer.</example> <example>On <marker>27/10/2010</marker>, we have visited the client.</example> <example>On <marker>27/10/2010</marker>, I had already informed the customer.</example> <example>On 27/10/2010, we will inform the client.</example> <example>He promised to do it before 30/08/2020.</example> </rule> <rule><!-- We visited the client on 27/10/2040 --> <pattern> <token postag="VBD" skip="-1" chunk_re=".-VP"> <exception scope='next' regexp='yes'>before|until|will</exception> <exception regexp="yes">wed|sat</exception> </token> <marker> &date_dmy_numbers; </marker> </pattern> <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\4 day:\2"/> <message>The given date is in the future, but the verb is in past tense.</message> <example correction="">We visited the client on <marker>27/10/2040</marker>.</example> <example correction="">I already informed the customer on <marker>27/10/2040</marker>.</example> <example>We visited the client on <marker>27/10/2010</marker>.</example> <example>I already informed the customer on <marker>27/10/2010</marker>.</example> <example>We will inform the client on 27/10/2010.</example> <example>He promised to do it before 30/08/2020.</example> </rule> <rule><!-- On 27/10/2040, we visited the client --> <pattern> <token> <exception regexp='yes'>before|until</exception></token> <marker> &date_dmy_numbers_skip; </marker> <token postag="VBD" skip="-1" chunk_re=".-VP"> <exception regexp="yes">wed|sat</exception> </token> </pattern> <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\4 day:\2"/> <message>The given date is in the future, but the verb is in past tense.</message> <example correction="">On <marker>27/10/2040</marker>, we visited the client.</example> <example correction="">On <marker>27/10/2040</marker>, I already informed the customer.</example> <example>On <marker>27/10/2010</marker>, we visited the client.</example> <example>On <marker>27/10/2010</marker>, I already informed the customer.</example> <example>On 27/10/2010, we will inform the client.</example> <example>He promised to do it before 30/08/2020.</example> </rule> </rulegroup> </category> <category id="TYPOS" name="Possible Typo" type="misspelling"> <rule id="AIT" name="ait (it)"> <antipattern><!-- Context: island, river --> <token skip="-1" postag="SENT_START"/> <token skip="-1" regexp="yes" postag_regexp="yes" postag="NN.*" inflected="yes">island|river</token> <token postag="SENT_END"/> </antipattern> <pattern> <token case_sensitive="yes" regexp="yes">[Aa]it<exception postag="NNP"/></token> </pattern> <message>The rare word '\1' means a small island in a river.</message> <suggestion>air</suggestion> <suggestion>it</suggestion> <url>https://www.lexico.com/definition/ait</url> <short>Possible typo</short> <example correction="Air|It"><marker>Ait</marker> is a good idea.</example> <example correction="air|it">I need some fresh <marker>ait</marker> to clear my mind.</example> <example>An <marker>ait</marker> is a small island.</example> <example>The AIT is governed by a Committee.</example> <example>Stallergenes Greer's approach to allergen immunotherapy(AIT) is focused on individual patient needs.</example> <example>Welcome to all new and returning AiT members. </example> <example>Santo insists young full-back Rayan Ait-Nouri has their 'confidence and total support'...</example> <example>Restricted access - Isleworth Ait. Birdwatching.</example> <example>Isleworth Ait lies offshore from Heron's place.</example> <example>Visit One Over the Ait Pub and Restaurant in Brentford.</example> <example type="triggers_error">Explore releases from Ait! at Discogs.</example> </rule> </category> </rules>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy