Revision: 5946
          
http://languagetool.svn.sourceforge.net/languagetool/?rev=5946&view=rev
Author:   dominikoeo
Date:     2011-11-20 17:01:03 +0000 (Sun, 20 Nov 2011)
Log Message:
-----------
[br] - updated the Breton lexicon: enriched tags for proper names.
     - fixed several false positives.

Modified Paths:
--------------
    trunk/JLanguageTool/CHANGES.txt
    trunk/JLanguageTool/src/resource/br/breton.dict
    trunk/JLanguageTool/src/resource/br/create-lexicon.pl
    trunk/JLanguageTool/src/rules/br/grammar.xml

Modified: trunk/JLanguageTool/CHANGES.txt
===================================================================
--- trunk/JLanguageTool/CHANGES.txt     2011-11-20 14:35:37 UTC (rev 5945)
+++ trunk/JLanguageTool/CHANGES.txt     2011-11-20 17:01:03 UTC (rev 5946)
@@ -10,7 +10,8 @@
  -Breton:
    -updated dictionary from Apertium.
    -several new rules
-   -corrected and improve styles of messages, thanks to Fulup Jakez.
+   -corrected and improve style of messages, translated all messages
+    thanks to Fulup Jakez.
  -French:
    -updated dictionary to use Dicollecte-4.3
    -fixed false positives

Modified: trunk/JLanguageTool/src/resource/br/breton.dict
===================================================================
(Binary files differ)

Modified: trunk/JLanguageTool/src/resource/br/create-lexicon.pl
===================================================================
--- trunk/JLanguageTool/src/resource/br/create-lexicon.pl       2011-11-20 
14:35:37 UTC (rev 5945)
+++ trunk/JLanguageTool/src/resource/br/create-lexicon.pl       2011-11-20 
17:01:03 UTC (rev 5946)
@@ -58,14 +58,15 @@
   "bleinerien",         "vleinerien",     "pleinerien",
   "bleinerion",         "vleinerion",     "pleinerion",
   "breudeur",           "vreudeur",       "preudeur",
+  "breutaerien",        "vreutaerien",    "preutaerien",
   "brezhonegerien",     "vrezhonegerien", "prezhonegerien",
   "bugale",             "vugale",         "pugale",
-  "butuner",            "vutuner",        "putuner",
+  "butunerien",         "vutunerien",     "putunerien",
+  "butunerion",         "vutunerion",     "putunerion",
   "dañserien",                            "tañserien",
   "gaouidi",            "c’haouidi",      "kaouidi",
   "genaoueien",         "c’henaoueien",   "kenaoueien",
-  "girzien",            "c’hirzien",      "kirzien",
-  "gouizieien",         "c’houiziein",    "kouizieien",
+  "gouizieien",         "c’houizieien",   "kouizieien",
   "gourdonerien",       "c’hourdonerien", "kourdonerien",
   "goved",              "c’hoved",        "koved",
   "gwazed",             "wazed",          "kwazed",
@@ -89,11 +90,9 @@
   "kenskriverien",      "genskriverien",  "c’henskriverien",
   "kenwerzherien",      "genwerzherien",  "c’henwerzherien",
   "kereon",             "gereon",         "c’hereon",
-  "kevendirvi",         "gevendirvi",     "c’hevendirvi",
-  "kevnianted",         "gevnianted",     "c’hevnianted",
   "kigerien",           "gigerien",       "c’higerien",
   "klañvdiourien",      "glañvdiourien",  "c’hlañvdiourien",
-  "konversañted",       "gonversañted",   "c’honversañted",
+  "koñversanted",       "goñversanted",   "c’hoñversanted",
   "krennarded",         "grennarded",     "c’hrennarded",
   "kristenien",         "gristenien",     "c’hristenien",
   "kristenion",         "gristenion",     "c’hristenion",
@@ -125,7 +124,7 @@
   "prefeded",           "brefeded",                        "frefeded",
   "prizonidi",          "brizonidi",                       "frizonidi",
   "priñsed",            "briñsed",                         "friñsed",
-  "taihanterien",       "daihanterien",                    "zaihanterien",
+  "tailhanterien",      "dailhanterien",                   "zailhanterien",
   "toerien",            "doerien",                         "zoerien",
   "tommerien",          "dommerien",                       "zommerien",
   "tontoned",           "dontoned",                        "zontoned",
@@ -142,6 +141,8 @@
 
 # Count how many words handled and unhandled.
 my ($out_count, $err_count) = (0, 0);
+my %all_words;
+my %all_lemmas;
 
 while (<LT_EXPAND>) {
   chomp;
@@ -152,6 +153,9 @@
     $tags =~ s/(<vblex><pri><p.><..>)\+.*/$1/;
     $lemma = $word if ($lemma eq 'direct' or $lemma eq 'prpers');
 
+    $all_lemmas{$lemma} = 1;
+    $all_words{$word} = 1;
+
     my $tag = '';
 
     if    ($tags eq '<det><def><sp>')     { $tag = "D e sp" }    # an, ar, al
@@ -260,17 +264,17 @@
     elsif ($tags eq '<n><m><sp>')  { $tag = "N m sp" }
 
     # Proper nouns.
-    elsif ($tags eq '<np><top><sg>')     { $tag = "Z e s" }  # Aostria
-    elsif ($tags eq '<np><top><pl>')     { $tag = "Z e p" }  # Azorez
-    elsif ($tags eq '<np><top><m><sg>')  { $tag = "Z m s" }  # Kreiz-Breizh
-    elsif ($tags eq '<np><cog><mf><sg>') { $tag = "Z e s" }
-    elsif ($tags eq '<np><ant><m><sg>')  { $tag = "Z m s" }  # Alan
-    elsif ($tags eq '<np><ant><f><sg>')  { $tag = "Z f s" }  # Youna
-    elsif ($tags eq '<np><al><mf><sg>')  { $tag = "Z e s" }  # Leclerc
-    elsif ($tags eq '<np><al><m><sg>')   { $tag = "Z m s" }  # Ofis
-    elsif ($tags eq '<np><al><f><sg>')   { $tag = "Z f s" }  # Bibl
+    elsif ($tags eq '<np><top><sg>')     { $tag = "Z e s top" }  # Aostria
+    elsif ($tags eq '<np><top><pl>')     { $tag = "Z e p top" }  # Azorez
+    elsif ($tags eq '<np><top><m><sg>')  { $tag = "Z m s top" }  # Kreiz-Breizh
+    elsif ($tags eq '<np><cog><mf><sg>') { $tag = "Z e s cog" }
+    elsif ($tags eq '<np><ant><m><sg>')  { $tag = "Z m s ant" }  # Alan
+    elsif ($tags eq '<np><ant><f><sg>')  { $tag = "Z f s ant" }  # Youna
+    elsif ($tags eq '<np><al><mf><sg>')  { $tag = "Z e s al" }   # Leclerc
+    elsif ($tags eq '<np><al><m><sg>')   { $tag = "Z m s al" }   # Ofis
+    elsif ($tags eq '<np><al><f><sg>')   { $tag = "Z f s al" }   # Bibl
 
-    elsif ($tags eq '<n><acr><m><sg>')   { $tag = "S m s" }  # TER
+    elsif ($tags eq '<n><acr><m><sg>')   { $tag = "S m s" }      # TER
 
     # Verbs.
     elsif ($tags eq '<vblex><inf>')             { $tag = "V inf" } # komz
@@ -391,35 +395,57 @@
     $first_letter_lemma = lc $first_letter_lemma;
     $first_letter_word  = lc $first_letter_word;
 
-    if ($first_letter_lemma and $first_letter_word and 
-        $first_letter_lemma ne $first_letter_word) {
+    if    ($lemma eq 'kaout')  { }
+    elsif ($word  eq 'tud')    { }
+    elsif ($word  eq 'dud')    { $tag .= "M:1:1a" }
+    elsif ($word  eq 'zud')    { $tag .= "M:2:" }
+    elsif ($word  eq 'diweuz') { }
+    elsif ($word  eq 'tiweuz') { $tag .= "M:3:" }
+    elsif ($word  eq 'ziweuz') { $tag .= "M:1:1b:" }
+    elsif ($word =~ '^kezeg-?(koad|mor|blein)?$')   { }
+    elsif ($word =~ '^gezeg-?(koad|mor|blein)?$')   { $tag .= "M:1:1a:" }
+    elsif ($word =~ '^c’hezeg-?(koad|mor|blein)?$') { $tag .= "M:2:" }
+    elsif ($word =~ '^daou(lin|lagad)$')            { }
+    elsif ($word =~ '^taou(lin|lagad)$')            { $tag .= "M:3:" }
+    elsif ($word =~ '^zaou(lin|lagad)$')            { $tag .= "M:1:1b:" }
+    elsif ($word =~ '^div(c’har|esker|rec’h|ronn|orzhed|jod|skouarn)$') { }
+    elsif ($word =~ '^tiv(c’har|esker|rec’h|ronn|orzhed|jod|skouarn)$') { $tag 
.= "M:3:" }
+    elsif ($word =~ '^ziv(c’har|esker|rec’h|ronn|orzhed|jod|skouarn)$') { $tag 
.= "M:1:1b:" }
+    elsif   ($first_letter_lemma and 
+             $first_letter_word  and 
+             $first_letter_lemma ne $first_letter_word and
+             !($first_letter_lemma eq 'k' and $first_letter_word eq 'kw')) {
       # Add mutation tag.
-      if ($first_letter_lemma eq 'k') {
-        if    ($first_letter_word eq 'c’h') { $tag .= " M:a0:2:"; }
-        elsif ($first_letter_word eq 'g')   { $tag .= " M:1:1a:"; }
-      } elsif ($first_letter_lemma eq 't')  {
-        if    ($first_letter_word eq 'd')   { $tag .= " M:1:1a:"; }
-        elsif ($first_letter_word eq 'z')   { $tag .= " M:2:"; }
-      } elsif ($first_letter_lemma eq 'p')  {
-        if    ($first_letter_word eq 'b')   { $tag .= " M:1:1a:"; }
-        elsif ($first_letter_word eq 'f')   { $tag .= " M:2:"; }
-      } elsif ($first_letter_lemma eq 'g')  {
-        if    ($first_letter_word eq 'c’h') { $tag .= " M:1:1a:1b:4:"; }
-        elsif ($first_letter_word eq 'k')   { $tag .= " M:3:"; }
-      } elsif ($first_letter_lemma eq 'gw') {
-        if    ($first_letter_word eq 'w')   { $tag .= " M:1:1a:1b:4:"; }
-        elsif ($first_letter_word eq 'kw')  { $tag .= " M:3:"; }
-      } elsif ($first_letter_lemma eq 'd')  {
-        if    ($first_letter_word eq 'z')   { $tag .= " M:1:1b:4:"; }
-        elsif ($first_letter_word eq 't')   { $tag .= " M:3:4:"; }
-      } elsif ($first_letter_lemma eq 'b')  {
-        if    ($first_letter_word eq 'v')   { $tag .= " M:1:1a:1b:4:"; }
-        elsif ($first_letter_word eq 'p')   { $tag .= " M:3:"; }
-      } elsif ($first_letter_lemma eq 'm')  {
-        if    ($first_letter_word eq 'v')   { $tag .= " M:1:1a:1b:4:"; }
+      if      ($first_letter_lemma eq 'k') {
+        if    ($first_letter_word  eq 'c’h') { $tag .= " M:a0:2:" }
+        elsif ($first_letter_word  eq 'g')   { $tag .= " M:1:1a:" }
+        elsif ($first_letter_word  eq 'gw')  { $tag .= " M:1:1a:" }
+      } elsif ($first_letter_lemma eq 't')   {
+        if    ($first_letter_word  eq 'd')   { $tag .= " M:1:1a:" }
+        elsif ($first_letter_word  eq 'z')   { $tag .= " M:2:" }
+      } elsif ($first_letter_lemma eq 'p')   {
+        if    ($first_letter_word  eq 'b')   { $tag .= " M:1:1a:" }
+        elsif ($first_letter_word  eq 'f')   { $tag .= " M:2:" }
+      } elsif ($first_letter_lemma eq 'g')   {
+        if    ($first_letter_word  eq 'c’h') { $tag .= " M:1:1a:1b:4:" }
+        elsif ($first_letter_word  eq 'k')   { $tag .= " M:3:" }
+      } elsif ($first_letter_lemma eq 'gw')  {
+        if    ($first_letter_word  eq 'w')   { $tag .= " M:1:1a:1b:4:" }
+        elsif ($first_letter_word  eq 'kw')  { $tag .= " M:3:" }
+        elsif ($first_letter_word  eq 'c’h') { $tag .= " M:4:" }
+      } elsif ($first_letter_lemma eq 'd')   {
+        if    ($first_letter_word  eq 'z')   { $tag .= " M:1:1b:4:" }
+        elsif ($first_letter_word  eq 't')   { $tag .= " M:3:4:" }
+      } elsif ($first_letter_lemma eq 'b')   {
+        if    ($first_letter_word  eq 'v')   { $tag .= " M:1:1a:1b:4:" }
+        elsif ($first_letter_word  eq 'p')   { $tag .= " M:3:" }
+      } elsif ($first_letter_lemma eq 'm')   {
+        if    ($first_letter_word  eq 'v')   { $tag .= " M:1:1a:1b:4:" }
       }
       unless ($tag =~ /:$/) {
-        print STDERR "*** unexpected mutation [$first_letter_lemma] -> 
[$first_letter_word] lemma=[$lemma] -> word=[$word] tag=[$tag]\n";
+        print STDERR "*** unexpected mutation [$first_letter_lemma] -> "
+                   . "[$first_letter_word] lemma=[$lemma][$first_letter_lemma] 
"
+                   . "-> word=[$word][$first_letter_word] tag=[$tag]\n";
       }
     }
     if ($tag) {
@@ -433,6 +459,9 @@
 }
 print "handled [$out_count] words, unhandled [$err_count] words\n";
 
+print "Lemma words missing from dicitionary:\n";
+foreach (sort keys %all_lemmas) { print "$_\n" unless (exists $all_words{$_}); 
}
+
 # Check whether some words in anv_lies_tud have are missing in dictionary.
 foreach (sort keys %anv_lies_tud) {
   print STDERR "*** plural noun [$_] is missing in Apertium dictionary.\n" 
unless ($anv_lies_tud{$_});

Modified: trunk/JLanguageTool/src/rules/br/grammar.xml
===================================================================
--- trunk/JLanguageTool/src/rules/br/grammar.xml        2011-11-20 14:35:37 UTC 
(rev 5945)
+++ trunk/JLanguageTool/src/rules/br/grammar.xml        2011-11-20 17:01:03 UTC 
(rev 5946)
@@ -182,17 +182,14 @@
             <exception postag="P|L e" postag_regexp="yes">e</exception>
           </token>
           <and>
-            <token regexp="yes">(k|c’h).*</token>
-            <token regexp="yes" inflected="yes">k.*<exception regexp="yes" 
inflected="yes">c’h.*</exception></token>
+            <token regexp="yes">k.*<exception>kant</exception></token>
+            <token regexp="yes" inflected="yes">k.*</token>
           </and>
         </pattern>
-        <message>Ur c’hemmadur dre vlotaat a zlefe bezañ goude ar ger «\1». Ha 
fellout a rae deoc’h skrivañ <suggestion><match no="2" 
regexp_match="(k|c’h)(.*)" regexp_replace="g$1"/></suggestion>?</message>
+        <message>Ur c’hemmadur dre vlotaat a zlefe bezañ goude ar ger «\1». Ha 
fellout a rae deoc’h skrivañ <suggestion><match no="2" regexp_match=".(.*)" 
regexp_replace="g$1"/></suggestion>?</message>
         <example type="incorrect">Gwall <marker>kozh</marker> eo da 
garr.</example>
         <example type="correct">Gwall gozh eo da garr.</example>
         <example type="correct">N’a ket mat en-dro an urzhiataer.</example>
-        <example type="correct">C’hoant am eus da c’hoari.</example>
-        <example type="correct">Ne c’hell ket bezañ.</example>
-        <example type="correct">Ne c’hall ket bezañ.</example>
       </rule>
       <rule>
         <pattern mark_from="1">
@@ -279,6 +276,7 @@
           <and>
             <token regexp="yes">b.*
               <exception inflected="yes" regexp="yes">p.*</exception>
+              <exception postag="UNKNOWN"/>
             </token>
             <token regexp="yes" inflected="yes">b.*</token>
           </and>
@@ -312,7 +310,9 @@
             <exception postag="P|L e" postag_regexp="yes">e</exception>
           </token>
           <and>
-            <token regexp="yes">c’h.*<exception inflected="yes" 
regexp="yes">(g|c’h).*</exception>
+            <token regexp="yes">c’h.*
+              <exception inflected="yes" regexp="yes">(g|c’h).*</exception>
+              <exception>c’hant</exception>
             </token>
             <token regexp="yes" inflected="yes">k.*</token>
           </and>
@@ -322,6 +322,8 @@
         <example type="correct">Niver a gentelioù-noz</example>
         <example type="correct">C’hoant en deus da c’hoari.</example>
         <example type="correct">Ne c’hell ket bezañ.</example>
+        <example type="correct">Ne c’hall ket bezañ.</example>
+        <example type="correct">Daou c’hant</example>
       </rule>
       <rule>
         <pattern mark_from="1">
@@ -410,6 +412,18 @@
       </rule>
     </rulegroup>
 
+    <rulegroup id="KEMM_KANT" name="daou kant → daou c’hant">
+      <rule>
+        <pattern mark_from="1">
+          <token regexp="yes">daou|div</token>
+          <token>kant</token>
+        </pattern>
+        <message>Ha fellout a rae deoc’h skrivañ 
<suggestion>c’hant</suggestion>?</message>
+        <example type="incorrect">Daou <marker>kant</marker></example>
+        <example type="correct">Daou c’hant</example>
+      </rule>
+    </rulegroup>
+
     <!-- Mutations renforçantes -->
     <rulegroup id="KEMM_DRE_GALETAAT" name="kemmedur dre galetaat">
       <rule>
@@ -524,7 +538,9 @@
             <exception postag="C sub">ma</exception>
           </token>
           <and>
-            <token regexp="yes" inflected="yes">p.*</token>
+            <token regexp="yes" inflected="yes">p.*
+              <exception regexp="yes" inflected="yes">b.*</exception>
+            </token>
             <token regexp="yes">[pb].*</token>
           </and>
         </pattern>
@@ -532,6 +548,7 @@
         <example type="incorrect">Re ziwezhat out va 
<marker>paotr</marker>!</example>
         <example type="incorrect">Re ziwezhat out va 
<marker>baotr</marker>!</example>
         <example type="correct">Re ziwezhat out va faotr!</example>
+        <example type="correct">Va beg digor</example>
       </rule>
       <rule>
         <pattern mark_from="2">
@@ -1170,6 +1187,7 @@
         <token 
regexp="yes">a-benn|arabat|abaoe|eus|evel(-se)?|hag?|hep|ke[nt]|krenn|lies|mard?|nemet|nebeu(dig)?|pas|pep|pebezh|pegen|pere|petvet|peseurt|petore|setu</token>
         <token postag="[^M]*M:.*" postag_regexp="yes">
           <exception negate_pos="yes" postag="[^M]*M:.*" postag_regexp="yes"/>
+          <exception>vad</exception>
         </token>
       </pattern>
       <message>Ne zlefe ket bezañ ur c’hemmadur er ger «\2» goude ar ger 
«\1».</message>
@@ -1181,6 +1199,7 @@
       <example type="correct">Redek a ra vad.</example>
       <example type="incorrect">Ken <marker>vras</marker> eo!</example>
       <example type="correct">Ken bras eo!</example>
+      <example type="correct">Ha vad a ra din bezañ du-hont.</example>
     </rule>
 
     <rulegroup id="KEMM_N_J" name="Kemmadur en anv-gwan o tont warlec’h an 
anv">
@@ -1214,7 +1233,7 @@
           <token postag="N f p.*|N m s.*" postag_regexp="yes">
             <exception postag="N f s.*|N m p t.*" postag_regexp="yes"/>
             <exception postag="N f s.*|N m p t.*" postag_regexp="yes"/>
-            <exception regexp="yes" 
inflected="yes">.|re|aer|avel|brud|c’hoari|c’hwezh|gwall|lur|revr|tra|war</exception>
+            <exception regexp="yes" 
inflected="yes">.|re|aer|avel|brud|c’hoari|c’hwezh|gwall|lur|revr|seul|tra|war</exception>
           </token>
           <token postag="J[^M]*M:.*" postag_regexp="yes">
             <exception negate_pos="yes" postag="J[^M]*M:.*|SENT_END" 
postag_regexp="yes"/>
@@ -1338,6 +1357,40 @@
     </rule>
   </category>
 
+  <category name="ELISION">
+    <rule id="DA_M" name="d’am → da‘m">
+      <pattern>
+        <token regexp="yes">[dmp]’</token>
+        <token regexp="yes">a[mz]</token>
+      </pattern>
+      <message>Ha fellout a rae deoc’h skrivañ <suggestion><match no="1" 
regexp_match="^(.).*" regexp_replace="$1a"/>’m</suggestion>?</message>
+      <example type="incorrect">Ur pok <marker>d'am</marker> gwaz</example>
+      <example type="correct">Ur pok da'm gwaz</example>
+      <example type="incorrect"><marker>P’az</marker> eer d’ar 
marc’had</example>
+      <example type="correct">Pa’z eer d’ar marc’had</example>
+      <example type="incorrect">Abaoe <marker>m’az</marker> on yac‘h 
en-dro</example>
+      <example type="correct">Abaoe ma’z on yac‘h en-dro</example>
+    </rule>
+    <rule id="D_AR" name="da’r → d’ar">
+      <pattern>
+        <token>da’</token>
+        <token regexp="yes">[lnr]</token>
+      </pattern>
+      <message>Ha fellout a rae deoc’h skrivañ <suggestion><match no="1" 
regexp_match="^(.).*" regexp_replace="$1"/>’a\2</suggestion>?</message>
+      <example type="incorrect"><marker>Da’r</marker> mare ma oan o tigeriñ an 
nor</example>
+      <example type="correct">D’ar mare ma oan o tigeriñ an nor</example>
+    </rule>
+    <rule id="M_EUS" name="m’eus → ’m eus">
+      <pattern>
+        <token>m’</token>
+        <token>eus</token>
+      </pattern>
+      <message>Ha fellout a rae deoc’h skrivañ <suggestion>’m 
eus</suggestion>?</message>
+      <example type="incorrect">Amzer a-walc’h 
<marker>m’eus</marker>.</example>
+      <example type="correct">Amzer a-walc’h ’m eus.</example>
+    </rule>
+  </category>
+
   <category name="Niver">
     <rule id="DAOU" name="daou">
       <pattern mark_to="-1">
@@ -1787,7 +1840,7 @@
           <token>bet</token>
           <token inflected="yes">bezañ</token>
           <token>da</token>
-          <token postag="Z .*" postag_regexp="yes" 
regexp="yes">[^aeiou].*</token>
+          <token postag="Z[^:]* top.*" postag_regexp="yes" 
regexp="yes">[^aeiou].*</token>
         </pattern>
         <message>Ha fellout a rae deoc’h skrivañ 
<suggestion>e</suggestion>?</message>
         <example type="incorrect">Bet out <marker>da</marker> Bariz 
c’hoazh?</example>
@@ -1798,7 +1851,7 @@
           <token>bet</token>
           <token inflected="yes">bezañ</token>
           <token>da</token>
-          <token postag="Z .*" postag_regexp="yes" 
regexp="yes">[aeiou].*</token>
+          <token postag="Z[^:]* top.*" postag_regexp="yes" 
regexp="yes">[aeiou].*</token>
         </pattern>
         <message>Ha fellout a rae deoc’h skrivañ 
<suggestion>en</suggestion>?</message>
         <example type="incorrect">Bet out <marker>da</marker> Iwerzhon 
c’hoazh?</example>
@@ -1807,7 +1860,7 @@
       <rule>
         <pattern mark_to="-3">
           <token>da</token>
-          <token postag="Z .*" postag_regexp="yes" 
regexp="yes">[^aeiou].*</token>
+          <token postag="Z[^:]* top.*" postag_regexp="yes" 
regexp="yes">[^aeiou].*</token>
           <token inflected="yes">bezañ</token>
           <token>bet</token>
         </pattern>
@@ -1818,7 +1871,7 @@
       <rule>
         <pattern mark_to="-3">
           <token>da</token>
-          <token postag="Z .*" postag_regexp="yes" 
regexp="yes">[aeiou].*</token>
+          <token postag="Z[^:]* top.*" postag_regexp="yes" 
regexp="yes">[aeiou].*</token>
           <token inflected="yes">bezañ</token>
           <token>bet</token>
         </pattern>
@@ -1831,18 +1884,19 @@
           <token inflected="yes">bezañ</token>
           <token>bet</token>
           <token>da</token>
-          <token postag="Z .*" postag_regexp="yes" 
regexp="yes">[^aeiou].*</token>
+          <token postag="Z[^:]* top.*" postag_regexp="yes" 
regexp="yes">[^aeiou].*</token>
         </pattern>
         <message>Ha fellout a rae deoc’h skrivañ 
<suggestion>en</suggestion>?</message>
         <example type="incorrect">Me zo bet <marker>da</marker> 
Gemper.</example>
         <example type="correct">Me zo bet e Gemper.</example>
+        <example type="correct">Ret e oa bet da Fañch lavarout ar 
wirionez.</example>
       </rule>
       <rule>
         <pattern mark_from="2" mark_to="-1">
           <token inflected="yes">bezañ</token>
           <token>bet</token>
           <token>da</token>
-          <token postag="Z .*" postag_regexp="yes" 
regexp="yes">[aeiou].*</token>
+          <token postag="Z[^:]* top.*" postag_regexp="yes" 
regexp="yes">[aeiou].*</token>
         </pattern>
         <message>Ha fellout a rae deoc’h skrivañ 
<suggestion>en</suggestion>?</message>
         <example type="incorrect">Te zo bet <marker>da</marker> Iwerzhon 
c’hoazh?</example>
@@ -2218,7 +2272,7 @@
           <token>re</token>
           <token postag="N .*p.*" postag_regexp="yes">
             <exception postag="J.*" postag_regexp="yes"/>
-            <exception>a</exception>
+            <exception regexp="yes">[ao]</exception>
           </token>
         </pattern>
         <message>«\1 a» a implijer dirak un anv. Ha fellout a rae deoc’h 
skrivañ <suggestion>\1 a \2</suggestion>?</message>

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Languagetool-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-cvs

Reply via email to