Подтвердить что ты не робот

Как добавить шаблоны из двух слов, которые следует игнорировать LanguageTool?

Ситуация:

В качестве обходного пути для еще не реализована функция добавления пользовательского словаря слов в 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"};

в список игнорируемых слов. Но как насчет комбинаций слов/двух шаблонов слов как "гостевая ванная комната", "французское слово" "тестовое приложение" - как я мог их игнорировать без изменения оригинального файла грамматики? Я предполагаю, что создание определенного пользовательского правила может сделать трюк и может также стать более элегантным решением для приведенного выше фрагмента кода.

Вопрос:

Каким будет рабочий подход, чтобы заставить работать с пользовательским словарем, игнорируя одно- и двухсловные фразы?

4b9b3361

Ответ 1

Поддерживается файл ignore.txt с версии 2.9. см. CHANGES.txt в поле bullet -Spelling.

Две фразы не поддерживаются. см. метод проверки loadWordsToBeIgnored в SpellingCheckRule.java. (если вы это сделаете, проверка завершится неудачей с "RuntimeException: в пространстве нет места..." )