org.languagetool.rules.sv.grammar.xml Maven / Gradle / Ivy
The newest version!
<?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 2023 ljo@fps_gbg 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 weekdays "måndags?|tisdags?|onsdags?|torsdags?|fredags?|lördags?|söndags?"> <!ENTITY abbrevWeekdays "mån?|tis?|ons?|tor?|fre?|lör?|sön?"> <!ENTITY months "januaris?|februaris?|mars'?|aprils?|majs?|junis?|julis?|augustis?|septembers?|oktobers?|novembers?|decembers?"> <!ENTITY abbrevMonths "jan|feb|mar|apr|maj|ju[ln]|aug|sept?|okt|nov|dec"> ]> <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.NN" 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> <rule id="JJ.OCH_t-ord.NN" 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> <rule id="ART_VB.n-ord" name="Rätt kongruensböjning av artikel"> <pattern> <token>ett</token> <token postag="VB:PPC:.*" postag_regexp="yes"> <exception postag="VB:PPC:NEU"/> </token> <token postag="NN:OF:S.*:UTR" postag_regexp="yes"/> </pattern> <message>Verbet i particip är böjt i utrum (\2) och bör då föregås av ordet "en" istället för "ett", alternativt böjas i neutrum. Menade du: <suggestion>en \2 \3</suggestion>?</message> <example correction="en urholkad sten">Det var <marker>ett urholkad sten</marker>. </example> </rule> <rule id="ART_VB_NN.n-ord" name="Kongruensböjning"> <pattern> <token>en</token> <token postag="VB:PPC:.*" postag_regexp="yes"> <exception postag="VB:PPC:UTR"/> </token> <token postag="NN:OF:S.*:UTR" postag_regexp="yes"/> </pattern> <message>Verbet i particip är böjt i neutrum (\2) men ska böjas i utrum som huvudordet (och artikeln). Menade du <suggestion>en <match no="2" postag="VB:PPC:UTR" /> \3</suggestion>?</message> <example correction="en urholkad sten">Det var <marker>en urholkat sten</marker>. </example> </rule> <rule id="ART_VB.t-ord" name="Rätt kongruensböjning av artikel"> <pattern> <token>en</token> <token postag="VB:PPC:.*" postag_regexp="yes"> <exception postag="VB:PPC:UTR"/> </token> <token postag="NN:OF:S.*:NEU" postag_regexp="yes"/> </pattern> <message>Verbet "\2" i particip är böjt i neutrum och bör då föregås av ordet "ett" istället för "en", alternativt böjas i utrum. Menade du <suggestion>ett \2 \3</suggestion>?</message> <example correction="ett förvånat uppvaknande">Det var <marker>en förvånat uppvaknande</marker>. </example> </rule> <rule id="ART_VB_NN.t-ord" name="Kongruensböjning"> <pattern> <token>ett</token> <token postag="VB:PPC:.*" postag_regexp="yes"> <exception postag="VB:PPC:NEU"/> </token> <token postag="NN:OF:S.*:NEU" postag_regexp="yes"/> </pattern> <message>Verbet i particip är böjt i utrum (\2) men ska böjas i neutrum som huvudordet (och artikeln). Menade du <suggestion>ett <match no="2" postag="VB:PPC:NEU" /> \3</suggestion>?</message> <example correction="ett urladdat batteri">Det var <marker>ett urladdad batteri</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> <!-- 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="NEG_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="NEG_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="NEG_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="NEG_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="NEG_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> <category id="SSK_8" name="Stor eller liten bokstav"> <rule id="VECKODAGARS_NAMN" name="Veckodagars namn"> <antipattern case_sensitive="yes"> <token regexp="yes">&weekdays;</token> </antipattern> <antipattern> <token postag="SENT_START" /> <token regexp="yes">&weekdays;</token> </antipattern> <pattern> <token regexp="yes">&weekdays;</token> </pattern> <message>Veckodagars namn skrivs med inledande gemen bokstav. Skriv <suggestion><match no="1" case_conversion="startlower" /></suggestion> inte "\1".</message> <example correction="måndag">idag är det <marker>Måndag</marker>.</example> </rule> <rule id="MÅNADERS_NAMN" name="Månaders namn"> <antipattern case_sensitive="yes"> <token regexp="yes">&months;</token> </antipattern> <antipattern> <token postag="SENT_START" /> <token regexp="yes">&months;</token> </antipattern> <pattern> <token regexp="yes">&months;</token> </pattern> <message>Månaders namn skrivs med inledande gemen bokstav. Skriv <suggestion><match no="1" case_conversion="startlower" /></suggestion> inte "\1".</message> <example correction="september">Den bästa månaden är <marker>September</marker>.</example> </rule> </category> </rules>