aspellで多言語辞書を使用する

aspellで多言語辞書を使用する

私は慌てずにスペルをチェックしたい2つの言語を含む大きな.texファイルを持っています。したがって、ある言語ではスペルチェックを実行し、他の言語では「無視」を押すことはできません。

だから私はaspellを読み、辞書を結合するために独自のファイルを定義できることを知りました.multi。ただし、明らかに他の言語の辞書ではこれを行うことはできず、エラーが発生します(またはGUIで作業している場合は辞書が空白のように見えます)。

そして、ウィッシュリストにこの機能を含むバグレポートを見つけましたが、まだ誰も実装していないようです。

だから私の質問は:同時に2つの異なる言語に2つの辞書を使用する合理的な方法はありますか?

この問題は私にとって面倒なことであり、これを行う方法についての文書はインターネット上にほとんどありません。だから私は他の人(後で私を含む)の問題を解決するために私が見つけた解決策を答えとして投稿します。しかし、より良い解決策がある場合は投稿してください。

ベストアンサー1

だからこれが私のアプローチです。

ステップ1:システムでスペル辞書を見つけます。私はそれをで見つけました/usr/lib/aspell/.multiとファイルが表示されます.rws。次のコマンドはすべてこのディレクトリで実行されます。

ステップ2:目的の辞書から単語リストを作成します。単語の接尾辞が辞書に保存されている場合は、拡張が必要です。

aspell --lang=en --master=en.multi  dump master > /home/user/meinwoerterbuch.txt
aspell -d de dump master | aspell -l de expand | perl -e 'while(<>){ print join("\n", split), "\n";}' >> /home/user/meinwoerterbuch.txt 

1行に1つの単語が欲しかったので、ドイツ語辞書をここで拡張する必要があったので、Perlを使用して1行に複数の単語をインポートし、各単語を追加の行に印刷しました。head辞書を拡張する必要があるかどうかを判断するには、aspell(私が推奨する)の出力を見てください。

ステップ3:辞書の言語名を選択してください。私はスペルチェックのために実際にハンガリー語辞書を使用しないと簡単に見つけることができると確信しているので、ハンガリー語を選択しました。有効なISO言語コードがあるべきだと思います。ハンガリー語の場合hu

ステップ4:hu.datファイルを作成しますhu_phonet.dat。最もうまく動作するように見える圧縮バージョンは次のとおりです。

hu.dat:

name hu 
charset iso8859-1
soundslike hu 

hu_phonet.dat:

version 0.1-2002.12.15-3

ステップ5:マージ辞書を作成する

sudo aspell --lang=hu --encoding=utf-8 create master ./hu.rws < /home/user/meinwoerterbuch.txt

txt ファイルは utf-8 でエンコードされているため、エンコード=utf-8 と入力する必要があります。それ以外の場合はエラーが発生します。

hu.multiステップ6:以下のように適切なファイルを作成します。

add hu.rws

ステップ7:スペルチェッカーでハンガリー語を選択し、スペルチェックを開始します。

おすすめ記事