Category Archives: SquirrelMail

SquirrelMail のフォルダ名

SquirrelMail のフォルダ名を日本語化出来ないか、と言われて少し調べてみた。

1) 現状

この Drafts Sent Trash という標準装備のフォルダ名を変えたいと。

2) 翻訳?
squirrelmail.po の中を覗いてみても、Drafts Sent Trash のエントリーが無かった。
2-a)
INBOXについては、エントリーがあるし、left_main.php の中などでも
ちゃんと

    if ( $mailbox == 'INBOX' ) {
        $line .= _("INBOX");

_(“INBOX”) で gettext仕様になっている。

2-b)
ただし、

msgid "Draft Email Saved"
msgstr "ドラフトに保存しました"

という様に、作業結果のメッセージなどは和訳されたのがある。

3) config?
config/conf.pl を動かしてやると、3. Folder Defaults のところに

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Folder Defaults
1.  Default Folder Prefix          :
2.  Show Folder Prefix Option      : false
3.  Trash Folder                   : INBOX.Trash
4.  Sent Folder                    : INBOX.Sent
5.  Drafts Folder                  : INBOX.Drafts
6.  By default, move to trash      : true
7.  By default, save sent messages : true
8.  By default, save as draft      : true

という設定項目があって、ここの 3~5でフォルダ名を変えれる。

3-a)
実際に変更してみようとすると、

Command >> 3

You can now specify where the default trash folder is located.
 (中略)
that this is 'trash', and be sure to put 'mail/' in option 1.

[INBOX.Trash]: INBOX.ゴミ箱
Folder name contains 8bit characters. Configuration utility requires
UTF7-IMAP encoded folder names.
Press any key to continue...

という具合で、日本語(8Bit文字)を直接いれられない。

3-b)
実際に、「草稿」「送信済」「ゴミ箱」というフォルダを作ってやると

root@sakura:/var/spool/mail/vhosts/XXXXXX/sayoko# ls -altr
total 240
-rw-------  1 vhost vhost      0 2011-05-25 08:46 dovecot-uidvalidity.4ddc4345
drwx--S---  5 vhost vhost   4096 2011-05-27 21:49 .INBOX.Sent
-rw-------  1 vhost vhost   1672 2011-06-07 18:13 dovecot.index
drwx--S---  5 vhost vhost   4096 2011-06-07 18:13 .INBOX.&T91bWHux-
drwx--S---  5 vhost vhost   4096 2011-06-09 13:34 .INBOX.Trash
drwx--S---  2 vhost vhost   4096 2011-06-09 13:53 tmp
drwx--S---  2 vhost vhost  12288 2011-06-09 13:54 new
-rw-------  1 vhost vhost   8464 2011-06-09 13:54 dovecot-uidlist
drwx--S---  5 vhost vhost   4096 2011-06-09 13:54 .INBOX.Drafts
-rw-------  1 vhost vhost 104448 2011-06-09 13:55 dovecot.index.cache
drwx--S---  2 vhost vhost  20480 2011-06-09 13:55 cur
drwx--S---  5 vhost vhost   4096 2011-06-09 13:58 .INBOX.&g0l6Pw-
-rw-------  1 vhost vhost  30892 2011-06-09 13:58 dovecot.index.log
drwx--S---  5 vhost vhost   4096 2011-06-09 14:00 .INBOX.asdfasdf
drwx--S---  5 vhost vhost   4096 2011-06-09 14:00 .INBOX.&MLQw33ux-
drwx--S---  5 vhost vhost   4096 2011-06-09 14:00 .INBOX.&kAFP4W4I-
-rw-------  1 vhost vhost      8 2011-06-09 14:00 dovecot-uidvalidity
-rw-------  1 vhost vhost     81 2011-06-09 14:01 subscriptions
drwx--S--- 13 vhost vhost   4096 2011-06-09 14:01 .
drwxr-sr-x 10 vhost vhost   4096 2011-06-09 14:03 ..

こんな感じで .INBOX.ほにゃにゃら のフォルダが作成されている。

3-c)
実際に名前を変えてみる。

[INBOX.Trash]: INBOX.&MLQw33ux-
Folder name contains special UTF7-IMAP characters.
Are you sure that folder name is correct? (yN): y

これを3フォルダ分やる。
しかし、「送信済」だけは 8bit文字が混ざっているといって受け付けてくれない。

3-d)
2フォルダを変更したところで SquirrelMail にログインしてみる。

2フォルダはこれで変更が完了。
WebMail でログイン時に、特殊フォルダが存在しない場合は勝手にフォルダを作成してくれる模様。
ただし、既存のフォルダの中身までは移動してくれないので、
今までSentに入っていた内容はそのまま。
自分で移動させる必要がある。
あと、Drafts とか Trash とかもう使わなくなった名前のフォルダも
もう使わないなら自分で消す必要がある。

9) おまけ
squirrelmail.po をずっと見ていて、バグというか翻訳ミスを発見してしまった。

msgid "Do not use Trash"
msgstr "Trash を使用しない"

msgid "Trash Folder"
msgstr "Trash フォルダ"

msgid "Do not use Drafts"
msgstr "Trash を使用しない"

msgid "Draft Folder"
msgstr "Draft フォルダ"

msgid "Do not use Sent"
msgstr "Sent を使用しない"

msgid "Sent Folder"
msgstr "Sent フォルダ"

“Do not use Drafts” が、「Trashを使用しない」になってる ^^;

追記
3-c) で、「送信済」というフォルダ名を UTF7-imap変換した文字列を conf.pl が受け付けてくれなかった件、
config.php ファイルを直接弄って投入したら大丈夫だった。
conf.pl でもチェックルーチンがおかしいんだと思うけど、それ以上は追求してない。
とりあえず config.php 直接弄れば大丈夫と。
最終結果

というわけで日本語化も可能だよ、ということになりました。
あとは、Draftsを「草稿」にした方がいいのか、「ドラフト」がいいのか「書き掛け」とか?
という話を決めて下さいませ。
実際のとこ、squirrelmail.po に入ってる和訳されたメッセージとかに合わせるか、
逆に .po も編集してこちらの用語で押し通すとか、そーゆーとこの判断もあるけど。

Posted in Linux, SquirrelMail | 1 Comment

SquirrelMail の patch

imap4 で検索に日本語文字列入れるとおかしくなる件。

ここで報告されてるパッチで、一発で治りました。
感謝感謝なのです。

Posted in Linux, SquirrelMail | SquirrelMail の patch はコメントを受け付けていません。

これか

/etc/postfix/main.cf

> smtpd_tls_auth_only = yes

こいつが犯人でした。

これで TLSでない時でも SMTP AUTH 動くよ

Posted in Linux, SquirrelMail | 2 Comments

phpとubuntuとlocaleと

>そして、ubuntuだとOSにインスコされてるLOCALEしか
>phpで使えないらしい、という噂。

正確には、
phpでは、.poファイルが用意されててても、OSがサポートしてないlocaleではgettextが動作しない。
って感じなのかな。
で、ubuntu 10.10は標準では、ja_JP.UTF8しか入ってないわけですよ。

以下、ubuntuで localeにeucJPを追加する方法。

/var/lib/locales/supported.d/local ファイルに一行追加

root@olive:~# cat /var/lib/locales/supported.d/local
ja_JP.UTF-8 UTF-8
en_US.UTF-8 UTF-8
ja_JP.EUC-JP EUC-JP

3行目のja_JP.EUC-JP EUC-JP を追加ね。
で、

root@olive:~# locale-gen ja_JP.EUC-JP
Generating locales...
  ja_JP.EUC-JP... up-to-date
Generation complete.

これで追加完了。

で、ちゃんと用意された .poファイルに従って日本語化完了っと♪

Posted in Linux, SquirrelMail | phpとubuntuとlocaleと はコメントを受け付けていません。

phpと戦闘中(2)

まだphpと戦っている。
setlocale() に渡される locale を原始的な printf デバッグで追っかけて、
ja_JP-UTF8 ってのを発見。なんだろう?
ja_JP.UTF8 じゃなくて – ハイフン?これってありなの?

Posted in Linux, SquirrelMail | phpと戦闘中(2) はコメントを受け付けていません。