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 e7381761bf00..18ad51abfdac 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 @@ -32,6 +32,7 @@ import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Scanner; @@ -53,15 +54,15 @@ class SpellingData { continue; } String[] parts = line.split(";"); - if (parts.length != 2) { + if (parts.length < 2) { throw new RuntimeException("Unexpected format in file " + filePath + ": " + line); } String alternative = parts[0]; - String suggestion = parts[1]; + List suggestions = new ArrayList<>(Arrays.asList(parts).subList(1, parts.length)); List patternTokens = getTokens(alternative, german); PatternRule rule = new PatternRule(ruleId, german, patternTokens, ruleDesc, message, shortMessage); rule.setLocQualityIssueType(issueType); - spellingRules.add(new SpellingRuleWithSuggestions(rule, alternative, suggestion)); + spellingRules.add(new SpellingRuleWithSuggestions(rule, alternative, suggestions)); } } catch (IOException e) { throw new RuntimeException(e);