summaryrefslogtreecommitdiff
path: root/chinese/pine4/files/patch-ay
diff options
context:
space:
mode:
Diffstat (limited to 'chinese/pine4/files/patch-ay')
-rw-r--r--chinese/pine4/files/patch-ay878
1 files changed, 878 insertions, 0 deletions
diff --git a/chinese/pine4/files/patch-ay b/chinese/pine4/files/patch-ay
new file mode 100644
index 000000000000..0386a9814fc9
--- /dev/null
+++ b/chinese/pine4/files/patch-ay
@@ -0,0 +1,878 @@
+--- pine/addrbook.c.orig Sat Jan 17 20:28:24 1998
++++ pine/addrbook.c Sat Jan 17 21:01:08 1998
+@@ -514,9 +514,9 @@
+
+ #define CLICKHERE "[ Select Here to See Expanded List ]"
+ #define NO_PERMISSION "[ Permission Denied ]"
+-#define EMPTY "[ Empty ]"
+-#define READONLY "(ReadOnly)"
+-#define NOACCESS "(Un-readable)"
++#define EMPTY "[ 沒有任何項目 ]"
++#define READONLY "(唯讀)"
++#define NOACCESS "(無法讀取)"
+ #define DISTLIST "DISTRIBUTION LIST:"
+
+ #define MAX_FCC MAX_ADDRESS
+@@ -760,7 +760,7 @@
+ readonly_warning(NO_DING, NULL);
+ else if(pab->access == NoAccess)
+ q_status_message(SM_ORDER, 0, 4,
+- "AddressBook not accessible, permission denied");
++ "禁止存取地址簿");
+ }
+
+ /*
+@@ -921,7 +921,7 @@
+
+ dprint(2, (debugfile, "parse_format: ignoring unrecognized word \"%s\" in address-book-formats\n", p));
+ q_status_message1(SM_ORDER, warnings++==0 ? 1 : 0, 4,
+- "Ignoring unrecognized word \"%s\" in address-book-formats", p);
++ "在地址簿格式中忽略無法辨識的字 \"%s\"", p);
+ /* put back space */
+ if(r)
+ *r = SPACE;
+@@ -991,7 +991,7 @@
+
+ if(column == 0){
+ q_status_message(SM_ORDER, 0, 4,
+- "address-book-formats has no recognizable words, using default format");
++ "由於在地址簿格式中找不到足以辨識的字, 因此使用預設模式");
+ goto assign_default;
+ }
+
+@@ -1526,7 +1526,7 @@
+ if(want_status == Open){
+ new_status = HalfOpen; /* best we can do */
+ q_status_message1(SM_ORDER | SM_DING, *warning?1:3, 4,
+- "Error opening/creating address book %s",
++ "於開啟/建立在地址簿 %s 時發生錯誤",
+ pab->nickname);
+ if(*warning)
+ q_status_message2(SM_ORDER, 3, 4, "%s: %s",
+@@ -1603,7 +1603,7 @@
+ if(want_status == Open){
+ new_status = HalfOpen; /* best we can do */
+ q_status_message1(SM_ORDER | SM_DING, 3, 4,
+- "Insufficient permissions for opening address book %s",
++ "沒有足夠的權限開啟地址簿 %s",
+ pab->nickname);
+ }
+ else
+@@ -3929,7 +3929,7 @@
+ mailcap_free(); /* free resources we won't be using for a while */
+
+ if(setjmp(addrbook_changed_unexpectedly)){
+- q_status_message(SM_ORDER, 5, 10, "Resetting address book...");
++ q_status_message(SM_ORDER, 5, 10, "重設地址簿...");
+ dprint(1, (debugfile, "RESETTING address book... addr_book_screen!\n"));
+ addrbook_reset();
+ }
+@@ -3959,7 +3959,7 @@
+
+ memcpy(save_jmp_buf, addrbook_changed_unexpectedly, sizeof(jmp_buf));
+ if(setjmp(addrbook_changed_unexpectedly)){
+- q_status_message(SM_ORDER, 5, 10, "Resetting address book...");
++ q_status_message(SM_ORDER, 5, 10, "正在重設地址簿...");
+ dprint(1,
+ (debugfile, "RESETTING address book... addr_book_compose!\n"));
+ addrbook_reset();
+@@ -4000,7 +4000,7 @@
+
+ memcpy(save_jmp_buf, addrbook_changed_unexpectedly, sizeof(jmp_buf));
+ if(setjmp(addrbook_changed_unexpectedly)){
+- q_status_message(SM_ORDER, 5, 10, "Resetting address book...");
++ q_status_message(SM_ORDER, 5, 10, "正在重設地址簿...");
+ dprint(1,
+ (debugfile, "RESETTING address book... addr_book_compose_lcc!\n"));
+ addrbook_reset();
+@@ -4034,7 +4034,7 @@
+
+ memcpy(save_jmp_buf, addrbook_changed_unexpectedly, sizeof(jmp_buf));
+ if(setjmp(addrbook_changed_unexpectedly)){
+- q_status_message(SM_ORDER, 5, 10, "Resetting address book...");
++ q_status_message(SM_ORDER, 5, 10, "正在重設地址簿...");
+ dprint(1,
+ (debugfile, "RESETTING address book... addr_book_change_list!\n"));
+ addrbook_reset();
+@@ -4081,7 +4081,7 @@
+
+ memcpy(save_jmp_buf, addrbook_changed_unexpectedly, sizeof(jmp_buf));
+ if(setjmp(addrbook_changed_unexpectedly)){
+- q_status_message(SM_ORDER, 5, 10, "Resetting address book...");
++ q_status_message(SM_ORDER, 5, 10, "正在重設地址簿...");
+ dprint(1,
+ (debugfile, "RESETTING address book...addr_book_takeaddr!\n"));
+ addrbook_reset();
+@@ -4112,7 +4112,7 @@
+
+ memcpy(save_jmp_buf, addrbook_changed_unexpectedly, sizeof(jmp_buf));
+ if(setjmp(addrbook_changed_unexpectedly)){
+- q_status_message(SM_ORDER, 5, 10, "Resetting address book...");
++ q_status_message(SM_ORDER, 5, 10, "正在重設地址簿...");
+ dprint(1,
+ (debugfile, "RESETTING address book...addr_book_nick_for_edit!\n"));
+ addrbook_reset();
+@@ -4143,7 +4143,7 @@
+
+ memcpy(save_jmp_buf, addrbook_changed_unexpectedly, sizeof(jmp_buf));
+ if(setjmp(addrbook_changed_unexpectedly)){
+- q_status_message(SM_ORDER, 5, 10, "Resetting address book...");
++ q_status_message(SM_ORDER, 5, 10, "正在重設地址簿...");
+ dprint(1,
+ (debugfile, "RESETTING address book...addr_book_selnick!\n"));
+ addrbook_reset();
+@@ -4174,7 +4174,7 @@
+
+ memcpy(save_jmp_buf, addrbook_changed_unexpectedly, sizeof(jmp_buf));
+ if(setjmp(addrbook_changed_unexpectedly)){
+- q_status_message(SM_ORDER, 5, 10, "Resetting address book...");
++ q_status_message(SM_ORDER, 5, 10, "正在重設地址簿...");
+ dprint(1,
+ (debugfile, "RESETTING address book...addr_book_seladdr!\n"));
+ addrbook_reset();
+@@ -4206,7 +4206,7 @@
+
+ memcpy(save_jmp_buf, addrbook_changed_unexpectedly, sizeof(jmp_buf));
+ if(setjmp(addrbook_changed_unexpectedly)){
+- q_status_message(SM_ORDER, 5, 10, "Resetting address book...");
++ q_status_message(SM_ORDER, 5, 10, "正在重設地址簿...");
+ dprint(1,
+ (debugfile,"RESETTING address book...addr_book_seladdr_nofull!\n"));
+ addrbook_reset();
+@@ -4237,7 +4237,7 @@
+
+ memcpy(save_jmp_buf, addrbook_changed_unexpectedly, sizeof(jmp_buf));
+ if(setjmp(addrbook_changed_unexpectedly)){
+- q_status_message(SM_ORDER, 5, 10, "Resetting address book...");
++ q_status_message(SM_ORDER, 5, 10, "正在重設地址簿...");
+ dprint(1,
+ (debugfile, "RESETTING address book...addr_book_manynicks!\n"));
+ addrbook_reset();
+@@ -4249,18 +4249,18 @@
+
+
+ static struct key ab_keys[] =
+- {{"?","Help",KS_SCREENHELP}, {"O","OTHER CMDS",KS_NONE},
+- {NULL,NULL,KS_NONE}, {NULL,NULL,KS_NONE},
+- {"P","PrevEntry",KS_NONE}, {"N","NextEntry",KS_NONE},
+- {"-","PrevPage",KS_PREVPAGE}, {"Spc","NextPage",KS_NEXTPAGE},
+- {"D","Delete",KS_DELETE}, {"A","AddNew",KS_NONE},
+- {"C","ComposeTo",KS_COMPOSER}, {"W","WhereIs",KS_WHEREIS},
+- {"?","Help",KS_SCREENHELP}, {"O","OTHER CMDS",KS_NONE},
+- {"Q","Quit",KS_EXIT}, {NULL,NULL,KS_NONE},
+- {"L","ListFldrs",KS_FLDRLIST}, {"G","GotoFldr",KS_GOTOFLDR},
+- {"I","Index",KS_FLDRINDEX}, {NULL,NULL,KS_NONE},
+- {"Y","prYnt",KS_PRINT}, {"T","TakeAddr",KS_TAKEADDR},
+- {"X","eXport",KS_EXPORT}, {"F","Forward",KS_NONE}};
++ {{"?","輔助說明",KS_SCREENHELP}, {"O","其它命令",KS_NONE},
++ {NULL,NULL,KS_NONE}, {NULL,NULL,KS_NONE},
++ {"P","前一個",KS_NONE}, {"N","後一個",KS_NONE},
++ {"-","上一頁",KS_PREVPAGE}, {"Spc","下一頁",KS_NEXTPAGE},
++ {"D","刪除",KS_DELETE}, {"A","加入",KS_NONE},
++ {"C","寫信",KS_COMPOSER}, {"W","搜尋",KS_WHEREIS},
++ {"?","輔助說明",KS_SCREENHELP}, {"O","其它命令",KS_NONE},
++ {"Q","離開",KS_EXIT}, {NULL,NULL,KS_NONE},
++ {"L","列出信件夾",KS_FLDRLIST}, {"G","進入信件夾",KS_GOTOFLDR},
++ {"I","索引",KS_FLDRINDEX}, {NULL,NULL,KS_NONE},
++ {"Y","列印",KS_PRINT}, {"T","取得地址",KS_TAKEADDR},
++ {"X","匯出",KS_EXPORT}, {"F","轉寄",KS_NONE}};
+ INST_KEY_MENU(ab_keymenu, ab_keys);
+ #define OTHER_KEY 1
+ #define MAIN_KEY 2
+@@ -4376,7 +4376,7 @@
+ what = FirstMenu;
+
+ if(!init_addrbooks(HalfOpen, 1, 1, !are_selecting)){
+- q_status_message(SM_ORDER | SM_DING,3,4,"No Address Book Configured");
++ q_status_message(SM_ORDER | SM_DING,3,4,"無法找到已設定的地址簿");
+ if(!are_selecting)
+ ps_global->next_screen = ps_global->prev_screen;
+
+@@ -4473,7 +4473,7 @@
+ as.cur = cur_addr_book();
+ pab = &as.adrbks[as.cur];
+ if(as.cur != old_cur)
+- q_status_message1(SM_ORDER, 0, 2, "Now in addressbook %s",
++ q_status_message1(SM_ORDER, 0, 2, "現在正在地址簿 %s 中",
+ pab->nickname);
+ #ifdef _WINDOWS
+ {
+@@ -4506,7 +4506,7 @@
+ as.cur = cur_addr_book();
+ pab = &as.adrbks[as.cur];
+ if(as.cur != old_cur)
+- q_status_message1(SM_ORDER, 0, 2, "Now in addressbook %s",
++ q_status_message1(SM_ORDER, 0, 2, "現在正在地址簿 %s 中",
+ pab->nickname);
+ }
+
+@@ -4531,10 +4531,10 @@
+ if(are_selecting){
+ km->how_many = 1;
+ ab_keys[MAIN_KEY].name = "E";
+- ab_keys[MAIN_KEY].label = "ExitSelect";
++ ab_keys[MAIN_KEY].label = "離開";
+ KS_OSDATASET(&ab_keys[MAIN_KEY], KS_EXITMODE);
+ ab_keys[SELECT_KEY].name = "S";
+- ab_keys[SELECT_KEY].label = "[Select]";
++ ab_keys[SELECT_KEY].label = "[選擇]";
+ def_cmd = F_ON(F_USE_FK,ps_global) ? PF4 : 's';
+ KS_OSDATASET(&ab_keys[SELECT_KEY], KS_NONE);
+ clrbitn(OTHER_KEY, bitmap);
+@@ -4545,18 +4545,18 @@
+ KS_OSDATASET(&ab_keys[DELETE_KEY], KS_NONE);
+ if(as.checkboxes){
+ ab_keys[DELETE_KEY].name = "X";
+- ab_keys[DELETE_KEY].label = "[Set/Unset]";
+- ab_keys[SELECT_KEY].label = "Select";
++ ab_keys[DELETE_KEY].label = "[設定/取消設定]";
++ ab_keys[SELECT_KEY].label = "選擇";
+ def_cmd = F_ON(F_USE_FK,ps_global) ? PF9 : 'x';
+ if(entry_is_clickable(as.top_ent+as.cur_row)){
+ def_cmd = F_ON(F_USE_FK,ps_global) ? PF4 : 's';
+- ab_keys[DELETE_KEY].label = "Set/Unset";
+- ab_keys[SELECT_KEY].label = "[Select]";
++ ab_keys[DELETE_KEY].label = "設定/取消設定";
++ ab_keys[SELECT_KEY].label = "[選擇]";
+ }
+ }
+ else if(listmode_ok){
+ ab_keys[DELETE_KEY].name = "L";
+- ab_keys[DELETE_KEY].label = "ListMode";
++ ab_keys[DELETE_KEY].label = "列表模式";
+ }
+ else
+ clrbitn(DELETE_KEY, bitmap);
+@@ -4564,23 +4564,23 @@
+ else{
+ km->how_many = 2;
+ ab_keys[MAIN_KEY].name = "M";
+- ab_keys[MAIN_KEY].label = "Main Menu";
++ ab_keys[MAIN_KEY].label = "主選單";
+ KS_OSDATASET(&ab_keys[MAIN_KEY], KS_MAINMENU);
+ if(entry_is_clickable(as.top_ent+as.cur_row)){
+ ab_keys[SELECT_KEY].name = "S";
+- ab_keys[SELECT_KEY].label = "[Select]";
++ ab_keys[SELECT_KEY].label = "[選擇]";
+ def_cmd = F_ON(F_USE_FK,ps_global) ? PF4 : 's';
+ KS_OSDATASET(&ab_keys[SELECT_KEY], KS_NONE);
+ }
+ else{
+ ab_keys[SELECT_KEY].name = "V";
+- ab_keys[SELECT_KEY].label = "[View/Edit]";
++ ab_keys[SELECT_KEY].label = "[檢視/編輯]";
+ def_cmd = F_ON(F_USE_FK,ps_global) ? PF4 : 'v';
+ KS_OSDATASET(&ab_keys[SELECT_KEY], KS_NONE);
+ }
+
+ ab_keys[DELETE_KEY].name = "D";
+- ab_keys[DELETE_KEY].label = "Delete";
++ ab_keys[DELETE_KEY].label = "刪除";
+ KS_OSDATASET(&ab_keys[DELETE_KEY], KS_DELETE);
+ if(was_clickable_last_time) /* it's still *this* time now */
+ clrbitn(SENDTO_KEY, bitmap);
+@@ -4648,7 +4648,7 @@
+ #endif
+ orig_c = c;
+
+- if(c == ctrl('M') || c == ctrl('J')) /* set up default */
++ if(c == ctrl('M') || c == ctrl('J') || c == KEY_RIGHT) /* set up default */
+ c = def_cmd;
+
+ if(c < 'z' && isupper((unsigned char)c))
+@@ -4749,13 +4749,14 @@
+
+
+ /*------------- Back to main menu or exit to caller -------*/
++ case KEY_LEFT:
+ case PF3:
+ case 'm':
+ case 'e':
+ if(!are_selecting && c == 'e'){
+ /* backwards compatibility message */
+ q_status_message(SM_ORDER | SM_DING, 0, 2,
+- "Command \"E\" not defined. Use \"View/Edit\" to edit an entry");
++ "\"E\" 這個命令尚未被定義. 請使用 \"View/Edit\" 編輯選項");
+ break;
+ }
+
+@@ -4766,7 +4767,7 @@
+ ps_global->next_screen = main_menu_screen;
+
+ if(!(are_selecting && as.checkboxes && checkedn > 0)
+- || want_to("Really abandon your selections ",
++ || want_to("確定放棄你的選擇 ",
+ 'y', 'x', NO_HELP, 0, 0) == 'y')
+ quit = 1;
+
+@@ -4780,7 +4781,7 @@
+ if(c == 's'
+ && !(are_selecting || entry_is_clickable(as.top_ent+as.cur_row))){
+ q_status_message(SM_ORDER | SM_DING, 0, 2,
+- "Command \"S\" not defined. Use \"AddNew\" to create a list");
++ "\"S\" 這個命令尚未被定義. 請使用 \"AddNew\" 建立列表");
+ break;
+ }
+
+@@ -4843,7 +4844,7 @@
+ /* Select an entry to mail to or a nickname to add to */
+ if(!any_addrs_avail(as.top_ent+as.cur_row)){
+ q_status_message(SM_ORDER | SM_DING, 0, 4,
+- "No entries in address book. Use ExitSelect to leave address book");
++ "地址簿中找不到任何項目. 請以 離開選擇(E) 離開");
+ break;
+ }
+
+@@ -4874,7 +4875,7 @@
+ }
+ else if(as.checkboxes && checkedn <= 0){
+ q_status_message(SM_ORDER, 0, 1,
+- "Use \"X\" to mark addresses or lists");
++ "使用 \"X\" 標記地址或列表");
+ break;
+ }
+ else if(as.checkboxes){
+@@ -4978,7 +4979,7 @@
+ if(selecting_mult_nicks){
+ if(dl->type != ListHead && style == SelectAddrLccCom){
+ q_status_message(SM_ORDER, 0, 4,
+- "You may only select lists for lcc, use bcc for other addresses");
++ "僅能選擇 lcc 列表, 其他的地址請用 bcc");
+ break;
+ }
+ else{
+@@ -5004,7 +5005,7 @@
+ }
+ else if(dl->type == ListHead && no_fullname){
+ q_status_message(SM_ORDER, 0, 4,
+- "You may not select a list, select a single address instead");
++ "無法選擇一個列表, 改以選擇單一地址取代之");
+ break;
+ }
+ else{
+@@ -5074,8 +5075,8 @@
+ return(addr); /* Caller frees this */
+ }
+ else{
+- q_status_message1(SM_ORDER, 3, 4, "No %s selected",
+- selecting_nick ? "nickname" : "address");
++ q_status_message1(SM_ORDER, 3, 4, "尚未選取%s",
++ selecting_nick ? "暱稱" : "地址");
+ break;
+ }
+ }
+@@ -5092,7 +5093,7 @@
+ edit:
+ if((c == 'v' || c == PF4 || c == KEY_MOUSE)
+ && !any_addrs_avail(as.top_ent+as.cur_row)){
+- q_status_message(SM_ORDER, 0, 4, "No entries to view");
++ q_status_message(SM_ORDER, 0, 4, "沒有可供檢視的項目");
+ break;
+ }
+
+@@ -5161,7 +5162,7 @@
+ }
+ else{
+ q_status_message(SM_ORDER, 0, 3,
+- "Current line is not editable");
++ "無法編輯本行");
+ break;
+ }
+ }
+@@ -5212,7 +5213,7 @@
+
+ r = prev_selectable_line(as.cur_row+as.top_ent, &new_line);
+ if(r == 0){
+- q_status_message(SM_INFO, 0, 1, "Already on first line.");
++ q_status_message(SM_INFO, 0, 1, "已經到第一行了.");
+ break;
+ }
+
+@@ -5254,7 +5255,7 @@
+
+ r = next_selectable_line(as.cur_row+as.top_ent, &new_line);
+ if(r == 0){
+- q_status_message(SM_INFO, 0, 1, "Already on last line.");
++ q_status_message(SM_INFO, 0, 1, "已經到最後一行了.");
+ break;
+ }
+
+@@ -5341,7 +5342,7 @@
+ break;
+
+ if(as.top_ent == new_top_ent && as.cur_row == (fl-as.top_ent)){
+- q_status_message(SM_INFO, 0, 1, "Already on first page.");
++ q_status_message(SM_INFO, 0, 1, "已經到第一頁了.");
+ break;
+ }
+
+@@ -5365,7 +5366,7 @@
+ else{
+ new_top_ent = as.top_ent;
+ if(as.cur_row == (fl - as.top_ent)){ /* no change */
+- q_status_message(SM_INFO,0,1,"Already on last page.");
++ q_status_message(SM_INFO,0,1,"已經到最後一頁了.");
+ break;
+ }
+ }
+@@ -5398,7 +5399,7 @@
+ goto bleep;
+
+ if(!any_addrs_avail(as.top_ent+as.cur_row)){
+- q_status_message(SM_ORDER, 0, 4, "No entries to delete");
++ q_status_message(SM_ORDER, 0, 4, "沒有可供刪除的項目");
+ break;
+ }
+
+@@ -5467,7 +5468,7 @@
+ goto bleep;
+
+ if(!any_addrs_avail(as.top_ent+as.cur_row)){
+- q_status_message(SM_ORDER, 0, 4, "No entries to select");
++ q_status_message(SM_ORDER, 0, 4, "沒有可供選擇的項目");
+ break;
+ }
+
+@@ -5486,7 +5487,7 @@
+
+ if(style == SelectAddrLccCom && dl->type != ListHead)
+ q_status_message(SM_ORDER, 0, 4,
+- "You may only select lists for lcc, use bcc for personal entries");
++ "僅能選擇 lcc 列表, 個人項目請用 bcc");
+ else if(dl->type == ListHead || dl->type == Simple){
+ current_changed_flag++;
+ if(entry_is_checked(pab->address_book->checks,
+@@ -6803,7 +6804,7 @@
+ if(full_to && *full_to)
+ fs_give((void **)full_to);
+
+- q_status_message(SM_ORDER, 3, 5, "Resetting address book...");
++ q_status_message(SM_ORDER, 3, 5, "正在重設地址簿...");
+ dprint(1, (debugfile,
+ "RESETTING address book... verify_addr(%s)!\n", to));
+ addrbook_reset();
+@@ -6849,12 +6850,12 @@
+ ps_global->redrawer = NULL;
+ fix_windsize(ps_global);
+
+- switch(want_to("Exit and save changes ", 'y', 0, NO_HELP, 0, 0)){
++ switch(want_to("離開並儲存改變 ", 'y', 0, NO_HELP, 0, 0)){
+ case 'y':
+ break;
+
+ case 'n':
+- rstr = "Use ^C to abandon changes you've made";
++ rstr = "以 ^C 放棄已經做過的改變";
+ break;
+
+ #ifdef OLDWAY
+@@ -6884,8 +6885,8 @@
+ char *rstr = NULL;
+ void (*redraw)() = ps_global->redrawer;
+
+- strcat(strcat(strcpy(prompt, "Cancel "), word),
+- " (answering \"Yes\" will abandon any changes made) ");
++ strcat(strcat(strcpy(prompt, "取消 "), word),
++ " (回答 \"Yes\" 將放棄所有曾做過的改變) ");
+ ps_global->redrawer = NULL;
+ fix_windsize(ps_global);
+
+@@ -7020,7 +7021,7 @@
+ abe = ae(cur_line);
+
+ if(dl->type == ListHead && listmem_count_from_abe(abe) == 0){
+- error = "List is empty, nothing to export!";
++ error = "列表是空的, 無法匯出任河東西!";
+ good_addr = 0;
+ }
+ else if(dl->type == ListEnt){
+@@ -7073,7 +7074,7 @@
+
+ if(addr && *addr){
+ static ESCKEY_S export_opts[] = {
+- {ctrl('T'), 10, "^T", "To Files"},
++ {ctrl('T'), 10, "^T", "信夾列表"},
+ {-1, 0, NULL, NULL}};
+ HelpType help;
+ char filename[MAXPATH+1], full_filename[MAXPATH+1];
+@@ -8115,7 +8116,7 @@
+ ? (char *)rfc1522_decode((unsigned char *)tmp_20k_buf,
+ abe->fullname, NULL)
+ : abe->nickname ? abe->nickname : "";
+- cmd = "Really delete \"%.50s\"";
++ cmd = "確定刪除 \"%.50s\"";
+ break;
+
+ case ListHead:
+@@ -8123,13 +8124,13 @@
+ ? (char *)rfc1522_decode((unsigned char *)tmp_20k_buf,
+ abe->fullname, NULL)
+ : abe->nickname ? abe->nickname : "";
+- cmd = "Really delete ENTIRE list \"%.50s\"";
++ cmd = "確定刪除 \"整個\" 列表 \"%.50s\"";
+ break;
+
+ case ListEnt:
+ dname = (char *)rfc1522_decode((unsigned char *)tmp_20k_buf,
+ listmem_from_dl(abook, dl), NULL);
+- cmd = "Really delete \"%.100s\" from list";
++ cmd = "確定自列表中刪除 \"%.100s\"";
+ break;
+ }
+
+@@ -8198,7 +8199,7 @@
+
+ if(rc == 0){
+ q_status_message(SM_ORDER, 0, 3,
+- "Entry deleted, address book updated");
++ "已刪除該項目並更新地址簿");
+ dprint(2, (debugfile, "abook: Entry %s\n",
+ (dl->type == Simple || dl->type == ListHead) ? "deleted"
+ : "modified"));
+@@ -8215,7 +8216,7 @@
+
+ if(rc != -5)
+ q_status_message1(SM_ORDER | SM_DING, 3, 5,
+- "Error updating address book: %s",
++ "更新地址簿時發生錯誤: %s",
+ error_description(errno));
+ pab = &as.adrbks[as.cur];
+ dprint(1, (debugfile, "Error deleting entry from %s (%s): %s\n",
+@@ -8225,7 +8226,7 @@
+ return 0;
+ }
+ else{
+- q_status_message(SM_INFO, 0, 2, "Entry not deleted");
++ q_status_message(SM_INFO, 0, 2, "該項目並未被刪除");
+ return 0;
+ }
+ }
+@@ -8275,7 +8276,7 @@
+ ekey[0].ch = ctrl('T');
+ ekey[0].rval = 2;
+ ekey[0].name = "^T";
+- ekey[0].label = "To AddrBk";
++ ekey[0].label = "地址列表";
+
+ ekey[1].ch = -1;
+
+@@ -8305,7 +8306,7 @@
+ }
+
+ q_status_message1(SM_ORDER, 0, 4,
+- "Already an entry with nickname \"%s\"", edit_buf);
++ "已經有一個暱稱為 \"%s\" 的項目", edit_buf);
+ }
+
+ if(rc == 3)
+@@ -8429,12 +8430,12 @@
+ ekey[1].ch = ctrl('Y');
+ ekey[1].rval = 10;
+ ekey[1].name = "^Y";
+- ekey[1].label = "First Adr";
++ ekey[1].label = "第一個地址";
+
+ ekey[2].ch = ctrl('V');
+ ekey[2].rval = 11;
+ ekey[2].name = "^V";
+- ekey[2].label = "Last Adr";
++ ekey[2].label = "最後的地址";
+
+ ekey[3].ch = -1;
+
+@@ -8450,11 +8451,11 @@
+ warp_to_beginning(); /* go to top of addrbooks */
+ if((nl=first_selectable_line(0L)) != NO_LINE){
+ *new_line = nl;
+- q_status_message(SM_INFO, 0, 2, "Searched to first entry");
++ q_status_message(SM_INFO, 0, 2, "搜尋至第一個項目");
+ return 0;
+ }
+ else{
+- q_status_message(SM_INFO, 0, 2, "No entries");
++ q_status_message(SM_INFO, 0, 2, "沒有任何項目");
+ return -1;
+ }
+ }
+@@ -8463,11 +8464,11 @@
+ warp_to_end(); /* go to bottom */
+ if((nl=first_selectable_line(0L)) != NO_LINE){
+ *new_line = nl;
+- q_status_message(SM_INFO, 0, 2, "Searched to last entry");
++ q_status_message(SM_INFO, 0, 2, "搜尋至最終項");
+ return 0;
+ }
+ else{
+- q_status_message(SM_INFO, 0, 2, "No entries");
++ q_status_message(SM_INFO, 0, 2, "沒有任何項目");
+ return -1;
+ }
+ }
+@@ -9016,7 +9017,7 @@
+
+ memcpy(save_jmp_buf, addrbook_changed_unexpectedly, sizeof(jmp_buf));
+ if(setjmp(addrbook_changed_unexpectedly)){
+- q_status_message(SM_ORDER, 5, 10, "Resetting address book...");
++ q_status_message(SM_ORDER, 5, 10, "正在重設地址簿...");
+ dprint(1, (debugfile,
+ "RESETTING address book... take_to_addrbooks_frontend!\n"));
+ addrbook_reset();
+@@ -9095,7 +9096,7 @@
+ abe = adrbk_lookup_by_nick(abook, new_nickname, &entry_num);
+ if(!abe){ /* this shouldn't happen */
+ q_status_message1(SM_ORDER, 0, 4,
+- "Already an entry %s in address book!",
++ "已經在地址簿中發現 %s 這個項目!",
+ new_nickname);
+ goto take_to_addrbooks_cancel;
+ }
+@@ -9103,7 +9104,7 @@
+ old_tag = abe->tag;
+
+ sprintf(prompt,
+- "%s %s (%s) exists, replace or add addresses to it ? ",
++ "%s %s (%s) 已存在, 取代或加入新的地址於其中 ? ",
+ abe->tag == List ? "List" : "Entry",
+ new_nickname,
+ (abe->fullname && abe->fullname[0])
+@@ -9129,7 +9130,7 @@
+ if((long)abook->count > MAX_ADRBK_SIZE ||
+ (old_tag == NotSet && (long)abook->count >= MAX_ADRBK_SIZE)){
+ q_status_message(SM_ORDER, 3, 5,
+- "Address book is at maximum size. TakeAddr cancelled.");
++ "地址簿容量已達上限. 取消 TakeAddr.");
+ dprint(2, (debugfile, "Addrbook at Max size, TakeAddr cancelled\n"));
+ goto take_to_addrbooks_cancel;
+ }
+@@ -9225,7 +9226,7 @@
+ save_state(state);
+
+ if(as.n_addrbk == 0){
+- q_status_message(SM_ORDER, 3, 4, "Can't open address book!");
++ q_status_message(SM_ORDER, 3, 4, "無法開啟地址簿!");
+ return NULL;
+ }
+ else
+@@ -9238,7 +9239,7 @@
+ init_abook(pab, Open);
+
+ if(pab->ostatus != Open){
+- q_status_message(SM_ORDER, 3, 4, "Can't open address book!");
++ q_status_message(SM_ORDER, 3, 4, "無法開啟地址簿!");
+ return NULL;
+ }
+
+@@ -9247,7 +9248,7 @@
+ readonly_warning(NO_DING, NULL);
+ else if(pab->access == NoAccess)
+ q_status_message(SM_ORDER, 3, 4,
+- "AddressBook not accessible, permission denied");
++ "禁址存取地址簿");
+
+ return NULL;
+ }
+@@ -9469,7 +9470,7 @@
+ if(full_lcc && *full_lcc)
+ fs_give((void **)full_lcc);
+
+- q_status_message(SM_ORDER, 3, 5, "Resetting address book...");
++ q_status_message(SM_ORDER, 3, 5, "正在重設地址簿...");
+ dprint(1, (debugfile,
+ "RESETTING address book... build_address(%s)!\n", lcc));
+ addrbook_reset();
+@@ -9723,7 +9724,7 @@
+ if(full_to && *full_to)
+ fs_give((void **)full_to);
+
+- q_status_message(SM_ORDER, 3, 5, "Resetting address book...");
++ q_status_message(SM_ORDER, 3, 5, "正在重設地址簿...");
+ dprint(1, (debugfile,
+ "RESETTING address book... build_address(%s)!\n", to));
+ addrbook_reset();
+@@ -10617,7 +10618,7 @@
+ if(state.dlc_to_warp_to)
+ fs_give((void **)&(state.dlc_to_warp_to));
+
+- q_status_message(SM_ORDER, 3, 5, "Resetting address book...");
++ q_status_message(SM_ORDER, 3, 5, "正在重設地址簿...");
+ dprint(1, (debugfile,
+ "RESETTING address book... get_nickname_from_addr()!\n"));
+ addrbook_reset();
+@@ -10668,7 +10669,7 @@
+ if(state.dlc_to_warp_to)
+ fs_give((void **)&(state.dlc_to_warp_to));
+
+- q_status_message(SM_ORDER, 3, 5, "Resetting address book...");
++ q_status_message(SM_ORDER, 3, 5, "正在重設地址簿...");
+ dprint(1, (debugfile,
+ "RESETTING address book... get_fcc_from_addr()!\n"));
+ addrbook_reset();
+@@ -11484,21 +11485,21 @@
+
+
+ static struct key takeaddr_keys_listmode[] =
+- {{"?","Help",KS_SCREENHELP}, {"W","WhereIs",KS_WHEREIS},
+- {"E","ExitTake",KS_EXITMODE}, {"T","Take",KS_NONE},
+- {"P","Prev",KS_NONE}, {"N","Next", KS_NONE},
+- {"-","PrevPage",KS_PREVPAGE}, {"Spc","NextPage",KS_NEXTPAGE},
+- {"X","[Set/Unset]",KS_NONE}, {"A","SetAll",KS_NONE},
+- {"U","UnSetAll",KS_NONE}, {"S","SinglMode",KS_NONE}};
++ {{"?","輔助說明",KS_SCREENHELP}, {"W","搜尋",KS_WHEREIS},
++ {"E","離開",KS_EXITMODE}, {"T","取得",KS_NONE},
++ {"P","上一個",KS_NONE}, {"N","下一個", KS_NONE},
++ {"-","前一頁",KS_PREVPAGE}, {"Spc","下一頁",KS_NEXTPAGE},
++ {"X","[設定/取消設定]",KS_NONE}, {"A","設定全部",KS_NONE},
++ {"U","取消設定全部",KS_NONE}, {"S","單一模式",KS_NONE}};
+ INST_KEY_MENU(takeaddr_keymenu_listmode, takeaddr_keys_listmode);
+
+ static struct key takeaddr_keys_singlemode[] =
+- {{"?","Help",KS_SCREENHELP}, {"W","WhereIs",KS_WHEREIS},
+- {"E","ExitTake",KS_EXITMODE}, {"T","[Take]",KS_NONE},
+- {"P","Prev",KS_NONE}, {"N","Next", KS_NONE},
+- {"-","PrevPage",KS_PREVPAGE}, {"Spc","NextPage",KS_NEXTPAGE},
+- {NULL,NULL,KS_NONE}, {NULL,NULL,KS_NONE},
+- {NULL,NULL,KS_NONE}, {"L","ListMode",KS_NONE}};
++ {{"?","輔助說明",KS_SCREENHELP}, {"W","搜尋",KS_WHEREIS},
++ {"E","離開",KS_EXITMODE}, {"T","[取得]",KS_NONE},
++ {"P","上一個",KS_NONE}, {"N","下一個", KS_NONE},
++ {"-","前一頁",KS_PREVPAGE}, {"Spc","下一頁",KS_NEXTPAGE},
++ {NULL,NULL,KS_NONE}, {NULL,NULL,KS_NONE},
++ {NULL,NULL,KS_NONE}, {"L","列表模式",KS_NONE}};
+ INST_KEY_MENU(takeaddr_keymenu_singlemode, takeaddr_keys_singlemode);
+
+
+@@ -11692,6 +11693,7 @@
+ break;
+
+ case 'e': /* exit takeaddr screen */
++ case KEY_LEFT:
+ case PF3:
+ case ctrl('C'):
+ cancel_warning(NO_DING, "addition");
+@@ -11699,10 +11701,11 @@
+ break;
+
+ case 't': /* take */
++ case KEY_RIGHT:
+ case PF4:
+ case ctrl('M'):
+ case ctrl('J'):
+- if((ch == ctrl('M') || ch == ctrl('J'))
++ if((ch == ctrl('M') || ch == ctrl('J') || ch == KEY_RIGHT)
+ && screen.mode == ListMode)
+ goto SelectCase; /* default is different in this case */
+
+@@ -11727,7 +11730,7 @@
+ if(ctmp = next_sel_taline(current))
+ current = ctmp;
+ else
+- q_status_message(SM_INFO, 0, 1, "Already on last line.");
++ q_status_message(SM_INFO, 0, 1, "已經到最後一行了.");
+
+ break;
+
+@@ -11739,7 +11742,7 @@
+ if(ctmp = pre_sel_taline(current))
+ current = ctmp;
+ else
+- q_status_message(SM_INFO, 0, 1, "Already on first line.");
++ q_status_message(SM_INFO, 0, 1, "已經到第一行了.");
+
+ break;
+
+@@ -11759,7 +11762,7 @@
+ }
+
+ if(give_warn_message)
+- q_status_message(SM_INFO, 0, 1, "Already on last page.");
++ q_status_message(SM_INFO, 0, 1, "已經在最後一頁了.");
+
+ break;
+
+@@ -11789,7 +11792,7 @@
+ }
+
+ if(give_warn_message)
+- q_status_message(SM_INFO, 0, 1, "Already on first page.");
++ q_status_message(SM_INFO, 0, 1, "已經在第一頁了.");
+
+ break;
+
+@@ -11873,25 +11876,25 @@
+ case PF12:
+ if(screen.mode == ListMode && ch == 'l'){
+ q_status_message(SM_INFO, 0, 1,
+- "Already in ListMode. Press \"S\" for Single entry mode.");
++ "已經在列表模式. 以 \"S\" 進入單一選項模式.");
+ break;
+ }
+
+ if(screen.mode == SingleMode && ch == 's'){
+ q_status_message(SM_INFO, 0, 1,
+- "Already in SingleMode. Press \"L\" for List entry mode.");
++ "已經在單一選項模式. 以 \"L\" 進入列表模式.");
+ break;
+ }
+
+ if(screen.mode == ListMode){
+ screen.mode = SingleMode;
+ q_status_message(SM_INFO, 0, 1,
+- "Single mode: Use \"P\" or \"N\" to select desired address");
++ "單一選項模式: 以 \"P\" 或 \"N\" 選擇需要的地址");
+ }
+ else{
+ screen.mode = ListMode;
+ q_status_message(SM_INFO, 0, 1,
+- "List mode: Use \"X\" to mark addresses to be included in list");
++ "列表模式: 以 \"X\" 標註欲加入列表中的地址");
+
+ if(how_many_selected <= 1){
+ how_many_selected =
+@@ -12083,24 +12086,24 @@
+ }
+ else if(rc == 10){
+ current = first_sel_taline(current);
+- result = "Searched to top";
++ result = "向前搜尋";
+ }
+ else if(rc == 11){
+ current = last_sel_taline(current);
+- result = "Searched to bottom";
++ result = "向後搜尋";
+ }
+ else{
+ current = NULL;
+- result = "WhereIs cancelled";
++ result = "取消搜尋";
+ }
+
+ if(found){
+ current = p;
+- result = wrapped ? "Search wrapped to beginning" : "Word found";
++ result = wrapped ? "從頭搜尋" : "找不到該字";
+ strcpy(last, buf);
+ }
+
+- q_status_message(SM_ORDER,0,3,result ? result : "Word not found");
++ q_status_message(SM_ORDER,0,3,result ? result : "找不到該字");
+ return(current);
+ }
+
+@@ -12770,7 +12773,7 @@
+ &body);
+ if(!env){
+ q_status_message(SM_ORDER | SM_DING, 3, 4,
+- "Can't take address into address book. Error accessing folder");
++ "無法將地址存入地址簿中. 檔案夾存取錯誤");
+ goto bomb;
+ }
+
+@@ -12809,7 +12812,7 @@
+ body_h);
+ if(!env){
+ q_status_message(SM_ORDER | SM_DING, 3, 4,
+- "Can't take address into address book. Error accessing folder");
++ "無法將地址存入地址簿中. 檔案夾存取錯誤");
+ goto bomb;
+ }
+