形势:
作为尚未实现将单词的用户字典添加到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"};被忽略的单词列表。但是像“访客浴室”、“法语单词”、“测试应用程序”这样的单词组合/两个单词模式如何呢?如果不修改原始语法文件,我怎么能忽略它们呢?我假设创建一些用户定义的规则可以做到这一点,而且对于上面的代码片段也可能是一个更优雅的解决方案。
问题:
什么是工作的方法,使一个用户字典的工作到处去忽略单个和两个词的短语?
发布于 2015-04-24 08:35:55
从2.9版开始就支持ignore.txt文件。见CHANGES.txt at bullet -Spelling。
不支持两个单词短语。请参阅SpellingCheckRule.java中的签入方法SpellingCheckRule.java。(如果您这样做,检查将失败,其中包含一个"RuntimeException: No space in .“)
https://stackoverflow.com/questions/26003377
复制相似问题