月度归档:2012年05月

[转]SquirrelMail 汉化

好东西要自己留着,防丢

分类: Qmail System 514人阅读 评论(0) 收藏 举报

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工具重新生成编码库。

作者:zhblue 发表于2012-5-23 8:57:36 原文链接
阅读:668 评论:0 查看评论
]]>