如何添加两个单词的模式被语言工具忽略?

2022-09-02 02:04:34

情况:

作为尚未实现的功能的解决方法,将用户单词字典添加到 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浴室”,“法语单词”“测试应用程序”)怎么样 - 如果不修改原始语法文件,我怎么能忽略这些呢?我假设创建一些用户定义的规则可以做到这一点,并且对于上面的代码片段来说也可能是一个更优雅的解决方案。

问题:

如何使用户字典解决方法忽略单个和两个单词的短语?


答案 1

自版本 2.9 起支持文件。请参阅项目符号中的更改.txtignore.txt-Spelling

不支持两个单词短语。请参阅拼写检查规则中的签入方法.java。(如果您这样做,检查将失败,并显示“运行时异常:没有预期的空间...”)loadWordsToBeIgnored


答案 2

推荐