diff --git a/languagetool-commandline/src/main/java/org/languagetool/commandline/Main.java b/languagetool-commandline/src/main/java/org/languagetool/commandline/Main.java
index 5cbe62d893658..255ca1637bc41 100644
--- a/languagetool-commandline/src/main/java/org/languagetool/commandline/Main.java
+++ b/languagetool-commandline/src/main/java/org/languagetool/commandline/Main.java
@@ -22,7 +22,8 @@
import org.apache.commons.io.input.BOMInputStream;
import org.languagetool.*;
import org.languagetool.bitext.TabBitextReader;
-import org.languagetool.language.*;
+import org.languagetool.language.en.AmericanEnglish;
+import org.languagetool.language.en.English;
import org.languagetool.language.identifier.LanguageIdentifier;
import org.languagetool.language.identifier.LanguageIdentifierService;
import org.languagetool.rules.Rule;
diff --git a/languagetool-core/pom.xml b/languagetool-core/pom.xml
index 4147a06b55924..111d5a13544a4 100644
--- a/languagetool-core/pom.xml
+++ b/languagetool-core/pom.xml
@@ -277,6 +277,7 @@
${project.version}
${maven.build.timestamp}
+ org.languagetool.core
diff --git a/languagetool-core/src/main/java/org/languagetool/Languages.java b/languagetool-core/src/main/java/org/languagetool/Languages.java
index 7c76e5a6b8684..666e550cc5284 100644
--- a/languagetool-core/src/main/java/org/languagetool/Languages.java
+++ b/languagetool-core/src/main/java/org/languagetool/Languages.java
@@ -148,10 +148,10 @@ private static Language createLanguageObjects(URL url, String className) {
static boolean hasPremium(String className) {
return className.matches("org\\.languagetool\\.language\\.(" +
- "Portuguese|AngolaPortuguese|BrazilianPortuguese|MozambiquePortuguese|PortugalPortuguese|" +
- "German|GermanyGerman|AustrianGerman|SwissGerman|" +
- "Dutch|French|Spanish|" +
- "English|AustralianEnglish|AmericanEnglish|BritishEnglish|CanadianEnglish|NewZealandEnglish|SouthAfricanEnglish" +
+ "pt\\.Portuguese|pt\\.AngolaPortuguese|pt\\.BrazilianPortuguese|pt\\.MozambiquePortuguese|pt\\.PortugalPortuguese|" +
+ "de\\.German|de\\.GermanyGerman|de\\.AustrianGerman|de\\.SwissGerman|" +
+ "nl\\.Dutch|fr\\.French|es\\.Spanish|" +
+ "en\\.English|en\\.AustralianEnglish|en\\.AmericanEnglish|en\\.BritishEnglish|en\\.CanadianEnglish|en\\.NewZealandEnglish|en\\.SouthAfricanEnglish" +
")");
}
diff --git a/languagetool-core/src/main/java/org/languagetool/chunking/TokenExpressionFactory.java b/languagetool-core/src/main/java/org/languagetool/chunking/TokenExpressionFactory.java
index 6c1a8f0f3f98e..27e5d4e083570 100644
--- a/languagetool-core/src/main/java/org/languagetool/chunking/TokenExpressionFactory.java
+++ b/languagetool-core/src/main/java/org/languagetool/chunking/TokenExpressionFactory.java
@@ -25,14 +25,14 @@
/**
* @since 2.9
*/
-final class TokenExpressionFactory extends ExpressionFactory {
+public final class TokenExpressionFactory extends ExpressionFactory {
private final boolean caseSensitive;
/**
* @param caseSensitive whether word tokens should be compared case-sensitively - also used for regular expressions
*/
- TokenExpressionFactory(boolean caseSensitive) {
+ public TokenExpressionFactory(boolean caseSensitive) {
this.caseSensitive = caseSensitive;
}
diff --git a/languagetool-core/src/main/java/org/languagetool/language/Contributor.java b/languagetool-core/src/main/java/org/languagetool/language/Contributor.java
index 23b063514e36e..7b24c07a8cbc1 100644
--- a/languagetool-core/src/main/java/org/languagetool/language/Contributor.java
+++ b/languagetool-core/src/main/java/org/languagetool/language/Contributor.java
@@ -18,6 +18,8 @@
*/
package org.languagetool.language;
+import lombok.Getter;
+
import java.util.Objects;
/**
@@ -30,21 +32,21 @@ public final class Contributor {
/**
* @param name full name
- * @param url URL to homepage or similar (optional)
+ * @param url URL to homepage or similar (optional)
*/
- Contributor(String name, String url) {
+ public Contributor(String name, String url) {
this.name = Objects.requireNonNull(name, "name cannot be null");
this.url = url;
}
- Contributor(String name) {
+ public Contributor(String name) {
this(name, null);
}
-
+
public String getName() {
return name;
}
-
+
public String getUrl() {
return url;
}
@@ -53,5 +55,4 @@ public String getUrl() {
public String toString() {
return name;
}
-
}
diff --git a/languagetool-core/src/main/java/org/languagetool/language/Contributors.java b/languagetool-core/src/main/java/org/languagetool/language/Contributors.java
index 43f2555a04a82..446362bacb6b8 100644
--- a/languagetool-core/src/main/java/org/languagetool/language/Contributors.java
+++ b/languagetool-core/src/main/java/org/languagetool/language/Contributors.java
@@ -21,13 +21,13 @@
/**
* Constants for contributors who contribute to more than one language (use to avoid duplication).
*/
-final class Contributors {
+public final class Contributors {
private Contributors() {
}
- static final Contributor MARCIN_MILKOWSKI = new Contributor("Marcin Miłkowski", "http://marcinmilkowski.pl");
- static final Contributor DANIEL_NABER = new Contributor("Daniel Naber", "http://www.danielnaber.de");
- static final Contributor DOMINIQUE_PELLE = new Contributor("Dominique Pellé", "http://dominiko.livejournal.com/tag/lingvoilo");
+ public static final Contributor MARCIN_MILKOWSKI = new Contributor("Marcin Miłkowski", "http://marcinmilkowski.pl");
+ public static final Contributor DANIEL_NABER = new Contributor("Daniel Naber", "http://www.danielnaber.de");
+ public static final Contributor DOMINIQUE_PELLE = new Contributor("Dominique Pellé", "http://dominiko.livejournal.com/tag/lingvoilo");
}
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/GenderWordFinder.java b/languagetool-dev/src/main/java/org/languagetool/dev/GenderWordFinder.java
index 5c9ee4f45f139..363849124b783 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/GenderWordFinder.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/GenderWordFinder.java
@@ -19,7 +19,7 @@
package org.languagetool.dev;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.Rule;
import org.languagetool.rules.de.GermanSpellerRule;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/GermanOldSpellingFinder.java b/languagetool-dev/src/main/java/org/languagetool/dev/GermanOldSpellingFinder.java
index 189d0d2de3ea3..c28359ea7ab11 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/GermanOldSpellingFinder.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/GermanOldSpellingFinder.java
@@ -19,7 +19,7 @@
package org.languagetool.dev;
import org.languagetool.AnalyzedToken;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.synthesis.Synthesizer;
import java.io.IOException;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/MissingGermanCompoundAdjectiveFinder.java b/languagetool-dev/src/main/java/org/languagetool/dev/MissingGermanCompoundAdjectiveFinder.java
index a9dd0728d1834..0336f31aa53a2 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/MissingGermanCompoundAdjectiveFinder.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/MissingGermanCompoundAdjectiveFinder.java
@@ -20,7 +20,7 @@
import de.danielnaber.jwordsplitter.GermanWordSplitter;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.tagging.Tagger;
import org.languagetool.tools.StringTools;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/MissingGermanCompoundsFinder.java b/languagetool-dev/src/main/java/org/languagetool/dev/MissingGermanCompoundsFinder.java
index 6994ba57ac882..c2f219433d40c 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/MissingGermanCompoundsFinder.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/MissingGermanCompoundsFinder.java
@@ -20,7 +20,7 @@
import de.danielnaber.jwordsplitter.GermanWordSplitter;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.de.GermanSpellerRule;
import org.languagetool.tools.StringTools;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/MissingGermanWords.java b/languagetool-dev/src/main/java/org/languagetool/dev/MissingGermanWords.java
index e083d90c3a8e1..7baf20edb6d96 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/MissingGermanWords.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/MissingGermanWords.java
@@ -1,8 +1,8 @@
package org.languagetool.dev;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.AmericanEnglish;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.en.AmericanEnglish;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.de.GermanSpellerRule;
import org.languagetool.rules.en.MorfologikAmericanSpellerRule;
import org.languagetool.tagging.de.GermanTagger;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/RuleOverview.java b/languagetool-dev/src/main/java/org/languagetool/dev/RuleOverview.java
index 684f42a38783e..d71b37a8dbd5c 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/RuleOverview.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/RuleOverview.java
@@ -21,7 +21,7 @@
import org.apache.commons.lang3.StringUtils;
import org.languagetool.*;
import org.languagetool.broker.ResourceDataBroker;
-import org.languagetool.language.AmericanEnglish;
+import org.languagetool.language.en.AmericanEnglish;
import org.languagetool.language.Contributor;
import org.languagetool.rules.ConfusionSetLoader;
import org.languagetool.rules.Rule;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/archive/GermanTaggerEnhancer.java b/languagetool-dev/src/main/java/org/languagetool/dev/archive/GermanTaggerEnhancer.java
index 707642941d21d..f658bb3fd5232 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/archive/GermanTaggerEnhancer.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/archive/GermanTaggerEnhancer.java
@@ -24,7 +24,7 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.tagging.Tagger;
import org.languagetool.tools.StringTools;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/archive/SimpleRuleCounter.java b/languagetool-dev/src/main/java/org/languagetool/dev/archive/SimpleRuleCounter.java
index 0e59d1190e328..feb54969f80ff 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/archive/SimpleRuleCounter.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/archive/SimpleRuleCounter.java
@@ -21,7 +21,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
import org.languagetool.Languages;
-//import org.languagetool.language.English;
+//import org.languagetool.language.en.English;
import org.languagetool.rules.Rule;
import org.languagetool.rules.patterns.PatternRule;
import org.languagetool.rules.patterns.PatternToken;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/ConfusionRuleEvaluator.java b/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/ConfusionRuleEvaluator.java
index aa88428142767..5a18d237c26f8 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/ConfusionRuleEvaluator.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/ConfusionRuleEvaluator.java
@@ -24,7 +24,7 @@
import org.languagetool.chunking.Chunker;
import org.languagetool.dev.dumpcheck.*;
import org.languagetool.dev.eval.FMeasure;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.languagemodel.LuceneLanguageModel;
import org.languagetool.rules.*;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/GermanReflexiveVerbGuesser.java b/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/GermanReflexiveVerbGuesser.java
index 5856fd8da86d8..459e3f4293cf3 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/GermanReflexiveVerbGuesser.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/GermanReflexiveVerbGuesser.java
@@ -19,7 +19,7 @@
package org.languagetool.dev.bigdata;
import org.languagetool.AnalyzedToken;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.languagemodel.LuceneLanguageModel;
import org.languagetool.synthesis.Synthesizer;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/NGramUrlGenerator.java b/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/NGramUrlGenerator.java
index bd4395fa1ca29..22f4fea4b0287 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/NGramUrlGenerator.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/NGramUrlGenerator.java
@@ -19,7 +19,7 @@
package org.languagetool.dev.bigdata;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.AmericanEnglish;
+import org.languagetool.language.en.AmericanEnglish;
import org.languagetool.rules.ConfusionPair;
import org.languagetool.rules.ConfusionSetLoader;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/NeededNGramCounter.java b/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/NeededNGramCounter.java
index d5caea350778c..1cad20c0e42dc 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/NeededNGramCounter.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/bigdata/NeededNGramCounter.java
@@ -24,7 +24,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
import org.languagetool.Languages;
-import org.languagetool.language.AmericanEnglish;
+import org.languagetool.language.en.AmericanEnglish;
import org.languagetool.rules.ConfusionSetLoader;
import java.io.File;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/eval/CheckBNC.java b/languagetool-dev/src/main/java/org/languagetool/dev/eval/CheckBNC.java
index c6099110ab465..e80dea2c68676 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/eval/CheckBNC.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/eval/CheckBNC.java
@@ -26,7 +26,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.commandline.CommandLineTools;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import org.languagetool.tokenizers.Tokenizer;
import org.languagetool.tools.StringTools;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/eval/LanguageToolEvaluator.java b/languagetool-dev/src/main/java/org/languagetool/dev/eval/LanguageToolEvaluator.java
index ef6077a3a3d67..ba12768150c7e 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/eval/LanguageToolEvaluator.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/eval/LanguageToolEvaluator.java
@@ -19,8 +19,8 @@
package org.languagetool.dev.eval;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.BritishEnglish;
-import org.languagetool.language.English;
+import org.languagetool.language.en.BritishEnglish;
+import org.languagetool.language.en.English;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.languagemodel.LuceneLanguageModel;
import org.languagetool.markup.AnnotatedText;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/eval/RealWordFalseAlarmEvaluator.java b/languagetool-dev/src/main/java/org/languagetool/dev/eval/RealWordFalseAlarmEvaluator.java
index 647856f29bde5..ea4c7dec82c92 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/eval/RealWordFalseAlarmEvaluator.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/eval/RealWordFalseAlarmEvaluator.java
@@ -21,9 +21,8 @@
import org.apache.commons.io.IOUtils;
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
-import org.languagetool.language.AmericanEnglish;
-import org.languagetool.language.BritishEnglish;
-import org.languagetool.language.English;
+import org.languagetool.language.en.AmericanEnglish;
+import org.languagetool.language.en.BritishEnglish;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.languagemodel.LuceneLanguageModel;
import org.languagetool.rules.*;
diff --git a/languagetool-dev/src/main/java/org/languagetool/dev/eval/SimpleCorpusEvaluator.java b/languagetool-dev/src/main/java/org/languagetool/dev/eval/SimpleCorpusEvaluator.java
index 532410809d000..07c9c5ddc675f 100644
--- a/languagetool-dev/src/main/java/org/languagetool/dev/eval/SimpleCorpusEvaluator.java
+++ b/languagetool-dev/src/main/java/org/languagetool/dev/eval/SimpleCorpusEvaluator.java
@@ -24,7 +24,7 @@
import org.languagetool.dev.errorcorpus.ErrorCorpus;
import org.languagetool.dev.errorcorpus.ErrorSentence;
import org.languagetool.dev.errorcorpus.SimpleCorpus;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.languagemodel.LuceneLanguageModel;
import org.languagetool.languagemodel.LuceneSingleIndexLanguageModel;
diff --git a/languagetool-dev/src/test/java/org/languagetool/dev/bigdata/CommonCrawlToNgramTest.java b/languagetool-dev/src/test/java/org/languagetool/dev/bigdata/CommonCrawlToNgramTest.java
index 6aef47ad0aee7..ed39be16aa926 100644
--- a/languagetool-dev/src/test/java/org/languagetool/dev/bigdata/CommonCrawlToNgramTest.java
+++ b/languagetool-dev/src/test/java/org/languagetool/dev/bigdata/CommonCrawlToNgramTest.java
@@ -24,7 +24,7 @@
import org.apache.commons.io.FileUtils;
import org.junit.Ignore;
import org.junit.Test;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
public class CommonCrawlToNgramTest {
diff --git a/languagetool-dev/src/test/java/org/languagetool/dev/bigdata/ContextBuilderTest.java b/languagetool-dev/src/test/java/org/languagetool/dev/bigdata/ContextBuilderTest.java
index 70a7cc12432c0..1a4fd88772562 100644
--- a/languagetool-dev/src/test/java/org/languagetool/dev/bigdata/ContextBuilderTest.java
+++ b/languagetool-dev/src/test/java/org/languagetool/dev/bigdata/ContextBuilderTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.AnalyzedSentence;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import java.io.IOException;
import java.util.List;
diff --git a/languagetool-language-modules/ar/pom.xml b/languagetool-language-modules/ar/pom.xml
index 7e8d3a2d35e22..f5ae1f822d198 100644
--- a/languagetool-language-modules/ar/pom.xml
+++ b/languagetool-language-modules/ar/pom.xml
@@ -93,6 +93,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.ar
+
+
+
+
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/language/Arabic.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/language/ar/Arabic.java
similarity index 96%
rename from languagetool-language-modules/ar/src/main/java/org/languagetool/language/Arabic.java
rename to languagetool-language-modules/ar/src/main/java/org/languagetool/language/ar/Arabic.java
index 6683f49a8367a..7a0ea48030819 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/language/Arabic.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/language/ar/Arabic.java
@@ -16,13 +16,14 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.ar;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.Language;
import org.languagetool.LanguageMaintainedState;
import org.languagetool.UserConfig;
+import org.languagetool.language.Contributor;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.*;
import org.languagetool.rules.ar.*;
@@ -96,8 +97,8 @@ public Synthesizer createDefaultSynthesizer() {
@Override
public Contributor[] getMaintainers() {
return new Contributor[]{
- new Contributor("Taha Zerrouki"),
- new Contributor("Sohaib Afifi")
+ new Contributor("Taha Zerrouki", null),
+ new Contributor("Sohaib Afifi", null)
};
}
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicDarjaRule.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicDarjaRule.java
index cd6a53431dd7d..afa77dac23131 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicDarjaRule.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicDarjaRule.java
@@ -19,7 +19,7 @@
*/
package org.languagetool.rules.ar;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicDiacriticsRule.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicDiacriticsRule.java
index ab050f54ba07f..0ae82c131d205 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicDiacriticsRule.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicDiacriticsRule.java
@@ -19,7 +19,7 @@
*/
package org.languagetool.rules.ar;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicHomophonesRule.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicHomophonesRule.java
index a3dc61ecbf3b3..9fc0bcf3f95c0 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicHomophonesRule.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicHomophonesRule.java
@@ -19,7 +19,7 @@
*/
package org.languagetool.rules.ar;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicHunspellSpellerRule.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicHunspellSpellerRule.java
index fa1aee6bfebee..a4e2ef908981b 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicHunspellSpellerRule.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicHunspellSpellerRule.java
@@ -21,7 +21,7 @@
import org.jetbrains.annotations.NotNull;
import org.languagetool.UserConfig;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.spelling.hunspell.HunspellRule;
import org.languagetool.tools.ArabicStringTools;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicInflectedOneWordReplaceRule.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicInflectedOneWordReplaceRule.java
index 3c0f810135d32..039c366979f09 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicInflectedOneWordReplaceRule.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicInflectedOneWordReplaceRule.java
@@ -22,7 +22,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.*;
import org.languagetool.synthesis.ar.ArabicSynthesizer;
import org.languagetool.tagging.ar.ArabicTagger;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicRedundancyRule.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicRedundancyRule.java
index 12bbb4674c3f6..d33f280fb1403 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicRedundancyRule.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicRedundancyRule.java
@@ -19,7 +19,7 @@
*/
package org.languagetool.rules.ar;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicSimpleReplaceRule.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicSimpleReplaceRule.java
index f1c268669d9e0..a5000c729e1c1 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicSimpleReplaceRule.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicSimpleReplaceRule.java
@@ -19,7 +19,7 @@
*/
package org.languagetool.rules.ar;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicTransVerbRule.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicTransVerbRule.java
index a72595956922b..16645993d00c4 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicTransVerbRule.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicTransVerbRule.java
@@ -22,7 +22,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.*;
import org.languagetool.synthesis.ar.ArabicSynthesizer;
import org.languagetool.tagging.ar.ArabicTagManager;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicWordRepeatRule.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicWordRepeatRule.java
index e94fac1d1ec52..c5c458d52ceca 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicWordRepeatRule.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicWordRepeatRule.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.ar;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.Example;
import org.languagetool.rules.WordRepeatRule;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicWordinessRule.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicWordinessRule.java
index 9f45ecb4659d5..dc1548ac55003 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicWordinessRule.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/ArabicWordinessRule.java
@@ -19,7 +19,7 @@
*/
package org.languagetool.rules.ar;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicAdvancedSynthesizerFilter.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicAdvancedSynthesizerFilter.java
index 6cd9e9713a277..06f30cc5c0d0c 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicAdvancedSynthesizerFilter.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicAdvancedSynthesizerFilter.java
@@ -20,7 +20,7 @@
package org.languagetool.rules.ar.filters;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.AbstractAdvancedSynthesizerFilter;
import org.languagetool.synthesis.Synthesizer;
import org.languagetool.synthesis.ar.ArabicSynthesizer;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicMasdarToVerbFilter.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicMasdarToVerbFilter.java
index 2dd73530552b0..fe354605b825c 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicMasdarToVerbFilter.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicMasdarToVerbFilter.java
@@ -21,7 +21,7 @@
import org.jetbrains.annotations.Nullable;
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.SimpleReplaceDataLoader;
import org.languagetool.rules.patterns.RuleFilter;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicNumberPhraseFilter.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicNumberPhraseFilter.java
index 69754747a8d6c..efc28a155a713 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicNumberPhraseFilter.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicNumberPhraseFilter.java
@@ -21,12 +21,11 @@
import org.jetbrains.annotations.Nullable;
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.RuleFilter;
import org.languagetool.synthesis.ar.ArabicSynthesizer;
import org.languagetool.tagging.ar.ArabicTagManager;
-import org.languagetool.tagging.ar.ArabicTagger;
import org.languagetool.tools.ArabicNumbersWords;
import java.util.ArrayList;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicVerbToMafoulMutlaqFilter.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicVerbToMafoulMutlaqFilter.java
index e3cfcbbc82b4a..cfbde580b908d 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicVerbToMafoulMutlaqFilter.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/rules/ar/filters/ArabicVerbToMafoulMutlaqFilter.java
@@ -20,7 +20,7 @@
import org.jetbrains.annotations.Nullable;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.SimpleReplaceDataLoader;
import org.languagetool.rules.patterns.RuleFilter;
diff --git a/languagetool-language-modules/ar/src/main/java/org/languagetool/tagging/ar/ArabicHybridDisambiguator.java b/languagetool-language-modules/ar/src/main/java/org/languagetool/tagging/ar/ArabicHybridDisambiguator.java
index c4c7e8210d3a4..55a2a22bdba39 100644
--- a/languagetool-language-modules/ar/src/main/java/org/languagetool/tagging/ar/ArabicHybridDisambiguator.java
+++ b/languagetool-language-modules/ar/src/main/java/org/languagetool/tagging/ar/ArabicHybridDisambiguator.java
@@ -19,7 +19,7 @@
package org.languagetool.tagging.ar;
import org.languagetool.AnalyzedSentence;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.tagging.disambiguation.AbstractDisambiguator;
import org.languagetool.tagging.disambiguation.Disambiguator;
import org.languagetool.tagging.disambiguation.MultiWordChunker;
diff --git a/languagetool-language-modules/ar/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/ar/src/main/resources/META-INF/org/languagetool/language-module.properties
index 5d095e68e6d9e..dd921d1a82d35 100644
--- a/languagetool-language-modules/ar/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/ar/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Arabic
+languageClasses=org.languagetool.language.ar.Arabic
diff --git a/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicDiacriticsCheckRuleTest.java b/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicDiacriticsCheckRuleTest.java
index 7a4640b486fc7..8327edd8da899 100644
--- a/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicDiacriticsCheckRuleTest.java
+++ b/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicDiacriticsCheckRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import java.io.IOException;
diff --git a/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicHomophonesCheckRuleTest.java b/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicHomophonesCheckRuleTest.java
index 344267c340507..6c08227af701a 100644
--- a/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicHomophonesCheckRuleTest.java
+++ b/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicHomophonesCheckRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import java.io.IOException;
diff --git a/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicSRXSentenceTokenizerTest.java b/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicSRXSentenceTokenizerTest.java
index f366e69b526bc..3cfeee143e4c4 100644
--- a/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicSRXSentenceTokenizerTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
public class ArabicSRXSentenceTokenizerTest {
diff --git a/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicTaggerTest.java b/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicTaggerTest.java
index 653a1e499d590..693bfcce6a5d4 100644
--- a/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicTaggerTest.java
+++ b/languagetool-language-modules/ar/src/test/java/org/languagetool/rules/ar/ArabicTaggerTest.java
@@ -22,7 +22,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Arabic;
+import org.languagetool.language.ar.Arabic;
import org.languagetool.tagging.ar.ArabicTagger;
import org.languagetool.tokenizers.WordTokenizer;
diff --git a/languagetool-language-modules/ast/pom.xml b/languagetool-language-modules/ast/pom.xml
index 3aed85bf40332..ed1c281bdd7ed 100644
--- a/languagetool-language-modules/ast/pom.xml
+++ b/languagetool-language-modules/ast/pom.xml
@@ -67,6 +67,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.ast
+
+
+
+
diff --git a/languagetool-language-modules/ast/src/main/java/org/languagetool/language/Asturian.java b/languagetool-language-modules/ast/src/main/java/org/languagetool/language/ast/Asturian.java
similarity index 96%
rename from languagetool-language-modules/ast/src/main/java/org/languagetool/language/Asturian.java
rename to languagetool-language-modules/ast/src/main/java/org/languagetool/language/ast/Asturian.java
index 9c0474e829321..a947d76254fd1 100644
--- a/languagetool-language-modules/ast/src/main/java/org/languagetool/language/Asturian.java
+++ b/languagetool-language-modules/ast/src/main/java/org/languagetool/language/ast/Asturian.java
@@ -16,12 +16,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.ast;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.Language;
import org.languagetool.UserConfig;
+import org.languagetool.language.Contributor;
import org.languagetool.language.rules.ast.MorfologikAsturianSpellerRule;
import org.languagetool.rules.*;
import org.languagetool.rules.spelling.SpellingCheckRule;
@@ -56,7 +57,7 @@ public String[] getCountries() {
@Override
public Contributor[] getMaintainers() {
- return new Contributor[] { new Contributor("Xesús González Rato") };
+ return new Contributor[] { new Contributor("Xesús González Rato", null) };
}
@Override
diff --git a/languagetool-language-modules/ast/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/ast/src/main/resources/META-INF/org/languagetool/language-module.properties
index 2d824bc98d426..c42dc216181c9 100644
--- a/languagetool-language-modules/ast/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/ast/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Asturian
+languageClasses=org.languagetool.language.ast.Asturian
diff --git a/languagetool-language-modules/ast/src/test/java/org/languagetool/AsturianConcurrencyTest.java b/languagetool-language-modules/ast/src/test/java/org/languagetool/AsturianConcurrencyTest.java
index 8473d18ee7085..702766521c938 100644
--- a/languagetool-language-modules/ast/src/test/java/org/languagetool/AsturianConcurrencyTest.java
+++ b/languagetool-language-modules/ast/src/test/java/org/languagetool/AsturianConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Asturian;
+import org.languagetool.language.ast.Asturian;
public class AsturianConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/ast/src/test/java/org/languagetool/language/rules/ast/MorfologikAsturianSpellerRuleTest.java b/languagetool-language-modules/ast/src/test/java/org/languagetool/language/rules/ast/MorfologikAsturianSpellerRuleTest.java
index 9e4f0d66905a6..cf7bc33a2b4be 100644
--- a/languagetool-language-modules/ast/src/test/java/org/languagetool/language/rules/ast/MorfologikAsturianSpellerRuleTest.java
+++ b/languagetool-language-modules/ast/src/test/java/org/languagetool/language/rules/ast/MorfologikAsturianSpellerRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Asturian;
+import org.languagetool.language.ast.Asturian;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ast/src/test/java/org/languagetool/rules/ast/AsturianTest.java b/languagetool-language-modules/ast/src/test/java/org/languagetool/rules/ast/AsturianTest.java
index d07c0e879d4a3..6256fe90e98cb 100644
--- a/languagetool-language-modules/ast/src/test/java/org/languagetool/rules/ast/AsturianTest.java
+++ b/languagetool-language-modules/ast/src/test/java/org/languagetool/rules/ast/AsturianTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Asturian;
+import org.languagetool.language.ast.Asturian;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/ast/src/test/java/org/languagetool/tokenizers/ast/AsturianSRXSentenceTokenizerTest.java b/languagetool-language-modules/ast/src/test/java/org/languagetool/tokenizers/ast/AsturianSRXSentenceTokenizerTest.java
index 6ca1a211023fc..588dc90fc896b 100644
--- a/languagetool-language-modules/ast/src/test/java/org/languagetool/tokenizers/ast/AsturianSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/ast/src/test/java/org/languagetool/tokenizers/ast/AsturianSRXSentenceTokenizerTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Asturian;
+import org.languagetool.language.ast.Asturian;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
public class AsturianSRXSentenceTokenizerTest {
diff --git a/languagetool-language-modules/be/pom.xml b/languagetool-language-modules/be/pom.xml
index 83227b1e6d8d9..2d5e24e508784 100644
--- a/languagetool-language-modules/be/pom.xml
+++ b/languagetool-language-modules/be/pom.xml
@@ -67,6 +67,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.be
+
+
+
+
diff --git a/languagetool-language-modules/be/src/main/java/org/languagetool/language/Belarusian.java b/languagetool-language-modules/be/src/main/java/org/languagetool/language/be/Belarusian.java
similarity index 97%
rename from languagetool-language-modules/be/src/main/java/org/languagetool/language/Belarusian.java
rename to languagetool-language-modules/be/src/main/java/org/languagetool/language/be/Belarusian.java
index f23346c8bec51..fd549cff8e2b5 100644
--- a/languagetool-language-modules/be/src/main/java/org/languagetool/language/Belarusian.java
+++ b/languagetool-language-modules/be/src/main/java/org/languagetool/language/be/Belarusian.java
@@ -16,11 +16,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.be;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
+import org.languagetool.language.Contributor;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.Language;
import org.languagetool.UserConfig;
@@ -88,7 +89,7 @@ public Tokenizer createDefaultWordTokenizer() {
@Override
public Contributor[] getMaintainers() {
- return new Contributor[] { new Contributor("Alex Buloichik") };
+ return new Contributor[] { new Contributor("Alex Buloichik", null) };
}
/** @since 5.1 */
diff --git a/languagetool-language-modules/be/src/main/java/org/languagetool/rules/be/SimpleReplaceRule.java b/languagetool-language-modules/be/src/main/java/org/languagetool/rules/be/SimpleReplaceRule.java
index 8748989d5a011..5dd9b311c014b 100644
--- a/languagetool-language-modules/be/src/main/java/org/languagetool/rules/be/SimpleReplaceRule.java
+++ b/languagetool-language-modules/be/src/main/java/org/languagetool/rules/be/SimpleReplaceRule.java
@@ -27,7 +27,7 @@
import java.util.Locale;
import java.util.ResourceBundle;
-import org.languagetool.language.Belarusian;
+import org.languagetool.language.be.Belarusian;
import org.languagetool.rules.ITSIssueType;
import org.languagetool.rules.Category;
import org.languagetool.rules.CategoryId;
diff --git a/languagetool-language-modules/be/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/be/src/main/resources/META-INF/org/languagetool/language-module.properties
index b95b974b63d07..10dd4a27ded70 100644
--- a/languagetool-language-modules/be/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/be/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Belarusian
+languageClasses=org.languagetool.language.be.Belarusian
diff --git a/languagetool-language-modules/be/src/test/java/org/languagetool/BelarusianConcurrencyTest.java b/languagetool-language-modules/be/src/test/java/org/languagetool/BelarusianConcurrencyTest.java
index c62371c630fe4..e14ba1690deb1 100644
--- a/languagetool-language-modules/be/src/test/java/org/languagetool/BelarusianConcurrencyTest.java
+++ b/languagetool-language-modules/be/src/test/java/org/languagetool/BelarusianConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Belarusian;
+import org.languagetool.language.be.Belarusian;
public class BelarusianConcurrencyTest extends AbstractLanguageConcurrencyTest {
diff --git a/languagetool-language-modules/be/src/test/java/org/languagetool/rules/be/BelarusianMorfologikRuleTest.java b/languagetool-language-modules/be/src/test/java/org/languagetool/rules/be/BelarusianMorfologikRuleTest.java
index a4c3ab44fe02d..c5f73dbd85327 100644
--- a/languagetool-language-modules/be/src/test/java/org/languagetool/rules/be/BelarusianMorfologikRuleTest.java
+++ b/languagetool-language-modules/be/src/test/java/org/languagetool/rules/be/BelarusianMorfologikRuleTest.java
@@ -27,7 +27,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Belarusian;
+import org.languagetool.language.be.Belarusian;
import org.languagetool.rules.RuleMatch;
public class BelarusianMorfologikRuleTest {
diff --git a/languagetool-language-modules/be/src/test/java/org/languagetool/rules/be/BelarusianTest.java b/languagetool-language-modules/be/src/test/java/org/languagetool/rules/be/BelarusianTest.java
index da4696b7f1d9e..0d44de2ee2e34 100644
--- a/languagetool-language-modules/be/src/test/java/org/languagetool/rules/be/BelarusianTest.java
+++ b/languagetool-language-modules/be/src/test/java/org/languagetool/rules/be/BelarusianTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Belarusian;
+import org.languagetool.language.be.Belarusian;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/be/src/test/java/org/languagetool/rules/be/SimpleReplaceRuleTest.java b/languagetool-language-modules/be/src/test/java/org/languagetool/rules/be/SimpleReplaceRuleTest.java
index 9ec4d3c5010ba..fdd1f8c0ce221 100644
--- a/languagetool-language-modules/be/src/test/java/org/languagetool/rules/be/SimpleReplaceRuleTest.java
+++ b/languagetool-language-modules/be/src/test/java/org/languagetool/rules/be/SimpleReplaceRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Belarusian;
+import org.languagetool.language.be.Belarusian;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/br/pom.xml b/languagetool-language-modules/br/pom.xml
index 71e4a66554e79..f4e88869b6e7c 100644
--- a/languagetool-language-modules/br/pom.xml
+++ b/languagetool-language-modules/br/pom.xml
@@ -73,6 +73,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.be
+
+
+
+
diff --git a/languagetool-language-modules/br/src/main/java/org/languagetool/language/Breton.java b/languagetool-language-modules/br/src/main/java/org/languagetool/language/br/Breton.java
similarity index 95%
rename from languagetool-language-modules/br/src/main/java/org/languagetool/language/Breton.java
rename to languagetool-language-modules/br/src/main/java/org/languagetool/language/br/Breton.java
index 1f02a5e89a967..c50831bd1a910 100644
--- a/languagetool-language-modules/br/src/main/java/org/languagetool/language/Breton.java
+++ b/languagetool-language-modules/br/src/main/java/org/languagetool/language/br/Breton.java
@@ -17,11 +17,13 @@
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.br;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
+import org.languagetool.language.Contributor;
+import org.languagetool.language.Contributors;
import org.languagetool.rules.*;
import org.languagetool.rules.br.MorfologikBretonSpellerRule;
import org.languagetool.rules.br.TopoReplaceRule;
@@ -80,7 +82,7 @@ public Disambiguator createDefaultDisambiguator() {
@Override
public Contributor[] getMaintainers() {
return new Contributor[] {
- Contributors.DOMINIQUE_PELLE, new Contributor("Fulup Jakez")
+ Contributors.DOMINIQUE_PELLE, new Contributor("Fulup Jakezm", null)
};
}
diff --git a/languagetool-language-modules/br/src/main/java/org/languagetool/rules/br/TopoReplaceRule.java b/languagetool-language-modules/br/src/main/java/org/languagetool/rules/br/TopoReplaceRule.java
index 3030656eb36d7..8e2188c41cefd 100644
--- a/languagetool-language-modules/br/src/main/java/org/languagetool/rules/br/TopoReplaceRule.java
+++ b/languagetool-language-modules/br/src/main/java/org/languagetool/rules/br/TopoReplaceRule.java
@@ -21,7 +21,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Breton;
+import org.languagetool.language.br.Breton;
import org.languagetool.rules.*;
import org.languagetool.tokenizers.Tokenizer;
import org.languagetool.tools.StringTools;
diff --git a/languagetool-language-modules/br/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/br/src/main/resources/META-INF/org/languagetool/language-module.properties
index ccffcaadbdd5e..fbef9cd15324d 100644
--- a/languagetool-language-modules/br/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/br/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Breton
+languageClasses=org.languagetool.language.br.Breton
diff --git a/languagetool-language-modules/br/src/test/java/org/languagetool/BretonConcurrencyTest.java b/languagetool-language-modules/br/src/test/java/org/languagetool/BretonConcurrencyTest.java
index 836692c16ebb8..04a88895bf231 100644
--- a/languagetool-language-modules/br/src/test/java/org/languagetool/BretonConcurrencyTest.java
+++ b/languagetool-language-modules/br/src/test/java/org/languagetool/BretonConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Breton;
+import org.languagetool.language.br.Breton;
public class BretonConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/br/src/test/java/org/languagetool/rules/br/BretonTest.java b/languagetool-language-modules/br/src/test/java/org/languagetool/rules/br/BretonTest.java
index 76483442478bf..786e44e560780 100644
--- a/languagetool-language-modules/br/src/test/java/org/languagetool/rules/br/BretonTest.java
+++ b/languagetool-language-modules/br/src/test/java/org/languagetool/rules/br/BretonTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Breton;
+import org.languagetool.language.br.Breton;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/br/src/test/java/org/languagetool/rules/br/MorfologikBretonSpellerRuleTest.java b/languagetool-language-modules/br/src/test/java/org/languagetool/rules/br/MorfologikBretonSpellerRuleTest.java
index 10e32e50ed5fe..039030d0fda48 100644
--- a/languagetool-language-modules/br/src/test/java/org/languagetool/rules/br/MorfologikBretonSpellerRuleTest.java
+++ b/languagetool-language-modules/br/src/test/java/org/languagetool/rules/br/MorfologikBretonSpellerRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Breton;
+import org.languagetool.language.br.Breton;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/br/src/test/java/org/languagetool/rules/br/TopoReplaceRuleTest.java b/languagetool-language-modules/br/src/test/java/org/languagetool/rules/br/TopoReplaceRuleTest.java
index eefad52c68943..e5b6bbe3212ad 100644
--- a/languagetool-language-modules/br/src/test/java/org/languagetool/rules/br/TopoReplaceRuleTest.java
+++ b/languagetool-language-modules/br/src/test/java/org/languagetool/rules/br/TopoReplaceRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Breton;
+import org.languagetool.language.br.Breton;
import java.io.IOException;
diff --git a/languagetool-language-modules/ca/pom.xml b/languagetool-language-modules/ca/pom.xml
index 3d7c5ea9fd688..24b05724fd3d9 100644
--- a/languagetool-language-modules/ca/pom.xml
+++ b/languagetool-language-modules/ca/pom.xml
@@ -77,6 +77,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.ca
+
+
+
+
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/language/BalearicCatalan.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/language/ca/BalearicCatalan.java
similarity index 97%
rename from languagetool-language-modules/ca/src/main/java/org/languagetool/language/BalearicCatalan.java
rename to languagetool-language-modules/ca/src/main/java/org/languagetool/language/ca/BalearicCatalan.java
index 390ee84613d3f..9a739964c7767 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/language/BalearicCatalan.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/language/ca/BalearicCatalan.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.ca;
import java.util.Arrays;
import java.util.Collections;
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/language/Catalan.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/language/ca/Catalan.java
similarity index 98%
rename from languagetool-language-modules/ca/src/main/java/org/languagetool/language/Catalan.java
rename to languagetool-language-modules/ca/src/main/java/org/languagetool/language/ca/Catalan.java
index 9436d4b09ba4b..41df752ce47c2 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/language/Catalan.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/language/ca/Catalan.java
@@ -16,11 +16,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.ca;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
+import org.languagetool.language.Contributor;
import org.languagetool.rules.*;
import org.languagetool.rules.ca.*;
import org.languagetool.rules.spelling.SpellingCheckRule;
@@ -63,7 +64,7 @@ public Language getDefaultLanguageVariant() {
@Override
public Contributor[] getMaintainers() {
- return new Contributor[] { new Contributor("Ricard Roca"), new Contributor("Jaume Ortolà") };
+ return new Contributor[] { new Contributor("Ricard Roca", null), new Contributor("Jaume Ortolà", null) };
}
@Override
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/language/ValencianCatalan.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/language/ca/ValencianCatalan.java
similarity index 98%
rename from languagetool-language-modules/ca/src/main/java/org/languagetool/language/ValencianCatalan.java
rename to languagetool-language-modules/ca/src/main/java/org/languagetool/language/ca/ValencianCatalan.java
index 6bfe25252302c..0ddf51124b24a 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/language/ValencianCatalan.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/language/ca/ValencianCatalan.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.ca;
import java.util.Arrays;
import java.util.Collections;
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanNumberInWordFilter.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanNumberInWordFilter.java
index 7b4d9b7a8617b..1a1b3df538a9c 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanNumberInWordFilter.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanNumberInWordFilter.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.ca;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.AbstractNumberInWordFilter;
import java.io.IOException;
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanNumberSpellerFilter.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanNumberSpellerFilter.java
index b11e1e72e4552..26979fba39821 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanNumberSpellerFilter.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanNumberSpellerFilter.java
@@ -4,7 +4,7 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.Language;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.RuleFilter;
import org.languagetool.synthesis.ca.CatalanSynthesizer;
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanRepeatedWordsRule.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanRepeatedWordsRule.java
index dff834dd46d6c..40a857a64857c 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanRepeatedWordsRule.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanRepeatedWordsRule.java
@@ -20,7 +20,7 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.Tag;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.AbstractRepeatedWordsRule;
import org.languagetool.rules.SynonymsData;
import org.languagetool.rules.patterns.PatternToken;
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanSuppressMisspelledSuggestionsFilter.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanSuppressMisspelledSuggestionsFilter.java
index 5a7b749e218c3..2298311db2f97 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanSuppressMisspelledSuggestionsFilter.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/CatalanSuppressMisspelledSuggestionsFilter.java
@@ -21,7 +21,7 @@
import java.io.IOException;
-import org.languagetool.language.ValencianCatalan;
+import org.languagetool.language.ca.ValencianCatalan;
import org.languagetool.rules.AbstractSuppressMisspelledSuggestionsFilter;
public class CatalanSuppressMisspelledSuggestionsFilter extends AbstractSuppressMisspelledSuggestionsFilter {
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceAdverbsMent.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceAdverbsMent.java
index fdeb47eb416e6..948bc064d6bae 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceAdverbsMent.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceAdverbsMent.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.ca;
import org.languagetool.Tag;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.AbstractSimpleReplaceRule;
import org.languagetool.rules.Category;
import org.languagetool.rules.CategoryId;
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceAnglicism.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceAnglicism.java
index 035bab790b554..d865b30c3458f 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceAnglicism.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceAnglicism.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.ca;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.ITSIssueType;
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceDiacriticsIEC.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceDiacriticsIEC.java
index fd46357a8459a..48fca273b0273 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceDiacriticsIEC.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceDiacriticsIEC.java
@@ -20,7 +20,6 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.Language;
-import org.languagetool.language.Catalan;
import org.languagetool.rules.AbstractSimpleReplaceRule;
import org.languagetool.rules.Category;
import org.languagetool.rules.CategoryId;
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceMultiwordsRule.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceMultiwordsRule.java
index ef0d248bfe6c3..8d8afa0cfe13f 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceMultiwordsRule.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SimpleReplaceMultiwordsRule.java
@@ -18,13 +18,12 @@
*/
package org.languagetool.rules.ca;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.ITSIssueType;
import java.io.IOException;
-import java.net.URL;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SuppressIfAnyRuleMatchesFilter.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SuppressIfAnyRuleMatchesFilter.java
index e6306bb5a350d..ce77368944865 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SuppressIfAnyRuleMatchesFilter.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/rules/ca/SuppressIfAnyRuleMatchesFilter.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.ca;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.AbstractSuppressIfAnyRuleMatchesFilter;
public class SuppressIfAnyRuleMatchesFilter extends AbstractSuppressIfAnyRuleMatchesFilter {
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/tagging/ca/CatalanTagger.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/tagging/ca/CatalanTagger.java
index 4901bba8a0c36..b73823bb5cee0 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/tagging/ca/CatalanTagger.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/tagging/ca/CatalanTagger.java
@@ -22,8 +22,8 @@
import morfologik.stemming.IStemmer;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
-import org.languagetool.language.Catalan;
-import org.languagetool.language.ValencianCatalan;
+import org.languagetool.language.ca.Catalan;
+import org.languagetool.language.ca.ValencianCatalan;
import org.languagetool.tagging.BaseTagger;
import org.languagetool.tools.StringTools;
diff --git a/languagetool-language-modules/ca/src/main/java/org/languagetool/tagging/disambiguation/ca/CatalanHybridDisambiguator.java b/languagetool-language-modules/ca/src/main/java/org/languagetool/tagging/disambiguation/ca/CatalanHybridDisambiguator.java
index e187b8221f965..15cefae5e675f 100644
--- a/languagetool-language-modules/ca/src/main/java/org/languagetool/tagging/disambiguation/ca/CatalanHybridDisambiguator.java
+++ b/languagetool-language-modules/ca/src/main/java/org/languagetool/tagging/disambiguation/ca/CatalanHybridDisambiguator.java
@@ -28,7 +28,6 @@
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.Language;
-import org.languagetool.language.Catalan;
import org.languagetool.tagging.disambiguation.AbstractDisambiguator;
import org.languagetool.tagging.disambiguation.Disambiguator;
import org.languagetool.tagging.disambiguation.MultiWordChunker;
diff --git a/languagetool-language-modules/ca/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/ca/src/main/resources/META-INF/org/languagetool/language-module.properties
index 235279090123d..271193eca9c31 100644
--- a/languagetool-language-modules/ca/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/ca/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Catalan,org.languagetool.language.ValencianCatalan,org.languagetool.language.BalearicCatalan
+languageClasses=org.languagetool.language.ca.Catalan,org.languagetool.language.ca.ValencianCatalan,org.languagetool.language.ca.BalearicCatalan
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/CatalanConcurrencyTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/CatalanConcurrencyTest.java
index 0149ca1ad63b8..df0d1ccf6fad4 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/CatalanConcurrencyTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/CatalanConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
public class CatalanConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/JLanguageToolTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/JLanguageToolTest.java
index a915eeaf96a58..a7407523dd7d6 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/JLanguageToolTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/JLanguageToolTest.java
@@ -19,9 +19,9 @@
package org.languagetool;
import org.junit.Test;
-import org.languagetool.language.Catalan;
-import org.languagetool.language.ValencianCatalan;
-import org.languagetool.language.BalearicCatalan;
+import org.languagetool.language.ca.Catalan;
+import org.languagetool.language.ca.ValencianCatalan;
+import org.languagetool.language.ca.BalearicCatalan;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/ValencianCatalanConcurrencyTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/ValencianCatalanConcurrencyTest.java
index 3c4425a9efe11..29f6d45db98fa 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/ValencianCatalanConcurrencyTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/ValencianCatalanConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.ValencianCatalan;
+import org.languagetool.language.ca.ValencianCatalan;
public class ValencianCatalanConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanTest.java
index 933732037da97..8c3a1e9059a79 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanTest.java
@@ -22,7 +22,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.RuleMatch;
import static org.junit.Assert.assertEquals;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanUnpairedBracketsRuleTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanUnpairedBracketsRuleTest.java
index 172bdfc46c7c1..cd732406e3b1d 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanUnpairedBracketsRuleTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanUnpairedBracketsRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.TextLevelRule;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanWordRepeatRuleTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanWordRepeatRuleTest.java
index defcf1c20e2d4..530b899bd546f 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanWordRepeatRuleTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanWordRepeatRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanWrongWordInContextRuleTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanWrongWordInContextRuleTest.java
index 215a675ef9393..57864f6854c2d 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanWrongWordInContextRuleTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CatalanWrongWordInContextRuleTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import java.io.IOException;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CheckCaseRuleTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CheckCaseRuleTest.java
index 435eea31c5d55..aef0f0c41483b 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CheckCaseRuleTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/CheckCaseRuleTest.java
@@ -26,7 +26,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.RuleMatch;
public class CheckCaseRuleTest {
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/MorfologikCatalanSpellerRuleTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/MorfologikCatalanSpellerRuleTest.java
index 726314f2f8832..688fcf2cd6f04 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/MorfologikCatalanSpellerRuleTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/MorfologikCatalanSpellerRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.*;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/PronomFebleDuplicateRuleTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/PronomFebleDuplicateRuleTest.java
index 55238681c8257..94b04afa6b258 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/PronomFebleDuplicateRuleTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/PronomFebleDuplicateRuleTest.java
@@ -26,7 +26,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.RuleMatch;
public class PronomFebleDuplicateRuleTest {
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/ReplaceOperationNamesRuleTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/ReplaceOperationNamesRuleTest.java
index 493b078e217c8..0d9c490c51006 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/ReplaceOperationNamesRuleTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/ReplaceOperationNamesRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceBalearicRuleTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceBalearicRuleTest.java
index 5587a5984c7ce..5abc4013c6751 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceBalearicRuleTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceBalearicRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceDNVRuleTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceDNVRuleTest.java
index b14ff3c4094b3..8b01e09e3dfba 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceDNVRuleTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceDNVRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.ValencianCatalan;
+import org.languagetool.language.ca.ValencianCatalan;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceDNVSecondaryRuleTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceDNVSecondaryRuleTest.java
index 6b3cede96b2b1..eea3ade6682c3 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceDNVSecondaryRuleTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceDNVSecondaryRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.ValencianCatalan;
+import org.languagetool.language.ca.ValencianCatalan;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceRuleTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceRuleTest.java
index 59fe8fc051132..8b8eaf13f9d94 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceRuleTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceVerbsRuleTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceVerbsRuleTest.java
index b18dca441d6a3..7652cb3dd6e66 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceVerbsRuleTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/SimpleReplaceVerbsRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/synthesis/ca/CatalanSynthesizerTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/synthesis/ca/CatalanSynthesizerTest.java
index a7e020c2b718b..05e4724aec257 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/synthesis/ca/CatalanSynthesizerTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/synthesis/ca/CatalanSynthesizerTest.java
@@ -21,8 +21,6 @@
import org.junit.Test;
import org.languagetool.AnalyzedToken;
-import org.languagetool.Language;
-import org.languagetool.language.ValencianCatalan;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/tagging/ca/CatalanTaggerTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/tagging/ca/CatalanTaggerTest.java
index 1968f9fd7a1fa..d97f2100d25dc 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/tagging/ca/CatalanTaggerTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/tagging/ca/CatalanTaggerTest.java
@@ -21,7 +21,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.tokenizers.WordTokenizer;
import org.languagetool.tokenizers.ca.CatalanWordTokenizer;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/tagging/disambiguation/CatalanDisambiguationRuleTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/tagging/disambiguation/CatalanDisambiguationRuleTest.java
index 3f4329165152e..e3e7b608d6aed 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/tagging/disambiguation/CatalanDisambiguationRuleTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/tagging/disambiguation/CatalanDisambiguationRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.tagging.ca.CatalanTagger;
import org.languagetool.tagging.disambiguation.ca.CatalanHybridDisambiguator;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
diff --git a/languagetool-language-modules/ca/src/test/java/org/languagetool/tokenizers/ca/CatalanSentenceTokenizerTest.java b/languagetool-language-modules/ca/src/test/java/org/languagetool/tokenizers/ca/CatalanSentenceTokenizerTest.java
index 6d18958c654a4..6e463d411fc49 100644
--- a/languagetool-language-modules/ca/src/test/java/org/languagetool/tokenizers/ca/CatalanSentenceTokenizerTest.java
+++ b/languagetool-language-modules/ca/src/test/java/org/languagetool/tokenizers/ca/CatalanSentenceTokenizerTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Catalan;
+import org.languagetool.language.ca.Catalan;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
import org.languagetool.tokenizers.SentenceTokenizer;
diff --git a/languagetool-language-modules/da/pom.xml b/languagetool-language-modules/da/pom.xml
index b1ecc2f673ee9..06bc18571ba89 100644
--- a/languagetool-language-modules/da/pom.xml
+++ b/languagetool-language-modules/da/pom.xml
@@ -67,6 +67,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.da
+
+
+
+
diff --git a/languagetool-language-modules/da/src/main/java/org/languagetool/language/Danish.java b/languagetool-language-modules/da/src/main/java/org/languagetool/language/da/Danish.java
similarity index 94%
rename from languagetool-language-modules/da/src/main/java/org/languagetool/language/Danish.java
rename to languagetool-language-modules/da/src/main/java/org/languagetool/language/da/Danish.java
index 370ed95467547..a8869b32ea1e2 100644
--- a/languagetool-language-modules/da/src/main/java/org/languagetool/language/Danish.java
+++ b/languagetool-language-modules/da/src/main/java/org/languagetool/language/da/Danish.java
@@ -16,12 +16,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.da;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.Language;
import org.languagetool.UserConfig;
+import org.languagetool.language.Contributor;
import org.languagetool.rules.*;
import org.languagetool.rules.spelling.SpellingCheckRule;
import org.languagetool.rules.spelling.hunspell.HunspellRule;
@@ -74,7 +75,7 @@ public Disambiguator createDefaultDisambiguator() {
@Override
public Contributor[] getMaintainers() {
- return new Contributor[] {new Contributor("Esben Aaberg"), new Contributor("Henrik Bendt") };
+ return new Contributor[] {new Contributor("Esben Aaberg", null), new Contributor("Henrik Bendt", null) };
}
@Override
diff --git a/languagetool-language-modules/da/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/da/src/main/resources/META-INF/org/languagetool/language-module.properties
index 725a3955b6675..827eccdc95616 100644
--- a/languagetool-language-modules/da/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/da/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Danish
+languageClasses=org.languagetool.language.da.Danish
diff --git a/languagetool-language-modules/da/src/test/java/org/languagetool/DanishConcurrencyTest.java b/languagetool-language-modules/da/src/test/java/org/languagetool/DanishConcurrencyTest.java
index ba7a8b01a927f..ad0b59386bcd5 100644
--- a/languagetool-language-modules/da/src/test/java/org/languagetool/DanishConcurrencyTest.java
+++ b/languagetool-language-modules/da/src/test/java/org/languagetool/DanishConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Danish;
+import org.languagetool.language.da.Danish;
public class DanishConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/da/src/test/java/org/languagetool/rules/da/DanishTest.java b/languagetool-language-modules/da/src/test/java/org/languagetool/rules/da/DanishTest.java
index 2213437c685a6..f152335f59768 100644
--- a/languagetool-language-modules/da/src/test/java/org/languagetool/rules/da/DanishTest.java
+++ b/languagetool-language-modules/da/src/test/java/org/languagetool/rules/da/DanishTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Danish;
+import org.languagetool.language.da.Danish;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/da/src/test/java/org/languagetool/tokenizers/da/DanishSRXSentenceTokenizerTest.java b/languagetool-language-modules/da/src/test/java/org/languagetool/tokenizers/da/DanishSRXSentenceTokenizerTest.java
index 4a51de6a32f91..06e65c2d560fb 100644
--- a/languagetool-language-modules/da/src/test/java/org/languagetool/tokenizers/da/DanishSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/da/src/test/java/org/languagetool/tokenizers/da/DanishSRXSentenceTokenizerTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Danish;
+import org.languagetool.language.da.Danish;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
/**
diff --git a/languagetool-language-modules/de-DE-x-simple-language/pom.xml b/languagetool-language-modules/de-DE-x-simple-language/pom.xml
index dd22fc5a204bf..f89af52ec20e5 100644
--- a/languagetool-language-modules/de-DE-x-simple-language/pom.xml
+++ b/languagetool-language-modules/de-DE-x-simple-language/pom.xml
@@ -65,6 +65,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.de_simple
+
+
+
+
diff --git a/languagetool-language-modules/de-DE-x-simple-language/src/main/java/org/languagetool/language/SimpleGerman.java b/languagetool-language-modules/de-DE-x-simple-language/src/main/java/org/languagetool/language/de_simple/SimpleGerman.java
similarity index 95%
rename from languagetool-language-modules/de-DE-x-simple-language/src/main/java/org/languagetool/language/SimpleGerman.java
rename to languagetool-language-modules/de-DE-x-simple-language/src/main/java/org/languagetool/language/de_simple/SimpleGerman.java
index 238b2985d114c..8d5049ce7b97b 100644
--- a/languagetool-language-modules/de-DE-x-simple-language/src/main/java/org/languagetool/language/SimpleGerman.java
+++ b/languagetool-language-modules/de-DE-x-simple-language/src/main/java/org/languagetool/language/de_simple/SimpleGerman.java
@@ -16,13 +16,15 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.de_simple;
import org.jetbrains.annotations.Nullable;
import org.languagetool.GlobalConfig;
import org.languagetool.Language;
import org.languagetool.UserConfig;
import org.languagetool.JLanguageTool;
+import org.languagetool.language.Contributor;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.Rule;
import org.languagetool.rules.de.LongSentenceRule;
@@ -60,7 +62,7 @@ public String getShortCode() {
@Override
public Contributor[] getMaintainers() {
return new Contributor[] {
- new Contributor("Annika Nietzio")
+ new Contributor("Annika Nietzio", null)
};
}
diff --git a/languagetool-language-modules/de-DE-x-simple-language/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/de-DE-x-simple-language/src/main/resources/META-INF/org/languagetool/language-module.properties
index d332f53d783f0..cfe86c240271f 100644
--- a/languagetool-language-modules/de-DE-x-simple-language/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/de-DE-x-simple-language/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.SimpleGerman
+languageClasses=org.languagetool.language.de_simple.SimpleGerman
diff --git a/languagetool-language-modules/de-DE-x-simple-language/src/test/java/org/languagetool/SimpleGermanConcurrencyTest.java b/languagetool-language-modules/de-DE-x-simple-language/src/test/java/org/languagetool/SimpleGermanConcurrencyTest.java
index 9ec0e6c2e1975..951dacd7f4aa0 100644
--- a/languagetool-language-modules/de-DE-x-simple-language/src/test/java/org/languagetool/SimpleGermanConcurrencyTest.java
+++ b/languagetool-language-modules/de-DE-x-simple-language/src/test/java/org/languagetool/SimpleGermanConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.SimpleGerman;
+import org.languagetool.language.de_simple.SimpleGerman;
public class SimpleGermanConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/de-DE-x-simple-language/src/test/java/org/languagetool/rules/de/SimpleGermanPatternRuleTest.java b/languagetool-language-modules/de-DE-x-simple-language/src/test/java/org/languagetool/rules/de/SimpleGermanPatternRuleTest.java
index 2e76aecac6901..0d3662ec7bc68 100644
--- a/languagetool-language-modules/de-DE-x-simple-language/src/test/java/org/languagetool/rules/de/SimpleGermanPatternRuleTest.java
+++ b/languagetool-language-modules/de-DE-x-simple-language/src/test/java/org/languagetool/rules/de/SimpleGermanPatternRuleTest.java
@@ -21,7 +21,7 @@
import java.io.IOException;
import org.junit.Test;
-import org.languagetool.language.SimpleGerman;
+import org.languagetool.language.de_simple.SimpleGerman;
import org.languagetool.rules.patterns.PatternRuleTest;
public class SimpleGermanPatternRuleTest extends PatternRuleTest {
diff --git a/languagetool-language-modules/de-DE-x-simple-language/src/test/java/org/languagetool/rules/de/SimpleGermanTest.java b/languagetool-language-modules/de-DE-x-simple-language/src/test/java/org/languagetool/rules/de/SimpleGermanTest.java
index b9786d6d2fd42..bf78a295e585f 100644
--- a/languagetool-language-modules/de-DE-x-simple-language/src/test/java/org/languagetool/rules/de/SimpleGermanTest.java
+++ b/languagetool-language-modules/de-DE-x-simple-language/src/test/java/org/languagetool/rules/de/SimpleGermanTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.SimpleGerman;
+import org.languagetool.language.de_simple.SimpleGerman;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/de/pom.xml b/languagetool-language-modules/de/pom.xml
index 0ced0d6515866..8cb63e03c57b1 100644
--- a/languagetool-language-modules/de/pom.xml
+++ b/languagetool-language-modules/de/pom.xml
@@ -105,6 +105,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.de
+
+
+
+
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/chunking/GermanChunker.java b/languagetool-language-modules/de/src/main/java/org/languagetool/chunking/de/GermanChunker.java
similarity index 98%
rename from languagetool-language-modules/de/src/main/java/org/languagetool/chunking/GermanChunker.java
rename to languagetool-language-modules/de/src/main/java/org/languagetool/chunking/de/GermanChunker.java
index a5a0ec28cc592..8dc07de760c49 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/chunking/GermanChunker.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/chunking/de/GermanChunker.java
@@ -16,18 +16,22 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.chunking;
+package org.languagetool.chunking.de;
import edu.washington.cs.knowitall.regex.Match;
import edu.washington.cs.knowitall.regex.RegularExpression;
import org.languagetool.AnalyzedTokenReadings;
+import org.languagetool.chunking.ChunkTag;
+import org.languagetool.chunking.ChunkTaggedToken;
+import org.languagetool.chunking.Chunker;
+import org.languagetool.chunking.TokenExpressionFactory;
import org.languagetool.rules.patterns.StringMatcher;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import static org.languagetool.chunking.GermanChunker.PhraseType.*;
+import static org.languagetool.chunking.de.GermanChunker.PhraseType.*;
/**
* A rule-based German chunker for noun phrases. Please note that this chunker
@@ -336,7 +340,7 @@ public void addChunkTags(List tokenReadings) {
assignChunksToReadings(chunkTaggedTokens);
}
- List getBasicChunks(List tokenReadings) {
+ public List getBasicChunks(List tokenReadings) {
return getBasicChunks(tokenReadings, allForms(tokenReadings));
}
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/language/AustrianGerman.java b/languagetool-language-modules/de/src/main/java/org/languagetool/language/de/AustrianGerman.java
similarity index 98%
rename from languagetool-language-modules/de/src/main/java/org/languagetool/language/AustrianGerman.java
rename to languagetool-language-modules/de/src/main/java/org/languagetool/language/de/AustrianGerman.java
index d741f58c8f6b3..f0beb99df56ab 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/language/AustrianGerman.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/language/de/AustrianGerman.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.de;
import org.jetbrains.annotations.Nullable;
import org.languagetool.GlobalConfig;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/language/German.java b/languagetool-language-modules/de/src/main/java/org/languagetool/language/de/German.java
similarity index 99%
rename from languagetool-language-modules/de/src/main/java/org/languagetool/language/German.java
rename to languagetool-language-modules/de/src/main/java/org/languagetool/language/de/German.java
index 817eab076a439..cfb866234d7c7 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/language/German.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/language/de/German.java
@@ -16,20 +16,22 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.de;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
import org.languagetool.chunking.Chunker;
-import org.languagetool.chunking.GermanChunker;
+import org.languagetool.chunking.de.GermanChunker;
+import org.languagetool.language.Contributor;
+import org.languagetool.language.Contributors;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.*;
import org.languagetool.rules.de.LongSentenceRule;
import org.languagetool.rules.de.SentenceWhitespaceRule;
import org.languagetool.rules.de.*;
import org.languagetool.rules.spelling.SpellingCheckRule;
-import org.languagetool.synthesis.GermanSynthesizer;
+import org.languagetool.synthesis.de.GermanSynthesizer;
import org.languagetool.synthesis.Synthesizer;
import org.languagetool.tagging.Tagger;
import org.languagetool.tagging.de.GermanTagger;
@@ -122,7 +124,7 @@ public SentenceTokenizer createDefaultSentenceTokenizer() {
@Override
public Contributor[] getMaintainers() {
return new Contributor[] {
- new Contributor("Jan Schreiber"),
+ new Contributor("Jan Schreiber", null),
Contributors.DANIEL_NABER,
};
}
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/language/GermanyGerman.java b/languagetool-language-modules/de/src/main/java/org/languagetool/language/de/GermanyGerman.java
similarity index 98%
rename from languagetool-language-modules/de/src/main/java/org/languagetool/language/GermanyGerman.java
rename to languagetool-language-modules/de/src/main/java/org/languagetool/language/de/GermanyGerman.java
index 3c2d0620ee964..24bb9fb30e1f9 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/language/GermanyGerman.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/language/de/GermanyGerman.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.de;
import org.jetbrains.annotations.Nullable;
import org.languagetool.GlobalConfig;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/language/NonSwissGerman.java b/languagetool-language-modules/de/src/main/java/org/languagetool/language/de/NonSwissGerman.java
similarity index 98%
rename from languagetool-language-modules/de/src/main/java/org/languagetool/language/NonSwissGerman.java
rename to languagetool-language-modules/de/src/main/java/org/languagetool/language/de/NonSwissGerman.java
index 347702aef78ed..2922711af3229 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/language/NonSwissGerman.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/language/de/NonSwissGerman.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.de;
import org.languagetool.Language;
import org.languagetool.UserConfig;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/language/SwissGerman.java b/languagetool-language-modules/de/src/main/java/org/languagetool/language/de/SwissGerman.java
similarity index 99%
rename from languagetool-language-modules/de/src/main/java/org/languagetool/language/SwissGerman.java
rename to languagetool-language-modules/de/src/main/java/org/languagetool/language/de/SwissGerman.java
index 2eccebafb05b7..c52089f683716 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/language/SwissGerman.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/language/de/SwissGerman.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.de;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AdaptSuggestionFilter.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AdaptSuggestionFilter.java
index ffcbd355092b9..ca4fd09f16383 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AdaptSuggestionFilter.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AdaptSuggestionFilter.java
@@ -22,11 +22,11 @@
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.German;
+import org.languagetool.language.de.German;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.SuggestionFilter;
import org.languagetool.rules.patterns.RuleFilter;
-import org.languagetool.synthesis.GermanSynthesizer;
+import org.languagetool.synthesis.de.GermanSynthesizer;
import org.languagetool.tagging.de.GermanTagger;
import org.languagetool.tools.StringTools;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AdvancedSynthesizerFilter.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AdvancedSynthesizerFilter.java
index 005f632208e51..6e16ade22f29e 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AdvancedSynthesizerFilter.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AdvancedSynthesizerFilter.java
@@ -21,7 +21,7 @@
import org.languagetool.rules.AbstractAdvancedSynthesizerFilter;
-import org.languagetool.synthesis.GermanSynthesizer;
+import org.languagetool.synthesis.de.GermanSynthesizer;
import org.languagetool.synthesis.Synthesizer;
/*
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AgreementRule.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AgreementRule.java
index b6a0225067a34..8a07a720a71cd 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AgreementRule.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AgreementRule.java
@@ -25,7 +25,7 @@
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.German;
+import org.languagetool.language.de.German;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
import org.languagetool.rules.Rule;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AgreementRule2.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AgreementRule2.java
index b61516030ebd9..9912cd014fefb 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AgreementRule2.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AgreementRule2.java
@@ -31,7 +31,7 @@
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.PatternToken;
import org.languagetool.rules.patterns.PatternTokenBuilder;
-import org.languagetool.synthesis.GermanSynthesizer;
+import org.languagetool.synthesis.de.GermanSynthesizer;
import org.languagetool.tagging.disambiguation.rules.DisambiguationPatternRule;
import java.io.IOException;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AustrianGermanSpellerRule.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AustrianGermanSpellerRule.java
index cb2e3174d990d..add72d0715bd9 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AustrianGermanSpellerRule.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/AustrianGermanSpellerRule.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.de;
import org.languagetool.UserConfig;
-import org.languagetool.language.German;
+import org.languagetool.language.de.German;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.spelling.CachingWordListLoader;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/CaseRule.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/CaseRule.java
index 3c8bb4fae7240..fff33269469b9 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/CaseRule.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/CaseRule.java
@@ -24,7 +24,7 @@
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.German;
+import org.languagetool.language.de.German;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
import org.languagetool.rules.Rule;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanCompoundRule.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanCompoundRule.java
index facbabb0d63ce..68e2f3b0a10f9 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanCompoundRule.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanCompoundRule.java
@@ -21,7 +21,7 @@
import org.languagetool.Language;
import org.languagetool.Languages;
import org.languagetool.UserConfig;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.AbstractCompoundRule;
import org.languagetool.rules.Categories;
import org.languagetool.rules.CompoundRuleData;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanNumberInWordFilter.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanNumberInWordFilter.java
index f1405eaf7e5b1..9026440a30491 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanNumberInWordFilter.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanNumberInWordFilter.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.de;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.AbstractNumberInWordFilter;
import java.io.IOException;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanRepeatedWordsRule.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanRepeatedWordsRule.java
index d1fe4c343cc94..f614c5c920245 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanRepeatedWordsRule.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanRepeatedWordsRule.java
@@ -19,10 +19,10 @@
package org.languagetool.rules.de;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.AbstractRepeatedWordsRule;
import org.languagetool.rules.SynonymsData;
-import org.languagetool.synthesis.GermanSynthesizer;
+import org.languagetool.synthesis.de.GermanSynthesizer;
import org.languagetool.synthesis.Synthesizer;
import java.util.Map;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanSpellerRule.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanSpellerRule.java
index 226a288d0e9da..7acd661820bce 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanSpellerRule.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanSpellerRule.java
@@ -25,7 +25,7 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
-import org.languagetool.language.German;
+import org.languagetool.language.de.German;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.Example;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanSuppressMisspelledSuggestionsFilter.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanSuppressMisspelledSuggestionsFilter.java
index 47adb5442e7f6..27b5ee9dd5f32 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanSuppressMisspelledSuggestionsFilter.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/GermanSuppressMisspelledSuggestionsFilter.java
@@ -19,7 +19,7 @@
*/
package org.languagetool.rules.de;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.AbstractSuppressMisspelledSuggestionsFilter;
import java.io.IOException;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/LineExpander.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/LineExpander.java
index 9d8daf26bede5..c5c893f13c244 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/LineExpander.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/LineExpander.java
@@ -22,7 +22,7 @@
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import org.jetbrains.annotations.NotNull;
-import org.languagetool.synthesis.GermanSynthesizer;
+import org.languagetool.synthesis.de.GermanSynthesizer;
import org.languagetool.tools.StringTools;
import java.io.IOException;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/MissingCommaRelativeClauseRule.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/MissingCommaRelativeClauseRule.java
index ffdc15fa3b478..9f5023f49b1ac 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/MissingCommaRelativeClauseRule.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/MissingCommaRelativeClauseRule.java
@@ -21,7 +21,7 @@
import org.apache.commons.lang3.StringUtils;
import org.languagetool.AnalyzedSentence;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.Category;
import org.languagetool.rules.Category.Location;
import org.languagetool.rules.CategoryId;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/MissingVerbRule.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/MissingVerbRule.java
index adc33d75a8583..0424adaf4d88b 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/MissingVerbRule.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/MissingVerbRule.java
@@ -22,7 +22,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.Language;
-import org.languagetool.language.German;
+import org.languagetool.language.de.German;
import org.languagetool.rules.*;
import org.languagetool.rules.patterns.PatternToken;
import org.languagetool.rules.patterns.PatternRule;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/PotentialCompoundFilter.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/PotentialCompoundFilter.java
index f80fe922886a8..663e48c7bd5eb 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/PotentialCompoundFilter.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/PotentialCompoundFilter.java
@@ -21,7 +21,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.RuleFilter;
import org.languagetool.tools.StringTools;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/ProhibitedCompoundRule.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/ProhibitedCompoundRule.java
index e02919f9cc1a4..7c6018a5799a8 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/ProhibitedCompoundRule.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/ProhibitedCompoundRule.java
@@ -26,7 +26,7 @@
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
import org.languagetool.broker.ResourceDataBroker;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.languagemodel.BaseLanguageModel;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.*;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/RemoveUnknownCompoundsFilter.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/RemoveUnknownCompoundsFilter.java
index bfff8b167f0a2..54fa5b923a16b 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/RemoveUnknownCompoundsFilter.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/RemoveUnknownCompoundsFilter.java
@@ -20,7 +20,7 @@
import org.jetbrains.annotations.Nullable;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.RuleFilter;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/SpellingData.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/SpellingData.java
index 2498921f16620..5f90331b10681 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/SpellingData.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/SpellingData.java
@@ -20,7 +20,7 @@
import com.hankcs.algorithm.AhoCorasickDoubleArrayTrie;
import org.languagetool.JLanguageTool;
-import org.languagetool.synthesis.GermanSynthesizer;
+import org.languagetool.synthesis.de.GermanSynthesizer;
import java.io.IOException;
import java.util.HashMap;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/SubjectVerbAgreementRule.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/SubjectVerbAgreementRule.java
index 1913ff8581da7..f296eafd77d78 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/SubjectVerbAgreementRule.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/SubjectVerbAgreementRule.java
@@ -25,7 +25,7 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
import org.languagetool.chunking.ChunkTag;
-import org.languagetool.language.German;
+import org.languagetool.language.de.German;
import org.languagetool.rules.*;
import org.languagetool.rules.patterns.PatternToken;
import org.languagetool.rules.patterns.PatternTokenBuilder;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/SwissGermanSpellerRule.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/SwissGermanSpellerRule.java
index 28c2a9d4c5cd9..4c2c96505ad07 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/SwissGermanSpellerRule.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/SwissGermanSpellerRule.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.de;
import org.languagetool.UserConfig;
-import org.languagetool.language.German;
+import org.languagetool.language.de.German;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.spelling.CachingWordListLoader;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/ValidWordFilter.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/ValidWordFilter.java
index 37afa6aa4e07f..841ca89395780 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/ValidWordFilter.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/ValidWordFilter.java
@@ -20,7 +20,7 @@
import org.jetbrains.annotations.Nullable;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.RuleFilter;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/VerbAgreementRule.java b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/VerbAgreementRule.java
index 2451f813d8e3e..4a86f42cc95cb 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/VerbAgreementRule.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/rules/de/VerbAgreementRule.java
@@ -23,7 +23,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.German;
+import org.languagetool.language.de.German;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/synthesis/GermanSynthesizer.java b/languagetool-language-modules/de/src/main/java/org/languagetool/synthesis/de/GermanSynthesizer.java
similarity index 98%
rename from languagetool-language-modules/de/src/main/java/org/languagetool/synthesis/GermanSynthesizer.java
rename to languagetool-language-modules/de/src/main/java/org/languagetool/synthesis/de/GermanSynthesizer.java
index 81e6108db7e20..a01c54efab2f5 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/synthesis/GermanSynthesizer.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/synthesis/de/GermanSynthesizer.java
@@ -16,12 +16,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.synthesis;
+package org.languagetool.synthesis.de;
import org.jetbrains.annotations.NotNull;
import org.languagetool.AnalyzedToken;
import org.languagetool.Language;
import org.languagetool.Languages;
+import org.languagetool.synthesis.BaseSynthesizer;
import org.languagetool.tokenizers.de.GermanCompoundTokenizer;
import org.languagetool.tools.StringTools;
diff --git a/languagetool-language-modules/de/src/main/java/org/languagetool/tagging/de/GermanTagger.java b/languagetool-language-modules/de/src/main/java/org/languagetool/tagging/de/GermanTagger.java
index e1dffe990b697..cdf757daef048 100644
--- a/languagetool-language-modules/de/src/main/java/org/languagetool/tagging/de/GermanTagger.java
+++ b/languagetool-language-modules/de/src/main/java/org/languagetool/tagging/de/GermanTagger.java
@@ -26,7 +26,7 @@
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.rules.spelling.CachingWordListLoader;
-import org.languagetool.synthesis.GermanSynthesizer;
+import org.languagetool.synthesis.de.GermanSynthesizer;
import org.languagetool.tagging.BaseTagger;
import org.languagetool.tagging.CombiningTagger;
import org.languagetool.tagging.ManualTagger;
diff --git a/languagetool-language-modules/de/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/de/src/main/resources/META-INF/org/languagetool/language-module.properties
index aa73a9b3f3909..18844aa25ee28 100644
--- a/languagetool-language-modules/de/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/de/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.German,org.languagetool.language.GermanyGerman,org.languagetool.language.AustrianGerman,org.languagetool.language.SwissGerman
+languageClasses=org.languagetool.language.de.German,org.languagetool.language.de.GermanyGerman,org.languagetool.language.de.AustrianGerman,org.languagetool.language.de.SwissGerman
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/AustrianGermanConcurrencyTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/AustrianGermanConcurrencyTest.java
index e7c3585a81288..02952990546a7 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/AustrianGermanConcurrencyTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/AustrianGermanConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.AustrianGerman;
+import org.languagetool.language.de.AustrianGerman;
public class AustrianGermanConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/GermanyGermanConcurrencyTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/GermanyGermanConcurrencyTest.java
index 5929894507046..d83425d5ff80b 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/GermanyGermanConcurrencyTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/GermanyGermanConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
public class GermanyGermanConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/JLanguageToolTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/JLanguageToolTest.java
index 8a0e7f54ac2b0..7aab7deb7b1f0 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/JLanguageToolTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/JLanguageToolTest.java
@@ -24,7 +24,7 @@
import java.util.List;
import org.junit.Test;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.markup.AnnotatedTextBuilder;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/SwissGermanConcurrencyTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/SwissGermanConcurrencyTest.java
index 4935032bc1e54..5567cde2c8c8e 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/SwissGermanConcurrencyTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/SwissGermanConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.SwissGerman;
+import org.languagetool.language.de.SwissGerman;
public class SwissGermanConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/chunking/GermanChunkerTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/chunking/GermanChunkerTest.java
index ef931994dff8f..74c57821d3ab1 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/chunking/GermanChunkerTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/chunking/GermanChunkerTest.java
@@ -29,6 +29,7 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
import org.languagetool.Languages;
+import org.languagetool.chunking.de.GermanChunker;
public class GermanChunkerTest {
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/AgreementRule2Test.java b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/AgreementRule2Test.java
index 615a5dd6dd001..f8373d999df93 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/AgreementRule2Test.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/AgreementRule2Test.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/AgreementRuleTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/AgreementRuleTest.java
index 15147013e8340..59f52f8bb1179 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/AgreementRuleTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/AgreementRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.*;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/AustrianGermanSpellerRuleTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/AustrianGermanSpellerRuleTest.java
index 916078ef3d341..19a2ad19961a3 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/AustrianGermanSpellerRuleTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/AustrianGermanSpellerRuleTest.java
@@ -25,7 +25,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Languages;
import org.languagetool.TestTools;
-import org.languagetool.language.AustrianGerman;
+import org.languagetool.language.de.AustrianGerman;
public class AustrianGermanSpellerRuleTest {
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/CaseRuleTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/CaseRuleTest.java
index 8a88a555565c9..e5574e9a65a34 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/CaseRuleTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/CaseRuleTest.java
@@ -24,7 +24,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Languages;
import org.languagetool.TestTools;
-import org.languagetool.language.German;
+import org.languagetool.language.de.German;
import java.io.IOException;
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/GermanFillerWordsRuleTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/GermanFillerWordsRuleTest.java
index c1932d39c1e48..5fe90dc7c723c 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/GermanFillerWordsRuleTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/GermanFillerWordsRuleTest.java
@@ -26,7 +26,6 @@
import org.junit.Test;
import org.languagetool.*;
-import org.languagetool.language.GermanyGerman;
import org.languagetool.rules.Rule;
/**
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/GermanSpellerRuleTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/GermanSpellerRuleTest.java
index a069b960d16cd..7eb23af6ee727 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/GermanSpellerRuleTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/GermanSpellerRuleTest.java
@@ -28,10 +28,10 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Languages;
import org.languagetool.TestTools;
-import org.languagetool.language.AustrianGerman;
-import org.languagetool.language.German;
-import org.languagetool.language.GermanyGerman;
-import org.languagetool.language.SwissGerman;
+import org.languagetool.language.de.AustrianGerman;
+import org.languagetool.language.de.German;
+import org.languagetool.language.de.GermanyGerman;
+import org.languagetool.language.de.SwissGerman;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.spelling.hunspell.HunspellRule;
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/MissingVerbRuleTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/MissingVerbRuleTest.java
index 68cb4cf57cfb9..9d34010de7b66 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/MissingVerbRuleTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/MissingVerbRuleTest.java
@@ -26,7 +26,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Languages;
import org.languagetool.TestTools;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
public class MissingVerbRuleTest {
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/MorfologikGermanyGermanSpellerRuleTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/MorfologikGermanyGermanSpellerRuleTest.java
index c5792649b6e88..a13dd9adc935b 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/MorfologikGermanyGermanSpellerRuleTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/MorfologikGermanyGermanSpellerRuleTest.java
@@ -25,7 +25,6 @@
import java.io.IOException;
import java.net.URL;
import java.nio.charset.CharacterCodingException;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -34,7 +33,6 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Languages;
import org.languagetool.TestTools;
-import org.languagetool.language.German;
import org.languagetool.rules.RuleMatch;
import morfologik.speller.Speller;
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/SubjectVerbAgreementRuleTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/SubjectVerbAgreementRuleTest.java
index 0b14d2d379348..1cb0bba459100 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/SubjectVerbAgreementRuleTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/SubjectVerbAgreementRuleTest.java
@@ -29,8 +29,8 @@
import org.junit.BeforeClass;
import org.junit.Test;
import org.languagetool.*;
-import org.languagetool.chunking.GermanChunker;
-import org.languagetool.language.German;
+import org.languagetool.chunking.de.GermanChunker;
+import org.languagetool.language.de.German;
import org.languagetool.rules.RuleMatch;
public class SubjectVerbAgreementRuleTest {
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/SuggestionRegressionTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/SuggestionRegressionTest.java
index e872fea9fd043..ebf6d3563249b 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/SuggestionRegressionTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/SuggestionRegressionTest.java
@@ -23,7 +23,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Languages;
import org.languagetool.TestTools;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.RuleMatch;
import java.io.FileWriter;
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/SwissGermanSpellerRuleTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/SwissGermanSpellerRuleTest.java
index 6af57e3fe43f4..e068f905cdc81 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/SwissGermanSpellerRuleTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/SwissGermanSpellerRuleTest.java
@@ -22,7 +22,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Languages;
import org.languagetool.TestTools;
-import org.languagetool.language.SwissGerman;
+import org.languagetool.language.de.SwissGerman;
import org.languagetool.rules.RuleMatch;
import static org.hamcrest.CoreMatchers.is;
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/VerbAgreementRuleTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/VerbAgreementRuleTest.java
index 7e122934dd899..b43212e1ec81b 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/VerbAgreementRuleTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/de/VerbAgreementRuleTest.java
@@ -23,7 +23,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Languages;
import org.languagetool.TestTools;
-import org.languagetool.language.German;
+import org.languagetool.language.de.German;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/spelling/hunspell/HunspellRuleTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/spelling/hunspell/HunspellRuleTest.java
index 3d4734e6ed4dc..b0d98277a7233 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/rules/spelling/hunspell/HunspellRuleTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/rules/spelling/hunspell/HunspellRuleTest.java
@@ -24,7 +24,7 @@
import org.languagetool.Language;
import org.languagetool.Languages;
import org.languagetool.TestTools;
-import org.languagetool.language.German;
+import org.languagetool.language.de.German;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.SuggestedReplacement;
import org.languagetool.rules.de.GermanSpellerRule;
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/synthesis/GermanSynthesizerTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/synthesis/GermanSynthesizerTest.java
index bd2fd1336e6b8..a091a29c8e862 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/synthesis/GermanSynthesizerTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/synthesis/GermanSynthesizerTest.java
@@ -21,6 +21,7 @@
import org.junit.Ignore;
import org.junit.Test;
import org.languagetool.AnalyzedToken;
+import org.languagetool.synthesis.de.GermanSynthesizer;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/de/src/test/java/org/languagetool/tagging/de/GermanDisambiguationTest.java b/languagetool-language-modules/de/src/test/java/org/languagetool/tagging/de/GermanDisambiguationTest.java
index af455cca43b02..32b824cf5a7c1 100644
--- a/languagetool-language-modules/de/src/test/java/org/languagetool/tagging/de/GermanDisambiguationTest.java
+++ b/languagetool-language-modules/de/src/test/java/org/languagetool/tagging/de/GermanDisambiguationTest.java
@@ -28,7 +28,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
public class GermanDisambiguationTest {
diff --git a/languagetool-language-modules/el/pom.xml b/languagetool-language-modules/el/pom.xml
index 07a068793c91d..72b2e3c277c39 100644
--- a/languagetool-language-modules/el/pom.xml
+++ b/languagetool-language-modules/el/pom.xml
@@ -90,10 +90,21 @@
-
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.el
+
+
+
+
diff --git a/languagetool-language-modules/el/src/main/java/org/languagetool/language/Greek.java b/languagetool-language-modules/el/src/main/java/org/languagetool/language/el/Greek.java
similarity index 97%
rename from languagetool-language-modules/el/src/main/java/org/languagetool/language/Greek.java
rename to languagetool-language-modules/el/src/main/java/org/languagetool/language/el/Greek.java
index 2f84c833e3ead..4a55ba84da7c4 100644
--- a/languagetool-language-modules/el/src/main/java/org/languagetool/language/Greek.java
+++ b/languagetool-language-modules/el/src/main/java/org/languagetool/language/el/Greek.java
@@ -16,11 +16,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.el;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
+import org.languagetool.language.Contributor;
import org.languagetool.rules.*;
import org.languagetool.rules.el.GreekRedundancyRule;
import org.languagetool.rules.el.GreekWordRepeatBeginningRule;
@@ -65,7 +66,7 @@ public String[] getCountries() {
@Override
public Contributor[] getMaintainers() {
return new Contributor[]{
- new Contributor("Panagiotis Minos")
+ new Contributor("Panagiotis Minos", null)
};
}
diff --git a/languagetool-language-modules/el/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/el/src/main/resources/META-INF/org/languagetool/language-module.properties
index f1a788c840b2a..15973cffdc6bd 100644
--- a/languagetool-language-modules/el/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/el/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Greek
+languageClasses=org.languagetool.language.el.Greek
diff --git a/languagetool-language-modules/el/src/test/java/org/languagetool/GreekConcurrencyTest.java b/languagetool-language-modules/el/src/test/java/org/languagetool/GreekConcurrencyTest.java
index ead9e5abefd96..ffca59bb781e9 100644
--- a/languagetool-language-modules/el/src/test/java/org/languagetool/GreekConcurrencyTest.java
+++ b/languagetool-language-modules/el/src/test/java/org/languagetool/GreekConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Greek;
+import org.languagetool.language.el.Greek;
public class GreekConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/GreekRedundancyRuleTest.java b/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/GreekRedundancyRuleTest.java
index f2d49e77bfaf2..8f541f945244c 100644
--- a/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/GreekRedundancyRuleTest.java
+++ b/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/GreekRedundancyRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Greek;
+import org.languagetool.language.el.Greek;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
import static org.junit.Assert.assertEquals;
diff --git a/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/GreekTest.java b/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/GreekTest.java
index 4102b18f214cc..02b11bdb54365 100644
--- a/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/GreekTest.java
+++ b/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/GreekTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Greek;
+import org.languagetool.language.el.Greek;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/NumeralStressRuleTest.java b/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/NumeralStressRuleTest.java
index e468fbcab75d1..c51679d19e68b 100644
--- a/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/NumeralStressRuleTest.java
+++ b/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/NumeralStressRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Greek;
+import org.languagetool.language.el.Greek;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/ReplaceHomonymsRuleTest.java b/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/ReplaceHomonymsRuleTest.java
index 5432e818629ad..d015caf46d610 100644
--- a/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/ReplaceHomonymsRuleTest.java
+++ b/languagetool-language-modules/el/src/test/java/org/languagetool/rules/el/ReplaceHomonymsRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Greek;
+import org.languagetool.language.el.Greek;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
import static org.junit.Assert.assertEquals;
diff --git a/languagetool-language-modules/en/pom.xml b/languagetool-language-modules/en/pom.xml
index dc2e120e389a1..d0a4514e578fa 100644
--- a/languagetool-language-modules/en/pom.xml
+++ b/languagetool-language-modules/en/pom.xml
@@ -95,6 +95,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.en
+
+
+
+
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/chunking/EnglishChunkFilter.java b/languagetool-language-modules/en/src/main/java/org/languagetool/chunking/en/EnglishChunkFilter.java
similarity index 94%
rename from languagetool-language-modules/en/src/main/java/org/languagetool/chunking/EnglishChunkFilter.java
rename to languagetool-language-modules/en/src/main/java/org/languagetool/chunking/en/EnglishChunkFilter.java
index 70c2e26716cb4..617d61b514209 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/chunking/EnglishChunkFilter.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/chunking/en/EnglishChunkFilter.java
@@ -16,9 +16,11 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.chunking;
+package org.languagetool.chunking.en;
import org.languagetool.AnalyzedToken;
+import org.languagetool.chunking.ChunkTag;
+import org.languagetool.chunking.ChunkTaggedToken;
import java.util.ArrayList;
import java.util.List;
@@ -28,14 +30,14 @@
* or plural noun phrases. We add this information here.
* @since 2.3
*/
-class EnglishChunkFilter {
+public class EnglishChunkFilter {
private static final ChunkTag BEGIN_NOUN_PHRASE_TAG = new ChunkTag("B-NP");
private static final ChunkTag IN_NOUN_PHRASE_TAG = new ChunkTag("I-NP");
enum ChunkType { SINGULAR, PLURAL }
- List filter(List tokens) {
+ public List filter(List tokens) {
List result = new ArrayList<>();
String newChunkTag = null;
int i = 0;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/chunking/EnglishChunker.java b/languagetool-language-modules/en/src/main/java/org/languagetool/chunking/en/EnglishChunker.java
similarity index 97%
rename from languagetool-language-modules/en/src/main/java/org/languagetool/chunking/EnglishChunker.java
rename to languagetool-language-modules/en/src/main/java/org/languagetool/chunking/en/EnglishChunker.java
index 5433c75cd578f..da1cd138a0399 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/chunking/EnglishChunker.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/chunking/en/EnglishChunker.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.chunking;
+package org.languagetool.chunking.en;
import opennlp.tools.chunker.ChunkerME;
import opennlp.tools.chunker.ChunkerModel;
@@ -27,6 +27,9 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.AnalyzedTokenReadings;
+import org.languagetool.chunking.ChunkTag;
+import org.languagetool.chunking.ChunkTaggedToken;
+import org.languagetool.chunking.Chunker;
import org.languagetool.tools.Tools;
import java.io.IOException;
@@ -110,7 +113,7 @@ private List cleanZeroWidthWhitespaces(String[] tokens) {
}
// non-private for test cases
- String[] tokenize(String sentence) {
+ public String[] tokenize(String sentence) {
TokenizerME tokenizer = new TokenizerME(tokenModel);
String cleanString = sentence.replace('’', '\''); // this is the type of apostrophe that OpenNLP expects
return tokenizer.tokenize(cleanString);
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/language/AmericanEnglish.java b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/AmericanEnglish.java
similarity index 98%
rename from languagetool-language-modules/en/src/main/java/org/languagetool/language/AmericanEnglish.java
rename to languagetool-language-modules/en/src/main/java/org/languagetool/language/en/AmericanEnglish.java
index ba648aa7a2798..504579390273c 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/language/AmericanEnglish.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/AmericanEnglish.java
@@ -17,7 +17,7 @@
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.en;
import org.jetbrains.annotations.Nullable;
import org.languagetool.GlobalConfig;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/language/AustralianEnglish.java b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/AustralianEnglish.java
similarity index 98%
rename from languagetool-language-modules/en/src/main/java/org/languagetool/language/AustralianEnglish.java
rename to languagetool-language-modules/en/src/main/java/org/languagetool/language/en/AustralianEnglish.java
index 733bc0323ed5a..6b0972fc89fcd 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/language/AustralianEnglish.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/AustralianEnglish.java
@@ -17,7 +17,7 @@
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.en;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/language/BritishEnglish.java b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/BritishEnglish.java
similarity index 98%
rename from languagetool-language-modules/en/src/main/java/org/languagetool/language/BritishEnglish.java
rename to languagetool-language-modules/en/src/main/java/org/languagetool/language/en/BritishEnglish.java
index 776f8ce1b9fe3..2761031b98a95 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/language/BritishEnglish.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/BritishEnglish.java
@@ -17,7 +17,7 @@
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.en;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/language/CanadianEnglish.java b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/CanadianEnglish.java
similarity index 98%
rename from languagetool-language-modules/en/src/main/java/org/languagetool/language/CanadianEnglish.java
rename to languagetool-language-modules/en/src/main/java/org/languagetool/language/en/CanadianEnglish.java
index f6650c35a428f..7a57940c2d82a 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/language/CanadianEnglish.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/CanadianEnglish.java
@@ -17,7 +17,7 @@
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.en;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/language/English.java b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/English.java
similarity index 99%
rename from languagetool-language-modules/en/src/main/java/org/languagetool/language/English.java
rename to languagetool-language-modules/en/src/main/java/org/languagetool/language/en/English.java
index 8f62dbc20c81b..7ff581b6dfe70 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/language/English.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/English.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.en;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
@@ -25,7 +25,9 @@
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
import org.languagetool.chunking.Chunker;
-import org.languagetool.chunking.EnglishChunker;
+import org.languagetool.chunking.en.EnglishChunker;
+import org.languagetool.language.Contributor;
+import org.languagetool.language.Contributors;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.*;
import org.languagetool.rules.en.*;
@@ -151,7 +153,7 @@ public synchronized LanguageModel getLanguageModel(File indexDir) throws IOExcep
@Override
public Contributor[] getMaintainers() {
- return new Contributor[] { new Contributor("Mike Unwalla"), Contributors.MARCIN_MILKOWSKI, Contributors.DANIEL_NABER };
+ return new Contributor[] { new Contributor("Mike Unwalla", null), Contributors.MARCIN_MILKOWSKI, Contributors.DANIEL_NABER };
}
@Override
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/language/NewZealandEnglish.java b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/NewZealandEnglish.java
similarity index 98%
rename from languagetool-language-modules/en/src/main/java/org/languagetool/language/NewZealandEnglish.java
rename to languagetool-language-modules/en/src/main/java/org/languagetool/language/en/NewZealandEnglish.java
index 1325d5da21770..57eb39e4ab29d 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/language/NewZealandEnglish.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/NewZealandEnglish.java
@@ -17,7 +17,7 @@
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.en;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/language/SouthAfricanEnglish.java b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/SouthAfricanEnglish.java
similarity index 98%
rename from languagetool-language-modules/en/src/main/java/org/languagetool/language/SouthAfricanEnglish.java
rename to languagetool-language-modules/en/src/main/java/org/languagetool/language/en/SouthAfricanEnglish.java
index 1b52c6c86656e..f6d0c84430143 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/language/SouthAfricanEnglish.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/language/en/SouthAfricanEnglish.java
@@ -17,7 +17,7 @@
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.en;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/AmericanReplaceRule.java b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/AmericanReplaceRule.java
index 1af1188a9193b..d47f8069c3bce 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/AmericanReplaceRule.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/AmericanReplaceRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.en;
-import org.languagetool.language.AmericanEnglish;
+import org.languagetool.language.en.AmericanEnglish;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/BritishReplaceRule.java b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/BritishReplaceRule.java
index 207611119d048..8e492a12ce860 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/BritishReplaceRule.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/BritishReplaceRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.en;
-import org.languagetool.language.BritishEnglish;
+import org.languagetool.language.en.BritishEnglish;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishDiacriticsRule.java b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishDiacriticsRule.java
index 00cb3308d2d87..af29cae09bf1a 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishDiacriticsRule.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishDiacriticsRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.en;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishNumberInWordFilter.java b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishNumberInWordFilter.java
index 2ee18a3821bf9..2623fa39426ee 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishNumberInWordFilter.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishNumberInWordFilter.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.en;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.AmericanEnglish;
+import org.languagetool.language.en.AmericanEnglish;
import org.languagetool.rules.AbstractNumberInWordFilter;
import java.io.IOException;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishPartialPosTagFilter.java b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishPartialPosTagFilter.java
index 5ae160ea9ec53..f6bc2aac9b561 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishPartialPosTagFilter.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishPartialPosTagFilter.java
@@ -20,7 +20,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import org.languagetool.rules.PartialPosTagFilter;
import org.languagetool.tagging.Tagger;
import org.languagetool.tagging.disambiguation.Disambiguator;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishPlainEnglishRule.java b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishPlainEnglishRule.java
index 24fcc8b6c4665..8b40832974aab 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishPlainEnglishRule.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishPlainEnglishRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.en;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishRedundancyRule.java b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishRedundancyRule.java
index 97dfee8a6b1e6..34226acedc9c0 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishRedundancyRule.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishRedundancyRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.en;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishRepeatedWordsRule.java b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishRepeatedWordsRule.java
index f81f7297367bd..954717565dee2 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishRepeatedWordsRule.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishRepeatedWordsRule.java
@@ -20,7 +20,7 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.Tag;
-import org.languagetool.language.AmericanEnglish;
+import org.languagetool.language.en.AmericanEnglish;
import org.languagetool.rules.AbstractRepeatedWordsRule;
import org.languagetool.rules.SynonymsData;
import org.languagetool.rules.patterns.PatternToken;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishSuppressMisspelledSuggestionsFilter.java b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishSuppressMisspelledSuggestionsFilter.java
index 4143ee84dc000..7510fa97483fd 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishSuppressMisspelledSuggestionsFilter.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/EnglishSuppressMisspelledSuggestionsFilter.java
@@ -20,7 +20,7 @@
package org.languagetool.rules.en;
import java.io.IOException;
-import org.languagetool.language.AmericanEnglish;
+import org.languagetool.language.en.AmericanEnglish;
import org.languagetool.rules.AbstractSuppressMisspelledSuggestionsFilter;
public class EnglishSuppressMisspelledSuggestionsFilter extends AbstractSuppressMisspelledSuggestionsFilter {
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/NewZealandReplaceRule.java b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/NewZealandReplaceRule.java
index cf7e6e525e1ce..783b691ae8e6a 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/NewZealandReplaceRule.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/NewZealandReplaceRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.en;
-import org.languagetool.language.NewZealandEnglish;
+import org.languagetool.language.en.NewZealandEnglish;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/en/src/main/java/org/languagetool/tagging/en/EnglishHybridDisambiguator.java b/languagetool-language-modules/en/src/main/java/org/languagetool/tagging/en/EnglishHybridDisambiguator.java
index 6d821dda3aedc..37d3eea660dbf 100644
--- a/languagetool-language-modules/en/src/main/java/org/languagetool/tagging/en/EnglishHybridDisambiguator.java
+++ b/languagetool-language-modules/en/src/main/java/org/languagetool/tagging/en/EnglishHybridDisambiguator.java
@@ -25,7 +25,6 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
-import org.languagetool.language.English;
import org.languagetool.tagging.disambiguation.AbstractDisambiguator;
import org.languagetool.tagging.disambiguation.Disambiguator;
import org.languagetool.tagging.disambiguation.MultiWordChunker;
diff --git a/languagetool-language-modules/en/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/en/src/main/resources/META-INF/org/languagetool/language-module.properties
index 02bdbc147ab0c..226f03b469b95 100644
--- a/languagetool-language-modules/en/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/en/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.English,org.languagetool.language.AmericanEnglish,org.languagetool.language.BritishEnglish,org.languagetool.language.AustralianEnglish,org.languagetool.language.CanadianEnglish,org.languagetool.language.NewZealandEnglish,org.languagetool.language.SouthAfricanEnglish
+languageClasses=org.languagetool.language.en.English,org.languagetool.language.en.AmericanEnglish,org.languagetool.language.en.BritishEnglish,org.languagetool.language.en.AustralianEnglish,org.languagetool.language.en.CanadianEnglish,org.languagetool.language.en.NewZealandEnglish,org.languagetool.language.en.SouthAfricanEnglish
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/AmericanEnglishConcurrencyTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/AmericanEnglishConcurrencyTest.java
index 30d00e157cee5..a0b3a2715868a 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/AmericanEnglishConcurrencyTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/AmericanEnglishConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.AmericanEnglish;
+import org.languagetool.language.en.AmericanEnglish;
public class AmericanEnglishConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/AustralianEnglishConcurrencyTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/AustralianEnglishConcurrencyTest.java
index 7a0e01eb0eaaa..92992272be196 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/AustralianEnglishConcurrencyTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/AustralianEnglishConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.AustralianEnglish;
+import org.languagetool.language.en.AustralianEnglish;
public class AustralianEnglishConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/BritishEnglishConcurrencyTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/BritishEnglishConcurrencyTest.java
index 7312e560c4842..be2e5d6a31472 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/BritishEnglishConcurrencyTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/BritishEnglishConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.BritishEnglish;
+import org.languagetool.language.en.BritishEnglish;
public class BritishEnglishConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/CanadianEnglishConcurrencyTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/CanadianEnglishConcurrencyTest.java
index b1e628991556f..c3edb52a46452 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/CanadianEnglishConcurrencyTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/CanadianEnglishConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.CanadianEnglish;
+import org.languagetool.language.en.CanadianEnglish;
public class CanadianEnglishConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/JLanguageToolTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/JLanguageToolTest.java
index a3e11a493c7a2..f952d1649cbfc 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/JLanguageToolTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/JLanguageToolTest.java
@@ -21,13 +21,9 @@
import org.junit.Ignore;
import org.junit.Test;
import org.languagetool.JLanguageTool.ParagraphHandling;
-import org.languagetool.language.AmericanEnglish;
-import org.languagetool.language.BritishEnglish;
-import org.languagetool.language.English;
-import org.languagetool.language.CanadianEnglish;
-import org.languagetool.language.NewZealandEnglish;
-import org.languagetool.language.SouthAfricanEnglish;
-import org.languagetool.language.AustralianEnglish;
+import org.languagetool.language.en.AmericanEnglish;
+import org.languagetool.language.en.BritishEnglish;
+import org.languagetool.language.en.English;
import org.languagetool.markup.AnnotatedText;
import org.languagetool.markup.AnnotatedTextBuilder;
import org.languagetool.rules.*;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/NewZealandEnglishConcurrencyTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/NewZealandEnglishConcurrencyTest.java
index d2d6512fd2f01..d5d6ce764ee1f 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/NewZealandEnglishConcurrencyTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/NewZealandEnglishConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.NewZealandEnglish;
+import org.languagetool.language.en.NewZealandEnglish;
public class NewZealandEnglishConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/SouthAfricanEnglishConcurrencyTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/SouthAfricanEnglishConcurrencyTest.java
index d5d669e384e5b..05b5abac24f16 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/SouthAfricanEnglishConcurrencyTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/SouthAfricanEnglishConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.SouthAfricanEnglish;
+import org.languagetool.language.en.SouthAfricanEnglish;
public class SouthAfricanEnglishConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/SpellIgnoreTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/SpellIgnoreTest.java
index 9938eed5e0d79..c283628c1f0cd 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/SpellIgnoreTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/SpellIgnoreTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.junit.Test;
-import org.languagetool.language.AmericanEnglish;
+import org.languagetool.language.en.AmericanEnglish;
import org.languagetool.rules.Rule;
import org.languagetool.rules.spelling.SpellingCheckRule;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/chunking/EnglishChunkFilterTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/chunking/EnglishChunkFilterTest.java
index 47163e93a755e..a26657bbd3409 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/chunking/EnglishChunkFilterTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/chunking/EnglishChunkFilterTest.java
@@ -23,6 +23,7 @@
import org.junit.Test;
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
+import org.languagetool.chunking.en.EnglishChunkFilter;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/chunking/EnglishChunkerTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/chunking/EnglishChunkerTest.java
index 5b107c822ab4b..5f74a36295637 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/chunking/EnglishChunkerTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/chunking/EnglishChunkerTest.java
@@ -25,7 +25,8 @@
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.English;
+import org.languagetool.chunking.en.EnglishChunker;
+import org.languagetool.language.en.English;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/EnglishPatternRuleTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/EnglishPatternRuleTest.java
index 3e78af3810de4..4e3a4a767850b 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/EnglishPatternRuleTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/EnglishPatternRuleTest.java
@@ -23,7 +23,7 @@
import org.languagetool.Language;
import org.languagetool.Languages;
import org.languagetool.UserConfig;
-import org.languagetool.language.AmericanEnglish;
+import org.languagetool.language.en.AmericanEnglish;
import org.languagetool.rules.Rule;
import org.languagetool.rules.patterns.PatternRuleTest;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/EnglishRemoteRuleSuppressMisspelledTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/EnglishRemoteRuleSuppressMisspelledTest.java
index 6e36b32a410be..7c224ecb1e555 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/EnglishRemoteRuleSuppressMisspelledTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/EnglishRemoteRuleSuppressMisspelledTest.java
@@ -25,7 +25,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
-import org.languagetool.language.AmericanEnglish;
+import org.languagetool.language.en.AmericanEnglish;
import org.languagetool.rules.RemoteRule;
import org.languagetool.rules.RemoteRuleConfig;
import org.languagetool.rules.RemoteRuleResult;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/EnglishTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/EnglishTest.java
index f05aa47f622c9..4bb565491882d 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/EnglishTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/EnglishTest.java
@@ -23,7 +23,7 @@
import org.languagetool.Language;
import org.languagetool.LanguageSpecificTest;
import org.languagetool.Languages;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import org.languagetool.rules.Rule;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.AbstractPatternRule;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikAmericanSpellerRuleTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikAmericanSpellerRuleTest.java
index 5e2ca556a174b..e37d6d4ea42d8 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikAmericanSpellerRuleTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikAmericanSpellerRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Ignore;
import org.junit.Test;
import org.languagetool.*;
-import org.languagetool.language.CanadianEnglish;
+import org.languagetool.language.en.CanadianEnglish;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.Rule;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikAustralianSpellerRuleTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikAustralianSpellerRuleTest.java
index 5be471ed9d932..e4fa5b61fec5e 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikAustralianSpellerRuleTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikAustralianSpellerRuleTest.java
@@ -30,7 +30,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
import org.languagetool.TestTools;
-import org.languagetool.language.AustralianEnglish;
+import org.languagetool.language.en.AustralianEnglish;
import org.languagetool.rules.Rule;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikCanadianSpellerRuleTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikCanadianSpellerRuleTest.java
index 6978c9fdd795f..1808965ad9c2f 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikCanadianSpellerRuleTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikCanadianSpellerRuleTest.java
@@ -30,7 +30,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
import org.languagetool.TestTools;
-import org.languagetool.language.CanadianEnglish;
+import org.languagetool.language.en.CanadianEnglish;
import org.languagetool.rules.Rule;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikNewZealandSpellerRuleTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikNewZealandSpellerRuleTest.java
index e64d527ec0e7a..2806e4f7bf829 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikNewZealandSpellerRuleTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikNewZealandSpellerRuleTest.java
@@ -27,7 +27,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
import org.languagetool.TestTools;
-import org.languagetool.language.NewZealandEnglish;
+import org.languagetool.language.en.NewZealandEnglish;
import org.languagetool.rules.Rule;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikSouthAfricanSpellerRuleTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikSouthAfricanSpellerRuleTest.java
index c8d9dfc378f5c..21c4cadb44812 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikSouthAfricanSpellerRuleTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/MorfologikSouthAfricanSpellerRuleTest.java
@@ -30,7 +30,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
import org.languagetool.TestTools;
-import org.languagetool.language.SouthAfricanEnglish;
+import org.languagetool.language.en.SouthAfricanEnglish;
import org.languagetool.rules.Rule;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/NewZealandReplaceRuleTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/NewZealandReplaceRuleTest.java
index 27a7dac0f507c..dc32cfa83e4b2 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/NewZealandReplaceRuleTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/rules/en/NewZealandReplaceRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.NewZealandEnglish;
+import org.languagetool.language.en.NewZealandEnglish;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/tagging/disambiguation/rules/en/EnglishDisambiguationRuleTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/tagging/disambiguation/rules/en/EnglishDisambiguationRuleTest.java
index f6d98d1ab49c6..bb9d21d4b7a3c 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/tagging/disambiguation/rules/en/EnglishDisambiguationRuleTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/tagging/disambiguation/rules/en/EnglishDisambiguationRuleTest.java
@@ -24,7 +24,7 @@
import org.junit.Test;
import org.languagetool.Language;
import org.languagetool.TestTools;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import org.languagetool.tagging.disambiguation.rules.XmlRuleDisambiguator;
import org.languagetool.tagging.disambiguation.xx.DemoDisambiguator;
import org.languagetool.tagging.en.EnglishHybridDisambiguator;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/tagging/en/EnglishTaggerTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/tagging/en/EnglishTaggerTest.java
index 97e3b57c37add..031a61e72c1b0 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/tagging/en/EnglishTaggerTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/tagging/en/EnglishTaggerTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.TestTools;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import org.languagetool.tokenizers.en.EnglishWordTokenizer;
import java.io.IOException;
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/tokenizers/EnglishSRXSentenceTokenizerTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/tokenizers/EnglishSRXSentenceTokenizerTest.java
index aaa15bc5e3bff..6273a79c0d482 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/tokenizers/EnglishSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/tokenizers/EnglishSRXSentenceTokenizerTest.java
@@ -21,7 +21,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
public class EnglishSRXSentenceTokenizerTest {
diff --git a/languagetool-language-modules/en/src/test/java/org/languagetool/tools/ToolsTest.java b/languagetool-language-modules/en/src/test/java/org/languagetool/tools/ToolsTest.java
index d88ee9f13df10..8c9372ad4e0df 100644
--- a/languagetool-language-modules/en/src/test/java/org/languagetool/tools/ToolsTest.java
+++ b/languagetool-language-modules/en/src/test/java/org/languagetool/tools/ToolsTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import org.xml.sax.SAXException;
import javax.xml.parsers.ParserConfigurationException;
diff --git a/languagetool-language-modules/eo/pom.xml b/languagetool-language-modules/eo/pom.xml
index 087ba27975545..6551c8f9a38d7 100644
--- a/languagetool-language-modules/eo/pom.xml
+++ b/languagetool-language-modules/eo/pom.xml
@@ -73,6 +73,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.eo
+
+
+
+
diff --git a/languagetool-language-modules/eo/src/main/java/org/languagetool/language/Esperanto.java b/languagetool-language-modules/eo/src/main/java/org/languagetool/language/eo/Esperanto.java
similarity index 96%
rename from languagetool-language-modules/eo/src/main/java/org/languagetool/language/Esperanto.java
rename to languagetool-language-modules/eo/src/main/java/org/languagetool/language/eo/Esperanto.java
index 27efb9339202e..2319dfccfa506 100644
--- a/languagetool-language-modules/eo/src/main/java/org/languagetool/language/Esperanto.java
+++ b/languagetool-language-modules/eo/src/main/java/org/languagetool/language/eo/Esperanto.java
@@ -16,11 +16,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.eo;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
+import org.languagetool.language.Contributor;
+import org.languagetool.language.Contributors;
import org.languagetool.rules.*;
import org.languagetool.rules.spelling.SpellingCheckRule;
import org.languagetool.rules.spelling.hunspell.HunspellRule;
diff --git a/languagetool-language-modules/eo/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/eo/src/main/resources/META-INF/org/languagetool/language-module.properties
index b13d2beafb0e2..4f6c49b06acb3 100644
--- a/languagetool-language-modules/eo/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/eo/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Esperanto
+languageClasses=org.languagetool.language.eo.Esperanto
diff --git a/languagetool-language-modules/eo/src/test/java/org/languagetool/EsperantoConcurrencyTest.java b/languagetool-language-modules/eo/src/test/java/org/languagetool/EsperantoConcurrencyTest.java
index fe57724371ba2..68e21791231f1 100644
--- a/languagetool-language-modules/eo/src/test/java/org/languagetool/EsperantoConcurrencyTest.java
+++ b/languagetool-language-modules/eo/src/test/java/org/languagetool/EsperantoConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Esperanto;
+import org.languagetool.language.eo.Esperanto;
public class EsperantoConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/eo/src/test/java/org/languagetool/EsperantoTest.java b/languagetool-language-modules/eo/src/test/java/org/languagetool/EsperantoTest.java
index 42cc7322f8aa2..079f76066359f 100644
--- a/languagetool-language-modules/eo/src/test/java/org/languagetool/EsperantoTest.java
+++ b/languagetool-language-modules/eo/src/test/java/org/languagetool/EsperantoTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.junit.Test;
-import org.languagetool.language.Esperanto;
+import org.languagetool.language.eo.Esperanto;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/eo/src/test/java/org/languagetool/rules/eo/EsperantoTest.java b/languagetool-language-modules/eo/src/test/java/org/languagetool/rules/eo/EsperantoTest.java
index 2a587ab89dc66..e2b42c8b809b3 100644
--- a/languagetool-language-modules/eo/src/test/java/org/languagetool/rules/eo/EsperantoTest.java
+++ b/languagetool-language-modules/eo/src/test/java/org/languagetool/rules/eo/EsperantoTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Esperanto;
+import org.languagetool.language.eo.Esperanto;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/es/pom.xml b/languagetool-language-modules/es/pom.xml
index aee616ca100b5..4222a6b84623b 100644
--- a/languagetool-language-modules/es/pom.xml
+++ b/languagetool-language-modules/es/pom.xml
@@ -78,6 +78,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.es
+
+
+
+
diff --git a/languagetool-language-modules/es/src/main/java/org/languagetool/language/Spanish.java b/languagetool-language-modules/es/src/main/java/org/languagetool/language/es/Spanish.java
similarity index 98%
rename from languagetool-language-modules/es/src/main/java/org/languagetool/language/Spanish.java
rename to languagetool-language-modules/es/src/main/java/org/languagetool/language/es/Spanish.java
index 0015e6c280ca2..ac4cbcb992712 100644
--- a/languagetool-language-modules/es/src/main/java/org/languagetool/language/Spanish.java
+++ b/languagetool-language-modules/es/src/main/java/org/languagetool/language/es/Spanish.java
@@ -16,11 +16,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.es;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
+import org.languagetool.language.Contributor;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.*;
import org.languagetool.rules.es.*;
@@ -97,7 +98,7 @@ public SentenceTokenizer createDefaultSentenceTokenizer() {
@Override
public Contributor[] getMaintainers() {
return new Contributor[] {
- new Contributor("Jaume Ortolà")
+ new Contributor("Jaume Ortolà", null)
};
}
diff --git a/languagetool-language-modules/es/src/main/java/org/languagetool/language/SpanishVoseo.java b/languagetool-language-modules/es/src/main/java/org/languagetool/language/es/SpanishVoseo.java
similarity index 92%
rename from languagetool-language-modules/es/src/main/java/org/languagetool/language/SpanishVoseo.java
rename to languagetool-language-modules/es/src/main/java/org/languagetool/language/es/SpanishVoseo.java
index 4f90848a2e73c..9ea45dbc077ed 100644
--- a/languagetool-language-modules/es/src/main/java/org/languagetool/language/SpanishVoseo.java
+++ b/languagetool-language-modules/es/src/main/java/org/languagetool/language/es/SpanishVoseo.java
@@ -1,4 +1,4 @@
-package org.languagetool.language;
+package org.languagetool.language.es;
import java.util.Arrays;
import java.util.Collections;
diff --git a/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishNumberInWordFilter.java b/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishNumberInWordFilter.java
index 8f871289e5dd7..31e94ec271618 100644
--- a/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishNumberInWordFilter.java
+++ b/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishNumberInWordFilter.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.es;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.rules.AbstractNumberInWordFilter;
import java.io.IOException;
diff --git a/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishRepeatedWordsRule.java b/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishRepeatedWordsRule.java
index 5a663a5fac2a4..ff6f95d81e9de 100644
--- a/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishRepeatedWordsRule.java
+++ b/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishRepeatedWordsRule.java
@@ -20,7 +20,7 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.Tag;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.rules.AbstractRepeatedWordsRule;
import org.languagetool.rules.SynonymsData;
import org.languagetool.rules.patterns.PatternToken;
diff --git a/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishSuppressMisspelledSuggestionsFilter.java b/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishSuppressMisspelledSuggestionsFilter.java
index 311ad74474458..bff8317b5187a 100644
--- a/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishSuppressMisspelledSuggestionsFilter.java
+++ b/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishSuppressMisspelledSuggestionsFilter.java
@@ -20,7 +20,7 @@
package org.languagetool.rules.es;
import java.io.IOException;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.rules.AbstractSuppressMisspelledSuggestionsFilter;
public class SpanishSuppressMisspelledSuggestionsFilter extends AbstractSuppressMisspelledSuggestionsFilter {
diff --git a/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishWikipediaRule.java b/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishWikipediaRule.java
index 272234b372f17..16c26e9d5b6f4 100644
--- a/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishWikipediaRule.java
+++ b/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SpanishWikipediaRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.es;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SuppressIfAnyRuleMatchesFilter.java b/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SuppressIfAnyRuleMatchesFilter.java
index 940be0480af10..5b86ddf4fb6e9 100644
--- a/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SuppressIfAnyRuleMatchesFilter.java
+++ b/languagetool-language-modules/es/src/main/java/org/languagetool/rules/es/SuppressIfAnyRuleMatchesFilter.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.es;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.rules.AbstractSuppressIfAnyRuleMatchesFilter;
public class SuppressIfAnyRuleMatchesFilter extends AbstractSuppressIfAnyRuleMatchesFilter {
diff --git a/languagetool-language-modules/es/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/es/src/main/resources/META-INF/org/languagetool/language-module.properties
index 220ee46400e38..940b050c524e1 100644
--- a/languagetool-language-modules/es/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/es/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Spanish,org.languagetool.language.SpanishVoseo
+languageClasses=org.languagetool.language.es.Spanish,org.languagetool.language.es.SpanishVoseo
diff --git a/languagetool-language-modules/es/src/test/java/org/languagetool/SpanishConcurrencyTest.java b/languagetool-language-modules/es/src/test/java/org/languagetool/SpanishConcurrencyTest.java
index f7eb9d65fa6f5..a215d09513fa7 100644
--- a/languagetool-language-modules/es/src/test/java/org/languagetool/SpanishConcurrencyTest.java
+++ b/languagetool-language-modules/es/src/test/java/org/languagetool/SpanishConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
public class SpanishConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/MorfologikSpanishSpellerRuleTest.java b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/MorfologikSpanishSpellerRuleTest.java
index 19dc1b0f50a2a..e98fcce079dab 100644
--- a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/MorfologikSpanishSpellerRuleTest.java
+++ b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/MorfologikSpanishSpellerRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/QuestionMarkRuleTest.java b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/QuestionMarkRuleTest.java
index 3c899cfcd3640..c744ff461bac4 100644
--- a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/QuestionMarkRuleTest.java
+++ b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/QuestionMarkRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.rules.Rule;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SimpleReplaceRuleTest.java b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SimpleReplaceRuleTest.java
index b11d4b77f424a..2db9fc89aada0 100644
--- a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SimpleReplaceRuleTest.java
+++ b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SimpleReplaceRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SimpleReplaceVerbsRuleTest.java b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SimpleReplaceVerbsRuleTest.java
index 9734abe425066..e2d6278a9b59d 100644
--- a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SimpleReplaceVerbsRuleTest.java
+++ b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SimpleReplaceVerbsRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishTest.java b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishTest.java
index fdfc8e85f4d17..1558b5f6fc699 100644
--- a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishTest.java
+++ b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishUnpairedBracketsRuleTest.java b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishUnpairedBracketsRuleTest.java
index 1ba790024e358..f899863489967 100644
--- a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishUnpairedBracketsRuleTest.java
+++ b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishUnpairedBracketsRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.markup.AnnotatedText;
import org.languagetool.markup.AnnotatedTextBuilder;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishWikipediaRuleTest.java b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishWikipediaRuleTest.java
index 5fd8c62ab6dab..d3fce67a3590f 100644
--- a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishWikipediaRuleTest.java
+++ b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishWikipediaRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishWordRepeatRuleTest.java b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishWordRepeatRuleTest.java
index a0ba3ece722ec..7fdfdec2366fd 100644
--- a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishWordRepeatRuleTest.java
+++ b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishWordRepeatRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishWrongWordInContextRuleTest.java b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishWrongWordInContextRuleTest.java
index ed8b55703361e..e0bc10c1ab172 100644
--- a/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishWrongWordInContextRuleTest.java
+++ b/languagetool-language-modules/es/src/test/java/org/languagetool/rules/es/SpanishWrongWordInContextRuleTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/es/src/test/java/org/languagetool/tagging/es/SpanishTaggerTest.java b/languagetool-language-modules/es/src/test/java/org/languagetool/tagging/es/SpanishTaggerTest.java
index 9c9af3b5c9e56..c812dac3375e8 100644
--- a/languagetool-language-modules/es/src/test/java/org/languagetool/tagging/es/SpanishTaggerTest.java
+++ b/languagetool-language-modules/es/src/test/java/org/languagetool/tagging/es/SpanishTaggerTest.java
@@ -21,7 +21,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.tokenizers.WordTokenizer;
import java.io.IOException;
diff --git a/languagetool-language-modules/es/src/test/java/org/languagetool/tokenizers/es/SpanishSentenceTokenizerTest.java b/languagetool-language-modules/es/src/test/java/org/languagetool/tokenizers/es/SpanishSentenceTokenizerTest.java
index fa542df553824..aaf805692cc73 100644
--- a/languagetool-language-modules/es/src/test/java/org/languagetool/tokenizers/es/SpanishSentenceTokenizerTest.java
+++ b/languagetool-language-modules/es/src/test/java/org/languagetool/tokenizers/es/SpanishSentenceTokenizerTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Spanish;
+import org.languagetool.language.es.Spanish;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
import org.languagetool.tokenizers.SentenceTokenizer;
diff --git a/languagetool-language-modules/fa/pom.xml b/languagetool-language-modules/fa/pom.xml
index 05d2527bc26fa..6243e3561c20d 100644
--- a/languagetool-language-modules/fa/pom.xml
+++ b/languagetool-language-modules/fa/pom.xml
@@ -52,6 +52,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.fa
+
+
+
+
diff --git a/languagetool-language-modules/fa/src/main/java/org/languagetool/language/Persian.java b/languagetool-language-modules/fa/src/main/java/org/languagetool/language/fa/Persian.java
similarity index 89%
rename from languagetool-language-modules/fa/src/main/java/org/languagetool/language/Persian.java
rename to languagetool-language-modules/fa/src/main/java/org/languagetool/language/fa/Persian.java
index 916a4e10da2d3..a20a4e5e27fbe 100644
--- a/languagetool-language-modules/fa/src/main/java/org/languagetool/language/Persian.java
+++ b/languagetool-language-modules/fa/src/main/java/org/languagetool/language/fa/Persian.java
@@ -16,13 +16,15 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.fa;
import org.languagetool.Language;
import org.languagetool.UserConfig;
+import org.languagetool.language.Contributor;
import org.languagetool.rules.*;
import org.languagetool.rules.fa.*;
import org.languagetool.tokenizers.*;
+import org.languagetool.tokenizers.fa.PersianWordTokenizer;
import java.io.IOException;
import java.util.*;
@@ -61,9 +63,9 @@ public Tokenizer createDefaultWordTokenizer() {
@Override
public Contributor[] getMaintainers() {
return new Contributor[] {
- new Contributor("Reza1615"),
- new Contributor("Alireza Eskandarpour Shoferi"),
- new Contributor("Ebrahim Byagowi")
+ new Contributor("Reza1615", null),
+ new Contributor("Alireza Eskandarpour Shoferi", null),
+ new Contributor("Ebrahim Byagowi", null)
};
}
diff --git a/languagetool-language-modules/fa/src/main/java/org/languagetool/tokenizers/PersianWordTokenizer.java b/languagetool-language-modules/fa/src/main/java/org/languagetool/tokenizers/fa/PersianWordTokenizer.java
similarity index 92%
rename from languagetool-language-modules/fa/src/main/java/org/languagetool/tokenizers/PersianWordTokenizer.java
rename to languagetool-language-modules/fa/src/main/java/org/languagetool/tokenizers/fa/PersianWordTokenizer.java
index 11838e5078949..40bd750dd8cd7 100644
--- a/languagetool-language-modules/fa/src/main/java/org/languagetool/tokenizers/PersianWordTokenizer.java
+++ b/languagetool-language-modules/fa/src/main/java/org/languagetool/tokenizers/fa/PersianWordTokenizer.java
@@ -16,7 +16,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.tokenizers;
+package org.languagetool.tokenizers.fa;
+
+import org.languagetool.tokenizers.WordTokenizer;
/**
* @since 2.7
diff --git a/languagetool-language-modules/fa/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/fa/src/main/resources/META-INF/org/languagetool/language-module.properties
index 81ece5332e0cf..e13e72fa08b06 100644
--- a/languagetool-language-modules/fa/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/fa/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Persian
+languageClasses=org.languagetool.language.fa.Persian
diff --git a/languagetool-language-modules/fa/src/test/java/org/languagetool/rules/fa/PersianTest.java b/languagetool-language-modules/fa/src/test/java/org/languagetool/rules/fa/PersianTest.java
index c0d3e0eef18c1..b827560670041 100644
--- a/languagetool-language-modules/fa/src/test/java/org/languagetool/rules/fa/PersianTest.java
+++ b/languagetool-language-modules/fa/src/test/java/org/languagetool/rules/fa/PersianTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Persian;
+import org.languagetool.language.fa.Persian;
import java.io.IOException;
diff --git a/languagetool-language-modules/fa/src/test/java/org/languagetool/rules/fa/WordCoherencyRuleTest.java b/languagetool-language-modules/fa/src/test/java/org/languagetool/rules/fa/WordCoherencyRuleTest.java
index 055b4c4dc7efd..eb477cae4a349 100644
--- a/languagetool-language-modules/fa/src/test/java/org/languagetool/rules/fa/WordCoherencyRuleTest.java
+++ b/languagetool-language-modules/fa/src/test/java/org/languagetool/rules/fa/WordCoherencyRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Persian;
+import org.languagetool.language.fa.Persian;
import org.languagetool.rules.TextLevelRule;
import org.languagetool.rules.patterns.PatternRuleTest;
diff --git a/languagetool-language-modules/fa/src/test/java/org/languagetool/tokenizers/PersianSRXSentenceTokenizerTest.java b/languagetool-language-modules/fa/src/test/java/org/languagetool/tokenizers/PersianSRXSentenceTokenizerTest.java
index ce0e9abf02076..0ac29d7f38856 100644
--- a/languagetool-language-modules/fa/src/test/java/org/languagetool/tokenizers/PersianSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/fa/src/test/java/org/languagetool/tokenizers/PersianSRXSentenceTokenizerTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Persian;
+import org.languagetool.language.fa.Persian;
public class PersianSRXSentenceTokenizerTest {
diff --git a/languagetool-language-modules/fr/pom.xml b/languagetool-language-modules/fr/pom.xml
index e7b48d71a8053..fb3f60e3347a0 100644
--- a/languagetool-language-modules/fr/pom.xml
+++ b/languagetool-language-modules/fr/pom.xml
@@ -77,6 +77,17 @@
org.apache.maven.plugins
maven-surefire-plugin
-
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.fr
+
+
+
+
+
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/language/BelgianFrench.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/language/fr/BelgianFrench.java
similarity index 97%
rename from languagetool-language-modules/fr/src/main/java/org/languagetool/language/BelgianFrench.java
rename to languagetool-language-modules/fr/src/main/java/org/languagetool/language/fr/BelgianFrench.java
index 7865f5e9daa42..e0164d1543475 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/language/BelgianFrench.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/language/fr/BelgianFrench.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.fr;
import java.util.Arrays;
import java.util.Collections;
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/language/CanadianFrench.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/language/fr/CanadianFrench.java
similarity index 95%
rename from languagetool-language-modules/fr/src/main/java/org/languagetool/language/CanadianFrench.java
rename to languagetool-language-modules/fr/src/main/java/org/languagetool/language/fr/CanadianFrench.java
index a01e308dea709..26c00a17fef34 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/language/CanadianFrench.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/language/fr/CanadianFrench.java
@@ -16,9 +16,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.fr;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/language/French.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/language/fr/French.java
similarity index 98%
rename from languagetool-language-modules/fr/src/main/java/org/languagetool/language/French.java
rename to languagetool-language-modules/fr/src/main/java/org/languagetool/language/fr/French.java
index 763741faf3b38..be733402a6637 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/language/French.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/language/fr/French.java
@@ -16,16 +16,18 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.fr;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
+import org.languagetool.language.Contributor;
+import org.languagetool.language.Contributors;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.*;
import org.languagetool.rules.fr.*;
import org.languagetool.rules.spelling.SpellingCheckRule;
-import org.languagetool.synthesis.FrenchSynthesizer;
+import org.languagetool.synthesis.fr.FrenchSynthesizer;
import org.languagetool.synthesis.Synthesizer;
import org.languagetool.tagging.Tagger;
import org.languagetool.tagging.disambiguation.Disambiguator;
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/language/SwissFrench.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/language/fr/SwissFrench.java
similarity index 95%
rename from languagetool-language-modules/fr/src/main/java/org/languagetool/language/SwissFrench.java
rename to languagetool-language-modules/fr/src/main/java/org/languagetool/language/fr/SwissFrench.java
index 24156dd1e2468..77b8ba032c36e 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/language/SwissFrench.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/language/fr/SwissFrench.java
@@ -16,9 +16,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.fr;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/AdvancedSynthesizerFilter.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/AdvancedSynthesizerFilter.java
index ccdc44241f662..f35b41ecb56a4 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/AdvancedSynthesizerFilter.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/AdvancedSynthesizerFilter.java
@@ -21,7 +21,7 @@
import org.languagetool.rules.AbstractAdvancedSynthesizerFilter;
-import org.languagetool.synthesis.FrenchSynthesizer;
+import org.languagetool.synthesis.fr.FrenchSynthesizer;
import org.languagetool.synthesis.Synthesizer;
/*
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FindSuggestionsFilter.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FindSuggestionsFilter.java
index 84b109c50b3ab..5298aeb492f96 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FindSuggestionsFilter.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FindSuggestionsFilter.java
@@ -22,10 +22,10 @@
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.rules.AbstractFindSuggestionsFilter;
import org.languagetool.rules.RuleMatch;
-import org.languagetool.synthesis.FrenchSynthesizer;
+import org.languagetool.synthesis.fr.FrenchSynthesizer;
import org.languagetool.synthesis.Synthesizer;
import org.languagetool.tagging.Tagger;
import org.languagetool.tagging.fr.FrenchTagger;
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchNumberInWordFilter.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchNumberInWordFilter.java
index 62085e2a69547..a56f27c47d227 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchNumberInWordFilter.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchNumberInWordFilter.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.fr;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.rules.AbstractNumberInWordFilter;
import java.io.IOException;
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchPartialPosTagFilter.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchPartialPosTagFilter.java
index 9718813b30bf2..83058270e6dd5 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchPartialPosTagFilter.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchPartialPosTagFilter.java
@@ -20,7 +20,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.rules.PartialPosTagFilter;
import org.languagetool.tagging.Tagger;
import org.languagetool.tagging.disambiguation.Disambiguator;
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchRepeatedWordsRule.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchRepeatedWordsRule.java
index c515d9a91fc1f..c9b3889450b9f 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchRepeatedWordsRule.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchRepeatedWordsRule.java
@@ -19,10 +19,10 @@
package org.languagetool.rules.fr;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.rules.AbstractRepeatedWordsRule;
import org.languagetool.rules.SynonymsData;
-import org.languagetool.synthesis.FrenchSynthesizer;
+import org.languagetool.synthesis.fr.FrenchSynthesizer;
import org.languagetool.synthesis.Synthesizer;
import java.util.Map;
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchSuppressMisspelledSuggestionsFilter.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchSuppressMisspelledSuggestionsFilter.java
index d1830fe1c02b6..b2a0b7ccaecd1 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchSuppressMisspelledSuggestionsFilter.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/FrenchSuppressMisspelledSuggestionsFilter.java
@@ -20,7 +20,7 @@
package org.languagetool.rules.fr;
import java.io.IOException;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.rules.AbstractSuppressMisspelledSuggestionsFilter;
public class FrenchSuppressMisspelledSuggestionsFilter extends AbstractSuppressMisspelledSuggestionsFilter {
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/InterrogativeVerbFilter.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/InterrogativeVerbFilter.java
index 7177688950c53..a6e37e5994cdd 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/InterrogativeVerbFilter.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/InterrogativeVerbFilter.java
@@ -22,10 +22,10 @@
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.RuleFilter;
-import org.languagetool.synthesis.FrenchSynthesizer;
+import org.languagetool.synthesis.fr.FrenchSynthesizer;
import org.languagetool.tagging.fr.FrenchTagger;
import org.languagetool.tools.StringTools;
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/PostponedAdjectiveConcordanceFilter.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/PostponedAdjectiveConcordanceFilter.java
index 4615dfb25cdc4..6001fd50aeee3 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/PostponedAdjectiveConcordanceFilter.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/PostponedAdjectiveConcordanceFilter.java
@@ -22,7 +22,7 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.RuleFilter;
-import org.languagetool.synthesis.FrenchSynthesizer;
+import org.languagetool.synthesis.fr.FrenchSynthesizer;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/WordWithDeterminerFilter.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/WordWithDeterminerFilter.java
index 3214257a453cd..27a2ba699f6de 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/WordWithDeterminerFilter.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/rules/fr/WordWithDeterminerFilter.java
@@ -22,7 +22,7 @@
import org.languagetool.rules.Rule;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.RuleFilter;
-import org.languagetool.synthesis.FrenchSynthesizer;
+import org.languagetool.synthesis.fr.FrenchSynthesizer;
import org.languagetool.tools.StringTools;
import java.io.IOException;
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/synthesis/FrenchSynthesizer.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/synthesis/fr/FrenchSynthesizer.java
similarity index 95%
rename from languagetool-language-modules/fr/src/main/java/org/languagetool/synthesis/FrenchSynthesizer.java
rename to languagetool-language-modules/fr/src/main/java/org/languagetool/synthesis/fr/FrenchSynthesizer.java
index ed233a23683c2..fd8eb0af5bb12 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/synthesis/FrenchSynthesizer.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/synthesis/fr/FrenchSynthesizer.java
@@ -16,9 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.synthesis;
+package org.languagetool.synthesis.fr;
import org.languagetool.Language;
+import org.languagetool.synthesis.BaseSynthesizer;
import java.util.Arrays;
import java.util.List;
diff --git a/languagetool-language-modules/fr/src/main/java/org/languagetool/tagging/disambiguation/fr/FrenchHybridDisambiguator.java b/languagetool-language-modules/fr/src/main/java/org/languagetool/tagging/disambiguation/fr/FrenchHybridDisambiguator.java
index 6d06c336c8fa3..3f327c5fe77d5 100644
--- a/languagetool-language-modules/fr/src/main/java/org/languagetool/tagging/disambiguation/fr/FrenchHybridDisambiguator.java
+++ b/languagetool-language-modules/fr/src/main/java/org/languagetool/tagging/disambiguation/fr/FrenchHybridDisambiguator.java
@@ -24,7 +24,7 @@
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.tagging.disambiguation.AbstractDisambiguator;
import org.languagetool.tagging.disambiguation.Disambiguator;
import org.languagetool.tagging.disambiguation.MultiWordChunker;
diff --git a/languagetool-language-modules/fr/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/fr/src/main/resources/META-INF/org/languagetool/language-module.properties
index 50d6fcf1c9979..6b18b0fb61858 100644
--- a/languagetool-language-modules/fr/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/fr/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.French,org.languagetool.language.CanadianFrench,org.languagetool.language.SwissFrench,org.languagetool.language.BelgianFrench
+languageClasses=org.languagetool.language.fr.French,org.languagetool.language.fr.CanadianFrench,org.languagetool.language.fr.SwissFrench,org.languagetool.language.fr.BelgianFrench
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/FrenchConcurrencyTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/FrenchConcurrencyTest.java
index f1f729634efc2..f2250dc88fda5 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/FrenchConcurrencyTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/FrenchConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
public class FrenchConcurrencyTest extends AbstractLanguageConcurrencyTest {
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/JLanguageToolTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/JLanguageToolTest.java
index 6dee0d2b50071..644c32f41421f 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/JLanguageToolTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/JLanguageToolTest.java
@@ -22,7 +22,7 @@
import org.languagetool.JLanguageTool.Level;
import org.languagetool.JLanguageTool.Mode;
import org.languagetool.JLanguageTool.ParagraphHandling;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.markup.AnnotatedText;
import org.languagetool.markup.AnnotatedTextBuilder;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/language/FrenchTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/language/FrenchTest.java
index 3b3c87f306ec0..bb948507ba0fc 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/language/FrenchTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/language/FrenchTest.java
@@ -26,6 +26,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
+import org.languagetool.language.fr.French;
import org.languagetool.rules.RuleMatch;
import org.languagetool.tokenizers.SentenceTokenizer;
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/AnnotatedTextTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/AnnotatedTextTest.java
index 0f9b88fd0de16..dd96ca5c7bf66 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/AnnotatedTextTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/AnnotatedTextTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.markup.AnnotatedTextBuilder;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/FrenchTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/FrenchTest.java
index 62e5dd59d103a..918edd42228a6 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/FrenchTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/FrenchTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/GenericUnpairedBracketsRuleTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/GenericUnpairedBracketsRuleTest.java
index 5189cf2e976d6..2fac0508e5e9f 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/GenericUnpairedBracketsRuleTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/GenericUnpairedBracketsRuleTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.rules.GenericUnpairedBracketsRule;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/MorfologikFrenchSpellerRuleTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/MorfologikFrenchSpellerRuleTest.java
index b23731b7ecd23..3e72edc7a616a 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/MorfologikFrenchSpellerRuleTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/MorfologikFrenchSpellerRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/QuestionWhitespaceRuleTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/QuestionWhitespaceRuleTest.java
index ab30d6be58e21..c830b7406b35c 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/QuestionWhitespaceRuleTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/QuestionWhitespaceRuleTest.java
@@ -26,7 +26,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
import org.languagetool.TestTools;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.rules.RuleMatch;
import static org.hamcrest.core.Is.is;
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/QuestionWhitespaceStrictRuleTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/QuestionWhitespaceStrictRuleTest.java
index ff554744f046d..64a618350afb7 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/QuestionWhitespaceStrictRuleTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/QuestionWhitespaceStrictRuleTest.java
@@ -22,7 +22,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
import org.languagetool.TestTools;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/SimpleReplaceRuleTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/SimpleReplaceRuleTest.java
index 2ebdea55d6510..36bcf91f354f9 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/SimpleReplaceRuleTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/fr/SimpleReplaceRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/spelling/hunspell/TestFrenchDisambiguator.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/spelling/hunspell/TestFrenchDisambiguator.java
index b9f87c91210ec..3400b1676646b 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/spelling/hunspell/TestFrenchDisambiguator.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/rules/spelling/hunspell/TestFrenchDisambiguator.java
@@ -23,7 +23,7 @@
import java.util.List;
import org.languagetool.AnalyzedSentence;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.tagging.disambiguation.AbstractDisambiguator;
import org.languagetool.tagging.disambiguation.rules.DisambiguationPatternRule;
import org.languagetool.tagging.disambiguation.rules.DisambiguationRuleLoader;
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/synthesis/fr/FrenchSynthesizerTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/synthesis/fr/FrenchSynthesizerTest.java
index adc84b8bb9b97..7cf1640c36480 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/synthesis/fr/FrenchSynthesizerTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/synthesis/fr/FrenchSynthesizerTest.java
@@ -20,7 +20,6 @@
import org.junit.Test;
import org.languagetool.AnalyzedToken;
-import org.languagetool.synthesis.FrenchSynthesizer;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/tagging/disambiguation/rules/fr/FrenchRuleDisambiguatorTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/tagging/disambiguation/rules/fr/FrenchRuleDisambiguatorTest.java
index f60b5881c45e2..818fadab4dbd3 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/tagging/disambiguation/rules/fr/FrenchRuleDisambiguatorTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/tagging/disambiguation/rules/fr/FrenchRuleDisambiguatorTest.java
@@ -22,9 +22,8 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.tagging.disambiguation.fr.FrenchHybridDisambiguator;
-import org.languagetool.tagging.disambiguation.rules.XmlRuleDisambiguator;
import org.languagetool.tagging.disambiguation.xx.DemoDisambiguator;
import org.languagetool.tagging.fr.FrenchTagger;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/tagging/fr/FrenchTaggerTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/tagging/fr/FrenchTaggerTest.java
index 75d44cd23411f..95cf26969c56a 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/tagging/fr/FrenchTaggerTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/tagging/fr/FrenchTaggerTest.java
@@ -21,7 +21,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.tokenizers.WordTokenizer;
import org.languagetool.tokenizers.fr.FrenchWordTokenizer;
diff --git a/languagetool-language-modules/fr/src/test/java/org/languagetool/tokenizers/fr/FrenchSentenceTokenizerTest.java b/languagetool-language-modules/fr/src/test/java/org/languagetool/tokenizers/fr/FrenchSentenceTokenizerTest.java
index 5e968498e4b5a..b0558cff76849 100644
--- a/languagetool-language-modules/fr/src/test/java/org/languagetool/tokenizers/fr/FrenchSentenceTokenizerTest.java
+++ b/languagetool-language-modules/fr/src/test/java/org/languagetool/tokenizers/fr/FrenchSentenceTokenizerTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.French;
+import org.languagetool.language.fr.French;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
import org.languagetool.tokenizers.SentenceTokenizer;
diff --git a/languagetool-language-modules/ga/pom.xml b/languagetool-language-modules/ga/pom.xml
index abd310d556b65..996928b95b8d6 100644
--- a/languagetool-language-modules/ga/pom.xml
+++ b/languagetool-language-modules/ga/pom.xml
@@ -87,6 +87,17 @@
org.apache.maven.plugins
maven-surefire-plugin
-
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.ga
+
+
+
+
+
diff --git a/languagetool-language-modules/ga/src/main/java/org/languagetool/language/Irish.java b/languagetool-language-modules/ga/src/main/java/org/languagetool/language/ga/Irish.java
similarity index 94%
rename from languagetool-language-modules/ga/src/main/java/org/languagetool/language/Irish.java
rename to languagetool-language-modules/ga/src/main/java/org/languagetool/language/ga/Irish.java
index 4b17fc1836c6d..b2d5470680ea3 100644
--- a/languagetool-language-modules/ga/src/main/java/org/languagetool/language/Irish.java
+++ b/languagetool-language-modules/ga/src/main/java/org/languagetool/language/ga/Irish.java
@@ -16,11 +16,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.ga;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
+import org.languagetool.language.Contributor;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.*;
import org.languagetool.rules.ga.*;
@@ -69,10 +70,10 @@ public Language getDefaultLanguageVariant() {
@Override
public Contributor[] getMaintainers() {
return new Contributor[] {
- new Contributor("Jim O'Regan"),
- new Contributor("Emily Barnes"),
- new Contributor("Mícheál J. Ó Meachair"),
- new Contributor("Seanán Ó Coistín")
+ new Contributor("Jim O'Regan", null),
+ new Contributor("Emily Barnes", null),
+ new Contributor("Mícheál J. Ó Meachair", null),
+ new Contributor("Seanán Ó Coistín", null)
};
}
diff --git a/languagetool-language-modules/ga/src/main/java/org/languagetool/rules/ga/IrishPartialPosTagFilter.java b/languagetool-language-modules/ga/src/main/java/org/languagetool/rules/ga/IrishPartialPosTagFilter.java
index 0290c9bee0268..09f0bb3a414ab 100644
--- a/languagetool-language-modules/ga/src/main/java/org/languagetool/rules/ga/IrishPartialPosTagFilter.java
+++ b/languagetool-language-modules/ga/src/main/java/org/languagetool/rules/ga/IrishPartialPosTagFilter.java
@@ -20,7 +20,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.Irish;
+import org.languagetool.language.ga.Irish;
import org.languagetool.rules.PartialPosTagFilter;
import org.languagetool.tagging.Tagger;
import org.languagetool.tagging.disambiguation.Disambiguator;
diff --git a/languagetool-language-modules/ga/src/main/java/org/languagetool/rules/ga/NoDisambiguationIrishPartialPosTagFilter.java b/languagetool-language-modules/ga/src/main/java/org/languagetool/rules/ga/NoDisambiguationIrishPartialPosTagFilter.java
index 66424a11f53d2..e8c38f32a31a1 100644
--- a/languagetool-language-modules/ga/src/main/java/org/languagetool/rules/ga/NoDisambiguationIrishPartialPosTagFilter.java
+++ b/languagetool-language-modules/ga/src/main/java/org/languagetool/rules/ga/NoDisambiguationIrishPartialPosTagFilter.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.ga;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.Irish;
+import org.languagetool.language.ga.Irish;
import org.languagetool.rules.PartialPosTagFilter;
import org.languagetool.tagging.Tagger;
diff --git a/languagetool-language-modules/ga/src/main/java/org/languagetool/tagging/disambiguation/ga/IrishHybridDisambiguator.java b/languagetool-language-modules/ga/src/main/java/org/languagetool/tagging/disambiguation/ga/IrishHybridDisambiguator.java
index 3bf373c9cf62d..d0f7bb412fb05 100644
--- a/languagetool-language-modules/ga/src/main/java/org/languagetool/tagging/disambiguation/ga/IrishHybridDisambiguator.java
+++ b/languagetool-language-modules/ga/src/main/java/org/languagetool/tagging/disambiguation/ga/IrishHybridDisambiguator.java
@@ -22,7 +22,7 @@
import java.io.IOException;
import org.languagetool.AnalyzedSentence;
-import org.languagetool.language.Irish;
+import org.languagetool.language.ga.Irish;
import org.languagetool.tagging.disambiguation.AbstractDisambiguator;
import org.languagetool.tagging.disambiguation.Disambiguator;
import org.languagetool.tagging.disambiguation.MultiWordChunker;
diff --git a/languagetool-language-modules/ga/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/ga/src/main/resources/META-INF/org/languagetool/language-module.properties
index da4e2b34f11e0..78bad1d9c2285 100644
--- a/languagetool-language-modules/ga/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/ga/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Irish
+languageClasses=org.languagetool.language.ga.Irish
diff --git a/languagetool-language-modules/ga/src/test/java/org/languagetool/rules/ga/DhaNoBeirtRuleTest.java b/languagetool-language-modules/ga/src/test/java/org/languagetool/rules/ga/DhaNoBeirtRuleTest.java
index a8cc75edf3892..54928cae03df4 100644
--- a/languagetool-language-modules/ga/src/test/java/org/languagetool/rules/ga/DhaNoBeirtRuleTest.java
+++ b/languagetool-language-modules/ga/src/test/java/org/languagetool/rules/ga/DhaNoBeirtRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Irish;
+import org.languagetool.language.ga.Irish;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ga/src/test/java/org/languagetool/rules/ga/MorfologikIrishSpellerRuleTest.java b/languagetool-language-modules/ga/src/test/java/org/languagetool/rules/ga/MorfologikIrishSpellerRuleTest.java
index 0baeed9d9a69a..e1d089514c286 100644
--- a/languagetool-language-modules/ga/src/test/java/org/languagetool/rules/ga/MorfologikIrishSpellerRuleTest.java
+++ b/languagetool-language-modules/ga/src/test/java/org/languagetool/rules/ga/MorfologikIrishSpellerRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Irish;
+import org.languagetool.language.ga.Irish;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ga/src/test/java/org/languagetool/tagging/disambiguation/rules/ga/IrishDisambiguationRuleTest.java b/languagetool-language-modules/ga/src/test/java/org/languagetool/tagging/disambiguation/rules/ga/IrishDisambiguationRuleTest.java
index e4373f3a4b2da..b8b3f23b071d9 100644
--- a/languagetool-language-modules/ga/src/test/java/org/languagetool/tagging/disambiguation/rules/ga/IrishDisambiguationRuleTest.java
+++ b/languagetool-language-modules/ga/src/test/java/org/languagetool/tagging/disambiguation/rules/ga/IrishDisambiguationRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Irish;
+import org.languagetool.language.ga.Irish;
import org.languagetool.tagging.disambiguation.rules.XmlRuleDisambiguator;
import org.languagetool.tagging.disambiguation.rules.DisambiguationRuleTest;
import org.languagetool.tagging.ga.IrishTagger;
diff --git a/languagetool-language-modules/ga/src/test/java/org/languagetool/tagging/ga/IrishTaggerTest.java b/languagetool-language-modules/ga/src/test/java/org/languagetool/tagging/ga/IrishTaggerTest.java
index 4ac3c1785c207..b7e388059a369 100644
--- a/languagetool-language-modules/ga/src/test/java/org/languagetool/tagging/ga/IrishTaggerTest.java
+++ b/languagetool-language-modules/ga/src/test/java/org/languagetool/tagging/ga/IrishTaggerTest.java
@@ -20,7 +20,7 @@
import junit.framework.TestCase;
import org.languagetool.TestTools;
-import org.languagetool.language.Irish;
+import org.languagetool.language.ga.Irish;
import org.languagetool.tokenizers.WordTokenizer;
import java.io.IOException;
diff --git a/languagetool-language-modules/gl/pom.xml b/languagetool-language-modules/gl/pom.xml
index 435ccd294f121..d5c2f96638dae 100644
--- a/languagetool-language-modules/gl/pom.xml
+++ b/languagetool-language-modules/gl/pom.xml
@@ -73,6 +73,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.gl
+
+
+
+
diff --git a/languagetool-language-modules/gl/src/main/java/org/languagetool/language/Galician.java b/languagetool-language-modules/gl/src/main/java/org/languagetool/language/gl/Galician.java
similarity index 98%
rename from languagetool-language-modules/gl/src/main/java/org/languagetool/language/Galician.java
rename to languagetool-language-modules/gl/src/main/java/org/languagetool/language/gl/Galician.java
index b208abbf9ce7b..d93c284d806a1 100644
--- a/languagetool-language-modules/gl/src/main/java/org/languagetool/language/Galician.java
+++ b/languagetool-language-modules/gl/src/main/java/org/languagetool/language/gl/Galician.java
@@ -16,11 +16,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.gl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
+import org.languagetool.language.Contributor;
import org.languagetool.rules.*;
import org.languagetool.rules.gl.*;
import org.languagetool.rules.spelling.SpellingCheckRule;
@@ -89,7 +90,7 @@ public LanguageMaintainedState getMaintainedState() {
@Override
public Contributor[] getMaintainers() {
return new Contributor[] {
- new Contributor("Susana Sotelo Docío"),
+ new Contributor("Susana Sotelo Docío", null),
new Contributor("Tiago F. Santos (4.0-4.7)", "https://github.com/TiagoSantos81")
};
}
diff --git a/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianBarbarismsRule.java b/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianBarbarismsRule.java
index 433033f0230f8..0fa359d368e5e 100644
--- a/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianBarbarismsRule.java
+++ b/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianBarbarismsRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.gl;
-import org.languagetool.language.Galician;
+import org.languagetool.language.gl.Galician;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianRedundancyRule.java b/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianRedundancyRule.java
index 86b7c0a1f3abd..b96621731b9a1 100644
--- a/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianRedundancyRule.java
+++ b/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianRedundancyRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.gl;
-import org.languagetool.language.Galician;
+import org.languagetool.language.gl.Galician;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianWikipediaRule.java b/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianWikipediaRule.java
index 7a96a16867b86..b85c230aadb5e 100644
--- a/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianWikipediaRule.java
+++ b/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianWikipediaRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.gl;
-import org.languagetool.language.Galician;
+import org.languagetool.language.gl.Galician;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianWordinessRule.java b/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianWordinessRule.java
index 8a9069ed6e47b..f26de3f3f1943 100644
--- a/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianWordinessRule.java
+++ b/languagetool-language-modules/gl/src/main/java/org/languagetool/rules/gl/GalicianWordinessRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.gl;
-import org.languagetool.language.Galician;
+import org.languagetool.language.gl.Galician;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/gl/src/main/java/org/languagetool/tagging/disambiguation/gl/GalicianHybridDisambiguator.java b/languagetool-language-modules/gl/src/main/java/org/languagetool/tagging/disambiguation/gl/GalicianHybridDisambiguator.java
index 444a579879014..5f39e814a4219 100644
--- a/languagetool-language-modules/gl/src/main/java/org/languagetool/tagging/disambiguation/gl/GalicianHybridDisambiguator.java
+++ b/languagetool-language-modules/gl/src/main/java/org/languagetool/tagging/disambiguation/gl/GalicianHybridDisambiguator.java
@@ -22,7 +22,7 @@
import java.io.IOException;
import org.languagetool.AnalyzedSentence;
-import org.languagetool.language.Galician;
+import org.languagetool.language.gl.Galician;
import org.languagetool.tagging.disambiguation.AbstractDisambiguator;
import org.languagetool.tagging.disambiguation.Disambiguator;
import org.languagetool.tagging.disambiguation.MultiWordChunker;
diff --git a/languagetool-language-modules/gl/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/gl/src/main/resources/META-INF/org/languagetool/language-module.properties
index 2717edf4db492..dbd8a6ad50cdc 100644
--- a/languagetool-language-modules/gl/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/gl/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Galician
+languageClasses=org.languagetool.language.gl.Galician
diff --git a/languagetool-language-modules/gl/src/test/java/org/languagetool/GalicianConcurrencyTest.java b/languagetool-language-modules/gl/src/test/java/org/languagetool/GalicianConcurrencyTest.java
index 0e36293e9454c..a36506d4d0633 100644
--- a/languagetool-language-modules/gl/src/test/java/org/languagetool/GalicianConcurrencyTest.java
+++ b/languagetool-language-modules/gl/src/test/java/org/languagetool/GalicianConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Galician;
+import org.languagetool.language.gl.Galician;
public class GalicianConcurrencyTest extends AbstractLanguageConcurrencyTest {
diff --git a/languagetool-language-modules/gl/src/test/java/org/languagetool/rules/gl/GalicianTest.java b/languagetool-language-modules/gl/src/test/java/org/languagetool/rules/gl/GalicianTest.java
index a16ef138e21de..b65f5a193fb34 100644
--- a/languagetool-language-modules/gl/src/test/java/org/languagetool/rules/gl/GalicianTest.java
+++ b/languagetool-language-modules/gl/src/test/java/org/languagetool/rules/gl/GalicianTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Galician;
+import org.languagetool.language.gl.Galician;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/is/pom.xml b/languagetool-language-modules/is/pom.xml
index 3038cb942709b..7de8834816b0c 100644
--- a/languagetool-language-modules/is/pom.xml
+++ b/languagetool-language-modules/is/pom.xml
@@ -67,6 +67,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.is
+
+
+
+
diff --git a/languagetool-language-modules/is/src/main/java/org/languagetool/language/Icelandic.java b/languagetool-language-modules/is/src/main/java/org/languagetool/language/is/Icelandic.java
similarity index 96%
rename from languagetool-language-modules/is/src/main/java/org/languagetool/language/Icelandic.java
rename to languagetool-language-modules/is/src/main/java/org/languagetool/language/is/Icelandic.java
index 5a10b55170fcb..fd35d7e480019 100644
--- a/languagetool-language-modules/is/src/main/java/org/languagetool/language/Icelandic.java
+++ b/languagetool-language-modules/is/src/main/java/org/languagetool/language/is/Icelandic.java
@@ -17,11 +17,12 @@
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.is;
import org.jetbrains.annotations.NotNull;
import org.languagetool.Language;
import org.languagetool.UserConfig;
+import org.languagetool.language.Contributor;
import org.languagetool.rules.*;
import org.languagetool.rules.spelling.hunspell.HunspellNoSuggestionRule;
import org.languagetool.tagging.Tagger;
@@ -55,7 +56,7 @@ public String[] getCountries() {
@Override
public Contributor[] getMaintainers() {
- return new Contributor[] {new Contributor("Anton Karl Ingason")};
+ return new Contributor[] {new Contributor("Anton Karl Ingason", null)};
}
@NotNull
diff --git a/languagetool-language-modules/is/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/is/src/main/resources/META-INF/org/languagetool/language-module.properties
index c55bfd3069239..97f6f2a37b862 100644
--- a/languagetool-language-modules/is/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/is/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Icelandic
+languageClasses=org.languagetool.language.is.Icelandic
diff --git a/languagetool-language-modules/is/src/test/java/org/languagetool/IcelandicConcurrencyTest.java b/languagetool-language-modules/is/src/test/java/org/languagetool/IcelandicConcurrencyTest.java
index c9ed7de16b948..8e6da62967125 100644
--- a/languagetool-language-modules/is/src/test/java/org/languagetool/IcelandicConcurrencyTest.java
+++ b/languagetool-language-modules/is/src/test/java/org/languagetool/IcelandicConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Icelandic;
+import org.languagetool.language.is.Icelandic;
public class IcelandicConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/it/pom.xml b/languagetool-language-modules/it/pom.xml
index eb6350fe51088..328e52f9452c1 100644
--- a/languagetool-language-modules/it/pom.xml
+++ b/languagetool-language-modules/it/pom.xml
@@ -73,6 +73,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.it
+
+
+
+
diff --git a/languagetool-language-modules/it/src/main/java/org/languagetool/language/Italian.java b/languagetool-language-modules/it/src/main/java/org/languagetool/language/it/Italian.java
similarity index 96%
rename from languagetool-language-modules/it/src/main/java/org/languagetool/language/Italian.java
rename to languagetool-language-modules/it/src/main/java/org/languagetool/language/it/Italian.java
index 29b4124ca3d13..2567d3a089efe 100644
--- a/languagetool-language-modules/it/src/main/java/org/languagetool/language/Italian.java
+++ b/languagetool-language-modules/it/src/main/java/org/languagetool/language/it/Italian.java
@@ -16,11 +16,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.it;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
+import org.languagetool.language.Contributor;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.*;
import org.languagetool.rules.it.*;
@@ -70,7 +71,7 @@ public SentenceTokenizer createDefaultSentenceTokenizer() {
@Override
public Contributor[] getMaintainers() {
- Contributor contributor = new Contributor("Paolo Bianchini");
+ Contributor contributor = new Contributor("Paolo Bianchini", null);
return new Contributor[] { contributor };
}
diff --git a/languagetool-language-modules/it/src/main/java/org/languagetool/tagging/disambiguation/rules/it/ItalianRuleDisambiguator.java b/languagetool-language-modules/it/src/main/java/org/languagetool/tagging/disambiguation/rules/it/ItalianRuleDisambiguator.java
index 912da49c0e49f..c371388f59bbb 100644
--- a/languagetool-language-modules/it/src/main/java/org/languagetool/tagging/disambiguation/rules/it/ItalianRuleDisambiguator.java
+++ b/languagetool-language-modules/it/src/main/java/org/languagetool/tagging/disambiguation/rules/it/ItalianRuleDisambiguator.java
@@ -21,7 +21,7 @@
import java.io.IOException;
import org.languagetool.AnalyzedSentence;
-import org.languagetool.language.Italian;
+import org.languagetool.language.it.Italian;
import org.languagetool.tagging.disambiguation.AbstractDisambiguator;
import org.languagetool.tagging.disambiguation.Disambiguator;
import org.languagetool.tagging.disambiguation.rules.XmlRuleDisambiguator;
diff --git a/languagetool-language-modules/it/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/it/src/main/resources/META-INF/org/languagetool/language-module.properties
index b911037041089..7a131aa1ca293 100644
--- a/languagetool-language-modules/it/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/it/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Italian
+languageClasses=org.languagetool.language.it.Italian
diff --git a/languagetool-language-modules/it/src/test/java/org/languagetool/ItalianConcurrencyTest.java b/languagetool-language-modules/it/src/test/java/org/languagetool/ItalianConcurrencyTest.java
index 0184900f3767d..e7e06558c2070 100644
--- a/languagetool-language-modules/it/src/test/java/org/languagetool/ItalianConcurrencyTest.java
+++ b/languagetool-language-modules/it/src/test/java/org/languagetool/ItalianConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Italian;
+import org.languagetool.language.it.Italian;
public class ItalianConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/it/src/test/java/org/languagetool/rules/it/ItalianTest.java b/languagetool-language-modules/it/src/test/java/org/languagetool/rules/it/ItalianTest.java
index 1fb648f0921f7..6f71990983faf 100644
--- a/languagetool-language-modules/it/src/test/java/org/languagetool/rules/it/ItalianTest.java
+++ b/languagetool-language-modules/it/src/test/java/org/languagetool/rules/it/ItalianTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Italian;
+import org.languagetool.language.it.Italian;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/it/src/test/java/org/languagetool/rules/it/ItalianWordRepeatRuleTest.java b/languagetool-language-modules/it/src/test/java/org/languagetool/rules/it/ItalianWordRepeatRuleTest.java
index 55d0b8861e814..a4d2f7be68214 100644
--- a/languagetool-language-modules/it/src/test/java/org/languagetool/rules/it/ItalianWordRepeatRuleTest.java
+++ b/languagetool-language-modules/it/src/test/java/org/languagetool/rules/it/ItalianWordRepeatRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Italian;
+import org.languagetool.language.it.Italian;
import java.io.IOException;
diff --git a/languagetool-language-modules/it/src/test/java/org/languagetool/rules/it/MorfologikItalianSpellerRuleTest.java b/languagetool-language-modules/it/src/test/java/org/languagetool/rules/it/MorfologikItalianSpellerRuleTest.java
index ed4ef7ba2253f..7f06f1b2630b5 100644
--- a/languagetool-language-modules/it/src/test/java/org/languagetool/rules/it/MorfologikItalianSpellerRuleTest.java
+++ b/languagetool-language-modules/it/src/test/java/org/languagetool/rules/it/MorfologikItalianSpellerRuleTest.java
@@ -24,7 +24,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Italian;
+import org.languagetool.language.it.Italian;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/it/src/test/java/org/languagetool/tagging/it/ItalianTaggerTest.java b/languagetool-language-modules/it/src/test/java/org/languagetool/tagging/it/ItalianTaggerTest.java
index 556079f1ee7dd..13e1c62471641 100644
--- a/languagetool-language-modules/it/src/test/java/org/languagetool/tagging/it/ItalianTaggerTest.java
+++ b/languagetool-language-modules/it/src/test/java/org/languagetool/tagging/it/ItalianTaggerTest.java
@@ -21,7 +21,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Italian;
+import org.languagetool.language.it.Italian;
import org.languagetool.tokenizers.WordTokenizer;
import java.io.IOException;
diff --git a/languagetool-language-modules/it/src/test/java/org/languagetool/tokenizers/it/ItalianSRXSentenceTokenizerTest.java b/languagetool-language-modules/it/src/test/java/org/languagetool/tokenizers/it/ItalianSRXSentenceTokenizerTest.java
index f0c33e1cc7d9f..0e97f9aca789e 100644
--- a/languagetool-language-modules/it/src/test/java/org/languagetool/tokenizers/it/ItalianSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/it/src/test/java/org/languagetool/tokenizers/it/ItalianSRXSentenceTokenizerTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Italian;
+import org.languagetool.language.it.Italian;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
public class ItalianSRXSentenceTokenizerTest {
diff --git a/languagetool-language-modules/ja/pom.xml b/languagetool-language-modules/ja/pom.xml
index 12dfea7942b23..a9aaf428c22ca 100644
--- a/languagetool-language-modules/ja/pom.xml
+++ b/languagetool-language-modules/ja/pom.xml
@@ -76,6 +76,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.ja
+
+
+
+
diff --git a/languagetool-language-modules/ja/src/main/java/org/languagetool/language/Japanese.java b/languagetool-language-modules/ja/src/main/java/org/languagetool/language/ja/Japanese.java
similarity index 94%
rename from languagetool-language-modules/ja/src/main/java/org/languagetool/language/Japanese.java
rename to languagetool-language-modules/ja/src/main/java/org/languagetool/language/ja/Japanese.java
index 31566bdbfea1b..9787799c30548 100644
--- a/languagetool-language-modules/ja/src/main/java/org/languagetool/language/Japanese.java
+++ b/languagetool-language-modules/ja/src/main/java/org/languagetool/language/ja/Japanese.java
@@ -1,84 +1,85 @@
-/* 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.language;
-
-import org.jetbrains.annotations.NotNull;
-import org.languagetool.Language;
-import org.languagetool.UserConfig;
-import org.languagetool.rules.*;
-import org.languagetool.tagging.Tagger;
-import org.languagetool.tagging.ja.JapaneseTagger;
-import org.languagetool.tokenizers.*;
-import org.languagetool.tokenizers.ja.JapaneseWordTokenizer;
-
-import java.util.*;
-
-public class Japanese extends Language {
-
- @Override
- public String getShortCode() {
- return "ja";
- }
-
- @Override
- public String getName() {
- return "Japanese";
- }
-
- @Override
- public String[] getCountries() {
- return new String[] { "JP" };
- }
-
- @Override
- public String getCommonWordsPath() {
- // TODO: provide common words file
- return null;
- }
-
- @Override
- public Contributor[] getMaintainers() {
- return new Contributor[] { new Contributor("Takahiro Shinkai")};
- }
-
- @Override
- public List getRelevantRules(ResourceBundle messages, UserConfig userConfig, Language motherTongue, List altLanguages) {
- return Arrays.asList(
- new DoublePunctuationRule(messages),
- new MultipleWhitespaceRule(messages, this)
- );
- }
-
- @NotNull
- @Override
- public Tagger createDefaultTagger() {
- return new JapaneseTagger();
- }
-
- @Override
- public Tokenizer createDefaultWordTokenizer() {
- return new JapaneseWordTokenizer();
- }
-
- @Override
- public SentenceTokenizer createDefaultSentenceTokenizer() {
- return new SRXSentenceTokenizer(this);
- }
-
-}
+/* 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.language.ja;
+
+import org.jetbrains.annotations.NotNull;
+import org.languagetool.Language;
+import org.languagetool.UserConfig;
+import org.languagetool.language.Contributor;
+import org.languagetool.rules.*;
+import org.languagetool.tagging.Tagger;
+import org.languagetool.tagging.ja.JapaneseTagger;
+import org.languagetool.tokenizers.*;
+import org.languagetool.tokenizers.ja.JapaneseWordTokenizer;
+
+import java.util.*;
+
+public class Japanese extends Language {
+
+ @Override
+ public String getShortCode() {
+ return "ja";
+ }
+
+ @Override
+ public String getName() {
+ return "Japanese";
+ }
+
+ @Override
+ public String[] getCountries() {
+ return new String[] { "JP" };
+ }
+
+ @Override
+ public String getCommonWordsPath() {
+ // TODO: provide common words file
+ return null;
+ }
+
+ @Override
+ public Contributor[] getMaintainers() {
+ return new Contributor[] { new Contributor("Takahiro Shinkai", null)};
+ }
+
+ @Override
+ public List getRelevantRules(ResourceBundle messages, UserConfig userConfig, Language motherTongue, List altLanguages) {
+ return Arrays.asList(
+ new DoublePunctuationRule(messages),
+ new MultipleWhitespaceRule(messages, this)
+ );
+ }
+
+ @NotNull
+ @Override
+ public Tagger createDefaultTagger() {
+ return new JapaneseTagger();
+ }
+
+ @Override
+ public Tokenizer createDefaultWordTokenizer() {
+ return new JapaneseWordTokenizer();
+ }
+
+ @Override
+ public SentenceTokenizer createDefaultSentenceTokenizer() {
+ return new SRXSentenceTokenizer(this);
+ }
+
+}
diff --git a/languagetool-language-modules/ja/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/ja/src/main/resources/META-INF/org/languagetool/language-module.properties
index 4beb394d65eda..146bfcc48e85c 100644
--- a/languagetool-language-modules/ja/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/ja/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Japanese
+languageClasses=org.languagetool.language.ja.Japanese
diff --git a/languagetool-language-modules/ja/src/test/java/org/languagetool/JLanguageToolTest.java b/languagetool-language-modules/ja/src/test/java/org/languagetool/JLanguageToolTest.java
index 36174b6bb633c..e905f08b4ae30 100644
--- a/languagetool-language-modules/ja/src/test/java/org/languagetool/JLanguageToolTest.java
+++ b/languagetool-language-modules/ja/src/test/java/org/languagetool/JLanguageToolTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.junit.Test;
-import org.languagetool.language.Japanese;
+import org.languagetool.language.ja.Japanese;
import java.io.IOException;
diff --git a/languagetool-language-modules/ja/src/test/java/org/languagetool/JapaneseConcurrencyTest.java b/languagetool-language-modules/ja/src/test/java/org/languagetool/JapaneseConcurrencyTest.java
index 40d7ebdf335b7..53efe32bb95f7 100644
--- a/languagetool-language-modules/ja/src/test/java/org/languagetool/JapaneseConcurrencyTest.java
+++ b/languagetool-language-modules/ja/src/test/java/org/languagetool/JapaneseConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Japanese;
+import org.languagetool.language.ja.Japanese;
public class JapaneseConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/ja/src/test/java/org/languagetool/rules/ja/JapaneseTest.java b/languagetool-language-modules/ja/src/test/java/org/languagetool/rules/ja/JapaneseTest.java
index 8fb587f5a5387..95b5fb42e0c92 100644
--- a/languagetool-language-modules/ja/src/test/java/org/languagetool/rules/ja/JapaneseTest.java
+++ b/languagetool-language-modules/ja/src/test/java/org/languagetool/rules/ja/JapaneseTest.java
@@ -20,10 +20,9 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Japanese;
+import org.languagetool.language.ja.Japanese;
import java.io.IOException;
-import java.util.Arrays;
public class JapaneseTest extends LanguageSpecificTest {
diff --git a/languagetool-language-modules/ja/src/test/java/org/languagetool/tokenizers/ja/JapaneseSRXSentenceTokenizerTest.java b/languagetool-language-modules/ja/src/test/java/org/languagetool/tokenizers/ja/JapaneseSRXSentenceTokenizerTest.java
index 14f928ba2bc1a..25f52a71dd8b8 100644
--- a/languagetool-language-modules/ja/src/test/java/org/languagetool/tokenizers/ja/JapaneseSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/ja/src/test/java/org/languagetool/tokenizers/ja/JapaneseSRXSentenceTokenizerTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Japanese;
+import org.languagetool.language.ja.Japanese;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
public class JapaneseSRXSentenceTokenizerTest {
diff --git a/languagetool-language-modules/km/pom.xml b/languagetool-language-modules/km/pom.xml
index e733372871439..f80ccd3651cfa 100644
--- a/languagetool-language-modules/km/pom.xml
+++ b/languagetool-language-modules/km/pom.xml
@@ -67,6 +67,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.km
+
+
+
+
diff --git a/languagetool-language-modules/km/src/main/java/org/languagetool/language/Khmer.java b/languagetool-language-modules/km/src/main/java/org/languagetool/language/km/Khmer.java
similarity index 93%
rename from languagetool-language-modules/km/src/main/java/org/languagetool/language/Khmer.java
rename to languagetool-language-modules/km/src/main/java/org/languagetool/language/km/Khmer.java
index c3e48f74e8e3c..d61f91277fc5c 100644
--- a/languagetool-language-modules/km/src/main/java/org/languagetool/language/Khmer.java
+++ b/languagetool-language-modules/km/src/main/java/org/languagetool/language/km/Khmer.java
@@ -1,105 +1,106 @@
-/* LanguageTool, a natural language style checker
- * Copyright (C) 2007 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.language;
-
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-import org.languagetool.Language;
-import org.languagetool.UserConfig;
-import org.languagetool.rules.Rule;
-import org.languagetool.rules.km.*;
-import org.languagetool.rules.spelling.SpellingCheckRule;
-import org.languagetool.rules.spelling.hunspell.HunspellRule;
-import org.languagetool.tagging.Tagger;
-import org.languagetool.tagging.disambiguation.Disambiguator;
-import org.languagetool.tagging.disambiguation.rules.XmlRuleDisambiguator;
-import org.languagetool.tagging.km.KhmerTagger;
-import org.languagetool.tokenizers.*;
-import org.languagetool.tokenizers.km.KhmerWordTokenizer;
-
-import java.io.IOException;
-import java.util.*;
-
-public class Khmer extends Language {
-
- @Override
- public String getName() {
- return "Khmer";
- }
-
- @Override
- public String getShortCode() {
- return "km";
- }
-
- @Override
- public String[] getCountries() {
- return new String[]{"KH"};
- }
-
- @Override
- public String getCommonWordsPath() {
- // TODO: provide common words file
- return null;
- }
-
- @NotNull
- @Override
- public Tagger createDefaultTagger() {
- return new KhmerTagger();
- }
-
- @Override
- public SentenceTokenizer createDefaultSentenceTokenizer() {
- return new SRXSentenceTokenizer(this);
- }
-
- @Override
- public Tokenizer createDefaultWordTokenizer() {
- return new KhmerWordTokenizer();
- }
-
- @Override
- public Disambiguator createDefaultDisambiguator() {
- return new XmlRuleDisambiguator(this);
- }
-
- @Override
- public Contributor[] getMaintainers() {
- return new Contributor[] {new Contributor("Nathan Wells")};
- }
-
- @Override
- public List getRelevantRules(ResourceBundle messages, UserConfig userConfig, Language motherTongue, List altLanguages) throws IOException {
- return Arrays.asList(
- new KhmerHunspellRule(messages, userConfig),
- // specific to Khmer:
- new KhmerSimpleReplaceRule(messages),
- new KhmerWordRepeatRule(messages, this),
- new KhmerUnpairedBracketsRule(messages, this),
- new KhmerSpaceBeforeRule(messages, this)
- );
- }
-
- @Nullable
- @Override
- protected SpellingCheckRule createDefaultSpellingRule(ResourceBundle messages) throws IOException {
- return new KhmerHunspellRule(messages, null);
- }
-}
+/* LanguageTool, a natural language style checker
+ * Copyright (C) 2007 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.language.km;
+
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+import org.languagetool.Language;
+import org.languagetool.UserConfig;
+import org.languagetool.language.Contributor;
+import org.languagetool.rules.Rule;
+import org.languagetool.rules.km.*;
+import org.languagetool.rules.spelling.SpellingCheckRule;
+import org.languagetool.rules.spelling.hunspell.HunspellRule;
+import org.languagetool.tagging.Tagger;
+import org.languagetool.tagging.disambiguation.Disambiguator;
+import org.languagetool.tagging.disambiguation.rules.XmlRuleDisambiguator;
+import org.languagetool.tagging.km.KhmerTagger;
+import org.languagetool.tokenizers.*;
+import org.languagetool.tokenizers.km.KhmerWordTokenizer;
+
+import java.io.IOException;
+import java.util.*;
+
+public class Khmer extends Language {
+
+ @Override
+ public String getName() {
+ return "Khmer";
+ }
+
+ @Override
+ public String getShortCode() {
+ return "km";
+ }
+
+ @Override
+ public String[] getCountries() {
+ return new String[]{"KH"};
+ }
+
+ @Override
+ public String getCommonWordsPath() {
+ // TODO: provide common words file
+ return null;
+ }
+
+ @NotNull
+ @Override
+ public Tagger createDefaultTagger() {
+ return new KhmerTagger();
+ }
+
+ @Override
+ public SentenceTokenizer createDefaultSentenceTokenizer() {
+ return new SRXSentenceTokenizer(this);
+ }
+
+ @Override
+ public Tokenizer createDefaultWordTokenizer() {
+ return new KhmerWordTokenizer();
+ }
+
+ @Override
+ public Disambiguator createDefaultDisambiguator() {
+ return new XmlRuleDisambiguator(this);
+ }
+
+ @Override
+ public Contributor[] getMaintainers() {
+ return new Contributor[] {new Contributor("Nathan Wells", null)};
+ }
+
+ @Override
+ public List getRelevantRules(ResourceBundle messages, UserConfig userConfig, Language motherTongue, List altLanguages) throws IOException {
+ return Arrays.asList(
+ new KhmerHunspellRule(messages, userConfig),
+ // specific to Khmer:
+ new KhmerSimpleReplaceRule(messages),
+ new KhmerWordRepeatRule(messages, this),
+ new KhmerUnpairedBracketsRule(messages, this),
+ new KhmerSpaceBeforeRule(messages, this)
+ );
+ }
+
+ @Nullable
+ @Override
+ protected SpellingCheckRule createDefaultSpellingRule(ResourceBundle messages) throws IOException {
+ return new KhmerHunspellRule(messages, null);
+ }
+}
diff --git a/languagetool-language-modules/km/src/main/java/org/languagetool/rules/km/KhmerHunspellRule.java b/languagetool-language-modules/km/src/main/java/org/languagetool/rules/km/KhmerHunspellRule.java
index f27ccd7c48cf2..1cfe3cbe9b74b 100644
--- a/languagetool-language-modules/km/src/main/java/org/languagetool/rules/km/KhmerHunspellRule.java
+++ b/languagetool-language-modules/km/src/main/java/org/languagetool/rules/km/KhmerHunspellRule.java
@@ -20,7 +20,7 @@
package org.languagetool.rules.km;
import org.languagetool.UserConfig;
-import org.languagetool.language.Khmer;
+import org.languagetool.language.km.Khmer;
import org.languagetool.rules.spelling.hunspell.HunspellRule;
import java.util.ResourceBundle;
diff --git a/languagetool-language-modules/km/src/main/java/org/languagetool/rules/km/KhmerSimpleReplaceRule.java b/languagetool-language-modules/km/src/main/java/org/languagetool/rules/km/KhmerSimpleReplaceRule.java
index f13a450782bad..2473d9b6474b8 100644
--- a/languagetool-language-modules/km/src/main/java/org/languagetool/rules/km/KhmerSimpleReplaceRule.java
+++ b/languagetool-language-modules/km/src/main/java/org/languagetool/rules/km/KhmerSimpleReplaceRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.km;
-import org.languagetool.language.Khmer;
+import org.languagetool.language.km.Khmer;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
diff --git a/languagetool-language-modules/km/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/km/src/main/resources/META-INF/org/languagetool/language-module.properties
index 36259df5b3f82..884e5dd08a776 100644
--- a/languagetool-language-modules/km/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/km/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Khmer
+languageClasses=org.languagetool.language.km.Khmer
diff --git a/languagetool-language-modules/km/src/test/java/org/languagetool/KhmerConcurrencyTest.java b/languagetool-language-modules/km/src/test/java/org/languagetool/KhmerConcurrencyTest.java
index dfaa572ec2c11..21ae8cd56fc79 100644
--- a/languagetool-language-modules/km/src/test/java/org/languagetool/KhmerConcurrencyTest.java
+++ b/languagetool-language-modules/km/src/test/java/org/languagetool/KhmerConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Khmer;
+import org.languagetool.language.km.Khmer;
public class KhmerConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/km/src/test/java/org/languagetool/rules/km/KhmerSpaceBeforeRuleTest.java b/languagetool-language-modules/km/src/test/java/org/languagetool/rules/km/KhmerSpaceBeforeRuleTest.java
index d30194fbb510f..c68a22e380f77 100644
--- a/languagetool-language-modules/km/src/test/java/org/languagetool/rules/km/KhmerSpaceBeforeRuleTest.java
+++ b/languagetool-language-modules/km/src/test/java/org/languagetool/rules/km/KhmerSpaceBeforeRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Khmer;
+import org.languagetool.language.km.Khmer;
import java.io.IOException;
diff --git a/languagetool-language-modules/km/src/test/java/org/languagetool/rules/km/KhmerTest.java b/languagetool-language-modules/km/src/test/java/org/languagetool/rules/km/KhmerTest.java
index 7af9edae3c6f7..47b750f3b661c 100644
--- a/languagetool-language-modules/km/src/test/java/org/languagetool/rules/km/KhmerTest.java
+++ b/languagetool-language-modules/km/src/test/java/org/languagetool/rules/km/KhmerTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Khmer;
+import org.languagetool.language.km.Khmer;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/km/src/test/java/org/languagetool/rules/km/KhmerWordRepeatRuleTest.java b/languagetool-language-modules/km/src/test/java/org/languagetool/rules/km/KhmerWordRepeatRuleTest.java
index 198681021853b..dda1ce2b30c62 100644
--- a/languagetool-language-modules/km/src/test/java/org/languagetool/rules/km/KhmerWordRepeatRuleTest.java
+++ b/languagetool-language-modules/km/src/test/java/org/languagetool/rules/km/KhmerWordRepeatRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Khmer;
+import org.languagetool.language.km.Khmer;
import java.io.IOException;
diff --git a/languagetool-language-modules/lt/pom.xml b/languagetool-language-modules/lt/pom.xml
index 6342bead69663..5b20fcc93ca3c 100644
--- a/languagetool-language-modules/lt/pom.xml
+++ b/languagetool-language-modules/lt/pom.xml
@@ -67,6 +67,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.lt
+
+
+
+
diff --git a/languagetool-language-modules/lt/src/main/java/org/languagetool/language/Lithuanian.java b/languagetool-language-modules/lt/src/main/java/org/languagetool/language/lt/Lithuanian.java
similarity index 96%
rename from languagetool-language-modules/lt/src/main/java/org/languagetool/language/Lithuanian.java
rename to languagetool-language-modules/lt/src/main/java/org/languagetool/language/lt/Lithuanian.java
index 57918881f6ee4..69f90423b2534 100644
--- a/languagetool-language-modules/lt/src/main/java/org/languagetool/language/Lithuanian.java
+++ b/languagetool-language-modules/lt/src/main/java/org/languagetool/language/lt/Lithuanian.java
@@ -16,11 +16,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.lt;
import org.jetbrains.annotations.NotNull;
import org.languagetool.Language;
import org.languagetool.UserConfig;
+import org.languagetool.language.Contributor;
import org.languagetool.rules.*;
import org.languagetool.rules.lt.MorfologikLithuanianSpellerRule;
import org.languagetool.tagging.Tagger;
@@ -65,7 +66,7 @@ public Tagger createDefaultTagger() {
@Override
public Contributor[] getMaintainers() {
- return new Contributor[] {new Contributor("Mantas Kriaučiūnas")};
+ return new Contributor[] {new Contributor("Mantas Kriaučiūnas", null)};
}
@Override
diff --git a/languagetool-language-modules/lt/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/lt/src/main/resources/META-INF/org/languagetool/language-module.properties
index 4600775dd3203..1cdf15d1bc04f 100644
--- a/languagetool-language-modules/lt/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/lt/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Lithuanian
+languageClasses=org.languagetool.language.lt.Lithuanian
diff --git a/languagetool-language-modules/lt/src/test/java/org/languagetool/LithuanianConcurrencyTest.java b/languagetool-language-modules/lt/src/test/java/org/languagetool/LithuanianConcurrencyTest.java
index f94af26f5529f..86a33acf8fc9f 100644
--- a/languagetool-language-modules/lt/src/test/java/org/languagetool/LithuanianConcurrencyTest.java
+++ b/languagetool-language-modules/lt/src/test/java/org/languagetool/LithuanianConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Lithuanian;
+import org.languagetool.language.lt.Lithuanian;
public class LithuanianConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/lt/src/test/java/org/languagetool/tokenizers/lt/LithuanianSRXSentenceTokenizerTest.java b/languagetool-language-modules/lt/src/test/java/org/languagetool/tokenizers/lt/LithuanianSRXSentenceTokenizerTest.java
index c642b39f0a243..ea186e8e72ec0 100644
--- a/languagetool-language-modules/lt/src/test/java/org/languagetool/tokenizers/lt/LithuanianSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/lt/src/test/java/org/languagetool/tokenizers/lt/LithuanianSRXSentenceTokenizerTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Lithuanian;
+import org.languagetool.language.lt.Lithuanian;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
public class LithuanianSRXSentenceTokenizerTest {
diff --git a/languagetool-language-modules/ml/pom.xml b/languagetool-language-modules/ml/pom.xml
index 7efd8d58f1672..79fcc25ecc14b 100644
--- a/languagetool-language-modules/ml/pom.xml
+++ b/languagetool-language-modules/ml/pom.xml
@@ -1,4 +1,5 @@
+
4.0.0
@@ -67,6 +68,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.ml
+
+
+
+
diff --git a/languagetool-language-modules/ml/src/main/java/org/languagetool/language/Malayalam.java b/languagetool-language-modules/ml/src/main/java/org/languagetool/language/ml/Malayalam.java
similarity index 94%
rename from languagetool-language-modules/ml/src/main/java/org/languagetool/language/Malayalam.java
rename to languagetool-language-modules/ml/src/main/java/org/languagetool/language/ml/Malayalam.java
index d9682da2d3d1a..a809222894971 100644
--- a/languagetool-language-modules/ml/src/main/java/org/languagetool/language/Malayalam.java
+++ b/languagetool-language-modules/ml/src/main/java/org/languagetool/language/ml/Malayalam.java
@@ -16,11 +16,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.ml;
import org.jetbrains.annotations.NotNull;
import org.languagetool.Language;
import org.languagetool.UserConfig;
+import org.languagetool.language.Contributor;
import org.languagetool.rules.*;
import org.languagetool.rules.ml.MorfologikMalayalamSpellerRule;
import org.languagetool.tagging.Tagger;
@@ -70,7 +71,7 @@ public Tagger createDefaultTagger() {
@Override
public Contributor[] getMaintainers() {
- return new Contributor[] { new Contributor("Jithesh.V.S") };
+ return new Contributor[] { new Contributor("Jithesh.V.S", null) };
}
@Override
diff --git a/languagetool-language-modules/ml/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/ml/src/main/resources/META-INF/org/languagetool/language-module.properties
index 6b2f168012e1d..95dd0fb2a695c 100644
--- a/languagetool-language-modules/ml/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/ml/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Malayalam
+languageClasses=org.languagetool.language.ml.Malayalam
diff --git a/languagetool-language-modules/ml/src/test/java/org/languagetool/MalayalamConcurrencyTest.java b/languagetool-language-modules/ml/src/test/java/org/languagetool/MalayalamConcurrencyTest.java
index cb2afbbcef293..00ceae7081a2a 100644
--- a/languagetool-language-modules/ml/src/test/java/org/languagetool/MalayalamConcurrencyTest.java
+++ b/languagetool-language-modules/ml/src/test/java/org/languagetool/MalayalamConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Malayalam;
+import org.languagetool.language.ml.Malayalam;
public class MalayalamConcurrencyTest extends AbstractLanguageConcurrencyTest {
diff --git a/languagetool-language-modules/ml/src/test/java/org/languagetool/rules/ml/MorfologikMalayalamSpellerRuleTest.java b/languagetool-language-modules/ml/src/test/java/org/languagetool/rules/ml/MorfologikMalayalamSpellerRuleTest.java
index e519a38387a31..41492a3a58131 100644
--- a/languagetool-language-modules/ml/src/test/java/org/languagetool/rules/ml/MorfologikMalayalamSpellerRuleTest.java
+++ b/languagetool-language-modules/ml/src/test/java/org/languagetool/rules/ml/MorfologikMalayalamSpellerRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Malayalam;
+import org.languagetool.language.ml.Malayalam;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ml/src/test/java/org/languagetool/tokenizers/ml/MalayalamSRXSentenceTokenizerTest.java b/languagetool-language-modules/ml/src/test/java/org/languagetool/tokenizers/ml/MalayalamSRXSentenceTokenizerTest.java
index 1afd8d84ada4a..caa4dea526082 100644
--- a/languagetool-language-modules/ml/src/test/java/org/languagetool/tokenizers/ml/MalayalamSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/ml/src/test/java/org/languagetool/tokenizers/ml/MalayalamSRXSentenceTokenizerTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Malayalam;
+import org.languagetool.language.ml.Malayalam;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
public class MalayalamSRXSentenceTokenizerTest {
diff --git a/languagetool-language-modules/nl/pom.xml b/languagetool-language-modules/nl/pom.xml
index 31c5e542a8fe9..3de54cdaa3196 100644
--- a/languagetool-language-modules/nl/pom.xml
+++ b/languagetool-language-modules/nl/pom.xml
@@ -71,6 +71,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.nl
+
+
+
+
diff --git a/languagetool-language-modules/nl/src/main/java/org/languagetool/language/BelgianDutch.java b/languagetool-language-modules/nl/src/main/java/org/languagetool/language/nl/BelgianDutch.java
similarity index 97%
rename from languagetool-language-modules/nl/src/main/java/org/languagetool/language/BelgianDutch.java
rename to languagetool-language-modules/nl/src/main/java/org/languagetool/language/nl/BelgianDutch.java
index 1977f506854c9..08e81937fc5f7 100644
--- a/languagetool-language-modules/nl/src/main/java/org/languagetool/language/BelgianDutch.java
+++ b/languagetool-language-modules/nl/src/main/java/org/languagetool/language/nl/BelgianDutch.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.nl;
import org.languagetool.JLanguageTool;
diff --git a/languagetool-language-modules/nl/src/main/java/org/languagetool/language/Dutch.java b/languagetool-language-modules/nl/src/main/java/org/languagetool/language/nl/Dutch.java
similarity index 98%
rename from languagetool-language-modules/nl/src/main/java/org/languagetool/language/Dutch.java
rename to languagetool-language-modules/nl/src/main/java/org/languagetool/language/nl/Dutch.java
index c25bb77d6a095..58f01bc711ec9 100644
--- a/languagetool-language-modules/nl/src/main/java/org/languagetool/language/Dutch.java
+++ b/languagetool-language-modules/nl/src/main/java/org/languagetool/language/nl/Dutch.java
@@ -16,11 +16,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.nl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
+import org.languagetool.language.Contributor;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.*;
import org.languagetool.rules.nl.*;
diff --git a/languagetool-language-modules/nl/src/main/java/org/languagetool/rules/nl/DutchNumberInWordFilter.java b/languagetool-language-modules/nl/src/main/java/org/languagetool/rules/nl/DutchNumberInWordFilter.java
index 3f58e1eacbd3c..19500bd502cd0 100644
--- a/languagetool-language-modules/nl/src/main/java/org/languagetool/rules/nl/DutchNumberInWordFilter.java
+++ b/languagetool-language-modules/nl/src/main/java/org/languagetool/rules/nl/DutchNumberInWordFilter.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.nl;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import org.languagetool.rules.AbstractNumberInWordFilter;
import java.io.IOException;
diff --git a/languagetool-language-modules/nl/src/main/java/org/languagetool/rules/nl/DutchSuppressMisspelledSuggestionsFilter.java b/languagetool-language-modules/nl/src/main/java/org/languagetool/rules/nl/DutchSuppressMisspelledSuggestionsFilter.java
index c1069fc6decd1..21f8e469d29a1 100644
--- a/languagetool-language-modules/nl/src/main/java/org/languagetool/rules/nl/DutchSuppressMisspelledSuggestionsFilter.java
+++ b/languagetool-language-modules/nl/src/main/java/org/languagetool/rules/nl/DutchSuppressMisspelledSuggestionsFilter.java
@@ -20,7 +20,7 @@
package org.languagetool.rules.nl;
import java.io.IOException;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import org.languagetool.rules.AbstractSuppressMisspelledSuggestionsFilter;
public class DutchSuppressMisspelledSuggestionsFilter extends AbstractSuppressMisspelledSuggestionsFilter {
diff --git a/languagetool-language-modules/nl/src/main/java/org/languagetool/rules/nl/SimpleReplaceRule.java b/languagetool-language-modules/nl/src/main/java/org/languagetool/rules/nl/SimpleReplaceRule.java
index dd7adfe1c5976..04bf50799f4af 100644
--- a/languagetool-language-modules/nl/src/main/java/org/languagetool/rules/nl/SimpleReplaceRule.java
+++ b/languagetool-language-modules/nl/src/main/java/org/languagetool/rules/nl/SimpleReplaceRule.java
@@ -24,7 +24,7 @@
import java.util.Locale;
import java.util.ResourceBundle;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import org.languagetool.rules.*;
/**
diff --git a/languagetool-language-modules/nl/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/nl/src/main/resources/META-INF/org/languagetool/language-module.properties
index 88fb7492812ce..8e1685ea1907f 100644
--- a/languagetool-language-modules/nl/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/nl/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Dutch,org.languagetool.language.BelgianDutch
+languageClasses=org.languagetool.language.nl.Dutch,org.languagetool.language.nl.BelgianDutch
diff --git a/languagetool-language-modules/nl/src/test/java/org/languagetool/DutchConcurrencyTest.java b/languagetool-language-modules/nl/src/test/java/org/languagetool/DutchConcurrencyTest.java
index a035b2bbaa0f6..07b82d861264a 100644
--- a/languagetool-language-modules/nl/src/test/java/org/languagetool/DutchConcurrencyTest.java
+++ b/languagetool-language-modules/nl/src/test/java/org/languagetool/DutchConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
public class DutchConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/nl/src/test/java/org/languagetool/JLanguageToolTest.java b/languagetool-language-modules/nl/src/test/java/org/languagetool/JLanguageToolTest.java
index 86e44de585952..e9419227a9c5d 100644
--- a/languagetool-language-modules/nl/src/test/java/org/languagetool/JLanguageToolTest.java
+++ b/languagetool-language-modules/nl/src/test/java/org/languagetool/JLanguageToolTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.junit.Test;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import java.io.IOException;
diff --git a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/CheckCaseRuleTest.java b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/CheckCaseRuleTest.java
index 99794956f10b1..4bc358e86ebd2 100644
--- a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/CheckCaseRuleTest.java
+++ b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/CheckCaseRuleTest.java
@@ -26,7 +26,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import org.languagetool.rules.RuleMatch;
public class CheckCaseRuleTest {
diff --git a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/CompoundRuleTest.java b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/CompoundRuleTest.java
index aad08567debe7..147fe5201cb97 100644
--- a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/CompoundRuleTest.java
+++ b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/CompoundRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import org.languagetool.rules.AbstractCompoundRuleTest;
public class CompoundRuleTest extends AbstractCompoundRuleTest {
diff --git a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/DutchTest.java b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/DutchTest.java
index c264830e3c82f..c1e2dcf5f1b3b 100644
--- a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/DutchTest.java
+++ b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/DutchTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/DutchWrongWordInContextRuleTest.java b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/DutchWrongWordInContextRuleTest.java
index ab04051e80ffb..df8318fc6615c 100644
--- a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/DutchWrongWordInContextRuleTest.java
+++ b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/DutchWrongWordInContextRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Ignore;
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import java.io.IOException;
diff --git a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/GenericUnpairedBracketsRuleTest.java b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/GenericUnpairedBracketsRuleTest.java
index cdfb7af05f640..6b87052bf2853 100644
--- a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/GenericUnpairedBracketsRuleTest.java
+++ b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/GenericUnpairedBracketsRuleTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import org.languagetool.rules.GenericUnpairedBracketsRule;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/MorfologikDutchSpellerRuleTest.java b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/MorfologikDutchSpellerRuleTest.java
index f9f2313a11422..bab06a1f2287e 100644
--- a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/MorfologikDutchSpellerRuleTest.java
+++ b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/MorfologikDutchSpellerRuleTest.java
@@ -27,7 +27,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import org.languagetool.rules.RuleMatch;
public class MorfologikDutchSpellerRuleTest {
diff --git a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/SimpleReplaceRuleTest.java b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/SimpleReplaceRuleTest.java
index f2eb9b9b23c5e..cfd40551e2e30 100644
--- a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/SimpleReplaceRuleTest.java
+++ b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/SimpleReplaceRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/UppercaseSentenceStartRuleTest.java b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/UppercaseSentenceStartRuleTest.java
index 8941a578c5a24..7bac475374316 100644
--- a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/UppercaseSentenceStartRuleTest.java
+++ b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/UppercaseSentenceStartRuleTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import org.languagetool.rules.patterns.AbstractPatternRule;
import java.io.IOException;
diff --git a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/WordCoherencyRuleTest.java b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/WordCoherencyRuleTest.java
index c4836db1224b0..bb0d576208260 100644
--- a/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/WordCoherencyRuleTest.java
+++ b/languagetool-language-modules/nl/src/test/java/org/languagetool/rules/nl/WordCoherencyRuleTest.java
@@ -23,7 +23,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import java.io.IOException;
import java.util.List;
diff --git a/languagetool-language-modules/nl/src/test/java/org/languagetool/tagging/nl/DutchTaggerTest.java b/languagetool-language-modules/nl/src/test/java/org/languagetool/tagging/nl/DutchTaggerTest.java
index 5aedfe9a8ff40..98b55d7b2080a 100644
--- a/languagetool-language-modules/nl/src/test/java/org/languagetool/tagging/nl/DutchTaggerTest.java
+++ b/languagetool-language-modules/nl/src/test/java/org/languagetool/tagging/nl/DutchTaggerTest.java
@@ -23,7 +23,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import org.languagetool.tokenizers.WordTokenizer;
import org.languagetool.tokenizers.nl.DutchWordTokenizer;
diff --git a/languagetool-language-modules/nl/src/test/java/org/languagetool/tokenizers/nl/DutchSRXSentenceTokenizerTest.java b/languagetool-language-modules/nl/src/test/java/org/languagetool/tokenizers/nl/DutchSRXSentenceTokenizerTest.java
index 8370fa83d52be..81dbeeff8f5b8 100644
--- a/languagetool-language-modules/nl/src/test/java/org/languagetool/tokenizers/nl/DutchSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/nl/src/test/java/org/languagetool/tokenizers/nl/DutchSRXSentenceTokenizerTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Dutch;
+import org.languagetool.language.nl.Dutch;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
/**
diff --git a/languagetool-language-modules/pl/pom.xml b/languagetool-language-modules/pl/pom.xml
index 4441b0776f2ea..a3ba3f7edae15 100644
--- a/languagetool-language-modules/pl/pom.xml
+++ b/languagetool-language-modules/pl/pom.xml
@@ -67,6 +67,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.pl
+
+
+
+
diff --git a/languagetool-language-modules/pl/src/main/java/org/languagetool/language/Polish.java b/languagetool-language-modules/pl/src/main/java/org/languagetool/language/pl/Polish.java
similarity index 96%
rename from languagetool-language-modules/pl/src/main/java/org/languagetool/language/Polish.java
rename to languagetool-language-modules/pl/src/main/java/org/languagetool/language/pl/Polish.java
index 2a2e1aafe8a8f..fae61f218b33d 100644
--- a/languagetool-language-modules/pl/src/main/java/org/languagetool/language/Polish.java
+++ b/languagetool-language-modules/pl/src/main/java/org/languagetool/language/pl/Polish.java
@@ -16,11 +16,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.pl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
+import org.languagetool.language.Contributor;
+import org.languagetool.language.Contributors;
import org.languagetool.rules.*;
import org.languagetool.rules.pl.*;
import org.languagetool.rules.spelling.SpellingCheckRule;
diff --git a/languagetool-language-modules/pl/src/main/java/org/languagetool/tagging/disambiguation/pl/PolishHybridDisambiguator.java b/languagetool-language-modules/pl/src/main/java/org/languagetool/tagging/disambiguation/pl/PolishHybridDisambiguator.java
index 14ed707a46a1b..23b7db721a8c9 100644
--- a/languagetool-language-modules/pl/src/main/java/org/languagetool/tagging/disambiguation/pl/PolishHybridDisambiguator.java
+++ b/languagetool-language-modules/pl/src/main/java/org/languagetool/tagging/disambiguation/pl/PolishHybridDisambiguator.java
@@ -21,7 +21,7 @@
import java.io.IOException;
import org.languagetool.AnalyzedSentence;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.tagging.disambiguation.AbstractDisambiguator;
import org.languagetool.tagging.disambiguation.Disambiguator;
import org.languagetool.tagging.disambiguation.MultiWordChunker;
diff --git a/languagetool-language-modules/pl/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/pl/src/main/resources/META-INF/org/languagetool/language-module.properties
index 7734bba3a4444..861acb3476eb3 100644
--- a/languagetool-language-modules/pl/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/pl/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Polish
+languageClasses=org.languagetool.language.pl.Polish
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/JLanguageToolTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/JLanguageToolTest.java
index 458be3063db7f..af9de48e0b4f2 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/JLanguageToolTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/JLanguageToolTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.junit.Test;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.AbstractPatternRule;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/PolishConcurrencyTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/PolishConcurrencyTest.java
index e452178196b18..6321484abeab7 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/PolishConcurrencyTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/PolishConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
public class PolishConcurrencyTest extends AbstractLanguageConcurrencyTest {
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/CompoundRuleTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/CompoundRuleTest.java
index 29f8b7857f3e5..fefffdff2562c 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/CompoundRuleTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/CompoundRuleTest.java
@@ -26,7 +26,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.rules.AbstractCompoundRuleTest;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/DashRuleTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/DashRuleTest.java
index dddd459aed940..3ae7764d4b181 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/DashRuleTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/DashRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.rules.Rule;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/MatchTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/MatchTest.java
index cd2b06aeb4151..7268711d9b678 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/MatchTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/MatchTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.rules.patterns.Match;
import org.languagetool.rules.patterns.Match.CaseConversion;
import org.languagetool.rules.patterns.Match.IncludeRange;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/MorfologikPolishSpellerRuleTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/MorfologikPolishSpellerRuleTest.java
index d426ad884a504..1435c5e23bead 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/MorfologikPolishSpellerRuleTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/MorfologikPolishSpellerRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/MultipleWhitespaceRuleTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/MultipleWhitespaceRuleTest.java
index 4dc4af1c4e372..6a72eeaac1484 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/MultipleWhitespaceRuleTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/MultipleWhitespaceRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.rules.MultipleWhitespaceRule;
import java.io.IOException;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/PolishTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/PolishTest.java
index 33617b931eeb3..f9c73d806586a 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/PolishTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/PolishTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/PolishUnpairedBracketsRuleTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/PolishUnpairedBracketsRuleTest.java
index 868cb815919d9..e1108cd86b2f0 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/PolishUnpairedBracketsRuleTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/PolishUnpairedBracketsRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import java.io.IOException;
import java.util.Collections;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/PolishWordRepeatRuleTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/PolishWordRepeatRuleTest.java
index d284bdc90b7d0..23a8f9a0240af 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/PolishWordRepeatRuleTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/PolishWordRepeatRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/SimpleReplaceRuleTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/SimpleReplaceRuleTest.java
index 9f0579f3dc46c..88927461166eb 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/SimpleReplaceRuleTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/SimpleReplaceRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/UppercaseSentenceStartRuleTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/UppercaseSentenceStartRuleTest.java
index a516d049a71af..54f762779eff7 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/UppercaseSentenceStartRuleTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/UppercaseSentenceStartRuleTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import java.io.IOException;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/WordRepeatRuleTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/WordRepeatRuleTest.java
index a731243c32186..743a3119e8da1 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/WordRepeatRuleTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/rules/pl/WordRepeatRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.WordRepeatRule;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/synthesis/pl/PolishSynthesizerTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/synthesis/pl/PolishSynthesizerTest.java
index b3a097741153d..82bac007cc8d1 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/synthesis/pl/PolishSynthesizerTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/synthesis/pl/PolishSynthesizerTest.java
@@ -21,7 +21,6 @@
import org.junit.Test;
import org.languagetool.AnalyzedToken;
-import org.languagetool.language.Polish;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/tagging/disambiguation/PolishDisambiguationRuleTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/tagging/disambiguation/PolishDisambiguationRuleTest.java
index 44df6576303d4..5ac3023a2755d 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/tagging/disambiguation/PolishDisambiguationRuleTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/tagging/disambiguation/PolishDisambiguationRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.tagging.pl.PolishTagger;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
import org.languagetool.tokenizers.SentenceTokenizer;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/tagging/pl/PolishTaggerTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/tagging/pl/PolishTaggerTest.java
index a75396f8b8e4b..f49180b8285c3 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/tagging/pl/PolishTaggerTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/tagging/pl/PolishTaggerTest.java
@@ -21,7 +21,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.tokenizers.WordTokenizer;
import java.io.IOException;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/tokenizers/pl/PolishSentenceTokenizerTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/tokenizers/pl/PolishSentenceTokenizerTest.java
index 6dbb11850a4df..380ae9d3348c3 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/tokenizers/pl/PolishSentenceTokenizerTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/tokenizers/pl/PolishSentenceTokenizerTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
import org.languagetool.tokenizers.SentenceTokenizer;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/tokenizers/pl/PolishWordTokenizerTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/tokenizers/pl/PolishWordTokenizerTest.java
index 5529df3bfaa8c..4af086bb4fbb0 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/tokenizers/pl/PolishWordTokenizerTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/tokenizers/pl/PolishWordTokenizerTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.Language;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import java.util.List;
diff --git a/languagetool-language-modules/pl/src/test/java/org/languagetool/tools/ToolsTest.java b/languagetool-language-modules/pl/src/test/java/org/languagetool/tools/ToolsTest.java
index 3352975fdd477..df95c7d568141 100644
--- a/languagetool-language-modules/pl/src/test/java/org/languagetool/tools/ToolsTest.java
+++ b/languagetool-language-modules/pl/src/test/java/org/languagetool/tools/ToolsTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Polish;
+import org.languagetool.language.pl.Polish;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/pt/pom.xml b/languagetool-language-modules/pt/pom.xml
index 391ec6fe487ff..e54747ae2e606 100644
--- a/languagetool-language-modules/pt/pom.xml
+++ b/languagetool-language-modules/pt/pom.xml
@@ -83,6 +83,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.pt
+
+
+
+
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/language/AngolaPortuguese.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/AngolaPortuguese.java
similarity index 97%
rename from languagetool-language-modules/pt/src/main/java/org/languagetool/language/AngolaPortuguese.java
rename to languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/AngolaPortuguese.java
index 7c1f8bac2c806..aa4f18ce20db4 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/language/AngolaPortuguese.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/AngolaPortuguese.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.pt;
import org.languagetool.Language;
import org.languagetool.UserConfig;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/language/BrazilianPortuguese.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/BrazilianPortuguese.java
similarity index 98%
rename from languagetool-language-modules/pt/src/main/java/org/languagetool/language/BrazilianPortuguese.java
rename to languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/BrazilianPortuguese.java
index e76ed3f374332..98b371ad2da17 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/language/BrazilianPortuguese.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/BrazilianPortuguese.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.pt;
import org.jetbrains.annotations.Nullable;
import org.languagetool.Language;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/language/MozambiquePortuguese.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/MozambiquePortuguese.java
similarity index 98%
rename from languagetool-language-modules/pt/src/main/java/org/languagetool/language/MozambiquePortuguese.java
rename to languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/MozambiquePortuguese.java
index 9f4d630dedc1a..749030ad46ac7 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/language/MozambiquePortuguese.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/MozambiquePortuguese.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.pt;
import org.languagetool.Language;
import org.languagetool.UserConfig;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/language/PortugalPortuguese.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/PortugalPortuguese.java
similarity index 98%
rename from languagetool-language-modules/pt/src/main/java/org/languagetool/language/PortugalPortuguese.java
rename to languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/PortugalPortuguese.java
index 74558273176ca..01bfeda447916 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/language/PortugalPortuguese.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/PortugalPortuguese.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.pt;
import org.jetbrains.annotations.Nullable;
import org.languagetool.Language;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/language/Portuguese.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/Portuguese.java
similarity index 98%
rename from languagetool-language-modules/pt/src/main/java/org/languagetool/language/Portuguese.java
rename to languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/Portuguese.java
index aeb6e84d53a1e..5766ad53d04a3 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/language/Portuguese.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/language/pt/Portuguese.java
@@ -16,11 +16,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.pt;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
+import org.languagetool.language.Contributor;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.*;
import org.languagetool.rules.pt.*;
@@ -69,7 +70,7 @@ public Language getDefaultLanguageVariant() {
public Contributor[] getMaintainers() {
return new Contributor[] {
new Contributor("Marco A.G. Pinto", "http://www.marcoagpinto.com/"),
- new Contributor("Susana Boatto (pt-BR)"),
+ new Contributor("Susana Boatto (pt-BR)", null),
new Contributor("Tiago F. Santos (3.6-4.7)", "https://github.com/TiagoSantos81"),
new Contributor("Matheus Poletto (pt-BR)", "https://github.com/MatheusPoletto")
};
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/BrazilianPortugueseReplaceRule.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/BrazilianPortugueseReplaceRule.java
index 5eb483e0fe42a..671fc5cc6bfe0 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/BrazilianPortugueseReplaceRule.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/BrazilianPortugueseReplaceRule.java
@@ -20,7 +20,6 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.Language;
-import org.languagetool.language.Portuguese;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/NoDisambiguationPortuguesePartialPosTagFilter.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/NoDisambiguationPortuguesePartialPosTagFilter.java
index 115c6c90ca56f..8d8d68e34735a 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/NoDisambiguationPortuguesePartialPosTagFilter.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/NoDisambiguationPortuguesePartialPosTagFilter.java
@@ -19,7 +19,7 @@
package org.languagetool.rules.pt;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.Portuguese;
+import org.languagetool.language.pt.Portuguese;
import org.languagetool.rules.PartialPosTagFilter;
import org.languagetool.tagging.Tagger;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugalPortugueseReplaceRule.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugalPortugueseReplaceRule.java
index 5102071a338a4..eeecb4fb862fe 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugalPortugueseReplaceRule.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugalPortugueseReplaceRule.java
@@ -20,7 +20,6 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.Language;
-import org.languagetool.language.Portuguese;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseArchaismsRule.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseArchaismsRule.java
index 72fd5878f35b3..5148028367140 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseArchaismsRule.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseArchaismsRule.java
@@ -19,7 +19,6 @@
package org.languagetool.rules.pt;
import org.languagetool.Language;
-import org.languagetool.language.Portuguese;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.ITSIssueType;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseBarbarismsRule.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseBarbarismsRule.java
index d200ec810d26f..83acc152760f7 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseBarbarismsRule.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseBarbarismsRule.java
@@ -20,7 +20,6 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.Language;
-import org.languagetool.language.Portuguese;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseClicheRule.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseClicheRule.java
index 9ed3653140ad8..5c246ab03279e 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseClicheRule.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseClicheRule.java
@@ -19,7 +19,6 @@
package org.languagetool.rules.pt;
import org.languagetool.Language;
-import org.languagetool.language.Portuguese;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseDiacriticsRule.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseDiacriticsRule.java
index c6fa90dc3d0fd..de4f37aad88d2 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseDiacriticsRule.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseDiacriticsRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.pt;
-import org.languagetool.language.Portuguese;
+import org.languagetool.language.pt.Portuguese;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseRedundancyRule.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseRedundancyRule.java
index 336d1f61661f9..f7423d14bdbe2 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseRedundancyRule.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseRedundancyRule.java
@@ -19,7 +19,6 @@
package org.languagetool.rules.pt;
import org.languagetool.Language;
-import org.languagetool.language.Portuguese;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseSuppressMisspelledSuggestionsFilter.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseSuppressMisspelledSuggestionsFilter.java
index 95c4eb4b950bb..40c70069d2b38 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseSuppressMisspelledSuggestionsFilter.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseSuppressMisspelledSuggestionsFilter.java
@@ -20,7 +20,7 @@
package org.languagetool.rules.pt;
import java.io.IOException;
-import org.languagetool.language.BrazilianPortuguese;
+import org.languagetool.language.pt.BrazilianPortuguese;
import org.languagetool.rules.AbstractSuppressMisspelledSuggestionsFilter;
public class PortugueseSuppressMisspelledSuggestionsFilter extends AbstractSuppressMisspelledSuggestionsFilter {
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseWeaselWordsRule.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseWeaselWordsRule.java
index 89f6f8e736126..26fede487ce07 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseWeaselWordsRule.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseWeaselWordsRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.pt;
-import org.languagetool.language.Portuguese;
+import org.languagetool.language.pt.Portuguese;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseWikipediaRule.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseWikipediaRule.java
index 9949aff614030..fef65cddc4d43 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseWikipediaRule.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseWikipediaRule.java
@@ -19,10 +19,8 @@
package org.languagetool.rules.pt;
import org.languagetool.Language;
-import org.languagetool.language.Portuguese;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
-import org.languagetool.rules.Example;
import org.languagetool.rules.ITSIssueType;
import org.languagetool.tools.Tools;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseWordinessRule.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseWordinessRule.java
index 2b00daf90466c..44f2acd7a66a5 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseWordinessRule.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/PortugueseWordinessRule.java
@@ -19,7 +19,6 @@
package org.languagetool.rules.pt;
import org.languagetool.Language;
-import org.languagetool.language.Portuguese;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
import org.languagetool.rules.Example;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/RegularIrregularParticipleFilter.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/RegularIrregularParticipleFilter.java
index 90f45493c65e4..70e165085b855 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/RegularIrregularParticipleFilter.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/RegularIrregularParticipleFilter.java
@@ -25,7 +25,7 @@
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.Language;
-import org.languagetool.language.Portuguese;
+import org.languagetool.language.pt.Portuguese;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.RuleFilter;
import org.languagetool.synthesis.pt.PortugueseSynthesizer;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/RomanNumeralFilter.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/RomanNumeralFilter.java
index 33963bd46b003..10b4618841cf6 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/RomanNumeralFilter.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/rules/pt/RomanNumeralFilter.java
@@ -19,12 +19,8 @@
package org.languagetool.rules.pt;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.BrazilianPortuguese;
-import org.languagetool.rules.AbstractAdvancedSynthesizerFilter;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.RuleFilter;
-import org.languagetool.synthesis.BaseSynthesizer;
-import org.languagetool.synthesis.Synthesizer;
import org.languagetool.synthesis.pt.PortugueseSynthesizer;
import java.util.Map;
diff --git a/languagetool-language-modules/pt/src/main/java/org/languagetool/tagging/disambiguation/pt/PortugueseHybridDisambiguator.java b/languagetool-language-modules/pt/src/main/java/org/languagetool/tagging/disambiguation/pt/PortugueseHybridDisambiguator.java
index b5e12e2c7fd7e..fc1446fbefe17 100644
--- a/languagetool-language-modules/pt/src/main/java/org/languagetool/tagging/disambiguation/pt/PortugueseHybridDisambiguator.java
+++ b/languagetool-language-modules/pt/src/main/java/org/languagetool/tagging/disambiguation/pt/PortugueseHybridDisambiguator.java
@@ -28,8 +28,6 @@
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.Language;
-import org.languagetool.language.PortugalPortuguese;
-import org.languagetool.language.Portuguese;
import org.languagetool.tagging.disambiguation.AbstractDisambiguator;
import org.languagetool.tagging.disambiguation.Disambiguator;
import org.languagetool.tagging.disambiguation.MultiWordChunker;
diff --git a/languagetool-language-modules/pt/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/pt/src/main/resources/META-INF/org/languagetool/language-module.properties
index ed51e82c74190..5b23434d54b43 100644
--- a/languagetool-language-modules/pt/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/pt/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1,2 +1,2 @@
# Note: post an pre reform are not listed here, see https://github.com/languagetool-org/languagetool/issues/96
-languageClasses=org.languagetool.language.Portuguese,org.languagetool.language.PortugalPortuguese,org.languagetool.language.BrazilianPortuguese,org.languagetool.language.AngolaPortuguese,org.languagetool.language.MozambiquePortuguese
+languageClasses=org.languagetool.language.pt.Portuguese,org.languagetool.language.pt.PortugalPortuguese,org.languagetool.language.pt.BrazilianPortuguese,org.languagetool.language.pt.AngolaPortuguese,org.languagetool.language.pt.MozambiquePortuguese
diff --git a/languagetool-language-modules/pt/src/test/java/org/languagetool/BrazilianPortugueseConcurrencyTest.java b/languagetool-language-modules/pt/src/test/java/org/languagetool/BrazilianPortugueseConcurrencyTest.java
index 20f84515b2830..99979022b9081 100644
--- a/languagetool-language-modules/pt/src/test/java/org/languagetool/BrazilianPortugueseConcurrencyTest.java
+++ b/languagetool-language-modules/pt/src/test/java/org/languagetool/BrazilianPortugueseConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.BrazilianPortuguese;
+import org.languagetool.language.pt.BrazilianPortuguese;
public class BrazilianPortugueseConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/pt/src/test/java/org/languagetool/PortugalPortugueseConcurrencyTest.java b/languagetool-language-modules/pt/src/test/java/org/languagetool/PortugalPortugueseConcurrencyTest.java
index 294194b6f1336..0a37fed818b99 100644
--- a/languagetool-language-modules/pt/src/test/java/org/languagetool/PortugalPortugueseConcurrencyTest.java
+++ b/languagetool-language-modules/pt/src/test/java/org/languagetool/PortugalPortugueseConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.PortugalPortuguese;
+import org.languagetool.language.pt.PortugalPortuguese;
public class PortugalPortugueseConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/AccentuationCheckRuleTest._java b/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/AccentuationCheckRuleTest._java
index c3f6c91439665..fd8ca65e8bbd4 100644
--- a/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/AccentuationCheckRuleTest._java
+++ b/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/AccentuationCheckRuleTest._java
@@ -22,7 +22,7 @@ import org.junit.Before;
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Portuguese;
+import org.languagetool.language.pt.Portuguese;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/BrazilianPortugueseSimpleReplaceRuleTest.java b/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/BrazilianPortugueseSimpleReplaceRuleTest.java
index 70e10316faaa9..163e120c25cc0 100644
--- a/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/BrazilianPortugueseSimpleReplaceRuleTest.java
+++ b/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/BrazilianPortugueseSimpleReplaceRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Portuguese;
+import org.languagetool.language.pt.Portuguese;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseClicheRuleTest.java b/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseClicheRuleTest.java
index de1f3da51fb64..f68cae8197b75 100644
--- a/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseClicheRuleTest.java
+++ b/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseClicheRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Portuguese;
+import org.languagetool.language.pt.Portuguese;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseDiacriticsRuleTest.java b/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseDiacriticsRuleTest.java
index 4b37f976e1664..3c20cf2119a26 100644
--- a/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseDiacriticsRuleTest.java
+++ b/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseDiacriticsRuleTest.java
@@ -20,10 +20,9 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.Languages;
import org.languagetool.TestTools;
-import org.languagetool.language.BrazilianPortuguese;
-import org.languagetool.language.PortugalPortuguese;
+import org.languagetool.language.pt.BrazilianPortuguese;
+import org.languagetool.language.pt.PortugalPortuguese;
import org.languagetool.markup.AnnotatedTextBuilder;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseTest.java b/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseTest.java
index 834177e76ae7d..c10c2845e3e20 100644
--- a/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseTest.java
+++ b/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseTest.java
@@ -20,8 +20,8 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.BrazilianPortuguese;
-import org.languagetool.language.PortugalPortuguese;
+import org.languagetool.language.pt.BrazilianPortuguese;
+import org.languagetool.language.pt.PortugalPortuguese;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseWordRepeatBeginningRuleTest.java b/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseWordRepeatBeginningRuleTest.java
index 7403b875061d7..995c07e718d7c 100644
--- a/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseWordRepeatBeginningRuleTest.java
+++ b/languagetool-language-modules/pt/src/test/java/org/languagetool/rules/pt/PortugueseWordRepeatBeginningRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Portuguese;
+import org.languagetool.language.pt.Portuguese;
import java.io.IOException;
diff --git a/languagetool-language-modules/pt/src/test/java/org/languagetool/tagging/disambiguation/pt/PortugueseDisambiguationRuleTest.java b/languagetool-language-modules/pt/src/test/java/org/languagetool/tagging/disambiguation/pt/PortugueseDisambiguationRuleTest.java
index aa50a5bbd4d84..af43cca40bf59 100644
--- a/languagetool-language-modules/pt/src/test/java/org/languagetool/tagging/disambiguation/pt/PortugueseDisambiguationRuleTest.java
+++ b/languagetool-language-modules/pt/src/test/java/org/languagetool/tagging/disambiguation/pt/PortugueseDisambiguationRuleTest.java
@@ -23,10 +23,9 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Portuguese;
+import org.languagetool.language.pt.Portuguese;
//import org.languagetool.tagging.disambiguation.rules.XmlRuleDisambiguator;
//import org.languagetool.tagging.disambiguation.xx.DemoDisambiguator;
-import org.languagetool.tagging.disambiguation.pt.PortugueseHybridDisambiguator;
import org.languagetool.tagging.pt.PortugueseTagger;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
import org.languagetool.tokenizers.SentenceTokenizer;
diff --git a/languagetool-language-modules/pt/src/test/java/org/languagetool/tagging/pt/PortugueseTaggerTest.java b/languagetool-language-modules/pt/src/test/java/org/languagetool/tagging/pt/PortugueseTaggerTest.java
index 6ee875c67665b..5c4d0e7bfdd3e 100644
--- a/languagetool-language-modules/pt/src/test/java/org/languagetool/tagging/pt/PortugueseTaggerTest.java
+++ b/languagetool-language-modules/pt/src/test/java/org/languagetool/tagging/pt/PortugueseTaggerTest.java
@@ -21,7 +21,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Portuguese;
+import org.languagetool.language.pt.Portuguese;
import org.languagetool.tokenizers.WordTokenizer;
import java.io.IOException;
diff --git a/languagetool-language-modules/pt/src/test/java/org/languagetool/tokenizers/pt/PortugueseSRXSentenceTokenizerTest.java b/languagetool-language-modules/pt/src/test/java/org/languagetool/tokenizers/pt/PortugueseSRXSentenceTokenizerTest.java
index 197c15ae2df4d..1e659cd2265ff 100644
--- a/languagetool-language-modules/pt/src/test/java/org/languagetool/tokenizers/pt/PortugueseSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/pt/src/test/java/org/languagetool/tokenizers/pt/PortugueseSRXSentenceTokenizerTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Portuguese;
+import org.languagetool.language.pt.Portuguese;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
public class PortugueseSRXSentenceTokenizerTest {
diff --git a/languagetool-language-modules/ro/pom.xml b/languagetool-language-modules/ro/pom.xml
index 14e9db171b286..46b9bac8ef221 100644
--- a/languagetool-language-modules/ro/pom.xml
+++ b/languagetool-language-modules/ro/pom.xml
@@ -73,6 +73,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.ro
+
+
+
+
diff --git a/languagetool-language-modules/ro/src/main/java/org/languagetool/language/Romanian.java b/languagetool-language-modules/ro/src/main/java/org/languagetool/language/ro/Romanian.java
similarity index 97%
rename from languagetool-language-modules/ro/src/main/java/org/languagetool/language/Romanian.java
rename to languagetool-language-modules/ro/src/main/java/org/languagetool/language/ro/Romanian.java
index 2c45f63728a41..5d4c682841758 100644
--- a/languagetool-language-modules/ro/src/main/java/org/languagetool/language/Romanian.java
+++ b/languagetool-language-modules/ro/src/main/java/org/languagetool/language/ro/Romanian.java
@@ -16,12 +16,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.ro;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.Language;
import org.languagetool.UserConfig;
+import org.languagetool.language.Contributor;
import org.languagetool.rules.*;
import org.languagetool.rules.ro.*;
import org.languagetool.rules.spelling.SpellingCheckRule;
diff --git a/languagetool-language-modules/ro/src/main/java/org/languagetool/rules/ro/SimpleReplaceRule.java b/languagetool-language-modules/ro/src/main/java/org/languagetool/rules/ro/SimpleReplaceRule.java
index 6aff52bf10210..0bdf9f801714b 100644
--- a/languagetool-language-modules/ro/src/main/java/org/languagetool/rules/ro/SimpleReplaceRule.java
+++ b/languagetool-language-modules/ro/src/main/java/org/languagetool/rules/ro/SimpleReplaceRule.java
@@ -18,7 +18,7 @@
*/
package org.languagetool.rules.ro;
-import org.languagetool.language.Romanian;
+import org.languagetool.language.ro.Romanian;
import org.languagetool.rules.AbstractSimpleReplaceRule2;
import org.languagetool.rules.Categories;
diff --git a/languagetool-language-modules/ro/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/ro/src/main/resources/META-INF/org/languagetool/language-module.properties
index d6ec7c17cb59e..a0283ad44b62e 100644
--- a/languagetool-language-modules/ro/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/ro/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Romanian
+languageClasses=org.languagetool.language.ro.Romanian
diff --git a/languagetool-language-modules/ro/src/test/java/org/languagetool/RomanianConcurrencyTest.java b/languagetool-language-modules/ro/src/test/java/org/languagetool/RomanianConcurrencyTest.java
index c922cee246bfa..8515c25804309 100644
--- a/languagetool-language-modules/ro/src/test/java/org/languagetool/RomanianConcurrencyTest.java
+++ b/languagetool-language-modules/ro/src/test/java/org/languagetool/RomanianConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Romanian;
+import org.languagetool.language.ro.Romanian;
public class RomanianConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/CompoundRuleTest.java b/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/CompoundRuleTest.java
index 23318bd62994b..d723e9b6cc9e8 100644
--- a/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/CompoundRuleTest.java
+++ b/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/CompoundRuleTest.java
@@ -24,7 +24,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Romanian;
+import org.languagetool.language.ro.Romanian;
import org.languagetool.rules.AbstractCompoundRuleTest;
/**
diff --git a/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/GenericUnpairedBracketsRuleTest.java b/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/GenericUnpairedBracketsRuleTest.java
index 8bead6b1d4c50..6f05d3a5317a7 100644
--- a/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/GenericUnpairedBracketsRuleTest.java
+++ b/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/GenericUnpairedBracketsRuleTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Romanian;
+import org.languagetool.language.ro.Romanian;
import org.languagetool.rules.GenericUnpairedBracketsRule;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/RomanianTest.java b/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/RomanianTest.java
index aa43d980fcd44..7d6156cd11cd2 100644
--- a/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/RomanianTest.java
+++ b/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/RomanianTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Romanian;
+import org.languagetool.language.ro.Romanian;
import java.io.IOException;
diff --git a/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/SimpleReplaceRuleTest.java b/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/SimpleReplaceRuleTest.java
index c81f8085e6194..0b5ef08b74589 100644
--- a/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/SimpleReplaceRuleTest.java
+++ b/languagetool-language-modules/ro/src/test/java/org/languagetool/rules/ro/SimpleReplaceRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Romanian;
+import org.languagetool.language.ro.Romanian;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.SuggestionWithMessage;
diff --git a/languagetool-language-modules/ro/src/test/java/org/languagetool/synthesis/ro/RomanianSynthesizerTest.java b/languagetool-language-modules/ro/src/test/java/org/languagetool/synthesis/ro/RomanianSynthesizerTest.java
index 4e157803cfbd1..0eb7a7b11bafc 100644
--- a/languagetool-language-modules/ro/src/test/java/org/languagetool/synthesis/ro/RomanianSynthesizerTest.java
+++ b/languagetool-language-modules/ro/src/test/java/org/languagetool/synthesis/ro/RomanianSynthesizerTest.java
@@ -20,7 +20,6 @@
import org.junit.Test;
import org.languagetool.AnalyzedToken;
-import org.languagetool.language.Romanian;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/ro/src/test/java/org/languagetool/tagging/disambiguation/rules/ro/RomanianRuleDisambiguatorTest.java b/languagetool-language-modules/ro/src/test/java/org/languagetool/tagging/disambiguation/rules/ro/RomanianRuleDisambiguatorTest.java
index 8dc5f2eedbf78..658afded80aec 100644
--- a/languagetool-language-modules/ro/src/test/java/org/languagetool/tagging/disambiguation/rules/ro/RomanianRuleDisambiguatorTest.java
+++ b/languagetool-language-modules/ro/src/test/java/org/languagetool/tagging/disambiguation/rules/ro/RomanianRuleDisambiguatorTest.java
@@ -21,7 +21,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Romanian;
+import org.languagetool.language.ro.Romanian;
import org.languagetool.tagging.disambiguation.rules.XmlRuleDisambiguator;
import org.languagetool.tagging.disambiguation.xx.DemoDisambiguator;
import org.languagetool.tagging.ro.RomanianTagger;
diff --git a/languagetool-language-modules/ro/src/test/java/org/languagetool/tagging/ro/AbstractRomanianTaggerTest.java b/languagetool-language-modules/ro/src/test/java/org/languagetool/tagging/ro/AbstractRomanianTaggerTest.java
index 7d824805a0931..18f8951b3a549 100644
--- a/languagetool-language-modules/ro/src/test/java/org/languagetool/tagging/ro/AbstractRomanianTaggerTest.java
+++ b/languagetool-language-modules/ro/src/test/java/org/languagetool/tagging/ro/AbstractRomanianTaggerTest.java
@@ -23,7 +23,7 @@
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.TestTools;
-import org.languagetool.language.Romanian;
+import org.languagetool.language.ro.Romanian;
import org.languagetool.tokenizers.WordTokenizer;
import java.io.IOException;
diff --git a/languagetool-language-modules/ro/src/test/java/org/languagetool/tokenizers/ro/RomanianSentenceTokenizerTest.java b/languagetool-language-modules/ro/src/test/java/org/languagetool/tokenizers/ro/RomanianSentenceTokenizerTest.java
index 8b9e86dc1e8fd..7843715f48075 100644
--- a/languagetool-language-modules/ro/src/test/java/org/languagetool/tokenizers/ro/RomanianSentenceTokenizerTest.java
+++ b/languagetool-language-modules/ro/src/test/java/org/languagetool/tokenizers/ro/RomanianSentenceTokenizerTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.Language;
import org.languagetool.TestTools;
-import org.languagetool.language.Romanian;
+import org.languagetool.language.ro.Romanian;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
import org.languagetool.tokenizers.SentenceTokenizer;
diff --git a/languagetool-language-modules/ru/pom.xml b/languagetool-language-modules/ru/pom.xml
index c99bb44ba84a0..b04eff67d8f75 100644
--- a/languagetool-language-modules/ru/pom.xml
+++ b/languagetool-language-modules/ru/pom.xml
@@ -77,6 +77,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.ru
+
+
+
+
diff --git a/languagetool-language-modules/ru/src/main/java/org/languagetool/chunking/RussianChunker.java b/languagetool-language-modules/ru/src/main/java/org/languagetool/chunking/ru/RussianChunker.java
similarity index 97%
rename from languagetool-language-modules/ru/src/main/java/org/languagetool/chunking/RussianChunker.java
rename to languagetool-language-modules/ru/src/main/java/org/languagetool/chunking/ru/RussianChunker.java
index a3eb97049cc9d..da351e613f3fe 100644
--- a/languagetool-language-modules/ru/src/main/java/org/languagetool/chunking/RussianChunker.java
+++ b/languagetool-language-modules/ru/src/main/java/org/languagetool/chunking/ru/RussianChunker.java
@@ -16,17 +16,21 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.chunking;
+package org.languagetool.chunking.ru;
import org.languagetool.Experimental;
import edu.washington.cs.knowitall.regex.Match;
import edu.washington.cs.knowitall.regex.RegularExpression;
import org.languagetool.AnalyzedTokenReadings;
+import org.languagetool.chunking.ChunkTag;
+import org.languagetool.chunking.ChunkTaggedToken;
+import org.languagetool.chunking.Chunker;
+import org.languagetool.chunking.TokenExpressionFactory;
import java.util.*;
import java.util.regex.Pattern;
-import static org.languagetool.chunking.RussianChunker.PhraseType.*;
+import static org.languagetool.chunking.ru.RussianChunker.PhraseType.*;
/**
* A rule-based prototype Russian chunker. Please note that this chunker
diff --git a/languagetool-language-modules/ru/src/main/java/org/languagetool/language/Russian.java b/languagetool-language-modules/ru/src/main/java/org/languagetool/language/ru/Russian.java
similarity index 98%
rename from languagetool-language-modules/ru/src/main/java/org/languagetool/language/Russian.java
rename to languagetool-language-modules/ru/src/main/java/org/languagetool/language/ru/Russian.java
index 4b13a137dcdde..2f9c7405aa30f 100644
--- a/languagetool-language-modules/ru/src/main/java/org/languagetool/language/Russian.java
+++ b/languagetool-language-modules/ru/src/main/java/org/languagetool/language/ru/Russian.java
@@ -16,13 +16,14 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.ru;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
import org.languagetool.chunking.Chunker;
-import org.languagetool.chunking.RussianChunker;
+import org.languagetool.chunking.ru.RussianChunker;
+import org.languagetool.language.Contributor;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.rules.*;
import org.languagetool.rules.ru.*;
diff --git a/languagetool-language-modules/ru/src/main/java/org/languagetool/rules/ru/RussianPartialPosTagFilter.java b/languagetool-language-modules/ru/src/main/java/org/languagetool/rules/ru/RussianPartialPosTagFilter.java
index 4c8ce115311a4..1dc1123a5b240 100644
--- a/languagetool-language-modules/ru/src/main/java/org/languagetool/rules/ru/RussianPartialPosTagFilter.java
+++ b/languagetool-language-modules/ru/src/main/java/org/languagetool/rules/ru/RussianPartialPosTagFilter.java
@@ -20,7 +20,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.AnalyzedTokenReadings;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import org.languagetool.rules.PartialPosTagFilter;
import org.languagetool.tagging.Tagger;
import org.languagetool.tagging.disambiguation.Disambiguator;
diff --git a/languagetool-language-modules/ru/src/main/java/org/languagetool/rules/ru/RussianSimpleReplaceRule.java b/languagetool-language-modules/ru/src/main/java/org/languagetool/rules/ru/RussianSimpleReplaceRule.java
index 9d4187097c580..951ad4265567c 100644
--- a/languagetool-language-modules/ru/src/main/java/org/languagetool/rules/ru/RussianSimpleReplaceRule.java
+++ b/languagetool-language-modules/ru/src/main/java/org/languagetool/rules/ru/RussianSimpleReplaceRule.java
@@ -27,7 +27,7 @@
import java.util.Locale;
import java.util.ResourceBundle;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import org.languagetool.rules.ITSIssueType;
import org.languagetool.rules.Category;
import org.languagetool.rules.CategoryId;
diff --git a/languagetool-language-modules/ru/src/main/java/org/languagetool/rules/ru/RussianSuppressMisspelledSuggestionsFilter.java b/languagetool-language-modules/ru/src/main/java/org/languagetool/rules/ru/RussianSuppressMisspelledSuggestionsFilter.java
index d7717befa152d..f6a80c1c801d3 100644
--- a/languagetool-language-modules/ru/src/main/java/org/languagetool/rules/ru/RussianSuppressMisspelledSuggestionsFilter.java
+++ b/languagetool-language-modules/ru/src/main/java/org/languagetool/rules/ru/RussianSuppressMisspelledSuggestionsFilter.java
@@ -20,7 +20,7 @@
package org.languagetool.rules.ru;
import java.io.IOException;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import org.languagetool.rules.AbstractSuppressMisspelledSuggestionsFilter;
public class RussianSuppressMisspelledSuggestionsFilter extends AbstractSuppressMisspelledSuggestionsFilter {
diff --git a/languagetool-language-modules/ru/src/main/java/org/languagetool/tagging/disambiguation/ru/RussianHybridDisambiguator.java b/languagetool-language-modules/ru/src/main/java/org/languagetool/tagging/disambiguation/ru/RussianHybridDisambiguator.java
index a72f95ec0e02f..6c19145a82188 100644
--- a/languagetool-language-modules/ru/src/main/java/org/languagetool/tagging/disambiguation/ru/RussianHybridDisambiguator.java
+++ b/languagetool-language-modules/ru/src/main/java/org/languagetool/tagging/disambiguation/ru/RussianHybridDisambiguator.java
@@ -22,7 +22,7 @@
import org.jetbrains.annotations.Nullable;
import org.languagetool.AnalyzedSentence;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import org.languagetool.tagging.disambiguation.AbstractDisambiguator;
import org.languagetool.tagging.disambiguation.Disambiguator;
import org.languagetool.tagging.disambiguation.MultiWordChunker;
diff --git a/languagetool-language-modules/ru/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/ru/src/main/resources/META-INF/org/languagetool/language-module.properties
index 499173950b5ed..46111c61688b5 100644
--- a/languagetool-language-modules/ru/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/ru/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Russian
+languageClasses=org.languagetool.language.ru.Russian
diff --git a/languagetool-language-modules/ru/src/test/java/org/languagetool/RussianConcurrencyTest.java b/languagetool-language-modules/ru/src/test/java/org/languagetool/RussianConcurrencyTest.java
index f01206f0aa0e0..aafb9fe11f91e 100644
--- a/languagetool-language-modules/ru/src/test/java/org/languagetool/RussianConcurrencyTest.java
+++ b/languagetool-language-modules/ru/src/test/java/org/languagetool/RussianConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
public class RussianConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/MorfologikRussianSpellerRuleTest.java b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/MorfologikRussianSpellerRuleTest.java
index c3ad29cadf6d5..168a49319b068 100644
--- a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/MorfologikRussianSpellerRuleTest.java
+++ b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/MorfologikRussianSpellerRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import java.io.IOException;
import java.util.Collections;
diff --git a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/MorfologikRussianYOSpellerRuleTest.java b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/MorfologikRussianYOSpellerRuleTest.java
index fcfeb526e241b..2ee8898ed80a3 100644
--- a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/MorfologikRussianYOSpellerRuleTest.java
+++ b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/MorfologikRussianYOSpellerRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import java.io.IOException;
import java.util.Collections;
diff --git a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianCompoundRuleTest.java b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianCompoundRuleTest.java
index 55068a864b725..cb85f4155f8af 100644
--- a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianCompoundRuleTest.java
+++ b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianCompoundRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import org.languagetool.rules.AbstractCompoundRuleTest;
import java.io.IOException;
diff --git a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianSimpleReplaceRuleTest.java b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianSimpleReplaceRuleTest.java
index fe17535ce0a00..85e17a0c12796 100644
--- a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianSimpleReplaceRuleTest.java
+++ b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianSimpleReplaceRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianTest.java b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianTest.java
index d0bb427c8507c..0c19db5dd039e 100644
--- a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianTest.java
+++ b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianUnpairedBracketsRuleTest.java b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianUnpairedBracketsRuleTest.java
index 61533b3200ac5..ed13ba2e2c04c 100644
--- a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianUnpairedBracketsRuleTest.java
+++ b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianUnpairedBracketsRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianVerbConjugationRuleTest.java b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianVerbConjugationRuleTest.java
index cd33fac35f7d1..6419624a74891 100644
--- a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianVerbConjugationRuleTest.java
+++ b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianVerbConjugationRuleTest.java
@@ -23,7 +23,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import java.io.IOException;
import java.util.Set;
diff --git a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianWordCoherencyRuleTest.java b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianWordCoherencyRuleTest.java
index c177b999b295d..993a3aba8d92f 100644
--- a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianWordCoherencyRuleTest.java
+++ b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianWordCoherencyRuleTest.java
@@ -22,7 +22,7 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import java.io.IOException;
import java.util.Collections;
diff --git a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianWordRepeatRuleTest.java b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianWordRepeatRuleTest.java
index d8b9e23509b06..cacfa72df4578 100644
--- a/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianWordRepeatRuleTest.java
+++ b/languagetool-language-modules/ru/src/test/java/org/languagetool/rules/ru/RussianWordRepeatRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/ru/src/test/java/org/languagetool/synthesis/ru/RussianSynthesizerTest.java b/languagetool-language-modules/ru/src/test/java/org/languagetool/synthesis/ru/RussianSynthesizerTest.java
index e1bf05e247ae2..213ef2e93cf0e 100644
--- a/languagetool-language-modules/ru/src/test/java/org/languagetool/synthesis/ru/RussianSynthesizerTest.java
+++ b/languagetool-language-modules/ru/src/test/java/org/languagetool/synthesis/ru/RussianSynthesizerTest.java
@@ -21,7 +21,6 @@
import org.junit.Test;
import org.languagetool.AnalyzedToken;
-import org.languagetool.language.Russian;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/ru/src/test/java/org/languagetool/tagging/ru/RussianTaggerTest.java b/languagetool-language-modules/ru/src/test/java/org/languagetool/tagging/ru/RussianTaggerTest.java
index b10facf1bdb6c..f4634b9c2bee6 100644
--- a/languagetool-language-modules/ru/src/test/java/org/languagetool/tagging/ru/RussianTaggerTest.java
+++ b/languagetool-language-modules/ru/src/test/java/org/languagetool/tagging/ru/RussianTaggerTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import org.languagetool.tokenizers.WordTokenizer;
import java.io.IOException;
diff --git a/languagetool-language-modules/ru/src/test/java/org/languagetool/tokenizers/ru/RussianSRXSentenceTokenizerTest.java b/languagetool-language-modules/ru/src/test/java/org/languagetool/tokenizers/ru/RussianSRXSentenceTokenizerTest.java
index 11aa94d9aa675..e7c4fed3fb41c 100644
--- a/languagetool-language-modules/ru/src/test/java/org/languagetool/tokenizers/ru/RussianSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/ru/src/test/java/org/languagetool/tokenizers/ru/RussianSRXSentenceTokenizerTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Russian;
+import org.languagetool.language.ru.Russian;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
import org.languagetool.tokenizers.SentenceTokenizer;
diff --git a/languagetool-language-modules/sk/pom.xml b/languagetool-language-modules/sk/pom.xml
index bc00931e17564..78cf27222d9a1 100644
--- a/languagetool-language-modules/sk/pom.xml
+++ b/languagetool-language-modules/sk/pom.xml
@@ -67,6 +67,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.sk
+
+
+
+
diff --git a/languagetool-language-modules/sk/src/main/java/org/languagetool/language/Slovak.java b/languagetool-language-modules/sk/src/main/java/org/languagetool/language/sk/Slovak.java
similarity index 97%
rename from languagetool-language-modules/sk/src/main/java/org/languagetool/language/Slovak.java
rename to languagetool-language-modules/sk/src/main/java/org/languagetool/language/sk/Slovak.java
index e68d9bf79b589..260c3b1723847 100644
--- a/languagetool-language-modules/sk/src/main/java/org/languagetool/language/Slovak.java
+++ b/languagetool-language-modules/sk/src/main/java/org/languagetool/language/sk/Slovak.java
@@ -16,12 +16,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.sk;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
import org.languagetool.broker.ResourceDataBroker;
+import org.languagetool.language.Contributor;
import org.languagetool.rules.*;
import org.languagetool.rules.sk.CompoundRule;
import org.languagetool.rules.sk.MorfologikSlovakSpellerRule;
diff --git a/languagetool-language-modules/sk/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/sk/src/main/resources/META-INF/org/languagetool/language-module.properties
index 15580ee3e34e5..ec161e83c5500 100644
--- a/languagetool-language-modules/sk/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/sk/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Slovak
+languageClasses=org.languagetool.language.sk.Slovak
diff --git a/languagetool-language-modules/sk/src/test/java/org/languagetool/SlovakConcurrencyTest.java b/languagetool-language-modules/sk/src/test/java/org/languagetool/SlovakConcurrencyTest.java
index 0283579f21529..6b97a343e0c7c 100644
--- a/languagetool-language-modules/sk/src/test/java/org/languagetool/SlovakConcurrencyTest.java
+++ b/languagetool-language-modules/sk/src/test/java/org/languagetool/SlovakConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Slovak;
+import org.languagetool.language.sk.Slovak;
public class SlovakConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/sk/src/test/java/org/languagetool/rules/sk/CompoundRuleTest.java b/languagetool-language-modules/sk/src/test/java/org/languagetool/rules/sk/CompoundRuleTest.java
index 3116fda40e910..f398308e1828d 100644
--- a/languagetool-language-modules/sk/src/test/java/org/languagetool/rules/sk/CompoundRuleTest.java
+++ b/languagetool-language-modules/sk/src/test/java/org/languagetool/rules/sk/CompoundRuleTest.java
@@ -24,7 +24,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Slovak;
+import org.languagetool.language.sk.Slovak;
import org.languagetool.rules.AbstractCompoundRuleTest;
public class CompoundRuleTest extends AbstractCompoundRuleTest {
diff --git a/languagetool-language-modules/sk/src/test/java/org/languagetool/rules/sk/SlovakTest.java b/languagetool-language-modules/sk/src/test/java/org/languagetool/rules/sk/SlovakTest.java
index b9b8778534a64..24e9105d5b9de 100644
--- a/languagetool-language-modules/sk/src/test/java/org/languagetool/rules/sk/SlovakTest.java
+++ b/languagetool-language-modules/sk/src/test/java/org/languagetool/rules/sk/SlovakTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Slovak;
+import org.languagetool.language.sk.Slovak;
import java.io.IOException;
diff --git a/languagetool-language-modules/sk/src/test/java/org/languagetool/tagging/sk/SlovakTaggerTest.java b/languagetool-language-modules/sk/src/test/java/org/languagetool/tagging/sk/SlovakTaggerTest.java
index 0725b977fc0f5..8bcfccf71e2f5 100644
--- a/languagetool-language-modules/sk/src/test/java/org/languagetool/tagging/sk/SlovakTaggerTest.java
+++ b/languagetool-language-modules/sk/src/test/java/org/languagetool/tagging/sk/SlovakTaggerTest.java
@@ -21,7 +21,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Slovak;
+import org.languagetool.language.sk.Slovak;
import org.languagetool.tokenizers.WordTokenizer;
import java.io.IOException;
diff --git a/languagetool-language-modules/sk/src/test/java/org/languagetool/tokenizers/sk/SlovakSentenceTokenizerTest.java b/languagetool-language-modules/sk/src/test/java/org/languagetool/tokenizers/sk/SlovakSentenceTokenizerTest.java
index 8b4e95db50778..7205ab679cd51 100644
--- a/languagetool-language-modules/sk/src/test/java/org/languagetool/tokenizers/sk/SlovakSentenceTokenizerTest.java
+++ b/languagetool-language-modules/sk/src/test/java/org/languagetool/tokenizers/sk/SlovakSentenceTokenizerTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
import org.languagetool.Language;
import org.languagetool.TestTools;
-import org.languagetool.language.Slovak;
+import org.languagetool.language.sk.Slovak;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
import org.languagetool.tokenizers.SentenceTokenizer;
diff --git a/languagetool-language-modules/sl/pom.xml b/languagetool-language-modules/sl/pom.xml
index e3084f9f4107f..7dd21814cf57b 100644
--- a/languagetool-language-modules/sl/pom.xml
+++ b/languagetool-language-modules/sl/pom.xml
@@ -67,6 +67,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.sl
+
+
+
+
diff --git a/languagetool-language-modules/sl/src/main/java/org/languagetool/language/Slovenian.java b/languagetool-language-modules/sl/src/main/java/org/languagetool/language/sl/Slovenian.java
similarity index 96%
rename from languagetool-language-modules/sl/src/main/java/org/languagetool/language/Slovenian.java
rename to languagetool-language-modules/sl/src/main/java/org/languagetool/language/sl/Slovenian.java
index e38e45f58b143..4aeb2b2e7ea3a 100644
--- a/languagetool-language-modules/sl/src/main/java/org/languagetool/language/Slovenian.java
+++ b/languagetool-language-modules/sl/src/main/java/org/languagetool/language/sl/Slovenian.java
@@ -16,11 +16,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.sl;
import org.jetbrains.annotations.Nullable;
import org.languagetool.Language;
import org.languagetool.UserConfig;
+import org.languagetool.language.Contributor;
import org.languagetool.rules.*;
import org.languagetool.rules.sl.MorfologikSlovenianSpellerRule;
import org.languagetool.rules.spelling.SpellingCheckRule;
@@ -58,7 +59,7 @@ public SentenceTokenizer createDefaultSentenceTokenizer() {
@Override
public Contributor[] getMaintainers() {
- return new Contributor[] {new Contributor("Martin Srebotnjak")};
+ return new Contributor[] {new Contributor("Martin Srebotnjak", null)};
}
@Override
diff --git a/languagetool-language-modules/sl/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/sl/src/main/resources/META-INF/org/languagetool/language-module.properties
index 9ed79a9c61a7a..e1634aa23ccb6 100644
--- a/languagetool-language-modules/sl/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/sl/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Slovenian
+languageClasses=org.languagetool.language.sl.Slovenian
diff --git a/languagetool-language-modules/sl/src/test/java/org/languagetool/JLanguageToolTest.java b/languagetool-language-modules/sl/src/test/java/org/languagetool/JLanguageToolTest.java
index dbb0e9d251004..02683e20578d8 100644
--- a/languagetool-language-modules/sl/src/test/java/org/languagetool/JLanguageToolTest.java
+++ b/languagetool-language-modules/sl/src/test/java/org/languagetool/JLanguageToolTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.junit.Test;
-import org.languagetool.language.Slovenian;
+import org.languagetool.language.sl.Slovenian;
import java.io.IOException;
diff --git a/languagetool-language-modules/sl/src/test/java/org/languagetool/SlovenianConcurrencyTest.java b/languagetool-language-modules/sl/src/test/java/org/languagetool/SlovenianConcurrencyTest.java
index 8ceab4609a5fc..c00966b7b7a22 100644
--- a/languagetool-language-modules/sl/src/test/java/org/languagetool/SlovenianConcurrencyTest.java
+++ b/languagetool-language-modules/sl/src/test/java/org/languagetool/SlovenianConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Slovenian;
+import org.languagetool.language.sl.Slovenian;
public class SlovenianConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/sl/src/test/java/org/languagetool/rules/sl/SlovenianTest.java b/languagetool-language-modules/sl/src/test/java/org/languagetool/rules/sl/SlovenianTest.java
index 4bd72225a012f..bc1e0eede4732 100644
--- a/languagetool-language-modules/sl/src/test/java/org/languagetool/rules/sl/SlovenianTest.java
+++ b/languagetool-language-modules/sl/src/test/java/org/languagetool/rules/sl/SlovenianTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Slovenian;
+import org.languagetool.language.sl.Slovenian;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/sv/pom.xml b/languagetool-language-modules/sv/pom.xml
index e963cfac80c5d..539c6db7baad5 100644
--- a/languagetool-language-modules/sv/pom.xml
+++ b/languagetool-language-modules/sv/pom.xml
@@ -67,6 +67,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.sv
+
+
+
+
diff --git a/languagetool-language-modules/sv/src/main/java/org/languagetool/language/Swedish.java b/languagetool-language-modules/sv/src/main/java/org/languagetool/language/sv/Swedish.java
similarity index 96%
rename from languagetool-language-modules/sv/src/main/java/org/languagetool/language/Swedish.java
rename to languagetool-language-modules/sv/src/main/java/org/languagetool/language/sv/Swedish.java
index 5798dbde397ca..aa4f76fe880c9 100644
--- a/languagetool-language-modules/sv/src/main/java/org/languagetool/language/Swedish.java
+++ b/languagetool-language-modules/sv/src/main/java/org/languagetool/language/sv/Swedish.java
@@ -16,13 +16,14 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.sv;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.Language;
import org.languagetool.LanguageMaintainedState;
import org.languagetool.UserConfig;
+import org.languagetool.language.Contributor;
import org.languagetool.rules.*;
import org.languagetool.rules.spelling.SpellingCheckRule;
import org.languagetool.rules.spelling.hunspell.HunspellRule;
@@ -85,7 +86,7 @@ public Synthesizer createDefaultSynthesizer() {
@Override
public Contributor[] getMaintainers() {
- return new Contributor[] {new Contributor("ljo@fps_gbg")};
+ return new Contributor[] {new Contributor("ljo@fps_gbg", null)};
}
@Override
diff --git a/languagetool-language-modules/sv/src/main/java/org/languagetool/tagging/disambiguation/sv/SwedishHybridDisambiguator.java b/languagetool-language-modules/sv/src/main/java/org/languagetool/tagging/disambiguation/sv/SwedishHybridDisambiguator.java
index 5e6d24d65c9fa..3481ce1a4d0c3 100644
--- a/languagetool-language-modules/sv/src/main/java/org/languagetool/tagging/disambiguation/sv/SwedishHybridDisambiguator.java
+++ b/languagetool-language-modules/sv/src/main/java/org/languagetool/tagging/disambiguation/sv/SwedishHybridDisambiguator.java
@@ -21,7 +21,7 @@
import java.io.IOException;
import org.languagetool.AnalyzedSentence;
-import org.languagetool.language.Swedish;
+import org.languagetool.language.sv.Swedish;
import org.languagetool.tagging.disambiguation.AbstractDisambiguator;
import org.languagetool.tagging.disambiguation.Disambiguator;
import org.languagetool.tagging.disambiguation.MultiWordChunker;
diff --git a/languagetool-language-modules/sv/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/sv/src/main/resources/META-INF/org/languagetool/language-module.properties
index c23a3ba9085bc..b628c0365c82b 100644
--- a/languagetool-language-modules/sv/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/sv/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Swedish
+languageClasses=org.languagetool.language.sv.Swedish
diff --git a/languagetool-language-modules/sv/src/test/java/org/languagetool/SwedishConcurrencyTest.java b/languagetool-language-modules/sv/src/test/java/org/languagetool/SwedishConcurrencyTest.java
index 9b9f2ffa89159..91a17cab6f488 100644
--- a/languagetool-language-modules/sv/src/test/java/org/languagetool/SwedishConcurrencyTest.java
+++ b/languagetool-language-modules/sv/src/test/java/org/languagetool/SwedishConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Swedish;
+import org.languagetool.language.sv.Swedish;
public class SwedishConcurrencyTest extends AbstractLanguageConcurrencyTest {
diff --git a/languagetool-language-modules/sv/src/test/java/org/languagetool/rules/sv/CompoundRuleTest.java b/languagetool-language-modules/sv/src/test/java/org/languagetool/rules/sv/CompoundRuleTest.java
index 69f4b08c1a139..0803181aca89b 100644
--- a/languagetool-language-modules/sv/src/test/java/org/languagetool/rules/sv/CompoundRuleTest.java
+++ b/languagetool-language-modules/sv/src/test/java/org/languagetool/rules/sv/CompoundRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Swedish;
+import org.languagetool.language.sv.Swedish;
import org.languagetool.rules.AbstractCompoundRuleTest;
import java.io.IOException;
diff --git a/languagetool-language-modules/sv/src/test/java/org/languagetool/rules/sv/SwedishTest.java b/languagetool-language-modules/sv/src/test/java/org/languagetool/rules/sv/SwedishTest.java
index 6e2501d713bf0..aa558eb451938 100644
--- a/languagetool-language-modules/sv/src/test/java/org/languagetool/rules/sv/SwedishTest.java
+++ b/languagetool-language-modules/sv/src/test/java/org/languagetool/rules/sv/SwedishTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Swedish;
+import org.languagetool.language.sv.Swedish;
import java.io.IOException;
diff --git a/languagetool-language-modules/sv/src/test/java/org/languagetool/tagging/disambiguation/sv/SwedishDisambiguationRuleTest.java b/languagetool-language-modules/sv/src/test/java/org/languagetool/tagging/disambiguation/sv/SwedishDisambiguationRuleTest.java
index b8d8d82549483..3d26015abede5 100644
--- a/languagetool-language-modules/sv/src/test/java/org/languagetool/tagging/disambiguation/sv/SwedishDisambiguationRuleTest.java
+++ b/languagetool-language-modules/sv/src/test/java/org/languagetool/tagging/disambiguation/sv/SwedishDisambiguationRuleTest.java
@@ -23,7 +23,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Swedish;
+import org.languagetool.language.sv.Swedish;
import org.languagetool.tagging.sv.SwedishTagger;
import org.languagetool.tagging.disambiguation.MultiWordChunker;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
diff --git a/languagetool-language-modules/sv/src/test/java/org/languagetool/tagging/sv/SwedishTaggerTest.java b/languagetool-language-modules/sv/src/test/java/org/languagetool/tagging/sv/SwedishTaggerTest.java
index fa9e95ae32db9..4a49b827ffd27 100644
--- a/languagetool-language-modules/sv/src/test/java/org/languagetool/tagging/sv/SwedishTaggerTest.java
+++ b/languagetool-language-modules/sv/src/test/java/org/languagetool/tagging/sv/SwedishTaggerTest.java
@@ -21,7 +21,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Swedish;
+import org.languagetool.language.sv.Swedish;
import org.languagetool.tokenizers.WordTokenizer;
import java.io.IOException;
diff --git a/languagetool-language-modules/sv/src/test/java/org/languagetool/tokenizers/sv/SwedishSRXSentenceTokenizerTest.java b/languagetool-language-modules/sv/src/test/java/org/languagetool/tokenizers/sv/SwedishSRXSentenceTokenizerTest.java
index 1ebd60604146c..f1e024eae864b 100644
--- a/languagetool-language-modules/sv/src/test/java/org/languagetool/tokenizers/sv/SwedishSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/sv/src/test/java/org/languagetool/tokenizers/sv/SwedishSRXSentenceTokenizerTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Swedish;
+import org.languagetool.language.sv.Swedish;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
public class SwedishSRXSentenceTokenizerTest {
diff --git a/languagetool-language-modules/ta/pom.xml b/languagetool-language-modules/ta/pom.xml
index ae48e124105c4..dc99f61e84d45 100644
--- a/languagetool-language-modules/ta/pom.xml
+++ b/languagetool-language-modules/ta/pom.xml
@@ -61,6 +61,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.ta
+
+
+
+
diff --git a/languagetool-language-modules/ta/src/main/java/org/languagetool/language/Tamil.java b/languagetool-language-modules/ta/src/main/java/org/languagetool/language/ta/Tamil.java
similarity index 93%
rename from languagetool-language-modules/ta/src/main/java/org/languagetool/language/Tamil.java
rename to languagetool-language-modules/ta/src/main/java/org/languagetool/language/ta/Tamil.java
index f62e2b27f3061..9d6748055c61f 100644
--- a/languagetool-language-modules/ta/src/main/java/org/languagetool/language/Tamil.java
+++ b/languagetool-language-modules/ta/src/main/java/org/languagetool/language/ta/Tamil.java
@@ -16,12 +16,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.ta;
import org.jetbrains.annotations.NotNull;
import org.languagetool.Language;
import org.languagetool.UserConfig;
-import org.languagetool.language.tagging.TamilTagger;
+import org.languagetool.language.Contributor;
+import org.languagetool.tagging.ta.TamilTagger;
import org.languagetool.rules.*;
import org.languagetool.tagging.Tagger;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
@@ -59,7 +60,7 @@ public Tagger createDefaultTagger() {
@Override
public Contributor[] getMaintainers() {
- return new Contributor[] {new Contributor("Elanjelian Venugopal")};
+ return new Contributor[] {new Contributor("Elanjelian Venugopal", null)};
}
@Override
diff --git a/languagetool-language-modules/ta/src/main/java/org/languagetool/language/tagging/TamilTagger.java b/languagetool-language-modules/ta/src/main/java/org/languagetool/tagging/ta/TamilTagger.java
similarity index 96%
rename from languagetool-language-modules/ta/src/main/java/org/languagetool/language/tagging/TamilTagger.java
rename to languagetool-language-modules/ta/src/main/java/org/languagetool/tagging/ta/TamilTagger.java
index 7d48c4c941c64..941bf8eba7af0 100644
--- a/languagetool-language-modules/ta/src/main/java/org/languagetool/language/tagging/TamilTagger.java
+++ b/languagetool-language-modules/ta/src/main/java/org/languagetool/tagging/ta/TamilTagger.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language.tagging;
+package org.languagetool.tagging.ta;
import org.languagetool.tagging.BaseTagger;
diff --git a/languagetool-language-modules/ta/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/ta/src/main/resources/META-INF/org/languagetool/language-module.properties
index 5ef7cf73c6715..4bfde2f121feb 100644
--- a/languagetool-language-modules/ta/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/ta/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Tamil
+languageClasses=org.languagetool.language.ta.Tamil
diff --git a/languagetool-language-modules/ta/src/test/java/org/languagetool/rules/ta/TamilTest.java b/languagetool-language-modules/ta/src/test/java/org/languagetool/rules/ta/TamilTest.java
index 4942a6b21d2cc..2a938b4f3cc1b 100644
--- a/languagetool-language-modules/ta/src/test/java/org/languagetool/rules/ta/TamilTest.java
+++ b/languagetool-language-modules/ta/src/test/java/org/languagetool/rules/ta/TamilTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Tamil;
+import org.languagetool.language.ta.Tamil;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/tl/pom.xml b/languagetool-language-modules/tl/pom.xml
index f004265961d58..f812ed7486151 100644
--- a/languagetool-language-modules/tl/pom.xml
+++ b/languagetool-language-modules/tl/pom.xml
@@ -67,6 +67,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.tl
+
+
+
+
diff --git a/languagetool-language-modules/tl/src/main/java/org/languagetool/language/Tagalog.java b/languagetool-language-modules/tl/src/main/java/org/languagetool/language/tl/Tagalog.java
similarity index 92%
rename from languagetool-language-modules/tl/src/main/java/org/languagetool/language/Tagalog.java
rename to languagetool-language-modules/tl/src/main/java/org/languagetool/language/tl/Tagalog.java
index e6b87a2461174..1a4e52b3a28f7 100644
--- a/languagetool-language-modules/tl/src/main/java/org/languagetool/language/Tagalog.java
+++ b/languagetool-language-modules/tl/src/main/java/org/languagetool/language/tl/Tagalog.java
@@ -17,14 +17,14 @@
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.tl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.Language;
import org.languagetool.UserConfig;
-import org.languagetool.language.tl.MorfologikTagalogSpellerRule;
-import org.languagetool.language.tokenizers.TagalogWordTokenizer;
+import org.languagetool.language.Contributor;
+import org.languagetool.tokenizers.tl.TagalogWordTokenizer;
import org.languagetool.rules.*;
import org.languagetool.rules.spelling.SpellingCheckRule;
import org.languagetool.tagging.Tagger;
@@ -75,8 +75,8 @@ public Tagger createDefaultTagger() {
@Override
public Contributor[] getMaintainers() {
return new Contributor[] {
- new Contributor("Nathaniel Oco"),
- new Contributor("Allan Borra")
+ new Contributor("Nathaniel Oco", null),
+ new Contributor("Allan Borra", null)
};
}
diff --git a/languagetool-language-modules/tl/src/main/java/org/languagetool/language/tokenizers/TagalogWordTokenizer.java b/languagetool-language-modules/tl/src/main/java/org/languagetool/tokenizers/tl/TagalogWordTokenizer.java
similarity index 96%
rename from languagetool-language-modules/tl/src/main/java/org/languagetool/language/tokenizers/TagalogWordTokenizer.java
rename to languagetool-language-modules/tl/src/main/java/org/languagetool/tokenizers/tl/TagalogWordTokenizer.java
index b3c5eaf69e21d..dde10fbd08422 100644
--- a/languagetool-language-modules/tl/src/main/java/org/languagetool/language/tokenizers/TagalogWordTokenizer.java
+++ b/languagetool-language-modules/tl/src/main/java/org/languagetool/tokenizers/tl/TagalogWordTokenizer.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language.tokenizers;
+package org.languagetool.tokenizers.tl;
import org.languagetool.tokenizers.WordTokenizer;
diff --git a/languagetool-language-modules/tl/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/tl/src/main/resources/META-INF/org/languagetool/language-module.properties
index ce4c9c1d435ac..e1254cfa3ebcb 100644
--- a/languagetool-language-modules/tl/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/tl/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Tagalog
+languageClasses=org.languagetool.language.tl.Tagalog
diff --git a/languagetool-language-modules/tl/src/test/java/org/languagetool/TagalogConcurrencyTest.java b/languagetool-language-modules/tl/src/test/java/org/languagetool/TagalogConcurrencyTest.java
index 92a1441cb9abb..e806cdc73c402 100644
--- a/languagetool-language-modules/tl/src/test/java/org/languagetool/TagalogConcurrencyTest.java
+++ b/languagetool-language-modules/tl/src/test/java/org/languagetool/TagalogConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Tagalog;
+import org.languagetool.language.tl.Tagalog;
public class TagalogConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/tl/src/test/java/org/languagetool/language/tl/MorfologikTagalogSpellerRuleTest.java b/languagetool-language-modules/tl/src/test/java/org/languagetool/language/tl/MorfologikTagalogSpellerRuleTest.java
index 5a635d09fd1e3..c5b2dc987bd30 100644
--- a/languagetool-language-modules/tl/src/test/java/org/languagetool/language/tl/MorfologikTagalogSpellerRuleTest.java
+++ b/languagetool-language-modules/tl/src/test/java/org/languagetool/language/tl/MorfologikTagalogSpellerRuleTest.java
@@ -21,7 +21,6 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Tagalog;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/tl/src/test/java/org/languagetool/rules/tl/TagalogTest.java b/languagetool-language-modules/tl/src/test/java/org/languagetool/rules/tl/TagalogTest.java
index 9e7d82a79f254..b4b26a3daf147 100644
--- a/languagetool-language-modules/tl/src/test/java/org/languagetool/rules/tl/TagalogTest.java
+++ b/languagetool-language-modules/tl/src/test/java/org/languagetool/rules/tl/TagalogTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Tagalog;
+import org.languagetool.language.tl.Tagalog;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/tl/src/test/java/org/languagetool/tokenizers/tl/TagalogSRXSentenceTokenizerTest.java b/languagetool-language-modules/tl/src/test/java/org/languagetool/tokenizers/tl/TagalogSRXSentenceTokenizerTest.java
index bbc38eb4e9bf6..8f923d43b4c81 100644
--- a/languagetool-language-modules/tl/src/test/java/org/languagetool/tokenizers/tl/TagalogSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/tl/src/test/java/org/languagetool/tokenizers/tl/TagalogSRXSentenceTokenizerTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Tagalog;
+import org.languagetool.language.tl.Tagalog;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
public class TagalogSRXSentenceTokenizerTest {
diff --git a/languagetool-language-modules/uk/pom.xml b/languagetool-language-modules/uk/pom.xml
index 16d75b0eb5fac..804d5e9f595fb 100644
--- a/languagetool-language-modules/uk/pom.xml
+++ b/languagetool-language-modules/uk/pom.xml
@@ -97,6 +97,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.uk
+
+
+
+
diff --git a/languagetool-language-modules/uk/src/main/java/org/languagetool/language/Ukrainian.java b/languagetool-language-modules/uk/src/main/java/org/languagetool/language/uk/Ukrainian.java
similarity index 97%
rename from languagetool-language-modules/uk/src/main/java/org/languagetool/language/Ukrainian.java
rename to languagetool-language-modules/uk/src/main/java/org/languagetool/language/uk/Ukrainian.java
index 208a84d4b48cb..6395bc01c4bda 100644
--- a/languagetool-language-modules/uk/src/main/java/org/languagetool/language/Ukrainian.java
+++ b/languagetool-language-modules/uk/src/main/java/org/languagetool/language/uk/Ukrainian.java
@@ -16,12 +16,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.uk;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.languagetool.*;
import org.languagetool.broker.ResourceDataBroker;
+import org.languagetool.language.Contributor;
import org.languagetool.rules.*;
import org.languagetool.rules.spelling.SpellingCheckRule;
import org.languagetool.rules.uk.*;
@@ -120,8 +121,8 @@ public SentenceTokenizer createDefaultSentenceTokenizer() {
@Override
public Contributor[] getMaintainers() {
return new Contributor[] {
- new Contributor("Andriy Rysin"),
- new Contributor("Maksym Davydov")
+ new Contributor("Andriy Rysin", null),
+ new Contributor("Maksym Davydov", null)
};
}
diff --git a/languagetool-language-modules/uk/src/main/java/org/languagetool/language/Ukrainian1992.java b/languagetool-language-modules/uk/src/main/java/org/languagetool/language/uk/Ukrainian1992.java
similarity index 97%
rename from languagetool-language-modules/uk/src/main/java/org/languagetool/language/Ukrainian1992.java
rename to languagetool-language-modules/uk/src/main/java/org/languagetool/language/uk/Ukrainian1992.java
index a88dfd10876f9..30b6eaf0cc713 100644
--- a/languagetool-language-modules/uk/src/main/java/org/languagetool/language/Ukrainian1992.java
+++ b/languagetool-language-modules/uk/src/main/java/org/languagetool/language/uk/Ukrainian1992.java
@@ -17,7 +17,7 @@
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.uk;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/uk/src/main/java/org/languagetool/tagging/disambiguation/uk/UkrainianHybridDisambiguator.java b/languagetool-language-modules/uk/src/main/java/org/languagetool/tagging/disambiguation/uk/UkrainianHybridDisambiguator.java
index 91ccfff97b416..9457a4e041625 100644
--- a/languagetool-language-modules/uk/src/main/java/org/languagetool/tagging/disambiguation/uk/UkrainianHybridDisambiguator.java
+++ b/languagetool-language-modules/uk/src/main/java/org/languagetool/tagging/disambiguation/uk/UkrainianHybridDisambiguator.java
@@ -34,7 +34,7 @@
import org.languagetool.AnalyzedToken;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.uk.CaseGovernmentHelper;
import org.languagetool.rules.uk.InflectionHelper;
import org.languagetool.rules.uk.InflectionHelper.Inflection;
diff --git a/languagetool-language-modules/uk/src/main/java/org/languagetool/tagging/uk/UkrainianTagger.java b/languagetool-language-modules/uk/src/main/java/org/languagetool/tagging/uk/UkrainianTagger.java
index 043023f944140..d5b88196467fc 100644
--- a/languagetool-language-modules/uk/src/main/java/org/languagetool/tagging/uk/UkrainianTagger.java
+++ b/languagetool-language-modules/uk/src/main/java/org/languagetool/tagging/uk/UkrainianTagger.java
@@ -29,7 +29,7 @@
import java.util.stream.Stream;
import org.languagetool.AnalyzedToken;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.uk.LemmaHelper;
import org.languagetool.tagging.BaseTagger;
import org.languagetool.tagging.TaggedWord;
diff --git a/languagetool-language-modules/uk/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/uk/src/main/resources/META-INF/org/languagetool/language-module.properties
index 15a86b6521835..75e49c3cd935a 100644
--- a/languagetool-language-modules/uk/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/uk/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Ukrainian
+languageClasses=org.languagetool.language.uk.Ukrainian
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/UkrainianConcurrencyTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/UkrainianConcurrencyTest.java
index cd4a20bcbd4a0..79595bcd6b0df 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/UkrainianConcurrencyTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/UkrainianConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
public class UkrainianConcurrencyTest extends AbstractLanguageConcurrencyTest {
@Override
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/AbstractRuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/AbstractRuleTest.java
index aae25009434bb..2061f6b963f93 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/AbstractRuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/AbstractRuleTest.java
@@ -10,7 +10,7 @@
import org.junit.Before;
import org.languagetool.AnalyzedSentence;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.Rule;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/HiddenCharacterRuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/HiddenCharacterRuleTest.java
index b824fecea8bfb..0bdc825b8a097 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/HiddenCharacterRuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/HiddenCharacterRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/MissingHyphenRuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/MissingHyphenRuleTest.java
index f1643d40620e3..288225689da31 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/MissingHyphenRuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/MissingHyphenRuleTest.java
@@ -27,7 +27,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.RuleMatch;
import org.languagetool.tagging.uk.UkrainianTagger;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/MixedAlphabetsRuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/MixedAlphabetsRuleTest.java
index 038d0fa3c8720..c295952a46f16 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/MixedAlphabetsRuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/MixedAlphabetsRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/MorfologikUkrainianSpellerRuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/MorfologikUkrainianSpellerRuleTest.java
index a7af6920d895d..60dc40cddfd8f 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/MorfologikUkrainianSpellerRuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/MorfologikUkrainianSpellerRuleTest.java
@@ -29,7 +29,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.RuleMatch;
public class MorfologikUkrainianSpellerRuleTest {
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/PunctuationCheckRuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/PunctuationCheckRuleTest.java
index 55912f90a308c..44ad74143b3be 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/PunctuationCheckRuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/PunctuationCheckRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceRenamedRuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceRenamedRuleTest.java
index 52a4f653403bf..061a67a355d8b 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceRenamedRuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceRenamedRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceRuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceRuleTest.java
index 80393c930a068..367d034eb25f4 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceRuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceRuleTest.java
@@ -31,7 +31,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceSoftRuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceSoftRuleTest.java
index 23400060e3c3f..a7feb3d09c4a6 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceSoftRuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceSoftRuleTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceSpelling1992RuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceSpelling1992RuleTest.java
index b566d9e5172ee..a6991d9f9297e 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceSpelling1992RuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceSpelling1992RuleTest.java
@@ -27,7 +27,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceSpelling2019RuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceSpelling2019RuleTest.java
index 071907577fbad..431d8ebc19266 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceSpelling2019RuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/SimpleReplaceSpelling2019RuleTest.java
@@ -26,7 +26,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian1992;
+import org.languagetool.language.uk.Ukrainian1992;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/TypographyRuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/TypographyRuleTest.java
index 55bc837a3363a..b239fd5979cf8 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/TypographyRuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/TypographyRuleTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/UkrainianTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/UkrainianTest.java
index de1cf55b455c7..58aa67e244e57 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/UkrainianTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/UkrainianTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/UkrainianWordRepeatRuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/UkrainianWordRepeatRuleTest.java
index 88f65064fedb3..d4049f81257fb 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/UkrainianWordRepeatRuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/UkrainianWordRepeatRuleTest.java
@@ -26,7 +26,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.RuleMatch;
import static org.junit.Assert.assertEquals;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/UppercaseSentenceStartRuleTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/UppercaseSentenceStartRuleTest.java
index 2f7eb327b8329..83e288837670f 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/UppercaseSentenceStartRuleTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/rules/uk/UppercaseSentenceStartRuleTest.java
@@ -26,7 +26,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.rules.Example;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/tagging/disambiguation/uk/UkrainianHybridDisambiguationTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/tagging/disambiguation/uk/UkrainianHybridDisambiguationTest.java
index ffc5fde31a024..4ff5532ebc9b1 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/tagging/disambiguation/uk/UkrainianHybridDisambiguationTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/tagging/disambiguation/uk/UkrainianHybridDisambiguationTest.java
@@ -34,7 +34,7 @@
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.tagging.disambiguation.Disambiguator;
import org.languagetool.tagging.disambiguation.MultiWordChunker2;
import org.languagetool.tagging.disambiguation.uk.SimpleDisambiguator.TokenMatcher;
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/tagging/uk/UkrainianTaggerTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/tagging/uk/UkrainianTaggerTest.java
index 51461f0a09110..e82f3108c240f 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/tagging/uk/UkrainianTaggerTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/tagging/uk/UkrainianTaggerTest.java
@@ -25,7 +25,7 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.tokenizers.uk.UkrainianWordTokenizer;
public class UkrainianTaggerTest {
diff --git a/languagetool-language-modules/uk/src/test/java/org/languagetool/tokenizers/uk/UkrainianSRXSentenceTokenizerTest.java b/languagetool-language-modules/uk/src/test/java/org/languagetool/tokenizers/uk/UkrainianSRXSentenceTokenizerTest.java
index e56bec97e5425..5e9eb95ba2212 100644
--- a/languagetool-language-modules/uk/src/test/java/org/languagetool/tokenizers/uk/UkrainianSRXSentenceTokenizerTest.java
+++ b/languagetool-language-modules/uk/src/test/java/org/languagetool/tokenizers/uk/UkrainianSRXSentenceTokenizerTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.TestTools;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.uk.Ukrainian;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
public class UkrainianSRXSentenceTokenizerTest {
diff --git a/languagetool-language-modules/zh/pom.xml b/languagetool-language-modules/zh/pom.xml
index fe886a9e97516..49959908634a5 100644
--- a/languagetool-language-modules/zh/pom.xml
+++ b/languagetool-language-modules/zh/pom.xml
@@ -77,6 +77,17 @@
org.apache.maven.plugins
maven-surefire-plugin
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ org.languagetool.language.zh
+
+
+
+
diff --git a/languagetool-language-modules/zh/src/main/java/org/languagetool/language/Chinese.java b/languagetool-language-modules/zh/src/main/java/org/languagetool/language/zh/Chinese.java
similarity index 95%
rename from languagetool-language-modules/zh/src/main/java/org/languagetool/language/Chinese.java
rename to languagetool-language-modules/zh/src/main/java/org/languagetool/language/zh/Chinese.java
index 297aaad862f25..912ad5aceb62d 100644
--- a/languagetool-language-modules/zh/src/main/java/org/languagetool/language/Chinese.java
+++ b/languagetool-language-modules/zh/src/main/java/org/languagetool/language/zh/Chinese.java
@@ -16,11 +16,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
-package org.languagetool.language;
+package org.languagetool.language.zh;
import org.jetbrains.annotations.NotNull;
import org.languagetool.Language;
import org.languagetool.UserConfig;
+import org.languagetool.language.Contributor;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.languagemodel.LuceneLanguageModel;
import org.languagetool.rules.*;
@@ -57,7 +58,7 @@ public String[] getCountries() {
@Override
public Contributor[] getMaintainers() {
- return new Contributor[] { new Contributor("Tao Lin") };
+ return new Contributor[] { new Contributor("Tao Lin", null) };
}
@Override
diff --git a/languagetool-language-modules/zh/src/main/resources/META-INF/org/languagetool/language-module.properties b/languagetool-language-modules/zh/src/main/resources/META-INF/org/languagetool/language-module.properties
index e9c4fdc42ca84..e864248cc048d 100644
--- a/languagetool-language-modules/zh/src/main/resources/META-INF/org/languagetool/language-module.properties
+++ b/languagetool-language-modules/zh/src/main/resources/META-INF/org/languagetool/language-module.properties
@@ -1 +1 @@
-languageClasses=org.languagetool.language.Chinese
+languageClasses=org.languagetool.language.zh.Chinese
diff --git a/languagetool-language-modules/zh/src/test/java/org/languagetool/ChineseConcurrencyTest.java b/languagetool-language-modules/zh/src/test/java/org/languagetool/ChineseConcurrencyTest.java
index ce4239923a19b..822e2e2297f89 100644
--- a/languagetool-language-modules/zh/src/test/java/org/languagetool/ChineseConcurrencyTest.java
+++ b/languagetool-language-modules/zh/src/test/java/org/languagetool/ChineseConcurrencyTest.java
@@ -19,7 +19,7 @@
package org.languagetool;
import org.languagetool.language.AbstractLanguageConcurrencyTest;
-import org.languagetool.language.Chinese;
+import org.languagetool.language.zh.Chinese;
public class ChineseConcurrencyTest extends AbstractLanguageConcurrencyTest {
diff --git a/languagetool-language-modules/zh/src/test/java/org/languagetool/rules/zh/ChineseTest.java b/languagetool-language-modules/zh/src/test/java/org/languagetool/rules/zh/ChineseTest.java
index 14c614220229f..985f30ca883d2 100644
--- a/languagetool-language-modules/zh/src/test/java/org/languagetool/rules/zh/ChineseTest.java
+++ b/languagetool-language-modules/zh/src/test/java/org/languagetool/rules/zh/ChineseTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.languagetool.LanguageSpecificTest;
-import org.languagetool.language.Chinese;
+import org.languagetool.language.zh.Chinese;
import java.io.IOException;
import java.util.Arrays;
diff --git a/languagetool-server/src/test/java/org/languagetool/server/HTTPSServerTest.java b/languagetool-server/src/test/java/org/languagetool/server/HTTPSServerTest.java
index 0c47713ae68e0..41ccd0f97f8c3 100644
--- a/languagetool-server/src/test/java/org/languagetool/server/HTTPSServerTest.java
+++ b/languagetool-server/src/test/java/org/languagetool/server/HTTPSServerTest.java
@@ -21,8 +21,8 @@
import org.junit.Before;
import org.junit.Test;
import org.languagetool.Language;
-import org.languagetool.language.German;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.German;
+import org.languagetool.language.de.GermanyGerman;
import java.io.File;
import java.io.IOException;
diff --git a/languagetool-server/src/test/java/org/languagetool/server/HTTPServerMultiLangLoadTest2.java b/languagetool-server/src/test/java/org/languagetool/server/HTTPServerMultiLangLoadTest2.java
index c097340dc439a..9ba18cccb0959 100644
--- a/languagetool-server/src/test/java/org/languagetool/server/HTTPServerMultiLangLoadTest2.java
+++ b/languagetool-server/src/test/java/org/languagetool/server/HTTPServerMultiLangLoadTest2.java
@@ -22,7 +22,6 @@
import org.junit.Test;
import org.languagetool.Language;
import org.languagetool.Languages;
-import org.languagetool.language.German;
import org.languagetool.tools.StringTools;
import org.xml.sax.SAXException;
@@ -31,7 +30,6 @@
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
-import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.fail;
diff --git a/languagetool-server/src/test/java/org/languagetool/server/HTTPServerTest.java b/languagetool-server/src/test/java/org/languagetool/server/HTTPServerTest.java
index 5e1572c90bab8..ae9766ce727c5 100644
--- a/languagetool-server/src/test/java/org/languagetool/server/HTTPServerTest.java
+++ b/languagetool-server/src/test/java/org/languagetool/server/HTTPServerTest.java
@@ -26,7 +26,12 @@
import org.languagetool.Language;
import org.languagetool.Languages;
import org.languagetool.ToneTag;
-import org.languagetool.language.*;
+import org.languagetool.language.de.German;
+import org.languagetool.language.de.GermanyGerman;
+import org.languagetool.language.en.AmericanEnglish;
+import org.languagetool.language.en.English;
+import org.languagetool.language.pl.Polish;
+import org.languagetool.language.ro.Romanian;
import org.languagetool.tools.StringTools;
import org.xml.sax.SAXException;
diff --git a/languagetool-standalone/src/main/java/org/languagetool/dev/HomophoneOccurrenceDumper.java b/languagetool-standalone/src/main/java/org/languagetool/dev/HomophoneOccurrenceDumper.java
index 2b4d22c4c6841..23a95b4b59764 100644
--- a/languagetool-standalone/src/main/java/org/languagetool/dev/HomophoneOccurrenceDumper.java
+++ b/languagetool-standalone/src/main/java/org/languagetool/dev/HomophoneOccurrenceDumper.java
@@ -24,7 +24,7 @@
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.util.BytesRef;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.AmericanEnglish;
+import org.languagetool.language.en.AmericanEnglish;
import org.languagetool.languagemodel.LuceneSingleIndexLanguageModel;
import org.languagetool.rules.ConfusionPair;
import org.languagetool.rules.ConfusionSetLoader;
diff --git a/languagetool-standalone/src/main/java/org/languagetool/dev/RuleCreator.java b/languagetool-standalone/src/main/java/org/languagetool/dev/RuleCreator.java
index 07a52fc5c20fa..9d991acfa69db 100644
--- a/languagetool-standalone/src/main/java/org/languagetool/dev/RuleCreator.java
+++ b/languagetool-standalone/src/main/java/org/languagetool/dev/RuleCreator.java
@@ -20,8 +20,8 @@
import org.apache.commons.lang3.StringUtils;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.AmericanEnglish;
-import org.languagetool.language.English;
+import org.languagetool.language.en.AmericanEnglish;
+import org.languagetool.language.en.English;
import org.languagetool.rules.*;
import org.languagetool.tokenizers.WordTokenizer;
import org.languagetool.tools.StringTools;
diff --git a/languagetool-standalone/src/test/java/org/languagetool/JLanguageToolTest.java b/languagetool-standalone/src/test/java/org/languagetool/JLanguageToolTest.java
index 2f2afb974465d..c815e8e240111 100644
--- a/languagetool-standalone/src/test/java/org/languagetool/JLanguageToolTest.java
+++ b/languagetool-standalone/src/test/java/org/languagetool/JLanguageToolTest.java
@@ -21,10 +21,10 @@
import org.hamcrest.CoreMatchers;
import org.junit.Ignore;
import org.junit.Test;
-import org.languagetool.language.AmericanEnglish;
+import org.languagetool.language.en.AmericanEnglish;
import org.languagetool.language.Demo;
-import org.languagetool.language.English;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.en.English;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.markup.AnnotatedText;
import org.languagetool.markup.AnnotatedTextBuilder;
import org.languagetool.rules.*;
diff --git a/languagetool-standalone/src/test/java/org/languagetool/LanguageTest.java b/languagetool-standalone/src/test/java/org/languagetool/LanguageTest.java
index f230e97684bc8..e6794bc1ff2fc 100644
--- a/languagetool-standalone/src/test/java/org/languagetool/LanguageTest.java
+++ b/languagetool-standalone/src/test/java/org/languagetool/LanguageTest.java
@@ -19,7 +19,13 @@
package org.languagetool;
import org.junit.Test;
-import org.languagetool.language.*;
+import org.languagetool.language.de.AustrianGerman;
+import org.languagetool.language.de.German;
+import org.languagetool.language.de.GermanyGerman;
+import org.languagetool.language.de.SwissGerman;
+import org.languagetool.language.en.AmericanEnglish;
+import org.languagetool.language.en.BritishEnglish;
+import org.languagetool.language.en.English;
import static org.junit.Assert.*;
diff --git a/languagetool-standalone/src/test/java/org/languagetool/LanguagesTest.java b/languagetool-standalone/src/test/java/org/languagetool/LanguagesTest.java
index dacba02358df4..ab8f2b0a4d25d 100644
--- a/languagetool-standalone/src/test/java/org/languagetool/LanguagesTest.java
+++ b/languagetool-standalone/src/test/java/org/languagetool/LanguagesTest.java
@@ -122,10 +122,10 @@ public void testIsVariant() {
@Test
public void testHasPremium() {
- assertTrue(Languages.hasPremium("org.languagetool.language.Portuguese"));
- assertTrue(Languages.hasPremium("org.languagetool.language.GermanyGerman"));
- assertTrue(Languages.hasPremium("org.languagetool.language.AmericanEnglish"));
- assertFalse(Languages.hasPremium("org.languagetool.language.Danish"));
+ assertTrue(Languages.hasPremium("org.languagetool.language.pt.Portuguese"));
+ assertTrue(Languages.hasPremium("org.languagetool.language.de.GermanyGerman"));
+ assertTrue(Languages.hasPremium("org.languagetool.language.en.AmericanEnglish"));
+ assertFalse(Languages.hasPremium("org.languagetool.language.da.Danish"));
}
@Test
diff --git a/languagetool-standalone/src/test/java/org/languagetool/SentenceRangeTest.java b/languagetool-standalone/src/test/java/org/languagetool/SentenceRangeTest.java
index a181e58db9f06..2fd291a12e26a 100644
--- a/languagetool-standalone/src/test/java/org/languagetool/SentenceRangeTest.java
+++ b/languagetool-standalone/src/test/java/org/languagetool/SentenceRangeTest.java
@@ -22,8 +22,8 @@
import org.jetbrains.annotations.Nullable;
import org.junit.Test;
-import org.languagetool.language.AmericanEnglish;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.en.AmericanEnglish;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.languagemodel.LanguageModel;
import org.languagetool.markup.AnnotatedText;
import org.languagetool.markup.AnnotatedTextBuilder;
diff --git a/languagetool-standalone/src/test/java/org/languagetool/dev/MultiThreadingTest2.java b/languagetool-standalone/src/test/java/org/languagetool/dev/MultiThreadingTest2.java
index ccc5b2869ec17..9d82383542b72 100644
--- a/languagetool-standalone/src/test/java/org/languagetool/dev/MultiThreadingTest2.java
+++ b/languagetool-standalone/src/test/java/org/languagetool/dev/MultiThreadingTest2.java
@@ -22,7 +22,7 @@
import org.junit.Test;
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.RuleMatch;
import java.io.IOException;
diff --git a/languagetool-standalone/src/test/java/org/languagetool/gui/ConfigurationTest.java b/languagetool-standalone/src/test/java/org/languagetool/gui/ConfigurationTest.java
index b8b6f4c9a6f04..9064e71bbb4ec 100644
--- a/languagetool-standalone/src/test/java/org/languagetool/gui/ConfigurationTest.java
+++ b/languagetool-standalone/src/test/java/org/languagetool/gui/ConfigurationTest.java
@@ -20,8 +20,8 @@
import org.junit.Test;
import org.languagetool.Language;
-import org.languagetool.language.AmericanEnglish;
-import org.languagetool.language.French;
+import org.languagetool.language.en.AmericanEnglish;
+import org.languagetool.language.fr.French;
import java.io.File;
import java.nio.file.Files;
diff --git a/languagetool-standalone/src/test/java/org/languagetool/gui/RuleLinkTest.java b/languagetool-standalone/src/test/java/org/languagetool/gui/RuleLinkTest.java
index 69d053029ed8d..274898da5b5f2 100644
--- a/languagetool-standalone/src/test/java/org/languagetool/gui/RuleLinkTest.java
+++ b/languagetool-standalone/src/test/java/org/languagetool/gui/RuleLinkTest.java
@@ -21,7 +21,7 @@
import org.junit.Test;
import org.languagetool.Language;
import org.languagetool.TestTools;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import org.languagetool.rules.WordRepeatRule;
import static org.junit.Assert.assertEquals;
diff --git a/languagetool-standalone/src/test/java/org/languagetool/language/multiLanguage/MultiLanguageTest.java b/languagetool-standalone/src/test/java/org/languagetool/language/multiLanguage/MultiLanguageTest.java
index 7a88bdfb97d48..c99b212954ee6 100644
--- a/languagetool-standalone/src/test/java/org/languagetool/language/multiLanguage/MultiLanguageTest.java
+++ b/languagetool-standalone/src/test/java/org/languagetool/language/multiLanguage/MultiLanguageTest.java
@@ -27,9 +27,8 @@
import org.languagetool.Languages;
import org.languagetool.TestTools;
import org.languagetool.UserConfig;
-import org.languagetool.language.AmericanEnglish;
-import org.languagetool.language.GermanyGerman;
-import org.languagetool.language.identifier.LanguageIdentifier;
+import org.languagetool.language.en.AmericanEnglish;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.language.identifier.LanguageIdentifierService;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.de.GermanSpellerRule;
diff --git a/languagetool-standalone/src/test/java/org/languagetool/rules/MultiLanguageTextTest.java b/languagetool-standalone/src/test/java/org/languagetool/rules/MultiLanguageTextTest.java
index cc9115987885a..f5641e5d82c61 100644
--- a/languagetool-standalone/src/test/java/org/languagetool/rules/MultiLanguageTextTest.java
+++ b/languagetool-standalone/src/test/java/org/languagetool/rules/MultiLanguageTextTest.java
@@ -27,8 +27,8 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Languages;
import org.languagetool.TestTools;
-import org.languagetool.language.AmericanEnglish;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.en.AmericanEnglish;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.language.identifier.LanguageIdentifierService;
import org.languagetool.rules.de.GermanSpellerRule;
import org.languagetool.rules.en.MorfologikAmericanSpellerRule;
diff --git a/languagetool-standalone/src/test/java/org/languagetool/rules/bitext/FalseFriendsAsBitextLoaderTest.java b/languagetool-standalone/src/test/java/org/languagetool/rules/bitext/FalseFriendsAsBitextLoaderTest.java
index e2762afa711cf..9532a691a14e7 100644
--- a/languagetool-standalone/src/test/java/org/languagetool/rules/bitext/FalseFriendsAsBitextLoaderTest.java
+++ b/languagetool-standalone/src/test/java/org/languagetool/rules/bitext/FalseFriendsAsBitextLoaderTest.java
@@ -21,8 +21,8 @@
import org.junit.Test;
import org.languagetool.AnalyzedSentence;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.English;
-import org.languagetool.language.Polish;
+import org.languagetool.language.en.English;
+import org.languagetool.language.pl.Polish;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.patterns.bitext.BitextPatternRule;
import org.languagetool.rules.patterns.bitext.FalseFriendsAsBitextLoader;
diff --git a/languagetool-standalone/src/test/java/org/languagetool/rules/de/GermanSpellerRuleTest.java b/languagetool-standalone/src/test/java/org/languagetool/rules/de/GermanSpellerRuleTest.java
index aa2decad78768..a25a03817eb9b 100644
--- a/languagetool-standalone/src/test/java/org/languagetool/rules/de/GermanSpellerRuleTest.java
+++ b/languagetool-standalone/src/test/java/org/languagetool/rules/de/GermanSpellerRuleTest.java
@@ -24,8 +24,7 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Languages;
import org.languagetool.TestTools;
-import org.languagetool.language.German;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.German;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.spelling.hunspell.HunspellRule;
diff --git a/languagetool-standalone/src/test/java/org/languagetool/rules/patterns/FalseFriendRuleTest.java b/languagetool-standalone/src/test/java/org/languagetool/rules/patterns/FalseFriendRuleTest.java
index bec99e9220cd9..dc22dbf432c6f 100644
--- a/languagetool-standalone/src/test/java/org/languagetool/rules/patterns/FalseFriendRuleTest.java
+++ b/languagetool-standalone/src/test/java/org/languagetool/rules/patterns/FalseFriendRuleTest.java
@@ -27,7 +27,13 @@
import org.junit.Ignore;
import org.junit.Test;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.*;
+import org.languagetool.language.de.German;
+import org.languagetool.language.de.SwissGerman;
+import org.languagetool.language.en.AmericanEnglish;
+import org.languagetool.language.en.BritishEnglish;
+import org.languagetool.language.en.English;
+import org.languagetool.language.it.Italian;
+import org.languagetool.language.pl.Polish;
import org.languagetool.markup.AnnotatedText;
import org.languagetool.markup.AnnotatedTextBuilder;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-standalone/src/test/java/org/languagetool/tagging/disambiguation/MultiWordChunkerTest.java b/languagetool-standalone/src/test/java/org/languagetool/tagging/disambiguation/MultiWordChunkerTest.java
index e867166762778..c25d497ae91de 100644
--- a/languagetool-standalone/src/test/java/org/languagetool/tagging/disambiguation/MultiWordChunkerTest.java
+++ b/languagetool-standalone/src/test/java/org/languagetool/tagging/disambiguation/MultiWordChunkerTest.java
@@ -22,8 +22,8 @@
import org.languagetool.AnalyzedSentence;
import org.languagetool.AnalyzedTokenReadings;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.English;
-import org.languagetool.language.Ukrainian;
+import org.languagetool.language.en.English;
+import org.languagetool.language.uk.Ukrainian;
import static org.junit.Assert.assertTrue;
diff --git a/languagetool-wikipedia/src/test/java/org/languagetool/dev/dumpcheck/TatoebaSentenceSourceTest.java b/languagetool-wikipedia/src/test/java/org/languagetool/dev/dumpcheck/TatoebaSentenceSourceTest.java
index 0739cd51d7fa8..8c63f97f76cfd 100644
--- a/languagetool-wikipedia/src/test/java/org/languagetool/dev/dumpcheck/TatoebaSentenceSourceTest.java
+++ b/languagetool-wikipedia/src/test/java/org/languagetool/dev/dumpcheck/TatoebaSentenceSourceTest.java
@@ -20,7 +20,7 @@
import org.junit.Ignore;
import org.junit.Test;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
diff --git a/languagetool-wikipedia/src/test/java/org/languagetool/dev/dumpcheck/WikipediaSentenceSourceTest.java b/languagetool-wikipedia/src/test/java/org/languagetool/dev/dumpcheck/WikipediaSentenceSourceTest.java
index 7333d643783ec..e39dbf92cb849 100644
--- a/languagetool-wikipedia/src/test/java/org/languagetool/dev/dumpcheck/WikipediaSentenceSourceTest.java
+++ b/languagetool-wikipedia/src/test/java/org/languagetool/dev/dumpcheck/WikipediaSentenceSourceTest.java
@@ -20,7 +20,7 @@
import org.junit.Ignore;
import org.junit.Test;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import javax.xml.stream.XMLStreamException;
import java.io.IOException;
diff --git a/languagetool-wikipedia/src/test/java/org/languagetool/dev/index/IndexerSearcherTest.java b/languagetool-wikipedia/src/test/java/org/languagetool/dev/index/IndexerSearcherTest.java
index 27dac8f6ab1da..febdc799d1e80 100644
--- a/languagetool-wikipedia/src/test/java/org/languagetool/dev/index/IndexerSearcherTest.java
+++ b/languagetool-wikipedia/src/test/java/org/languagetool/dev/index/IndexerSearcherTest.java
@@ -38,9 +38,9 @@
import org.junit.Ignore;
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
-import org.languagetool.language.English;
-import org.languagetool.language.German;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.en.English;
+import org.languagetool.language.de.German;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.IncorrectExample;
import org.languagetool.rules.Rule;
import org.languagetool.rules.RuleMatch;
diff --git a/languagetool-wikipedia/src/test/java/org/languagetool/dev/index/LanguageToolFilterTest.java b/languagetool-wikipedia/src/test/java/org/languagetool/dev/index/LanguageToolFilterTest.java
index a58fe73ae0e08..89677f5b50f89 100644
--- a/languagetool-wikipedia/src/test/java/org/languagetool/dev/index/LanguageToolFilterTest.java
+++ b/languagetool-wikipedia/src/test/java/org/languagetool/dev/index/LanguageToolFilterTest.java
@@ -30,7 +30,7 @@
import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
import org.junit.Ignore;
import org.languagetool.JLanguageTool;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
@Ignore
public class LanguageToolFilterTest extends BaseTokenStreamTestCase {
diff --git a/languagetool-wikipedia/src/test/java/org/languagetool/dev/index/PatternRuleQueryBuilderTest.java b/languagetool-wikipedia/src/test/java/org/languagetool/dev/index/PatternRuleQueryBuilderTest.java
index 8febf19486a43..420164ec80e30 100644
--- a/languagetool-wikipedia/src/test/java/org/languagetool/dev/index/PatternRuleQueryBuilderTest.java
+++ b/languagetool-wikipedia/src/test/java/org/languagetool/dev/index/PatternRuleQueryBuilderTest.java
@@ -33,7 +33,7 @@
import org.apache.lucene.util.LuceneTestCase;
import org.junit.Ignore;
import org.languagetool.Language;
-import org.languagetool.language.English;
+import org.languagetool.language.en.English;
import org.languagetool.rules.patterns.AbstractPatternRule;
import org.languagetool.rules.patterns.PatternRuleLoader;
diff --git a/languagetool-wikipedia/src/test/java/org/languagetool/dev/wikipedia/SuggestionReplacerTest.java b/languagetool-wikipedia/src/test/java/org/languagetool/dev/wikipedia/SuggestionReplacerTest.java
index e8d511ff1cd7d..43f790c71ff96 100644
--- a/languagetool-wikipedia/src/test/java/org/languagetool/dev/wikipedia/SuggestionReplacerTest.java
+++ b/languagetool-wikipedia/src/test/java/org/languagetool/dev/wikipedia/SuggestionReplacerTest.java
@@ -25,8 +25,8 @@
import org.languagetool.JLanguageTool;
import org.languagetool.Language;
import org.languagetool.Premium;
-import org.languagetool.language.English;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.en.English;
+import org.languagetool.language.de.GermanyGerman;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.de.GermanSpellerRule;
import org.languagetool.rules.patterns.AbstractPatternRule;
diff --git a/languagetool-wikipedia/src/test/java/org/languagetool/dev/wikipedia/WikipediaQuickCheckTest.java b/languagetool-wikipedia/src/test/java/org/languagetool/dev/wikipedia/WikipediaQuickCheckTest.java
index c36d6ae5bb82e..f3393410a4540 100644
--- a/languagetool-wikipedia/src/test/java/org/languagetool/dev/wikipedia/WikipediaQuickCheckTest.java
+++ b/languagetool-wikipedia/src/test/java/org/languagetool/dev/wikipedia/WikipediaQuickCheckTest.java
@@ -29,7 +29,7 @@
import org.junit.Ignore;
import org.junit.Test;
-import org.languagetool.language.GermanyGerman;
+import org.languagetool.language.de.GermanyGerman;
@Ignore
public class WikipediaQuickCheckTest {