--- pine/mailpart.c.orig Fri Feb 5 07:14:39 1999 +++ pine/mailpart.c Tue Feb 23 15:32:33 1999 @@ -142,18 +142,18 @@ {HELP_MENU, OTHER_MENU, {"<",NULL,{MC_EXIT,2,{'<',','}},KS_EXITMODE}, - {">","[View]",{MC_VIEW_ATCH,5,{'v','>','.',ctrl('M'),ctrl('J')}}, + {">","[檢視]",{MC_VIEW_ATCH,5,{'v','>','.',ctrl('M'),ctrl('J')}}, KS_VIEW}, - {"P", "PrevAttch",{MC_PREVITEM,4,{'p',ctrl('B'),ctrl('P'),KEY_UP}}, + {"P", "前一附件",{MC_PREVITEM,4,{'p',ctrl('B'),ctrl('P'),KEY_UP}}, KS_PREVMSG}, - {"N", "NextAtch", + {"N", "次一附件", {MC_NEXTITEM, 5, {'n','\t',ctrl('F'),ctrl('N'), KEY_DOWN}}, KS_NEXTMSG}, PREVPAGE_MENU, NEXTPAGE_MENU, DELETE_MENU, UNDELETE_MENU, - {"S", "Save", {MC_SAVETEXT,1,{'s'}}, KS_SAVE}, + {"S", "存檔", {MC_SAVETEXT,1,{'s'}}, KS_SAVE}, {NULL, NULL, {MC_EXPORT, 1, {'e'}}, KS_EXPORT}, HELP_MENU, @@ -162,9 +162,9 @@ QUIT_MENU, PIPE_MENU, BOUNCE_MENU, - {"A","AboutAttch",{MC_ABOUTATCH,1,{'a'}},KS_NONE}, + {"A","關於附件",{MC_ABOUTATCH,1,{'a'}},KS_NONE}, WHEREIS_MENU, - {"%", "Print", MC_PRINTMSG,1,{'%'}, KS_PRINT}, + {"%", "列印", MC_PRINTMSG,1,{'%'}, KS_PRINT}, INDEX_MENU, REPLY_MENU, FORWARD_MENU}; @@ -182,10 +182,10 @@ {HELP_MENU, OTHER_MENU, {"<",NULL,{MC_EXIT,2,{'<',','}},KS_EXITMODE}, - {"Ret","[View Hilite]",{MC_VIEW_HANDLE,3, + {"Ret","[檢視 Hilite]",{MC_VIEW_HANDLE,3, {ctrl('m'),ctrl('j'),KEY_RIGHT}},KS_NONE}, - {"^B","Prev URL",{MC_PREV_HANDLE,1,{ctrl('B')}},KS_NONE}, - {"^F","Next URL",{MC_NEXT_HANDLE,1,{ctrl('F')}},KS_NONE}, + {"^B","前一 URL",{MC_PREV_HANDLE,1,{ctrl('B')}},KS_NONE}, + {"^F","次一 URL",{MC_NEXT_HANDLE,1,{ctrl('F')}},KS_NONE}, PREVPAGE_MENU, NEXTPAGE_MENU, DELETE_MENU, @@ -201,7 +201,7 @@ BOUNCE_MENU, NULL_MENU, WHEREIS_MENU, - {"%", "Print", MC_PRINTMSG,1,{'%'}, KS_PRINT}, + {"%", "列印", MC_PRINTMSG,1,{'%'}, KS_PRINT}, NULL_MENU, REPLY_MENU, FORWARD_MENU}; @@ -337,12 +337,12 @@ if(mn_total_cur(ps->msgmap) > 1L){ q_status_message(SM_ORDER | SM_DING, 0, 3, - "Can only view one message's attachments at a time."); + "同一時間僅能檢視一封信的附件!"); return; } else if(ps->atmts && ps->atmts->description && !(ps->atmts + 1)->description) q_status_message1(SM_ASYNC, 0, 3, - "Message %s has only one part (the message body), and no attachments.", + "信件 %s 僅有一部分(信件本體),沒有附件。", long2string(mn_get_cur(ps->msgmap))); /* @@ -485,7 +485,7 @@ break; if(ps->mangled_header){ - set_titlebar("ATTACHMENT INDEX", ps->mail_stream, + set_titlebar("附件索引", ps->mail_stream, ps->context_current, ps->cur_folder, ps->msgmap, 1, MessageNumber, 0, 0); ps->mangled_header = 0; @@ -523,7 +523,7 @@ last_type = current->attp->body->type; last_subtype = current->attp->body->subtype; - sprintf(backtag, "Msg #%ld", mn_get_cur(ps->msgmap)); + sprintf(backtag, "信件 #%ld", mn_get_cur(ps->msgmap)); km->keys[ATT_PARENT_KEY].label = backtag; if(F_OFF(F_ENABLE_PIPE, ps)) @@ -549,7 +549,7 @@ clrbitn(ATT_PRINT_KEY, bitmap); km->keys[ATT_EXPORT_KEY].name = "E"; - km->keys[ATT_EXPORT_KEY].label = "Export"; + km->keys[ATT_EXPORT_KEY].label = "匯出"; } if(km_popped){ @@ -615,7 +615,7 @@ break; } - helper(h_attachment_screen, "HELP FOR ATTACHMENT INDEX", 0); + helper(h_attachment_screen, "附件索引的輔助說明", 0); ps->mangled_screen = 1; break; @@ -644,7 +644,7 @@ if(ctmp = next_attline(current)) current = ctmp; else - q_status_message(SM_ORDER, 0, 1, "Already on last attachment"); + q_status_message(SM_ORDER, 0, 1, "已經到最後一附件了"); break; @@ -652,7 +652,7 @@ if(ctmp = prev_attline(current)) current = ctmp; else - q_status_message(SM_ORDER, 0, 1, "Already on first attachment"); + q_status_message(SM_ORDER, 0, 1, "已經到第一個附件了"); break; @@ -666,7 +666,7 @@ } else q_status_message(SM_ORDER, 0, 1, - "Already on last page of attachments"); + "已經在附件的最後一頁了"); break; @@ -687,7 +687,7 @@ } else q_status_message(SM_ORDER, 0, 1, - "Already on first page of attachments"); + "已經在附件的第一頁了"); break; @@ -1149,7 +1149,7 @@ { bitmap_t bitmap; - set_titlebar("ATTACHMENT INDEX", ps_global->mail_stream, + set_titlebar("附件索引", ps_global->mail_stream, ps_global->context_current, ps_global->cur_folder, ps_global->msgmap, 1, FolderName,0,0); @@ -1317,7 +1317,7 @@ gf_io_t pc; STORE_S *store; static ESCKEY_S att_save_opts[] = { - {ctrl('T'), 10, "^T", "To Files"}, + {ctrl('T'), 10, "^T", "檔案列表"}, {-1, 0, NULL, NULL}, {-1, 0, NULL, NULL}, {-1, 0, NULL, NULL}}; @@ -1346,7 +1346,7 @@ att_save_opts[++r].ch = ctrl('V'); att_save_opts[r].rval = 12; att_save_opts[r].name = "^V"; - att_save_opts[r].label = "Downld Msg"; + att_save_opts[r].label = "下載信件"; } #endif /* !(DOS || MAC) */ @@ -1354,7 +1354,7 @@ att_save_opts[++r].ch = ctrl('I'); att_save_opts[r].rval = 11; att_save_opts[r].name = "TAB"; - att_save_opts[r].label = "Complete"; + att_save_opts[r].label = "完成"; } att_save_opts[++r].ch = -1; @@ -1388,7 +1388,7 @@ if(ps_global->restricted){ q_status_message(SM_ORDER | SM_DING, 3, 3, - "Download disallowed in restricted mode"); + "限制模式中不允許\下載"); return; } @@ -1396,7 +1396,7 @@ tfp = temp_nam(NULL, "pd"); dprint(1, (debugfile, "Download attachment called!\n")); if(store = so_get(FileStar, tfp, WRITE_ACCESS|OWNER_ONLY)){ - sprintf(prompt_buf, "Saving to \"%.50s\"", tfp); + sprintf(prompt_buf, "正在存入 \"%.50s\"", tfp); we_cancel = init_att_progress(prompt_buf, ps_global->mail_stream, a->body); @@ -1405,7 +1405,7 @@ if(err = detach(ps_global->mail_stream, msgno, a->number, &len, pc, NULL)) q_status_message2(SM_ORDER | SM_DING, 3, 5, - "%s: Error writing attachment to \"%s\"", + "%s: \\寫入附件至 \"%s\" 時發生錯誤", err, tfp); /* cancel regardless, so it doesn't get in way of xfer */ @@ -1422,18 +1422,18 @@ (void)close_system_pipe(&syspipe); else q_status_message(SM_ORDER | SM_DING, 3, 3, - err = "Error running download command"); + err = "執行下載命令時發生錯誤"); } unlink(tfp); } else q_status_message(SM_ORDER | SM_DING, 3, 3, - err = "Error building temp file for download"); + err = "建立暫存檔時發生錯誤"); fs_give((void **)&tfp); if(!err) - q_status_message1(SM_ORDER, 0, 4, "Part %s downloaded", + q_status_message1(SM_ORDER, 0, 4, "已下載第 %s 部份", a->number); return; @@ -1445,12 +1445,12 @@ if((store = so_get(FileStar, full_filename, WRITE_ACCESS)) == NULL){ q_status_message2(SM_ORDER | SM_DING, 3, 5, - "Error opening destination %s: %s", + "開啟目地檔 %s 時發生錯誤:%s", full_filename, error_description(errno)); return; } - sprintf(prompt_buf, "Saving to \"%.50s\"", full_filename); + sprintf(prompt_buf, "正在存入 \"%.50s\"", full_filename); we_cancel = init_att_progress(prompt_buf, ps_global->mail_stream, a->body); gf_set_so_writec(&pc, store); @@ -1469,7 +1469,7 @@ truncate(full_filename, (over == -1) ? orig_size : 0); q_status_message2(SM_ORDER | SM_DING, 3, 5, - "%s: Error writing attachment to \"%s\"", + "%s:寫入附件至 \"%s\" 時發生錯誤", err, full_filename); } else{ @@ -1547,7 +1547,7 @@ MESSAGECACHE *mc; STORE_S *so; - sprintf(nmsgs, "Attached Msg (part %s) ", a->number); + sprintf(nmsgs, "附加的信件 (第 %s 部份) ", a->number); if(save_prompt(ps_global, &cntxt, newfolder, nmsgs, a->body->nested.msg->env, msgno, a->number)){ save_folder = (strucmp(newfolder, ps_global->inbox_name) == 0) @@ -1569,11 +1569,11 @@ a->body->size.bytes, flags, date, so); if(rv == 1) q_status_message2(SM_ORDER, 0, 4, - "Attached message (part %s) saved to \"%s\"", + "附加的 digest(第 %s 部份) 存為 \"%s\"", a->number, save_folder); else if(rv == -1) - cmd_cancelled("Attached message Save"); + cmd_cancelled("存入附加訊息"); /* else whatever broke in save_fetch_append shoulda bitched */ so_give(&so); @@ -1615,7 +1615,7 @@ if(MIME_MSG(part->body.type, part->body.subtype)) cnt++; - sprintf(nmsgs, "%d Msg Digest (part %s) ", cnt, a->number); + sprintf(nmsgs, "%d 信件 Digest (第 %s 部份) ", cnt, a->number); if(save_prompt(ps_global, &cntxt, newfolder, nmsgs, NULL, 0, NULL)){ save_folder = (strucmp(newfolder, ps_global->inbox_name) == 0) @@ -1649,11 +1649,11 @@ if(rv == 1) q_status_message2(SM_ORDER, 0, 4, - "Attached digest (part %s) saved to \"%s\"", + "附加的 digest(第 %s 部份) 存為 \"%s\"", a->number, save_folder); else if(rv == -1) - cmd_cancelled("Attached digest Save"); + cmd_cancelled("存入附加的 digest"); /* else whatever broke in save_fetch_append shoulda bitched */ if(our_stream) @@ -1707,7 +1707,7 @@ ATTACH_S *ap = a; STORE_S *store; static ESCKEY_S opts[] = { - {ctrl('T'), 10, "^T", "To Files"}, + {ctrl('T'), 10, "^T", "檔案列表"}, {-1, 0, NULL, NULL}, {-1, 0, NULL, NULL}}; @@ -1715,7 +1715,7 @@ opts[i].ch = ctrl('I'); opts[i].rval = 11; opts[i].name = "TAB"; - opts[i].label = "Complete"; + opts[i].label = "完成"; } filename[0] = full_filename[0] = '\0'; @@ -1728,12 +1728,12 @@ if(rv < 0){ switch(rv){ case -1: - cmd_cancelled("Export"); + cmd_cancelled("匯出檔案"); break; case -2: q_status_message1(SM_ORDER, 0, 2, - "Can't export to file outside of %s", + "無法將檔案匯出至 %s 以外的地方", ps_global->VAR_OPER_DIR); break; } @@ -1747,17 +1747,17 @@ q_status_message(SM_ORDER | SM_DING, 3, 4, err); else q_status_message3(SM_ORDER, 0, 4, - "Attached message (part %s) %s to \"%s\"", + "附件(第 %s 部份)%s至 \"%s\"", a->number, - over==0 ? "written" - : over==1 ? "overwritten" : "appended", + over==0 ? "寫入" + : over==1 ? "覆蓋\" : "附加", full_filename); so_give(&store); } else q_status_message2(SM_ORDER | SM_DING, 3, 4, - "Error opening file \"%s\" to export message: %s", + "無法開啟檔案 \"%s\" 以供匯出信件:%s", full_filename, error_description(errno)); } @@ -1780,7 +1780,7 @@ ATTACH_S *ap; STORE_S *store; static ESCKEY_S opts[] = { - {ctrl('T'), 10, "^T", "To Files"}, + {ctrl('T'), 10, "^T", "檔案列表"}, {-1, 0, NULL, NULL}, {-1, 0, NULL, NULL}}; @@ -1788,7 +1788,7 @@ opts[i].ch = ctrl('I'); opts[i].rval = 11; opts[i].name = "TAB"; - opts[i].label = "Complete"; + opts[i].label = "完成"; } filename[0] = full_filename[0] = '\0'; @@ -1801,12 +1801,12 @@ if(rv < 0){ switch(rv){ case -1: - cmd_cancelled("Export"); + cmd_cancelled("匯出檔案"); break; case -2: q_status_message1(SM_ORDER, 0, 2, - "Can't export to file outside of %s", + "無法將檔案匯出至 %s 以外的地方", ps_global->VAR_OPER_DIR); break; } @@ -1828,7 +1828,7 @@ sprintf(tmp_20k_buf, " [Unknown Message subtype: %s ]\n", ap->body->subtype); if(!so_puts(store, tmp_20k_buf)) - err = "Can't write export file"; + err = "無法寫入匯出檔"; } else{ count++; @@ -1837,29 +1837,29 @@ } } else if(!so_puts(store, "Unknown type in Digest")) - err = "Can't write export file"; + err = "無法寫入匯出檔"; } so_give(&store); if(err){ q_status_message1(SM_ORDER | SM_DING, 3, 3, - "Error exporting: %s", err); + "匯出檔案時發生錯誤:%s", err); q_status_message1(SM_ORDER | SM_DING, 3, 3, - "%s messages exported before error occurred", err); + "%s 封信件在錯誤產生之前被匯出", err); } else q_status_message4(SM_ORDER, 0, 4, - "%s messages in digest (part %s) %s to \"%s\"", + "共 %s 封信件(第 %s 部份)%s至 \"%s\"", long2string(count), a->number, - over==0 ? "written" - : over==1 ? "overwritten" : "appended", + over==0 ? "被寫入" + : over==1 ? "被覆蓋\" : "被附加", full_filename); } else q_status_message2(SM_ORDER | SM_DING, 3, 4, - "Error opening file \"%s\" to export digest: %s", + "無法開啟檔案 \"%s\" 以供匯出 digest:%s", full_filename, error_description(errno)); } @@ -1928,7 +1928,7 @@ q_status_message2(SM_ORDER | SM_DING, 3, 3, - "Error printing message %s, part %s", + "無法列印第 %s 封信件的第 %s 部份", long2string(msgno), a->number); return(0); } @@ -2009,14 +2009,14 @@ /*----- Can't display this type ------*/ if(a->body->encoding < ENCOTHER) q_status_message4(SM_ORDER | SM_DING, 3, 5, - "Don't know how to display %s%s%s attachments.%s", + "不知如何顯示 %s%s%s 的附件。%s", body_type_names(a->body->type), a->body->subtype ? "/" : "", a->body->subtype ? a->body->subtype :"", - (flags & DA_SAVE) ? " Try Save." : ""); + (flags & DA_SAVE) ? " 試試存檔。" : ""); else q_status_message1(SM_ORDER | SM_DING, 3, 5, - "Don't know how to unpack \"%s\" encoding", + "不知如何解開 \"%s\" 的編碼", body_encodings[(a->body->encoding <= ENCMAX) ? a->body->encoding : ENCOTHER]); @@ -2238,7 +2238,7 @@ clear_index_cache_ent(msgno); if(store = format_text_att(msgno, a, &handles)){ - scroll_attachment("ATTACHED TEXT", store, CharStar, handles, a, flags); + scroll_attachment("附件文字", store, CharStar, handles, a, flags); free_handles(&handles); so_give(&store); /* free resources associated with store */ } @@ -2406,22 +2406,22 @@ memset(&sargs, 0, sizeof(SCROLL_S)); sargs.text.text = so_text(store); sargs.text.src = src; - sargs.text.desc = "attachment"; + sargs.text.desc = "附件"; sargs.text.handles = handles; sargs.bar.title = title; sargs.proc.tool = process_attachment_cmd; sargs.proc.data.p = (void *) a; sargs.help.text = h_mail_text_att_view; - sargs.help.title = "HELP FOR ATTACHED TEXT VIEW"; + sargs.help.title = "檢視附件文字的輔助說明"; sargs.keys.menu = &att_view_keymenu; setbitmap(sargs.keys.bitmap); /* First, fix up "back" key */ if(flags & DA_FROM_VIEW){ - att_view_keymenu.keys[ATV_BACK_KEY].label = "MsgText"; + att_view_keymenu.keys[ATV_BACK_KEY].label = "信件文字"; } else{ - att_view_keymenu.keys[ATV_BACK_KEY].label = "AttchIndex"; + att_view_keymenu.keys[ATV_BACK_KEY].label = "附件索引"; } if(!handles){ @@ -2853,9 +2853,9 @@ sargs.text.text = so_text(store); sargs.text.src = CharStar; sargs.text.desc = "attachment info"; - sargs.bar.title = "ABOUT ATTACHMENT"; + sargs.bar.title = "附件資訊"; sargs.help.text = h_simple_text_view; - sargs.help.title = "HELP FOR \"ABOUT ATTACHMENT\""; + sargs.help.title = "\"關於附件\"的輔助說明"; scrolltool(&sargs); @@ -2970,7 +2970,7 @@ else /* partially formatted outgoing message */ pine_send(outgoing, &body, ps_global->nr_mode - ? "SEND MESSAGE" : "FORWARD MESSAGE", + ? "送出信件" : "轉寄信件", role, NULL, NULL, redraft_pos, NULL, NULL, FALSE); ps_global->mangled_screen = 1; @@ -2988,12 +2988,12 @@ so_give((STORE_S **) &msgtext); free_redraft_pos(&redraft_pos); q_status_message(SM_ORDER | SM_DING, 4, 5, - "Error fetching message contents. Can't forward message."); + "取得信件內容時發生錯誤。無法轉寄信件。"); } } else q_status_message(SM_ORDER | SM_DING, 3, 4, - "Error allocating message text"); + "無法配置信件文字"); mail_free_envelope(&outgoing); free_role(&role); @@ -3032,7 +3032,7 @@ ret = 'n'; if(ps_global->full_header) - ret = want_to("Forward message as an attachment", 'n', 0, + ret = want_to("將信件以附件形式轉寄", 'n', 0, NO_HELP, WT_SEQ_SENSITIVE); /* Setup possible role */ if(!ps_global->anonymous && (pattern_h = open_nonempty_patterns())){ @@ -3043,7 +3043,7 @@ else{ /* cancel reply */ role = NULL; close_patterns(&pattern_h); - cmd_cancelled("Forward"); + cmd_cancelled("轉寄"); mail_free_envelope(&outgoing); so_give((STORE_S **) &msgtext); return; @@ -3121,7 +3121,7 @@ pine_simple_send(outgoing, &body, NULL, NULL, NULL, 1); else /* partially formatted outgoing message */ pine_send(outgoing, &body, - ps_global->nr_mode ? "SEND MESSAGE" : "FORWARD MESSAGE", + ps_global->nr_mode ? "送出信件" : "轉寄信件", role, NULL, NULL, redraft_pos, NULL, NULL, FALSE); ps_global->mangled_screen = 1; @@ -3138,16 +3138,16 @@ else{ so_give((STORE_S **) &msgtext); q_status_message(SM_ORDER | SM_DING, 4, 5, - "Error fetching message contents. Can't forward message."); + "取得信件內容時發生錯誤。無法轉寄信件。"); } } else q_status_message(SM_ORDER | SM_DING, 3, 4, - "Error allocating message text"); + "無法配置信件文字"); } else q_status_message1(SM_ORDER,3,4, - "Error fetching message %s. Can't forward it.", + "取得信件 %s 的內容時發生錯誤。無法轉寄它。", long2string(msgno)); mail_free_envelope(&outgoing); @@ -3256,7 +3256,7 @@ : ps_global->VAR_SIGNATURE_FILE, &redraft_pos)){ /* partially formatted outgoing message */ - pine_send(outgoing, &body, "COMPOSE MESSAGE REPLY", + pine_send(outgoing, &body, "編輯信件回函", role, fcc.tptr, NULL, redraft_pos, NULL, NULL, 0); pine_free_body(&body); @@ -3264,13 +3264,13 @@ } else q_status_message(SM_ORDER | SM_DING, 3, 4, - "Error building message body"); + "無法建立信件本體"); fs_give((void **) &tp); } else q_status_message(SM_ORDER | SM_DING, 3, 4, - "Error allocating message text"); + "無法配置信件文字"); } seeyalater: @@ -3340,7 +3340,7 @@ sprintf(prompt, "Pipe %sattachment %s to %s: ", raw ? "RAW " : "", a->number, capture ? "" : "(Free Output) "); - pipe_opt[1].label = raw ? "DecodedData" : "Raw Data"; + pipe_opt[1].label = raw ? "解碼後的資料" : "原始資料"; pipe_opt[2].label = capture ? "Free Output" : "Capture Output"; flags = OE_APPEND_CURRENT | OE_SEQ_SENSITIVE; rc = optionally_enter(pipe_command, -FOOTER_ROWS(ps_global), 0, @@ -3358,7 +3358,7 @@ } else if(rc == 0){ if(pipe_command[0] == '\0'){ - cmd_cancelled("Pipe command"); + cmd_cancelled("導向命令"); break; } @@ -3436,7 +3436,7 @@ break; } else if(rc == 1){ - cmd_cancelled("Pipe"); + cmd_cancelled("導向"); break; } else if(rc = 3)