summaryrefslogtreecommitdiff
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-bf1026
1 files changed, 759 insertions, 267 deletions
diff --git a/chinese/pine4/files/patch-bf b/chinese/pine4/files/patch-bf
index 685b3775f925..f13bd74fed4c 100644
--- a/chinese/pine4/files/patch-bf
+++ b/chinese/pine4/files/patch-bf
@@ -1,6 +1,6 @@
---- 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 @@
+--- pine/other.c.orig Thu Oct 14 13:46:05 1999
++++ pine/other.c Thu Oct 14 17:02:49 1999
+@@ -53,18 +53,18 @@
#define BODY_LINES(X) ((X)->ttyo->screen_rows -HEADER_ROWS(X)-FOOTER_ROWS(X))
@@ -12,7 +12,7 @@
-#define EXIT_PMT "Commit changes (\"Yes\" replaces settings, \"No\" abandons changes)"
-static char *empty_val = "Empty Value";
-static char *empty_val2 = "<Empty Value>";
-+#define EXIT_PMT "送出改變 (\"是\" 取代設定,\"否\" 放棄改變)"
++#define EXIT_PMT "送出改變(\"是\" 取代設定,\"否\" 放棄改變)"
+static char *empty_val = "空的設定值";
+static char *empty_val2 = "<空的設定值>";
#define EMPTY_VAL_LEN 11
@@ -22,12 +22,12 @@
-static char *fixed_val = "Value is Fixed";
+static char *fixed_val = "設定值已固定";
--#define ADD_FIRST_ROLE "Use Add to add a role"
-+#define ADD_FIRST_ROLE "以 \"新增角色\" 來增加一名角色"
+-#define ARB_HELP "HELP FOR ARBITRARY HEADER PATTERNS"
++#define ARB_HELP "任意標頭式樣的輔助說明"
- typedef struct conf_line {
- char *varname, /* alloc'd var name string */
-@@ -271,16 +271,14 @@
+ typedef struct edit_arb {
+ struct variable *v;
+@@ -344,16 +344,14 @@
#ifndef NO_KEYBOARD_LOCK
ClearScreen();
@@ -47,7 +47,7 @@
fflush(stdout);
#endif
}
-@@ -292,12 +290,12 @@
+@@ -365,12 +363,12 @@
#ifndef NO_KEYBOARD_LOCK
ClearScreen();
@@ -63,7 +63,7 @@
fflush(stdout);
#endif
}
-@@ -339,9 +337,9 @@
+@@ -412,9 +410,9 @@
char prompt[50];
sprintf(prompt,
@@ -76,7 +76,7 @@
flags = OE_PASSWD;
rc = optionally_enter(pw, -FOOTER_ROWS(ps), 0, 30,
-@@ -350,7 +348,7 @@
+@@ -423,7 +421,7 @@
if(rc == 3)
help = help == NO_HELP ? h_kb_lock : NO_HELP;
else if(rc == 1 || pw[0] == '\0'){
@@ -85,7 +85,7 @@
return(-1);
}
else if(rc != 4)
-@@ -361,14 +359,14 @@
+@@ -434,14 +432,14 @@
strcpy(inpasswd, pw);
else if(strcmp(inpasswd, pw)){
q_status_message(SM_ORDER, 0, 2,
@@ -103,7 +103,7 @@
return(-1);
}
-@@ -382,7 +380,7 @@
+@@ -455,7 +453,7 @@
while(strcmp(inpasswd, passwd)){
if(passwd[0])
q_status_message(SM_ORDER | SM_DING, 3, 3,
@@ -112,7 +112,7 @@
help = NO_HELP;
while(1){
-@@ -390,7 +388,7 @@
+@@ -463,7 +461,7 @@
flags = OE_PASSWD | OE_DISALLOW_CANCEL;
rc = optionally_enter(passwd, -FOOTER_ROWS(ps), 0, 30,
@@ -121,7 +121,7 @@
help, &flags);
if(rc == 3) {
help = help == NO_HELP ? h_oe_keylock : NO_HELP;
-@@ -405,7 +403,7 @@
+@@ -478,7 +476,7 @@
if(old_suspend)
F_TURN_ON(F_CAN_SUSPEND, ps_global);
@@ -130,7 +130,7 @@
return(0);
}
-@@ -443,7 +441,7 @@
+@@ -516,7 +514,7 @@
struct variable *vars = ps_global->vars;
if(!signature_path(sigfile, sig_path, MAXPATH))
@@ -139,7 +139,7 @@
memset(&pbuf, 0, sizeof(PICO));
-@@ -519,7 +517,7 @@
+@@ -593,7 +591,7 @@
* Now alloc and init the text to pass pico
*/
if(!(msgso = so_get(PicoText, NULL, EDIT_ACCESS))){
@@ -148,7 +148,7 @@
dprint(1, (debugfile, "Can't alloc space for signature_edit"));
return(ret);
}
-@@ -530,7 +528,7 @@
+@@ -604,7 +602,7 @@
&& !(tmpso = so_get(FileStar, sig_path, READ_ACCESS))){
char *problem = error_description(errno);
@@ -157,7 +157,7 @@
sig_path, problem ? problem : "<NULL>");
ret = cpystr(errbuf);
-@@ -543,7 +541,7 @@
+@@ -617,7 +615,7 @@
gf_set_so_writec(&pc, msgso);
gf_filter_init(); /* no filters needed */
if(errstr = gf_pipe(gc, pc)){
@@ -166,7 +166,7 @@
ret = cpystr(errbuf);
}
-@@ -582,7 +580,7 @@
+@@ -656,7 +654,7 @@
gf_set_so_writec(&pc, tmpso); /* write sig file */
gf_filter_init(); /* no filters needed */
if(errstr = gf_pipe(gc, pc)){
@@ -175,7 +175,7 @@
errstr);
ret = cpystr(errbuf);
}
-@@ -592,7 +590,7 @@
+@@ -666,7 +664,7 @@
so_give(&tmpso);
}
else{
@@ -184,7 +184,7 @@
ret = cpystr(errbuf);
dprint(1, (debugfile, "signature_edit: can't write %s",
sig_path));
-@@ -618,8 +616,8 @@
+@@ -695,8 +693,8 @@
char *rstr = NULL;
void (*redraw)() = ps_global->redrawer;
static ESCKEY_S opts[] = {
@@ -195,7 +195,7 @@
{-1, 0, NULL, NULL}
};
-@@ -627,18 +625,18 @@
+@@ -704,18 +702,18 @@
fix_windsize(ps_global);
while(1){
@@ -217,7 +217,7 @@
break;
}
}
-@@ -653,24 +651,24 @@
+@@ -730,28 +728,28 @@
* * * * * * Start of Config Screen Support Code * * * * *
*/
@@ -231,6 +231,12 @@
#define TOGGLE_MENU \
- {"X", "[Set/Unset]", {MC_TOGGLE,3,{'x',ctrl('M'),ctrl('J')}}, KS_NONE}
+ {"X", "[設定/解除設定]", {MC_TOGGLE,3,{'x',ctrl('M'),ctrl('J')}}, KS_NONE}
+ #define TOGGLEB_MENU \
+- {"X", "[Set/Unset]", {MC_TOGGLEB,3,{'x',ctrl('M'),ctrl('J')}}, KS_NONE}
++ {"X", "[設定/解除設定]", {MC_TOGGLEB,3,{'x',ctrl('M'),ctrl('J')}}, KS_NONE}
+ #define TOGGLEC_MENU \
+- {"X", "[Set/Unset]", {MC_TOGGLEC,3,{'x',ctrl('M'),ctrl('J')}}, KS_NONE}
++ {"X", "[設定/解除設定]", {MC_TOGGLEC,3,{'x',ctrl('M'),ctrl('J')}}, KS_NONE}
static struct key config_text_keys[] =
{HELP_MENU,
@@ -249,7 +255,23 @@
PRYNTTXT_MENU,
WHEREIS_MENU};
INST_KEY_MENU(config_text_keymenu, config_text_keys);
-@@ -679,13 +677,13 @@
+@@ -760,13 +758,13 @@
+ {HELP_MENU,
+ NULL_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,
+ NULL_MENU,
+- {"D", "Delete Val", {MC_DELETE,1,{'d'}}, KS_NONE},
++ {"D", "刪除設定值", {MC_DELETE,1,{'d'}}, KS_NONE},
+ PRYNTTXT_MENU,
+ WHEREIS_MENU};
+ INST_KEY_MENU(color_pattern_keymenu, color_pattern_keys);
+@@ -775,13 +773,13 @@
{HELP_MENU,
OTHER_MENU,
EXIT_SETUP_MENU,
@@ -266,18 +288,18 @@
PRYNTTXT_MENU,
WHEREIS_MENU,
-@@ -693,8 +691,8 @@
+@@ -789,8 +787,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},
++ {"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 @@
+@@ -803,13 +801,13 @@
{HELP_MENU,
OTHER_MENU,
EXIT_SETUP_MENU,
@@ -294,16 +316,100 @@
PRYNTTXT_MENU,
WHEREIS_MENU,
-@@ -721,7 +719,7 @@
+@@ -817,7 +815,7 @@
+ OTHER_MENU,
+ NULL_MENU,
+ NULL_MENU,
+- {"T", "ToFiles", {MC_CHOICE, 2, {'t', ctrl('T')}}, KS_NONE},
++ {"T", "檔案列表", {MC_CHOICE, 2, {'t', ctrl('T')}}, KS_NONE},
+ NULL_MENU,
+ NULL_MENU,
+ NULL_MENU,
+@@ -831,13 +829,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,
+
+@@ -846,7 +844,7 @@
+ NULL_MENU,
+ NULL_MENU,
+ NULL_MENU,
+- {"X", "eXtraHdr", {MC_ADDHDR, 1, {'x'}}, KS_NONE},
++ {"X", "額外標頭", {MC_ADDHDR, 1, {'x'}}, KS_NONE},
+ NULL_MENU,
+ NULL_MENU,
+ NULL_MENU,
+@@ -859,13 +857,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,
+
+@@ -873,8 +871,8 @@
OTHER_MENU,
NULL_MENU,
NULL_MENU,
- {"T", "ToAddrBk", {MC_CHOICEB, 2, {'t', ctrl('T')}}, KS_NONE},
+- {"X", "eXtraHdr", {MC_ADDHDR, 1, {'x'}}, KS_NONE},
+ {"T", "地址簿", {MC_CHOICEB, 2, {'t', ctrl('T')}}, KS_NONE},
++ {"X", "額外標頭", {MC_ADDHDR, 1, {'x'}}, KS_NONE},
NULL_MENU,
NULL_MENU,
NULL_MENU,
-@@ -735,13 +733,13 @@
+@@ -887,13 +885,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,
+
+@@ -902,10 +900,10 @@
+ NULL_MENU,
+ NULL_MENU,
+ NULL_MENU,
+- {"X", "eXtraHdr", {MC_ADDHDR, 1, {'x'}}, KS_NONE},
++ {"X", "額外標頭", {MC_ADDHDR, 1, {'x'}}, KS_NONE},
+ NULL_MENU,
+ NULL_MENU,
+- {"R", "RemoveHdr", {MC_DELHDR, 1, {'r'}}, KS_NONE},
++ {"R", "移除標頭", {MC_DELHDR, 1, {'r'}}, KS_NONE},
+ NULL_MENU,
+ NULL_MENU,
+ NULL_MENU};
+@@ -915,13 +913,13 @@
{HELP_MENU,
OTHER_MENU,
EXIT_SETUP_MENU,
@@ -320,21 +426,73 @@
PRYNTTXT_MENU,
WHEREIS_MENU,
-@@ -749,7 +747,7 @@
+@@ -929,7 +927,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},
+- {"T", "ToAddrBk", {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 @@
+@@ -943,13 +941,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},
++ {"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,
+
+@@ -957,7 +955,7 @@
+ OTHER_MENU,
+ NULL_MENU,
+ NULL_MENU,
+- {"T", "ToFldrs", {MC_CHOICED, 2, {'t', ctrl('T')}}, KS_NONE},
++ {"T", "檔案匣列表", {MC_CHOICED, 2, {'t', ctrl('T')}}, KS_NONE},
+ NULL_MENU,
+ NULL_MENU,
+ NULL_MENU,
+@@ -971,13 +969,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,
+
+@@ -985,7 +983,7 @@
+ OTHER_MENU,
+ NULL_MENU,
+ NULL_MENU,
+- {"T", "ToFldrs", {MC_CHOICEE, 2, {'t', ctrl('T')}}, KS_NONE},
++ {"T", "檔案匣列表", {MC_CHOICEE, 2, {'t', ctrl('T')}}, KS_NONE},
+ NULL_MENU,
+ NULL_MENU,
+ NULL_MENU,
+@@ -999,13 +997,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,
@@ -346,7 +504,7 @@
PRYNTTXT_MENU,
WHEREIS_MENU,
-@@ -777,7 +775,7 @@
+@@ -1013,7 +1011,7 @@
OTHER_MENU,
NULL_MENU,
NULL_MENU,
@@ -355,7 +513,7 @@
NULL_MENU,
NULL_MENU,
NULL_MENU,
-@@ -806,7 +804,7 @@
+@@ -1072,7 +1070,7 @@
{HELP_MENU,
NULL_MENU,
EXIT_SETUP_MENU,
@@ -364,7 +522,7 @@
PREV_MENU,
NEXT_MENU,
PREVPAGE_MENU,
-@@ -821,7 +819,7 @@
+@@ -1087,7 +1085,7 @@
{HELP_MENU,
NULL_MENU,
EXIT_SETUP_MENU,
@@ -373,7 +531,89 @@
PREV_MENU,
NEXT_MENU,
PREVPAGE_MENU,
-@@ -1489,14 +1487,14 @@
+@@ -1102,8 +1100,8 @@
+ static struct key color_changing_keys[] =
+ {HELP_MENU,
+ NULL_MENU,
+- {"E", "To Colors", {MC_EXIT,1,{'e'}}, KS_EXITMODE},
+- {"*", "[Select]", {MC_CHOICE,3,{'*',ctrl('M'),ctrl('J')}}, KS_NONE},
++ {"E", "修改色彩", {MC_EXIT,1,{'e'}}, KS_EXITMODE},
++ {"*", "[選擇]", {MC_CHOICE,3,{'*',ctrl('M'),ctrl('J')}}, KS_NONE},
+ PREV_MENU,
+ NEXT_MENU,
+ PREVPAGE_MENU,
+@@ -1118,8 +1116,8 @@
+ static struct key custom_color_changing_keys[] =
+ {HELP_MENU,
+ NULL_MENU,
+- {"E", "To Colors", {MC_EXIT,1,{'e'}}, KS_EXITMODE},
+- {"*", "[Select]", {MC_CHOICEB,3,{'*',ctrl('M'),ctrl('J')}}, KS_NONE},
++ {"E", "修改色彩", {MC_EXIT,1,{'e'}}, KS_EXITMODE},
++ {"*", "[選擇]", {MC_CHOICEB,3,{'*',ctrl('M'),ctrl('J')}}, KS_NONE},
+ PREV_MENU,
+ NEXT_MENU,
+ PREVPAGE_MENU,
+@@ -1134,8 +1132,8 @@
+ static struct key color_rgb_changing_keys[] =
+ {HELP_MENU,
+ NULL_MENU,
+- {"E", "To Colors", {MC_EXIT,1,{'e'}}, KS_EXITMODE},
+- {"*", "[Select]", {MC_CHOICE,3,{'*',ctrl('M'),ctrl('J')}}, KS_NONE},
++ {"E", "修改色彩", {MC_EXIT,1,{'e'}}, KS_EXITMODE},
++ {"*", "[選擇]", {MC_CHOICE,3,{'*',ctrl('M'),ctrl('J')}}, KS_NONE},
+ PREV_MENU,
+ NEXT_MENU,
+ PREVPAGE_MENU,
+@@ -1151,8 +1149,8 @@
+ static struct key custom_rgb_changing_keys[] =
+ {HELP_MENU,
+ NULL_MENU,
+- {"E", "To Colors", {MC_EXIT,1,{'e'}}, KS_EXITMODE},
+- {"*", "[Select]", {MC_CHOICEB,3,{'*',ctrl('M'),ctrl('J')}}, KS_NONE},
++ {"E", "修改色彩", {MC_EXIT,1,{'e'}}, KS_EXITMODE},
++ {"*", "[選擇]", {MC_CHOICEB,3,{'*',ctrl('M'),ctrl('J')}}, KS_NONE},
+ PREV_MENU,
+ NEXT_MENU,
+ PREVPAGE_MENU,
+@@ -1168,7 +1166,7 @@
+ {HELP_MENU,
+ NULL_MENU,
+ EXIT_SETUP_MENU,
+- {"C", "[Change]", {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,
+@@ -1183,7 +1181,7 @@
+ {HELP_MENU,
+ OTHER_MENU,
+ EXIT_SETUP_MENU,
+- {"C", "[Change]", {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,
+@@ -1197,8 +1195,8 @@
+ OTHER_MENU,
+ NULL_MENU,
+ NULL_MENU,
+- {"D", "DeleteHdr", {MC_DELETE,1,{'d'}}, KS_NONE},
+- {"$", "ShuffleHdr", {MC_SHUFFLE,1,{'$'}}, KS_NONE},
++ {"D", "刪除標頭", {MC_DELETE,1,{'d'}}, KS_NONE},
++ {"$", "重整標頭", {MC_SHUFFLE,1,{'$'}}, KS_NONE},
+ NULL_MENU,
+ NULL_MENU,
+ NULL_MENU,
+@@ -1211,7 +1209,7 @@
+ {HELP_MENU,
+ NULL_MENU,
+ EXIT_SETUP_MENU,
+- {"*", "[Select]", {MC_CHOICE,3,{'*',ctrl('M'),ctrl('J')}}, KS_NONE},
++ {"*", "[選擇]", {MC_CHOICE,3,{'*',ctrl('M'),ctrl('J')}}, KS_NONE},
+ PREV_MENU,
+ NEXT_MENU,
+ PREVPAGE_MENU,
+@@ -1832,14 +1830,14 @@
{HELP_MENU,
PRYNTTXT_MENU,
EXIT_SETUP_MENU,
@@ -383,16 +623,14 @@
NEXT_MENU,
PREVPAGE_MENU,
NEXTPAGE_MENU,
-- {"A", "Add Printer", {MC_ADD,1,{'a'}}, KS_NONE},
-- {"D", "DeletePrint", {MC_DELETE,1,{'d'}}, KS_NONE},
+ {"A", "Add Printer", {MC_ADD,1,{'a'}}, KS_NONE},
+ {"D", "DeletePrint", {MC_DELETE,1,{'d'}}, KS_NONE},
- {"C", "Change", {MC_EDIT,1,{'c'}}, KS_NONE},
-+ {"A", "新增印表機", {MC_ADD,1,{'a'}}, KS_NONE},
-+ {"D", "刪除印表機", {MC_DELETE,1,{'d'}}, KS_NONE},
+ {"C", "修改", {MC_EDIT,1,{'c'}}, KS_NONE},
WHEREIS_MENU};
INST_KEY_MENU(printer_edit_keymenu, printer_edit_keys);
-@@ -1504,7 +1502,7 @@
+@@ -1847,7 +1845,7 @@
{HELP_MENU,
PRYNTTXT_MENU,
EXIT_SETUP_MENU,
@@ -401,7 +639,7 @@
PREV_MENU,
NEXT_MENU,
PREVPAGE_MENU,
-@@ -1537,7 +1535,7 @@
+@@ -1880,7 +1878,7 @@
char *saved_printer;
OPT_SCREEN_S screen;
@@ -410,25 +648,25 @@
return;
saved_printer = cpystr(ps->VAR_PRINTER);
-@@ -1553,7 +1551,7 @@
+@@ -1896,7 +1894,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("可以 \"選擇\" 一個列印命令為預設印表機。");
++ = cpystr("可以 \"選擇\" 一列印命令做為預設印表機。");
#endif
new_confline(&ctmpa);
-@@ -1906,7 +1904,7 @@
+@@ -2249,7 +2247,7 @@
vsave = save_config_vars(ps);
switch(conf_scroll_screen(ps, &screen, start_line,
-- "SETUP PRINTER", "printer config ", 1)){
-+ "設定印表機", "printer config ", 1)){
+- "SETUP PRINTER", "printer config ", 1, 0)){
++ "設定印表機", "printer config ", 1, 0)){
case 0:
break;
-@@ -1947,8 +1945,8 @@
+@@ -2290,8 +2288,8 @@
fs_give((void **)def_printer_line);
*def_printer_line = fs_get(36 + strlen(p) + 1);
@@ -439,7 +677,7 @@
fs_give((void **)&nick);
fs_give((void **)&cmd);
-@@ -1958,7 +1956,7 @@
+@@ -2301,7 +2299,7 @@
static struct key flag_keys[] =
{HELP_MENU,
NULL_MENU,
@@ -448,7 +686,7 @@
TOGGLE_MENU,
PREV_MENU,
NEXT_MENU,
-@@ -2112,9 +2110,9 @@
+@@ -2455,9 +2453,9 @@
static struct key addr_select_keys[] =
{HELP_MENU,
@@ -460,7 +698,7 @@
PREV_MENU,
NEXT_MENU,
PREVPAGE_MENU,
-@@ -2128,29 +2126,29 @@
+@@ -2471,29 +2469,29 @@
static struct key addr_select_with_goback_keys[] =
{HELP_MENU,
NULL_MENU,
@@ -481,7 +719,7 @@
static struct key addr_select_with_view_keys[] =
{HELP_MENU,
- NULL_MENU,
+ RCOMPOSE_MENU,
- {"<", "AddressBkList", {MC_ADDRBOOK,2,{'<',','}}, KS_NONE},
- {">", "[View]",
+ {"<", "地址簿列表", {MC_ADDRBOOK,2,{'<',','}}, KS_NONE},
@@ -496,10 +734,10 @@
FWDEMAIL_MENU,
SAVE_MENU,
WHEREIS_MENU};
-@@ -2159,14 +2157,14 @@
+@@ -2502,14 +2500,14 @@
static struct key addr_select_for_url_keys[] =
{HELP_MENU,
- NULL_MENU,
+ RCOMPOSE_MENU,
- {"<", "Exit Viewer", {MC_ADDRBOOK,3,{'<',',','e'}}, KS_NONE},
- {">", "[View]",
+ {"<", "離開", {MC_ADDRBOOK,3,{'<',',','e'}}, KS_NONE},
@@ -514,7 +752,7 @@
FWDEMAIL_MENU,
SAVE_MENU,
WHEREIS_MENU};
-@@ -2175,7 +2173,7 @@
+@@ -2518,7 +2516,7 @@
static struct key addr_select_exit_keys[] =
{NULL_MENU,
NULL_MENU,
@@ -523,7 +761,7 @@
KS_EXITMODE},
NULL_MENU,
NULL_MENU,
-@@ -2191,7 +2189,7 @@
+@@ -2534,7 +2532,7 @@
static struct key addr_select_goback_keys[] =
{NULL_MENU,
NULL_MENU,
@@ -532,7 +770,16 @@
KS_EXITMODE},
NULL_MENU,
NULL_MENU,
-@@ -2546,7 +2544,7 @@
+@@ -2617,7 +2615,7 @@
+ char *dn, *a;
+ char **cn, **org, **unit, **title, **mail, **sn;
+ BerElement *ber;
+- static char no_email[] = "<No Email Address Available>";
++ static char no_email[] = "<無法取得電子郵件地址>";
+ int indent, have_mail;
+
+ dn = NULL;
+@@ -2898,7 +2896,7 @@
sprintf(ee+2, "%s, No Matches Returned",
ldap_err2string(wp_err->ldap_errno));
else
@@ -541,7 +788,7 @@
strcat(ee, " -- Choose Exit ]");
ctmpa->value = cpystr(ee);
-@@ -2644,7 +2642,7 @@
+@@ -2996,7 +2994,7 @@
case MC_CHOICE :
if(flags & CF_PRIVATE){
q_status_message(SM_ORDER | SM_DING, 0, 3,
@@ -550,7 +797,7 @@
}
else if(some_selectable){
(*cl)->d.a.ac->selected_ld = (*cl)->d.a.ld;
-@@ -2709,15 +2707,15 @@
+@@ -3064,15 +3062,15 @@
static struct key direct_config_keys[] =
{HELP_MENU,
NULL_MENU,
@@ -573,16 +820,16 @@
WHEREIS_MENU};
INST_KEY_MENU(dir_conf_km, direct_config_keys);
-@@ -2789,7 +2787,7 @@
+@@ -3148,7 +3146,7 @@
&first_line);
(void)conf_scroll_screen(ps, &screen, first_line,
-- "SETUP DIRECTORY SERVERS", "servers ", 1);
-+ "設定地址伺服器", "servers ", 1);
+- "SETUP DIRECTORY SERVERS", "servers ", 1, 0);
++ "設定地址伺服器", "servers ", 1, 0);
ps->mangled_screen = 1;
}
-@@ -2809,20 +2807,20 @@
+@@ -3168,20 +3166,20 @@
case MC_DELETE :
if(first_one)
q_status_message(SM_ORDER|SM_DING, 0, 3,
@@ -606,7 +853,7 @@
if(first_one)
dir_config_add(ps, cl);
else
-@@ -2832,10 +2830,10 @@
+@@ -3191,10 +3189,10 @@
break;
case MC_SHUFFLE :
@@ -619,7 +866,7 @@
else
dir_config_shuffle(ps, cl);
}
-@@ -2965,7 +2963,7 @@
+@@ -3328,7 +3326,7 @@
write_pinerc(ps);
}
else
@@ -628,7 +875,7 @@
}
free_ldap_server_info(&info);
-@@ -2995,7 +2993,7 @@
+@@ -3358,7 +3356,7 @@
if(cnt < 2){
q_status_message(SM_ORDER, 0, 3,
@@ -637,7 +884,7 @@
return;
}
-@@ -3006,12 +3004,12 @@
+@@ -3369,12 +3367,12 @@
opts[i].ch = 'u';
opts[i].rval = 'u';
opts[i].name = "U";
@@ -652,7 +899,7 @@
opts[i].ch = -1;
deefault = 'u';
-@@ -3023,11 +3021,11 @@
+@@ -3386,11 +3384,11 @@
else if(current_num == cnt - 1) /* no down */
opts[1].ch = -2;
@@ -667,16 +914,16 @@
help = (opts[0].ch == -2) ? h_dir_shuf_down
: (opts[1].ch == -2) ? h_dir_shuf_up
: h_dir_shuf;
-@@ -3037,7 +3035,7 @@
+@@ -3400,7 +3398,7 @@
switch(rv){
case 'x':
-- q_status_message(SM_ORDER, 0, 3, "Shuffle cancelled");
-+ q_status_message(SM_ORDER, 0, 3, "取消重整");
+- cmd_cancelled("Shuffle");
++ cmd_ cancelled("重整");
return;
case 'u':
-@@ -3075,7 +3073,7 @@
+@@ -3438,7 +3436,7 @@
free_list_array(&new_list);
if(j){
q_status_message(SM_ORDER, 0, 3,
@@ -685,7 +932,7 @@
set_current_val((*cl)->var, TRUE, FALSE);
return;
}
-@@ -3127,10 +3125,10 @@
+@@ -3490,10 +3488,10 @@
info = break_up_ldap_server(raw_server);
if(strcmp((*cl)->var->current_val.l[(*cl)->varmem], raw_server) == 0)
@@ -698,7 +945,7 @@
else{
char tmp[900];
char *subtitle;
-@@ -3967,7 +3965,7 @@
+@@ -4334,7 +4332,7 @@
}
else
q_status_message(SM_ORDER, 3, 3,
@@ -707,7 +954,7 @@
}
else{
int cnt, ans = 0;
-@@ -3990,11 +3988,11 @@
+@@ -4357,11 +4355,11 @@
*/
if(!(*cl)->var->user_val.l && cnt > 1){
static ESCKEY_S opts[] = {
@@ -722,7 +969,7 @@
-FOOTER_ROWS(ps), opts, 'i', 'x',
h_ab_del_dir_ignore, RB_NORM);
}
-@@ -4100,7 +4098,7 @@
+@@ -4467,7 +4465,7 @@
CONF_S *first_line = NULL;
q_status_message(SM_ORDER, 0, 3,
@@ -731,7 +978,7 @@
dir_init_display(ps, cl, servers,
&ps->vars[V_LDAP_SERVERS], &first_line);
*cl = first_line;
-@@ -4140,7 +4138,7 @@
+@@ -4507,7 +4505,7 @@
}
}
else
@@ -740,7 +987,7 @@
}
if(rv == 1){
-@@ -4164,7 +4162,7 @@
+@@ -4531,7 +4529,7 @@
int (*tool)();
{
new_confline(ctmp);
@@ -749,7 +996,7 @@
(*ctmp)->value = cpystr(ADD_FIRST_LDAP_SERVER);
(*ctmp)->var = var;
(*ctmp)->varmem = 0;
-@@ -4227,7 +4225,7 @@
+@@ -4594,7 +4592,7 @@
p->next = b;
}
@@ -758,7 +1005,7 @@
(*ctmp)->value = serv;
(*ctmp)->var = var;
(*ctmp)->varmem = member;
-@@ -4709,7 +4707,7 @@
+@@ -5111,7 +5109,7 @@
if(i)
config_scroll_up(i);
else
@@ -767,7 +1014,7 @@
}
break;
-@@ -4733,7 +4731,7 @@
+@@ -5153,7 +5151,7 @@
}
else
q_status_message(SM_ORDER, 0, 1,
@@ -776,7 +1023,7 @@
break;
-@@ -4776,7 +4774,7 @@
+@@ -5197,7 +5195,7 @@
if(ctmpa == screen->current){
q_status_message(SM_ORDER,0,1,
@@ -785,7 +1032,7 @@
goto no_down;
}
-@@ -4807,7 +4805,7 @@
+@@ -5229,7 +5227,7 @@
if(ctmpa){
if(ctmpa == screen->current)
q_status_message(SM_ORDER, 0, 1,
@@ -794,7 +1041,7 @@
screen->current = ctmpa;
}
-@@ -4965,13 +4963,13 @@
+@@ -5405,13 +5403,13 @@
HelpType help;
static ESCKEY_S ekey[] = {
{0, 0, "", ""},
@@ -811,7 +1058,7 @@
(last[0]) ? "[" : "",
(last[0]) ? last : "",
(last[0]) ? "]" : "");
-@@ -5093,7 +5091,7 @@
+@@ -5534,7 +5532,7 @@
result = "Searched to bottom";
}
else
@@ -820,7 +1067,7 @@
if((found & FOUND_IT) && ctmpa){
strcpy(last, buf);
-@@ -5112,7 +5110,7 @@
+@@ -5553,7 +5551,7 @@
screen->current = ctmpa;
}
@@ -829,7 +1076,7 @@
}
break;
-@@ -5128,8 +5126,8 @@
+@@ -5569,8 +5567,8 @@
&& (ps_global->restricted || ps_global->readonly_pinerc)){
q_status_message1(SM_ORDER, 0, 3,
"%s can't change options or settings",
@@ -840,7 +1087,7 @@
if(cmd == MC_EXIT){
retval = 0;
done++;
-@@ -5145,9 +5143,9 @@
+@@ -5586,9 +5584,9 @@
&screen->current, flags)){
case -1:
q_status_message2(SM_ORDER, 0, 2,
@@ -852,7 +1099,7 @@
break;
case 0:
-@@ -5495,11 +5493,11 @@
+@@ -5971,11 +5969,11 @@
ekey[1].ch = ctrl('P');
ekey[1].rval = ctrl('P');
ekey[1].name = "^P";
@@ -866,8 +1113,8 @@
ekey[3].ch = KEY_DOWN;
ekey[3].rval = ctrl('P');
ekey[3].name = "";
-@@ -5514,12 +5512,12 @@
- sval[0] = '\0';
+@@ -5989,12 +5987,12 @@
+
switch(cmd){
case MC_ADD: /* add to list */
- if(fixed_var((*cl)->var, "add to", NULL)){
@@ -877,11 +1124,11 @@
else if(!(*cl)->var->is_list && (*cl)->var->user_val.p){
q_status_message(SM_ORDER, 3, 3,
- "Only single value allowed. Use \"Change\".");
-+ "僅允許\單一設定值。請用 \"Change\".");
++ "僅允許\單一設定值。請用 \"修改\".");
}
else{
int maxwidth =min(80,ps->ttyo->screen_cols) - 15;
-@@ -5543,7 +5541,7 @@
+@@ -6018,7 +6016,7 @@
}
sprintf(prompt,
@@ -890,7 +1137,7 @@
}
else if((*cl)->var->is_list
&& !(*cl)->var->user_val.l
-@@ -5552,13 +5550,13 @@
+@@ -6027,13 +6025,13 @@
ekey[0].ch = 'r';
ekey[0].rval = 'r';
ekey[0].name = "R";
@@ -907,7 +1154,7 @@
switch(radio_buttons(prompt, -FOOTER_ROWS(ps), ekey, 'a', 'x',
h_config_replace_add, RB_NORM)){
case 'a':
-@@ -5572,25 +5570,25 @@
+@@ -6047,25 +6045,25 @@
}
add_text:
@@ -927,8 +1174,8 @@
case 'x':
i = 1;
-- q_status_message(SM_ORDER,0,3,"Add cancelled");
-+ q_status_message(SM_ORDER,0,3,"取消新增");
+- cmd_cancelled("Add");
++ cmd_cancelled("新增");
break;
}
}
@@ -940,7 +1187,7 @@
ps->mangled_footer = 1;
-@@ -5607,7 +5605,7 @@
+@@ -6082,7 +6080,7 @@
ekey[0].ch = ctrl('W');
ekey[0].rval = 5;
ekey[0].name = "^W";
@@ -949,7 +1196,7 @@
ekey[1].ch = -1;
}
else if(!(flags&CF_NUMBER))
-@@ -5660,7 +5658,7 @@
+@@ -6135,7 +6133,7 @@
}
else{
q_status_message1(SM_ORDER, 0, 3,
@@ -958,7 +1205,7 @@
rv = ps->mangled_body = 0;
}
-@@ -5668,7 +5666,7 @@
+@@ -6143,7 +6141,7 @@
}
else{
q_status_message1(SM_ORDER, 0, 3,
@@ -967,7 +1214,7 @@
}
}
else{
-@@ -5676,7 +5674,7 @@
+@@ -6151,7 +6149,7 @@
&& !(isdigit((unsigned char)sval[0])
|| sval[0] == '-' || sval[0] == '+')){
q_status_message(SM_ORDER,3,3,
@@ -976,16 +1223,16 @@
i = 3; /* to keep loop going */
continue;
}
-@@ -5689,7 +5687,7 @@
+@@ -6164,7 +6162,7 @@
}
}
else if(i == 1){
-- q_status_message(SM_ORDER,0,3,"Add cancelled");
-+ q_status_message(SM_ORDER,0,3,"取消新增");
+- cmd_cancelled("Add");
++ cmd_cancelled("新增");
}
else if(i == 3){
help = help == NO_HELP ? h_config_add : NO_HELP;
-@@ -5712,8 +5710,8 @@
+@@ -6187,8 +6185,8 @@
}
sprintf(prompt,
@@ -996,7 +1243,7 @@
continue;
}
else if(i == ctrl('P')){
-@@ -5733,7 +5731,7 @@
+@@ -6208,7 +6206,7 @@
*/
if(++repeat_key > 0){
q_status_message1(SM_ORDER,3,3,
@@ -1005,7 +1252,7 @@
repeat_key = -5;
}
}
-@@ -5757,7 +5755,7 @@
+@@ -6232,7 +6230,7 @@
if(numval == hirange){
if(++repeat_key > 0){
q_status_message1(SM_ORDER,3,3,
@@ -1014,25 +1261,25 @@
repeat_key = -5;
}
}
-@@ -5782,7 +5780,7 @@
+@@ -6257,7 +6255,7 @@
&& (*cl)->var->current_val.p){
char pmt[40];
- sprintf(pmt, "Override default with %s", empty_val2);
-+ sprintf(pmt, "以 %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 @@
+@@ -6270,7 +6268,7 @@
&& (*cl)->var->current_val.l){
char pmt[40];
- sprintf(pmt, "Override default with %s", empty_val2);
-+ sprintf(pmt, "以 %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 @@
+@@ -6285,7 +6283,7 @@
}
else if(((*cl)->var->is_list && !(*cl)->var->user_val.l)
|| (!(*cl)->var->is_list && !(*cl)->var->user_val.p)){
@@ -1041,7 +1288,7 @@
}
else{
if((*cl)->var->is_fixed)
-@@ -5826,7 +5824,8 @@
+@@ -6301,7 +6299,8 @@
: "<NULL VALUE>",
(*cl)->var->name);
else
@@ -1051,7 +1298,7 @@
(*cl)->var->is_list ? "item " : "",
(*cl)->var->is_list
? int2string((*cl)->varmem + 1)
-@@ -5834,8 +5833,7 @@
+@@ -6309,8 +6308,7 @@
? (!*(*cl)->var->user_val.p)
? empty_val2
: (*cl)->var->user_val.p
@@ -1061,7 +1308,7 @@
ps->mangled_footer = 1;
if(want_to(prompt, 'n', 'n', NO_HELP, WT_FLUSH_IN) == 'y'){
-@@ -5850,7 +5848,7 @@
+@@ -6325,7 +6323,7 @@
}
}
else
@@ -1070,7 +1317,7 @@
}
break;
-@@ -5978,7 +5976,7 @@
+@@ -6458,7 +6456,7 @@
&& !(isdigit((unsigned char)sval[0])
|| sval[0] == '-' || sval[0] == '+')){
q_status_message(SM_ORDER,3,3,
@@ -1079,16 +1326,16 @@
continue;
}
-@@ -5992,7 +5990,7 @@
+@@ -6472,7 +6470,7 @@
}
}
else if(i == 1){
-- q_status_message(SM_ORDER,0,3,"Change cancelled");
-+ q_status_message(SM_ORDER,0,3,"取消修改");
+- cmd_cancelled("Change");
++ cmd_cancelled("改變");
}
else if(i == 3){
help = help == NO_HELP ? h_config_change : NO_HELP;
-@@ -6010,7 +6008,7 @@
+@@ -6490,7 +6488,7 @@
*/
if(++repeat_key > 0){
q_status_message1(SM_ORDER,3,3,
@@ -1097,7 +1344,7 @@
repeat_key = -5;
}
}
-@@ -6026,7 +6024,7 @@
+@@ -6506,7 +6504,7 @@
if(numval == hirange){
if(++repeat_key > 0){
q_status_message1(SM_ORDER,3,3,
@@ -1106,7 +1353,7 @@
repeat_key = -5;
}
}
-@@ -6113,15 +6111,15 @@
+@@ -6596,16 +6594,16 @@
if(flags & CF_CHANGES){
switch(want_to(EXIT_PMT, 'y', 'x', h_config_undo, WT_FLUSH_IN)){
case 'y':
@@ -1120,22 +1367,18 @@
return(10);
case 'x': /* ^C */
+ default :
- q_status_message(SM_ORDER,3,5,"Changes not yet saved");
+ q_status_message(SM_ORDER,3,5,"改變尚未被存檔");
return(0);
}
}
-@@ -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);
-- q_status_message(SM_ORDER, 0, 3, "Deleted");
-+ q_status_message(SM_ORDER, 0, 3, "已刪除");
- rv = 1;
- }
+@@ -6894,10 +6892,10 @@
-@@ -6552,7 +6550,7 @@
- && want_to("Delete old unused personal option setting",
+ if(fixed_var((*cl)->var, NULL, NULL)){
+ if((*cl)->var->user_val.p
+- && want_to("Delete old unused personal option setting",
++ && want_to("刪除舊有未使用的個人選項設定",
'y', 'n', NO_HELP, WT_FLUSH_IN) == 'y'){
fs_give((void **)&(*cl)->var->user_val.p);
- q_status_message(SM_ORDER, 0, 3, "Deleted");
@@ -1143,7 +1386,7 @@
rv = 1;
}
-@@ -6642,15 +6640,15 @@
+@@ -7175,15 +7173,15 @@
fs_give((void **)&q);
}
@@ -1162,7 +1405,7 @@
retval = 1;
}
-@@ -6661,11 +6659,11 @@
+@@ -7194,11 +7192,11 @@
set_variable(V_PERSONAL_PRINT_CATEGORY,
comatose(ps->printer_category), 0);
q_status_message1(SM_ORDER,0,3,
@@ -1176,7 +1419,7 @@
retval = 1;
}
-@@ -6680,11 +6678,11 @@
+@@ -7213,11 +7211,11 @@
set_variable(V_PERSONAL_PRINT_CATEGORY,
comatose(ps->printer_category), 0);
q_status_message1(SM_ORDER,0,3,
@@ -1190,7 +1433,7 @@
retval = 1;
}
-@@ -6734,23 +6732,23 @@
+@@ -7267,23 +7265,23 @@
switch(cmd){
case MC_ADD: /* add to list */
sval[0] = '\0';
@@ -1219,7 +1462,7 @@
switch(i = radio_buttons(prompt, -FOOTER_ROWS(ps), ekey, 'a',
'x', h_config_replace_add, RB_NORM)){
case 'a':
-@@ -6766,17 +6764,17 @@
+@@ -7299,17 +7297,17 @@
ltmp[k + 1] = ltmp[k] = NULL;
add_text:
@@ -1231,16 +1474,16 @@
replace_text:
strcpy(prompt,
- "Enter the name for replacement printer : ");
-+ "欲取代的印表機名稱:");
++ "欲取代的印表機名:");
break;
case 'x':
-- q_status_message(SM_ORDER,0,3,"Add cancelled");
-+ q_status_message(SM_ORDER,0,3,"取消新增");
+- cmd_cancelled("Add");
++ cmd_cancelled("新增");
break;
}
-@@ -6784,7 +6782,7 @@
+@@ -7317,7 +7315,7 @@
break;
}
else
@@ -1249,7 +1492,7 @@
ps->mangled_footer = 1;
help = NO_HELP;
-@@ -6796,7 +6794,7 @@
+@@ -7329,7 +7327,7 @@
ekey[0].ch = ctrl('W');
ekey[0].rval = 5;
ekey[0].name = "^W";
@@ -1258,16 +1501,16 @@
ekey[1].ch = -1;
}
else
-@@ -6812,7 +6810,7 @@
+@@ -7345,7 +7343,7 @@
removing_leading_and_trailing_white_space(name);
}
else if(i == 1){
-- q_status_message(SM_ORDER,0,3,"Add cancelled");
-+ q_status_message(SM_ORDER,0,3,"取消新增");
+- cmd_cancelled("Add");
++ cmd_cancelled("新增");
}
else if(i == 3){
help = (help == NO_HELP) ? h_config_insert_after : NO_HELP;
-@@ -6830,7 +6828,7 @@
+@@ -7363,7 +7361,7 @@
#ifdef OS2
strcpy(prompt, "Enter port or |command : ");
#else
@@ -1276,7 +1519,7 @@
#endif
while(i != 0 && i != 1){
oeflags = OE_APPEND_CURRENT;
-@@ -6880,10 +6878,10 @@
+@@ -7413,10 +7411,10 @@
}
else
q_status_message1(SM_ORDER, 0, 3,
@@ -1284,12 +1527,12 @@
+ "無法將 %s 新增至列表中", empty_val);
}
else if(i == 1){
-- q_status_message(SM_ORDER,0,3,"Add cancelled");
-+ q_status_message(SM_ORDER,0,3,"取消新增");
+- cmd_cancelled("Add");
++ cmd_cancelled("新增");
}
else if(i == 3){
help = help == NO_HELP ? h_config_print_cmd : NO_HELP;
-@@ -6927,13 +6925,13 @@
+@@ -7460,13 +7458,13 @@
if((*cl)->var->is_fixed){
parse_printer((*cl)->var->user_val.l[(*cl)->varmem],
&nick, &p, NULL, NULL, NULL, NULL);
@@ -1305,7 +1548,7 @@
int2string((*cl)->varmem + 1));
ps->mangled_footer = 1;
-@@ -6943,7 +6941,7 @@
+@@ -7476,7 +7474,7 @@
config_del_list_item(cl, &newval);
}
else
@@ -1314,7 +1557,7 @@
}
break;
-@@ -6954,7 +6952,7 @@
+@@ -7487,7 +7485,7 @@
&& !strucmp(ps->VAR_PRINTER,(*cl)->var->current_val.l[(*cl)->varmem]))
changing_selected = 1;
@@ -1323,7 +1566,7 @@
break;
else if(!(*cl)->var->user_val.l && (*cl)->var->current_val.l)
goto replace_text;
-@@ -6966,22 +6964,22 @@
+@@ -7499,22 +7497,22 @@
ekey[0].ch = 'n';
ekey[0].rval = 'n';
ekey[0].name = "N";
@@ -1341,17 +1584,17 @@
+ ekey[2].label = "選項";
ekey[3].ch = -1;
- strcpy(prompt, "Change Name or Command or Options ? ");
-+ strcpy(prompt, "修改名稱、命令或選項?");
++ strcpy(prompt, "修改「名稱」、「命令」或「選項」?");
i = radio_buttons(prompt, -FOOTER_ROWS(ps), ekey, 'c', 'x',
h_config_print_name_cmd, RB_NORM);
if(i == 'x'){
-- q_status_message(SM_ORDER,0,3,"Change cancelled");
-+ q_status_message(SM_ORDER,0,3,"取消修改");
+- cmd_cancelled("Change");
++ cmd_cancelled("修改");
break;
}
else if(i == 'c'){
-@@ -6990,7 +6988,7 @@
+@@ -7523,7 +7521,7 @@
parse_printer((*cl)->var->user_val.l[(*cl)->varmem],
NULL, &p, NULL, NULL, NULL, &all_but_cmd);
@@ -1360,7 +1603,7 @@
strcpy(sval, p ? p : "");
fs_give((void **)&p);
-@@ -7028,12 +7026,12 @@
+@@ -7561,12 +7559,12 @@
* Don't allow input of multiple entries at once.
*/
q_status_message(SM_ORDER,3,5,
@@ -1370,12 +1613,12 @@
}
}
else if(i == 1){
-- q_status_message(SM_ORDER,0,3,"Change cancelled");
-+ q_status_message(SM_ORDER,0,3,"取消修改");
+- cmd_cancelled("Change");
++ cmd_cancelled("修改");
}
else if(i == 3){
help = help == NO_HELP ? h_config_change : NO_HELP;
-@@ -7052,7 +7050,7 @@
+@@ -7585,7 +7583,7 @@
parse_printer((*cl)->var->user_val.l[(*cl)->varmem],
&p, NULL, NULL, NULL, &all_but_nick, NULL);
@@ -1384,16 +1627,16 @@
strcpy(name, p ? p : "");
fs_give((void **)&p);
-@@ -7081,7 +7079,7 @@
+@@ -7614,7 +7612,7 @@
newval = &(*cl)->value;
}
else if(i == 1){
-- q_status_message(SM_ORDER,0,3,"Change cancelled");
-+ q_status_message(SM_ORDER,0,3,"取消修改");
+- cmd_cancelled("Change");
++ cmd_cancelled("修改");
}
else if(i == 3){
help = help == NO_HELP ? h_config_change : NO_HELP;
-@@ -7102,18 +7100,18 @@
+@@ -7635,18 +7633,18 @@
ekey[0].ch = 'i';
ekey[0].rval = 'i';
ekey[0].name = "I";
@@ -1403,20 +1646,20 @@
ekey[1].rval = 't';
ekey[1].name = "T";
- ekey[1].label = "Trailer";
-+ ekey[1].label = "結束";
++ ekey[1].label = "結尾";
ekey[2].ch = -1;
- strcpy(prompt, "Change Init string or Trailer string ? ");
-+ strcpy(prompt, "修改初始或結束字串?");
++ strcpy(prompt, "修改「初始」或「結尾」字串?");
j = radio_buttons(prompt, -FOOTER_ROWS(ps), ekey, 'i', 'x',
h_config_print_opt_choice, RB_NORM);
if(j == 'x'){
-- q_status_message(SM_ORDER,0,3,"Change cancelled");
-+ q_status_message(SM_ORDER,0,3,"取消修改");
+- cmd_cancelled("Change");
++ cmd_cancelled("修改");
break;
}
else{
-@@ -7122,8 +7120,8 @@
+@@ -7655,8 +7653,8 @@
parse_printer((*cl)->var->user_val.l[(*cl)->varmem],
&nick, &p, &init, &trailer, NULL, NULL);
@@ -1427,16 +1670,16 @@
strcpy(sval, (j == 'i') ? init : trailer);
tmp = string_to_cstring(sval);
-@@ -7177,7 +7175,7 @@
+@@ -7710,7 +7708,7 @@
newval = &(*cl)->value;
}
else if(i == 1){
-- q_status_message(SM_ORDER,0,3,"Change cancelled");
-+ q_status_message(SM_ORDER,0,3,"取消修改");
+- cmd_cancelled("Change");
++ cmd_cancelled("修改");
}
else if(i == 3){
help=(help == NO_HELP)?h_config_print_init:NO_HELP;
-@@ -7255,18 +7253,18 @@
+@@ -7788,18 +7786,18 @@
case MC_DELETE :
if((*cl)->d.c.ct->use & CNTXT_INCMNG)
@@ -1459,7 +1702,7 @@
context_select_edit(ps, cl);
ps->mangled_screen = 1;
}
-@@ -7274,7 +7272,7 @@
+@@ -7807,7 +7805,7 @@
break;
case MC_ADD :
@@ -1468,7 +1711,7 @@
context_select_add(ps, cl);
ps->mangled_screen = 1;
}
-@@ -7283,9 +7281,9 @@
+@@ -7816,9 +7814,9 @@
case MC_SHUFFLE :
if((*cl)->d.c.ct->use & CNTXT_INCMNG)
@@ -1480,7 +1723,7 @@
context_select_shuffle(ps, cl);
break;
-@@ -7352,7 +7350,7 @@
+@@ -7890,7 +7888,7 @@
struct key_menu *km;
CONT_SCR_S *cs;
@@ -1489,7 +1732,7 @@
/* create a corresponding new CONF_S */
new_ctxt = new_context(raw_ctxt, NULL);
-@@ -7416,7 +7414,7 @@
+@@ -7954,7 +7952,7 @@
/* Tell the user it was a huge success... */
q_status_message(SM_ORDER, 0, 3,
@@ -1498,7 +1741,7 @@
}
}
-@@ -7435,11 +7433,11 @@
+@@ -7973,11 +7971,11 @@
if(!((*cl)->var->user_val.l && (*cl)->var->user_val.l[0])){
q_status_message(SM_ORDER | SM_DING, 3, 3,
@@ -1512,7 +1755,7 @@
old_cl->value);
if(want_to(tmp, 'n', 'n', NO_HELP, WT_FLUSH_IN) == 'y'){
/* Remove from var list */
-@@ -7551,12 +7549,12 @@
+@@ -8089,12 +8087,12 @@
ps->mangled_body = 1;
q_status_message(SM_ORDER, 0, 3,
(old_cl == *cl)
@@ -1528,7 +1771,7 @@
}
-@@ -7578,7 +7576,7 @@
+@@ -8116,7 +8114,7 @@
if(p = strstr(tpath, "%s"))
*p = '\0';
@@ -1537,7 +1780,7 @@
(*cl)->d.c.ct->server, tpath,
(*cl)->d.c.ct->dir->view.user)){
-@@ -7648,7 +7646,7 @@
+@@ -8186,7 +8184,7 @@
set_current_val((*cl)->var, TRUE, FALSE);
@@ -1546,7 +1789,7 @@
}
}
-@@ -7670,14 +7668,14 @@
+@@ -8208,14 +8206,14 @@
ekey[n].ch = 'u';
ekey[n].rval = 'u';
ekey[n].name = "U";
@@ -1563,7 +1806,7 @@
}
if(n){
-@@ -7690,7 +7688,7 @@
+@@ -8228,7 +8226,7 @@
if((cmd = radio_buttons(prompt, -FOOTER_ROWS(ps), ekey,
(n == 1) ? 'd' : 0, 'x',
NO_HELP, RB_NORM)) == 'x'){
@@ -1572,7 +1815,7 @@
}
else if((cmd == 'u' && (ctmp = context_select_prev(*cl)))
|| (cmd == 'd' && (ctmp = context_select_next(*cl)))){
-@@ -7789,7 +7787,7 @@
+@@ -8327,7 +8325,7 @@
}
}
else
@@ -1581,7 +1824,7 @@
}
-@@ -8254,7 +8252,7 @@
+@@ -9046,7 +9044,7 @@
if(cl->var->current_val.l){
int i, l, l2;
@@ -1590,7 +1833,7 @@
for(i = 0; cl->var->current_val.l[i]; i++){
if(i)
*p++ = ',';
-@@ -8286,7 +8284,7 @@
+@@ -9078,7 +9076,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,
@@ -1599,7 +1842,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
-@@ -8428,7 +8426,7 @@
+@@ -9229,7 +9227,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,
@@ -1608,7 +1851,7 @@
return;
}
}
-@@ -8477,7 +8475,7 @@
+@@ -9278,7 +9276,7 @@
case F_ENABLE_INCOMING :
q_status_message(SM_ORDER | SM_DING, 3, 4,
@@ -1617,7 +1860,7 @@
break;
-@@ -8659,8 +8657,8 @@
+@@ -9464,8 +9462,8 @@
{
if(v && v->is_fixed){
q_status_message2(SM_ORDER, 3, 3,
@@ -1628,7 +1871,7 @@
return(1);
}
-@@ -8963,7 +8961,7 @@
+@@ -9887,7 +9885,7 @@
&& var->is_list
&& !var->user_val.l
&& var->current_val.l)))
@@ -1637,7 +1880,7 @@
if(var == &ps->vars[V_USER_DOMAIN]){
char *p, *q;
-@@ -8974,7 +8972,7 @@
+@@ -9898,7 +9896,7 @@
if(*(++p)){
if(!revert)
q_status_message2(SM_ORDER, 3, 5,
@@ -1646,7 +1889,7 @@
ps->VAR_USER_DOMAIN, p);
q = ps->VAR_USER_DOMAIN;
while((*q++ = *p++) != '\0')
-@@ -8983,7 +8981,7 @@
+@@ -9907,7 +9905,7 @@
else{
if(!revert)
q_status_message1(SM_ORDER, 3, 5,
@@ -1655,7 +1898,7 @@
ps->VAR_USER_DOMAIN);
fs_give((void **)&ps->USR_USER_DOMAIN);
set_current_val(&ps->vars[V_USER_DOMAIN], TRUE, TRUE);
-@@ -9043,7 +9041,7 @@
+@@ -9967,7 +9965,7 @@
else if(var == &ps->vars[V_INIT_CMD_LIST]){
if(!revert)
q_status_message(SM_ASYNC, 0, 3,
@@ -1664,7 +1907,7 @@
}
else if(var == &ps->vars[V_VIEW_HEADERS]){
ps->view_all_except = 0;
-@@ -9115,10 +9113,10 @@
+@@ -10039,10 +10037,10 @@
}
else if(timeo == 0L && !revert){
q_status_message(SM_ORDER, 4, 6,
@@ -1677,7 +1920,7 @@
}
}
#if defined(DOS) || defined(OS2)
-@@ -9431,10 +9429,10 @@
+@@ -10500,10 +10498,10 @@
static struct key role_select_keys[] =
{HELP_MENU,
NULL_MENU,
@@ -1691,52 +1934,43 @@
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);
+@@ -10546,7 +10544,7 @@
+ menu_add_binding(&role_select_km, ctrl('M'), MC_CHOICE);
}
else{
-- menu_init_binding(ctmp->keymenu, 'S', MC_CHOICE, "S", "[Select]",
-+ menu_init_binding(ctmp->keymenu, 'S', MC_CHOICE, "S", "[選擇]",
+- menu_init_binding(&role_select_km, 'S', MC_CHOICE, "S", "[Select]",
++ menu_init_binding(&role_select_km, '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 @@
+ menu_add_binding(&role_select_km, ctrl('J'), MC_CHOICE);
+ menu_add_binding(&role_select_km, ctrl('M'), MC_CHOICE);
+@@ -10580,7 +10578,7 @@
ctmp->valoffset = 4;
}
- (void)conf_scroll_screen(ps, &screen, first_line, "SELECT ROLE",
+ (void)conf_scroll_screen(ps, &screen, first_line, "選擇角色",
- "roles ", 0);
+ "roles ", 0, 0);
if(sel_pat){
-@@ -9617,23 +9615,23 @@
+@@ -10969,23 +10967,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},
+- {"P", "PrevRule", {MC_PREVITEM, 1, {'p'}}, KS_NONE},
+- {"N", "NextRule", {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},
++ {"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},
+- {"A", "Add", {MC_ADD,1,{'a'}}, KS_NONE},
+- {"D", "Delete", {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},
++ {"A", "新增", {MC_ADD,1,{'a'}}, KS_NONE},
++ {"D", "刪除", {MC_DELETE,1,{'d'}}, KS_NONE},
+ {"$", "重新整理", {MC_SHUFFLE,1,{'$'}}, KS_NONE},
WHEREIS_MENU,
@@ -1751,69 +1985,238 @@
NULL_MENU,
NULL_MENU,
NULL_MENU,
-@@ -9889,7 +9887,7 @@
+@@ -11262,7 +11260,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);
+ rv = role_config_del(ps, cl, role_global_flags);
-@@ -9910,14 +9908,14 @@
+@@ -11283,14 +11281,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, "角色設定");
+- role_type_print(exitpmt, "%sRule Setup", role_global_flags);
++ role_type_print(exitpmt, "%s規則設定", role_global_flags);
+ rv = screen_exit_cmd(flags, exitpmt);
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 @@
-
+@@ -11789,7 +11787,7 @@
+ help, RB_NORM);
- 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("預設角色");
+ if(rv == 'x'){
+- cmd_cancelled("Shuffle");
++ cmd_cancelled("重整");
+ return(0);
+ }
- from_act_var.name = cpystr("Set From");
+@@ -11949,7 +11947,7 @@
+ continue;
+ }
+ else if(r == 1 || (r == 0 && filename[0] == '\0')){
+- cmd_cancelled("IncludeFile");
++ cmd_cancelled("含括檔案");
+ return(rv);
+ }
+ else if(r == 4){
+@@ -12684,22 +12682,22 @@
+ ? cpystr(def->patgrp->nick) : NULL;
+
+ nick_var.global_val.p = cpystr(edit_role
+- ? "Alternate Role"
++ ? "替代角色"
+ : (edit_incol
+- ? "Index Color Rule"
++ ? "索引色彩規則"
+ : (edit_score
+- ? "Score Rule"
+- : "Filter Rule")));
++ ? "得分規則"
++ : "過濾器規則")));
+ set_current_val(&nick_var, FALSE, FALSE);
+
+- to_pat_var.name = cpystr("To pattern");
++ to_pat_var.name = cpystr("目的式樣");
+ to_pat_var.is_used = 1;
+ to_pat_var.is_user = 1;
+ to_pat_var.user_val.p = (def && def->patgrp)
+ ? pattern_to_string(def->patgrp->to) : NULL;
+ set_current_val(&to_pat_var, FALSE, FALSE);
+
+- from_pat_var.name = cpystr("From pattern");
++ from_pat_var.name = cpystr("來源式樣");
+ from_pat_var.is_used = 1;
+ from_pat_var.is_user = 1;
+ from_pat_var.user_val.p = (def && def->patgrp)
+@@ -12707,7 +12705,7 @@
+ : NULL;
+ set_current_val(&from_pat_var, FALSE, FALSE);
+
+- sender_pat_var.name = cpystr("Sender pattern");
++ sender_pat_var.name = cpystr("寄件者式樣");
+ sender_pat_var.is_used = 1;
+ sender_pat_var.is_user = 1;
+ sender_pat_var.user_val.p = (def && def->patgrp)
+@@ -12715,28 +12713,28 @@
+ : NULL;
+ set_current_val(&sender_pat_var, FALSE, FALSE);
+
+- cc_pat_var.name = cpystr("Cc pattern");
++ cc_pat_var.name = cpystr("副本式樣");
+ cc_pat_var.is_used = 1;
+ cc_pat_var.is_user = 1;
+ cc_pat_var.user_val.p = (def && def->patgrp)
+ ? pattern_to_string(def->patgrp->cc) : NULL;
+ set_current_val(&cc_pat_var, FALSE, FALSE);
+
+- recip_pat_var.name = cpystr("Recip pattern");
++ recip_pat_var.name = cpystr("領受者式樣");
+ recip_pat_var.is_used = 1;
+ recip_pat_var.is_user = 1;
+ recip_pat_var.user_val.p = (def && def->patgrp)
+ ? pattern_to_string(def->patgrp->recip) : NULL;
+ set_current_val(&recip_pat_var, FALSE, FALSE);
+
+- partic_pat_var.name = cpystr("Partic pattern");
++ partic_pat_var.name = cpystr("關係者式樣");
+ partic_pat_var.is_used = 1;
+ partic_pat_var.is_user = 1;
+ partic_pat_var.user_val.p = (def && def->patgrp)
+ ? pattern_to_string(def->patgrp->partic) : NULL;
+ set_current_val(&partic_pat_var, FALSE, FALSE);
+
+- news_pat_var.name = cpystr("News pattern");
++ news_pat_var.name = cpystr("新聞式樣");
+ news_pat_var.is_used = 1;
+ news_pat_var.is_user = 1;
+ news_pat_var.user_val.p = (def && def->patgrp)
+@@ -12744,7 +12742,7 @@
+ : NULL;
+ set_current_val(&news_pat_var, FALSE, FALSE);
+
+- subj_pat_var.name = cpystr("Subject pattern");
++ subj_pat_var.name = cpystr("主題式樣");
+ subj_pat_var.is_used = 1;
+ subj_pat_var.is_user = 1;
+ subj_pat_var.user_val.p = (def && def->patgrp)
+@@ -12752,7 +12750,7 @@
+ : NULL;
+ set_current_val(&subj_pat_var, FALSE, FALSE);
+
+- alltext_pat_var.name = cpystr("AllText pattern");
++ alltext_pat_var.name = cpystr("所有文字式樣");
+ alltext_pat_var.is_used = 1;
+ alltext_pat_var.is_user = 1;
+ alltext_pat_var.user_val.p = (def && def->patgrp)
+@@ -12761,7 +12759,7 @@
+ set_current_val(&alltext_pat_var, FALSE, FALSE);
+
+ scorei_pat_global_ptr = &scorei_pat_var;
+- scorei_pat_var.name = cpystr("Score interval");
++ scorei_pat_var.name = cpystr("得分區間");
+ scorei_pat_var.is_used = 1;
+ scorei_pat_var.is_user = 1;
+ if(def && def->patgrp && def->patgrp->do_score)
+@@ -12778,7 +12776,7 @@
+
+ pindent += 3;
+
+- inick_var.name = cpystr("Initialize settings using role");
++ inick_var.name = cpystr("使用角色初始化設定");
+ inick_var.is_used = 1;
+ inick_var.is_user = 1;
+ inick_var.user_val.p = (def && def->action &&
+@@ -12787,13 +12785,13 @@
+ ? cpystr(def->action->inherit_nick) : NULL;
+
+ role_fldr_ptr = &fldr_type_var; /* so radiobuttons can tell */
+- fldr_type_var.name = cpystr("Current Folder Type");
++ fldr_type_var.name = cpystr("目前檔案匣形態");
+ fldr_type_var.is_used = 1;
+ fldr_type_var.is_user = 1;
+ fldr_type_var.user_val.p = (f=pat_fldr_types((def && def->patgrp) ? def->patgrp->fldr_type : -1)) ? cpystr(f->name) : NULL;
+ set_current_val(&fldr_type_var, FALSE, FALSE);
+
+- folder_pat_var.name = cpystr("Folder");
++ folder_pat_var.name = cpystr("檔案匣");
+ folder_pat_var.is_used = 1;
+ folder_pat_var.is_user = 1;
+ folder_pat_var.user_val.p = (def && def->patgrp)
+@@ -12801,7 +12799,7 @@
+ : NULL;
+ set_current_val(&folder_pat_var, FALSE, FALSE);
+
+- from_act_var.name = cpystr("Set From");
++ from_act_var.name = cpystr("設定「來源」");
from_act_var.is_used = 1;
-@@ -12115,7 +12113,7 @@
+ from_act_var.is_user = 1;
+ if(def && def->action && def->action->from){
+@@ -12813,7 +12811,7 @@
+ else
+ from_act_var.user_val.p = NULL;
+
+- replyto_act_var.name = cpystr("Set Reply-To");
++ replyto_act_var.name = cpystr("設定「回覆至」");
+ replyto_act_var.is_used = 1;
+ replyto_act_var.is_user = 1;
+ if(def && def->action && def->action->replyto){
+@@ -12826,26 +12824,26 @@
+ else
+ replyto_act_var.user_val.p = NULL;
+
+- fcc_act_var.name = cpystr("Set Fcc");
++ fcc_act_var.name = cpystr("設定「檔案副本」");
+ fcc_act_var.is_used = 1;
+ fcc_act_var.is_user = 1;
+ fcc_act_var.user_val.p = (def && def->action && def->action->fcc)
+ ? cpystr(def->action->fcc) : NULL;
+
+- sig_act_var.name = cpystr("Set Signature");
++ sig_act_var.name = cpystr("設定「簽名」");
+ sig_act_var.is_used = 1;
+ sig_act_var.is_user = 1;
+ sig_act_var.user_val.p = (def && def->action && def->action->sig)
+ ? cpystr(def->action->sig) : NULL;
+
+- templ_act_var.name = cpystr("Set Template");
++ templ_act_var.name = cpystr("設定「模版」");
+ templ_act_var.is_used = 1;
+ templ_act_var.is_user = 1;
+ templ_act_var.user_val.p = (def && def->action && def->action->template)
+ ? cpystr(def->action->template) : NULL;
+
+ score_act_global_ptr = &score_act_var;
+- score_act_var.name = cpystr("Score Value");
++ score_act_var.name = cpystr("得分值");
+ score_act_var.is_used = 1;
+ score_act_var.is_user = 1;
+ if(def && def->action && def->action->scoreval >= SCORE_MIN &&
+@@ -14262,12 +14260,12 @@
+ break;
+
+ case 'n':
+- q_status_message(SM_ORDER,3,5,"No changes saved");
++ q_status_message(SM_ORDER,3,5,"修改未被存入");
+ rv = 10;
+ break;
+
+ case 'x': /* ^C */
+- q_status_message(SM_ORDER,3,5,"Changes not yet saved");
++ q_status_message(SM_ORDER,3,5,"修改尚未存入");
+ rv = 0;
+ break;
+ }
+@@ -14396,7 +14394,7 @@
if(file[len=(strlen(file)-1)] == '|')
file[len] = '\0';
@@ -1822,3 +2225,92 @@
err = signature_edit(file, title);
}
+@@ -14434,7 +14432,7 @@
+ if(i == 0)
+ break;
+ else if(i == 1){
+- cmd_cancelled("eXtraHdr");
++ cmd_cancelled("額外標頭");
+ cancel = 1;
+ break;
+ }
+@@ -14545,7 +14543,7 @@
+ sprintf(tmp, "Really remove \"%s\" pattern from this rule",
+ (ea && ea->a && ea->a->field) ? ea->a->field : "this");
+ if(want_to(tmp, 'y', 'n', NO_HELP, WT_NORM) != 'y'){
+- cmd_cancelled("RemoveHdr");
++ cmd_cancelled("刪除標頭");
+ return(rv);
+ }
+
+@@ -14613,8 +14611,8 @@
+ char prompt[60];
+
+ rv = 0;
+- sprintf(prompt, "%s the interval : ",
+- (*cl)->var->user_val.p ? "Change" : "Enter");
++ sprintf(prompt, "%s區間值:",
++ (*cl)->var->user_val.p ? "修改" : "輸入");
+
+ ps->mangled_footer = 1;
+ help = NO_HELP;
+@@ -14640,7 +14638,7 @@
+ (*cl)->value = pretty_value(ps, *cl);
+ }
+ else if(i == 1)
+- cmd_cancelled(cmd == MC_ADD ? "Add" : "Change");
++ cmd_cancelled(cmd == MC_ADD ? "新增" : "修改");
+ else if(i == 3){
+ help = help == NO_HELP ? h_config_edit_scorei : NO_HELP;
+ continue;
+@@ -14685,12 +14683,12 @@
+ break;
+
+ case 'n':
+- q_status_message(SM_ORDER,3,5,"No changes saved");
++ q_status_message(SM_ORDER,3,5,"修改未被存入");
+ rv = 10;
+ break;
+
+ case 'x': /* ^C */
+- q_status_message(SM_ORDER,3,5,"Changes not yet saved");
++ q_status_message(SM_ORDER,3,5,"修改尚未存入");
+ rv = 0;
+ break;
+ }
+@@ -15712,7 +15710,7 @@
+ /* First, confirm that user wants to restore all default colors */
+ if(want_to("Really restore all colors to default values",
+ 'y', 'n', NO_HELP, WT_NORM) != 'y'){
+- cmd_cancelled("RestoreDefs");
++ cmd_cancelled("回存預設值");
+ return(rv);
+ }
+
+@@ -15768,7 +15766,7 @@
+ if(i == 0)
+ break;
+ else if(i == 1){
+- cmd_cancelled("Add");
++ cmd_cancelled("新增");
+ cancel = 1;
+ break;
+ }
+@@ -15857,7 +15855,7 @@
+
+ sprintf(prompt, "Really delete \"%s\" color from config", header);
+ if(want_to(prompt, 'y', 'n', NO_HELP, WT_NORM) != 'y'){
+- cmd_cancelled("Delete");
++ cmd_cancelled("刪除");
+ return(rv);
+ }
+
+@@ -15989,7 +15987,7 @@
+
+ switch(i){
+ case 'x':
+- cmd_cancelled("Shuffle");
++ cmd_cancelled("重整");
+ return(rv);
+
+ case 'u':