22

状況:

単語のユーザー辞書を 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 bathroom」、「French word」、「test application」などの単語の組み合わせ/2 つの単語パターンについてはどうでしょうか。元の文法ファイルを変更せずにこれらを無視するにはどうすればよいでしょうか。ユーザー定義のルールを作成することでうまくいくと思いますが、上記のコード スニペットのより洗練されたソリューションになる可能性もあります。

質問:

1 語または 2 語のフレーズを無視するユーザー辞書の回避策を実行するには、どのような方法がありますか?

4

1 に答える 1

2

ignore.txtファイルはバージョン 2.9 以降でサポートされています。箇条書きのCHANGES.txtを参照してください-Spelling

2 語句はサポートされていません。SpellingCheckRule.javaのチェックイン メソッドloadWordsToBeIgnoredを参照してください。(そうすると、チェックは「RuntimeException: No space expected in ...」で失敗します)

于 2015-04-24T08:35:55.003 に答える