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="&lt;LOC_ADV&gt;"/><wd 
pos="&lt;LOC_ADV&gt;"/><wd pos="&lt;/LOC_ADV&gt;"/></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

Reply via email to