squirrel mail 的汉化文章网上有一大堆,基本的汉化工作相同,都是采用其自身的 语言包来解决。
(原文链接 http://ddbiz.com/?p=198)
关于 左侧菜单项中的
Drafts
Sent
Trash
三个部分的汉化,网上也是千篇一律, 都涉及到要修改代码。本文介绍的方法也涉及修改代码,但是方式稍稍不同, :-)
版本: SquirrelMail 1.4.20
语言: all_locale-1.5.1
界面设置: zh_CN/gb2312 ,配置方法不再赘述;
1. 首先修改 locale/zh_CN/LC_MESSAGES/squirrelmail.po, 增加下面部分:
msgid "INBOX.Drafts"
msgstr "草稿夹"
msgid "INBOX.Sent"
msgstr "已发邮件"
msgid "INBOX.Trash"
msgstr "垃圾箱"
2. 上面信息保存后,格式化一下:
msgfmt -o squirrelmail.mo squirrelmail.po
3. 打开修改 src/left_main.php:
找到 function formatMailboxName($imapConnection, $box_array) {
我们做的修改都在这里:
<<<
global $folder_prefix, $trash_folder, $sent_folder,
>>>
global $folder_prefix, $trash_folder, $sent_folder, $draft_folder,
<<<
if ( $mailbox == 'INBOX' ) {
$line .= _("INBOX");
} else {
$line .= str_replace(array(' ','<','>'),array(' ','<','>'), $mailbox);
}
>>>
if ( $mailbox == 'INBOX' ) {
$line .= _("INBOX");
} else if ( $real_box == $trash_folder || $real_box == $sent_folder || $real_box == $draft_folder ) {
$line .= str_replace(array(' ','<','>'),array(' ','<','>'), _("$real_box"));
} else {
$line .= str_replace(array(' ','<','>'),array(' ','<','>'), $mailbox);
}
然后保存即可。
(原文链接 http://ddbiz.com/?p=198)
这是最简洁的修改方式了
注:这样做了还不行,需要向系统增加GBK编码,GB2312编码,使用locale工具重新生成编码库。