Revision: 10274
http://sourceforge.net/p/languagetool/code/10274
Author: jaumeortola
Date: 2013-06-22 09:18:40 +0000 (Sat, 22 Jun 2013)
Log Message:
-----------
[ca] Fixed a lot of false alarms. Dictionary update.
Modified Paths:
--------------
trunk/languagetool/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/ComplexAdjectiveConcordanceRule.java
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/catalan.dict
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/catalan_synth.dict
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/catalan_tags.txt
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/disambiguation.xml
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/multiwords.txt
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/rules/ca/grammar.xml
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/rules/ca/wrongWordInContext.txt
trunk/languagetool/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/ComplexAdjectiveConcordanceRuleTest.java
Modified:
trunk/languagetool/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/ComplexAdjectiveConcordanceRule.java
===================================================================
---
trunk/languagetool/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/ComplexAdjectiveConcordanceRule.java
2013-06-22 08:41:09 UTC (rev 10273)
+++
trunk/languagetool/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/ComplexAdjectiveConcordanceRule.java
2013-06-22 09:18:40 UTC (rev 10274)
@@ -95,6 +95,7 @@
private static final Pattern VERB = Pattern.compile("V.[^P].*|_GV_");
private static final Pattern EXCEPCIONS_PARTICIPI =
Pattern.compile("atès|atés|atesa|atesos|ateses|donat|donats|donada|donades");
private static final Pattern EXCEPCIONS_PREVIA =
Pattern.compile("termes?|paraul(a|es)|mots?|vocables?|expressi(ó|ons)|noms?|tipus|denominaci(ó|ons)");
+ private static final Pattern EXCEPCIONS_PREVIA_POSTAG =
Pattern.compile("_loc_meitat");
public ComplexAdjectiveConcordanceRule(ResourceBundle messages)
throws IOException {
@@ -274,6 +275,9 @@
//exception: termes, paraules, etc.
if (!isException &&
matchRegexp(prevToken,EXCEPCIONS_PREVIA)) {
isException=true;}
+ //exceptions: la meitat mascles
+ if (!isException &&
matchPostagRegexp(tokens[i-1],EXCEPCIONS_PREVIA_POSTAG)) {
+ isException=true;}
//exceptions: llevat de, tret de, majúsucula
inicial
if ( !isException && ( ((token.equals("tret")
|| token.equals("llevat") ) && nextToken.equals("de"))
|| token.equals("primer") ||
token.equals("junts")
Modified:
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/catalan.dict
===================================================================
(Binary files differ)
Modified:
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/catalan_synth.dict
===================================================================
(Binary files differ)
Modified:
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/catalan_tags.txt
===================================================================
---
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/catalan_tags.txt
2013-06-22 08:41:09 UTC (rev 10273)
+++
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/catalan_tags.txt
2013-06-22 09:18:40 UTC (rev 10274)
@@ -15,6 +15,8 @@
AQ0MPP
AQ0MS0
AQ0MSP
+AQACP0
+AQACS0
AQAFP0
AQAFS0
AQAMP0
Modified:
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/disambiguation.xml
===================================================================
---
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/disambiguation.xml
2013-06-22 08:41:09 UTC (rev 10273)
+++
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/disambiguation.xml
2013-06-22 09:18:40 UTC (rev 10274)
@@ -288,6 +288,7 @@
<disambig action="add"><wd pos="LOC_ADJ"/><wd
pos="LOC_ADJ"/></disambig>
<example type="untouched">No us heu <marker>de fiar</marker> de
ningú.</example>
</rule>
+ <!--locucions adverbials de temps-->
<rule id="any_a_any" name="any a any">
<pattern>
<marker>
@@ -298,6 +299,71 @@
</pattern>
<disambig action="add"><wd pos="<LOC_ADV>"/><wd
pos="<LOC_ADV>"/><wd pos="</LOC_ADV>"/></disambig>
</rule>
+ <rule id="en_pocs_anys" name="en pocs anys/dies/hores/minuts...">
+ <pattern>
+ <marker>
+ <token>en</token>
+ <unify>
+ <feature id="nombre"/>
+ <feature id="genere"/>
+ <token inflected="yes">poc</token>
+ <token postag="NC.P.*" postag_regexp="yes"
inflected="yes" regexp="yes">segon|minut|hora|dia|setmana|mes|any|dècada</token>
+ </unify>
+ </marker>
+ </pattern>
+ <disambig action="add"><wd pos="LOC_ADV"/><wd pos="LOC_ADV"/><wd
pos="LOC_ADV"/></disambig>
+ </rule>
+ <rule id="anys_despres" name="anys/dies/hores/minuts... després">
+ <pattern>
+ <token postag="N.*" postag_regexp="yes"><exception
postag="DN.*" postag_regexp="yes"/></token>
+ <marker>
+ <token
regexp="yes">segons|minuts|hores|dies|setmanes|mesos|anys|dècades|segles</token>
+ <token>després</token>
+ </marker>
+ </pattern>
+ <disambig action="add"><wd pos="LOC_ADV"/><wd
pos="LOC_ADV"/></disambig>
+ </rule>
+ <rule id="anys_mes_tard" name="anys/dies/hores/minuts... més tard">
+ <pattern>
+ <token postag="N.*" postag_regexp="yes"><exception
postag="DN.*" postag_regexp="yes"/></token>
+ <marker>
+ <token
regexp="yes">segons|minuts|hores|dies|setmanes|mesos|anys|dècades|segles</token>
+ <token>més</token>
+ <token regexp="yes">tard|avant|endavant</token>
+ </marker>
+ </pattern>
+ <disambig action="add"><wd pos="LOC_ADV"/><wd pos="LOC_ADV"/><wd
pos="LOC_ADV"/></disambig>
+ </rule>
+ <rule id="anys_enrere" name="anys enrere">
+ <pattern>
+ <marker>
+ <token
regexp="yes">dies|setmanes|mesos|anys|dècades|segles</token>
+ <token regexp="yes">(en|ar|endar)(rer[ea])</token>
+ </marker>
+ </pattern>
+ <disambig action="add"><wd pos="LOC_ADV"/><wd
pos="LOC_ADV"/></disambig>
+ </rule>
+ <rule id="anys_i_anys" name="anys i anys">
+ <pattern>
+ <marker>
+ <token
regexp="yes">hores|dies|setmanes|mesos|anys|dècades|segles</token>
+ <token>i</token>
+ <token><match no="0"/></token>
+ </marker>
+ </pattern>
+ <disambig action="replace"><wd pos="LOC_ADV"/><wd
pos="LOC_ADV"/><wd pos="LOC_ADV"/></disambig>
+ </rule>
+ <rule id="anys_i_anys2" name="anys i més anys">
+ <pattern>
+ <marker>
+ <token
regexp="yes">hores|dies|setmanes|mesos|anys|dècades|segles</token>
+ <token>i</token>
+ <token>més</token>
+ <token><match no="0"/></token>
+ </marker>
+ </pattern>
+ <disambig action="replace"><wd pos="LOC_ADV"/><wd
pos="LOC_ADV"/><wd pos="LOC_ADV"/><wd pos="LOC_ADV"/></disambig>
+ </rule>
<!-- Locucions adverbials-->
<rule id="loc_adv3paraules" name="locució adverbial 3 paraules">
<pattern>
@@ -418,8 +484,7 @@
</marker>
</pattern>
<disambig action="filter" postag=".*LOC_ADJ.*"></disambig>
- </rule>
-
+ </rule>
<rule id="cada_vegada" name="cada vegada">
<pattern>
<token>cada</token>
@@ -444,36 +509,6 @@
</pattern>
<disambig action="add"><wd pos="LOC_ADV"/><wd pos="LOC_ADV"/><wd
pos="LOC_ADV"/></disambig>
</rule>
- <rule id="anys_enrere" name="anys enrere">
- <pattern>
- <marker>
- <token
regexp="yes">dies|setmanes|mesos|anys|dècades|segles</token>
- <token regexp="yes">(en|ar|endar)(rer[ea])</token>
- </marker>
- </pattern>
- <disambig action="add"><wd pos="LOC_ADV"/><wd
pos="LOC_ADV"/></disambig>
- </rule>
- <rule id="anys_i_anys" name="anys i anys">
- <pattern>
- <marker>
- <token
regexp="yes">hores|dies|setmanes|mesos|anys|dècades|segles</token>
- <token>i</token>
- <token><match no="0"/></token>
- </marker>
- </pattern>
- <disambig action="replace"><wd pos="LOC_ADV"/><wd
pos="LOC_ADV"/><wd pos="LOC_ADV"/></disambig>
- </rule>
- <rule id="anys_i_anys2" name="anys i més anys">
- <pattern>
- <marker>
- <token
regexp="yes">hores|dies|setmanes|mesos|anys|dècades|segles</token>
- <token>i</token>
- <token>més</token>
- <token><match no="0"/></token>
- </marker>
- </pattern>
- <disambig action="replace"><wd pos="LOC_ADV"/><wd
pos="LOC_ADV"/><wd pos="LOC_ADV"/><wd pos="LOC_ADV"/></disambig>
- </rule>
<rule id="mes_de_nou" name="més de nou (excepció)">
<pattern>
<token>més</token>
@@ -513,7 +548,7 @@
</pattern>
<disambig action="add"><wd lemma="donat que" pos="LOC_CONJ"/><wd
lemma="donat que" pos="LOC_CONJ"/></disambig>
</rule>
- </rulegroup>
+ </rulegroup>
<rulegroup id="sigui_qui_sigui" name="sigui qui sigui">
<rule>
<pattern>
@@ -1581,15 +1616,24 @@
</pattern>
<disambig action="filter" postag="NC.*"/>
</rule>
- <rule> <!-- hauria d'anar a Multiwords: -->
+ <rule> <!-- hauria d'anar a Multiwords: -->
<pattern>
<marker>
<token inflected="yes">poble</token>
</marker>
- <token inflected="yes"
regexp="yes">dormitori|castell|camí</token>
+ <token inflected="yes"
regexp="yes">fantasma|dormitori|castell|camí</token>
</pattern>
<disambig action="filter" postag="NC.*"/>
</rule>
+ <rule>
+ <pattern>
+ <token inflected="yes" regexp="yes">poble|ciutat</token>
+ <marker>
+ <token inflected="yes"
regexp="yes">fantasma|dormitori|castell|camí</token>
+ </marker>
+ </pattern>
+ <disambig action="filter" postag="AQ0CN0" />
+ </rule>
<rule> <!-- hauria d'anar a Multiwords: -->
<pattern>
<marker>
@@ -2274,8 +2318,9 @@
</pattern>
<disambig action="remove"><wd lemma="hajar"></wd></disambig>
</rule>
- <rule> <!-- excepcions: hi ha necessitat. Pot havier-hi ambigüitats -->
+ <rule> <!-- excepcions: hi ha necessitat. Pot havier-hi ambigüitats:
s'hi havia calat foc -->
<pattern>
+ <token><exception
postag="P0.{6}|PP3CN000|PP3NN000|PP3..A00|PP3CP000|PP3CSD00"
postag_regexp="yes" regexp="yes">.+'</exception><exception
regexp="yes">ella?</exception><exception postag="NP.*|_GN_.*"
postag_regexp="yes"/></token>
<token>hi</token>
<token postag="VA..3S.." postag_regexp="yes"
inflected="yes">haver</token>
<marker>
@@ -2684,7 +2729,7 @@
<rule id="DESPRES" name="després no participi"> <!-- cal una regla per a
després/desprès -->
<pattern>
<marker>
- <token>després<exception postag="_GV_"/></token>
+ <token postag="RG">després<exception postag="_GV_"/></token>
</marker>
</pattern>
<disambig action="filter" postag="RG"></disambig>
@@ -2768,6 +2813,26 @@
</pattern>
<disambig action="filter" postag="V.*"></disambig>
</rule>
+ <rulegroup id="DIU" name="diu (verb dir)">
+ <rule>
+ <pattern>
+ <token><exception regexp="yes">el|un|aquest</exception></token>
+ <marker>
+ <token postag="V.[SIG].*" postag_regexp="yes"
regexp="yes">diu|deixant</token>
+ </marker>
+ </pattern>
+ <disambig action="filter" postag="V.*"></disambig>
+ </rule>
+ <rule>
+ <pattern>
+ <token><exception
regexp="yes">els|uns|aquests</exception></token>
+ <marker>
+ <token postag="V.[SI].*" postag_regexp="yes">dius</token>
+ </marker>
+ </pattern>
+ <disambig action="filter" postag="V.*"></disambig>
+ </rule>
+ </rulegroup>
<rule id="fins_preposicio" name="fins preposició">
<pattern>
<marker>
@@ -4089,7 +4154,7 @@
<token><exception
postag="P0.{6}|PP3CN000|PP3NN000|PP3..A00|PP3CP000|PP3CSD00|RN"
postag_regexp="yes"/></token>
<marker>
<and>
- <token postag="V.[IMS].*" postag_regexp="yes"/>
+ <token postag="V.[GIMS].*" postag_regexp="yes"/>
<token postag="NC.*|A.*|V.P.*" postag_regexp="yes"></token>
</and>
</marker>
@@ -4102,7 +4167,7 @@
<token
postag="RG.*|P0.{6}|PP3CN000|PP3NN000|PP3..A00|PP3CP000|PP3CSD00"
postag_regexp="yes" negate_pos="yes"/>
<marker>
<and>
- <token postag="V.[IMS].*" postag_regexp="yes"><exception
postag="_GV_"></exception></token>
+ <token postag="V.[GIMS].*" postag_regexp="yes"><exception
postag="_GV_"></exception></token>
<token postag="NC.*|A.*|V.P.*" postag_regexp="yes"/>
</and>
</marker>
@@ -4147,7 +4212,7 @@
<token postag="V.G.*" postag_regexp="yes"><exception
postag="_GN_.*|AQ.*" postag_regexp="yes"/><exception>corrent</exception></token>
<marker>
<and>
- <token postag="V.[IS].*" postag_regexp="yes"/>
+ <token postag="V.[IS].*" postag_regexp="yes"><exception
regexp="yes">era|eres</exception></token>
<token postag="NC.*" postag_regexp="yes"><exception
postag="A.*|V.P.*" postag_regexp="yes"/></token>
</and>
</marker>
@@ -4187,7 +4252,7 @@
<token><exception postag="SPS00|D[DI].*|PX.*"
postag_regexp="yes"/></token>
<marker>
<and>
- <token postag="V.[IS].*" postag_regexp="yes"><exception
inflected="yes" regexp="yes">nom|persona|ritme</exception><exception
postag="VMIP1S0B"/></token>
+ <token postag="V.[GIS].*" postag_regexp="yes"><exception
inflected="yes" regexp="yes">nom|persona|ritme</exception><exception
postag="VMIP1S0B"/></token>
<token postag="NC.*" postag_regexp="yes"><exception
postag="_GN.*|A.*|PX.*|V.P.*|D.*|SPS.*" postag_regexp="yes" /></token>
</and>
</marker>
@@ -4273,6 +4338,28 @@
</pattern>
<disambig action="filter" postag="SP.*"/>
</rule>
+ <rulegroup id="FORCA" name="força: nom, adjectiu, adverbi">
+ <rule> <!-- Donem preferència a l'adjectiu en casos ambigus: força
comuns-->
+ <pattern>
+ <token><exception postag="D[^R].FS."
postag_regexp="yes"/></token>
+ <marker>
+ <token postag="RG">força</token>
+ </marker>
+ <token postag="AQ.*|V.P.*" postag_regexp="yes"/>
+ </pattern>
+ <disambig action="filter" postag="R.*"/>
+ </rule>
+ <rule>
+ <pattern>
+ <token><exception postag="D[^R].FS."
postag_regexp="yes"/></token>
+ <marker>
+ <token postag="DI0CN0">força</token>
+ </marker>
+ <token postag="N.*" postag_regexp="yes"/>
+ </pattern>
+ <disambig action="filter" postag="DI.*"/>
+ </rule>
+ </rulegroup>
<rule id="ELS_DEU" name="els deu quantitats">
<pattern>
<token>els</token>
@@ -4328,36 +4415,27 @@
<token postag="D[^R].*" postag_regexp="yes"/>
<token postag="A.*|V.P.*" postag_regexp="yes"/>
<token postag="A.*|V.P.*" postag_regexp="yes"/>
- <token postag="N.*" postag_regexp="yes"><exception
postag="DN.*" postag_regexp="yes"/></token>
+ <token postag="N.*" postag_regexp="yes"><exception
postag="DN.*|V.G.*" postag_regexp="yes"/></token>
</marker>
</unify>
</pattern>
<disambig action="filterall" />
</rule>
<rule id="DPAAN" name="det + poss + adj + adj + nom">
- <pattern>
- <unify>
- <feature id="nombre"/>
- <feature id="genere"/>
- <marker>
- <token postag="D[^R].*" postag_regexp="yes"/>
- <token postag="PX.*" postag_regexp="yes"/>
- <token postag="A.*|V.P.*" postag_regexp="yes"/>
- <token postag="A.*|V.P.*" postag_regexp="yes"/>
- <token postag="N.*" postag_regexp="yes"><exception
postag="DN.*" postag_regexp="yes"/><exception
regexp="yes">era|mira|queda|cap</exception></token>
- </marker>
- </unify>
- </pattern>
- <disambig action="unify"/>
- </rule>
- <rule id="forca_estona" name="força estona">
<pattern>
- <marker>
- <token>força</token>
- </marker>
- <token>estona</token>
+ <unify>
+ <feature id="nombre"/>
+ <feature id="genere"/>
+ <marker>
+ <token postag="D[^R].*" postag_regexp="yes"/>
+ <token postag="PX.*" postag_regexp="yes"/>
+ <token postag="A.*|V.P.*" postag_regexp="yes"/>
+ <token postag="A.*|V.P.*" postag_regexp="yes"/>
+ <token postag="N.*" postag_regexp="yes"><exception
postag="DN.*" postag_regexp="yes"/><exception
regexp="yes">era|mira|queda|cap</exception></token>
+ </marker>
+ </unify>
</pattern>
- <disambig action="filter" postag="RG.*"/>
+ <disambig action="unify"/>
</rule>
<rule id="DANumAN" name="det + adj + numeral + nom">
<pattern>
@@ -5462,12 +5540,6 @@
<disambig action="filter" postag="[^V].*"></disambig>
</rule>
</rulegroup>
- <rule id="DIU" name="diu (verb dir)">
- <pattern>
- <token postag="V.[^MNGP].*" postag_regexp="yes"
regexp="yes">dius?</token>
- </pattern>
- <disambig action="filter" postag="V.*"></disambig>
- </rule>
<rulegroup id="verb_verbGN" name="verb + GN (art+nom)">
<rule>
<pattern>
@@ -5614,7 +5686,7 @@
<token><exception
postag="P0.{6}|PP3CN000|PP3NN000|PP3..A00|PP3CP000|PP3CSD00|RN"
postag_regexp="yes"/></token>
<marker>
<and>
- <token postag="V.[MSI].*" postag_regexp="yes" />
+ <token postag="V.[GMSI].*" postag_regexp="yes" />
<token postag="N.*" postag_regexp="yes"><exception
postag="_GN_.*" postag_regexp="yes" /></token>
</and>
</marker>
@@ -5690,7 +5762,7 @@
<pattern>
<marker>
<and>
- <token postag="N.*" postag_regexp="yes"
regexp="yes">queda|baixa|porto|troba|trobes|fan|ara|esper|vau|he|deixa|deixes|sap|pren|allò|breu|sec|personal|creu|cau|fou|crec|davant|darrere|damunt|davall|sota|ve|tornés|seré|estic|som|sou|amples?|creix|fem|res|si|bé|perquè|però|dins|real|era|eres|dius?<exception
postag="_GN.*" postag_regexp="yes" /></token>
+ <token postag="N.*" postag_regexp="yes"
regexp="yes">oi|queda|baixa|porto|troba|trobes|fan|ara|esper|vau|he|deixa|deixes|sap|pren|allò|breu|sec|personal|creu|cau|fou|crec|davant|darrere|damunt|davall|sota|ve|tornés|seré|estic|som|sou|amples?|creix|fem|res|si|bé|perquè|però|dins|real|era|eres|dius?<exception
postag="_GN.*" postag_regexp="yes" /></token>
<token postag="N.*" postag_regexp="yes"
negate_pos="yes"></token>
</and>
</marker>
@@ -6359,7 +6431,7 @@
<pattern>
<marker>
<and>
- <token postag="N.*" postag_regexp="yes"
regexp="yes">sec|personal|vers|creu|cau|fou|crec|davant|darrere|damunt|davall|sota|ve|tornés|seré|estic|som|sou|amples?|creix|fem|res|si|bé|perquè|però|dins|sobre|real|era|eres|dius?<exception
postag="_GN.*" postag_regexp="yes" /></token>
+ <token postag="N.*" postag_regexp="yes"
regexp="yes">vessant|sec|personal|vers|creu|cau|fou|crec|davant|darrere|damunt|davall|sota|ve|tornés|seré|estic|som|sou|amples?|creix|fem|res|si|bé|perquè|però|dins|sobre|real|era|eres|dius?<exception
postag="_GN.*" postag_regexp="yes" /></token>
<token postag="N.*" postag_regexp="yes"
negate_pos="yes"></token>
</and>
</marker>
@@ -6793,7 +6865,7 @@
<token postag="RG"/>
</and>
</marker>
- <token postag="V.*" postag_regexp="yes"></token>
+ <token postag="V.[MSI].*|_GV_" postag_regexp="yes"></token>
</pattern>
<disambig action="filter" postag="[^V].*"></disambig>
</rule>
@@ -7002,7 +7074,7 @@
<marker>
<and>
<token postag="VMIP1S0B"/>
- <token postag="N.*|A.*" postag_regexp="yes"></token>
+ <token postag="[NAI].*" postag_regexp="yes"></token>
<!--<token postag="V...[^1].*" postag_regexp="yes"
negate_pos="yes"></token>-->
</and>
</marker>
@@ -7031,6 +7103,27 @@
<disambig action="remove"><wd pos="VMIP1S0B"></wd></disambig>
</rule>
</rulegroup>
+ <rulegroup id="no_GV" name="neteja GV">
+ <rule>
+ <pattern>
+ <token postag="_GV_"><exception postag="P[P0].*|V.*"
postag_regexp="yes"/><exception
regexp="yes">falta|terme|origen|camí|corrent</exception></token>
+ </pattern>
+ <disambig action="remove"><wd pos="_GV_"></wd></disambig>
+ </rule>
+ <rule>
+ <pattern>
+ <token><exception postag="_GV_"/></token>
+ <marker>
+ <and>
+ <token postag="DA.*" postag_regexp="yes"></token>
+ <token postag="_GV_"></token>
+ </and>
+ </marker>
+ <token><exception postag="_GV_"/></token>
+ </pattern>
+ <disambig action="filter" postag="D.*|_GN_.*"></disambig>
+ </rule>
+ </rulegroup>
<rule id="verb_verbadj" name="verb + verb/adj">
<pattern>
<token postag="V.[MSI].*|_GV_" postag_regexp="yes"><exception
postag="PP.*|P0.*|N.*" postag_regexp="yes"/></token>
@@ -7904,7 +7997,7 @@
<disambig action="filter" postag="[^D].*"/>
</rule>
</rulegroup>
- <rule id="nNom" name="no nom si no ha concordat">
+ <rule id="nNom2" name="no nom si no ha concordat">
<pattern>
<and>
<token postag="N.*" postag_regexp="yes"
regexp="yes">grossa|ros|suau|sobre|publicà|allò|parla|parles|deixa|deixes|torna|tornes|sabeu|seré|joves?|caus?|meritoris?|meritòri(a|es)|seca|resulta|porta|duc|fou|grans?|surt|era|verticals?<exception
postag="_GN_.*" postag_regexp="yes"/></token>
@@ -8888,6 +8981,26 @@
</pattern>
<disambig action="add"><wd pos="repeated"></wd></disambig>
</rule>
+ <rulegroup id="meitat_meitat" name="meitat home meitat dona">
+ <rule>
+ <pattern>
+ <marker>
+ <token skip="3">meitat</token>
+ </marker>
+ <token>meitat</token>
+ </pattern>
+ <disambig action="add"><wd pos="_loc_meitat"/></disambig>
+ </rule>
+ <rule>
+ <pattern>
+ <token skip="3">meitat</token>
+ <marker>
+ <token>meitat</token>
+ </marker>
+ </pattern>
+ <disambig action="add"><wd pos="_loc_meitat"/></disambig>
+ </rule>
+ </rulegroup>
<rulegroup id="NO_RELATIU" name="no hi ha estructura de relatiu">
<rule>
<pattern>
Modified:
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/multiwords.txt
===================================================================
---
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/multiwords.txt
2013-06-22 08:41:09 UTC (rev 10273)
+++
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/resource/ca/multiwords.txt
2013-06-22 09:18:40 UTC (rev 10274)
@@ -1,4 +1,5 @@
#Catalan multiwords file used for chunking
+A banda i banda LOC_ADV
A base d' LOC_PREP
A base de LOC_PREP
A bastament LOC_ADV
@@ -623,6 +624,7 @@
Vist i no vist LOC_ADV
Vulgues no vulgues LOC_ADV
Vox populi NCFS000
+a banda i banda LOC_ADV
a base d' LOC_PREP
a base de LOC_PREP
a bastament LOC_ADV
Modified:
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/rules/ca/grammar.xml
===================================================================
---
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/rules/ca/grammar.xml
2013-06-22 08:41:09 UTC (rev 10273)
+++
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/rules/ca/grammar.xml
2013-06-22 09:18:40 UTC (rev 10274)
@@ -2051,10 +2051,10 @@
</marker>
</pattern>
<message>Possible error.</message>
- <suggestion><match no="1"/> <match no="2" postag="V.N.*"
postag_regexp="yes"></match></suggestion>
- <suggestion><match no="1"/> que <match no="2"/></suggestion>
- <suggestion><match no="1"/>, <match no="2"/></suggestion>
- <example type="incorrect">No <marker>cal
corre</marker>.</example>
+ <suggestion><match no="2"/> <match no="3" postag="V.N.*"
postag_regexp="yes"></match></suggestion>
+ <suggestion><match no="2"/> que <match no="3"/></suggestion>
+ <suggestion><match no="2"/>, <match no="3"/></suggestion>
+ <example type="incorrect" correction="cal córrer|cal que
corre|cal, corre">No <marker>cal corre</marker>.</example>
<example type="correct">No cal córrer.</example>
<example type="correct">Anem a cal Cego.</example>
<example type="correct">El model estàndard del Big Bang calent
erra en l'objectiu</example>
@@ -3778,7 +3778,7 @@
<marker>
<token>com<exception
postag="allow_com"/></token>
</marker>
- <token
regexp="yes">autors?|president[ae]?s?|representants?|actors?|actrius?</token>
+ <token
regexp="yes">exemples?|autors?|president[ae]?s?|representants?|actors?|actrius?</token>
</pattern>
<message>Probablement cal escriure <suggestion>com
a</suggestion>.</message>
<url>http://esadir.cat/sintaxi/advcomcoma/view</url>
@@ -4746,6 +4746,18 @@
</rulegroup>
</category>
<category name="Z) Confusions" type="grammar">
+ <rule id="OS_US" name="*os/us agrada">
+ <pattern>
+ <marker>
+ <token>os<exception postag="_GN_MS"/></token>
+ </marker>
+ <token postag="V.[MSI].*" postag_regexp="yes"/>
+ </pattern>
+ <message>¿Volíeu dir <suggestion>us</suggestion>?</message>
+ <example type="incorrect" correction="Us">¿<marker>Os</marker>
agraden les cloïsses?</example>
+ <example type="correct">Té un os trencat.</example>
+ <example type="correct">L'os creix bé.</example>
+ </rule>
<rule id="CONTRA_DE" name="contra de/en contra de">
<pattern>
<token><exception>en</exception></token>
@@ -14203,26 +14215,41 @@
<token>a</token>
<token>les</token>
<token postag="DN.*|DI.*" postag_regexp="yes"/>
- <token regexp="yes">hores|setmanes|dècades</token>
+ <token regexp="yes">setmanes|dècades</token>
</marker>
</pattern>
<message>Incorrecte si equival a <suggestion>al cap de <match
no="4"/> <match no="5"/></suggestion>.</message>
<suggestion><match no="4"/> <match no="5"/>
després</suggestion>
<short>Expressió incorrecta</short>
+ <example type="incorrect" correction="Al cap de tres
setmanes|Tres setmanes després"><marker>A les tres setmanes</marker></example>
+ <example type="correct"> respecte a les dues dècades
anteriors</example>
+ </rule>
+ <rule>
+ <pattern>
+ <token><exception regexp="yes"
inflected="yes">&exceptions_ALS_TRES_MESOS;</exception><exception>respecte</exception><exception
postag="DN.*" postag_regexp="yes"/></token>
+ <marker>
+ <token>a</token>
+ <token>les</token>
+ <token postag="DN.*|DI.*"
postag_regexp="yes"><exception
regexp="yes">[12]?\d(.[1-5]\d)?</exception></token>
+ <token>hores</token>
+ </marker>
+ </pattern>
+ <message>Incorrecte si equival a <suggestion>al cap de <match
no="4"/> <match no="5"/></suggestion>.</message>
+ <suggestion><match no="4"/> <match no="5"/>
després</suggestion>
+ <short>Expressió incorrecta</short>
<example type="incorrect" correction="Al cap de tres
hores|Tres hores després"><marker>A les tres hores</marker></example>
- <example type="correct">Al cap de tres hores</example>
- <example type="correct"> respecte a les dues dècades
anteriors</example>
+ <example type="correct">A les 19.30 hores</example>
<example type="correct">A les 13.30 h obrirà
l'exposició.</example>
</rule>
<rule>
<pattern>
<token><exception regexp="yes"
inflected="yes">&exceptions_ALS_TRES_MESOS;</exception><exception>respecte</exception><exception
postag="DN.*" postag_regexp="yes"/></token>
- <marker>
+ <marker>
<token>a</token>
<token spacebefore="no">ls</token>
<token postag="DN.*|DI.*" postag_regexp="yes"/>
<token>anys</token>
- </marker>
+ </marker>
<token regexp="yes">de|d'</token>
<token><exception>edat</exception></token>
<!-- eliminat: anys -->
@@ -15748,7 +15775,6 @@
<suggestion><match no="1" postag="(V.*)" postag_regexp="yes"
postag_replace="$1">adjudicar</match></suggestion>
<suggestion><match no="1" postag="(V.*)" postag_regexp="yes"
postag_replace="$1">concedir</match></suggestion>
<suggestion><match no="1" postag="(V.*)" postag_regexp="yes"
postag_replace="$1">atorgar</match></suggestion>
- <suggestion><match no="1" postag="(V.*)" postag_regexp="yes"
postag_replace="$1">adjudicar</match></suggestion>
<suggestion><match no="1" postag="(V.*)" postag_regexp="yes"
postag_replace="$1">decidir</match></suggestion>
<short>Possible error</short>
<example type="incorrect">Diu que vol <marker>fallar</marker>
sentència avui.</example>
@@ -15767,7 +15793,6 @@
<suggestion><match no="2" postag="(V.*)" postag_regexp="yes"
postag_replace="$1">adjudicar</match></suggestion>
<suggestion><match no="2" postag="(V.*)" postag_regexp="yes"
postag_replace="$1">concedir</match></suggestion>
<suggestion><match no="2" postag="(V.*)" postag_regexp="yes"
postag_replace="$1">atorgar</match></suggestion>
- <suggestion><match no="1" postag="(V.*)" postag_regexp="yes"
postag_replace="$1">adjudicar</match></suggestion>
<suggestion><match no="2" postag="(V.*)" postag_regexp="yes"
postag_replace="$1">decidir</match></suggestion>
<short>Possible error</short>
<example type="incorrect">El jutge va <marker>fallar</marker>
així.</example>
@@ -17644,21 +17669,25 @@
<example type="correct">L'ensenyament és gratuït i obligatori dels
6 als 15 anys.</example>
<example type="correct">L'ensenyament és gratuït i obligatori dels
sis als quinze anys.</example>
</rule>
- <rule id="VESSANT" name="vessant">
- <pattern>
- <token><exception postag="N.F.*"
postag_regexp="yes"/></token>
- <marker>
- <token postag="_GN_F." postag_regexp="yes"
regexp="yes">vessants?<exception postag="_GN_M." postag_regexp="yes"/></token>
- </marker>
- </pattern>
- <message>Sempre és preferible usar "vessant" com a nom masculí.
En alguns sentits, no és correcte en femení.</message>
- <short>Forma preferible</short>
- <example type="incorrect">A les <marker>vessants</marker> de la
muntanya.</example>
- <example type="incorrect">En la seva <marker>vessant</marker>
humorística.</example>
- <example type="correct">En el vessant anterior.</example>
- <example type="correct">Aigües vessants.</example>
- <example type="correct">presenta tres vessants</example>
- </rule>
+ <rule id="VESSANT" name="vessant">
+ <pattern>
+ <token><exception postag="N.F.*" postag_regexp="yes"/></token>
+ <marker>
+ <and>
+ <token postag="_GN_F." postag_regexp="yes"
regexp="yes">vessants?<exception postag="_GN_M." postag_regexp="yes"/></token>
+ <token postag="N.*" postag_regexp="yes"/>
+ </and>
+ </marker>
+ </pattern>
+ <message>Sempre és preferible usar "vessant" com a nom masculí. En
alguns sentits, no és correcte en femení.</message>
+ <short>Forma preferible</short>
+ <example type="incorrect">A les <marker>vessants</marker> de la
muntanya.</example>
+ <example type="incorrect">En la seva <marker>vessant</marker>
humorística.</example>
+ <example type="correct">En el vessant anterior.</example>
+ <example type="correct">Aigües vessants.</example>
+ <example type="correct">presenta tres vessants</example>
+ <example type="correct">a la mà enlairada vessant aigua</example>
+ </rule>
<rule id="A_RAN_DE" name="a ran de">
<pattern>
<marker>
@@ -19462,8 +19491,8 @@
<rule>
<pattern>
<marker>
- <token postag="NC.*" postag_regexp="yes"
regexp="yes">\p{Ll}[\p{Ll}·]+<exception
postag="A.*|V.P.*|V.[NMSI].*|complement.*|DN.*|_GV_|.*LOC_ADV.*"
postag_regexp="yes" /><exception
regexp="yes">\p{Lu}[\p{Ll}·]*</exception><exception regexp="yes"
inflected="yes">mots?|paraul(a|es)|termes?|expressi(ó|ons)|vocables?|nombres?|lletr(a|es)|colors?|vegad(a|es)|volt(a|es)|cops?|noms?</exception></token>
- <token postag="NC.*" postag_regexp="yes"
regexp="yes">\p{Ll}[\p{Ll}·]+<exception
postag="A.*|V.P.*|V.[NMSI].*|_GN.*|DN.*|_loc_enma|.*LOC_ADV.*"
postag_regexp="yes" /><exception
regexp="yes">\p{Lu}[\p{Ll}·]*|fra|don</exception></token>
+ <token postag="NC.*" postag_regexp="yes"
regexp="yes">\p{Ll}[\p{Ll}·]+<exception
postag="A.*|V.P.*|V.[NMSI].*|complement.*|DN.*|_GV_|.*LOC_ADV.*|_loc_meitat"
postag_regexp="yes" /><exception
regexp="yes">\p{Lu}[\p{Ll}·]*</exception><exception regexp="yes"
inflected="yes">mots?|paraul(a|es)|termes?|expressi(ó|ons)|vocables?|nombres?|lletr(a|es)|colors?|vegad(a|es)|volt(a|es)|cops?|noms?|majoria</exception></token>
+ <token postag="NC.*" postag_regexp="yes"
regexp="yes">\p{Ll}[\p{Ll}·]+<exception
postag="A.*|V.P.*|V.[NMSI].*|_GN.*|DN.*|_loc_enma|.*LOC_ADV.*|_loc_meitat"
postag_regexp="yes" /><exception
regexp="yes">\p{Lu}[\p{Ll}·]*|fra|don</exception></token>
</marker>
<token><exception
regexp="yes">amunt|avall|enllà</exception></token>
</pattern>
Modified:
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/rules/ca/wrongWordInContext.txt
===================================================================
---
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/rules/ca/wrongWordInContext.txt
2013-06-22 08:41:09 UTC (rev 10273)
+++
trunk/languagetool/languagetool-language-modules/ca/src/main/resources/org/languagetool/rules/ca/wrongWordInContext.txt
2013-06-22 09:18:40 UTC (rev 10274)
@@ -15,7 +15,7 @@
#adobar/abonar
(?i)adob[aeàé].* (?i)abon[aeàé].* dob bon
(?i)terra|terres|terrenys?|camps?|sembrats?|planta|plantes|cultius?|conre.+
ddX,d6dDd3d femar, assaonar pagar, prendre un abonament
#addicció/addició //ambigu: consum.+
-(?i)addicci(ó|ons) (?i)addici(ó|ons) icci ici
(?i)ionquis?|drog.+|depend.+|xocolat.+|taba[qc].*|heroïna|cocaïna|abst[ei]n.+|placebos?|potencials?|ps[íi][cq].*|fisio.*|malalt.*|ordinadors?|internet|joc|casinos?|jug.+|tel[èe].*|mòbils?|alcoh.+|medicaments?|pastill(a|es)|píndol(a|es)
(?i)factors?|sacaros.*|sucs?|mosto?s?|sucres?|ferment.*|subtracci.*|productes?|multiplic.*|divisi.*|aritmèt.+|operaci.+|nombres?|fórmul(a|es)|lògi[cq].+|colorants?|additius?|alimentaris?|aliments?|conservants?|oxidants?|reacci.+|supressi.+|quími.+|vitamin.*|mineral.*|molècul.*
dependència suma
+(?i)addicci(ó|ons) (?i)addici(ó|ons) icci ici
(?i)ionquis?|drog.+|depend.+|xocolat.+|taba[qc].*|heroïna|cocaïna|abst[ei]n.+|placebos?|potencials?|ps[íi][cq].*|fisio.*|malalt.*|ordinadors?|internet|joc|casinos?|jug.+|tel[èe].*|mòbils?|alcoh.+|medicaments?|pastill(a|es)|píndol(a|es)
(?i)result.*|factors?|sacaros.*|sucs?|mosto?s?|sucres?|ferment.*|subtracci.*|productes?|multiplic.*|divisi.*|aritmèt.+|operaci.+|nombres?|fórmul(a|es)|lògi[cq].+|colorants?|additius?|alimentaris?|aliments?|conservants?|oxidants?|reacci.+|supressi.+|quími.+|vitamin.*|mineral.*|molècul.*
dependència suma
#adició/addició
(?i)adici(ó|ons) (?i)addici(ó|ons) adi addi
(?i)certificats?|herènci(a|es)
sucres?|subtracci.*|productes?|multiplic.*|divisi.*|aritmèt.+|operaci.+|nombres?|fórmul(a|es)|lògi[cq]|colorants?|conservants?|oxidants?|reacci.+|supressi.+|quími.+|vitamin.*|mineral.*|molècul.*
acceptar una herència suma
#bordar/brodar
Modified:
trunk/languagetool/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/ComplexAdjectiveConcordanceRuleTest.java
===================================================================
---
trunk/languagetool/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/ComplexAdjectiveConcordanceRuleTest.java
2013-06-22 08:41:09 UTC (rev 10273)
+++
trunk/languagetool/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/ComplexAdjectiveConcordanceRuleTest.java
2013-06-22 09:18:40 UTC (rev 10274)
@@ -48,10 +48,6 @@
principis mascle i femella de la foscor//els elements reproductors
mascle i femella// les formigues mascle i femella
- era poderós, força estrabul·lat, //Zeus, força cansat de tantes
recents lluites// és força llunyà
- és força amarg, són força capriciosos; són força desconegudes.
-
- va respondre, força humiliat,//aquest bon home està força preocupat
de barba i cabellera blanques
*/
/*multiwords: en aparença, en essència,per essència, amb excés,en
repòs, amb rapidesa, en algun grau, per molt de temps
@@ -64,6 +60,11 @@
han estat de fet exterminades
*/
// (en especial si hi ha un adverbi entremig: en algun grau més
distintes
+ assertCorrect("la meitat mascles i la meitat femelles");
+ assertCorrect("És força amarg");
+ assertCorrect("Era poderós, força estrabul·lat");
+ assertCorrect("Són força desconegudes");
+ assertCorrect("Zeus, força cansat de tot");
assertCorrect("un caràcter fix, per molt extraordinària que sigui la
manera");
assertCorrect("una quantitat copiosa de llavors olioses");
assertCorrect("que criï sense variació, per molt lleugers que
fossin");
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Languagetool-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-commits