/
grammar.xml
322 lines (318 loc) · 16.4 KB
/
grammar.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
<?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" ?>
<!--
Swedish Grammar and Typo Rules for LanguageTool
Copyright (C) 2007, 2008 Niklas Johansson
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
-->
<rules lang="sv" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.xsd">
<!-- ====================================================================== -->
<!-- Särskrivningar -->
<!-- ====================================================================== -->
<category id="CAT1" name="Särskrivning rekommenderas">
<rule id="efter-hand" name="Särskrivning 'efterhand (efter hand)'">
<pattern>
<token>efterhand</token>
</pattern>
<message>Felaktig sammanskrivning. Menade du <suggestion>efter hand</suggestion>?</message>
<example correction="efter hand">Det visade sig <marker>efterhand</marker> att orden borde särskrivas.</example>
</rule>
</category>
<category id="CAT2" name="Sammanskrivning rekommenderas">
<rule id="ALLT_MER" name="Allt mer bör ej särskrivas">
<pattern>
<token>allt</token>
<token>mer</token>
</pattern>
<message>Enligt tt-språket och Svenska språknämnden bör ordet "<suggestion>alltmer</suggestion>" ej särskrivas.</message>
<example correction="alltmer">Det blir <marker>allt mer</marker> vanligt att folk särskriver.</example>
</rule>
</category>
<!-- ====================================================================== -->
<!-- Punkter efter förkortningar -->
<!-- ====================================================================== -->
<category id="CAT3" name="Punkt vid förkortning">
<rule id="M_FL" name="Förkortningen skrivs normalt med punkter (m.fl.)">
<pattern>
<token>m</token>
<token>fl</token>
</pattern>
<message>Denna förkortning skrivs i regel med punkter: <suggestion>m.fl.</suggestion>.</message>
<example correction="m.fl.">Vi tar med oss Maria, Jens, Sara <marker>m fl</marker> och åker till Jönköping.</example>
</rule>
<rule default="off" id="T_EX"
name="Förkortningen skrivs normalt med punkter (t.ex.)">
<pattern>
<token>t</token>
<token>ex</token>
</pattern>
<message>Denna förkortning skrivs i regel med punkter: <suggestion>t.ex.</suggestion>.</message>
<example>Vi tar <marker>t.ex.</marker> fem myror och fyra elefanter. </example>
<example correction="t.ex.">Vi tar <marker>t ex</marker> fem myror och fyra elefanter.</example>
</rule>
<rule default="off" id="TEX"
name="Förkortningen skrivs normalt med punkter (t.ex.)">
<pattern>
<token>tex</token>
</pattern>
<message>Denna förkortning skrivs i regel med punkter: <suggestion>t.ex.</suggestion>. </message>
<example>Vi tar <marker>t.ex.</marker> fem myror och fyra elefanter. </example>
<example correction="t.ex.">Vi tar <marker>tex</marker> fem myror och fyra elefanter. </example>
</rule>
</category>
<!-- ====================================================================== -->
<!-- Grammatik -->
<!-- ====================================================================== -->
<category id="GRAMMAR" name="Grammatik">
<rule id="JJ.OCH_n-ord" name="Rätt böjning av adjektivet">
<pattern>
<token>ett</token>
<token postag="JJ:P." postag_regexp="yes">
<exception postag="JJ:PN"/>
</token>
<!-- All adjectives except the ones in neuter -->
<token postag="NN:OF:S.*" postag_regexp="yes"/>
</pattern>
<message>Adjektivet är böjt i positiv utrum (\2) och bör då föregås av ordet "en" istället för "ett", alternativt böjas i positiv neutrum. Menade du: <suggestion>en \2 \3</suggestion>?</message>
<example correction="en mörk kväll">Det var <marker>ett mörk kväll</marker>. </example>
</rule>
<rulegroup id="FORRE_FORE_TITEL" name="Förre före titel">
<rule>
<pattern case_sensitive="no">
<token>förra</token>
<token regexp="yes">chefen|ordförande</token>
<token regexp="yes">på|för</token>
</pattern>
<message>Före titlar bör det stå <suggestion>förre \2 \3</suggestion> och inte förra \2 \3. Detta oavsett om det är en kvinna eller man som innehaft posten.</message>
<example correction="Förre chefen på"><marker>Förra chefen på</marker> Arla var en trevlig prick.</example>
</rule>
</rulegroup>
<rule id="EJ_FORE_ATT"
name="Ord som ej bör stå före infinitivmärket "att"">
<pattern case_sensitive="no">
<token regexp="yes">kunde|brukade</token>
<token>att</token>
</pattern>
<message>Infinitivmärket "att" bör inte förekomma efter <suggestion>\1</suggestion>.</message>
<example correction="brukade">Han <marker>brukade att</marker> komma sent.</example>
</rule>
<rule id="JJ.OCH_t-ord" name="Rätt böjning av adjektivet">
<pattern>
<token>en</token>
<token postag="JJ:P." postag_regexp="yes">
<exception postag="JJ:PU"/>
</token>
<token postag="NN:OF:S.*" postag_regexp="yes"/>
</pattern>
<message>Adjektivet "\2" är böjt i positiv neutrum och bör då föregås av ordet "ett" istället för "en", alternativt böjas i positiv utrum. <suggestion>ett \2 \3</suggestion></message>
<example correction="ett mörkt rum">Det var <marker>en mörkt rum</marker>. </example>
</rule>
<!-- Ett försök att fånga upp anföringsverb som ska föregås av ett kommatecken -->
<rule id="KommaFoereAnfoeringsverb" name="Kommatecken före anföringsverb" default="off">
<pattern>
<token><exception regexp="yes">,|vad|visst</exception></token>
<marker>
<token regexp="yes">sade|sa|menade|viskade|skrek</token>
<token postag="PM:.*" postag_regexp="yes"/>
</marker>
</pattern>
<message>Kommatecken ska sättas ut före anföringsverb, dvs. <suggestion>, \2 \3</suggestion></message>
<example>Det var finfint<marker>, sade Johan</marker>.</example>
<example correction=", sade Johan">Det var finfint<marker> sade Johan</marker>.</example>
</rule>
<rule id="EnKlubbaTill" name="Klumpiga ordföljder 1">
<pattern>
<token regexp="yes">en|ett</token>
<token>till</token>
<token postag="NN.*" postag_regexp="yes"/>
</pattern>
<message>Denna ordföljd är ofta otydlig, försök med att flytta "till" efter substantivet eller byt ut det mot ytterligare. Dvs. prova att skriva <suggestion>\1 \3 \2</suggestion>.</message>
<example correction="en klubba till">Det är nog bäst att du får <marker>en till klubba</marker>.</example>
</rule>
</category>
<!-- ====================================================================== -->
<!-- Felaktiga sammansättningar som Hunspell godkänner... -->
<!-- ====================================================================== -->
<category id="COMPOUNDING" name="Compound_problems">
<rule id="OVERRENS" name="Över_rens">
<pattern>
<token>överrens</token>
</pattern>
<message>Du menar antagligen <suggestion>överens</suggestion>.</message>
<example correction="överens">Flickorna kom <marker>överrens</marker>. </example>
</rule>
<rule id="MASERA" name="mas_era">
<pattern>
<token>masera</token>
</pattern>
<message>Du menar antagligen <suggestion>massera</suggestion> om du inte skriver om masarnas era förstås.</message>
<example correction="massera">Kan du <marker>masera</marker> mig?</example>
</rule>
</category>
<category id="CAT4" name="Ord som ofta förväxlas">
<rule id="mottoVSmatto" name="Motto vs. måtto">
<pattern>
<token>i</token>
<token regexp="yes">möjligaste|så</token>
<token>motto</token>
</pattern>
<message>I dessa uttryck används ordet måtto (från måtta) och inte motto (som betyder ung. valspråk)</message>
<example>Alla hinder bör <marker>i möjligaste måtto</marker> undanröjas.</example>
<example correction="">Alla hinder bör <marker>i möjligaste motto</marker> undanröjas.</example>
</rule>
</category>
<!-- ====================================================================== -->
<!-- Ord som hör ihop -->
<!-- ====================================================================== -->
<category id="CAT5" name="Ord som hör ihop">
<rule id="AD" name="ad ...">
<pattern>
<token>ad</token>
<token>
<exception regexp="yes">hoc|notam|acta</exception>
</token>
</pattern>
<message>Detta ord brukar sällan stå ensamt på svenska. Menade du <suggestion>ad hoc</suggestion>, <suggestion>ad acta</suggestion> eller <suggestion>ad notam</suggestion>?</message>
<example correction="ad hoc|ad acta|ad notam">
<marker>ad foobar</marker>
</example>
<example>ad acta</example>
</rule>
<rule id="LOS" name="los ...">
<pattern>
<marker>
<token>los</token>
</marker>
<token>
<exception regexp="yes">angeles|lobos</exception>
</token>
</pattern>
<message>Menade du "<suggestion>loss</suggestion>" som i "släppa taget om", eller är det en del av ett namn?</message>
<example>Los Angeles</example>
<example correction="Loss"><marker>Los</marker> Foobar</example>
</rule>
</category>
<!-- ====================================================================== -->
<!-- Syntax -->
<!-- ====================================================================== -->
<category id="CAT6" name="Syntax">
<rule id="Forkortning" name="Böjning av förkortningar\...">
<pattern>
<token regexp="yes">^(\p{Lu}{2}+[i]*\p{Lu}+[\p{L}&&[^\p{Lu}]]{1,4}+)</token>
</pattern>
<message>Förkortningar som böjs binds ihop med ett kolon: <suggestion><match
no="1"
regexp_match="^(\p{Lu}{2}+[i]*\p{Lu}+)([\p{L}&&[^\p{Lu}]]{1,4}+)"
regexp_replace="$1:$2"></match></suggestion> </message>
<example>Med det nya API:s fördelar, kan du hitta nya lösningar.</example>
<example correction="API:s">Med det nya <marker>APIs</marker> fördelar, kan du hitta nya lösningar.</example>
</rule>
<rule id="Ordningstal" name="Ordningstal">
<pattern>
<token regexp="yes">^(1a|2a|[\d]*[1-2]e)</token>
</pattern>
<message>Siffror med ändelser binds ihop med ett kolon: <suggestion><match
no="1" regexp_match="^(1|2|[\d]*[12])(a|e)" regexp_replace="$1:$2"></match></suggestion></message>
<example>Hon kom på 2:a plats</example>
<example correction="2:a">Hon kom på <marker>2a</marker> plats</example>
</rule>
<rule id="Ordningstal2" name="Ordningstal2">
<pattern>
<token regexp="yes">^([3-90][ae]|[\d]*[3-90][e]|[^1]*[012][ae])</token>
</pattern>
<message>Siffror med ändelser binds ihop med ett kolon: <suggestion><match
no="1" regexp_match="^([3-90]|[\d]*[3-90])([ae])"
regexp_replace="$1:$2"></match></suggestion></message>
<example>Han kom på 5:e plats</example>
<example correction="5:e">Han kom på <marker>5e</marker> plats</example>
</rule>
</category>
<!--================================================
Kontamination
dvs. ihopblandning av besläktade ord.
Exempelvis "ta självmord" vilket antingen heter:
"begå självmord" eller "ta sitt liv"
===============================================-->
<category id="CAT7" name="Kontamination">
<rule id="PLANER_OM" name="PLANER_OM">
<pattern case_sensitive="no">
<token>planer</token>
<token>om</token>
</pattern>
<message>Undvik att blanda konstruktioner. "Planer om" bör vara "<suggestion>planer på</suggestion>" eller "<suggestion>drömmar om</suggestion>".</message>
<example correction="planer på|drömmar om">Hon hade stora <marker>planer om</marker> det nya systemet.</example>
<example>Hon hade stora <marker>drömmar om</marker> det nya systemet</example>
<example>Hon hade stora <marker>planer på</marker> förändringar.</example>
</rule>
<rule id="MELLAN_TILL" name="Mellan klockan fem till tio">
<pattern case_sensitive="no">
<token>mellan</token>
<token regexp="yes">klockan|kl|kl\.</token>
<token/>
<token>till</token>
<token/>
</pattern>
<message>Undvik att blanda två konstruktioner. Skriv hellre <suggestion>\1 \2 \3 och \5</suggestion> än \1 \2 \3 \4 \5.</message>
<example correction="Mellan klockan två och fyra"><marker>Mellan klockan två till fyra</marker>.</example>
</rule>
<rule id="TA_SJALVMORD" name="Ta självmord">
<pattern case_sensitive="no">
<token>ta</token>
<token>självmord</token>
</pattern>
<message>Undvik att blanda konstruktioner. "Ta självmord" bör vara "<suggestion>begå självmord</suggestion>", "<suggestion>ta ditt liv</suggestion>" eller "<suggestion>ta sitt liv</suggestion>".</message>
<example correction="begå självmord|ta ditt liv|ta sitt liv">Har du någonsin funderat på att <marker>ta självmord</marker>.</example>
<example>Har du någonsin funderat på att <marker>begå självmord</marker>.</example>
</rule>
<rule id="MELLAN_SYD_TILL_NORD" name="Mellan syd till nord">
<pattern>
<token>mellan</token>
<token postag="PM.*" postag_regexp="yes"></token>
<token>till</token>
<token postag="PM.*" postag_regexp="yes"></token>
</pattern>
<message>Undvik att blanda konstruktioner. Använd antingen <suggestion>mellan \2 och \4</suggestion> eller <suggestion>från \2 till \4</suggestion></message>
<example correction="Mellan Stockholm och Skara|Från Stockholm till Skara"><marker>Mellan Stockholm till Skara</marker> finns inget intressant.</example>
<example><marker>Mellan Stockholm och Skara</marker> finns inget intressant.</example>
</rule>
<rule id="I_STOR_GRAD" name="I stor grad > i hög grad">
<pattern case_sensitive="no">
<token>i</token>
<token>stor</token>
<token>grad</token>
</pattern>
<message>Använd hellre <suggestion>i hög grad</suggestion> än "i stor grad".</message>
<example correction="i hög grad">Affärens kunder är <marker>i stor grad</marker> nöjda med servicen.</example>
</rule>
<rule id="KLAGOMAL_MOT"
name="Framföra klagomål "mot" någon ej "över"">
<pattern case_sensitive="no">
<token>klagomål</token>
<token>över</token>
</pattern>
<message>Man framför <suggestion>klagomål mot</suggestion> någon, inte "över" någon.</message>
<example correction="klagomål mot">Maria framförde sina <marker>klagomål över</marker> socialen.</example>
</rule>
<rule id="ANGRA_PA_ATT" name="Ångra på att > Ångra att">
<pattern case_sensitive="no">
<token regexp="yes">ångra|ångrar|ångrade</token>
<token>på</token>
<token>att</token>
</pattern>
<message>Man ångrar inte "på" något utan man ångrar något. Skriv därför inte "\1 \2 \3" utan skriv <suggestion>\1 \3</suggestion>.</message>
<example correction="ångrade att">Hon <marker>ångrade på att</marker> hon suttit ensam hemma den fredagen.</example>
</rule>
</category>
</rules>