2016年10月13日木曜日

Mac 版 Mozilla Thunderbird 50.0b1 で作成したメールの Content-Language フィールドには現在選択しているスペルチェック辞書の言語が反映される

Mac 版 Mozilla Thunderbird 50.0b1 の英語版および日本語版で作成したメールの Content-Language フィールドが、送信メッセージのテキストエンコーディングに関わらず、常に en-US になってしまうことに気付いた。

検索すると、 Thunderbird Beta Notes (50.0beta) - Mozilla

Dictionary setting is restored when editing a draft. Content-Language header (RFC 3282) transmitted with message.

との記述を発見。

もしやと思い、ドイツ語のスペルチェック辞書を追加・再起動後、ドイツ語のスペルチェック辞書を選択したところ、それ以降の送信メールについて、 Content-Language フィールドが de-DE に変わることを確認。 どうやら、 Mac 版 Mozilla Thunderbird 50.0b1 で作成したメールの Content-Language フィールドには、現在選択しているスペルチェック辞書の言語が反映されることがわかった。

わかったのだが、日本語のメールなのに Content-Language フィールドが en-US となってしまうのは気持ち悪い。

というわけで、デフォルトでインストールされる英語のスペルチェック辞書

  • /Applications/Thunderbird.app/Contents/Resources/dictionaries/en-US.aff
  • /Applications/Thunderbird.app/Contents/Resources/dictionaries/en-US.dic

をそれぞれ en-US.aff.backup, en-US.dic.backup にリネーム。 その後、 spellchecker.dictionary を ja-JP に変更し、 Thunderbird を再起動。

これで、それ以降の送信メールについて、 Content-Language フィールドを ja-JP にすることができた。

英語のスペルチェック辞書をリネーム(または削除)したのは、リネーム(または削除)しないまま spellchecker.dictionary を ja-JP に変更しても、送信メールエディタを起動した時点で(?) spellchecker.dictionary が en-US にリセットされてしまうため。

しかし、何でこんな仕様になったんだろう?

Content-Language フィールドは当該パートのメッセージ本体の言語を示すものである → しかし、送信メッセージのテキストエンコーディングだけでは、メッセージ本体の言語が確定できない(ことがある; 例えば UTF-8 が使われている場合) → スペルチェックで使われている言語でメールが書かれているはずでは? → Content-Language フィールドには、使われているスペルチェック辞書の言語を反映させればいいよね!!

といった感じなんだろうか?(´・ω・`)

0 件のコメント:

コメントを投稿