情况:
作为尚未实现的将用户词典添加到 Languagetool 的功能的一种解决方法,我想出了以下代码片段:
JLanguageTool langTool = new JLanguageTool(lang);
langTool.activateDefaultPatternRules();
List<Rule> rules = langTool.getAllActiveRules();
for (Rule rule:rules) {
// System.out.println(rule.getId());
if (rule.getId().equals("GERMAN_SPELLER_RULE")) {
if (rule instanceof SpellingCheckRule) {
SpellingCheckRule srule=(SpellingCheckRule) rule;
String [] words={"word1", "word2"};
List<String> tokens=new ArrayList<String>();
for (String word:words) {
tokens.add(word);
}
srule.addIgnoreTokens(tokens);
}
}
}
这将很好地添加由指定的单词列表
String [] words={"word1", "word2"};
到被忽略的单词列表。但是单词组合/两个单词模式,如“Guest bath”、“French word”、“test application”——如何在不修改原始语法文件的情况下忽略这些?我假设创建一些用户定义的规则可以解决问题,并且对于上述代码片段也可能是一个更优雅的解决方案。
问题:
什么是一种有效的方法来解决忽略单个和两个单词短语的用户词典工作?