Revision: 7155
          
http://languagetool.svn.sourceforge.net/languagetool/?rev=7155&view=rev
Author:   milek_pl
Date:     2012-06-02 08:52:06 +0000 (Sat, 02 Jun 2012)
Log Message:
-----------
simplereplacerule for en-GB

Modified Paths:
--------------
    trunk/JLanguageTool/src/java/org/languagetool/language/BritishEnglish.java
    trunk/JLanguageTool/src/rules/en/en-GB/grammar.xml

Added Paths:
-----------
    
trunk/JLanguageTool/src/java/org/languagetool/rules/en/BritishReplaceRule.java
    trunk/JLanguageTool/src/rules/en/en-GB/replace.txt
    
trunk/JLanguageTool/src/test/org/languagetool/rules/en/BritishReplaceRuleTest.java

Modified: 
trunk/JLanguageTool/src/java/org/languagetool/language/BritishEnglish.java
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/language/BritishEnglish.java  
2012-06-02 08:24:51 UTC (rev 7154)
+++ trunk/JLanguageTool/src/java/org/languagetool/language/BritishEnglish.java  
2012-06-02 08:52:06 UTC (rev 7155)
@@ -29,6 +29,7 @@
 import org.languagetool.rules.UppercaseSentenceStartRule;
 import org.languagetool.rules.WhitespaceRule;
 import org.languagetool.rules.en.AvsAnRule;
+import org.languagetool.rules.en.BritishReplaceRule;
 import org.languagetool.rules.en.CompoundRule;
 import org.languagetool.rules.en.EnglishUnpairedBracketsRule;
 import org.languagetool.rules.en.EnglishWordRepeatBeginningRule;
@@ -60,7 +61,9 @@
                            // specific to English:
                            AvsAnRule.class,
                            EnglishWordRepeatBeginningRule.class,
-                           CompoundRule.class
+                           CompoundRule.class,
+                           // specific to British English:
+                           BritishReplaceRule.class
                    );
          }
 }

Added: 
trunk/JLanguageTool/src/java/org/languagetool/rules/en/BritishReplaceRule.java
===================================================================
--- 
trunk/JLanguageTool/src/java/org/languagetool/rules/en/BritishReplaceRule.java  
                            (rev 0)
+++ 
trunk/JLanguageTool/src/java/org/languagetool/rules/en/BritishReplaceRule.java  
    2012-06-02 08:52:06 UTC (rev 7155)
@@ -0,0 +1,89 @@
+/* LanguageTool, a natural language style checker 
+ * Copyright (C) 2005 Daniel Naber (http://www.danielnaber.de)
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
+ * USA
+ */
+package org.languagetool.rules.en;
+
+import java.io.IOException;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+import org.languagetool.rules.AbstractSimpleReplaceRule;
+
+/**
+ * A rule that matches words or phrases which should not be used and suggests
+ * correct ones instead.
+ *
+ * Polish implementations. Loads the list of words from
+ * <code>rules/pl/replace.txt</code>.
+ *
+ * @author Marcin Miłkowski
+ */
+public class BritishReplaceRule extends AbstractSimpleReplaceRule {
+
+  public static final String BRITISH_SIMPLE_REPLACE_RULE = 
"EN_GB_SIMPLE_REPLACE";
+
+  private static final String FILE_NAME = "/en/en-GB/replace.txt";
+  // locale used on case-conversion
+  private static final Locale EN_GB_LOCALE = new Locale("en-GB");
+
+  @Override
+  public final String getFileName() {
+    return FILE_NAME;
+  }
+
+  public BritishReplaceRule(final ResourceBundle messages) throws IOException {
+    super(messages);
+  }
+
+  @Override
+  public final String getId() {
+    return BRITISH_SIMPLE_REPLACE_RULE;
+  }
+
+  @Override
+  public String getDescription() {
+    return "American words easily confused in British English";
+  }
+
+  @Override
+  public String getShort() {
+    return "American word";
+  }
+
+  @Override
+  public String getSuggestion() {
+    return " is a common American expression, in British English it is more 
common to use: ";
+  }
+
+  /**
+   * use case-insensitive matching.
+   */
+  @Override
+  public boolean isCaseSensitive() {
+    return false;
+  }
+
+  /**
+   * locale used on case-conversion
+   */
+  @Override
+  public Locale getLocale() {
+    return EN_GB_LOCALE;
+  }
+
+}


Property changes on: 
trunk/JLanguageTool/src/java/org/languagetool/rules/en/BritishReplaceRule.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Modified: trunk/JLanguageTool/src/rules/en/en-GB/grammar.xml
===================================================================
--- trunk/JLanguageTool/src/rules/en/en-GB/grammar.xml  2012-06-02 08:24:51 UTC 
(rev 7154)
+++ trunk/JLanguageTool/src/rules/en/en-GB/grammar.xml  2012-06-02 08:52:06 UTC 
(rev 7155)
@@ -65,5 +65,33 @@
                        <example type="incorrect">Where's the 
<marker>band-aid</marker>?</example>
                        <example type="correct">Where's the plaster?</example>
                </rule>
+               <rule id="GROUND_VS_MINCED" name="ground beef/minced beef">
+                       <pattern>
+                               <marker>
+                               <token>ground</token>
+                               </marker>
+                               <token>beef</token>                             
+                       </pattern>
+                       <message>
+                               This word is common for American English. Did 
you mean <suggestion>minced</suggestion>?
+                       </message>
+                       
<url>http://www.learnenglish.de/mistakes/USvsBrEnglish.html</url>
+                       <example type="incorrect">Do vegetarians eat 
<marker>ground</marker> beef?</example>
+                       <example type="correct">No, vegetarians do not eat 
minced beef.</example>
+               </rule>
+               <rule id="FIRST_GROUND_FLOOR" name="first floor/ground floor">
+                       <pattern>
+                               <marker>
+                               <token>first</token>
+                               </marker>
+                               <token>floor</token>                            
+                       </pattern>
+                       <message>
+                               This word is common for American English. Did 
you mean <suggestion>ground</suggestion>?
+                       </message>
+                       
<url>http://www.learnenglish.de/mistakes/USvsBrEnglish.html</url>
+                       <example type="incorrect">The room is on the 
<marker>first</marker> floor.</example>
+                       <example type="correct">You mean on the ground 
floor?</example>
+               </rule>
        </category>
 </rules>
\ No newline at end of file

Added: trunk/JLanguageTool/src/rules/en/en-GB/replace.txt
===================================================================
--- trunk/JLanguageTool/src/rules/en/en-GB/replace.txt                          
(rev 0)
+++ trunk/JLanguageTool/src/rules/en/en-GB/replace.txt  2012-06-02 08:52:06 UTC 
(rev 7155)
@@ -0,0 +1,93 @@
+#American words confused with British ones
+#(c) 2012 Marcin Milkowski
+#Licensed under LGPL
+#The list includes mostly words from 
http://www.learnenglish.de/mistakes/USvsBrEnglish.html
+#baby buggy=pram
+bathroom=toilet
+bellboy=page
+braid=plait
+bureau=office
+busy=engaged
+can=tin
+#candy apple=toffee apple
+carnival=funfair
+#checking account=current account
+chips=crisps
+cookies=biscuits
+#correctional officer=prison officer
+#cotton candy=candyfloss
+curb=kerb
+detergent=washing powder
+diapers=nappies
+#dishwashing liquid=washing up liquid
+drapes=curtains
+#drunk driving=drink-driving
+elevator=lift
+emcee=compere
+eraser=rubber
+faucet=tap
+#Ferris wheel=big wheel
+#fish sticks=fish fingers
+flashlight=torch
+#free time=spare time
+freeway=motorway
+turnpike=motorway
+#French fries=chips
+garbage=rubbish
+garters=suspenders
+gas=petrol
+grippe=flu
+highway=main road
+hood=bonnet
+intersection=crossroads
+jelly=jam
+knapsack=rucksack
+#motorway exit=ramp
+movie=film
+#movie theater=cinema
+#moving van=removal van
+#nail polish=nail varnish
+oatmeal=porridge
+pacifier=dummy
+pants=knickers
+#panty hose=tights
+#parking lot=car park
+#parking meter attendant=traffic warden
+pitcher=jug
+#private school=public school
+#public holiday=bank holiday3
+purse=handbag
+#ramp1=slip road
+#recess=break (play time)
+#report card=school report
+#! rubber !=condom
+#rubber boots=wellingtons
+run=ladder
+scallion=spring onion
+#Scotch tape=Sellotape
+sedan=saloon car
+sidewalk=pavement
+#*sink=basin
+skillet=frying-pan
+slicker=mackintosh
+stocks=shares
+#street light=lamp post
+streetcar=tram
+student=pupil
+suspenders=braces
+sweater=jumper
+taps=last post
+thumbtack=drawing-pin
+#toilet=!toilet (but the loo not the room)
+trash=rubbis
+trashcan=dustbin
+#trolley car=tram
+truck=lorry
+trunk=boot
+undershirt=vest
+vacation=holiday
+#vacuum cleaner=hoover
+washcloth=flannel
+windshield=windscreen
+yard=garden
+zipper=zip
\ No newline at end of file


Property changes on: trunk/JLanguageTool/src/rules/en/en-GB/replace.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: 
trunk/JLanguageTool/src/test/org/languagetool/rules/en/BritishReplaceRuleTest.java
===================================================================
--- 
trunk/JLanguageTool/src/test/org/languagetool/rules/en/BritishReplaceRuleTest.java
                          (rev 0)
+++ 
trunk/JLanguageTool/src/test/org/languagetool/rules/en/BritishReplaceRuleTest.java
  2012-06-02 08:52:06 UTC (rev 7155)
@@ -0,0 +1,80 @@
+/* LanguageTool, a natural language style checker 
+ * Copyright (C) 2005 Daniel Naber (http://www.danielnaber.de)
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
+ * USA
+ */
+
+package org.languagetool.rules.en;
+
+import java.io.IOException;
+
+import junit.framework.TestCase;
+import org.languagetool.JLanguageTool;
+import org.languagetool.Language;
+import org.languagetool.TestTools;
+import org.languagetool.rules.RuleMatch;
+
+/**
+ * 
+ * Simple tests for rules/pl/SimpleReplaceRule class
+ * 
+ * @author Ionuț Păduraru
+ */
+public class BritishReplaceRuleTest extends TestCase {
+
+       private BritishReplaceRule rule;
+       private JLanguageTool langTool;
+
+       protected void setUp() throws Exception {
+               super.setUp();
+               rule = new BritishReplaceRule(TestTools.getMessages("en"));
+               langTool = new JLanguageTool(Language.BRITISH_ENGLISH);
+       }
+
+       public void testRule() throws IOException {
+
+               // correct sentences:
+               assertEquals(0, rule.match(langTool.getAnalyzedSentence("Buy 
some petrol.")).length);
+
+               // incorrect sentences:
+
+               // at the beginning of a sentence (Romanian replace rule is 
case-sensitive)
+               checkSimpleReplaceRule("Diapers for sale!", "Nappies");
+               // inside sentence
+               checkSimpleReplaceRule("We have some diapers for sale.", 
"nappies");
+       }
+
+       /**
+        * Check if a specific replace rule applies.
+        * 
+        * @param sentence
+        *            the sentence containing the incorrect/misspeled word.
+        * @param word
+        *            the word that is correct (the suggested replacement).
+        * @throws IOException
+        */
+       private void checkSimpleReplaceRule(String sentence, String word)
+                       throws IOException {
+               RuleMatch[] matches;
+               matches = rule.match(langTool.getAnalyzedSentence(sentence));
+               assertEquals("Invalid matches.length while checking sentence: "
+                               + sentence, 1, matches.length);
+               assertEquals("Invalid replacement count wile checking sentence: 
"
+                               + sentence, 1, 
matches[0].getSuggestedReplacements().size());
+               assertEquals("Invalid suggested replacement while checking 
sentence: "
+                               + sentence, word, 
matches[0].getSuggestedReplacements().get(0));
+       }
+}


Property changes on: 
trunk/JLanguageTool/src/test/org/languagetool/rules/en/BritishReplaceRuleTest.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

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


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Languagetool-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-cvs

Reply via email to