java - mensajes - ¿Cómo agregar patrones de dos palabras para ser ignorados por LanguageTool?
mensajes en input (1)
Situación:
Como solución alternativa a la función aún no implementada para agregar un diccionario de palabras de usuario a Languagetool , se me ocurrió este fragmento de código:
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);
}
}
}
que agregará muy bien la lista de palabras especificadas por
String [] words={"word1", "word2"};
a la lista de palabras ignoradas. Pero, ¿qué hay de combinaciones de palabras / dos patrones de palabras como "Baño de invitados", "Palabra francesa" "aplicación de prueba"? ¿Cómo puedo ignorarlos sin modificar el archivo de gramática original? Supongo que crear una regla definida por el usuario podría hacer el truco y también podría ser una solución más elegante para el fragmento de código anterior.
Pregunta:
¿Cuál sería un enfoque de trabajo para lograr que un diccionario de usuarios funcione de manera alterna e ignore frases de una o dos palabras?
Un archivo ignore.txt
es compatible desde la versión 2.9. ver el CHANGES.txt en la viñeta -Spelling
.
Frases de dos palabras no son compatibles. vea la verificación en el método loadWordsToBeIgnored
en SpellingCheckRule.java . (Si lo haría, la comprobación fallará con una "RuntimeException: No se espera espacio en ...")