aboutsummaryrefslogtreecommitdiffstats
path: root/chinese/pine4/files/patch-bf
diff options
context:
space:
mode:
Diffstat (limited to 'chinese/pine4/files/patch-bf')
-rw-r--r--chinese/pine4/files/patch-bf812
1 files changed, 580 insertions, 232 deletions
diff --git a/chinese/pine4/files/patch-bf b/chinese/pine4/files/patch-bf
index 032fbc6ade9f..685b3775f925 100644
--- a/chinese/pine4/files/patch-bf
+++ b/chinese/pine4/files/patch-bf
@@ -1,6 +1,6 @@
---- pine/other.c.orig Thu Jul 16 09:09:27 1998
-+++ pine/other.c Tue Aug 4 12:42:20 1998
-@@ -51,16 +51,16 @@
+--- pine/other.c.orig Tue Feb 2 07:32:44 1999
++++ pine/other.c Wed Feb 24 02:19:21 1999
+@@ -51,18 +51,18 @@
#define BODY_LINES(X) ((X)->ttyo->screen_rows -HEADER_ROWS(X)-FOOTER_ROWS(X))
@@ -22,9 +22,48 @@
-static char *fixed_val = "Value is Fixed";
+static char *fixed_val = "設定值已固定";
- typedef struct proto_conf_line {
- short type, /* type of line treatment */
-@@ -311,9 +311,9 @@
+-#define ADD_FIRST_ROLE "Use Add to add a role"
++#define ADD_FIRST_ROLE "以 \"新增角色\" 來增加一名角色"
+
+ typedef struct conf_line {
+ char *varname, /* alloc'd var name string */
+@@ -271,16 +271,14 @@
+ #ifndef NO_KEYBOARD_LOCK
+ ClearScreen();
+
+- set_titlebar("KEYBOARD LOCK", ps_global->mail_stream,
++ set_titlebar("鍵盤鎖定", ps_global->mail_stream,
+ ps_global->context_current, ps_global->cur_folder, NULL,
+ 1, FolderName, 0, 0);
+
+ PutLine0(6,3 ,
+- "You may lock this keyboard so that no one else can access your mail");
++ "可鎖定鍵盤以防止其他人在您離開時存取您的信件。在密碼輸入之後,");
+ PutLine0(8, 3 ,
+- "while you are away. The screen will be locked after entering the ");
+- PutLine0(10, 3 ,
+- "password to be used for unlocking the keyboard when you return.");
++ "螢幕將會鎖定,您可在回來後以原密碼解除鎖定。");
+ fflush(stdout);
+ #endif
+ }
+@@ -292,12 +290,12 @@
+ #ifndef NO_KEYBOARD_LOCK
+ ClearScreen();
+
+- set_titlebar("KEYBOARD LOCK", ps_global->mail_stream,
++ set_titlebar("鍵盤鎖定", ps_global->mail_stream,
+ ps_global->context_current, ps_global->cur_folder, NULL,
+ 1, FolderName, 0, 0);
+
+- PutLine2(6, 3, "This keyboard is locked by %s <%s>.",klockame, klockin);
+- PutLine0(8, 3, "To unlock, enter password used to lock the keyboard.");
++ PutLine2(6, 3, "本鍵盤已被 %s <%s> 鎖定。",klockame, klockin);
++ PutLine0(8, 3, "輸入原本上鎖的密碼以解除鍵盤鎖定。");
+ fflush(stdout);
+ #endif
+ }
+@@ -339,9 +337,9 @@
char prompt[50];
sprintf(prompt,
@@ -37,7 +76,7 @@
flags = OE_PASSWD;
rc = optionally_enter(pw, -FOOTER_ROWS(ps), 0, 30,
-@@ -322,7 +322,7 @@
+@@ -350,7 +348,7 @@
if(rc == 3)
help = help == NO_HELP ? h_kb_lock : NO_HELP;
else if(rc == 1 || pw[0] == '\0'){
@@ -46,7 +85,7 @@
return(-1);
}
else if(rc != 4)
-@@ -333,14 +333,14 @@
+@@ -361,14 +359,14 @@
strcpy(inpasswd, pw);
else if(strcmp(inpasswd, pw)){
q_status_message(SM_ORDER, 0, 2,
@@ -64,7 +103,7 @@
return(-1);
}
-@@ -354,7 +354,7 @@
+@@ -382,7 +380,7 @@
while(strcmp(inpasswd, passwd)){
if(passwd[0])
q_status_message(SM_ORDER | SM_DING, 3, 3,
@@ -73,7 +112,7 @@
help = NO_HELP;
while(1){
-@@ -362,7 +362,7 @@
+@@ -390,7 +388,7 @@
flags = OE_PASSWD | OE_DISALLOW_CANCEL;
rc = optionally_enter(passwd, -FOOTER_ROWS(ps), 0, 30,
@@ -82,7 +121,7 @@
help, &flags);
if(rc == 3) {
help = help == NO_HELP ? h_oe_keylock : NO_HELP;
-@@ -377,7 +377,7 @@
+@@ -405,7 +403,7 @@
if(old_suspend)
F_TURN_ON(F_CAN_SUSPEND, ps_global);
@@ -91,70 +130,61 @@
return(0);
}
-@@ -412,7 +412,7 @@
- PICO pbuf;
+@@ -443,7 +441,7 @@
+ struct variable *vars = ps_global->vars;
- if(!signature_path(sigfile, sig_path, MAXPATH)){
-- q_status_message(SM_ORDER, 3, 4, "No signature file defined.");
-+ q_status_message(SM_ORDER, 3, 4, "尚未定義簽名檔。");
- return;
- }
+ if(!signature_path(sigfile, sig_path, MAXPATH))
+- return(cpystr("No signature file defined."));
++ return(cpystr("尚未定義簽名檔。"));
-@@ -442,7 +442,7 @@
- pbuf.browse_help = h_composer_browse;
- pbuf.attach_help = h_composer_ctrl_j;
+ memset(&pbuf, 0, sizeof(PICO));
-- pbuf.pine_anchor = set_titlebar("SIGNATURE EDITOR",
-+ pbuf.pine_anchor = set_titlebar("簽名檔編輯器",
- ps_global->mail_stream,
- ps_global->context_current,
- ps_global->cur_folder,
-@@ -486,7 +486,7 @@
+@@ -519,7 +517,7 @@
+ * Now alloc and init the text to pass pico
*/
if(!(msgso = so_get(PicoText, NULL, EDIT_ACCESS))){
- q_status_message(SM_ORDER | SM_DING, 3, 4,
-- "Error allocating space for signature file");
-+ "配置簽名檔空間時發生錯誤");
+- ret = cpystr("Error allocating space for file");
++ ret = cpystr("配置檔案空間時發生錯誤");
dprint(1, (debugfile, "Can't alloc space for signature_edit"));
- return;
+ return(ret);
}
-@@ -496,7 +496,7 @@
- if(can_access(sig_path, READ_ACCESS) == 0
+@@ -530,7 +528,7 @@
&& !(tmpso = so_get(FileStar, sig_path, READ_ACCESS))){
char *problem = error_description(errno);
-- q_status_message2(SM_ORDER | SM_DING, 3, 3, "Error editing %s: %s",
-+ q_status_message2(SM_ORDER | SM_DING, 3, 3, "編輯 %s 時發生錯誤:%s",
- sig_path, problem ? problem : "<NULL>");
- dprint(1, (debugfile, "signature_edit: can't open %s: %s", sig_path,
- problem ? problem : "<NULL>"));
-@@ -508,7 +508,7 @@
+
+- sprintf(errbuf, "Error editing \"%s\": %s",
++ sprintf(errbuf, "編輯 %s 時發生錯誤:%s",
+ sig_path, problem ? problem : "<NULL>");
+ ret = cpystr(errbuf);
+
+@@ -543,7 +541,7 @@
+ gf_set_so_writec(&pc, msgso);
gf_filter_init(); /* no filters needed */
if(errstr = gf_pipe(gc, pc)){
- q_status_message1(SM_ORDER | SM_DING, 3, 5,
-- "Error reading signature \"%s\"", errstr);
-+ "編輯簽名檔時發生錯誤 \"%s\"", errstr);
+- sprintf(errbuf, "Error reading file: \"%s\"", errstr);
++ sprintf(errbuf, "編輯簽名檔時發生錯誤 \"%s\"", errstr);
+ ret = cpystr(errbuf);
}
- gf_clear_so_readc(tmpso);
-@@ -547,7 +547,7 @@
+@@ -582,7 +580,7 @@
+ gf_set_so_writec(&pc, tmpso); /* write sig file */
gf_filter_init(); /* no filters needed */
if(errstr = gf_pipe(gc, pc)){
- q_status_message1(SM_ORDER | SM_DING, 3, 5,
-- "Error writing signature \"%s\"",
-+ "寫入簽名檔時發生錯誤 \"%s\"",
+- sprintf(errbuf, "Error writing file: \"%s\"",
++ sprintf(errbuf, "寫入檔案時發生錯誤:\"%s\"",
errstr);
+ ret = cpystr(errbuf);
}
-
-@@ -557,7 +557,7 @@
+@@ -592,7 +590,7 @@
+ so_give(&tmpso);
}
else{
- q_status_message1(SM_ORDER | SM_DING, 3, 3,
-- "Error writing %s", sig_path);
-+ "寫入 %s 時發生錯誤", sig_path);
+- sprintf(errbuf, "Error writing \"%s\"", sig_path);
++ sprintf(errbuf, "寫入 %s 時發生錯誤", sig_path);
+ ret = cpystr(errbuf);
dprint(1, (debugfile, "signature_edit: can't write %s",
sig_path));
- }
-@@ -581,8 +581,8 @@
+@@ -618,8 +616,8 @@
char *rstr = NULL;
void (*redraw)() = ps_global->redrawer;
static ESCKEY_S opts[] = {
@@ -165,7 +195,7 @@
{-1, 0, NULL, NULL}
};
-@@ -590,18 +590,18 @@
+@@ -627,18 +625,18 @@
fix_windsize(ps_global);
while(1){
@@ -187,7 +217,7 @@
break;
}
}
-@@ -616,24 +616,24 @@
+@@ -653,24 +651,24 @@
* * * * * * Start of Config Screen Support Code * * * * *
*/
@@ -219,7 +249,113 @@
PRYNTTXT_MENU,
WHEREIS_MENU};
INST_KEY_MENU(config_text_keymenu, config_text_keys);
-@@ -657,7 +657,7 @@
+@@ -679,13 +677,13 @@
+ {HELP_MENU,
+ OTHER_MENU,
+ EXIT_SETUP_MENU,
+- {"C", "[Change Val]", {MC_EDIT,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE},
++ {"C", "[改變設定值]", {MC_EDIT,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE},
+ PREV_MENU,
+ NEXT_MENU,
+ PREVPAGE_MENU,
+ NEXTPAGE_MENU,
+- {"A", "Add Value", {MC_ADD,1,{'a'}}, KS_NONE},
+- {"D", "Delete Val", {MC_DELETE,1,{'d'}}, KS_NONE},
++ {"A", "新增設定值", {MC_ADD,1,{'a'}}, KS_NONE},
++ {"D", "刪除設定值", {MC_DELETE,1,{'d'}}, KS_NONE},
+ PRYNTTXT_MENU,
+ WHEREIS_MENU,
+
+@@ -693,8 +691,8 @@
+ OTHER_MENU,
+ NULL_MENU,
+ NULL_MENU,
+- {"T", "ToFiles", {MC_CHOICE, 2, {'t', ctrl('T')}}, KS_NONE},
+- {"F", "editFile", {MC_EDITFILE, 1, {'f'}}, KS_NONE},
++ {"T", "檔案選單", {MC_CHOICE, 2, {'t', ctrl('T')}}, KS_NONE},
++ {"F", "編輯檔案", {MC_EDITFILE, 1, {'f'}}, KS_NONE},
+ NULL_MENU,
+ NULL_MENU,
+ NULL_MENU,
+@@ -707,13 +705,13 @@
+ {HELP_MENU,
+ OTHER_MENU,
+ EXIT_SETUP_MENU,
+- {"C", "[Change Val]", {MC_EDIT,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE},
++ {"C", "[改變設定值]", {MC_EDIT,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE},
+ PREV_MENU,
+ NEXT_MENU,
+ PREVPAGE_MENU,
+ NEXTPAGE_MENU,
+- {"A", "Add Value", {MC_ADD,1,{'a'}}, KS_NONE},
+- {"D", "Delete Val", {MC_DELETE,1,{'d'}}, KS_NONE},
++ {"A", "新增設定值", {MC_ADD,1,{'a'}}, KS_NONE},
++ {"D", "刪除設定值", {MC_DELETE,1,{'d'}}, KS_NONE},
+ PRYNTTXT_MENU,
+ WHEREIS_MENU,
+
+@@ -721,7 +719,7 @@
+ OTHER_MENU,
+ NULL_MENU,
+ NULL_MENU,
+- {"T", "ToAddrBk", {MC_CHOICEB, 2, {'t', ctrl('T')}}, KS_NONE},
++ {"T", "地址簿", {MC_CHOICEB, 2, {'t', ctrl('T')}}, KS_NONE},
+ NULL_MENU,
+ NULL_MENU,
+ NULL_MENU,
+@@ -735,13 +733,13 @@
+ {HELP_MENU,
+ OTHER_MENU,
+ EXIT_SETUP_MENU,
+- {"C", "[Change Val]", {MC_EDIT,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE},
++ {"C", "[改變設定值]", {MC_EDIT,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE},
+ PREV_MENU,
+ NEXT_MENU,
+ PREVPAGE_MENU,
+ NEXTPAGE_MENU,
+- {"A", "Add Value", {MC_ADD,1,{'a'}}, KS_NONE},
+- {"D", "Delete Val", {MC_DELETE,1,{'d'}}, KS_NONE},
++ {"A", "新增設定值", {MC_ADD,1,{'a'}}, KS_NONE},
++ {"D", "刪除設定值", {MC_DELETE,1,{'d'}}, KS_NONE},
+ PRYNTTXT_MENU,
+ WHEREIS_MENU,
+
+@@ -749,7 +747,7 @@
+ OTHER_MENU,
+ NULL_MENU,
+ NULL_MENU,
+- {"T", "ToFldrs", {MC_CHOICEC, 2, {'t', ctrl('T')}}, KS_NONE},
++ {"T", "檔案列表", {MC_CHOICEC, 2, {'t', ctrl('T')}}, KS_NONE},
+ NULL_MENU,
+ NULL_MENU,
+ NULL_MENU,
+@@ -763,13 +761,13 @@
+ {HELP_MENU,
+ OTHER_MENU,
+ EXIT_SETUP_MENU,
+- {"C", "[Change Val]", {MC_EDIT,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE},
++ {"C", "[修改設定值]", {MC_EDIT,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE},
+ PREV_MENU,
+ NEXT_MENU,
+ PREVPAGE_MENU,
+ NEXTPAGE_MENU,
+- {"A", "Add Value", {MC_ADD,1,{'a'}}, KS_NONE},
+- {"D", "Delete Val", {MC_DELETE,1,{'d'}}, KS_NONE},
++ {"A", "新增設定值", {MC_ADD,1,{'a'}}, KS_NONE},
++ {"D", "刪除設定值", {MC_DELETE,1,{'d'}}, KS_NONE},
+ PRYNTTXT_MENU,
+ WHEREIS_MENU,
+
+@@ -777,7 +775,7 @@
+ OTHER_MENU,
+ NULL_MENU,
+ NULL_MENU,
+- {"T", "ToNicks", {MC_CHOICE, 2, {'t', ctrl('T')}}, KS_NONE},
++ {"T", "暱稱列表", {MC_CHOICE, 2, {'t', ctrl('T')}}, KS_NONE},
+ NULL_MENU,
+ NULL_MENU,
+ NULL_MENU,
+@@ -806,7 +804,7 @@
{HELP_MENU,
NULL_MENU,
EXIT_SETUP_MENU,
@@ -228,7 +364,7 @@
PREV_MENU,
NEXT_MENU,
PREVPAGE_MENU,
-@@ -672,7 +672,7 @@
+@@ -821,7 +819,7 @@
{HELP_MENU,
NULL_MENU,
EXIT_SETUP_MENU,
@@ -237,15 +373,7 @@
PREV_MENU,
NEXT_MENU,
PREVPAGE_MENU,
-@@ -696,7 +696,6 @@
- || (F) == F_DISABLE_DFLT_IN_BUG_RPT \
- || (F) == F_DISABLE_ALARM \
- || (F) == F_ALLOW_CHANGING_FROM \
-- || (F) == F_TCAP_WINS \
- || (F) == F_QUELL_PARTIAL_FETCH \
- || (F) == F_AGG_SEQ_COPY)
-
-@@ -1377,14 +1376,14 @@
+@@ -1489,14 +1487,14 @@
{HELP_MENU,
PRYNTTXT_MENU,
EXIT_SETUP_MENU,
@@ -264,7 +392,7 @@
WHEREIS_MENU};
INST_KEY_MENU(printer_edit_keymenu, printer_edit_keys);
-@@ -1392,7 +1391,7 @@
+@@ -1504,7 +1502,7 @@
{HELP_MENU,
PRYNTTXT_MENU,
EXIT_SETUP_MENU,
@@ -273,7 +401,7 @@
PREV_MENU,
NEXT_MENU,
PREVPAGE_MENU,
-@@ -1425,7 +1424,7 @@
+@@ -1537,7 +1535,7 @@
char *saved_printer;
OPT_SCREEN_S screen;
@@ -282,7 +410,16 @@
return;
saved_printer = cpystr(ps->VAR_PRINTER);
-@@ -1794,7 +1793,7 @@
+@@ -1553,7 +1551,7 @@
+ #ifdef OS2
+ = cpystr("\"Select\" a port or |pipe-command as your default printer.");
+ #else
+- = cpystr("You may \"Select\" a print command as your default printer.");
++ = cpystr("可以 \"選擇\" 一個列印命令為預設印表機。");
+ #endif
+
+ new_confline(&ctmpa);
+@@ -1906,7 +1904,7 @@
vsave = save_config_vars(ps);
switch(conf_scroll_screen(ps, &screen, start_line,
@@ -291,7 +428,7 @@
case 0:
break;
-@@ -1835,8 +1834,8 @@
+@@ -1947,8 +1945,8 @@
fs_give((void **)def_printer_line);
*def_printer_line = fs_get(36 + strlen(p) + 1);
@@ -302,7 +439,7 @@
fs_give((void **)&nick);
fs_give((void **)&cmd);
-@@ -1846,7 +1845,7 @@
+@@ -1958,7 +1956,7 @@
static struct key flag_keys[] =
{HELP_MENU,
NULL_MENU,
@@ -311,7 +448,7 @@
TOGGLE_MENU,
PREV_MENU,
NEXT_MENU,
-@@ -2000,9 +1999,9 @@
+@@ -2112,9 +2110,9 @@
static struct key addr_select_keys[] =
{HELP_MENU,
@@ -323,11 +460,11 @@
PREV_MENU,
NEXT_MENU,
PREVPAGE_MENU,
-@@ -2016,29 +2015,29 @@
+@@ -2128,29 +2126,29 @@
static struct key addr_select_with_goback_keys[] =
{HELP_MENU,
NULL_MENU,
-- {"<", "AddbkList", {MC_ADDRBOOK,2,{'<',','}}, KS_NONE},
+- {"<", "AddressBkList", {MC_ADDRBOOK,2,{'<',','}}, KS_NONE},
- {"S", "[Select]", {MC_CHOICE,3,{'s',ctrl('M'),ctrl('J')}}, KS_NONE},
+ {"<", "地址簿列表", {MC_ADDRBOOK,2,{'<',','}}, KS_NONE},
+ {"S", "[選擇]", {MC_CHOICE,3,{'s',ctrl('M'),ctrl('J')}}, KS_NONE},
@@ -345,7 +482,7 @@
static struct key addr_select_with_view_keys[] =
{HELP_MENU,
NULL_MENU,
-- {"<", "AddbkList", {MC_ADDRBOOK,2,{'<',','}}, KS_NONE},
+- {"<", "AddressBkList", {MC_ADDRBOOK,2,{'<',','}}, KS_NONE},
- {">", "[View]",
+ {"<", "地址簿列表", {MC_ADDRBOOK,2,{'<',','}}, KS_NONE},
+ {">", "[檢視]",
@@ -359,7 +496,25 @@
FWDEMAIL_MENU,
SAVE_MENU,
WHEREIS_MENU};
-@@ -2047,7 +2046,7 @@
+@@ -2159,14 +2157,14 @@
+ static struct key addr_select_for_url_keys[] =
+ {HELP_MENU,
+ NULL_MENU,
+- {"<", "Exit Viewer", {MC_ADDRBOOK,3,{'<',',','e'}}, KS_NONE},
+- {">", "[View]",
++ {"<", "離開", {MC_ADDRBOOK,3,{'<',',','e'}}, KS_NONE},
++ {">", "[檢視]",
+ {MC_VIEW_TEXT,5,{'v','>','.',ctrl('M'),ctrl('J')}}, KS_NONE},
+ PREV_MENU,
+ NEXT_MENU,
+ PREVPAGE_MENU,
+ NEXTPAGE_MENU,
+- {"C", "ComposeTo", {MC_COMPOSE,1,{'c'}}, KS_COMPOSER},
++ {"C", "編修", {MC_COMPOSE,1,{'c'}}, KS_COMPOSER},
+ FWDEMAIL_MENU,
+ SAVE_MENU,
+ WHEREIS_MENU};
+@@ -2175,7 +2173,7 @@
static struct key addr_select_exit_keys[] =
{NULL_MENU,
NULL_MENU,
@@ -368,7 +523,7 @@
KS_EXITMODE},
NULL_MENU,
NULL_MENU,
-@@ -2063,7 +2062,7 @@
+@@ -2191,7 +2189,7 @@
static struct key addr_select_goback_keys[] =
{NULL_MENU,
NULL_MENU,
@@ -377,7 +532,7 @@
KS_EXITMODE},
NULL_MENU,
NULL_MENU,
-@@ -2404,7 +2403,7 @@
+@@ -2546,7 +2544,7 @@
sprintf(ee+2, "%s, No Matches Returned",
ldap_err2string(wp_err->ldap_errno));
else
@@ -386,16 +541,16 @@
strcat(ee, " -- Choose Exit ]");
ctmpa->value = cpystr(ee);
-@@ -2498,7 +2497,7 @@
+@@ -2644,7 +2642,7 @@
case MC_CHOICE :
if(flags & CF_PRIVATE){
q_status_message(SM_ORDER | SM_DING, 0, 3,
- "No email address available for this entry; choose another or ExitSelect");
-+ "無法針對此項目獲得電子郵件地址;請選擇其他的或離開");
++ "本項目中沒有電子郵件地址;請選其他的項目或離開");
}
else if(some_selectable){
(*cl)->d.a.ac->selected_ld = (*cl)->d.a.ld;
-@@ -2561,15 +2560,15 @@
+@@ -2709,15 +2707,15 @@
static struct key direct_config_keys[] =
{HELP_MENU,
NULL_MENU,
@@ -418,25 +573,16 @@
WHEREIS_MENU};
INST_KEY_MENU(dir_conf_km, direct_config_keys);
-@@ -2655,7 +2654,7 @@
- */
- if(!ps->VAR_LDAP_SERVERS || !ps->VAR_LDAP_SERVERS[0] ||
- !ps->VAR_LDAP_SERVERS[0][0]){
-- if(!fixed_var(&ps->vars[V_LDAP_SERVERS], "modify", "directory list")){
-+ if(!fixed_var(&ps->vars[V_LDAP_SERVERS], "修改", "地址列表")){
- unsigned flags = 0;
-
- opt_screen = &screen;
-@@ -2665,7 +2664,7 @@
- #endif /* notdef */
-
+@@ -2789,7 +2787,7 @@
+ &first_line);
+
(void)conf_scroll_screen(ps, &screen, first_line,
- "SETUP DIRECTORY SERVERS", "servers ", 1);
+ "設定地址伺服器", "servers ", 1);
ps->mangled_screen = 1;
}
-@@ -2685,20 +2684,20 @@
+@@ -2809,20 +2807,20 @@
case MC_DELETE :
if(first_one)
q_status_message(SM_ORDER|SM_DING, 0, 3,
@@ -460,7 +606,7 @@
if(first_one)
dir_config_add(ps, cl);
else
-@@ -2708,10 +2707,10 @@
+@@ -2832,10 +2830,10 @@
break;
case MC_SHUFFLE :
@@ -473,7 +619,7 @@
else
dir_config_shuffle(ps, cl);
}
-@@ -2840,7 +2839,7 @@
+@@ -2965,7 +2963,7 @@
write_pinerc(ps);
}
else
@@ -482,7 +628,7 @@
}
free_ldap_server_info(&info);
-@@ -2870,7 +2869,7 @@
+@@ -2995,7 +2993,7 @@
if(cnt < 2){
q_status_message(SM_ORDER, 0, 3,
@@ -491,7 +637,7 @@
return;
}
-@@ -2881,12 +2880,12 @@
+@@ -3006,12 +3004,12 @@
opts[i].ch = 'u';
opts[i].rval = 'u';
opts[i].name = "U";
@@ -506,7 +652,7 @@
opts[i].ch = -1;
deefault = 'u';
-@@ -2898,11 +2897,11 @@
+@@ -3023,11 +3021,11 @@
else if(current_num == cnt - 1) /* no down */
opts[1].ch = -2;
@@ -521,7 +667,7 @@
help = (opts[0].ch == -2) ? h_dir_shuf_down
: (opts[1].ch == -2) ? h_dir_shuf_up
: h_dir_shuf;
-@@ -2912,7 +2911,7 @@
+@@ -3037,7 +3035,7 @@
switch(rv){
case 'x':
@@ -530,7 +676,7 @@
return;
case 'u':
-@@ -2950,7 +2949,7 @@
+@@ -3075,7 +3073,7 @@
free_list_array(&new_list);
if(j){
q_status_message(SM_ORDER, 0, 3,
@@ -539,7 +685,7 @@
set_current_val((*cl)->var, TRUE, FALSE);
return;
}
-@@ -3002,10 +3001,10 @@
+@@ -3127,10 +3125,10 @@
info = break_up_ldap_server(raw_server);
if(strcmp((*cl)->var->current_val.l[(*cl)->varmem], raw_server) == 0)
@@ -552,7 +698,7 @@
else{
char tmp[900];
char *subtitle;
-@@ -3740,7 +3739,7 @@
+@@ -3967,7 +3965,7 @@
}
else
q_status_message(SM_ORDER, 3, 3,
@@ -561,7 +707,7 @@
}
else{
int cnt, ans = 0;
-@@ -3763,8 +3762,8 @@
+@@ -3990,11 +3988,11 @@
*/
if(!(*cl)->var->user_val.l && cnt > 1){
static ESCKEY_S opts[] = {
@@ -571,8 +717,12 @@
+ {'r', 'r', "R", "移除一個"},
{-1, 0, NULL, NULL}};
ans = radio_buttons(
- "Ignore all default directory servers or just remove this one ? ",
-@@ -3870,7 +3869,7 @@
+- "Ignore all default directory servers or just remove this one ? ",
++ "忽略所有預設的目錄伺服器或僅移除這臺?",
+ -FOOTER_ROWS(ps), opts, 'i', 'x',
+ h_ab_del_dir_ignore, RB_NORM);
+ }
+@@ -4100,7 +4098,7 @@
CONF_S *first_line = NULL;
q_status_message(SM_ORDER, 0, 3,
@@ -581,7 +731,7 @@
dir_init_display(ps, cl, servers,
&ps->vars[V_LDAP_SERVERS], &first_line);
*cl = first_line;
-@@ -3910,7 +3909,7 @@
+@@ -4140,7 +4138,7 @@
}
}
else
@@ -590,16 +740,25 @@
}
if(rv == 1){
-@@ -4416,7 +4415,7 @@
- ps->mangled_screen = 1;
- }
- else
-- q_status_message(SM_ORDER,0,3,"No help yet!");
-+ q_status_message(SM_ORDER,0,3,"輔助說明尚未存在!");
-
- break;
+@@ -4164,7 +4162,7 @@
+ int (*tool)();
+ {
+ new_confline(ctmp);
+- (*ctmp)->help_title= "HELP FOR DIRECTORY SERVER CONFIGURATION";
++ (*ctmp)->help_title= "目錄伺服器設定的輔助說明";
+ (*ctmp)->value = cpystr(ADD_FIRST_LDAP_SERVER);
+ (*ctmp)->var = var;
+ (*ctmp)->varmem = 0;
+@@ -4227,7 +4225,7 @@
+ p->next = b;
+ }
-@@ -4473,7 +4472,7 @@
+- (*ctmp)->help_title= "HELP FOR DIRECTORY SERVER CONFIGURATION";
++ (*ctmp)->help_title= "目錄伺服器設定的輔助說明";
+ (*ctmp)->value = serv;
+ (*ctmp)->var = var;
+ (*ctmp)->varmem = member;
+@@ -4709,7 +4707,7 @@
if(i)
config_scroll_up(i);
else
@@ -608,7 +767,7 @@
}
break;
-@@ -4497,7 +4496,7 @@
+@@ -4733,7 +4731,7 @@
}
else
q_status_message(SM_ORDER, 0, 1,
@@ -617,7 +776,7 @@
break;
-@@ -4540,7 +4539,7 @@
+@@ -4776,7 +4774,7 @@
if(ctmpa == screen->current){
q_status_message(SM_ORDER,0,1,
@@ -626,7 +785,7 @@
goto no_down;
}
-@@ -4571,7 +4570,7 @@
+@@ -4807,7 +4805,7 @@
if(ctmpa){
if(ctmpa == screen->current)
q_status_message(SM_ORDER, 0, 1,
@@ -635,7 +794,7 @@
screen->current = ctmpa;
}
-@@ -4651,13 +4650,13 @@
+@@ -4965,13 +4963,13 @@
HelpType help;
static ESCKEY_S ekey[] = {
{0, 0, "", ""},
@@ -652,7 +811,7 @@
(last[0]) ? "[" : "",
(last[0]) ? last : "",
(last[0]) ? "]" : "");
-@@ -4779,7 +4778,7 @@
+@@ -5093,7 +5091,7 @@
result = "Searched to bottom";
}
else
@@ -661,7 +820,7 @@
if((found & FOUND_IT) && ctmpa){
strcpy(last, buf);
-@@ -4798,7 +4797,7 @@
+@@ -5112,7 +5110,7 @@
screen->current = ctmpa;
}
@@ -670,22 +829,18 @@
}
break;
-@@ -4813,10 +4812,10 @@
- if(edit_config
+@@ -5128,8 +5126,8 @@
&& (ps_global->restricted || ps_global->readonly_pinerc)){
q_status_message1(SM_ORDER, 0, 3,
-- "%s can't change options or settings",
+ "%s can't change options or settings",
- ps_global->restricted ? "Pine demo"
- : "Config file not changeable,");
-- if(cmd == MC_EXIT){
-+ "%s無法改變選項或設定",
+ ps_global->restricted ? "Pine 展示版"
-+ : "設定檔無法改變,");
-+ if(cmd == MC_EXIT || cmd == KEY_LEFT){
++ : "無法改變的設定檔,");
+ if(cmd == MC_EXIT){
retval = 0;
done++;
- }
-@@ -4831,9 +4830,9 @@
+@@ -5145,9 +5143,9 @@
&screen->current, flags)){
case -1:
q_status_message2(SM_ORDER, 0, 2,
@@ -697,7 +852,7 @@
break;
case 0:
-@@ -5370,11 +5369,11 @@
+@@ -5495,11 +5493,11 @@
ekey[1].ch = ctrl('P');
ekey[1].rval = ctrl('P');
ekey[1].name = "^P";
@@ -711,7 +866,7 @@
ekey[3].ch = KEY_DOWN;
ekey[3].rval = ctrl('P');
ekey[3].name = "";
-@@ -5389,12 +5388,12 @@
+@@ -5514,12 +5512,12 @@
sval[0] = '\0';
switch(cmd){
case MC_ADD: /* add to list */
@@ -726,7 +881,7 @@
}
else{
int maxwidth =min(80,ps->ttyo->screen_cols) - 15;
-@@ -5418,7 +5417,7 @@
+@@ -5543,7 +5541,7 @@
}
sprintf(prompt,
@@ -735,7 +890,7 @@
}
else if((*cl)->var->is_list
&& !(*cl)->var->user_val.l
-@@ -5427,13 +5426,13 @@
+@@ -5552,13 +5550,13 @@
ekey[0].ch = 'r';
ekey[0].rval = 'r';
ekey[0].name = "R";
@@ -752,14 +907,14 @@
switch(radio_buttons(prompt, -FOOTER_ROWS(ps), ekey, 'a', 'x',
h_config_replace_add, RB_NORM)){
case 'a':
-@@ -5447,25 +5446,25 @@
+@@ -5572,25 +5570,25 @@
}
add_text:
- sprintf(prompt, "Enter the %stext to be added : ",
- flags&CF_NUMBER ? "numeric " : "");
+ sprintf(prompt, "輸入想加入的%s字:",
-+ flags&CF_NUMBER ? "數 " : "文");
++ flags&CF_NUMBER ? "數" : "文");
break;
case 'r':
@@ -767,7 +922,7 @@
- sprintf(prompt, "Enter the %sreplacement text : ",
- flags&CF_NUMBER ? "numeric " : "");
+ sprintf(prompt, "輸入想取代的%s字:",
-+ flags&CF_NUMBER ? "數 " : "文");
++ flags&CF_NUMBER ? "數" : "文");
break;
case 'x':
@@ -781,11 +936,11 @@
- sprintf(prompt, "Enter the %stext to be added : ",
- flags&CF_NUMBER ? "numeric " : "");
+ sprintf(prompt, "輸入想加入的%s字:",
-+ flags&CF_NUMBER ? "數 " : "文");
++ flags&CF_NUMBER ? "數" : "文");
ps->mangled_footer = 1;
-@@ -5482,7 +5481,7 @@
+@@ -5607,7 +5605,7 @@
ekey[0].ch = ctrl('W');
ekey[0].rval = 5;
ekey[0].name = "^W";
@@ -794,7 +949,7 @@
ekey[1].ch = -1;
}
else if(!(flags&CF_NUMBER))
-@@ -5536,7 +5535,7 @@
+@@ -5660,7 +5658,7 @@
}
else{
q_status_message1(SM_ORDER, 0, 3,
@@ -803,7 +958,7 @@
rv = ps->mangled_body = 0;
}
-@@ -5544,7 +5543,7 @@
+@@ -5668,7 +5666,7 @@
}
else{
q_status_message1(SM_ORDER, 0, 3,
@@ -812,7 +967,7 @@
}
}
else{
-@@ -5552,7 +5551,7 @@
+@@ -5676,7 +5674,7 @@
&& !(isdigit((unsigned char)sval[0])
|| sval[0] == '-' || sval[0] == '+')){
q_status_message(SM_ORDER,3,3,
@@ -821,7 +976,7 @@
i = 3; /* to keep loop going */
continue;
}
-@@ -5565,7 +5564,7 @@
+@@ -5689,7 +5687,7 @@
}
}
else if(i == 1){
@@ -830,18 +985,18 @@
}
else if(i == 3){
help = help == NO_HELP ? h_config_add : NO_HELP;
-@@ -5588,8 +5587,8 @@
+@@ -5712,8 +5710,8 @@
}
sprintf(prompt,
- "Enter text to insert %s \"%.*s\": ",
- after ? "after" : "before", k, tmpval);
+ "輸入想要插在 \"%.*s\" %s的文字",
-+ k, tmpval, after ? "之後" : "之前");
++ after ? "之後" : "之前", k, tmpval);
continue;
}
else if(i == ctrl('P')){
-@@ -5609,7 +5608,7 @@
+@@ -5733,7 +5731,7 @@
*/
if(++repeat_key > 0){
q_status_message1(SM_ORDER,3,3,
@@ -850,7 +1005,7 @@
repeat_key = -5;
}
}
-@@ -5633,7 +5632,7 @@
+@@ -5757,7 +5755,7 @@
if(numval == hirange){
if(++repeat_key > 0){
q_status_message1(SM_ORDER,3,3,
@@ -859,7 +1014,25 @@
repeat_key = -5;
}
}
-@@ -5686,7 +5685,7 @@
+@@ -5782,7 +5780,7 @@
+ && (*cl)->var->current_val.p){
+ char pmt[40];
+
+- sprintf(pmt, "Override default with %s", empty_val2);
++ sprintf(pmt, "以 %s 覆蓋預設值", empty_val2);
+ if(want_to(pmt, 'n', 'n', NO_HELP, WT_FLUSH_IN) == 'y'){
+ sval[0] = '\0';
+ (*cl)->var->user_val.p = cpystr(sval);
+@@ -5795,7 +5793,7 @@
+ && (*cl)->var->current_val.l){
+ char pmt[40];
+
+- sprintf(pmt, "Override default with %s", empty_val2);
++ sprintf(pmt, "以 %s 覆蓋預設值", empty_val2);
+ if(want_to(pmt, 'n', 'n', NO_HELP, WT_FLUSH_IN) == 'y'){
+ char **ltmp;
+
+@@ -5810,7 +5808,7 @@
}
else if(((*cl)->var->is_list && !(*cl)->var->user_val.l)
|| (!(*cl)->var->is_list && !(*cl)->var->user_val.p)){
@@ -868,7 +1041,7 @@
}
else{
if((*cl)->var->is_fixed)
-@@ -5702,7 +5701,8 @@
+@@ -5826,7 +5824,8 @@
: "<NULL VALUE>",
(*cl)->var->name);
else
@@ -878,7 +1051,7 @@
(*cl)->var->is_list ? "item " : "",
(*cl)->var->is_list
? int2string((*cl)->varmem + 1)
-@@ -5710,8 +5710,7 @@
+@@ -5834,8 +5833,7 @@
? (!*(*cl)->var->user_val.p)
? empty_val2
: (*cl)->var->user_val.p
@@ -888,7 +1061,7 @@
ps->mangled_footer = 1;
if(want_to(prompt, 'n', 'n', NO_HELP, WT_FLUSH_IN) == 'y'){
-@@ -5726,7 +5725,7 @@
+@@ -5850,7 +5848,7 @@
}
}
else
@@ -897,7 +1070,7 @@
}
break;
-@@ -5855,7 +5854,7 @@
+@@ -5978,7 +5976,7 @@
&& !(isdigit((unsigned char)sval[0])
|| sval[0] == '-' || sval[0] == '+')){
q_status_message(SM_ORDER,3,3,
@@ -906,7 +1079,7 @@
continue;
}
-@@ -5869,7 +5868,7 @@
+@@ -5992,7 +5990,7 @@
}
}
else if(i == 1){
@@ -915,7 +1088,7 @@
}
else if(i == 3){
help = help == NO_HELP ? h_config_change : NO_HELP;
-@@ -5887,7 +5886,7 @@
+@@ -6010,7 +6008,7 @@
*/
if(++repeat_key > 0){
q_status_message1(SM_ORDER,3,3,
@@ -924,7 +1097,7 @@
repeat_key = -5;
}
}
-@@ -5903,7 +5902,7 @@
+@@ -6026,7 +6024,7 @@
if(numval == hirange){
if(++repeat_key > 0){
q_status_message1(SM_ORDER,3,3,
@@ -933,7 +1106,7 @@
repeat_key = -5;
}
}
-@@ -5990,15 +5989,15 @@
+@@ -6113,15 +6111,15 @@
if(flags & CF_CHANGES){
switch(want_to(EXIT_PMT, 'y', 'x', h_config_undo, WT_FLUSH_IN)){
case 'y':
@@ -952,7 +1125,7 @@
return(0);
}
}
-@@ -6290,7 +6289,7 @@
+@@ -6413,7 +6411,7 @@
&& want_to("Delete old unused personal option setting",
'y', 'n', NO_HELP, WT_FLUSH_IN) == 'y'){
fs_give((void **)&(*cl)->var->user_val.p);
@@ -961,7 +1134,7 @@
rv = 1;
}
-@@ -6429,7 +6428,7 @@
+@@ -6552,7 +6550,7 @@
&& want_to("Delete old unused personal option setting",
'y', 'n', NO_HELP, WT_FLUSH_IN) == 'y'){
fs_give((void **)&(*cl)->var->user_val.p);
@@ -970,7 +1143,7 @@
rv = 1;
}
-@@ -6519,15 +6518,15 @@
+@@ -6642,15 +6640,15 @@
fs_give((void **)&q);
}
@@ -989,7 +1162,7 @@
retval = 1;
}
-@@ -6538,11 +6537,11 @@
+@@ -6661,11 +6659,11 @@
set_variable(V_PERSONAL_PRINT_CATEGORY,
comatose(ps->printer_category), 0);
q_status_message1(SM_ORDER,0,3,
@@ -1003,7 +1176,7 @@
retval = 1;
}
-@@ -6557,11 +6556,11 @@
+@@ -6680,11 +6678,11 @@
set_variable(V_PERSONAL_PRINT_CATEGORY,
comatose(ps->printer_category), 0);
q_status_message1(SM_ORDER,0,3,
@@ -1017,7 +1190,7 @@
retval = 1;
}
-@@ -6611,7 +6610,7 @@
+@@ -6734,23 +6732,23 @@
switch(cmd){
case MC_ADD: /* add to list */
sval[0] = '\0';
@@ -1025,8 +1198,28 @@
+ if(!fixed_var((*cl)->var, "新增", NULL)){
if((*cl)->var->user_val.l && (*cl)->value){
- strcpy(prompt, "Enter printer name : ");
-@@ -6643,17 +6642,17 @@
+- strcpy(prompt, "Enter printer name : ");
++ strcpy(prompt, "輸入印表機名稱:");
+ }
+ else if(!(*cl)->var->user_val.l && (*cl)->var->current_val.l){
+ /* Add to list which doesn't exist, but default does exist */
+ ekey[0].ch = 'r';
+ ekey[0].rval = 'r';
+ ekey[0].name = "R";
+- ekey[0].label = "Replace";
++ ekey[0].label = "取代";
+ ekey[1].ch = 'a';
+ ekey[1].rval = 'a';
+ ekey[1].name = "A";
+- ekey[1].label = "Add To";
++ ekey[1].label = "新增";
+ ekey[2].ch = -1;
+- strcpy(prompt, "Replace or Add To default value ? ");
++ strcpy(prompt, "取代或新增至預設值?");
+ switch(i = radio_buttons(prompt, -FOOTER_ROWS(ps), ekey, 'a',
+ 'x', h_config_replace_add, RB_NORM)){
+ case 'a':
+@@ -6766,17 +6764,17 @@
ltmp[k + 1] = ltmp[k] = NULL;
add_text:
@@ -1047,7 +1240,7 @@
break;
}
-@@ -6661,7 +6660,7 @@
+@@ -6784,7 +6782,7 @@
break;
}
else
@@ -1056,7 +1249,7 @@
ps->mangled_footer = 1;
help = NO_HELP;
-@@ -6673,7 +6672,7 @@
+@@ -6796,7 +6794,7 @@
ekey[0].ch = ctrl('W');
ekey[0].rval = 5;
ekey[0].name = "^W";
@@ -1065,8 +1258,8 @@
ekey[1].ch = -1;
}
else
-@@ -6690,7 +6689,7 @@
- removing_trailing_white_space(name);
+@@ -6812,7 +6810,7 @@
+ removing_leading_and_trailing_white_space(name);
}
else if(i == 1){
- q_status_message(SM_ORDER,0,3,"Add cancelled");
@@ -1074,21 +1267,21 @@
}
else if(i == 3){
help = (help == NO_HELP) ? h_config_insert_after : NO_HELP;
-@@ -6744,7 +6743,7 @@
- * Don't allow input of multiple entries at once.
- */
- q_status_message(SM_ORDER,3,5,
-- "No commas allowed in command");
-+ "命令中不可有逗號");
- i = 2;
- continue;
- }
-@@ -6759,10 +6758,10 @@
+@@ -6830,7 +6828,7 @@
+ #ifdef OS2
+ strcpy(prompt, "Enter port or |command : ");
+ #else
+- strcpy(prompt, "Enter command for printer : ");
++ strcpy(prompt, "輸入給印表機的命令:");
+ #endif
+ while(i != 0 && i != 1){
+ oeflags = OE_APPEND_CURRENT;
+@@ -6880,10 +6878,10 @@
}
else
q_status_message1(SM_ORDER, 0, 3,
- "Can't add %s to list", empty_val);
-+ "無法新增 %s 至列表中", empty_val);
++ "無法將 %s 新增至列表中", empty_val);
}
else if(i == 1){
- q_status_message(SM_ORDER,0,3,"Add cancelled");
@@ -1096,14 +1289,7 @@
}
else if(i == 3){
help = help == NO_HELP ? h_config_print_cmd : NO_HELP;
-@@ -6800,19 +6799,19 @@
- }
- }
- else if(!(*cl)->var->user_val.l){
-- q_status_message(SM_ORDER, 0, 3, "No set value to delete");
-+ q_status_message(SM_ORDER, 0, 3, "沒有任何設定值遭刪除");
- }
- else{
+@@ -6927,13 +6925,13 @@
if((*cl)->var->is_fixed){
parse_printer((*cl)->var->user_val.l[(*cl)->varmem],
&nick, &p, NULL, NULL, NULL, NULL);
@@ -1119,7 +1305,7 @@
int2string((*cl)->varmem + 1));
ps->mangled_footer = 1;
-@@ -6822,7 +6821,7 @@
+@@ -6943,7 +6941,7 @@
config_del_list_item(cl, &newval);
}
else
@@ -1128,7 +1314,7 @@
}
break;
-@@ -6833,7 +6832,7 @@
+@@ -6954,7 +6952,7 @@
&& !strucmp(ps->VAR_PRINTER,(*cl)->var->current_val.l[(*cl)->varmem]))
changing_selected = 1;
@@ -1137,7 +1323,7 @@
break;
else if(!(*cl)->var->user_val.l && (*cl)->var->current_val.l)
goto replace_text;
-@@ -6845,22 +6844,22 @@
+@@ -6966,22 +6964,22 @@
ekey[0].ch = 'n';
ekey[0].rval = 'n';
ekey[0].name = "N";
@@ -1165,7 +1351,7 @@
break;
}
else if(i == 'c'){
-@@ -6869,7 +6868,7 @@
+@@ -6990,7 +6988,7 @@
parse_printer((*cl)->var->user_val.l[(*cl)->varmem],
NULL, &p, NULL, NULL, NULL, &all_but_cmd);
@@ -1174,7 +1360,7 @@
strcpy(sval, p ? p : "");
fs_give((void **)&p);
-@@ -6908,12 +6907,12 @@
+@@ -7028,12 +7026,12 @@
* Don't allow input of multiple entries at once.
*/
q_status_message(SM_ORDER,3,5,
@@ -1189,7 +1375,7 @@
}
else if(i == 3){
help = help == NO_HELP ? h_config_change : NO_HELP;
-@@ -6932,7 +6931,7 @@
+@@ -7052,7 +7050,7 @@
parse_printer((*cl)->var->user_val.l[(*cl)->varmem],
&p, NULL, NULL, NULL, &all_but_nick, NULL);
@@ -1198,7 +1384,7 @@
strcpy(name, p ? p : "");
fs_give((void **)&p);
-@@ -6962,7 +6961,7 @@
+@@ -7081,7 +7079,7 @@
newval = &(*cl)->value;
}
else if(i == 1){
@@ -1207,7 +1393,7 @@
}
else if(i == 3){
help = help == NO_HELP ? h_config_change : NO_HELP;
-@@ -6983,18 +6982,18 @@
+@@ -7102,18 +7100,18 @@
ekey[0].ch = 'i';
ekey[0].rval = 'i';
ekey[0].name = "I";
@@ -1230,7 +1416,7 @@
break;
}
else{
-@@ -7003,8 +7002,8 @@
+@@ -7122,8 +7120,8 @@
parse_printer((*cl)->var->user_val.l[(*cl)->varmem],
&nick, &p, &init, &trailer, NULL, NULL);
@@ -1241,7 +1427,7 @@
strcpy(sval, (j == 'i') ? init : trailer);
tmp = string_to_cstring(sval);
-@@ -7059,7 +7058,7 @@
+@@ -7177,7 +7175,7 @@
newval = &(*cl)->value;
}
else if(i == 1){
@@ -1250,7 +1436,7 @@
}
else if(i == 3){
help=(help == NO_HELP)?h_config_print_init:NO_HELP;
-@@ -7137,18 +7136,18 @@
+@@ -7255,18 +7253,18 @@
case MC_DELETE :
if((*cl)->d.c.ct->use & CNTXT_INCMNG)
@@ -1273,7 +1459,7 @@
context_select_edit(ps, cl);
ps->mangled_screen = 1;
}
-@@ -7156,7 +7155,7 @@
+@@ -7274,7 +7272,7 @@
break;
case MC_ADD :
@@ -1282,7 +1468,7 @@
context_select_add(ps, cl);
ps->mangled_screen = 1;
}
-@@ -7165,9 +7164,9 @@
+@@ -7283,9 +7281,9 @@
case MC_SHUFFLE :
if((*cl)->d.c.ct->use & CNTXT_INCMNG)
@@ -1294,7 +1480,7 @@
context_select_shuffle(ps, cl);
break;
-@@ -7234,7 +7233,7 @@
+@@ -7352,7 +7350,7 @@
struct key_menu *km;
CONT_SCR_S *cs;
@@ -1303,16 +1489,16 @@
/* create a corresponding new CONF_S */
new_ctxt = new_context(raw_ctxt, NULL);
-@@ -7313,7 +7312,7 @@
+@@ -7416,7 +7414,7 @@
/* Tell the user it was a huge success... */
q_status_message(SM_ORDER, 0, 3,
-- "New collection added! Use \"$\" to adjust order.");
+- "New collection added. Use \"$\" to adjust order.");
+ "新的總集加入了!請用 \"$\" 調整順序。");
}
}
-@@ -7332,11 +7331,11 @@
+@@ -7435,11 +7433,11 @@
if(!((*cl)->var->user_val.l && (*cl)->var->user_val.l[0])){
q_status_message(SM_ORDER | SM_DING, 3, 3,
@@ -1326,14 +1512,14 @@
old_cl->value);
if(want_to(tmp, 'n', 'n', NO_HELP, WT_FLUSH_IN) == 'y'){
/* Remove from var list */
-@@ -7448,12 +7447,12 @@
+@@ -7551,12 +7549,12 @@
ps->mangled_body = 1;
q_status_message(SM_ORDER, 0, 3,
(old_cl == *cl)
- ? "Last collection deleted. Using default."
- : "Collection deleted");
+ ? "最後一個總集已被刪除。使用預設值。"
-+ : "褻陘w被刪除");
++ : "總集已被刪除");
}
else
@@ -1342,7 +1528,7 @@
}
-@@ -7475,7 +7474,7 @@
+@@ -7578,7 +7576,7 @@
if(p = strstr(tpath, "%s"))
*p = '\0';
@@ -1351,7 +1537,7 @@
(*cl)->d.c.ct->server, tpath,
(*cl)->d.c.ct->dir->view.user)){
-@@ -7545,7 +7544,7 @@
+@@ -7648,7 +7646,7 @@
set_current_val((*cl)->var, TRUE, FALSE);
@@ -1360,7 +1546,24 @@
}
}
-@@ -7587,7 +7586,7 @@
+@@ -7670,14 +7668,14 @@
+ ekey[n].ch = 'u';
+ ekey[n].rval = 'u';
+ ekey[n].name = "U";
+- ekey[n++].label = "Up";
++ ekey[n++].label = "上";
+ }
+
+ if((*cl)->d.c.ct->next && !((*cl)->d.c.ct->use & CNTXT_INCMNG)){
+ ekey[n].ch = 'd';
+ ekey[n].rval = 'd';
+ ekey[n].name = "D";
+- ekey[n++].label = "Down";
++ ekey[n++].label = "下";
+ }
+
+ if(n){
+@@ -7690,7 +7688,7 @@
if((cmd = radio_buttons(prompt, -FOOTER_ROWS(ps), ekey,
(n == 1) ? 'd' : 0, 'x',
NO_HELP, RB_NORM)) == 'x'){
@@ -1369,7 +1572,7 @@
}
else if((cmd == 'u' && (ctmp = context_select_prev(*cl)))
|| (cmd == 'd' && (ctmp = context_select_next(*cl)))){
-@@ -7686,7 +7685,7 @@
+@@ -7789,7 +7787,7 @@
}
}
else
@@ -1378,7 +1581,7 @@
}
-@@ -8148,7 +8147,7 @@
+@@ -8254,7 +8252,7 @@
if(cl->var->current_val.l){
int i, l, l2;
@@ -1387,7 +1590,7 @@
for(i = 0; cl->var->current_val.l[i]; i++){
if(i)
*p++ = ',';
-@@ -8180,7 +8179,7 @@
+@@ -8286,7 +8284,7 @@
sprintf(tmp, cl->var->is_fixed
? "<%s%s%s%s>%*s" : "<%s%s%s%s>%*s",
cl->var->is_fixed ? fixed_val : no_val,
@@ -1396,7 +1599,7 @@
(cl->var->current_val.p) ? cl->var->current_val.p : "",
(cl->var->current_val.p) ? "\"" : "",
max(0, ps->ttyo->screen_cols - cl->valoffset - 13
-@@ -8322,7 +8321,7 @@
+@@ -8428,7 +8426,7 @@
p = (struncmp(*vp, "no-", 3)) ? *vp : *vp + 3;
if(!strucmp(p, f->name) || (og && !strucmp(p, "old-growth"))){
q_status_message(SM_ORDER, 3, 3,
@@ -1405,16 +1608,16 @@
return;
}
}
-@@ -8360,7 +8359,7 @@
- (void *)(F_ON(f->value,ps) ? 1 : 0));
- else if(f->value == F_ENABLE_INCOMING && F_ON(f->value, ps)){
- q_status_message(SM_ORDER | SM_DING, 3, 4,
-- "Folder List changes will take effect your next pine session.");
-+ "資料匣列表的改變將在下次啟動 pine 時生效。");
- }
- else if(f->value == F_PRESERVE_START_STOP){
- /* toggle raw mode settings to make tty driver aware of new setting */
-@@ -8529,8 +8528,8 @@
+@@ -8477,7 +8475,7 @@
+
+ case F_ENABLE_INCOMING :
+ q_status_message(SM_ORDER | SM_DING, 3, 4,
+- "Folder List changes will take effect your next pine session.");
++ "資料匣列表的改變將在下次啟動 pine 時生效。");
+
+ break;
+
+@@ -8659,8 +8657,8 @@
{
if(v && v->is_fixed){
q_status_message2(SM_ORDER, 3, 3,
@@ -1425,7 +1628,7 @@
return(1);
}
-@@ -8829,7 +8828,7 @@
+@@ -8963,7 +8961,7 @@
&& var->is_list
&& !var->user_val.l
&& var->current_val.l)))
@@ -1434,25 +1637,25 @@
if(var == &ps->vars[V_USER_DOMAIN]){
char *p, *q;
-@@ -8840,7 +8839,7 @@
+@@ -8974,7 +8972,7 @@
if(*(++p)){
if(!revert)
q_status_message2(SM_ORDER, 3, 5,
- "User-domain (%s) cannot contain \"@\"; using %s",
-+ "User-domain (%s) 不可包括 \"@\"; 使用 %s",
++ "User-domain (%s) 不可包括 \"@\";使用 %s",
ps->VAR_USER_DOMAIN, p);
q = ps->VAR_USER_DOMAIN;
while((*q++ = *p++) != '\0')
-@@ -8849,7 +8848,7 @@
+@@ -8983,7 +8981,7 @@
else{
if(!revert)
q_status_message1(SM_ORDER, 3, 5,
- "User-domain (%s) cannot contain \"@\"; deleting",
-+ "User-domain (%s) 不可包括 \"@\"; 刪除中",
++ "User-domain (%s) 不可包括 \"@\";刪除中",
ps->VAR_USER_DOMAIN);
fs_give((void **)&ps->USR_USER_DOMAIN);
set_current_val(&ps->vars[V_USER_DOMAIN], TRUE, TRUE);
-@@ -8909,7 +8908,7 @@
+@@ -9043,7 +9041,7 @@
else if(var == &ps->vars[V_INIT_CMD_LIST]){
if(!revert)
q_status_message(SM_ASYNC, 0, 3,
@@ -1461,7 +1664,7 @@
}
else if(var == &ps->vars[V_VIEW_HEADERS]){
ps->view_all_except = 0;
-@@ -8968,10 +8967,10 @@
+@@ -9115,10 +9113,10 @@
}
else if(timeo == 0L && !revert){
q_status_message(SM_ORDER, 4, 6,
@@ -1474,3 +1677,148 @@
}
}
#if defined(DOS) || defined(OS2)
+@@ -9431,10 +9429,10 @@
+ static struct key role_select_keys[] =
+ {HELP_MENU,
+ NULL_MENU,
+- {"E", "Exit", {MC_EXIT,1,{'e'}}, KS_EXITMODE},
++ {"E", "離開", {MC_EXIT,1,{'e'}}, KS_EXITMODE},
+ NULL_MENU,
+- {"P", "PrevRole", {MC_PREVITEM, 1, {'p'}}, KS_NONE},
+- {"N", "NextRole", {MC_NEXTITEM, 2, {'n', TAB}}, KS_NONE},
++ {"P", "前一角色", {MC_PREVITEM, 1, {'p'}}, KS_NONE},
++ {"N", "次一角色", {MC_NEXTITEM, 2, {'n', TAB}}, KS_NONE},
+ PREVPAGE_MENU,
+ NEXTPAGE_MENU,
+ NULL_MENU,
+@@ -9475,7 +9473,7 @@
+ new_confline(&ctmp);
+ first_line = ctmp;
+
+- ctmp->value = cpystr("Default Role");
++ ctmp->value = cpystr("預設角色");
+ ctmp->d.r.selected = &sel_pat;
+ ctmp->d.r.pat = &local_pat;
+ ctmp->d.r.handle = pattern_h;
+@@ -9493,7 +9491,7 @@
+ menu_add_binding(ctmp->keymenu, ctrl('M'), MC_CHOICE);
+ }
+ else{
+- menu_init_binding(ctmp->keymenu, 'S', MC_CHOICE, "S", "[Select]",
++ menu_init_binding(ctmp->keymenu, 'S', MC_CHOICE, "S", "[選擇]",
+ DEFAULT_KEY);
+ menu_add_binding(ctmp->keymenu, ctrl('J'), MC_CHOICE);
+ menu_add_binding(ctmp->keymenu, ctrl('M'), MC_CHOICE);
+@@ -9516,7 +9514,7 @@
+ ctmp->valoffset = 4;
+ }
+
+- (void)conf_scroll_screen(ps, &screen, first_line, "SELECT ROLE",
++ (void)conf_scroll_screen(ps, &screen, first_line, "選擇角色",
+ "roles ", 0);
+
+ if(sel_pat){
+@@ -9617,23 +9615,23 @@
+ static struct key role_config_keys[] =
+ {HELP_MENU,
+ OTHER_MENU,
+- {"E", "Exit Setup", {MC_EXIT,1,{'e'}}, KS_EXITMODE},
+- {"C", "[Change]", {MC_EDIT,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE},
+- {"P", "PrevRole", {MC_PREVITEM, 1, {'p'}}, KS_NONE},
+- {"N", "NextRole", {MC_NEXTITEM, 2, {'n', TAB}}, KS_NONE},
++ {"E", "離開", {MC_EXIT,1,{'e'}}, KS_EXITMODE},
++ {"C", "[修改]", {MC_EDIT,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE},
++ {"P", "前一角色", {MC_PREVITEM, 1, {'p'}}, KS_NONE},
++ {"N", "次一角色", {MC_NEXTITEM, 2, {'n', TAB}}, KS_NONE},
+ PREVPAGE_MENU,
+ NEXTPAGE_MENU,
+- {"A", "Add Role", {MC_ADD,1,{'a'}}, KS_NONE},
+- {"D", "Del Role", {MC_DELETE,1,{'d'}}, KS_NONE},
+- {"$", "Shuffle", {MC_SHUFFLE,1,{'$'}}, KS_NONE},
++ {"A", "新增角色", {MC_ADD,1,{'a'}}, KS_NONE},
++ {"D", "刪除角色", {MC_DELETE,1,{'d'}}, KS_NONE},
++ {"$", "重新整理", {MC_SHUFFLE,1,{'$'}}, KS_NONE},
+ WHEREIS_MENU,
+
+ HELP_MENU,
+ OTHER_MENU,
+ NULL_MENU,
+ NULL_MENU,
+- {"I", "IncludeFile", {MC_ADDFILE,1,{'i'}}, KS_NONE},
+- {"X", "eXcludeFile", {MC_DELFILE,1,{'x'}}, KS_NONE},
++ {"I", "含括檔案", {MC_ADDFILE,1,{'i'}}, KS_NONE},
++ {"X", "排除檔案", {MC_DELFILE,1,{'x'}}, KS_NONE},
+ NULL_MENU,
+ NULL_MENU,
+ NULL_MENU,
+@@ -9889,7 +9887,7 @@
+ case MC_DELETE :
+ if(first_one)
+ q_status_message(SM_ORDER|SM_DING, 0, 3,
+- "Nothing to Delete, use Add");
++ "沒有可供刪除的項目,請用新增");
+ else
+ rv = role_config_del(ps, cl);
+
+@@ -9910,14 +9908,14 @@
+ case MC_SHUFFLE :
+ if(first_one)
+ q_status_message(SM_ORDER|SM_DING, 0, 3,
+- "Nothing to Shuffle, use Add");
++ "沒有可供刪除的項目,請用新增");
+ else
+ rv = role_config_shuffle(ps, cl);
+
+ break;
+
+ case MC_EXIT :
+- rv = screen_exit_cmd(flags, "Role Configuration");
++ rv = screen_exit_cmd(flags, "角色設定");
+ break;
+
+ case MC_ADDFILE :
+@@ -10158,7 +10156,7 @@
+ delete_a_role(cl);
+ }
+ else
+- q_status_message(SM_ORDER, 0, 3, "Role not deleted");
++ q_status_message(SM_ORDER, 0, 3, "角色未被刪除");
+
+ return(rv);
+ }
+@@ -10724,7 +10722,7 @@
+ free_patline(&cur_patline);
+ }
+ else
+- q_status_message(SM_ORDER, 0, 3, "Role file not removed");
++ q_status_message(SM_ORDER, 0, 3, "角色檔未被移除");
+
+ return(rv);
+ }
+@@ -11084,7 +11082,7 @@
+
+
+ struct variable *role_rule_ptr;
+-#define ALT_ROLE "Alternate Role"
++#define ALT_ROLE "替代角色"
+
+ CONF_S *inick_confs[5];
+ #define INICK_INICK_CONF 0
+@@ -11216,7 +11214,7 @@
+ def->action->role->inherit_nick &&
+ def->action->role->inherit_nick[0])
+ ? cpystr(def->action->role->inherit_nick) : NULL;
+- inick_var.global_val.p = cpystr("Default Role");
++ inick_var.global_val.p = cpystr("預設角色");
+
+ from_act_var.name = cpystr("Set From");
+ from_act_var.is_used = 1;
+@@ -12115,7 +12113,7 @@
+ if(file[len=(strlen(file)-1)] == '|')
+ file[len] = '\0';
+
+- sprintf(title, "%s EDITOR", sig ? "SIGNATURE" : "TEMPLATE");
++ sprintf(title, "%s編輯器", sig ? "簽名檔" : "模板");
+ err = signature_edit(file, title);
+ }
+