@valueerror/ltjs-lang-en 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +232 -0
- package/NOTICE +10 -0
- package/README.md +25 -2
- package/index.js +34 -0
- package/licenses/LGPL-2.1.txt +504 -0
- package/licenses/english-pos-dict.pom.xml +135 -0
- package/licenses/resource_en_12dicts-readme.html +738 -0
- package/licenses/resource_en_agid-readme.txt +340 -0
- package/licenses/resource_en_pos-readme.txt +115 -0
- package/package.json +60 -4
- package/resource-root.js +4 -0
- package/resources/META-INF/org/languagetool/language-module.properties +1 -0
- package/resources/en-chunker.bin +0 -0
- package/resources/en-pos-maxent.bin +0 -0
- package/resources/en-token.bin +0 -0
- package/resources/org/languagetool/resource/en/12dicts-readme.html +738 -0
- package/resources/org/languagetool/resource/en/added.txt +446 -0
- package/resources/org/languagetool/resource/en/added_custom.txt +4 -0
- package/resources/org/languagetool/resource/en/agid-readme.txt +340 -0
- package/resources/org/languagetool/resource/en/compounds.txt +9059 -0
- package/resources/org/languagetool/resource/en/confusion_sets.txt +871 -0
- package/resources/org/languagetool/resource/en/disambiguation.xml +17238 -0
- package/resources/org/languagetool/resource/en/do-not-synthesize.txt +13 -0
- package/resources/org/languagetool/resource/en/en-US-GB.txt +4804 -0
- package/resources/org/languagetool/resource/en/en.sor +211 -0
- package/resources/org/languagetool/resource/en/english.dict +0 -0
- package/resources/org/languagetool/resource/en/english.info +8 -0
- package/resources/org/languagetool/resource/en/english_synth.dict +0 -0
- package/resources/org/languagetool/resource/en/english_synth.info +7 -0
- package/resources/org/languagetool/resource/en/english_tags.txt +88 -0
- package/resources/org/languagetool/resource/en/hunspell/en_AU.dict +0 -0
- package/resources/org/languagetool/resource/en/hunspell/en_AU.info +16 -0
- package/resources/org/languagetool/resource/en/hunspell/en_CA.dict +0 -0
- package/resources/org/languagetool/resource/en/hunspell/en_CA.info +13 -0
- package/resources/org/languagetool/resource/en/hunspell/en_GB.dict +0 -0
- package/resources/org/languagetool/resource/en/hunspell/en_GB.info +15 -0
- package/resources/org/languagetool/resource/en/hunspell/en_NZ.dict +0 -0
- package/resources/org/languagetool/resource/en/hunspell/en_NZ.info +18 -0
- package/resources/org/languagetool/resource/en/hunspell/en_US.dict +0 -0
- package/resources/org/languagetool/resource/en/hunspell/en_US.info +15 -0
- package/resources/org/languagetool/resource/en/hunspell/en_ZA.dict +0 -0
- package/resources/org/languagetool/resource/en/hunspell/en_ZA.info +16 -0
- package/resources/org/languagetool/resource/en/hunspell/ignore.txt +11070 -0
- package/resources/org/languagetool/resource/en/hunspell/prohibit.txt +383 -0
- package/resources/org/languagetool/resource/en/hunspell/prohibit_custom.txt +1 -0
- package/resources/org/languagetool/resource/en/hunspell/spelling.txt +477 -0
- package/resources/org/languagetool/resource/en/hunspell/spelling_custom.txt +1 -0
- package/resources/org/languagetool/resource/en/hunspell/spelling_en-AU.txt +34 -0
- package/resources/org/languagetool/resource/en/hunspell/spelling_en-CA.txt +28 -0
- package/resources/org/languagetool/resource/en/hunspell/spelling_en-GB.txt +44 -0
- package/resources/org/languagetool/resource/en/hunspell/spelling_en-NZ.txt +31 -0
- package/resources/org/languagetool/resource/en/hunspell/spelling_en-US.txt +41 -0
- package/resources/org/languagetool/resource/en/hunspell/spelling_en-ZA.txt +32 -0
- package/resources/org/languagetool/resource/en/hunspell/spelling_merged.txt +0 -0
- package/resources/org/languagetool/resource/en/multiwords.txt +8210 -0
- package/resources/org/languagetool/resource/en/pos-readme.txt +115 -0
- package/resources/org/languagetool/resource/en/removed.txt +31 -0
- package/resources/org/languagetool/resource/en/removed_custom.txt +4 -0
- package/resources/org/languagetool/resource/en/specific_case.txt +5621 -0
- package/resources/org/languagetool/resource/en/word_definitions.txt +1510 -0
- package/resources/org/languagetool/rules/en/coherency.txt +2501 -0
- package/resources/org/languagetool/rules/en/contractions.txt +198 -0
- package/resources/org/languagetool/rules/en/det_a.txt +959 -0
- package/resources/org/languagetool/rules/en/det_an.txt +4080 -0
- package/resources/org/languagetool/rules/en/diacritics.txt +1415 -0
- package/resources/org/languagetool/rules/en/en-AU/grammar.xml +171 -0
- package/resources/org/languagetool/rules/en/en-CA/grammar.xml +197 -0
- package/resources/org/languagetool/rules/en/en-GB/grammar.xml +555 -0
- package/resources/org/languagetool/rules/en/en-GB/replace.txt +104 -0
- package/resources/org/languagetool/rules/en/en-GB/style.xml +302 -0
- package/resources/org/languagetool/rules/en/en-NZ/grammar.xml +171 -0
- package/resources/org/languagetool/rules/en/en-NZ/replace.txt +5 -0
- package/resources/org/languagetool/rules/en/en-US/grammar.xml +913 -0
- package/resources/org/languagetool/rules/en/en-US/replace.txt +74 -0
- package/resources/org/languagetool/rules/en/en-US/style.xml +524 -0
- package/resources/org/languagetool/rules/en/grammar-l2-de.xml +227 -0
- package/resources/org/languagetool/rules/en/grammar-l2-fr.xml +39 -0
- package/resources/org/languagetool/rules/en/grammar.xml +142537 -0
- package/resources/org/languagetool/rules/en/redundancies.txt +866 -0
- package/resources/org/languagetool/rules/en/remote-rule-filters.xml +3622 -0
- package/resources/org/languagetool/rules/en/replace.txt +221 -0
- package/resources/org/languagetool/rules/en/replace_custom.txt +7 -0
- package/resources/org/languagetool/rules/en/replace_profanity.txt +540 -0
- package/resources/org/languagetool/rules/en/style.xml +12556 -0
- package/resources/org/languagetool/rules/en/synonyms.txt +42 -0
- package/resources/org/languagetool/rules/en/wordiness.txt +1061 -0
- package/resources/org/languagetool/rules/en/wrongWordInContext.txt +14 -0
- package/src/lang/en/chunking/EnglishChunkFilter.js +108 -0
- package/src/lang/en/chunking/EnglishChunker.js +135 -0
- package/src/lang/en/language/AmericanEnglish.js +73 -0
- package/src/lang/en/language/AustralianEnglish.js +42 -0
- package/src/lang/en/language/BritishEnglish.js +91 -0
- package/src/lang/en/language/CanadianEnglish.js +70 -0
- package/src/lang/en/language/English.js +398 -0
- package/src/lang/en/language/NewZealandEnglish.js +44 -0
- package/src/lang/en/language/SouthAfricanEnglish.js +40 -0
- package/src/lang/en/language/id2prioBritishEnglish.js +6 -0
- package/src/lang/en/language/id2prioEnglish.js +333 -0
- package/src/lang/en/rules/AbstractEnglishSpellerRule.js +677 -0
- package/src/lang/en/rules/AbstractEnglishSpellerRuleData.js +778 -0
- package/src/lang/en/rules/AdvancedSynthesizerFilter.js +12 -0
- package/src/lang/en/rules/AdverbFilter.js +538 -0
- package/src/lang/en/rules/AmericanReplaceRule.js +57 -0
- package/src/lang/en/rules/AvsAnData.js +37 -0
- package/src/lang/en/rules/AvsAnRule.js +182 -0
- package/src/lang/en/rules/BritishReplaceRule.js +57 -0
- package/src/lang/en/rules/CompoundRule.js +150 -0
- package/src/lang/en/rules/ConsistentApostrophesRule.js +87 -0
- package/src/lang/en/rules/ContractionSpellingRule.js +64 -0
- package/src/lang/en/rules/DateCheckFilter.js +58 -0
- package/src/lang/en/rules/DateFilterHelper.js +51 -0
- package/src/lang/en/rules/EnglishConvertToSentenceCaseFilter.js +17 -0
- package/src/lang/en/rules/EnglishDashRule.js +42 -0
- package/src/lang/en/rules/EnglishDiacriticsRule.js +67 -0
- package/src/lang/en/rules/EnglishMultitokenSpeller.js +15 -0
- package/src/lang/en/rules/EnglishNumberInWordFilter.js +38 -0
- package/src/lang/en/rules/EnglishPartialPosTagFilter.js +29 -0
- package/src/lang/en/rules/EnglishPlainEnglishRule.js +67 -0
- package/src/lang/en/rules/EnglishRedundancyRule.js +67 -0
- package/src/lang/en/rules/EnglishRepeatedWordsRule.js +212 -0
- package/src/lang/en/rules/EnglishSpecificCaseRule.js +47 -0
- package/src/lang/en/rules/EnglishSuppressMisspelledSuggestionsFilter.js +12 -0
- package/src/lang/en/rules/EnglishUnpairedBracketsRule.js +25 -0
- package/src/lang/en/rules/EnglishUnpairedQuotesRule.js +41 -0
- package/src/lang/en/rules/EnglishWordRepeatBeginningRule.js +107 -0
- package/src/lang/en/rules/EnglishWordRepeatRule.js +126 -0
- package/src/lang/en/rules/EnglishWrongWordInContextRule.js +50 -0
- package/src/lang/en/rules/FindSuggestionsFilter.js +41 -0
- package/src/lang/en/rules/FutureDateFilter.js +25 -0
- package/src/lang/en/rules/LongSentenceRule.js +19 -0
- package/src/lang/en/rules/MorfologikAmericanSpellerRule.js +69 -0
- package/src/lang/en/rules/MorfologikAustralianSpellerRule.js +45 -0
- package/src/lang/en/rules/MorfologikBritishSpellerRule.js +47 -0
- package/src/lang/en/rules/MorfologikCanadianSpellerRule.js +45 -0
- package/src/lang/en/rules/MorfologikNewZealandSpellerRule.js +45 -0
- package/src/lang/en/rules/MorfologikSouthAfricanSpellerRule.js +45 -0
- package/src/lang/en/rules/NewYearDateFilter.js +25 -0
- package/src/lang/en/rules/NewZealandReplaceRule.js +56 -0
- package/src/lang/en/rules/NoDisambiguationEnglishPartialPosTagFilter.js +24 -0
- package/src/lang/en/rules/OrdinalSuffixFilter.js +33 -0
- package/src/lang/en/rules/SimpleReplaceProfanityRule.js +55 -0
- package/src/lang/en/rules/SimpleReplaceRule.js +46 -0
- package/src/lang/en/rules/StyleTooOftenUsedAdjectiveRule.js +58 -0
- package/src/lang/en/rules/StyleTooOftenUsedNounRule.js +58 -0
- package/src/lang/en/rules/StyleTooOftenUsedVerbRule.js +58 -0
- package/src/lang/en/rules/UnitConversionRule.js +47 -0
- package/src/lang/en/rules/UnitConversionRuleImperial.js +57 -0
- package/src/lang/en/rules/UnitConversionRuleUS.js +62 -0
- package/src/lang/en/rules/VariantInfo.js +23 -0
- package/src/lang/en/rules/WordCoherencyRule.js +40 -0
- package/src/lang/en/rules/YMDDateCheckFilter.js +25 -0
- package/src/lang/en/rules/YMDNewYearDateFilter.js +25 -0
- package/src/lang/en/rules/translation/BeoLingusTranslator.js +357 -0
- package/src/lang/en/rules/translation/Inflector.js +72 -0
- package/src/lang/en/synthesis/EnglishSynthesizer.js +109 -0
- package/src/lang/en/tagging/EnglishHybridDisambiguator.js +28 -0
- package/src/lang/en/tagging/EnglishTagger.js +78 -0
- package/src/lang/en/tokenizers/EnglishWordTokenizer.js +113 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<?xml-stylesheet type="text/xsl" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/print.xsl" ?>
|
|
3
|
+
<?xml-stylesheet type="text/css" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.css"
|
|
4
|
+
title="Easy editing stylesheet" ?>
|
|
5
|
+
<!--
|
|
6
|
+
British English Grammar and Typo Rules for LanguageTool
|
|
7
|
+
See tagset.txt for the meaning of the POS tags
|
|
8
|
+
Copyright (C) 2012 Marcin Miłkowski (https://www.languagetool.org)
|
|
9
|
+
|
|
10
|
+
This library is free software; you can redistribute it and/or
|
|
11
|
+
modify it under the terms of the GNU Lesser General Public
|
|
12
|
+
License as published by the Free Software Foundation; either
|
|
13
|
+
version 2.1 of the License, or (at your option) any later version.
|
|
14
|
+
|
|
15
|
+
This library is distributed in the hope that it will be useful,
|
|
16
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
17
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
18
|
+
Lesser General Public License for more details.
|
|
19
|
+
|
|
20
|
+
You should have received a copy of the GNU Lesser General Public
|
|
21
|
+
License along with this library; if not, write to the Free Software
|
|
22
|
+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
|
23
|
+
USA
|
|
24
|
+
-->
|
|
25
|
+
|
|
26
|
+
<!DOCTYPE rules [
|
|
27
|
+
<!ENTITY hyphen "(?:[-‑])">
|
|
28
|
+
|
|
29
|
+
<!ENTITY ambiguous_date '
|
|
30
|
+
<token regexp="yes">0?[1-9]|1[0-2]</token>
|
|
31
|
+
<token>/</token>
|
|
32
|
+
<token regexp="yes">0?[1-9]|1[0-2]</token>
|
|
33
|
+
<token>/</token>
|
|
34
|
+
<token regexp="yes">\d\d\d\d</token>
|
|
35
|
+
'>
|
|
36
|
+
<!-- "7 October 2014" and "7th October 2014" -->
|
|
37
|
+
<!ENTITY date_dmy '
|
|
38
|
+
<token regexp="yes">\d\d?(th)?</token>
|
|
39
|
+
<token regexp="yes">&months;|&abbrevMonths;</token>
|
|
40
|
+
<token regexp="yes">\d\d\d\d</token>
|
|
41
|
+
'>
|
|
42
|
+
<!ENTITY date_dmy_skip '
|
|
43
|
+
<token regexp="yes">\d\d?</token>
|
|
44
|
+
<token regexp="yes">&months;|&abbrevMonths;</token>
|
|
45
|
+
<token regexp="yes" skip="-1">\d\d\d\d</token>
|
|
46
|
+
'>
|
|
47
|
+
<!-- "October 7, 2014" -->
|
|
48
|
+
<!ENTITY date_mdy '
|
|
49
|
+
<token regexp="yes">&months;|&abbrevMonths;</token>
|
|
50
|
+
<token regexp="yes">\d\d?</token>
|
|
51
|
+
<token>,</token>
|
|
52
|
+
<token regexp="yes">\d\d\d\d</token>
|
|
53
|
+
'>
|
|
54
|
+
<!ENTITY date_mdy_skip '
|
|
55
|
+
<token regexp="yes">&months;|&abbrevMonths;</token>
|
|
56
|
+
<token regexp="yes">\d\d?</token>
|
|
57
|
+
<token>,</token>
|
|
58
|
+
<token regexp="yes" skip="-1">\d\d\d\d</token>
|
|
59
|
+
'>
|
|
60
|
+
<!-- "31/10/2014" -->
|
|
61
|
+
<!ENTITY date_dmy_numbers '
|
|
62
|
+
<token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
|
|
63
|
+
<token>/</token>
|
|
64
|
+
<token regexp="yes">0?[1-9]|1[0-2]</token>
|
|
65
|
+
<token>/</token>
|
|
66
|
+
<token regexp="yes">\d\d\d\d</token>
|
|
67
|
+
'>
|
|
68
|
+
<!ENTITY date_dmy_numbers_skip '
|
|
69
|
+
<token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
|
|
70
|
+
<token>/</token>
|
|
71
|
+
<token regexp="yes">0?[1-9]|1[0-2]</token>
|
|
72
|
+
<token>/</token>
|
|
73
|
+
<token regexp="yes" skip="-1">\d\d\d\d</token>
|
|
74
|
+
'>
|
|
75
|
+
<!-- "10/31/2014" -->
|
|
76
|
+
<!ENTITY date_mdy_numbers '
|
|
77
|
+
<token regexp="yes">0?[1-9]|1[0-2]</token>
|
|
78
|
+
<token>/</token>
|
|
79
|
+
<token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
|
|
80
|
+
<token>/</token>
|
|
81
|
+
<token regexp="yes">\d\d\d\d</token>
|
|
82
|
+
'>
|
|
83
|
+
<!ENTITY date_mdy_numbers_skip '
|
|
84
|
+
<token regexp="yes">0?[1-9]|1[0-2]</token>
|
|
85
|
+
<token>/</token>
|
|
86
|
+
<token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
|
|
87
|
+
<token>/</token>
|
|
88
|
+
<token regexp="yes" skip="-1">\d\d\d\d</token>
|
|
89
|
+
'>
|
|
90
|
+
]>
|
|
91
|
+
|
|
92
|
+
<rules lang="en-GB" xsi:noNamespaceSchemaLocation="../../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.xsd"
|
|
93
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
94
|
+
<category id="SEMANTICS" name="Semantics" type="inconsistency">
|
|
95
|
+
<rulegroup id="DATE_FUTURE_VERB_PAST_US" name="Future date, but verb in past tense (UK)">
|
|
96
|
+
<rule> <!-- We have visited the client on 27/10/2040 -->
|
|
97
|
+
<pattern>
|
|
98
|
+
<token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token>
|
|
99
|
+
<token postag="VBN" skip="-1" chunk_re=".-VP">
|
|
100
|
+
<exception>scheduled</exception>
|
|
101
|
+
<exception regexp="yes">wed|sat</exception>
|
|
102
|
+
<exception scope='next' regexp='yes'>before|until|will</exception></token>
|
|
103
|
+
<marker> &date_dmy_numbers; </marker>
|
|
104
|
+
</pattern>
|
|
105
|
+
<filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\7 month:\5 day:\3"/>
|
|
106
|
+
<message>The given date is in the future, but the verb is in past tense.</message>
|
|
107
|
+
<example correction="">We have visited the client on <marker>27/10/2040</marker>.</example>
|
|
108
|
+
<example correction="">I had already informed the customer on <marker>27/10/2040</marker>.</example>
|
|
109
|
+
<example>We have visited the client on <marker>27/10/2010</marker>.</example>
|
|
110
|
+
<example>I had already informed the customer on <marker>27/10/2010</marker>.</example>
|
|
111
|
+
<example>We will inform the client on 27/10/2010.</example>
|
|
112
|
+
<example>He promised to do it before 30/08/2020.</example>
|
|
113
|
+
<example>The data collected from 8/12/2019 to 8/29/2019 contained a lot of errors.</example><!-- XXX US standard style dates -->
|
|
114
|
+
</rule>
|
|
115
|
+
<rule> <!-- On 27/10/2040, we have visited the client -->
|
|
116
|
+
<pattern>
|
|
117
|
+
<token>
|
|
118
|
+
<exception regexp='yes'>before|until</exception></token>
|
|
119
|
+
<marker> &date_dmy_numbers_skip; </marker>
|
|
120
|
+
<token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token>
|
|
121
|
+
<token postag="VBN" skip="-1" chunk_re=".-VP">
|
|
122
|
+
<exception regexp="yes">wed|sat</exception>
|
|
123
|
+
</token>
|
|
124
|
+
</pattern>
|
|
125
|
+
<filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\4 day:\2"/>
|
|
126
|
+
<message>The given date is in the future, but the verb is in past tense.</message>
|
|
127
|
+
<example correction="">On <marker>27/10/2040</marker>, we have visited the client.</example>
|
|
128
|
+
<example correction="">On <marker>27/10/2040</marker>, I had already informed the customer.</example>
|
|
129
|
+
<example>On <marker>27/10/2010</marker>, we have visited the client.</example>
|
|
130
|
+
<example>On <marker>27/10/2010</marker>, I had already informed the customer.</example>
|
|
131
|
+
<example>On 27/10/2010, we will inform the client.</example>
|
|
132
|
+
<example>He promised to do it before 30/08/2020.</example>
|
|
133
|
+
</rule>
|
|
134
|
+
<rule> <!-- We visited the client on 27/10/2040 -->
|
|
135
|
+
<pattern>
|
|
136
|
+
<token postag="VBD" skip="-1" chunk_re=".-VP">
|
|
137
|
+
<exception scope='next' regexp='yes'>before|until|will</exception>
|
|
138
|
+
<exception regexp="yes">wed|sat</exception>
|
|
139
|
+
</token>
|
|
140
|
+
<marker> &date_dmy_numbers; </marker>
|
|
141
|
+
</pattern>
|
|
142
|
+
<filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\4 day:\2"/>
|
|
143
|
+
<message>The given date is in the future, but the verb is in past tense.</message>
|
|
144
|
+
<example correction="">We visited the client on <marker>27/10/2040</marker>.</example>
|
|
145
|
+
<example correction="">I already informed the customer on <marker>27/10/2040</marker>.</example>
|
|
146
|
+
<example>We visited the client on <marker>27/10/2010</marker>.</example>
|
|
147
|
+
<example>I already informed the customer on <marker>27/10/2010</marker>.</example>
|
|
148
|
+
<example>We will inform the client on 27/10/2010.</example>
|
|
149
|
+
<example>He promised to do it before 30/08/2020.</example>
|
|
150
|
+
</rule>
|
|
151
|
+
<rule> <!-- On 27/10/2040, we visited the client -->
|
|
152
|
+
<pattern>
|
|
153
|
+
<token>
|
|
154
|
+
<exception regexp='yes'>before|until</exception></token>
|
|
155
|
+
<marker> &date_dmy_numbers_skip; </marker>
|
|
156
|
+
<token postag="VBD" skip="-1" chunk_re=".-VP">
|
|
157
|
+
<exception regexp="yes">wed|sat</exception>
|
|
158
|
+
</token>
|
|
159
|
+
</pattern>
|
|
160
|
+
<filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\4 day:\2"/>
|
|
161
|
+
<message>The given date is in the future, but the verb is in past tense.</message>
|
|
162
|
+
<example correction="">On <marker>27/10/2040</marker>, we visited the client.</example>
|
|
163
|
+
<example correction="">On <marker>27/10/2040</marker>, I already informed the customer.</example>
|
|
164
|
+
<example>On <marker>27/10/2010</marker>, we visited the client.</example>
|
|
165
|
+
<example>On <marker>27/10/2010</marker>, I already informed the customer.</example>
|
|
166
|
+
<example>On 27/10/2010, we will inform the client.</example>
|
|
167
|
+
<example>He promised to do it before 30/08/2020.</example>
|
|
168
|
+
</rule>
|
|
169
|
+
</rulegroup>
|
|
170
|
+
</category>
|
|
171
|
+
</rules>
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<?xml-stylesheet type="text/xsl" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/print.xsl" ?>
|
|
3
|
+
<?xml-stylesheet type="text/css" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.css"
|
|
4
|
+
title="Easy editing stylesheet" ?>
|
|
5
|
+
<!--
|
|
6
|
+
British English Grammar and Typo Rules for LanguageTool
|
|
7
|
+
See tagset.txt for the meaning of the POS tags
|
|
8
|
+
Copyright (C) 2012 Marcin Miłkowski (https://www.languagetool.org)
|
|
9
|
+
|
|
10
|
+
This library is free software; you can redistribute it and/or
|
|
11
|
+
modify it under the terms of the GNU Lesser General Public
|
|
12
|
+
License as published by the Free Software Foundation; either
|
|
13
|
+
version 2.1 of the License, or (at your option) any later version.
|
|
14
|
+
|
|
15
|
+
This library is distributed in the hope that it will be useful,
|
|
16
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
17
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
18
|
+
Lesser General Public License for more details.
|
|
19
|
+
|
|
20
|
+
You should have received a copy of the GNU Lesser General Public
|
|
21
|
+
License along with this library; if not, write to the Free Software
|
|
22
|
+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
|
23
|
+
USA
|
|
24
|
+
-->
|
|
25
|
+
|
|
26
|
+
<!DOCTYPE rules [
|
|
27
|
+
<!ENTITY hyphen "(?:[-‑])">
|
|
28
|
+
|
|
29
|
+
<!ENTITY ambiguous_date '
|
|
30
|
+
<token regexp="yes">0?[1-9]|1[0-2]</token>
|
|
31
|
+
<token>/</token>
|
|
32
|
+
<token regexp="yes">0?[1-9]|1[0-2]</token>
|
|
33
|
+
<token>/</token>
|
|
34
|
+
<token regexp="yes">\d\d\d\d</token>
|
|
35
|
+
'>
|
|
36
|
+
<!-- "7 October 2014" and "7th October 2014" -->
|
|
37
|
+
<!ENTITY date_dmy '
|
|
38
|
+
<token regexp="yes">\d\d?(th)?</token>
|
|
39
|
+
<token regexp="yes">&months;|&abbrevMonths;</token>
|
|
40
|
+
<token regexp="yes">\d\d\d\d</token>
|
|
41
|
+
'>
|
|
42
|
+
<!ENTITY date_dmy_skip '
|
|
43
|
+
<token regexp="yes">\d\d?</token>
|
|
44
|
+
<token regexp="yes">&months;|&abbrevMonths;</token>
|
|
45
|
+
<token regexp="yes" skip="-1">\d\d\d\d</token>
|
|
46
|
+
'>
|
|
47
|
+
<!-- "October 7, 2014" -->
|
|
48
|
+
<!ENTITY date_mdy '
|
|
49
|
+
<token regexp="yes">&months;|&abbrevMonths;</token>
|
|
50
|
+
<token regexp="yes">\d\d?</token>
|
|
51
|
+
<token>,</token>
|
|
52
|
+
<token regexp="yes">\d\d\d\d</token>
|
|
53
|
+
'>
|
|
54
|
+
<!ENTITY date_mdy_skip '
|
|
55
|
+
<token regexp="yes">&months;|&abbrevMonths;</token>
|
|
56
|
+
<token regexp="yes">\d\d?</token>
|
|
57
|
+
<token>,</token>
|
|
58
|
+
<token regexp="yes" skip="-1">\d\d\d\d</token>
|
|
59
|
+
'>
|
|
60
|
+
<!-- "31/10/2014" -->
|
|
61
|
+
<!ENTITY date_dmy_numbers '
|
|
62
|
+
<token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
|
|
63
|
+
<token>/</token>
|
|
64
|
+
<token regexp="yes">0?[1-9]|1[0-2]</token>
|
|
65
|
+
<token>/</token>
|
|
66
|
+
<token regexp="yes">\d\d\d\d</token>
|
|
67
|
+
'>
|
|
68
|
+
<!ENTITY date_dmy_numbers_skip '
|
|
69
|
+
<token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
|
|
70
|
+
<token>/</token>
|
|
71
|
+
<token regexp="yes">0?[1-9]|1[0-2]</token>
|
|
72
|
+
<token>/</token>
|
|
73
|
+
<token regexp="yes" skip="-1">\d\d\d\d</token>
|
|
74
|
+
'>
|
|
75
|
+
<!-- "10/31/2014" -->
|
|
76
|
+
<!ENTITY date_mdy_numbers '
|
|
77
|
+
<token regexp="yes">0?[1-9]|1[0-2]</token>
|
|
78
|
+
<token>/</token>
|
|
79
|
+
<token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
|
|
80
|
+
<token>/</token>
|
|
81
|
+
<token regexp="yes">\d\d\d\d</token>
|
|
82
|
+
'>
|
|
83
|
+
<!ENTITY date_mdy_numbers_skip '
|
|
84
|
+
<token regexp="yes">0?[1-9]|1[0-2]</token>
|
|
85
|
+
<token>/</token>
|
|
86
|
+
<token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
|
|
87
|
+
<token>/</token>
|
|
88
|
+
<token regexp="yes" skip="-1">\d\d\d\d</token>
|
|
89
|
+
'>
|
|
90
|
+
]>
|
|
91
|
+
|
|
92
|
+
<rules lang="en-GB" xsi:noNamespaceSchemaLocation="../../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.xsd"
|
|
93
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
94
|
+
<category id="SEMANTICS" name="Semantics" type="inconsistency">
|
|
95
|
+
<rulegroup id="DATE_FUTURE_VERB_PAST_US" name="Future date, but verb in past tense (International)">
|
|
96
|
+
<rule> <!-- We have visited the client on 27/10/2040 -->
|
|
97
|
+
<pattern>
|
|
98
|
+
<token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token>
|
|
99
|
+
<token postag="VBN" skip="-1" chunk_re=".-VP">
|
|
100
|
+
<exception>scheduled</exception>
|
|
101
|
+
<exception regexp="yes">wed|sat</exception>
|
|
102
|
+
<exception scope='next' regexp='yes'>before|until|will</exception></token>
|
|
103
|
+
<marker> &date_dmy_numbers; </marker>
|
|
104
|
+
</pattern>
|
|
105
|
+
<filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\7 month:\5 day:\3"/>
|
|
106
|
+
<message>The given date is in the future, but the verb is in past tense.</message>
|
|
107
|
+
<example correction="">We have visited the client on <marker>27/10/2040</marker>.</example>
|
|
108
|
+
<example correction="">I had already informed the customer on <marker>27/10/2040</marker>.</example>
|
|
109
|
+
<example>We have visited the client on <marker>27/10/2010</marker>.</example>
|
|
110
|
+
<example>I had already informed the customer on <marker>27/10/2010</marker>.</example>
|
|
111
|
+
<example>We will inform the client on 27/10/2010.</example>
|
|
112
|
+
<example>He promised to do it before 30/08/2020.</example>
|
|
113
|
+
<example>The data collected from 8/12/2019 to 8/29/2019 contained a lot of errors.</example><!-- XXX US standard style dates -->
|
|
114
|
+
</rule>
|
|
115
|
+
<rule> <!-- On 27/10/2040, we have visited the client -->
|
|
116
|
+
<pattern>
|
|
117
|
+
<token>
|
|
118
|
+
<exception regexp='yes'>before|until</exception></token>
|
|
119
|
+
<marker> &date_dmy_numbers_skip; </marker>
|
|
120
|
+
<token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token>
|
|
121
|
+
<token postag="VBN" skip="-1" chunk_re=".-VP">
|
|
122
|
+
<exception regexp="yes">wed|sat</exception>
|
|
123
|
+
</token>
|
|
124
|
+
</pattern>
|
|
125
|
+
<filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\4 day:\2"/>
|
|
126
|
+
<message>The given date is in the future, but the verb is in past tense.</message>
|
|
127
|
+
<example correction="">On <marker>27/10/2040</marker>, we have visited the client.</example>
|
|
128
|
+
<example correction="">On <marker>27/10/2040</marker>, I had already informed the customer.</example>
|
|
129
|
+
<example>On <marker>27/10/2010</marker>, we have visited the client.</example>
|
|
130
|
+
<example>On <marker>27/10/2010</marker>, I had already informed the customer.</example>
|
|
131
|
+
<example>On 27/10/2010, we will inform the client.</example>
|
|
132
|
+
<example>He promised to do it before 30/08/2020.</example>
|
|
133
|
+
</rule>
|
|
134
|
+
<rule> <!-- We visited the client on 27/10/2040 -->
|
|
135
|
+
<pattern>
|
|
136
|
+
<token postag="VBD" skip="-1" chunk_re=".-VP">
|
|
137
|
+
<exception scope='next' regexp='yes'>before|until|will</exception>
|
|
138
|
+
<exception regexp="yes">wed|sat</exception>
|
|
139
|
+
</token>
|
|
140
|
+
<marker> &date_dmy_numbers; </marker>
|
|
141
|
+
</pattern>
|
|
142
|
+
<filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\4 day:\2"/>
|
|
143
|
+
<message>The given date is in the future, but the verb is in past tense.</message>
|
|
144
|
+
<example correction="">We visited the client on <marker>27/10/2040</marker>.</example>
|
|
145
|
+
<example correction="">I already informed the customer on <marker>27/10/2040</marker>.</example>
|
|
146
|
+
<example>We visited the client on <marker>27/10/2010</marker>.</example>
|
|
147
|
+
<example>I already informed the customer on <marker>27/10/2010</marker>.</example>
|
|
148
|
+
<example>We will inform the client on 27/10/2010.</example>
|
|
149
|
+
<example>He promised to do it before 30/08/2020.</example>
|
|
150
|
+
</rule>
|
|
151
|
+
<rule> <!-- On 27/10/2040, we visited the client -->
|
|
152
|
+
<pattern>
|
|
153
|
+
<token>
|
|
154
|
+
<exception regexp='yes'>before|until</exception></token>
|
|
155
|
+
<marker> &date_dmy_numbers_skip; </marker>
|
|
156
|
+
<token postag="VBD" skip="-1" chunk_re=".-VP">
|
|
157
|
+
<exception regexp="yes">wed|sat</exception>
|
|
158
|
+
</token>
|
|
159
|
+
</pattern>
|
|
160
|
+
<filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\4 day:\2"/>
|
|
161
|
+
<message>The given date is in the future, but the verb is in past tense.</message>
|
|
162
|
+
<example correction="">On <marker>27/10/2040</marker>, we visited the client.</example>
|
|
163
|
+
<example correction="">On <marker>27/10/2040</marker>, I already informed the customer.</example>
|
|
164
|
+
<example>On <marker>27/10/2010</marker>, we visited the client.</example>
|
|
165
|
+
<example>On <marker>27/10/2010</marker>, I already informed the customer.</example>
|
|
166
|
+
<example>On 27/10/2010, we will inform the client.</example>
|
|
167
|
+
<example>He promised to do it before 30/08/2020.</example>
|
|
168
|
+
</rule>
|
|
169
|
+
</rulegroup>
|
|
170
|
+
</category>
|
|
171
|
+
|
|
172
|
+
<category id="STYLE" name="Style" type="style">
|
|
173
|
+
<rule id="FOR_EVER_GB" name="for ever (forever)">
|
|
174
|
+
<antipattern>
|
|
175
|
+
<token>ever</token>
|
|
176
|
+
<token regexp="yes">since|one|body|thing|glades?|bloomers?|changing</token>
|
|
177
|
+
</antipattern>
|
|
178
|
+
<antipattern>
|
|
179
|
+
<token>ever</token>
|
|
180
|
+
<token postag="JJR" />
|
|
181
|
+
</antipattern>
|
|
182
|
+
<antipattern>
|
|
183
|
+
<token>ever</token>
|
|
184
|
+
<token regexp="yes">and|&|or</token>
|
|
185
|
+
<token>ever</token>
|
|
186
|
+
</antipattern>
|
|
187
|
+
<pattern>
|
|
188
|
+
<token>for</token>
|
|
189
|
+
<token>ever</token>
|
|
190
|
+
</pattern>
|
|
191
|
+
<message>It is more common to spell this adverb as one word.</message>
|
|
192
|
+
<suggestion>forever</suggestion>
|
|
193
|
+
<url>https://www.lexico.com/definition/forever</url>
|
|
194
|
+
<example correction="forever">Your texts are stored <marker>for ever</marker>.</example>
|
|
195
|
+
</rule>
|
|
196
|
+
</category>
|
|
197
|
+
</rules>
|