Mailman の日本語化
前置き:
Majordomo(メジャードモ)
の日本語化
をやってきたが,枯れて安定しているとはいうもの
枯れ過ぎの感も否めず,古くからメーリングリストをやってる人はともかく,
新規参入者にとっては「ウエッブ・インターフェースが無い」というのは
とっつきにくい.
で,<!-- とりあえず -->
Mailman というわけ.
「国際化」プロジェクトもあるし,
Python も結構いけてる気がする.
ニュース(最新:2002/07/31)
- 2.0.13+J3 になりました(2002/07/31)
- 2.0.12+J3 になりました.(2002/07/05)
- 2.0.11+J3 になりました. J3 では日本語コード変換エンジン(kconv or unicode)
を mm_cfg.py (Defaults.py)で設定します。(2002/05/30)
- 2.0.10+J2 になりました.(2002/04/18)
- 本家バージョンアップにより 2.0.9+J2 をリリースします.(2002/04/08)
- 本家バージョンアップにより 2.0.8+J2 をリリースします.
Cross Site Scripting (CERT CA-2000-02)
に関するバグフィクスです.(2001/11/29)
- 本家バージョンアップにより 2.0.7+J2 をリリースします(2001/11/12)
- 日本語フィルターで kconv でなく Python 標準(?) の unicode を介した
JapaneseCodecs を使うモジュールを書いてみました。これにともない、
+J2 にします。(2001/11/12)
- Mailman/Archiver/HyperArch.py に charset 関係の bug 発見により修正 (2001/10/05)
- 本家セキュリティフィックスにより、2.0.6+J1 をリリースしました。(2001/08/08)
- 5/10のリリースにPythonのバージョンによってエラーになるコードがありました.
再リリースします. (2001/05/14)
- 2.0.5 ベースになりました. (2001/05/10)
- 本家 2.0.2 -> 2.0.3 のパッチを取りこみ,さらにメール応答の一部を
日本語訳しました.(2001/03/16)
- 本家2.0.1->2.0.2のセキュリティを含むパッチを取りこみました.(2001/03/07)
- 日本語コード変換を Mailman 内部に取りこみました. (2001/02/07)
- バージョンが2.0.1 になりました.(2001/01/12)
本家の 2.0.1 修正と Archive の Charset まわりに小修正があります.
日本語版のソース
mailman-2.0.13+J3.20020731.tar.gz
が最新です。
日本語処理のため、
kconv
または
JapaneseCodecs
が必要です。
日本語版 J3 では コード変換用ライブラリの切り替えを mm_cfg.py (Defaults.py)
に入れています。デフォルトの kconv を使う場合には記入の必要はありませんが、
JapaneseCodecs を使う場合には mm_cfg.py に
JAPANESE_CONVERTER = 'unicode'
を入れてください。
なお、過去にあった kconv での変換エラーは最新の kconv では修正されて
いるようです。(なので、こちらをデフォルトにしています)
インストール
README と
INSTALL の超訳を用意しました.
詳しくは(正しくは)英語版を読んでください.
以下は過去の更新記録です
とりあえず、最新版では関係ないと思いますが、うまくいかないことがあったら、
読んでみると解決のヒントがあるかもしれません。
mailman-2.0.7+J2 から, Python での日本語コード変換に JapaneseCodecs
を使えるようにしました。配付ファイルのデフォルトは kconv を使っています。
JapaneseCodecs を使うには、
- Python のバージョンが 2.0 以上であること。
- PyJUGのJapaneseCodecsのページ
から JapaneseCodecs を取ってきてインストールします.
- Mailmanソースの Mailman/Handlers ディレクトリで
% rm to_euc.py to_jis.py
% ln -s to_euc.py.unicode to_euc.py
% ln -s to_jis.py.unicode to_jis.py
のようにしてモジュールを置き換えます。
- 通常の手段で make install してください。
重要(かもしれない)
JapaneseCodecs(unicode) を利用した場合、「半角カナ, 丸に入った数字、
JIS に入っていない文字(ハシゴ高etc)」など機種依存文字はゲタになります。
(但し、kconv ではこれらはエラーになってメール配送が出来なくなることがあります)
<-これは最新版では直っているみたいです.
mailman-2.0.1+J1から,
日本語コード変換を Mailman 内部に取りこみました.そのため,
Python のライブラリ Kconv が必要になります.
日本語コード変換(ライブラリ以外の部分)は菊地の手製のため,
バグ潜在のおそれもあります.心配な方は外部でコード変換
の方を選んで下さい.
外部でコード変換のバージョンは 2.0.2 へのバージョンアップをしません.
お手数ですが,オリジナルの sourceforge から patch を取り出すか,
以下のようなソースコードの変更を手で行なってください.
- Mailman/Handlers で to_euc.py to_jis.py を .py 以外の拡張子にして
インストール時のコンパイラーにかからないようにする.
- Mailman/Handlers/HandlersAPI.py を編集して to_euc, to_jis の
書いてある行をコメントアウトする.
以上により,内部でのコード変換をしなくなり,従って Kconv も必要無くなるはずです.代わりに,下に述べる Perl での外部コード変換を行なってください.
旧版の mailman-2.0.1+J.tar.gz では,
内部でのコード変換をしません.このため,下に述べる Perl での
外部コード変換が必要になります.
2000年10月2日以前の版では入会確認メールが -request アドレスに届かなくなる
バグがあります.新しいものをご利用下さい.
2000年9月29日以前の版では Subject: が無いとエラーになるバグがあります.
新しい方をご利用下さい.
インストール
README と
INSTALL の超訳を用意しました.
詳しくは(正しくは)英語版を読んでください.
J1版を入れる前に
Kconv をインストールしてください.ソースは ここの
Download Kconv-1.1.8p Pure Python ver. (tar.gz) と書いてあるものです.
Kconv のドキュメントに従って Kconv をインストールします.python の標準
ライブラリ同様に使えるようにします.
私の場合は /usr/local/lib/pythonX.X/kconv/ の下に入れました.
% tar xvzf kconv-1.1.8p.tar.gz
% cd kconvp
% python compile.py optimize
# cp -R kconv /usr/local/lib/python2.0
コード変換部分は ~mailman/Mailman/Handlers にインストールされる
to_euc.py と to_jis.py です.旧版で必要だった /etc/aliases 記述の
変更や,jsendmail の作成は必要ありません.またメールの送信には
DELIVERY_MODULE = 'SMTPDirect' (Default.py のまま) が,使えます.
J版(コード変換は外部)で日本語メールを扱えるようにする
メールは iso-2022-jp で,内部処理は EUC でという原則.
メールヘッダはさらに mime encoding する.(してある)
ソースの変更点
(以下は変更済みの点に関するメモです.インストール作業には必要ありません)
番号を付ける
メーリングリストには通し番号が付いているものというのは,日本だけのこと
らしい.いかにも細かいところにだけうるさい日本人らしい.
幸いにも Mailman は内部に通し番号を持っていた.
使い方は subject_prefix のオプションのところで [Test #] のように [] で
囲んで # を1個だけ入れておく.そうすると Subject:[Test 4] のように
通し番号が付く.
オリジナル英語版へのパッチは
ここにあります.
注意: Subject_prefix を日本語にして番号を付けられるかというと,
できる時とできない時があるので,日本語にはしないほうが無難です.
あとは,ひたすらメッセージを翻訳
翻訳はソースツリーでやって,make install する.
翻訳は完成していません.Contribution 歓迎します
利用者の声