diff options
author | keith <keith@FreeBSD.org> | 2000-11-18 03:06:54 +0800 |
---|---|---|
committer | keith <keith@FreeBSD.org> | 2000-11-18 03:06:54 +0800 |
commit | d3ca4e742df94d84386391a38e719189db25aadd (patch) | |
tree | 38d2b821ccc99ba10cf9bab3d71498087c3a2e81 /chinese | |
parent | 934aac66cdbe46697ca68b78a214b053f1200792 (diff) | |
download | freebsd-ports-gnome-d3ca4e742df94d84386391a38e719189db25aadd.tar.gz freebsd-ports-gnome-d3ca4e742df94d84386391a38e719189db25aadd.tar.zst freebsd-ports-gnome-d3ca4e742df94d84386391a38e719189db25aadd.zip |
Upgrade from 4.21 to 4.30.
Especially thanks to the maintainer, Tai-hwa Liang (avatar), for
ending those long lasting evil +400k files/patch-*. :-)
According to kkenn, pine4's security will exist until it's totally
rewritten, so I'll leave pkg-install untouched, which shows the
security warning.
PR: ports/22436
Diffstat (limited to 'chinese')
57 files changed, 40 insertions, 13074 deletions
diff --git a/chinese/pine4/Makefile b/chinese/pine4/Makefile index 84929d6d0688..da178178e56a 100644 --- a/chinese/pine4/Makefile +++ b/chinese/pine4/Makefile @@ -6,17 +6,20 @@ # PORTNAME= pine -PORTVERSION= 4.21 -PORTREVISION= 1 +PORTVERSION= 4.30 +PORTREVISION= 0 CATEGORIES= chinese mail news MASTER_SITES= ftp://ftp.cac.washington.edu/pine/ -DISTNAME= pine${PORTVERSION} +DISTNAME= ${PORTNAME}${PORTVERSION} -MAINTAINER= avatar@www.mmlab.cse.yzu.edu.tw +PATCH_SITES= ftp://freebsd.ntu.edu.tw/OS/FreeBSD/taiwan/users/benedick/patch/ +PATCHFILES= patch-${PORTNAME}-${PORTVERSION}.gz -NO_LATEST_LINK= yes +MAINTAINER= avatar@mmlab.cse.yzu.edu.tw -MAN1= pine.1 pico.1 pilot.1 +NO_LATEST_LINK= yes + +MAN1= pine.1 pico.1 pilot.1 pre-fetch: .if !defined(BATCH) && !defined(PACKAGE_BUILDING) @@ -49,12 +52,24 @@ do-install: ${INSTALL_PROGRAM} ${WRKSRC}/bin/pico ${PREFIX}/bin/pico ${INSTALL_PROGRAM} ${WRKSRC}/bin/pilot ${PREFIX}/bin/pilot ${INSTALL_PROGRAM} ${WRKSRC}/bin/pine ${PREFIX}/bin/pine - ${INSTALL_SCRIPT} ${FILESDIR}/pgpencrypt ${PREFIX}/bin/pgpencrypt - ${INSTALL_SCRIPT} ${FILESDIR}/pgpdecode ${PREFIX}/bin/pgpdecode - ${INSTALL_SCRIPT} ${FILESDIR}/pgpsign ${PREFIX}/bin/pgpsign - ${INSTALL_DATA} ${FILESDIR}/dot.pinerc.sample \ + ${SED} -e 's,@@PREFIX@@,${PREFIX},g' \ + < ${FILESDIR}/pgpdecode > ${WRKSRC}/bin/pgpdecode + ${SED} -e 's,@@PREFIX@@,${PREFIX},g' \ + < ${FILESDIR}/pgpencrypt > ${WRKSRC}/bin/pgpencrypt + ${SED} -e 's,@@PREFIX@@,${PREFIX},g' \ + < ${FILESDIR}/pgpsign > ${WRKSRC}/bin/pgpsign + ${INSTALL_SCRIPT} ${WRKSRC}/bin/pgpencrypt ${PREFIX}/bin/pgpencrypt + ${INSTALL_SCRIPT} ${WRKSRC}/bin/pgpdecode ${PREFIX}/bin/pgpdecode + ${INSTALL_SCRIPT} ${WRKSRC}/bin/pgpsign ${PREFIX}/bin/pgpsign + ${SED} -e 's,@@PREFIX@@,${PREFIX},g' \ + < ${FILESDIR}/dot.pinerc.sample \ + > ${WRKSRC}/dot.pinerc.sample + ${INSTALL_DATA} ${WRKSRC}/dot.pinerc.sample \ ${PREFIX}/etc/dot.pinerc.sample - ${INSTALL_DATA} ${FILESDIR}/dot.pinerc.pgp.sample \ + ${SED} -e 's,@@PREFIX@@,${PREFIX},g' \ + < ${FILESDIR}/dot.pinerc.pgp.sample \ + > ${WRKSRC}/dot.pinerc.pgp.sample + ${INSTALL_DATA} ${WRKSRC}/dot.pinerc.pgp.sample \ ${PREFIX}/etc/dot.pinerc.pgp.sample ${INSTALL_MAN} ${WRKSRC}/doc/pico.1 ${PREFIX}/man/man1/pico.1 ${INSTALL_MAN} ${WRKSRC}/doc/pilot.1 ${PREFIX}/man/man1/pilot.1 diff --git a/chinese/pine4/distinfo b/chinese/pine4/distinfo index 2c71984e0b32..a50a54ef4d1e 100644 --- a/chinese/pine4/distinfo +++ b/chinese/pine4/distinfo @@ -1 +1,2 @@ -MD5 (pine4.21.tar.gz) = 9252a061387de806f8aa1ced885d41f6 +MD5 (pine4.30.tar.gz) = 21e16ae355a3c78cbe128876e3e65350 +MD5 (patch-pine-4.30.gz) = fc0237a410bc9489ffaf155e7b65c6d4 diff --git a/chinese/pine4/files/dot.pinerc.pgp.sample b/chinese/pine4/files/dot.pinerc.pgp.sample index 1f7df9e4fe2b..512509a30448 100644 --- a/chinese/pine4/files/dot.pinerc.pgp.sample +++ b/chinese/pine4/files/dot.pinerc.pgp.sample @@ -5,12 +5,12 @@ feature-list=compose-send-offers-first-filter # This variable takes a list of programs that message text is piped into # after MIME decoding, prior to display. -display-filters="-----BEGIN PGP" /usr/local/bin/pgpdecode +display-filters="-----BEGIN PGP" @@PREFIX@@/bin/pgpdecode # This defines a program that message text is piped into before MIME # encoding, prior to sending -sending-filters=/usr/local/bin/pgpsign, - /usr/local/bin/pgpencrypt _RECIPIENTS_ +sending-filters=@@PREFIX@@/bin/pgpsign, + @@PREFIX@@/bin/pgpencrypt _RECIPIENTS_ # hook, to get rid of the sucking 'quoted printable' ;-)) # enable-8bit-esmtp-negotiation diff --git a/chinese/pine4/files/dot.pinerc.sample b/chinese/pine4/files/dot.pinerc.sample index 88e352fec011..b8e7cfa8ea67 100644 --- a/chinese/pine4/files/dot.pinerc.sample +++ b/chinese/pine4/files/dot.pinerc.sample @@ -126,7 +126,7 @@ addrbook-sort-rule= # Reflects capabilities of the display you have. Default: US-ASCII. # Typical alternatives include ISO-8859-x, (x is a number between 1 and 9). -character-set=ISO-8859-1 +character-set=big5 # Specifies the program invoked by ^_ in the Composer, # or the "enable-alternate-editor-implicitly" feature. @@ -207,12 +207,12 @@ operating-dir= # This variable takes a list of programs that message text is piped into # after MIME decoding, prior to display. -display-filters="-----BEGIN PGP" /usr/local/bin/pgpdecode +display-filters="-----BEGIN PGP" @@PREFIX@@/bin/pgpdecode # This defines a program that message text is piped into before MIME # encoding, prior to sending -sending-filters=/usr/local/bin/pgpsign, - /usr/local/bin/pgpencrypt _RECIPIENTS_ +sending-filters=@@PREFIX@@/bin/pgpsign, + @@PREFIX@@/bin/pgpencrypt _RECIPIENTS_ # A list of alternate addresses the user is known by alt-addresses= @@ -310,7 +310,7 @@ user-input-timeout= # Sets the name of the command used to open a UNIX remote shell connection. # The default is tyically /usr/ucb/rsh. -rsh-path=/usr/local/bin/ssh +rsh-path=/usr/bin/ssh # Sets the format of the command used to open a UNIX remote # shell connection. The default is "%s %s -l %s exec /etc/r%sd" diff --git a/chinese/pine4/files/patch-aa b/chinese/pine4/files/patch-aa deleted file mode 100644 index 324a3658b40b..000000000000 --- a/chinese/pine4/files/patch-aa +++ /dev/null @@ -1,29 +0,0 @@ ---- imap/src/osdep/unix/Makefile.orig Wed Nov 17 10:26:06 1999 -+++ imap/src/osdep/unix/Makefile Sun Apr 2 12:22:00 2000 -@@ -86,7 +86,7 @@ - # Commands possibly overriden by the individual port - - ARRC=ar rc --CC=cc -+#CC=cc - LN=ln -s - RANLIB=ranlib - -@@ -104,7 +104,7 @@ - dummy.o pseudo.o netmsg.o flstring.o fdstring.o \ - rfc822.o nntp.o smtp.o imap4r1.o pop3.o \ - unix.o mbox.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o --CFLAGS=$(BASECFLAGS) $(EXTRACFLAGS) -+CFLAGS+=$(BASECFLAGS) $(EXTRACFLAGS) - MAKE=make - MV=mv - RM=rm -rf -@@ -194,7 +194,7 @@ - SPOOLDIR=/var \ - ACTIVEFILE=/usr/local/news/lib/active \ - RSHPATH=/usr/bin/rsh \ -- BASECFLAGS="-g -O -pipe -DNFSKLUDGE" \ -+ BASECFLAGS="-pipe -DNFSKLUDGE" \ - BASELDFLAGS="-lcrypt" - - bsi: # BSD/i386 diff --git a/chinese/pine4/files/patch-ab b/chinese/pine4/files/patch-ab deleted file mode 100644 index 65fd6198a92a..000000000000 --- a/chinese/pine4/files/patch-ab +++ /dev/null @@ -1,15 +0,0 @@ ---- imap/src/osdep/unix/os_bsi.h.orig Tue Feb 9 14:46:59 1999 -+++ imap/src/osdep/unix/os_bsi.h Thu Oct 14 10:53:41 1999 -@@ -37,7 +37,12 @@ - #include <unistd.h> - #include <string.h> - #include <sys/types.h> -+#ifdef __FreeBSD__ -+#include <dirent.h> -+#define direct dirent -+#else - #include <sys/dir.h> -+#endif - #include <fcntl.h> - #include <syslog.h> - #include <sys/file.h> diff --git a/chinese/pine4/files/patch-ac b/chinese/pine4/files/patch-ac deleted file mode 100644 index f7d6cc0fb680..000000000000 --- a/chinese/pine4/files/patch-ac +++ /dev/null @@ -1,15 +0,0 @@ ---- imap/src/osdep/unix/env_unix.c.orig Thu Oct 14 12:37:16 1999 -+++ imap/src/osdep/unix/env_unix.c Thu Oct 14 13:21:27 1999 -@@ -825,7 +825,11 @@ - } - close (pi[0]); close (pi[1]); - } -- if (lockEaccesError) {/* punt silently if paranoid site */ -+ if ( -+#ifdef __FreeBSD__ -+ strncmp(base->lock,"/var/mail/",10) && /* /var/mail/... isn't lockable */ -+#endif -+ lockEaccesError) {/* punt silently if paranoid site */ - sprintf (tmp,"Mailbox vulnerable - directory %.80s",hitch); - if (s = strrchr (tmp,'/')) *s = '\0'; - strcat (tmp," must have 1777 protection"); diff --git a/chinese/pine4/files/patch-ad b/chinese/pine4/files/patch-ad deleted file mode 100644 index 0fa04dc80acc..000000000000 --- a/chinese/pine4/files/patch-ad +++ /dev/null @@ -1,19 +0,0 @@ ---- imap/Makefile.orig Thu Sep 30 14:03:17 1999 -+++ imap/Makefile Thu Oct 14 10:53:41 1999 -@@ -389,12 +389,12 @@ - $(TOOLS)/$@ "$(LN)" src/charset c-client - sh -c '(test -d src/kerberos) && ($(LN) `pwd`/src/kerberos/* c-client) || true' - $(TOOLS)/$@ "$(LN)" src/osdep/$(SYSTEM) c-client -- $(TOOLS)/$@ "$(LN)" src/mtest mtest -- $(TOOLS)/$@ "$(LN)" src/ipopd ipopd -- $(TOOLS)/$@ "$(LN)" src/imapd imapd -+# $(TOOLS)/$@ "$(LN)" src/mtest mtest -+# $(TOOLS)/$@ "$(LN)" src/ipopd ipopd -+# $(TOOLS)/$@ "$(LN)" src/imapd imapd - $(LN) $(TOOLS)/$@ . - --build: OSTYPE rebuild rebuildclean bundled -+build: OSTYPE rebuild rebuildclean # bundled - - OSTYPE: - @echo Building c-client for $(OS)... diff --git a/chinese/pine4/files/patch-af b/chinese/pine4/files/patch-af deleted file mode 100644 index 1d9c89032c99..000000000000 --- a/chinese/pine4/files/patch-af +++ /dev/null @@ -1,20 +0,0 @@ ---- pico/osdep/os-bsf.h.orig Thu Oct 8 06:10:21 1998 -+++ pico/osdep/os-bsf.h Thu Oct 14 10:53:41 1999 -@@ -23,7 +23,7 @@ - - #define USE_DIRENT - #include <sys/types.h> --#include <sys/dir.h> -+#include <dirent.h> - #include <stdlib.h> - #include <string.h> - -@@ -152,7 +152,7 @@ - /* - * Place where mail gets delivered (for pico's new mail checking) - */ --#define MAILDIR "/usr/spool/mail" -+#define MAILDIR "/var/mail" - - /* - * What and where the tool that checks spelling is located. If this is diff --git a/chinese/pine4/files/patch-ag b/chinese/pine4/files/patch-ag deleted file mode 100644 index 11ba58da0c6c..000000000000 --- a/chinese/pine4/files/patch-ag +++ /dev/null @@ -1,12 +0,0 @@ ---- pico/osdep/term.cap.orig Thu Jul 8 07:25:22 1999 -+++ pico/osdep/term.cap Thu Oct 14 10:53:41 1999 -@@ -272,7 +272,8 @@ - _kppu = tgetstr("kP", &p); - _kppd = tgetstr("kN", &p); - _kphome = tgetstr("kh", &p); -- _kpend = tgetstr("kH", &p); -+ if((_kpend = tgetstr("@7", &p)) == NULL) -+ _kpend = tgetstr("kH",&p); - _kpdel = tgetstr("kD", &p); - _kf1 = tgetstr("k1", &p); - _kf2 = tgetstr("k2", &p); diff --git a/chinese/pine4/files/patch-ah b/chinese/pine4/files/patch-ah deleted file mode 100644 index dd4456899264..000000000000 --- a/chinese/pine4/files/patch-ah +++ /dev/null @@ -1,33 +0,0 @@ ---- pico/attach.c.orig Fri May 28 07:10:00 1999 -+++ pico/attach.c Thu Oct 14 10:53:41 1999 -@@ -75,12 +75,12 @@ - int n; - - menu_attach[n = 0].name = "^T"; -- menu_attach[n].label = "To Files"; -+ menu_attach[n].label = "檔案列表"; - menu_attach[n].key = (CTRL|'T'); - - if(gmode & MDCMPLT){ - menu_attach[++n].name = "TAB"; -- menu_attach[n].label = "Complete"; -+ menu_attach[n].label = "完成"; - menu_attach[n].key = (CTRL|'I'); - } - -@@ -102,12 +102,12 @@ - - menu_attach[++n].name = NULL; - KS_OSDATASET(&menu_attach[0], KS_NONE); -- status = mlreply(upload ? "Name to give uploaded attachment: " -- : "File to attach: ", -+ status = mlreply(upload ? "欲上載的附加檔案名:" -+ : "欲附加的檔案:", - fn, NLINE, QNORML, menu_attach); - } - else -- status = mlreply("Attachment comment: ", cmnt, NLINE, QNODQT, NULL); -+ status = mlreply("附件註解:", cmnt, NLINE, QNODQT, NULL); - - switch(status){ - case HELPCH: diff --git a/chinese/pine4/files/patch-ai b/chinese/pine4/files/patch-ai deleted file mode 100644 index ce2847a5bc91..000000000000 --- a/chinese/pine4/files/patch-ai +++ /dev/null @@ -1,618 +0,0 @@ ---- pico/browse.c.orig Sat Oct 2 07:21:05 1999 -+++ pico/browse.c Thu Oct 14 10:53:41 1999 -@@ -126,12 +126,12 @@ - - - static KEYMENU menu_browse[] = { -- {"?", "Get Help", KS_SCREENHELP}, {NULL, NULL, KS_NONE}, -- {NULL, NULL, KS_NONE}, {"-", "Prev Pg", KS_PREVPAGE}, -- {"D", "Delete", KS_NONE}, {"C","Copy", KS_NONE}, -+ {"?", "輔助說明", KS_SCREENHELP}, {NULL, NULL, KS_NONE}, -+ {NULL, NULL, KS_NONE}, {"-", "上一頁", KS_PREVPAGE}, -+ {"D", "刪除", KS_NONE}, {"C","複製", KS_NONE}, - {NULL, NULL, KS_NONE}, {NULL, NULL, KS_NONE}, -- {"W", "Where is", KS_NONE}, {"Spc", "Next Pg", KS_NEXTPAGE}, -- {"R", "Rename", KS_NONE}, {NULL, NULL, KS_NONE} -+ {"W", "搜尋", KS_NONE}, {"Spc", "下一頁", KS_NEXTPAGE}, -+ {"R", "更名", KS_NONE}, {NULL, NULL, KS_NONE} - }; - #define QUIT_KEY 1 - #define EXEC_KEY 2 -@@ -333,7 +333,7 @@ - child[0] = '\0'; - - if((gmode&MDTREE) && !in_oper_tree(dir)){ -- emlwrite("\007Can't read outside of %s in restricted mode", opertree); -+ emlwrite("\007無法在限制模式中讀取 %s 以外的東西", opertree); - sleep(2); - return(0); - } -@@ -421,7 +421,7 @@ - else{ - if(timeo && (c == NODATA || time_to_check())) - if(pico_new_mail()) -- emlwrite("You may possibly have new mail.", NULL); -+ emlwrite("您可能有新信件。", NULL); - } - - if(km_popped) -@@ -697,7 +697,7 @@ - gmp->current->fname); - /* make sure selected isn't a directory or executable */ - if(!LikelyASCII(child)){ -- emlwrite("Can't edit non-text file. Try Launch.", NULL); -+ emlwrite("無法讀取非文字檔。試試 \"啟動\"。", NULL); - break; - } - -@@ -727,13 +727,13 @@ - return(0); - } - -- emlwrite("\007Unknown command '%c'", (void *)c); -+ emlwrite("\007未知的命令 '%c'", (void *)c); - break; - - case 'l': /* run Command */ - case 'L': - if(!(gmode&MDBRONLY)){ -- emlwrite("\007Unknown command '%c'", (void *)c); -+ emlwrite("\007未知的命令 '%c'", (void *)c); - break; - } - -@@ -750,11 +750,11 @@ - {NULL, NULL, 0, KS_NONE}, - }; - -- status = mlreply("Command to execute: ", -+ status = mlreply("欲執行的命令:", - tmp, NLINE, QNORML, opts); - switch(status){ - case HELPCH: -- emlwrite("\007No help yet!", NULL); -+ emlwrite("\007尚無輔助說明!", NULL); - /* remove break and sleep after help text is installed */ - sleep(3); - break; -@@ -765,7 +765,7 @@ - PaintBrowser(gmp, 0, &crow, &ccol); - break; - case ABORT: -- emlwrite("Command cancelled", NULL); -+ emlwrite("命令已取消", NULL); - i++; - break; - case FALSE: -@@ -773,7 +773,7 @@ - i++; - - if(tmp[0] == '\0'){ -- emlwrite("No command specified", NULL); -+ emlwrite("尚未下達命令", NULL); - break; - } - -@@ -792,12 +792,12 @@ - case 'D': - if(gmp->current->mode == FIODIR){ - /* BUG: if dir is empty it should be deleted */ -- emlwrite("\007Can't delete a directory", NULL); -+ emlwrite("\007無法刪除該目錄", NULL); - break; - } - - if(gmode&MDSCUR){ /* not allowed! */ -- emlwrite("Delete not allowed in restricted mode",NULL); -+ emlwrite("無法在限制模式中使用刪除指令",NULL); - break; - } - -@@ -808,17 +808,17 @@ - while(i++ < 2){ /* verify twice!! */ - if(i == 1){ - if(fexist(child, "w", (off_t *)NULL) != FIOSUC) -- strcpy(tmp, "File is write protected! OVERRIDE"); -+ strcpy(tmp, "檔案為防寫! 要跳過防寫保護"); - else -- sprintf(tmp, "Delete file \"%.*s\"", NLINE - 20, child); -+ sprintf(tmp, "刪除檔案 \"%.*s\"", NLINE - 20, child); - } - else -- strcpy(tmp, "File CANNOT be UNdeleted! Really delete"); -+ strcpy(tmp, "檔案將無法被反刪除! 確定刪除"); - - if((status = mlyesno(tmp, FALSE)) != TRUE){ - emlwrite((status == ABORT) -- ? "Delete Cancelled" -- : "File Not Deleted", -+ ? "取消刪除" -+ : "檔案沒有被刪除", - NULL); - break; - } -@@ -826,7 +826,7 @@ - - if(status == TRUE){ - if(unlink(child) < 0){ -- emlwrite("Delete Failed: %s", errstr(errno)); -+ emlwrite("刪除失敗:%s", errstr(errno)); - } - else{ /* fix up pointers and redraw */ - tp = gmp->current; -@@ -903,12 +903,12 @@ - - while(!i){ - -- status = mlreply("Directory to go to: ", child, NLINE, QNORML, -+ status = mlreply("切換至哪一個目錄:", child, NLINE, QNORML, - NULL); - - switch(status){ - case HELPCH: -- emlwrite("\007No help yet!", NULL); -+ emlwrite("\007尚無輔助說明!", NULL); - /* remove break and sleep after help text is installed */ - sleep(3); - break; -@@ -916,7 +916,7 @@ - PaintBrowser(gmp, 0, &crow, &ccol); - break; - case ABORT: -- emlwrite("Goto cancelled", NULL); -+ emlwrite("取消切換目錄", NULL); - i++; - break; - case FALSE: -@@ -927,17 +927,17 @@ - strcpy(child, gethomedir(NULL)); - - if(!compresspath(gmp->dname, child, NLINE)){ -- emlwrite("Invalid Directory: %s", child); -+ emlwrite("無效的目錄:%s", child); - break; - } - - if((gmode&MDSCUR) && homeless(child)){ -- emlwrite("Restricted mode browsing limited to home directory",NULL); -+ emlwrite("限制模式中僅能瀏覽 home directory",NULL); - break; - } - - if((gmode&MDTREE) && !in_oper_tree(child)){ -- emlwrite("\007 Can't go outside of %s in restricted mode", -+ emlwrite("\007 限制模式中無法離開 %s", - opertree); - break; - } -@@ -954,7 +954,7 @@ - PaintBrowser(gmp, 0, &crow, &ccol); - } - else -- emlwrite("\007Not a directory: \"%s\"", child); -+ emlwrite("\007\"%s\"不是一個目錄", child); - - break; - default: -@@ -976,10 +976,10 @@ - - while(!i){ - -- switch(status=mlreply("Name of file to add: ", child, NLINE, -+ switch(status=mlreply("欲新增的檔名:", child, NLINE, - QFFILE, NULL)){ - case HELPCH: -- emlwrite("\007No help yet!", NULL); -+ emlwrite("\007尚無輔助說明!", NULL); - /* remove break and sleep after help text is installed */ - sleep(3); - break; -@@ -987,7 +987,7 @@ - PaintBrowser(gmp, 0, &crow, &ccol); - break; - case ABORT: -- emlwrite("Add File Cancelled", NULL); -+ emlwrite("取消新增檔案", NULL); - i++; - break; - case FALSE: -@@ -998,23 +998,23 @@ - i++; - - if(child[0] == '\0'){ -- emlwrite("No file named. Add Cancelled.", NULL); -+ emlwrite("未指定檔名,取消新增檔案。", NULL); - break; - } - - if(!compresspath(gmp->dname, child, NLINE)){ -- emlwrite("Too many ..'s in name", NULL); -+ emlwrite("檔名中有太多的 .. 了", NULL); - break; - } - - if((gmode&MDTREE) && !in_oper_tree(child)){ -- emlwrite("\007Restricted mode allows Add in %s only", -+ emlwrite("\007限制模式中僅允許\在 %s 中新增檔案", - opertree); - break; - } - - if((status = fexist(child, "w", (off_t *)NULL)) == FIOSUC){ -- sprintf(tmp,"File \"%.*s\" already exists!", -+ sprintf(tmp,"檔案 \"%.*s\" 已存在!", - NLINE - 20, child); - emlwrite(tmp, NULL); - break; -@@ -1030,7 +1030,7 @@ - } - else{ /* highlight new file */ - ffclose(); -- emlwrite("Added File \"%s\"", child); -+ emlwrite("新增檔案 \"%s\"", child); - - if((p = strrchr(child, C_FILESEP)) == NULL){ - emlwrite("Problems refiguring browser", NULL); -@@ -1078,12 +1078,12 @@ - case 'c': /* copy */ - case 'C': - if(gmp->current->mode == FIODIR){ -- emlwrite("\007Can't copy a directory", NULL); -+ emlwrite("\007無法複製目錄", NULL); - break; - } - - if(gmode&MDSCUR){ /* not allowed! */ -- emlwrite("Copy not allowed in restricted mode",NULL); -+ emlwrite("無法在限制模式中複製檔案",NULL); - break; - } - -@@ -1092,10 +1092,10 @@ - - while(!i){ - -- switch(status=mlreply("Name of new copy: ", child, NLINE, -+ switch(status=mlreply("新複製檔名:", child, NLINE, - QFFILE, NULL)){ - case HELPCH: -- emlwrite("\007No help yet!", NULL); -+ emlwrite("\007尚無輔助說明!", NULL); - /* remove break and sleep after help text is installed */ - sleep(3); - break; -@@ -1103,7 +1103,7 @@ - PaintBrowser(gmp, 0, &crow, &ccol); - break; - case ABORT: -- emlwrite("Make Copy Cancelled", NULL); -+ emlwrite("取消複製檔案", NULL); - i++; - break; - case FALSE: -@@ -1114,33 +1114,33 @@ - i++; - - if(child[0] == '\0'){ -- emlwrite("No destination, file not copied", NULL); -+ emlwrite("未指定目地檔名,檔案沒有被複製。", NULL); - break; - } - - if(!strcmp(gmp->current->fname, child)){ -- emlwrite("\007Can't copy file on to itself!", NULL); -+ emlwrite("\007無法將檔案複製至它自己!", NULL); - break; - } - - if(!compresspath(gmp->dname, child, NLINE)){ -- emlwrite("Too many ..'s in name", NULL); -+ emlwrite("檔名中有太多的 .. 了", NULL); - break; - } - - if((gmode&MDTREE) && !in_oper_tree(child)){ -- emlwrite("\007Restricted mode allows Copy in %s only", -+ emlwrite("\007限制模式中僅允許\在 %s 中複製檔案", - opertree); - break; - } - - if((status = fexist(child, "w", (off_t *)NULL)) == FIOSUC){ -- sprintf(tmp,"File \"%.*s\" exists! OVERWRITE", -+ sprintf(tmp,"檔案 \"%.*s\" 已存在! 要覆蓋\嗎", - NLINE - 20, child); - if((status = mlyesno(tmp, 0)) != TRUE){ - emlwrite((status == ABORT) -- ? "Make copy cancelled" -- : "File Not Renamed", -+ ? "取消複製" -+ : "檔案沒有被複製", - NULL); - break; - } -@@ -1158,7 +1158,7 @@ - break; - } - else{ /* highlight new file */ -- emlwrite("File copied to %s", child); -+ emlwrite("複製檔案到 %s", child); - - if((p = strrchr(child, C_FILESEP)) == NULL){ - emlwrite("Problems refiguring browser", NULL); -@@ -1201,12 +1201,12 @@ - i = 0; - - if(!strcmp(gmp->current->fname, "..")){ -- emlwrite("\007Can't rename \"..\"", NULL); -+ emlwrite("\007無法更改 \"..\" 的名稱", NULL); - break; - } - - if(gmode&MDSCUR){ /* not allowed! */ -- emlwrite("Rename not allowed in restricted mode",NULL); -+ emlwrite("無法在限制模式中更改檔案名",NULL); - break; - } - -@@ -1214,10 +1214,10 @@ - - while(!i){ - -- switch(status=mlreply("Rename file to: ", child, NLINE, QFFILE, -+ switch(status=mlreply("檔案名稱更改為:", child, NLINE, QFFILE, - NULL)){ - case HELPCH: -- emlwrite("\007No help yet!", NULL); -+ emlwrite("\007尚無輔助說明!", NULL); - /* remove break and sleep after help text is installed */ - sleep(3); - break; -@@ -1225,7 +1225,7 @@ - PaintBrowser(gmp, 0, &crow, &ccol); - break; - case ABORT: -- emlwrite("Rename cancelled", NULL); -+ emlwrite("取消更改檔案名稱", NULL); - i++; - break; - case FALSE: -@@ -1238,12 +1238,12 @@ - } - - if(!compresspath(gmp->dname, child, NLINE)){ -- emlwrite("Too many ..'s in name", NULL); -+ emlwrite("檔名中有太多的 .. 了", NULL); - break; - } - - if((gmode&MDTREE) && !in_oper_tree(child)){ -- emlwrite("\007Restricted mode allows Rename in %s only", -+ emlwrite("\007限制模式中僅允許\在 %s 中更改檔名", - opertree); - break; - } -@@ -1251,13 +1251,13 @@ - status = fexist(child, "w", (off_t *)NULL); - if(status == FIOSUC || status == FIOFNF){ - if(status == FIOSUC){ -- sprintf(tmp,"File \"%.*s\" exists! OVERWRITE", -+ sprintf(tmp,"檔案 \"%.*s\" 已存在! 要覆蓋\嗎", - NLINE - 20, child); - - if((status = mlyesno(tmp, FALSE)) != TRUE){ - emlwrite((status == ABORT) -- ? "Rename cancelled" -- : "Not Renamed", -+ ? "取消更名" -+ : "檔案沒有被更名", - NULL); - break; - } -@@ -1267,7 +1267,7 @@ - gmp->current->fname); - - if(rename(tmp, child) < 0){ -- emlwrite("Rename Failed: %s", errstr(errno)); -+ emlwrite("更名失敗:%s", errstr(errno)); - } - else{ - if((p = strrchr(child, C_FILESEP)) == NULL){ -@@ -1326,7 +1326,7 @@ - - if((gmode&MDTREE) && !in_oper_tree(tmp)){ - emlwrite( -- "\007Can't visit parent in restricted mode", -+ "\007無法在限制模式中檢視上層目錄", - NULL); - break; - } -@@ -1347,7 +1347,7 @@ - strcpy(tmp, S_FILESEP); - #endif - else{ -- emlwrite("\007Can't move up a directory", -+ emlwrite("\007無法切換至上一層目錄", - NULL); - break; - } -@@ -1374,12 +1374,12 @@ - PlaceCell(gmp, gmp->current, &row, &col); - } - else -- emlwrite("\007Problem finding dir \"%s\"",child); -+ emlwrite("\007搜尋目錄 \"%s\" 時出了問題",child); - } - - PaintBrowser(gmp, 0, &crow, &ccol); - if(!*child) -- emlwrite("Select/View \".. parent dir\" to return to previous directory.", -+ emlwrite("以 [選擇]/[檢視] \".. parent dir\" 回到前一個目錄。", - NULL); - - break; -@@ -1425,7 +1425,7 @@ - - switch(readpattern("File name to find", FALSE)){ - case HELPCH: -- emlwrite("\007No help yet!", NULL); -+ emlwrite("\007尚無輔助說明!", NULL); - /* remove break and sleep after help text is installed */ - sleep(3); - break; -@@ -1456,10 +1456,10 @@ - } - while(tp->next); - -- emlwrite("Searched to end of directory", NULL); -+ emlwrite("搜尋至目錄結尾", NULL); - } - else -- emlwrite("Searched to start of directory", NULL); -+ emlwrite("搜尋至目錄起始", NULL); - - if(tp){ - PlaceCell(gmp, gmp->current, &row, &col); -@@ -1478,7 +1478,7 @@ - i++; /* make sure we jump out */ - break; - case ABORT: -- emlwrite("Whereis cancelled", NULL); -+ emlwrite("取消搜尋", NULL); - i++; - break; - case FALSE: -@@ -1502,7 +1502,7 @@ - mlerase(); - } - else -- emlwrite("\"%s\" not found", pat); -+ emlwrite("找不到 \"%s\"", pat); - - i++; - break; -@@ -1524,11 +1524,11 @@ - default: /* what? */ - Default: - if(c < 0xff) -- emlwrite("\007Unknown command: '%c'", (void *) c); -+ emlwrite("\007未知的命令:'%c'", (void *) c); - else if(c & CTRL) -- emlwrite("\007Unknown command: ^%c", (void *)(c&0xff)); -+ emlwrite("\007未知的命令:^%c", (void *)(c&0xff)); - else -- emlwrite("\007Unknown command", NULL); -+ emlwrite("\007未知的命令", NULL); - case NODATA: /* no op */ - break; - } -@@ -1560,7 +1560,7 @@ - - errbuf[0] = '\0'; - if((mp=(struct bmaster *)malloc(sizeof(struct bmaster))) == NULL){ -- emlwrite("\007Can't malloc space for master filename cell", NULL); -+ emlwrite("\007無法配置記憶體空間給 master filename cell", NULL); - return(NULL); - } - -@@ -1584,7 +1584,7 @@ - mp->cpf = mp->fpl = 0; - mp->longest = 5; /* .. must be labeled! */ - -- emlwrite("Building file list of %s...", mp->dname); -+ emlwrite("正在建立 %s 的檔案列表...", mp->dname); - - if((mp->names = getfnames(mp->dname, NULL, &nentries, errbuf)) == NULL){ - free((char *) mp); -@@ -1603,7 +1603,7 @@ - * easily be made a user option later on... - */ - if((filtnames=(char **)malloc((nentries+1) * sizeof(char *))) == NULL){ -- emlwrite("\007Can't malloc space for name array", NULL); -+ emlwrite("\007無法配置記憶體空間給 name array", NULL); - zotmaster(&mp); - return(NULL); - } -@@ -1654,7 +1654,7 @@ - while(nentries--){ /* stat filtered files */ - /* get a new cell */ - if((ncp=(struct fcell *)malloc(sizeof(struct fcell))) == NULL){ -- emlwrite("\007Can't malloc cells for browser!", NULL); -+ emlwrite("\007無法配置記憶體空間給 browser!", NULL); - zotfcells(mp->head); /* clean up cells */ - free((char *) filtnames); - free((char *) mp); -@@ -1840,22 +1840,22 @@ - BrowserKeys() - { - menu_browse[QUIT_KEY].name = (gmode&MDBRONLY) ? "Q" : "E"; -- menu_browse[QUIT_KEY].label = (gmode&MDBRONLY) ? "Quit" : "Exit Brwsr"; -+ menu_browse[QUIT_KEY].label = (gmode&MDBRONLY) ? "離開" : "離開瀏覽器"; - menu_browse[GOTO_KEY].name = (gmode&MDGOTO) ? "G" : NULL; -- menu_browse[GOTO_KEY].label = (gmode&MDGOTO) ? "Goto" : NULL; -+ menu_browse[GOTO_KEY].label = (gmode&MDGOTO) ? "切換" : NULL; - if(gmode & MDBRONLY){ - menu_browse[EXEC_KEY].name = "L"; -- menu_browse[EXEC_KEY].label = "Launch"; -+ menu_browse[EXEC_KEY].label = "啟動"; - menu_browse[SELECT_KEY].name = "V"; -- menu_browse[SELECT_KEY].label = "[View]"; -+ menu_browse[SELECT_KEY].label = "[檢視]"; - menu_browse[PICO_KEY].name = "E"; -- menu_browse[PICO_KEY].label = "Edit"; -+ menu_browse[PICO_KEY].label = "編輯"; - } - else{ - menu_browse[SELECT_KEY].name = "S"; -- menu_browse[SELECT_KEY].label = "[Select]"; -+ menu_browse[SELECT_KEY].label = "[選擇]"; - menu_browse[PICO_KEY].name = "A"; -- menu_browse[PICO_KEY].label = "Add"; -+ menu_browse[PICO_KEY].label = "新增"; - } - - wkeyhelp(menu_browse); -@@ -1958,7 +1958,7 @@ - - if((tp = tp->next) == NULL){ /* above top? */ - if(secondtry++){ -- emlwrite("\007Internal error: can't find fname cell", NULL); -+ emlwrite("\007內部錯誤: 找不到 fname cell", NULL); - return(-1); - } - else{ -@@ -2124,10 +2124,10 @@ - if(!p) /* no suitable length! */ - p = &dir[l-(term.t_ncol-i-19)]; - -- sprintf(buf, "%s Dir ...%s", (gmode&MDBRONLY) ? "" : " BROWSER ", p); -+ sprintf(buf, "%s 目錄 ...%s", (gmode&MDBRONLY) ? "" : " BROWSER ", p); - } - else -- sprintf(buf,"%s Dir: %s", (gmode&MDBRONLY) ? "" : " BROWSER ", dir); -+ sprintf(buf,"%s 目錄: %s", (gmode&MDBRONLY) ? "" : " BROWSER ", dir); - - if(i < j) /* keep it centered */ - j = j - i; /* as long as we can */ -@@ -2256,18 +2256,18 @@ - if((line = (buf[i] == '\n') ? 0 : line + 1) >= LA_LINE_LIMIT - || !buf[i]){ - rv = FALSE; -- emlwrite("Can't display non-text file. Try \"Launch\".", -+ emlwrite("無法顯示非文字檔。試試 \"啟動\"。", - NULL); - break; - } - } - else -- emlwrite("Can't read file: %s", file); -+ emlwrite("無法讀取檔案:%s", file); - - fclose(fp); - } - else -- emlwrite("Can't open file: %s", file); -+ emlwrite("無法開啟檔案:%s", file); - - return(rv); - } diff --git a/chinese/pine4/files/patch-aj b/chinese/pine4/files/patch-aj deleted file mode 100644 index a6dd0352d8a7..000000000000 --- a/chinese/pine4/files/patch-aj +++ /dev/null @@ -1,365 +0,0 @@ ---- pico/composer.c.orig Fri Jun 11 06:55:22 1999 -+++ pico/composer.c Thu Oct 14 10:53:41 1999 -@@ -133,12 +133,12 @@ - - - static KEYMENU menu_header[] = { -- {"^G", "Get Help", KS_SCREENHELP}, {"^X", "Send", KS_SEND}, -- {"^R", "Rich Hdr", KS_RICHHDR}, {"^Y", "PrvPg/Top", KS_PREVPAGE}, -- {"^K", "Cut Line", KS_CURPOSITION}, {"^O", "Postpone", KS_POSTPONE}, -- {"^C", "Cancel", KS_CANCEL}, {"^D", "Del Char", KS_NONE}, -- {"^J", "Attach", KS_ATTACH}, {"^V", "NxtPg/End", KS_NEXTPAGE}, -- {"^U", "UnDel Line", KS_NONE}, {NULL, NULL} -+ {"^G", "輔助說明", KS_SCREENHELP}, {"^X", "送出", KS_SEND}, -+ {"^R", "完整標頭", KS_RICHHDR}, {"^Y", "上一頁", KS_PREVPAGE}, -+ {"^K", "剪下一行", KS_CURPOSITION}, {"^O", "暫緩寫信", KS_POSTPONE}, -+ {"^C", "取消", KS_CANCEL}, {"^D", "刪除字元", KS_NONE}, -+ {"^J", "夾附件", KS_ATTACH}, {"^V", "下一頁", KS_NEXTPAGE}, -+ {"^U", "復原刪除行", KS_NONE}, {NULL, NULL} - }; - #define SEND_KEY 1 - #define RICH_KEY 2 -@@ -262,7 +262,7 @@ - if(strlen(addrbuf) + strlen(buf) >= addrbuflen){ - addrbuflen += NLINE * 4; - if(!(addrbuf = (char *)realloc(addrbuf, addrbuflen))){ -- emlwrite("\007Can't realloc addrbuf to %d bytes", -+ emlwrite("\007無法更改 addrbuf 的記憶體配置至 %d bytes", - (void *) addrbuflen); - return(ABORT); - } -@@ -329,7 +329,7 @@ - * get first chunk of memory, and tie it to structure... - */ - if((curline = HALLOC()) == NULL){ -- emlwrite("Unable to make room for full Header.", NULL); -+ emlwrite("無法配置空間給完整標頭。", NULL); - return(FALSE); - } - longest = term.t_ncol - e->prlen - 1; -@@ -711,7 +711,7 @@ - } - else{ - (*term.t_beep)(); -- emlwrite("Unknown Command: ^Z", NULL); -+ emlwrite("未知的命令:^Z", NULL); - } - break; - -@@ -724,12 +724,12 @@ - err = NULL; - if(headents[ods.cur_e].is_attach){ - if(SyncAttach() < 0){ -- if(mlyesno("Problem with attachments. Postpone anyway?", -+ if(mlyesno("附件有問題。無論如何都要暫緩該信嗎?", - FALSE) != TRUE){ - if(FormatLines(headents[ods.cur_e].hd_text, "", - term.t_ncol - headents[ods.cur_e].prlen, - headents[ods.cur_e].break_on_comma, 0) == -1) -- emlwrite("\007Format lines failed!", NULL); -+ emlwrite("\007版面整理失敗!", NULL); - UpdateHeader(0); - PaintHeader(COMPOSER_TOP_LINE, FALSE); - PaintBody(1); -@@ -998,7 +998,7 @@ - if(FormatLines(headents[ods.cur_e].hd_text, buf, - term.t_ncol - headents[ods.cur_e].prlen, - headents[ods.cur_e].break_on_comma,0)==-1){ -- emlwrite("\007Format lines failed!", NULL); -+ emlwrite("\007版面整理失敗!", NULL); - } - - UpdateHeader(0); -@@ -1057,7 +1057,7 @@ - if(FormatLines(ods.cur_l, bufp, - (term.t_ncol-headents[ods.cur_e].prlen), - headents[ods.cur_e].break_on_comma, 0) == -1){ -- emlwrite("Problem adding address to header !", -+ emlwrite("在標頭加入地址時出了問題!", - NULL); - (*term.t_beep)(); - break; -@@ -1193,10 +1193,10 @@ - default : /* huh? */ - bleep: - if(ch&CTRL) -- emlwrite("\007Unknown command: ^%c", (void *)(ch&0xff)); -+ emlwrite("\007未知的命令:^%c", (void *)(ch&0xff)); - else - case BADESC: -- emlwrite("\007Unknown command", NULL); -+ emlwrite("\007未知的命令", NULL); - - case NODATA: - break; -@@ -1236,14 +1236,14 @@ - if(gripe){ - char xx[81]; - -- strcpy(xx, "Can't move down. Use ^X to "); -+ strcpy(xx, "無法再往下移了。請用 ^X "); - strcat(xx, (Pmaster && Pmaster->exit_label) - ? Pmaster->exit_label - : (gmode & MDHDRONLY) -- ? "eXit/Save" -+ ? "離開/送出" - : (gmode & MDVIEW) -- ? "eXit" -- : "Send"); -+ ? "離開" -+ : "送出"); - strcat(xx, "."); - emlwrite(xx, NULL); - } -@@ -1278,7 +1278,7 @@ - if(FormatLines(headents[ods.cur_e].hd_text, "", - term.t_ncol-headents[new_e].prlen, - headents[ods.cur_e].break_on_comma, 0) == -1) -- emlwrite("\007Format lines failed!", NULL); -+ emlwrite("\007版面整理失敗!", NULL); - } - } else if(headents[ods.cur_e].builder) { /* expand addresses */ - int mangled = 0; -@@ -1349,8 +1349,8 @@ - if(!(new_l = prev_sel_hline(&new_e, ods.cur_l))){ /* all the way up! */ - ods.p_line = COMPOSER_TOP_LINE; - if(gripe) -- emlwrite("Can't move beyond top of %s", -- (Pmaster->pine_flags & MDHDRONLY) ? "entry" : "header"); -+ emlwrite("無法移到超出%s的頂端", -+ (Pmaster->pine_flags & MDHDRONLY) ? "項目" : "標頭"); - - return(0); - } -@@ -1379,7 +1379,7 @@ - if(FormatLines(headents[ods.cur_e].hd_text, "", - term.t_ncol - headents[ods.cur_e].prlen, - headents[ods.cur_e].break_on_comma,0) == -1) -- emlwrite("\007Format lines failed!", NULL); -+ emlwrite("\007版面整理失敗!", NULL); - } - } - else if(headents[ods.cur_e].builder){ -@@ -1458,7 +1458,7 @@ - lp = lp->next; - } - else{ -- emlwrite("\007Can't allocate line for new attachment!", NULL); -+ emlwrite("\007無法為新的附件配置空間!", NULL); - return(0); - } - } -@@ -1472,12 +1472,12 @@ - /* validate the new attachment, and reformat if needed */ - if(status = SyncAttach()){ - if(status < 0) -- emlwrite("\007Problem attaching: %s", fn); -+ emlwrite("\007有問題的附件:%s", fn); - - if(FormatLines(headents[a_e].hd_text, "", - term.t_ncol - headents[a_e].prlen, - headents[a_e].break_on_comma, 0) == -1){ -- emlwrite("\007Format lines failed!", NULL); -+ emlwrite("\007版面整理失敗!", NULL); - return(0); - } - } -@@ -1552,7 +1552,7 @@ - - if (term.t_nrow < 6 && ch != NODATA){ - (*term.t_beep)(); -- emlwrite("Please make the screen bigger.", NULL); -+ emlwrite("請將畫面調大一些。", NULL); - continue; - } - -@@ -1624,13 +1624,13 @@ - if(headents[ods.cur_e].only_file_chars - && !fallowc((unsigned char) ch)){ - /* no garbage in filenames */ -- emlwrite("\007Can't have a '%c' in folder name", -+ emlwrite("\007資料匣中不能有 '%c' 這個字元", - (void *) ch); - continue; - } - else if(headents[ods.cur_e].is_attach - && intag(strng,ods.p_off)){ -- emlwrite("\007Can't edit attachment number!", NULL); -+ emlwrite("\007無法編輯附件的代碼!", NULL); - continue; - } - -@@ -1779,7 +1779,7 @@ - headents[ods.cur_e].dirty = 1; - } - else -- emlwrite("Problem Unkilling text", NULL); -+ emlwrite("有問題的反刪除文字", NULL); - continue; - - case (CTRL|'F') : -@@ -1830,7 +1830,7 @@ - continue; - - if(headents[ods.cur_e].is_attach && intag(strng, ods.p_off)){ -- emlwrite("\007Can't edit attachment number!", NULL); -+ emlwrite("\007無法編輯附件的代碼!", NULL); - continue; - } - -@@ -1844,7 +1844,7 @@ - } - - if(headents[ods.cur_e].is_attach && intag(strng, ods.p_off-1)){ -- emlwrite("\007Can't edit attachment number!", NULL); -+ emlwrite("\007無法編輯附件的代碼!", NULL); - continue; - } - -@@ -2141,7 +2141,7 @@ - - if(nlp == NULL){ /* no place to add below? */ - if((lp = HALLOC()) == NULL){ -- emlwrite("Can't allocate any more lines for header!", NULL); -+ emlwrite("無法再配置更多的空間給標頭!", NULL); - free(buf); - return(-1); - } -@@ -2174,7 +2174,7 @@ - - if(strlen(buf) && !nlp){ - if((lp = HALLOC()) == NULL){ -- emlwrite("Can't allocate any more lines for header!",NULL); -+ emlwrite("無法再配置更多的空間給標頭!",NULL); - free(buf); - return(-1); - } -@@ -2461,14 +2461,14 @@ - - if(level < 0 || !headents[level].name){ - (*term.t_beep)(); -- emlwrite("Sorry, I can't help you with that.", NULL); -+ emlwrite("很抱歉,關於那個我無法幫忙。", NULL); - sleep(2); - return(FALSE); - } - -- sprintf(buf, "Help for %s %.40s Field", -- (Pmaster->pine_flags & MDHDRONLY) ? "Address Book" -- : "Composer", -+ sprintf(buf, "%s欄位%.40s的輔助說明", -+ (Pmaster->pine_flags & MDHDRONLY) ? "地址簿" -+ : "編輯器", - headents[level].name); - saved_state = save_pico_state(); - (*Pmaster->helper)(headents[level].help, buf, 1); -@@ -3114,7 +3114,7 @@ - } - - if((sbuf=(char *)malloc((unsigned) i)) == NULL){ -- emlwrite("Can't malloc space to expand address", NULL); -+ emlwrite("無法配置記憶體空間以展開地址", NULL); - return(-1); - } - -@@ -3171,7 +3171,7 @@ - if(!arg){ - headarg = arg = (BUILDER_ARG *)malloc(sizeof(BUILDER_ARG)); - if(!arg){ -- emlwrite("Can't malloc space for fcc", NULL); -+ emlwrite("無法配置記憶體空間給 fcc", NULL); - return(-1); - } - else{ -@@ -3184,7 +3184,7 @@ - else{ - nextarg = (BUILDER_ARG *)malloc(sizeof(BUILDER_ARG)); - if(!nextarg){ -- emlwrite("Can't malloc space for fcc", NULL); -+ emlwrite("無法配置記憶體空間給 fcc", NULL); - return(-1); - } - else{ -@@ -3200,7 +3200,7 @@ - if(!e->sticky){ - line = e->hd_text; - if(!(arg->tptr=(char *)malloc(strlen(line->text) + 1))){ -- emlwrite("Can't malloc space for fcc", NULL); -+ emlwrite("無法配置記憶體空間給 fcc", NULL); - return(-1); - } - else -@@ -3217,7 +3217,7 @@ - if(!headarg){ - headarg = (BUILDER_ARG *)malloc(sizeof(BUILDER_ARG)); - if(!headarg){ -- emlwrite("Can't malloc space", NULL); -+ emlwrite("無法配置記憶體空間", NULL); - return(-1); - } - else{ -@@ -3543,7 +3543,7 @@ - - if(ksize()){ - if((bp = buf = (char *)malloc(ksize()+5)) == NULL){ -- emlwrite("Can't malloc space for saved text", NULL); -+ emlwrite("無法配置保存文字的記憶體空間", NULL); - return(FALSE); - } - } -@@ -3577,7 +3577,7 @@ - work_buf_len = strlen(ods.cur_l->text) + buf_len; - work_buf = (char *) malloc((work_buf_len + 1) * sizeof(char)); - if (work_buf == NULL) { -- emlwrite("Can't malloc space for saved text", NULL); -+ emlwrite("無法配置保存文字的記憶體空間", NULL); - return(FALSE); - } - -@@ -3786,9 +3786,9 @@ - if(Pmaster && Pmaster->exit_label) - menu_header[SEND_KEY].label = Pmaster->exit_label; - else if(gmode & (MDVIEW | MDHDRONLY)) -- menu_header[SEND_KEY].label = (gmode & MDHDRONLY) ? "eXit/Save" : "eXit"; -+ menu_header[SEND_KEY].label = (gmode & MDHDRONLY) ? "離開/儲存" : "離開"; - else -- menu_header[SEND_KEY].label = "Send"; -+ menu_header[SEND_KEY].label = "送出"; - - if(gmode & MDVIEW){ - menu_header[CUT_KEY].name = NULL; -@@ -3809,14 +3809,14 @@ - menu_header[RICH_KEY].name = NULL; - } - else{ -- menu_header[RICH_KEY].label = "Rich Hdr"; -+ menu_header[RICH_KEY].label = "完整標頭"; - menu_header[RICH_KEY].name = "^R"; - } - - if(gmode & MDHDRONLY){ - if(headents[ods.cur_e].fileedit){ - menu_header[PONE_KEY].name = "^_"; -- menu_header[PONE_KEY].label = "Edit File"; -+ menu_header[PONE_KEY].label = "編輯檔案"; - } - else - menu_header[PONE_KEY].name = NULL; -@@ -3825,7 +3825,7 @@ - } - else{ - menu_header[PONE_KEY].name = "^O"; -- menu_header[PONE_KEY].label = "Postpone"; -+ menu_header[PONE_KEY].label = "暫緩"; - KS_OSDATASET(&menu_header[PONE_KEY],KS_OSDATAGET(&headents[ods.cur_e])); - - menu_header[ATT_KEY].name = "^J"; -@@ -3897,7 +3897,7 @@ - *headents[i].realaddr = bufp; - } - else{ -- emlwrite("Can't make room to pack header field.", NULL); -+ emlwrite("無法配置包裝表頭欄位的記憶體空間。", NULL); - retval = FALSE; - } - } diff --git a/chinese/pine4/files/patch-ak b/chinese/pine4/files/patch-ak deleted file mode 100644 index 29263ac1742b..000000000000 --- a/chinese/pine4/files/patch-ak +++ /dev/null @@ -1,187 +0,0 @@ ---- pico/display.c.orig Thu Sep 2 03:25:22 1999 -+++ pico/display.c Thu Oct 14 10:53:41 1999 -@@ -71,32 +71,32 @@ - * Standard pico keymenus... - */ - static KEYMENU menu_pico[] = { -- {"^G", "Get Help", KS_SCREENHELP}, {"^O", "WriteOut", KS_SAVEFILE}, -- {"^R", "Read File", KS_READFILE}, {"^Y", "Prev Pg", KS_PREVPAGE}, -- {"^K", "Cut Text", KS_NONE}, {"^C", "Cur Pos", KS_CURPOSITION}, -- {"^X", "Exit", KS_EXIT}, {"^J", "Justify", KS_JUSTIFY}, -- {"^W", "Where is", KS_WHEREIS}, {"^V", "Next Pg", KS_NEXTPAGE}, -+ {"^G", "輔助說明", KS_SCREENHELP}, {"^O", "寫入檔案", KS_SAVEFILE}, -+ {"^R", "讀取檔案", KS_READFILE}, {"^Y", "上一頁", KS_PREVPAGE}, -+ {"^K", "剪下一行", KS_NONE}, {"^C", "目前位置", KS_CURPOSITION}, -+ {"^X", "離開", KS_EXIT}, {"^J", "重整段落", KS_JUSTIFY}, -+ {"^W", "搜尋", KS_WHEREIS}, {"^V", "下一頁", KS_NEXTPAGE}, - {"^U", NULL, KS_NONE}, --#ifdef SPELLER -- {"^T", "To Spell", KS_SPELLCHK} -+#if defined(SPELLER) && !defined(__FreeBSD__) -+ {"^T", "拼字檢查", KS_SPELLCHK} - #else -- {"^D", "Del Char", KS_NONE} -+ {"^D", "刪除字元", KS_NONE} - #endif - }; - #define UNCUT_KEY 10 - - - static KEYMENU menu_compose[] = { -- {"^G", "Get Help", KS_SCREENHELP}, {"^X", NULL, KS_SEND}, -- {"^R", "Read File", KS_READFILE}, {"^Y", "Prev Pg", KS_PREVPAGE}, -- {"^K", "Cut Text", KS_NONE}, {"^O", "Postpone", KS_POSTPONE}, -- {"^C", "Cancel", KS_CANCEL}, {"^J", "Justify", KS_JUSTIFY}, -- {NULL, NULL, KS_NONE}, {"^V", "Next Pg", KS_NEXTPAGE}, -+ {"^G", "輔助說明", KS_SCREENHELP}, {"^X", NULL, KS_SEND}, -+ {"^R", "讀取檔案", KS_READFILE}, {"^Y", "上一頁", KS_PREVPAGE}, -+ {"^K", "剪下一行", KS_NONE}, {"^O", "暫緩寫信", KS_POSTPONE}, -+ {"^C", "取消", KS_CANCEL}, {"^J", "重整段落", KS_JUSTIFY}, -+ {NULL, NULL, KS_NONE}, {"^V", "下一頁", KS_NEXTPAGE}, - {"^U", NULL, KS_NONE}, --#ifdef SPELLER -- {"^T", "To Spell", KS_SPELLCHK} -+#if defined(SPELLER) && !defined(__FreeBSD__) -+ {"^T", "拼字檢查", KS_SPELLCHK} - #else -- {"^D", "Del Char", KS_NONE} -+ {"^D", "刪除字元", KS_NONE} - #endif - }; - #define EXIT_KEY 1 -@@ -152,7 +152,7 @@ - (*term.t_rev)(FALSE); - vscreen = (VIDEO **) malloc((term.t_nrow+1)*sizeof(VIDEO *)); - if (vscreen == NULL){ -- emlwrite("Allocating memory for virtual display failed.", NULL); -+ emlwrite("配置記憶體給虛擬顯示器失敗。", NULL); - return(FALSE); - } - -@@ -160,7 +160,7 @@ - pscreen = (VIDEO **) malloc((term.t_nrow+1)*sizeof(VIDEO *)); - if (pscreen == NULL){ - free((void *)vscreen); -- emlwrite("Allocating memory for physical display failed.", NULL); -+ emlwrite("配置記憶體給實體顯示器失敗。", NULL); - return(FALSE); - } - -@@ -171,7 +171,7 @@ - if (vp == NULL){ - free((void *)vscreen); - free((void *)pscreen); -- emlwrite("Allocating memory for virtual display lines failed.", -+ emlwrite("配置記憶體給虛擬顯示行失敗。", - NULL); - return(FALSE); - } -@@ -191,7 +191,7 @@ - - free((void *)vscreen); - free((void *)pscreen); -- emlwrite("Allocating memory for physical display lines failed.", -+ emlwrite("配置記憶體給實體顯示行失敗。", - NULL); - return(FALSE); - } -@@ -749,12 +749,12 @@ - } - - if(lastflag&CFFILL){ -- menu_pico[UNCUT_KEY].label = "UnJustify"; -- emlwrite("Can now UnJustify!", NULL); -+ menu_pico[UNCUT_KEY].label = "取消重整"; -+ emlwrite("現在可以取消重整!", NULL); - mpresf = FARAWAY; /* remove this after next keystroke! */ - } - else -- menu_pico[UNCUT_KEY].label = "UnCut Text"; -+ menu_pico[UNCUT_KEY].label = "復原刪字"; - - wkeyhelp(menu_pico); - sgarbk = FALSE; -@@ -944,18 +944,18 @@ - ShowPrompt(); - else{ - menu_compose[EXIT_KEY].label = (Pmaster->headents) -- ? "Send" :"Exit"; -+ ? "送出" :"離開"; - menu_compose[PSTPN_KEY].name = (Pmaster->headents) - ? "^O" : NULL; - menu_compose[PSTPN_KEY].label = (Pmaster->headents) -- ? "Postpone" : NULL; -+ ? "暫緩寫信" : NULL; - menu_compose[WHERE_KEY].name = (Pmaster->alt_ed) ? "^_" : "^W"; -- menu_compose[WHERE_KEY].label = (Pmaster->alt_ed) ? "Alt Edit" -- : "Where is"; -+ menu_compose[WHERE_KEY].label = (Pmaster->alt_ed) ? "自定編輯器" -+ : "搜尋"; - KS_OSDATASET(&menu_compose[WHERE_KEY], - (Pmaster->alt_ed) ? KS_ALTEDITOR : KS_WHEREIS); -- menu_compose[UNCUT_KEY].label = (thisflag&CFFILL) ? "UnJustify" -- : "UnCut Text"; -+ menu_compose[UNCUT_KEY].label = (thisflag&CFFILL) ? "取消重整" -+ : "復原刪字"; - wkeyhelp(menu_compose); - #ifdef _WINDOWS - /* When alt editor is available "Where is" is not on the menu -@@ -1159,11 +1159,11 @@ - } - - menu_yesno[1].name = "Y"; -- menu_yesno[1].label = (dflt == TRUE) ? "[Yes]" : "Yes"; -+ menu_yesno[1].label = (dflt == TRUE) ? "[是]" : "是"; - menu_yesno[6].name = "^C"; -- menu_yesno[6].label = "Cancel"; -+ menu_yesno[6].label = "取消"; - menu_yesno[7].name = "N"; -- menu_yesno[7].label = (dflt == FALSE) ? "[No]" : "No"; -+ menu_yesno[7].label = (dflt == FALSE) ? "[否]" : "否"; - wkeyhelp(menu_yesno); /* paint generic menu */ - sgarbk = TRUE; /* mark menu dirty */ - if(Pmaster && curwp) -@@ -1177,7 +1177,7 @@ - switch(GetKey()){ - case (CTRL|'M') : /* default */ - if(dflt >= 0){ -- pputs((dflt) ? "Yes" : "No", 1); -+ pputs((dflt) ? "是" : "否", 1); - rv = dflt; - } - else -@@ -1194,14 +1194,14 @@ - case 'y' : - case 'Y' : - case F3 : -- pputs("Yes", 1); -+ pputs("是", 1); - rv = TRUE; - break; - - case 'n' : - case 'N' : - case F4 : -- pputs("No", 1); -+ pputs("否", 1); - rv = FALSE; - break; - -@@ -1329,7 +1329,7 @@ - #endif - - menu_mlreply[0].name = "^G"; -- menu_mlreply[0].label = "Get Help"; -+ menu_mlreply[0].label = "輔助說明"; - KS_OSDATASET(&menu_mlreply[0], KS_SCREENHELP); - for(j = 0, i = 1; i < 6; i++){ /* insert odd extras */ - menu_mlreply[i].name = NULL; -@@ -1349,7 +1349,7 @@ - } - - menu_mlreply[6].name = "^C"; -- menu_mlreply[6].label = "Cancel"; -+ menu_mlreply[6].label = "取消"; - KS_OSDATASET(&menu_mlreply[6], KS_NONE); - for(j = 0, i = 7; i < 12; i++){ /* insert even extras */ - menu_mlreply[i].name = NULL; diff --git a/chinese/pine4/files/patch-al b/chinese/pine4/files/patch-al deleted file mode 100644 index 3fc6bd68ace4..000000000000 --- a/chinese/pine4/files/patch-al +++ /dev/null @@ -1,11 +0,0 @@ ---- pico/ebind.h.orig Sat Feb 28 08:10:31 1998 -+++ pico/ebind.h Thu Oct 14 10:53:41 1999 -@@ -145,7 +145,7 @@ - {CTRL|'O', filewrite}, - {CTRL|'P', backline}, - {CTRL|'R', insfile}, --#ifdef SPELLER -+#if defined(SPELLER) && !defined(__FreeBSD__) - {CTRL|'T', spell}, - #endif /* SPELLER */ - {CTRL|'U', yank}, diff --git a/chinese/pine4/files/patch-am b/chinese/pine4/files/patch-am deleted file mode 100644 index 86f1c7b64d95..000000000000 --- a/chinese/pine4/files/patch-am +++ /dev/null @@ -1,11 +0,0 @@ ---- pico/edef.h.orig Thu Apr 23 07:53:44 1998 -+++ pico/edef.h Thu Oct 14 10:53:41 1999 -@@ -59,7 +59,7 @@ - int ComposerEditing = FALSE; /* TRUE if message line is open */ - int revexist = FALSE; /* does reverse video exist? */ - char modecode[] = "WCSEVO"; /* letters to represent modes */ --long gmode = MDWRAP; /* global editor mode */ -+long gmode = MDWRAP | MDTCAPWINS; /* global editor mode */ - int sgarbf = TRUE; /* TRUE if screen is garbage */ - int mpresf = FALSE; /* TRUE if message in last line */ - int clexec = FALSE; /* command line execution flag */ diff --git a/chinese/pine4/files/patch-an b/chinese/pine4/files/patch-an deleted file mode 100644 index 1c4d0e07b89c..000000000000 --- a/chinese/pine4/files/patch-an +++ /dev/null @@ -1,11 +0,0 @@ ---- pico/estruct.h.orig Tue Oct 5 04:02:41 1999 -+++ pico/estruct.h Thu Oct 14 10:53:41 1999 -@@ -130,7 +130,7 @@ - #define LOBIT_CHAR(C) ((C) > 0x1f && (C) < 0x7f) - #define HIBIT_CHAR(C) ((C) > 0x7f && (C) <= 0xff) - #define HIBIT_OK(C) (!(gmode & MDHBTIGN)) --#define VALID_KEY(C) (LOBIT_CHAR(C) || (HIBIT_OK(C) && HIBIT_CHAR(C))) -+#define VALID_KEY(C) (((C) & 0x80) ? 1 : LOBIT_CHAR(C)) - #define ctrl(c) ((c) & 0x1f) /* control character mapping */ - - #define STDIN_FD 0 diff --git a/chinese/pine4/files/patch-ao b/chinese/pine4/files/patch-ao deleted file mode 100644 index a8fc50f65d57..000000000000 --- a/chinese/pine4/files/patch-ao +++ /dev/null @@ -1,272 +0,0 @@ ---- pico/file.c.orig Tue Mar 23 09:26:04 1999 -+++ pico/file.c Thu Oct 14 10:53:41 1999 -@@ -63,17 +63,17 @@ - return(s); - - if(gmode&MDSCUR){ -- emlwrite("File reading disabled in secure mode",NULL); -+ emlwrite("安全模式中已關閉讀取檔案的功\能",NULL); - return(0); - } - - if (strlen(fname) == 0) { -- emlwrite("No file name entered",NULL); -+ emlwrite("尚未輸入檔案名",NULL); - return(0); - } - - if((gmode & MDTREE) && !in_oper_tree(fname)){ -- emlwrite("Can't read file from outside of %s", opertree); -+ emlwrite("無法讀取 %s 以外的檔案", opertree); - return(0); - } - -@@ -137,13 +137,13 @@ - - menu_ins[last_menu].name = "^T"; - menu_ins[last_menu].key = (CTRL|'T'); -- menu_ins[last_menu].label = "To Files"; -+ menu_ins[last_menu].label = "檔案列表"; - KS_OSDATASET(&menu_ins[last_menu], KS_NONE); - - if(Pmaster && Pmaster->msgntext){ - menu_ins[++last_menu].name = "^W"; - menu_ins[last_menu].key = (CTRL|'W'); -- menu_ins[last_menu].label = msg ? "InsertFile" : "InsertMsg"; -+ menu_ins[last_menu].label = msg ? "插入檔案" : "插入訊息"; - KS_OSDATASET(&menu_ins[last_menu], KS_NONE); - } - -@@ -159,44 +159,43 @@ - if(gmode & MDCMPLT){ - menu_ins[++last_menu].name = msg ? "" : "TAB"; - menu_ins[last_menu].key = (CTRL|'I'); -- menu_ins[last_menu].label = msg ? "" : "Complete"; -+ menu_ins[last_menu].label = msg ? "" : "完成"; - KS_OSDATASET(&menu_ins[last_menu], KS_NONE); - } - - menu_ins[++last_menu].name = NULL; - } - -- sprintf(prompt, "%s to insert from %s %s: ", -- msg ? "Number of message" : "File", -+ sprintf(prompt, "自%s%s插入的%s:", - (msg || (gmode&MDCURDIR)) -- ? "current" -- : ((gmode & MDTREE) || opertree[0]) ? opertree : "home", -- msg ? "folder" : "directory"); -+ ? "目前的" -+ : ((gmode & MDTREE) || opertree[0]) ? opertree : "家", -+ msg ? "檔案匣" : "目錄", msg ? "信件編號" : "檔案"); - s = mlreplyd(prompt, fname, NLINE, QDEFLT, msg ? NULL : menu_ins); - /* something to read and it was edited or the default accepted */ - if(fname[0] && (s == TRUE || s == FALSE)){ - bye++; - if(msg){ - if((*Pmaster->msgntext)(atol(fname), insmsgchar)) -- emlwrite("Message %s included", fname); -+ emlwrite("信件 %s 已含入", fname); - } - else{ - bye++; - if(gmode&MDSCUR){ -- emlwrite("Can't insert file in restricted mode",NULL); -+ emlwrite("在限制模式中無法插入檔案",NULL); - } - else{ - if((gmode & MDTREE) - && !compresspath(opertree, fname, NLINE)){ - emlwrite( -- "Can't insert file from outside of %s: too many ..'s", -+ "無法在 %s 以外的地方插入檔案:太多 .. 了", - opertree); - } - else{ - fixpath(fname, NLINE); - - if((gmode & MDTREE) && !in_oper_tree(fname)) -- emlwrite("Can't insert file from outside of %s", -+ emlwrite("無法在 %s 以外的地方插入檔案", - opertree); - else - retval = ifile(fname); -@@ -255,7 +254,7 @@ - break; - case (CTRL|'T'): - if(msg){ -- emlwrite("Can't select messages yet!", NULL); -+ emlwrite("還無法選擇信件!", NULL); - } - else{ - if(*fname && isdir(fname, NULL, NULL)) -@@ -270,7 +269,7 @@ - if((s = FileBrowse(dir, NLINE, fname, NLINE, - NULL, FB_READ)) == 1){ - if(gmode&MDSCUR){ -- emlwrite("Can't insert in restricted mode", -+ emlwrite("在限制模式中無法插入", - NULL); - sleep(2); - } -@@ -311,7 +310,7 @@ - - if(gmode&MDSCUR){ - emlwrite( -- "\007Restricted mode disallows uploaded command", -+ "\007限制模式中不允許\上載", - NULL); - return(0); - } -@@ -411,20 +410,20 @@ - strcpy(curbp->b_fname, fname); - if ((s=ffropen(fname)) != FIOSUC){ /* Hard file open. */ - if(s == FIOFNF) /* File not found. */ -- emlwrite("New file", NULL); -+ emlwrite("新檔", NULL); - else - fioperr(s, fname); - } - else{ -- emlwrite("Reading file", NULL); -+ emlwrite("讀取檔案", NULL); - nline = 0L; - done = newline = 0; - while(!done) - if((s = ffgetline(line, NLINE, 1)) == FIOEOF){ - curbp->b_flag &= ~(BFTEMP|BFCHG); - gotobob(FALSE, 1); -- sprintf(line,"Read %d line%s", -- nline, (nline > 1) ? "s" : ""); -+ sprintf(line,"讀取第 %d 行", -+ nline); - emlwrite(line, NULL); - break; - } -@@ -482,14 +481,14 @@ - fname[0] = '\0'; - - menu_write[0].name = "^T"; -- menu_write[0].label = "To Files"; -+ menu_write[0].label = "檔案列表"; - menu_write[0].key = (CTRL|'T'); - menu_write[1].name = "TAB"; -- menu_write[1].label = "Complete"; -+ menu_write[1].label = "完成"; - menu_write[1].key = (CTRL|'I'); - menu_write[2].name = NULL; - for(;!(gmode & MDTOOL);){ -- s = mlreplyd("File Name to write : ", fname, NFILEN, -+ s = mlreplyd("欲寫入的檔名:", fname, NFILEN, - QDEFLT|QFFILE, menu_write); - - switch(s){ -@@ -500,7 +499,7 @@ - } - case TRUE: - if((gmode & MDTREE) && !compresspath(opertree, fname, NFILEN)){ -- emlwrite("Can't write outside of %s: too many ..'s", -+ emlwrite("無法寫入 %s 以外的檔案:太多 .. 了", - opertree); - sleep(2); - continue; -@@ -508,7 +507,7 @@ - else{ - fixpath(fname, NFILEN); /* fixup ~ in file name */ - if((gmode & MDTREE) && !in_oper_tree(fname)){ -- emlwrite("Can't write outside of %s", opertree); -+ emlwrite("無法寫入 %s 以外的檔案", opertree); - sleep(2); - continue; - } -@@ -592,12 +591,12 @@ - strcpy(fname, shows); - } - else { -- emlwrite("Cannot write. File name too long!!",NULL); -+ emlwrite("無法寫入。檔名過長!",NULL); - sleep(3); - } - } - else if (s == -1){ -- emlwrite("Cannot write. File name too long!!",NULL); -+ emlwrite("無法寫入。檔名過長!",NULL); - sleep(3); - } - refresh(FALSE, 1); -@@ -635,7 +634,7 @@ - return(ABORT); - } - } -- emlwrite("Writing...", NULL); -+ emlwrite("正在寫入...", NULL); - - if ((s=writeout(fname, 0)) != -1) { - if(!(gmode&MDTOOL)){ -@@ -652,9 +651,9 @@ - } - - if(s > 1) -- emlwrite("Wrote %d lines", (void *)s); -+ emlwrite("寫入 %d 行", (void *)s); - else -- emlwrite("Wrote 1 line", NULL); -+ emlwrite("寫入 1 行", NULL); - } - return ((s == -1) ? FALSE : TRUE); - } -@@ -680,12 +679,12 @@ - if ((curbp->b_flag&BFCHG) == 0) /* Return, no changes. */ - return (TRUE); - if (curbp->b_fname[0] == 0) { /* Must have a name. */ -- emlwrite("No file name", NULL); -+ emlwrite("沒有檔名", NULL); - sleep(2); - return (FALSE); - } - -- emlwrite("Writing...", NULL); -+ emlwrite("正在寫入...", NULL); - if ((s=writeout(curbp->b_fname, 0)) != -1) { - curbp->b_flag &= ~BFCHG; - wp = wheadp; /* Update mode lines. */ -@@ -696,10 +695,10 @@ - wp = wp->w_wndp; - } - if(s > 1){ -- emlwrite("Wrote %d lines", (void *)s); -+ emlwrite("寫入 %d 行", (void *)s); - } - else -- emlwrite("Wrote 1 line", NULL); -+ emlwrite("寫入 1 行", NULL); - } - return (s); - } -@@ -818,7 +817,7 @@ - curbp->b_flag &= ~BFTEMP; /* and are not temporary*/ - curbp->b_linecnt = -1; /* must be recalculated */ - -- emlwrite("Inserting %s.", fname); -+ emlwrite("正在插入 %s。", fname); - done = newline = 0; - nline = 0L; - while(!done) -@@ -828,7 +827,7 @@ - else - forwchar(FALSE, 1); - -- sprintf(line,"Inserted %d line%s", nline, (nline>1) ? "s" : ""); -+ sprintf(line,"已插入 %d 行", nline); - emlwrite(line, NULL); - break; - } -@@ -916,7 +915,7 @@ - strcat(fn, S_FILESEP); - } - else{ -- emlwrite("File name too BIG!!",0); -+ emlwrite("檔名太大了!!",0); - sleep(3); - *fn = '\0'; - } diff --git a/chinese/pine4/files/patch-ap b/chinese/pine4/files/patch-ap deleted file mode 100644 index 08b06bcef213..000000000000 --- a/chinese/pine4/files/patch-ap +++ /dev/null @@ -1,20 +0,0 @@ ---- pico/main.c.orig Fri Sep 24 05:44:10 1999 -+++ pico/main.c Thu Oct 14 10:53:41 1999 -@@ -66,7 +66,7 @@ - { F9, (CTRL|'K')}, - { F10, (CTRL|'U')}, - { F11, (CTRL|'C')}, --#ifdef SPELLER -+#if defined(SPELLER) && !defined(__FreeBSD__) - { F12, (CTRL|'T')} - #else - { F12, (CTRL|'D')} -@@ -459,7 +459,7 @@ - gmode ^= MDSSPD; - break; - case 'q': /* -q for termcap takes precedence */ -- gmode ^= MDTCAPWINS; -+ gmode |= MDTCAPWINS; - break; - case 'w': /* -w turn off word wrap */ - gmode ^= MDWRAP; diff --git a/chinese/pine4/files/patch-aq b/chinese/pine4/files/patch-aq deleted file mode 100644 index 9dbff8413d32..000000000000 --- a/chinese/pine4/files/patch-aq +++ /dev/null @@ -1,117 +0,0 @@ ---- pico/pico.c.orig Fri Jun 11 06:56:16 1999 -+++ pico/pico.c Thu Oct 14 10:53:41 1999 -@@ -313,7 +313,7 @@ - c = GetKey(); - if (term.t_nrow < 6 && c != NODATA){ - (*term.t_beep)(); -- emlwrite("Please make the screen bigger.", NULL); -+ emlwrite("請將畫面調大一些。", NULL); - continue; - } - -@@ -555,9 +555,9 @@ - } - - if(c&CTRL) -- emlwrite("\007Unknown Command: ^%c", (void *)(c&0xff)); -+ emlwrite("\007未知的命令:^%c", (void *)(c&0xff)); - else -- emlwrite("\007Unknown Command", NULL); -+ emlwrite("\007未知的命令", NULL); - - lastflag = 0; /* Fake last flags. */ - return (FALSE); -@@ -610,7 +610,7 @@ - return(TRUE); - } - else{ -- emlwrite("Cancel Cancelled", NULL); -+ emlwrite("取消", NULL); - curwp->w_flag |= WFMODE; /* and modeline so we */ - sgarbk = TRUE; /* redraw the keymenu */ - pclear(term.t_nrow - 1, term.t_nrow + 1); -@@ -619,17 +619,17 @@ - } - } - else switch(mlyesno(Pmaster->headents -- ? "Cancel message (answering \"Yes\" will abandon your mail message)" -+ ? "\"取消\"這個動作將會放棄你目前的信件。確定取消嗎" - : (anycb() == FALSE) -- ? "Cancel Edit (and abandon changes)" -- : "Cancel Edit", -+ ? "取消編輯(並放棄所有的改變)" -+ : "取消編輯", - FALSE)){ - case TRUE: - pico_all_done = COMP_CANCEL; - return(TRUE); - - case ABORT: -- emlwrite("\007Cancel Cancelled", NULL); -+ emlwrite("\007取消", NULL); - break; - - default: -@@ -667,7 +667,7 @@ - - /* First, make sure there are no outstanding problems */ - if(AttachError()){ -- emlwrite("\007Problem with attachments! Fix errors or delete attachments.", NULL); -+ emlwrite("\007有問題的附件! 請修復或刪除該附件。", NULL); - return(FALSE); - } - -@@ -701,7 +701,7 @@ - if (f != FALSE /* Argument forces it. */ - || anycb() == FALSE /* All buffers clean. */ - /* User says it's OK. */ -- || (s=mlyesno("Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES)", -1)) == FALSE) { -+ || (s=mlyesno("存入更改過的緩衝區 (回答 \"No\" 將清除所有已做過的修改)", -1)) == FALSE) { - vttidy(); - #if defined(USE_TERMCAP) || defined(USE_TERMINFO) || defined(VMS) - kbdestroy(kbesc); -@@ -714,7 +714,7 @@ - wquit(1, 0); - } - else if(s == ABORT){ -- emlwrite("Exit cancelled", NULL); -+ emlwrite("取消離開", NULL); - if(term.t_mrow == 0) - curwp->w_flag |= WFHARD; /* cause bottom 3 lines to paint */ - } -@@ -748,7 +748,7 @@ - ctrlg(f, n) - int f, n; - { -- emlwrite("Cancelled", NULL); -+ emlwrite("取消", NULL); - return (ABORT); - } - -@@ -759,7 +759,7 @@ - rdonly() - { - (*term.t_beep)(); -- emlwrite("Key illegal in VIEW mode", NULL); -+ emlwrite("這不是一個在 VIEW 模式中合法的命令", NULL); - return(FALSE); - } - -@@ -1323,7 +1323,7 @@ - wp->doto = 0; - } - else -- emlwrite("Can't allocate space for text", NULL); -+ emlwrite("無法配置文字的記憶體空間", NULL); - - return((void *)wp); - } -@@ -1411,7 +1411,7 @@ - register LINE *lp; - - if((lp = lalloc(0)) == NULL){ -- emlwrite("Can't allocate space for more characters",NULL); -+ emlwrite("無法配置記憶體空間給更多的字元",NULL); - return(0); - } - diff --git a/chinese/pine4/files/patch-ar b/chinese/pine4/files/patch-ar deleted file mode 100644 index 2124b48d896b..000000000000 --- a/chinese/pine4/files/patch-ar +++ /dev/null @@ -1,11 +0,0 @@ ---- pico/pilot.c.orig Tue Aug 25 01:37:39 1998 -+++ pico/pilot.c Thu Oct 14 10:53:42 1999 -@@ -222,7 +222,7 @@ - sup_keyhelp = !sup_keyhelp; - break; - case 'q': /* -q for termcap takes precedence */ -- gmode ^= MDTCAPWINS; -+ gmode |= MDTCAPWINS; - break; - case 'z': /* -z to suspend */ - gmode ^= MDSSPD; diff --git a/chinese/pine4/files/patch-as b/chinese/pine4/files/patch-as deleted file mode 100644 index d3c4726ef8ea..000000000000 --- a/chinese/pine4/files/patch-as +++ /dev/null @@ -1,233 +0,0 @@ ---- pico/search.c.orig Tue Oct 5 05:49:41 1999 -+++ pico/search.c Thu Oct 14 11:36:00 1999 -@@ -131,9 +131,9 @@ - while(1){ - - if (gmode & MDREPLACE) -- status = srpat("Search", defpat, repl_mode); -+ status = srpat("搜尋", defpat, repl_mode); - else -- status = readpattern("Search", TRUE); -+ status = readpattern("搜尋", TRUE); - - switch(status){ - case TRUE: /* user typed something */ -@@ -146,14 +146,14 @@ - - saved_state = save_pico_state(); - (*Pmaster->helper)(Pmaster->search_help, -- "Help for Searching", 1); -+ "搜尋的輔助說明", 1); - if(saved_state){ - restore_pico_state(saved_state); - free_pico_state(saved_state); - } - } - else -- pico_help(SearchHelpText, "Help for Searching", 1); -+ pico_help(SearchHelpText, "搜尋的輔助說明", 1); - - case (CTRL|'L'): /* redraw requested */ - refresh(FALSE, 1); -@@ -235,7 +235,7 @@ - - default: - if(status == ABORT) -- emlwrite("Search Cancelled", NULL); -+ emlwrite("取消搜尋", NULL); - else - mlerase(); - -@@ -283,16 +283,16 @@ - - /* and complain if not there */ - if (status == FALSE){ -- emlwrite("\"%s\" not found", defpat); -+ emlwrite("找不到 \"%s\"", defpat); - } - else if((gmode & MDREPLACE) && repl_mode == TRUE){ - status = replace_pat(defpat, &wrapt2); /* replace pattern */ - if (wrapt == TRUE || wrapt2 == TRUE) -- emlwrite("Replacement %srapped", -- (status == ABORT) ? "cancelled but w" : "W"); -+ emlwrite("取代%s由檔案起始從頭搜尋", -+ (status == ABORT) ? "已取消,但" : ""); - } - else if(wrapt == TRUE){ -- emlwrite("Search Wrapped", NULL); -+ emlwrite("從頭搜尋", NULL); - } - else if(status == TRUE){ - emlwrite("", NULL); -@@ -321,7 +321,7 @@ - /* additional 'replace all' menu option */ - menu_pat[0].name = "^X"; - menu_pat[0].key = (CTRL|'X'); -- menu_pat[0].label = "Repl All"; -+ menu_pat[0].label = "取代所有"; - KS_OSDATASET(&menu_pat[0], KS_NONE); - menu_pat[1].name = NULL; - -@@ -333,10 +333,10 @@ - pputs(origpat, 1); /* highlight word */ - (*term.t_rev)(0); - -- sprintf(prompt, "Replace%s \"", repl_all ? " every" : ""); -+ sprintf(prompt, "取代%s \"", repl_all ? "每一個" : ""); - - expandp(&defpat[0], &prompt[strlen(prompt)], NPAT/2); -- strcat(prompt, "\" with"); -+ strcat(prompt, "\" 為"); - if(rpat[0] != 0){ - strcat(prompt, " ["); - expandp(rpat, &prompt[strlen(prompt)], NPAT/2); -@@ -378,14 +378,14 @@ - - saved_state = save_pico_state(); - (*Pmaster->helper)(Pmaster->search_help, -- "Help for Searching", 1); -+ "搜尋的輔助說明", 1); - if(saved_state){ - restore_pico_state(saved_state); - free_pico_state(saved_state); - } - } - else -- pico_help(SearchHelpText, "Help for Searching", 1); -+ pico_help(SearchHelpText, "搜尋的輔助說明", 1); - - case (CTRL|'L'): /* redraw requested */ - refresh(FALSE, 1); -@@ -395,18 +395,18 @@ - case (CTRL|'X'): /* toggle replace all option */ - if (repl_all){ - repl_all = FALSE; -- menu_pat[0].label = "Repl All"; -+ menu_pat[0].label = "取代所有"; - } - else{ - repl_all = TRUE; -- menu_pat[0].label = "Repl One"; -+ menu_pat[0].label = "取代一個"; - } - - break; - - default: - if(status == ABORT) -- emlwrite("Replacement Cancelled", NULL); -+ emlwrite("取消取代", NULL); - else - mlerase(); - chword(defpat, origpat); -@@ -455,9 +455,9 @@ - (*term.t_rev)(0); - fflush(stdout); - -- strcpy(prompt, "Replace \""); -+ strcpy(prompt, "取代 \""); - expandp(&orig[0], &prompt[strlen(prompt)], NPAT/2); -- strcat(prompt, "\" with \""); -+ strcat(prompt, "\" 為 \""); - expandp(&repl[0], &prompt[strlen(prompt)], NPAT/2); - strcat(prompt, "\""); - -@@ -471,13 +471,13 @@ - chword(realpat, realpat); /* replace word by itself */ - update(); - if(status == ABORT){ /* if cancelled return */ -- emlwrite("Replace All cancelled after %d changes", (char *) n); -+ emlwrite("在取消「取代所有」之前,已做過 %d 個改變", (char *) n); - return (ABORT); /* ... else keep looking */ - } - } - } - else{ -- emlwrite("No more matches for \"%s\"", orig); -+ emlwrite("沒有符合 \"%s\" 的字串了", orig); - return (FALSE); - } - } -@@ -495,33 +495,33 @@ - EXTRAKEYS menu_pat[7]; - - menu_pat[i = 0].name = "^Y"; -- menu_pat[i].label = "FirstLine"; -+ menu_pat[i].label = "第一行"; - menu_pat[i].key = (CTRL|'Y'); - KS_OSDATASET(&menu_pat[i], KS_NONE); - - menu_pat[++i].name = "^V"; -- menu_pat[i].label = "LastLine"; -+ menu_pat[i].label = "最後一行"; - menu_pat[i].key = (CTRL|'V'); - KS_OSDATASET(&menu_pat[i], KS_NONE); - - menu_pat[++i].name = "^R"; -- menu_pat[i].label = repl_mode ? "No Replace" : "Replace"; -+ menu_pat[i].label = repl_mode ? "不取代" : "取代"; - menu_pat[i].key = (CTRL|'R'); - KS_OSDATASET(&menu_pat[i], KS_NONE); - - if(!repl_mode){ - menu_pat[++i].name = "^T"; -- menu_pat[i].label = "LineNumber"; -+ menu_pat[i].label = "行號"; - menu_pat[i].key = (CTRL|'T'); - KS_OSDATASET(&menu_pat[i], KS_NONE); - - menu_pat[++i].name = "^W"; -- menu_pat[i].label = "Start of Para"; -+ menu_pat[i].label = "段落起始"; - menu_pat[i].key = (CTRL|'W'); - KS_OSDATASET(&menu_pat[i], KS_NONE); - - menu_pat[++i].name = "^O"; -- menu_pat[i].label = "End of Para"; -+ menu_pat[i].label = "段落結尾"; - menu_pat[i].key = (CTRL|'O'); - KS_OSDATASET(&menu_pat[i], KS_NONE); - } -@@ -577,7 +577,7 @@ - EXTRAKEYS menu_pat[2]; - - menu_pat[i = 0].name = "^T"; -- menu_pat[i].label = "No Line Number"; -+ menu_pat[i].label = "無行號"; - menu_pat[i].key = (CTRL|'T'); - KS_OSDATASET(&menu_pat[i++], KS_NONE); - -@@ -622,28 +622,28 @@ - EXTRAKEYS menu_pat[6]; - - menu_pat[i = 0].name = "^Y"; -- menu_pat[i].label = "FirstLine"; -+ menu_pat[i].label = "第一行"; - menu_pat[i].key = (CTRL|'Y'); - KS_OSDATASET(&menu_pat[i], KS_NONE); - - menu_pat[++i].name = "^V"; -- menu_pat[i].label = "LastLine"; -+ menu_pat[i].label = "最後一行"; - menu_pat[i].key = (CTRL|'V'); - KS_OSDATASET(&menu_pat[i], KS_NONE); - - if(text_mode){ - menu_pat[++i].name = "^T"; -- menu_pat[i].label = "LineNumber"; -+ menu_pat[i].label = "行號"; - menu_pat[i].key = (CTRL|'T'); - KS_OSDATASET(&menu_pat[i], KS_NONE); - - menu_pat[++i].name = "^W"; -- menu_pat[i].label = "Start of Para"; -+ menu_pat[i].label = "段落起始"; - menu_pat[i].key = (CTRL|'W'); - KS_OSDATASET(&menu_pat[i], KS_NONE); - - menu_pat[++i].name = "^O"; -- menu_pat[i].label = "End of Para"; -+ menu_pat[i].label = "段落結尾"; - menu_pat[i].key = (CTRL|'O'); - KS_OSDATASET(&menu_pat[i], KS_NONE); - } diff --git a/chinese/pine4/files/patch-au b/chinese/pine4/files/patch-au deleted file mode 100644 index 53169b4651a0..000000000000 --- a/chinese/pine4/files/patch-au +++ /dev/null @@ -1,51 +0,0 @@ ---- pine/osdep/os-bsf.h.orig Thu Oct 8 05:51:40 1998 -+++ pine/osdep/os-bsf.h Thu Oct 14 10:53:42 1999 -@@ -74,7 +74,7 @@ - default-composer-hdrs or customized-hdrs to get at it. Instead of - defining NEVER_ALLOW_CHANGING_FROM, an easier way of preventing From - changing is to put the feature "no-allow-changing-from" in the -- /usr/local/lib/pine.conf.fixed file. -+ @@PREFIX@@/etc/pine.conf.fixed file. - ----*/ - /* #define NEVER_ALLOW_CHANGING_FROM */ - -@@ -87,7 +87,7 @@ - NOTE: You'll also have to make sure the appropriate osdep/postreap.* - file is included in the os-*.ic file for your system. - ----*/ --/* #define BACKGROUND_POST */ -+/* #define BACKGROUND_POST /* comment out to disable posting from child */ - - - -@@ -160,8 +160,8 @@ - - - /*----- System-wide config file ----------------------------------------*/ --#define SYSTEM_PINERC "/usr/local/lib/pine.conf" --#define SYSTEM_PINERC_FIXED "/usr/local/lib/pine.conf.fixed" -+#define SYSTEM_PINERC "@@PREFIX@@/etc/pine.conf" -+#define SYSTEM_PINERC_FIXED "@@PREFIX@@/etc/pine.conf.fixed" - - - -@@ -219,7 +219,9 @@ - /*---------------------------------------------------------------------- - If no nntp-servers are defined, this program will be used to post news. - ----*/ --#define SENDNEWS "/usr/local/news/inews -h" -+#define SENDNEWS "/usr/local/news/inews -h" /* For NN inews */ -+/*#define SENDNEWS "/usr/local/bin/inews -h" /* For INN inews */ -+/*#define SENDNEWS "/usr/local/bin/inews -h" /* For Cnews inews */ - - - /*--------- Program employed by users to change their password ---------*/ -@@ -268,7 +270,7 @@ - 8 - 9 logs gross details of command execution - ----*/ --#define DEFAULT_DEBUG 2 -+#define DEFAULT_DEBUG 0 - - - diff --git a/chinese/pine4/files/patch-av b/chinese/pine4/files/patch-av deleted file mode 100644 index 2c40253ce567..000000000000 --- a/chinese/pine4/files/patch-av +++ /dev/null @@ -1,1435 +0,0 @@ ---- pine/addrbook.c.orig Fri Sep 10 05:35:09 1999 -+++ pine/addrbook.c Thu Oct 14 11:37:56 1999 -@@ -129,14 +129,14 @@ - char *pcpine_help_addrbook PROTO((char *)); - #endif - --#define CLICKHERE "[ Address List ]" --#define EMPTY "[ Empty ]" --#define ZOOM_EMPTY "[ No Selected Entries in this Address Book ]" --#define ADD_PERSONAL " [ Move here to add a Personal Address Book ]" --#define ADD_GLOBAL " [ Move here to add a Global Address Book ]" --#define DISTLIST "DISTRIBUTION LIST:" --#define NOABOOKS "[ No Address Book Configured ]" --#define CLICKHERECMB "[ Select Here to See Expanded List ]" -+#define CLICKHERE "[ 地址列表 ]" -+#define EMPTY "[ 沒有任何項目 ]" -+#define ZOOM_EMPTY "[ 本列表中沒有任何已被選取的項目 ]" -+#define ADD_PERSONAL " [ 移到這裡加入一個個人的地址簿 ]" -+#define ADD_GLOBAL " [ 移到這裡加入一個整體的地址簿 ]" -+#define DISTLIST "分類列表:" -+#define NOABOOKS "[ 沒有已經設定好的地址簿 ]" -+#define CLICKHERECMB "[ 選這裡以檢視展開後的列表 ]" - - - /* -@@ -287,7 +287,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; -@@ -357,7 +357,7 @@ - - if(column == 0){ - q_status_message(SM_ORDER, 0, 4, -- "address-book-formats has no recognizable words, using default format"); -+ "由於在地址簿格式中找不到足以辨識的字,因此使用預設模式"); - goto assign_default; - } - -@@ -599,7 +599,7 @@ - } - else{ - q_status_message(SM_ORDER | SM_DING, 5, 10, -- "Bug in addrbook, not supposed to happen, re-syncing..."); -+ "地址簿功\能中出現未預期的錯誤,重新同步中..."); - dprint(1, - (debugfile, - "Bug in addrbook (null dlc in dlist(%ld), not supposed to happen\n", -@@ -1705,14 +1705,14 @@ - 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(); - } - - ab_nesting_level = 1; /* come here only from main menu */ - -- (void)addr_book(AddrBookScreen, "ADDRESS BOOK", NULL); -+ (void)addr_book(AddrBookScreen, "地址簿", NULL); - end_adrbks(); - - pine_state->prev_screen = addr_book_screen; -@@ -1728,14 +1728,14 @@ - 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_config!\n")); - addrbook_reset(); - } - - ab_nesting_level = 1; - -- (void)addr_book(AddrBookConfig, "SETUP ADDRESS BOOKS", NULL); -+ (void)addr_book(AddrBookConfig, "設定地址簿", NULL); - end_adrbks(); - - pine_state->prev_screen = addr_book_screen; -@@ -1759,7 +1759,7 @@ - save_nesting_level = cpyint(ab_nesting_level); - 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_oneaddr!\n")); - addrbook_reset(); -@@ -1768,7 +1768,7 @@ - - ab_nesting_level++; - -- p = addr_book(SelectAddr, "SELECT ADDRESS", NULL); -+ p = addr_book(SelectAddr, "選擇地址", NULL); - - if(ab_nesting_level <= 1) - end_adrbks(); -@@ -1844,7 +1844,7 @@ - save_nesting_level = cpyint(ab_nesting_level); - 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(); -@@ -1853,7 +1853,7 @@ - - ab_nesting_level++; - -- p = addr_book(SelectNicksCom, "COMPOSER: SELECT ADDRESS", error); -+ p = addr_book(SelectNicksCom, "編輯器:選擇列表", error); - - if(ab_nesting_level <= 1) - end_adrbks(); -@@ -1888,7 +1888,7 @@ - save_nesting_level = cpyint(ab_nesting_level); - 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(); -@@ -1901,7 +1901,7 @@ - * We used to use SelectAddrLccCom here but decided it wasn't necessary - * to restrict the selection to a list. - */ -- p = addr_book(SelectNicksCom, "COMPOSER: SELECT LIST", error); -+ p = addr_book(SelectNicksCom, "編輯器:選擇列表", error); - - if(ab_nesting_level <= 1) - end_adrbks(); -@@ -1936,7 +1936,7 @@ - save_nesting_level = cpyint(ab_nesting_level); - 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(); -@@ -1945,7 +1945,7 @@ - - ab_nesting_level++; - -- p = addr_book(SelectNicksCom, "ADDRESS BOOK (Update): SELECT ADDRESSES", -+ p = addr_book(SelectNicksCom, "地址簿 (更新):選擇地址", - error); - - if(ab_nesting_level <= 1) -@@ -1978,7 +1978,7 @@ - save_nesting_level = cpyint(ab_nesting_level); - 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_bounce!\n")); - addrbook_reset(); -@@ -1987,7 +1987,7 @@ - - ab_nesting_level++; - -- p = addr_book(SelectManyNicks, "SELECT ADDRESSES", NULL); -+ p = addr_book(SelectManyNicks, "選擇地址", NULL); - - if(ab_nesting_level <= 1) - end_adrbks(); -@@ -2019,7 +2019,7 @@ - save_nesting_level = cpyint(ab_nesting_level); - 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(); -@@ -2028,7 +2028,7 @@ - - ab_nesting_level++; - -- p = addr_book(SelectNickTake, "TAKEADDR: SELECT NICKNAME", NULL); -+ p = addr_book(SelectNickTake, "選擇地址:選擇暱稱", NULL); - - if(ab_nesting_level <= 1) - end_adrbks(); -@@ -2064,7 +2064,7 @@ - save_nesting_level = cpyint(ab_nesting_level); - 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(); -@@ -2079,7 +2079,7 @@ - * and this seemed to be the easiest way to accomplish that. - */ - as.n_serv = 0; -- p = addr_book(SelectNickCom, "SELECT NICKNAME", error); -+ p = addr_book(SelectNickCom, "選擇暱稱", error); - as.n_serv = save_n_serv; - - if(ab_nesting_level <= 1) -@@ -2112,7 +2112,7 @@ - save_nesting_level = cpyint(ab_nesting_level); - 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(); -@@ -2121,7 +2121,7 @@ - - ab_nesting_level++; - -- p = addr_book(SelectNick, "SELECT NICKNAME", NULL); -+ p = addr_book(SelectNick, "選擇暱稱", NULL); - - if(ab_nesting_level <= 1) - end_adrbks(); -@@ -2144,8 +2144,8 @@ - NULL_MENU, - NULL_MENU, - NULL_MENU, -- {"P", "PrevEntry", {MC_PREVITEM,1,{'p'}}, KS_NONE}, -- {"N", "NextEntry", {MC_NEXTITEM,1,{'n'}}, KS_NONE}, -+ {"P", "前一個項目", {MC_PREVITEM,1,{'p'}}, KS_NONE}, -+ {"N", "次一個項目", {MC_NEXTITEM,1,{'n'}}, KS_NONE}, - PREVPAGE_MENU, - NEXTPAGE_MENU, - NULL_MENU, -@@ -2168,10 +2168,10 @@ - - HELP_MENU, - OTHER_MENU, -- {";","Select",{MC_SELECT,1,{';'}},KS_NONE}, -- {"A","Apply",{MC_APPLY,1,{'a'}},KS_APPLY}, -- {":","SelectCur",{MC_SELCUR,1,{':'}},KS_SELECTCUR}, -- {"Z","ZoomMode",{MC_ZOOM,1,{'z'}},KS_NONE}, -+ {";","選擇",{MC_SELECT,1,{';'}},KS_NONE}, -+ {"A","套用",{MC_APPLY,1,{'a'}},KS_APPLY}, -+ {":","選擇目前的",{MC_SELCUR,1,{':'}},KS_SELECTCUR}, -+ {"Z","縮放模式",{MC_ZOOM,1,{'z'}},KS_NONE}, - NULL_MENU, - NULL_MENU, - NULL_MENU, -@@ -2303,7 +2303,7 @@ - if(!init_addrbooks(HalfOpen, 1, !as.config, !are_selecting)){ - if(are_selecting){ - q_status_message(SM_ORDER | SM_DING, 0, 4, -- "No Address Book Configured"); -+ "沒有已設定完成的地址簿"); - display_message(c); - sleep(2); - return NULL; -@@ -2311,7 +2311,7 @@ - else if(!as.config){ - ps->next_screen = main_menu_screen; - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "No Address Book Configured, Use SETUP Addressbook screen"); -+ "沒有已設定完成的地址簿,請用 SETUP Addressbook 功\能畫面"); - ps->mangled_screen = 1; - return NULL; - } -@@ -2321,7 +2321,7 @@ - readonly_warning(NO_DING, NULL); - else if(as.adrbks[0].access == NoAccess) - q_status_message(SM_ORDER, 0, 4, -- "AddressBook not accessible, permission denied"); -+ "地址簿禁止被存取"); - } - - erase_checks(); -@@ -2466,10 +2466,10 @@ - - if(style == AddrBookScreen){ - if(F_ON(F_CMBND_ABOOK_DISP,ps_global)) -- sprintf(buf, "ADDRESS BOOK%s", (as.n_addrbk > 1) ? "S" : ""); -+ sprintf(buf, "地址簿"); - else -- sprintf(buf, "ADDRESS BOOK%s%s%s", -- is_custom_title ? " <" : cur_is_open() ? "" : " LIST", -+ sprintf(buf, "地址簿%s%s%s", -+ is_custom_title ? " <" : cur_is_open() ? "" : "列表", - is_custom_title ? pab->nickname : "", - is_custom_title ? ">" : ""); - -@@ -2534,7 +2534,7 @@ - km->how_many = 1; - - clrbitn(OTHER_KEY, bitmap); -- menu_init_binding(km, 'E', MC_EXIT, "E", "Exit Setup", TWO_KEY); -+ menu_init_binding(km, 'E', MC_EXIT, "E", "離開", TWO_KEY); - KS_OSDATASET(&km->keys[TWO_KEY], KS_EXITMODE); - - /* -@@ -2547,22 +2547,22 @@ - clrbitn(THREE_KEY, bitmap); - menu_init_binding(km, 'A', MC_ADDABOOK, "A", - add_is_global(as.top_ent+as.cur_row) -- ? "[Add Glob Abook]" -- : "[Add Pers Abook]", -+ ? "[新增整體地址簿]" -+ : "[新增個人地址簿]", - ADD_KEY); - def_key = ADD_KEY; - } - else{ -- menu_init_binding(km, 'D', MC_DELABOOK, "D", "Del Abook", -+ menu_init_binding(km, 'D', MC_DELABOOK, "D", "刪除地址簿", - DELETE_KEY); -- menu_init_binding(km, '$', MC_SHUFFLE, "$", "Shuffle", -+ menu_init_binding(km, '$', MC_SHUFFLE, "$", "重整", - SENDTO_KEY); -- menu_init_binding(km, 'C', MC_EDITABOOK, "C", "[Change]", -+ menu_init_binding(km, 'C', MC_EDITABOOK, "C", "[修改]", - THREE_KEY); - menu_init_binding(km, 'A', MC_ADDABOOK, "A", - add_is_global(as.top_ent+as.cur_row) -- ? "Add Glob Abook" -- : "Add Pers Abook", -+ ? "新增整體地址簿" -+ : "新增個人地址簿", - ADD_KEY); - } - } -@@ -2575,7 +2575,7 @@ - * The OTHER_KEY is used as the Exit key in selection mode. - * This is because the TWO_KEY is being used for < actions. - */ -- menu_init_binding(km, 'E', MC_EXIT, "E", "ExitSelect", -+ menu_init_binding(km, 'E', MC_EXIT, "E", "離開", - OTHER_KEY); - KS_OSDATASET(&km->keys[OTHER_KEY], KS_EXITMODE); - -@@ -2595,8 +2595,8 @@ - clrbitn(TWO_KEY, bitmap); - else{ - menu_init_binding(km, '<', cmd, "<", -- cmd == MC_POPUP ? "AddressBkList" -- : "Unexpand", -+ cmd == MC_POPUP ? "地址簿列表" -+ : "復原展開", - TWO_KEY); - menu_add_binding(km, ',', cmd); - if(F_ON(F_ARROW_NAV,ps)) -@@ -2607,16 +2607,16 @@ - if(checkedn){ - if(entry_is_clickable_title(as.top_ent+as.cur_row)){ - menu_init_binding(km, 'S', MC_CHOICE, "S", -- "Select", TWO_KEY); -+ "選擇", TWO_KEY); - } - else{ - menu_init_binding(km, 'S', MC_CHOICE, "S", -- "[Select]", TWO_KEY); -+ "[選擇]", TWO_KEY); - def_key = TWO_KEY; - } - } - else -- menu_init_binding(km, 'S', MC_CHOICE, "S", "Select", -+ menu_init_binding(km, 'S', MC_CHOICE, "S", "選擇", - TWO_KEY); - } - else -@@ -2628,7 +2628,7 @@ - * key becomes the ViewAbook key. - */ - if(entry_is_askserver(as.top_ent+as.cur_row) && !as.checkboxes){ -- menu_init_binding(km, '>', MC_QUERY_SERV, ">", "[Search]", -+ menu_init_binding(km, '>', MC_QUERY_SERV, ">", "[搜尋]", - THREE_KEY); - menu_add_binding(km, 's', MC_QUERY_SERV); - menu_add_binding(km, '.', MC_QUERY_SERV); -@@ -2636,7 +2636,7 @@ - menu_add_binding(km, KEY_RIGHT, MC_QUERY_SERV); - } - else if(entry_is_clickable_title(as.top_ent+as.cur_row)){ -- menu_init_binding(km, '>', MC_OPENABOOK, ">", "[ViewAbook]", -+ menu_init_binding(km, '>', MC_OPENABOOK, ">", "[檢視地址簿]", - THREE_KEY); - menu_add_binding(km, 'v', MC_OPENABOOK); - menu_add_binding(km, '.', MC_OPENABOOK); -@@ -2644,7 +2644,7 @@ - menu_add_binding(km, KEY_RIGHT, MC_OPENABOOK); - } - else if(cur_is_open()){ -- menu_init_binding(km, 'S', MC_CHOICE, "S", "[Select]", -+ menu_init_binding(km, 'S', MC_CHOICE, "S", "[選取]", - THREE_KEY); - } - else -@@ -2657,7 +2657,7 @@ - */ - if(entry_is_clickable(as.top_ent+as.cur_row) && - !entry_is_clickable_title(as.top_ent+as.cur_row)){ -- menu_init_binding(km, '>', MC_EXPAND, ">", "Expand", -+ menu_init_binding(km, '>', MC_EXPAND, ">", "展開", - SENDTO_KEY); - menu_add_binding(km, '.', MC_EXPAND); - if(F_ON(F_ARROW_NAV,ps)) -@@ -2667,12 +2667,12 @@ - clrbitn(SENDTO_KEY, bitmap); - - if(cur_is_open() && as.checkboxes){ -- menu_init_binding(km, 'X', MC_TOGGLE, "X", "Set/Unset", -+ menu_init_binding(km, 'X', MC_TOGGLE, "X", "設定/解除設定", - DELETE_KEY); - - } - else if(cur_is_open() && listmode_ok){ -- menu_init_binding(km, 'L', MC_LISTMODE, "L", "ListMode", -+ menu_init_binding(km, 'L', MC_LISTMODE, "L", "列表模式", - DELETE_KEY); - } - else -@@ -2689,7 +2689,7 @@ - * reasonable function call. - */ - km->keys[OTHER_KEY].name = "O"; -- km->keys[OTHER_KEY].label = "OTHER CMDS"; -+ km->keys[OTHER_KEY].label = "其他命令"; - km->keys[OTHER_KEY].bind.cmd = MC_OTHER; - km->keys[OTHER_KEY].bind.ch[0] = 'O'; - km->keys[OTHER_KEY].bind.nch = 1; -@@ -2708,13 +2708,13 @@ - if(F_OFF(F_EXPANDED_DISTLISTS,ps) && - entry_is_listent(as.top_ent+as.cur_row)){ - cmd = MC_UNEXPAND; -- menu_init_binding(km, '<', cmd, "<", "Unexpand", -+ menu_init_binding(km, '<', cmd, "<", "復原展開", - TWO_KEY); - KS_OSDATASET(&km->keys[TWO_KEY], KS_NONE); - } - else{ - cmd = MC_MAIN; -- menu_init_binding(km, 'M', cmd, "<", "Main Menu", -+ menu_init_binding(km, 'M', cmd, "<", "主選單", - TWO_KEY); - KS_OSDATASET(&km->keys[TWO_KEY], KS_MAINMENU); - } -@@ -2723,11 +2723,11 @@ - /* - * Add or delete entries from this address book. - */ -- menu_init_binding(km, '@', MC_ADD, "@", "AddNew", -+ menu_init_binding(km, '@', MC_ADD, "@", "新增", - ADD_KEY); -- menu_init_binding(km, 'D', MC_DELETE, "D", "Delete", -+ menu_init_binding(km, 'D', MC_DELETE, "D", "刪除", - DELETE_KEY); -- menu_init_binding(km, 'C', MC_COMPOSE, "C", "ComposeTo", -+ menu_init_binding(km, 'C', MC_COMPOSE, "C", "編修", - SENDTO_KEY); - KS_OSDATASET(&km->keys[SENDTO_KEY], KS_COMPOSER); - menu_init_binding(km, '#', MC_ROLE, "#", "Role", -@@ -2756,7 +2756,7 @@ - if(F_OFF(F_EXPANDED_DISTLISTS,ps) && - entry_is_listent(as.top_ent+as.cur_row)){ - cmd = MC_UNEXPAND; -- menu_init_binding(km, '<', cmd, "<", "Unexpand", -+ menu_init_binding(km, '<', cmd, "<", "復原展開", - TWO_KEY); - KS_OSDATASET(&km->keys[TWO_KEY], KS_NONE); - } -@@ -2764,12 +2764,12 @@ - if(as.n_addrbk > 1 || as.n_serv){ - cmd = MC_POPUP; - menu_init_binding(km, '<', cmd, "<", -- "AddressBkList", TWO_KEY); -+ "地址簿列表", TWO_KEY); - KS_OSDATASET(&km->keys[TWO_KEY], KS_NONE); - } - else{ - cmd = MC_MAIN; -- menu_init_binding(km, 'M', cmd, "<", "Main Menu", -+ menu_init_binding(km, 'M', cmd, "<", "主選單", - TWO_KEY); - KS_OSDATASET(&km->keys[TWO_KEY], KS_MAINMENU); - } -@@ -2779,9 +2779,9 @@ - /* - * Add or delete entries from this address book. - */ -- menu_init_binding(km, '@', MC_ADD, "@", "AddNew", -+ menu_init_binding(km, '@', MC_ADD, "@", "新增", - ADD_KEY); -- menu_init_binding(km, 'D', MC_DELETE, "D", "Delete", -+ menu_init_binding(km, 'D', MC_DELETE, "D", "刪除", - DELETE_KEY); - } - else{ -@@ -2791,14 +2791,14 @@ - - /* Find someplace to put Main Menu command */ - if(cmd == MC_POPUP){ -- menu_init_binding(km, 'M', MC_MAIN, "M", "Main Menu", -+ menu_init_binding(km, 'M', MC_MAIN, "M", "主選單", - SECONDARY_MAIN_KEY); - KS_OSDATASET(&km->keys[SECONDARY_MAIN_KEY],KS_MAINMENU); - } - else - clrbitn(SECONDARY_MAIN_KEY, bitmap); - -- menu_init_binding(km, 'C', MC_COMPOSE, "C", "ComposeTo", -+ menu_init_binding(km, 'C', MC_COMPOSE, "C", "編修", - SENDTO_KEY); - KS_OSDATASET(&km->keys[SENDTO_KEY], KS_COMPOSER); - menu_init_binding(km, '#', MC_ROLE, "#", "Role", -@@ -2810,7 +2810,7 @@ - * non-selection mode. - */ - cmd = MC_MAIN; -- menu_init_binding(km, 'M', cmd, "<", "Main Menu", -+ menu_init_binding(km, 'M', cmd, "<", "主選單", - TWO_KEY); - KS_OSDATASET(&km->keys[TWO_KEY], KS_MAINMENU); - -@@ -2850,10 +2850,10 @@ - cmd = MC_VIEW_ENTRY; - - menu_init_binding(km, '>', cmd, ">", -- cmd == MC_EXPAND ? "[Expand]" : -- cmd == MC_QUERY_SERV ? "[Search]" : -- cur_is_open() ? "[View/Update]" -- : "[ViewAbook]", -+ cmd == MC_EXPAND ? "[展開]" : -+ cmd == MC_QUERY_SERV ? "[搜尋]" : -+ cur_is_open() ? "[檢視/更新]" -+ : "[檢視地址簿]", - THREE_KEY); - - if(cmd == MC_QUERY_SERV) -@@ -2992,13 +2992,13 @@ - } - - if(as.config) -- helper(gAbookHelp, "HELP ON CONFIGURING ADDRESS BOOKS", -+ helper(gAbookHelp, "設定地址簿的輔助說明", - HLPD_NONE); - else if(are_selecting) -- helper(gAbookHelp, "HELP ON ADDRESS BOOK", -+ helper(gAbookHelp, "地址簿的輔助說明", - HLPD_SIMPLE | HLPD_NEWWIN); - else /* general maintenance screen */ -- helper(gAbookHelp, "HELP ON ADDRESS BOOK", HLPD_NONE); -+ helper(gAbookHelp, "地址簿的輔助說明", HLPD_NONE); - - /* - * Helper() may have a Main Menu key. If user types that -@@ -3072,7 +3072,7 @@ - } - else - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Can't happen in MC_UNEXPAND"); -+ "無法在 MC_UNEXPAND 時發生"); - - break; - -@@ -3108,7 +3108,7 @@ - } - else - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Can't happen in MC_POPUP"); -+ "無法在 MC_POPUP 時發生"); - - break; - -@@ -3179,11 +3179,11 @@ - } - else if(dlc_to_flush->type == DlcTitleNoPerm) - q_status_message(SM_ORDER, 0, 4, -- "Cannot access address book."); -+ "無法存取地址簿。"); - } - else - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Can't happen in MC_OPENABOOK"); -+ "無法在 MC_OPENABOOK 時發生"); - - break; - -@@ -3229,7 +3229,7 @@ - } - else - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Can't happen in MC_EXPAND"); -+ "無法在 MC_EXPAND 時發生"); - - break; - -@@ -3241,7 +3241,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 books"); -+ "地址簿中找不到任何項目. 請以 離開選擇(E) 離開"); - break; - } - -@@ -3263,7 +3263,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){ -@@ -3347,7 +3347,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{ -@@ -3422,16 +3422,16 @@ - if(entry_is_clickable(as.top_ent+as.cur_row)) - clickable_warning(as.top_ent+as.cur_row); - else if(entry_is_askserver(as.top_ent+as.cur_row)) -- q_status_message(SM_ORDER, 3, 4, "Use select to select an address or addresses from address books"); -+ q_status_message(SM_ORDER, 3, 4, "使用「選擇」來選擇地址簿中的地址"); - else -- q_status_message(SM_ORDER, 3, 4, "No address selected"); -+ q_status_message(SM_ORDER, 3, 4, "尚未選擇任何地址"); - - break; - } - } - else - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Can't happen in MC_CHOICE"); -+ "無法在 MC_CHOICE 時發生"); - - break; - -@@ -3455,7 +3455,7 @@ - if(adrbk_check_all_validity_now()){ - if(resync_screen(pab, style, checkedn)){ - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Address book changed. AddNew cancelled. Try again."); -+ "地址簿被改變了;取消新增。請重試一遍。"); - ps->mangled_screen = 1; - break; - } -@@ -3470,7 +3470,7 @@ - dprint(9, (debugfile, - "Calling edit_entry to add entry manually\n")); - edit_entry(pab->address_book, (AdrBk_Entry *)NULL, NO_NEXT, -- NotSet, 0, &warped, "add"); -+ NotSet, 0, &warped, "新增"); - - /* - * Warped means we got plopped down somewhere in the display -@@ -3615,7 +3615,7 @@ - } - else{ - q_status_message1(SM_ORDER|SM_DING, 0, 4, -- "Missing \"}\" in config: %s", q); -+ "設定檔中缺乏 \"}\":%s", q); - if(nick) - fs_give((void **)&nick); - if(file) -@@ -3650,7 +3650,7 @@ - ps->mangled_screen = 1; - } - else -- q_status_message(SM_ORDER, 0, 4, "Not a changeable line"); -+ q_status_message(SM_ORDER, 0, 4, "不為可被更改的一行"); - - break; - -@@ -3658,7 +3658,7 @@ - /*---------- Delete an address book -------------------*/ - case MC_DELABOOK: - if(as.n_addrbk == 0){ -- q_status_message(SM_ORDER, 0, 4, "Nothing to delete"); -+ q_status_message(SM_ORDER, 0, 4, "沒有可被刪除的項目"); - break; - } - -@@ -3729,7 +3729,7 @@ - start_disp = 0; - ps->mangled_body = 1; - ps->mangled_footer = 1; -- q_status_message(SM_ORDER, 0, 3, "Address book deleted"); -+ q_status_message(SM_ORDER, 0, 3, "地址簿已被刪除"); - } - else{ - if(err){ -@@ -3747,7 +3747,7 @@ - case MC_SHUFFLE: - if(entry_is_addkey(as.top_ent+as.cur_row)){ - q_status_message(SM_ORDER, 0, 4, -- "Highlight entry you wish to shuffle"); -+ "標示想要重整的項目"); - break; - } - -@@ -3820,8 +3820,8 @@ - - q_status_message(SM_ORDER, 0, 3, - msg ? msg : -- (ret < 0) ? "Shuffle failed" : -- "Address books shuffled"); -+ (ret < 0) ? "重整失敗" : -+ "地址簿已重整"); - if(ret < 0) - dprint(5, (debugfile, "addrbook shuffle failed: %s\n", - msg ? msg : "?")); -@@ -3848,7 +3848,7 @@ - - if(new_top_ent == as.top_ent || - (as.cur_row + (as.top_ent-new_top_ent) > as.l_p_page - 1)){ -- q_status_message(SM_INFO, 0, 1, "Already on first line."); -+ q_status_message(SM_INFO, 0, 1, "已經在第一行了。"); - } - else{ - as.cur_row += (as.top_ent - new_top_ent); -@@ -3906,7 +3906,7 @@ - - if(new_end_line - as.top_ent <= as.l_p_page - 1 || - as.cur_row - (new_end_line-as.top_ent-(as.l_p_page-1)) < 0){ -- q_status_message(SM_INFO, 0, 1, "Already on last line."); -+ q_status_message(SM_INFO, 0, 1, "已經在最後一行了。"); - } - else{ - as.cur_row -= (new_end_line-as.top_ent-(as.l_p_page-1)); -@@ -3994,7 +3994,7 @@ - #endif - default: - q_status_message(SM_INFO, 0, 1, -- "Can't happen in MC_MOUSE"); -+ "無法在 MC_MOUSE 時發生"); - break; - } - } -@@ -4101,7 +4101,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; - } - -@@ -4137,7 +4137,7 @@ - as.cur_row - - (new_end_line-as.top_ent-(as.l_p_page-1)) < 0){ - q_status_message(SM_INFO, 0, 1, -- "Already on last page."); -+ "已經在最後一頁了。"); - } - else{ - as.cur_row -= -@@ -4186,14 +4186,14 @@ - if(adrbk_check_all_validity_now()){ - if(resync_screen(pab, style, checkedn)){ - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Address book changed. Delete cancelled. Try again."); -+ "地址簿被改變了;取消刪除。請重試一遍。"); - ps->mangled_screen = 1; - break; - } - } - - 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; - } - -@@ -4255,7 +4255,7 @@ - case MC_TOGGLE: - togglex: - 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; - } - -@@ -4274,10 +4274,10 @@ - - if(style == SelectAddrLccCom && dl->type == ListEnt) - q_status_message(SM_ORDER, 0, 4, -- "You may only select whole lists for lcc"); -+ "僅能選擇整個列表給 lcc"); - else 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, -@@ -4294,11 +4294,11 @@ - } - else - q_status_message(SM_ORDER, 0, 4, -- "You may not select list members, only whole lists or personal entries"); -+ "無法選擇列表成員,僅能選擇整個列表或個人項目"); - } - else - q_status_message(SM_ORDER, 0, 4, -- "You may only select addresses or lists"); -+ "僅能選擇地址或列表"); - - break; - -@@ -4316,7 +4316,7 @@ - ps->mangled_body = 1; - start_disp = 0; - q_status_message(SM_ORDER, 0, 4, -- "Use \"X\" to select addresses or lists"); -+ "使用 \"X\" 標記地址或列表"); - break; - - -@@ -4342,13 +4342,13 @@ - if(!directory_ok){ - q_status_message(SM_ORDER, 0, 4, - (style == SelectAddrLccCom) -- ? "Can't search server for Lcc" -- : "Can't search server from here"); -+ ? "無法由伺服器搜尋 Lcc" -+ : "無法由此搜尋伺服器"); - break; - } - else if(as.checkboxes){ - q_status_message(SM_ORDER, 0, 4, -- "Can't search server when using ListMode"); -+ "使用 ListMode 時無法搜尋伺服器"); - break; - } - -@@ -4403,14 +4403,14 @@ - /*----- Select entries to work on --*/ - case MC_SELECT: - 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; - } - - if(!cur_is_open()){ - if(entry_is_askserver(as.top_ent+as.cur_row)) - q_status_message(SM_ORDER, 0, 4, -- "Select is only available from within an expanded address book"); -+ "僅能在展開後的地址簿中選擇"); - else - clickable_warning(as.top_ent+as.cur_row); - -@@ -4443,7 +4443,7 @@ - /*----------- Select current entry ----------*/ - case MC_SELCUR: - 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; - } - -@@ -4504,7 +4504,7 @@ - dlc_restart = *dlc; - as.zoomed = 0; - q_status_message(SM_ORDER, 0, 2, -- "Zoom Mode is now off, no entries selected"); -+ "縮放模式目前為關閉狀態,沒有任何被選擇的項目"); - - warp_to_dlc(&dlc_restart, 0L); - /* put current entry in middle of screen */ -@@ -4571,11 +4571,11 @@ - } - else - q_status_message(SM_ORDER, 0, 4, -- "You may not select list members, only whole lists or personal entries"); -+ "無法選擇列表成員,僅能選擇整個列表或個人項目"); - } - else - q_status_message(SM_ORDER, 0, 4, -- "You may only select addresses or lists"); -+ "僅能選擇地址或列表"); - - break; - -@@ -4588,7 +4588,7 @@ - : NULL, - &start_disp); - else{ -- q_status_message(SM_ORDER, 0, 2, "Zoom Mode is now off"); -+ q_status_message(SM_ORDER, 0, 2, "現在關閉縮放模式"); - ab_unzoom(&start_disp); - } - -@@ -4630,7 +4630,7 @@ - } - else - q_status_message(SM_ORDER, 0, 2, -- "No selected entries to apply command to"); -+ "沒有已選擇的項目可供套用命令"); - - break; - -@@ -4676,7 +4676,7 @@ - /*------ Copy entries into an abook ----*/ - case MC_SAVE: - if(!any_addrs_avail(as.top_ent+as.cur_row)){ -- q_status_message(SM_ORDER, 0, 4, "No entries to save"); -+ q_status_message(SM_ORDER, 0, 4, "沒有可供存入的項目"); - break; - } - -@@ -4698,7 +4698,7 @@ - /*------ Forward an entry in mail -----------*/ - case MC_FORWARD: - if(!any_addrs_avail(as.top_ent+as.cur_row)){ -- q_status_message(SM_ORDER, 0, 4, "No entries to forward"); -+ q_status_message(SM_ORDER, 0, 4, "沒有可供轉寄的項目"); - break; - } - -@@ -4713,14 +4713,14 @@ - } - - if(!is_addr(as.top_ent+as.cur_row)){ -- q_status_message(SM_ORDER, 0, 4, "Nothing to forward"); -+ q_status_message(SM_ORDER, 0, 4, "沒有東西可以轉寄"); - break; - } - - dl = dlist(as.top_ent+as.cur_row); - if(dl->type != ListHead && dl->type != Simple){ - q_status_message(SM_ORDER, 0, 4, -- "Can only forward whole entries"); -+ "僅能轉寄整個列表"); - break; - } - -@@ -4752,18 +4752,18 @@ - case MC_UNKNOWN: - if(c == 'e' && !are_selecting){ - q_status_message(SM_ORDER | SM_DING, 0, 2, -- "Command \"E\" not defined. Use \"View/Update\" to edit an entry"); -+ "\"E\" 這個命令尚未被定義. 請使用 \"檢視/編輯\" 編輯選項"); - break; - } - else 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\" 這個命令尚未被定義. 請使用 \"新增\" 建立列表"); - break; - } - else if(c == 'z' && !are_selecting){ - q_status_message(SM_ORDER | SM_DING, 0, 2, -- "Command \"Z\" not defined. Use \"View/Update\" to add to a list"); -+ "\"Z\" 這個命令尚未被定義. 請使用 \"檢視/更新\" 新增至列表"); - break; - } - /* else, fall through */ -@@ -4801,7 +4801,7 @@ - as.zoomed = 1; - - if(as.selections){ -- q_status_message(SM_ORDER, 0, 2, "Zoom Mode is now on"); -+ q_status_message(SM_ORDER, 0, 2, "現在開啟縮放模式"); - if(cur_is_open()){ - dl = dlist(as.top_ent+as.cur_row); - if((dl->type == ListHead || -@@ -4849,7 +4849,7 @@ - } - else{ - as.zoomed = 0; -- q_status_message(SM_ORDER, 0, 2, "No selected entries to zoom on"); -+ q_status_message(SM_ORDER, 0, 2, "沒有已選擇的項目可供放大"); - } - } - -@@ -4910,7 +4910,7 @@ - char *name; - { - q_status_message2(SM_ORDER | (bell ? SM_DING : 0), 0, 4, -- "AddressBook%s%s is Read Only", -+ "地址簿%s%s 是唯讀的", - name ? " " : "", - name ? name : ""); - } -@@ -4931,11 +4931,11 @@ - dl = dlist(cur_line); - if(dl->type == NoAbooks) - q_status_message(SM_ORDER, 0, 4, -- "No address books configured, use Setup"); -+ "沒有已設定好的地址簿,請用 Setup"); - else if(dl->type == Empty) -- q_status_message(SM_ORDER, 0, 4, "Address Book is Empty"); -+ q_status_message(SM_ORDER, 0, 4, "地址簿是空的"); - else -- q_status_message(SM_ORDER, 0, 4, "Distribution List is Empty"); -+ q_status_message(SM_ORDER, 0, 4, "分類列表是空的"); - } - - -@@ -4952,9 +4952,9 @@ - register AddrScrn_Disp *dl; - - dl = dlist(cur_line); -- q_status_message1(SM_ORDER, 0, 4, "%s not expanded, use \">\" to expand", -- (dl->type == Title || dl->type == ClickHereCmb) ? "Address Book" -- : "Distribution List"); -+ q_status_message1(SM_ORDER, 0, 4, "%s 未被展開,使用 \">\" 來展開", -+ (dl->type == Title || dl->type == ClickHereCmb) ? "地址簿" -+ : "分類列表"); - } - - -@@ -4970,7 +4970,7 @@ - char *what; - { - q_status_message1(SM_INFO | (bell ? SM_DING : 0), 0, 2, -- "Address book %s cancelled", what); -+ "地址簿%s已取消", what); - } - - -@@ -4980,7 +4980,7 @@ - void - no_tabs_warning() - { -- q_status_message(SM_ORDER, 0, 4, "Tabs not allowed in address book"); -+ q_status_message(SM_ORDER, 0, 4, "地址簿中不允許\有 Tab 存在"); - } - - -@@ -4999,12 +4999,12 @@ - { - int ret = 0; - static ESCKEY_S opts[] = { -- {'c', 'c', "C", "ComposeTo"}, -- {'d', 'd', "D", "Delete"}, -- {'%', '%', "%", "Print"}, -- {'f', 'f', "F", "Forward"}, -- {'s', 's', "S", "Save"}, -- {'#', '#', "#", "Role"}, -+ {'c', 'c', "C", "編排"}, -+ {'d', 'd', "D", "刪除"}, -+ {'%', '%', "%", "列印"}, -+ {'f', 'f', "F", "轉寄"}, -+ {'s', 's', "S", "存檔"}, -+ {'#', '#', "#", "角色"}, - { 0, '%', "", ""}, - {-1, 0, NULL, NULL}}; - #define PHANTOM_PRINT 6 -@@ -5014,7 +5014,7 @@ - - opts[PHANTOM_PRINT].ch = (F_ON(F_ENABLE_PRYNT, ps_global)) ? 'y' : -1; - -- switch(radio_buttons("APPLY command : ", command_line, opts, 0, 'z', -+ switch(radio_buttons("套用命令:", command_line, opts, 0, 'z', - NO_HELP, RB_NORM)){ - case 'c': - ret = ab_compose_to_addr(cur_line, 1, 0); -@@ -5041,7 +5041,7 @@ - break; - - case 'z': -- cmd_cancelled("Apply command"); -+ cmd_cancelled("套用命令"); - break; - } - -@@ -5063,22 +5063,22 @@ - int *start_disp; - { - static ESCKEY_S sel_opts1[] = { -- {'a', 'a', "A", "unselect All"}, -+ {'a', 'a', "A", "取消所有選擇"}, - { 0 , 'c', "C", NULL}, -- {'b', 'b', "B", "Broaden selctn"}, -- {'n', 'n', "N", "Narrow selctn"}, -- {'f', 'f', "F", "Flip selected"}, -+ {'b', 'b', "B", "擴大選擇"}, -+ {'n', 'n', "N", "縮小選擇"}, -+ {'f', 'f', "F", "切換選擇"}, - {-1, 0, NULL, NULL} - }; - static char *sel_pmt1 = "ALTER message selection : "; - static ESCKEY_S sel_opts2[] = { -- {'a', 'a', "A", "select All"}, -- {'c', 'c', "C", "select Cur"}, -- {'t', 't', "T", "Text"}, -- {'s', 's', "S", "Status"}, -+ {'a', 'a', "A", "選擇全部"}, -+ {'c', 'c', "C", "選擇目前的"}, -+ {'t', 't', "T", "文字"}, -+ {'s', 's', "S", "狀態"}, - {-1, 0, NULL, NULL} - }; -- static char *sel_pmt2 = "SELECT criteria : "; -+ static char *sel_pmt2 = "選擇標準:"; - ESCKEY_S *sel_opts; - HelpType help = NO_HELP; - adrbk_cntr_t num, ab_count; -@@ -5106,8 +5106,8 @@ - if(dl && (dl->type == ListHead || dl->type == Simple)){ - sel_opts1[1].label = entry_is_selected(abook->selects, - (a_c_arg_t)dl->elnum) -- ? "unselect Cur" -- : "select Cur"; -+ ? "取消目前的選擇" -+ : "選擇目前的"; - sel_opts1[1].ch = 'c'; - } - else -@@ -5129,7 +5129,7 @@ - - default: - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "Unsupported Select option"); -+ "尚未支援的選項"); - return; - } - } -@@ -5138,8 +5138,8 @@ - (dl->type == ListHead || dl->type == Simple)){ - sel_opts1[1].label = entry_is_selected(abook->selects, - (a_c_arg_t)dl->elnum) -- ? "unselect Cur" -- : "select Cur"; -+ ? "取消目前的選擇" -+ : "選擇目前的"; - sel_opts1[1].ch = 'c'; - } - else -@@ -5156,7 +5156,7 @@ - - switch(q){ - case 'x': /* cancel */ -- cmd_cancelled("Select command"); -+ cmd_cancelled("選擇命令"); - break; - - case 'c': /* select/unselect current */ -@@ -5168,7 +5168,7 @@ - if(as.selections == 0 && as.zoomed){ - as.zoomed = 0; - q_status_message(SM_ORDER, 0, 2, -- "Zoom Mode is now off, no entries selected"); -+ "縮放模式目前為關閉狀態,沒有任何被選擇的項目"); - do_warp++; - } - else if(as.zoomed){ -@@ -5207,17 +5207,17 @@ - if(as.selections == 0 && as.zoomed){ - as.zoomed = 0; - q_status_message(SM_ORDER, 0, 2, -- "Zoom Mode is now off, all entries UNselected"); -+ "縮放模式目前為關閉狀態,取消所有已選擇的項目"); - do_warp++; - } - else{ - char bb[100]; - -- sprintf(bb, "%s entries UNselected%s%s%s", -+ sprintf(bb, "%s 個項目被取消選擇%s%s%s", - comatose(prevsel-as.selections), -- as.selections ? ", still " : "", -+ as.selections ? ",仍有 " : "", - as.selections ? comatose(as.selections) : "", -- as.selections ? " selected in other addrbooks" : ""); -+ as.selections ? " 個項目選擇於其他地址簿中" : ""); - q_status_message(SM_ORDER, 0, 2, bb); - if(as.zoomed) - do_beginning++; -@@ -5233,7 +5233,7 @@ - } - } - -- q_status_message1(SM_ORDER, 0, 2, "All %s entries selected", -+ q_status_message1(SM_ORDER, 0, 2, "已選擇所有 %s 的項目", - comatose(ab_count)); - if(prevsel == 0 && as.selections > 0 && - !as.zoomed && F_ON(F_AUTO_ZOOM, ps)){ -@@ -5270,14 +5270,14 @@ - do_beginning++; - else{ - as.zoomed = 0; -- q_status_message(SM_ORDER, 0, 2, "Zoom Mode is now off"); -+ q_status_message(SM_ORDER, 0, 2, "現在關閉縮放模式"); - do_warp++; - } - } - else - do_warp++; - -- q_status_message1(SM_ORDER, 0, 2, "%s entries now selected", -+ q_status_message1(SM_ORDER, 0, 2, "項目 %s 現在已被選擇", - comatose(as.selections)); - - break; -@@ -5303,7 +5303,7 @@ - if(as.selections == 0){ - as.zoomed = 0; - q_status_message(SM_ORDER, 0, 2, -- "Zoom Mode is now off"); -+ "現在關閉縮放模式"); - do_warp++; - } - else -@@ -5322,63 +5322,63 @@ - if(prevsel == as.selections && prevsel > 0){ - if(as.selections == 1) - q_status_message(SM_ORDER, 0, 2, -- "No change resulted, 1 entry remains selected"); -+ "沒有導致任何改變,仍有一個項目被選擇"); - else - q_status_message1(SM_ORDER, 0, 2, -- "No change resulted, %s entries remain selected", -+ "沒有導致任何改變,仍有 %s 個項目被選擇", - comatose(as.selections)); - } - else if(prevsel == 0){ - if(as.selections == 1) - q_status_message(SM_ORDER, 0, 2, -- "Select matched 1 entry"); -+ "選擇符合的一個項目"); - else if(as.selections > 1) - q_status_message1(SM_ORDER, 0, 2, -- "Select matched %s entries", -+ "選擇符合的 %s 個項目", - comatose(as.selections)); - else - q_status_message(SM_ORDER, 0, 2, -- "Select failed! No entries selected"); -+ "選擇失敗!沒有任何項目被選擇"); - } - else if(as.selections == 0){ - if(prevsel == 1) - q_status_message(SM_ORDER, 0, 2, -- "The single selected entry is UNselected"); -+ "取消已被選擇的單一項目"); - else - q_status_message1(SM_ORDER, 0, 2, -- "All %s entries UNselected", -+ "所有 %s 個項目都被取消選擇", - comatose(prevsel)); - } - else if(narrow){ - if(as.selections == 1 && (prevsel-as.selections) == 1) - q_status_message(SM_ORDER, 0, 2, -- "1 entry now selected, 1 entry was UNselected"); -+ "一項目被選擇,一項目被取消選擇"); - else if(as.selections == 1) - q_status_message1(SM_ORDER, 0, 2, -- "1 entry now selected, %s entries were UNselected", -+ "一項目被選擇,%s 個項目被取消選擇", - comatose(prevsel-as.selections)); - else if((prevsel-as.selections) == 1) - q_status_message1(SM_ORDER, 0, 2, -- "%s entries now selected, 1 entry was UNselected", -+ "%s 個項目被選擇,一項目被取消選擇", - comatose(as.selections)); - else - q_status_message2(SM_ORDER, 0, 2, -- "%s entries now selected, %s entries were UNselected", -+ "%s 個項目被選擇,%s 個項目被取消選擇", - comatose(as.selections), - comatose(prevsel-as.selections)); - } - else{ - if((as.selections-prevsel) == 1) - q_status_message1(SM_ORDER, 0, 2, -- "1 new entry selected, %s entries now selected", -+ "一個新項目被選擇,目前有 %s 個項目已被選擇", - comatose(as.selections)); - else if(as.selections == 1) - q_status_message1(SM_ORDER, 0, 2, -- "%s new entries selected, 1 entry now selected", -+ "%s 個新項目被選擇,一個項目已被選擇", - comatose(as.selections-prevsel)); - else - q_status_message2(SM_ORDER, 0, 2, -- "%s new entries selected, %s entries now selected", -+ "%s 個新項目被選擇,目前有 %s 個項目已被選擇", - comatose(as.selections-prevsel), - comatose(as.selections)); - } -@@ -5388,17 +5388,17 @@ - - default : - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "Unsupported Select option"); -+ "尚未支援的選項"); - break; - } - } - else{ - if(F_ON(F_CMBND_ABOOK_DISP,ps_global)) - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "Select is only available from within an expanded address book"); -+ "僅支援自展開的地址簿中選擇"); - else - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "Select is only available when viewing an individual address book"); -+ "選擇僅能在檢視個人地址簿時使用"); - - return; - } -@@ -5457,11 +5457,11 @@ - int narrow; - { - static ESCKEY_S ab_sel_type_opt[] = { -- {'s', 's', "S", "Simple"}, -- {'l', 'l', "L", "List"}, -+ {'s', 's', "S", "簡單"}, -+ {'l', 'l', "L", "列表"}, - {-1, 0, NULL, NULL} - }; -- static char *ab_sel_type = "Select Lists or Simples (non Lists) ? "; -+ static char *ab_sel_type = "選擇列表或簡單(無列表)?"; - int type; - adrbk_cntr_t num, ab_count; - -@@ -5479,7 +5479,7 @@ - break; - - case 'x': -- cmd_cancelled("Select"); -+ cmd_cancelled("選擇"); - return -1; - - default: -@@ -5599,7 +5599,7 @@ - } - - if(type == 'x' || r == 'x'){ -- cmd_cancelled("Select"); -+ cmd_cancelled("選擇"); - return -1; - } - -@@ -5682,7 +5682,7 @@ - break; - - default: -- q_status_message(SM_ORDER | SM_DING, 3, 3, "Unknown type"); -+ q_status_message(SM_ORDER | SM_DING, 3, 3, "未知的型態"); - return(err); - } - -@@ -5801,18 +5801,18 @@ - new_top_ent = NO_LINE; - - if(rc == -2) -- cancel_warning(NO_DING, "search"); -+ cancel_warning(NO_DING, "搜尋"); - - else if(rc == -1) -- q_status_message(SM_ORDER, 0, 4, "Word not found"); -+ q_status_message(SM_ORDER, 0, 4, "找不到該字"); - - else if(rc == 0){ /* search succeeded */ - - if(wrapped == 1) -- q_status_message(SM_INFO, 0, 2, "Search wrapped to beginning"); -+ q_status_message(SM_INFO, 0, 2, "從頭搜尋"); - else if(wrapped == 2) - q_status_message(SM_INFO, 0, 2, -- "Current line contains the only match"); -+ "目前這行僅包含唯一符合的目標"); - - /* know match is on the same page */ - if(!*warped && -@@ -6454,7 +6454,7 @@ - - dprint(7, (debugfile, "- search_book -\n")); - -- sprintf(prompt, "Word to search for [%s]: ", search_string); -+ sprintf(prompt, "欲搜尋的字串 [%s]: ", search_string); - help = NO_HELP; - nsearch_string[0] = '\0'; - -@@ -6466,12 +6466,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; - -@@ -6488,11 +6488,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; - } - } -@@ -6501,11 +6501,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; - } - } diff --git a/chinese/pine4/files/patch-aw b/chinese/pine4/files/patch-aw deleted file mode 100644 index 8aae8b22f837..000000000000 --- a/chinese/pine4/files/patch-aw +++ /dev/null @@ -1,698 +0,0 @@ ---- pine/adrbkcmd.c.orig Thu Sep 30 07:21:15 1999 -+++ pine/adrbkcmd.c Thu Oct 14 11:42:22 1999 -@@ -112,23 +112,23 @@ - static struct key abook_view_keys[] = - {HELP_MENU, - OTHER_MENU, -- {"<","Abook",{MC_EXIT,2,{'<',','}},KS_NONE}, -- {"U","Update",{MC_EDIT,1,{'u'}},KS_NONE}, -- {"C","ComposeTo",{MC_COMPOSE,1,{'c'}},KS_COMPOSER}, -+ {"<","地址簿",{MC_EXIT,2,{'<',','}},KS_NONE}, -+ {"U","更新",{MC_EDIT,1,{'u'}},KS_NONE}, -+ {"C","編修",{MC_COMPOSE,1,{'c'}},KS_COMPOSER}, - RCOMPOSE_MENU, - PREVPAGE_MENU, - NEXTPAGE_MENU, - PRYNTTXT_MENU, - WHEREIS_MENU, -- {"F", "Fwd Email", {MC_FORWARD, 1, {'f'}}, KS_FORWARD}, -+ {"F", "信件轉寄", {MC_FORWARD, 1, {'f'}}, KS_FORWARD}, - SAVE_MENU, - - HELP_MENU, - OTHER_MENU, -- {"V","ViewLink",{MC_VIEW_HANDLE,3,{'v',ctrl('m'),ctrl('j')}},KS_NONE}, -+ {"V","檢視鏈結",{MC_VIEW_HANDLE,3,{'v',ctrl('m'),ctrl('j')}},KS_NONE}, - NULL_MENU, -- {"^B","PrevLink",{MC_PREV_HANDLE,1,{ctrl('B')}},KS_NONE}, -- {"^F","NextLink",{MC_NEXT_HANDLE,1,{ctrl('F')}},KS_NONE}, -+ {"^B","前一鏈結",{MC_PREV_HANDLE,1,{ctrl('B')}},KS_NONE}, -+ {"^F","下一鏈結",{MC_NEXT_HANDLE,1,{ctrl('F')}},KS_NONE}, - NULL_MENU, - NULL_MENU, - NULL_MENU, -@@ -141,7 +141,7 @@ - static struct key abook_text_keys[] = - {HELP_MENU, - NULL_MENU, -- {"E","Exit Viewer",{MC_EXIT,1,{'e'}},KS_NONE}, -+ {"E","離開",{MC_EXIT,1,{'e'}},KS_NONE}, - NULL_MENU, - NULL_MENU, - NULL_MENU, -@@ -150,7 +150,7 @@ - PRYNTTXT_MENU, - WHEREIS_MENU, - FWDEMAIL_MENU, -- {"S", "Save", {MC_SAVETEXT,1,{'s'}}, KS_SAVE}}; -+ {"S", "存檔", {MC_SAVETEXT,1,{'s'}}, KS_SAVE}}; - INST_KEY_MENU(abook_text_km, abook_text_keys); - - #define VIEW_ABOOK_NONE 0 -@@ -303,7 +303,7 @@ - memset(&sargs, 0, sizeof(SCROLL_S)); - sargs.text.text = so_text(out_store); - sargs.text.src = CharStar; -- sargs.text.desc = "expanded entry"; -+ sargs.text.desc = "已展開的項目"; - sargs.text.handles = handles; - - if(offset){ /* resize? preserve paging! */ -@@ -312,13 +312,13 @@ - offset = 0L; - } - -- sargs.bar.title = "ADDRESS BOOK (View)"; -+ sargs.bar.title = "地址簿(檢視)"; - sargs.bar.style = TextPercent; - sargs.proc.tool = process_abook_view_cmd; - sargs.proc.data.i = VIEW_ABOOK_NONE; - sargs.resize_exit = 1; - sargs.help.text = h_abook_view; -- sargs.help.title = "HELP FOR ADDRESS BOOK VIEW"; -+ sargs.help.title = "檢視地址簿的輔助說明"; - sargs.keys.menu = &abook_view_keymenu; - setbitmap(sargs.keys.bitmap); - -@@ -428,7 +428,7 @@ - if(adrbk_check_all_validity_now()){ - if(resync_screen(pab, AddrBookScreen, 0)){ - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Address book changed. Update cancelled. Try again."); -+ "地址簿已被更動。取消更新。請重試一遍。"); - ps_global->mangled_screen = 1; - break; - } -@@ -456,7 +456,7 @@ - abe_copy = copy_ae(abe); - dprint(9, (debugfile,"Calling edit_entry to edit from view\n")); - edit_entry(pab->address_book, abe_copy, entry, -- abe->tag, 0, &warped, "update"); -+ abe->tag, 0, &warped, "更新"); - /* - * The ABOOK_EDITED case doesn't mean that we necessarily - * changed something, just that we might have but we know -@@ -506,7 +506,7 @@ - h_ab_text_or_vcard, RB_NORM); - switch(i){ - case 'x': -- cancel_warning(NO_DING, "forward"); -+ cancel_warning(NO_DING, "轉寄"); - rv = 0; - break; - -@@ -741,8 +741,8 @@ - memset(&sargs, 0, sizeof(SCROLL_S)); - sargs.text.text = so_text(store); - sargs.text.src = CharStar; -- sargs.text.desc = "expanded entry"; -- sargs.bar.title = "ADDRESS BOOK (Rich View)"; -+ sargs.text.desc = "已展開的項目"; -+ sargs.bar.title = "地址簿 (完整檢視)"; - sargs.bar.style = TextPercent; - sargs.keys.menu = &abook_text_km; - setbitmap(sargs.keys.bitmap); -@@ -812,8 +812,8 @@ - memset(&sargs, 0, sizeof(SCROLL_S)); - sargs.text.text = so_text(store); - sargs.text.src = src; -- sargs.text.desc = "expanded entry"; -- sargs.bar.title = "MESSAGE TEXT"; -+ sargs.text.desc = "已展開的項目"; -+ sargs.bar.title = "訊息文字"; - sargs.bar.style = TextPercent; - sargs.keys.menu = &abook_text_km; - setbitmap(sargs.keys.bitmap); -@@ -836,19 +836,19 @@ - */ - static struct headerentry headents_for_edit[]={ - {"Nickname : ", "Nickname", h_composer_abook_nick, 12, 0, NULL, -- verify_nick, NULL, NULL, addr_book_nick_for_edit, "To AddrBk", NULL, -+ verify_nick, NULL, NULL, addr_book_nick_for_edit, "地址簿", NULL, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE}, - {"Fullname : ", "Fullname", h_composer_abook_full, 12, 0, NULL, -- NULL, NULL, NULL, view_message_for_pico, "To Message", NULL, -+ NULL, NULL, NULL, view_message_for_pico, "資料匣", NULL, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE}, - {"Fcc : ", "FileCopy", h_composer_abook_fcc, 12, 0, NULL, -- NULL, NULL, NULL, folders_for_fcc, "To Fldrs", NULL, -+ NULL, NULL, NULL, folders_for_fcc, "資料匣", NULL, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE}, - {"Comment : ", "Comment", h_composer_abook_comment, 12, 0, NULL, -- NULL, NULL, NULL, view_message_for_pico, "To Message", NULL, -+ NULL, NULL, NULL, view_message_for_pico, "資料匣", NULL, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE}, - {"Addresses : ", "Addresses", h_composer_abook_addrs, 12, 0, NULL, -- verify_addr, NULL, NULL, addr_book_change_list, "To AddrBk", NULL, -+ verify_addr, NULL, NULL, addr_book_change_list, "地址簿", NULL, - 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE}, - {NULL, NULL, NO_HELP, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE} -@@ -963,7 +963,7 @@ - pbuf.canceltest = warped ? pico_cancel_for_adrbk_edit - : pico_cancel_for_adrbk_take; - pbuf.expander = expand_addrs_for_pico; -- pbuf.ctrlr_label = "RichView"; -+ pbuf.ctrlr_label = "完整表頭";//"RichView"; - pbuf.resize = resize_for_pico; - pbuf.winch_cleanup = winch_cleanup; - pbuf.suspend = do_suspend; -@@ -979,7 +979,7 @@ - pbuf.browse_help = h_composer_browse; - pbuf.attach_help = h_composer_ctrl_j; - pbuf.composer_help = h_composer; -- sprintf(titlebar, "ADDRESS BOOK (%c%s)", -+ sprintf(titlebar, "地址簿 (%c%s)", - readonly ? 'V' : islower((unsigned char)(*cmd)) - ? toupper((unsigned char)*cmd) - : *cmd, -@@ -1574,12 +1574,12 @@ - ps_global->redrawer = redraw_pico; - fix_windsize(ps_global); - -- switch(want_to("Exit and save changes ", 'y', 0, NO_HELP, WT_NORM)){ -+ switch(want_to("存檔並離開 ", 'y', 0, NO_HELP, WT_NORM)){ - case 'y': - break; - - case 'n': -- rstr = "Use ^C to abandon changes you've made"; -+ rstr = "以 ^C 放棄曾做過的改變"; - break; - } - -@@ -1603,8 +1603,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), -+ " (回答 \"是\" 將放棄曾作過的改變) "); - ps_global->redrawer = redraw_pico; - fix_windsize(ps_global); - -@@ -1627,7 +1627,7 @@ - pico_cancel_for_adrbk_take(redraw_pico) - void (*redraw_pico)(); - { -- return(pico_cancelexit_for_adrbk("take", redraw_pico)); -+ return(pico_cancelexit_for_adrbk("擷取", redraw_pico)); - } - - -@@ -1635,7 +1635,7 @@ - pico_cancel_for_adrbk_edit(redraw_pico) - void (*redraw_pico)(); - { -- return(pico_cancelexit_for_adrbk("changes", redraw_pico)); -+ return(pico_cancelexit_for_adrbk("修改", redraw_pico)); - } - - -@@ -1752,16 +1752,16 @@ - - if(ps_global->readonly_pinerc){ - q_status_message1(SM_ORDER, 0, 3, -- "%s cancelled: config file not changeable", -- edit ? "Change" : "Add"); -+ "取消%s:設定檔無法被修改", -+ edit ? "修改" : "新增"); - return -1; - } - - if(global && vars[V_GLOB_ADDRBOOK].is_fixed || - !global && vars[V_ADDRESSBOOK].is_fixed){ - q_status_message1(SM_ORDER, 0, 3, -- "Cancelled: Sys. Mgmt. does not allow changing %saddress books", -- global ? "global " : ""); -+ "動作取消:系統管理員不允許\改變%s地址簿", -+ global ? "整體的" : ""); - - return -1; - } -@@ -1811,7 +1811,7 @@ - pbuf.browse_help = h_composer_browse; - pbuf.attach_help = h_composer_ctrl_j; - pbuf.composer_help = h_composer; -- sprintf(titlebar, "%s ADDRESS BOOK", edit ? "CHANGE" : "ADD"); -+ sprintf(titlebar, "%s地址簿", edit ? "修改" : "新增"); - pbuf.pine_anchor = set_titlebar(titlebar, - ps_global->mail_stream, - ps_global->context_current, -@@ -1932,8 +1932,8 @@ - if(editor_result & COMP_CANCEL){ - ret = -1; - q_status_message1(SM_ORDER, 0, 3, -- "Address book %s is cancelled", -- edit ? "change" : "add"); -+ "取消地址簿的%s", -+ edit ? "修改" : "新增"); - } - else if(editor_result & COMP_EXIT){ - if(!strcmp(server, def_serv ? def_serv : "") && -@@ -1941,8 +1941,8 @@ - !strcmp(nickname, def_nick ? def_nick : "")){ - ret = -1; - q_status_message1(SM_ORDER, 0, 3, -- "No change: Address book %s is cancelled", -- edit ? "change" : "add"); -+ "沒有改變:取消地址簿的%s", -+ edit ? "修改" : "新增"); - } - else{ - -@@ -2009,8 +2009,8 @@ - - if(*tmp == '\0'){ - q_status_message1(SM_ORDER, 0, 3, -- "Address book %s is cancelled", -- edit ? "change" : "add"); -+ "取消地址簿的%s", -+ edit ? "修改" : "新增"); - ret = -1; - goto get_out; - } -@@ -2035,8 +2035,8 @@ - if(set_variable_list(global ? V_GLOB_ADDRBOOK : V_ADDRESSBOOK, - new_list, TRUE)){ - q_status_message1(SM_ORDER, 0, 3, -- "%s cancelled: couldn't save pine configuration file", -- edit ? "Change" : "Add"); -+ "取消%s:無法存入 pine 的設定檔", -+ edit ? "修改" : "新增"); - - set_current_val(&vars[global ? V_GLOB_ADDRBOOK : V_ADDRESSBOOK], - TRUE, FALSE); -@@ -2209,7 +2209,7 @@ - - if(ps_global->readonly_pinerc){ - if(err) -- *err = "Delete cancelled: config file not changeable"; -+ *err = "取消刪除:設定檔無法被改變"; - - return -1; - } -@@ -2226,10 +2226,10 @@ - if(err){ - if(pab->type & GLOBAL) - *err = -- "Cancelled: Sys. Mgmt. does not allow changing global address book config"; -+ "動作取消:系統管理員不允許\改變整體的地址簿設定"; - else - *err = -- "Cancelled: Sys. Mgmt. does not allow changing address book config"; -+ "動作取消:系統管理員不允許\改變地址簿設定"; - } - - return -1; -@@ -2282,8 +2282,8 @@ - - if(cnt > 1){ - static ESCKEY_S opts[] = { -- {'i', 'i', "I", "Ignore All"}, -- {'r', 'r', "R", "Remove One"}, -+ {'i', 'i', "I", "忽略全部"}, -+ {'r', 'r', "R", "移除一個"}, - {-1, 0, NULL, NULL}}; - - sprintf(tmp, -@@ -2301,7 +2301,7 @@ - - case 'x': - if(err) -- *err = "Delete cancelled"; -+ *err = "取消刪除"; - - return -1; - } -@@ -2312,7 +2312,7 @@ - case 'n': - case 'x': - if(err) -- *err = "Delete cancelled"; -+ *err = "取消刪除"; - - return -1; - -@@ -2357,7 +2357,7 @@ - case 'x': /* Cancel */ - default: - if(err) -- *err = "Delete cancelled"; -+ *err = "取消刪除"; - - return -1; - } -@@ -2377,7 +2377,7 @@ - case 'x': - default: - if(err) -- *err = "Delete cancelled"; -+ *err = "取消刪除"; - - return -1; - -@@ -2438,7 +2438,7 @@ - case 'n': - default: - if(err) -- *err = "Delete cancelled"; -+ *err = "取消刪除"; - - return -1; - } -@@ -2577,7 +2577,7 @@ - /* this also frees old variable contents for us */ - if(set_variable_list(varnum, new_list, TRUE)){ - if(err) -- *err = "Delete cancelled: couldn't save pine configuration file"; -+ *err = "取消刪除:無法存入 pine 的設定檔"; - - set_current_val(&vars[varnum], TRUE, FALSE); - free_list_array(&new_list); -@@ -2644,7 +2644,7 @@ - - if(ps_global->readonly_pinerc){ - if(msg) -- *msg = cpystr("Shuffle cancelled: config file not changeable"); -+ *msg = cpystr("取消重整:設定檔無法被改變"); - - return -1; - } -@@ -2654,12 +2654,12 @@ - opts[i].ch = 'u'; - opts[i].rval = 'u'; - opts[i].name = "U"; -- opts[i++].label = "Up"; -+ opts[i++].label = "上移"; - - opts[i].ch = 'd'; - opts[i].rval = 'd'; - opts[i].name = "D"; -- opts[i++].label = "Down"; -+ opts[i++].label = "下移"; - - opts[i].ch = -1; - deefault = 'u'; -@@ -2667,7 +2667,7 @@ - if(pab->type & GLOBAL){ - if(vars[V_GLOB_ADDRBOOK].is_fixed){ - if(msg) -- *msg = cpystr("Cancelled: Sys. Mgmt. does not allow changing global address book config"); -+ *msg = cpystr("動作取消:系統管理員不允許\改變整體的地址簿設定"); - - return -1; - } -@@ -2687,7 +2687,7 @@ - else{ - if(vars[V_ADDRESSBOOK].is_fixed){ - if(msg) -- *msg = cpystr("Cancelled: Sys. Mgmt. does not allow changing address book config"); -+ *msg = cpystr("動作取消:系統管理員不允許\改變地址簿設定"); - - return -1; - } -@@ -2726,7 +2726,7 @@ - - if(rv == 'x'){ - if(msg) -- *msg = cpystr("Shuffle cancelled"); -+ *msg = cpystr("取消重整"); - - return -1; - } -@@ -2769,7 +2769,7 @@ - enum {NotSet, Pers, Glob, Empty} type1, type2; - int i, j, retval = -1; - struct variable *vars = ps_global->vars; -- char *cancel_msg = "Shuffle cancelled: couldn't save configuration file"; -+ char *cancel_msg = "取消重整:無法存入設定檔"; - - dprint(5, (debugfile, "- do_the_shuffle(%d, %d) -\n", anum1, anum2)); - -@@ -2783,7 +2783,7 @@ - if(type1 == Empty){ - if(msg) - *msg = -- cpystr("Shuffle cancelled: highlight entry you wish to shuffle"); -+ cpystr("取消重整:請先標示欲重整的項目"); - - return(retval); - } -@@ -2800,14 +2800,14 @@ - - if((type1 == Pers || type2 == Pers) && vars[V_ADDRESSBOOK].is_fixed){ - if(msg) -- *msg = cpystr("Cancelled: Sys. Mgmt. does not allow changing address book configuration"); -+ *msg = cpystr("動作取消:系統管理員不允許\改變地址簿設定"); - - return(retval); - } - - if((type1 == Glob || type2 == Glob) && vars[V_GLOB_ADDRBOOK].is_fixed){ - if(msg) -- *msg = cpystr("Cancelled: Sys. Mgmt. does not allow changing global address book config"); -+ *msg = cpystr("動作取消:系統管理員不允許\改變整體的地址簿設定"); - - return(retval); - } -@@ -3312,7 +3312,7 @@ - AdrBk_Entry *abe; - VCARD_INFO_S *vinfo; - static ESCKEY_S ab_export_opts[] = { -- {ctrl('T'), 10, "^T", "To Files"}, -+ {ctrl('T'), 10, "^T", "檔案列表"}, - {-1, 0, NULL, NULL}, - {-1, 0, NULL, NULL}}; - static ESCKEY_S vcard_or_addresses[] = { -@@ -3335,7 +3335,7 @@ - - switch(i){ - case 'x': -- cancel_warning(NO_DING, "export"); -+ cancel_warning(NO_DING, "匯出"); - return(ret); - - case 'a': -@@ -3364,7 +3364,7 @@ - ab_export_opts[++r].ch = ctrl('I'); - ab_export_opts[r].rval = 11; - ab_export_opts[r].name = "TAB"; -- ab_export_opts[r].label = "Complete"; -+ ab_export_opts[r].label = "完成"; - } - - ab_export_opts[++r].ch = -1; -@@ -3377,7 +3377,7 @@ - if(r < 0){ - switch(r){ - case -1: -- cancel_warning(NO_DING, "export"); -+ cancel_warning(NO_DING, "匯出"); - break; - - case -2: -@@ -3787,7 +3787,7 @@ - switch(want_to("Expand nicknames", 'y', 'x', h_ab_forward,WT_NORM)){ - case 'x': - gf_clear_so_writec((STORE_S *) pb->contents.text.data); -- cancel_warning(NO_DING, "forward"); -+ cancel_warning(NO_DING, "轉寄"); - goto bomb; - - case 'y': -@@ -3871,7 +3871,7 @@ - - gf_clear_so_writec((STORE_S *) pb->contents.text.data); - -- pine_send(outgoing, &body, "FORWARDING ADDRESS BOOK ENTRY", role, NULL, -+ pine_send(outgoing, &body, "轉寄地址簿項目", role, NULL, - NULL, NULL, NULL, NULL, 0); - - ps->mangled_screen = 1; -@@ -4339,8 +4339,8 @@ - char tmp[200]; - ACTION_LIST_S *action_list = NULL, *al; - static ESCKEY_S save_or_export[] = { -- {'s', 's', "S", "Save"}, -- {'e', 'e', "E", "Export"}, -+ {'s', 's', "S", "存檔"}, -+ {'e', 'e', "E", "匯出"}, - {-1, 0, NULL, NULL}}; - - sprintf(tmp, "Save%s to address book or Export to filesystem ? ", -@@ -4351,7 +4351,7 @@ - h_ab_save_exp, RB_NORM); - switch(i){ - case 'x': -- cancel_warning(NO_DING, "save"); -+ cancel_warning(NO_DING, "存檔"); - return(0); - - case 'e': -@@ -4534,7 +4534,7 @@ - if(action_list) - fs_give((void **)&action_list); - -- cancel_warning(NO_DING, "save"); -+ cancel_warning(NO_DING, "存檔"); - return(ret); - } - -@@ -4715,7 +4715,7 @@ - q_status_message(SM_ORDER | SM_DING, 3, 4, - "Save only partially completed"); - else -- cancel_warning(NO_DING, "save"); -+ cancel_warning(NO_DING, "存檔"); - } - else if (how_many_to_copy + how_many_no_action - - (skip_dups ? how_many_dups : 0) > 0){ -@@ -4792,15 +4792,15 @@ - curopen = cur_is_open(); - if(!agg && curopen){ - static ESCKEY_S prt[] = { -- {'a', 'a', "A", "AddressBook"}, -- {'e', 'e', "E", "Entry"}, -+ {'a', 'a', "A", "地址簿"}, -+ {'e', 'e', "E", "項目"}, - {-1, 0, NULL, NULL}}; - - prompt = "Print Address Book or just this Entry? "; - switch(radio_buttons(prompt, -FOOTER_ROWS(ps_global), prt, 'a', 'x', - NO_HELP, RB_NORM)){ - case 'x' : -- cancel_warning(NO_DING, "print"); -+ cancel_warning(NO_DING, "列印"); - ps_global->mangled_footer = 1; - return 0; - -@@ -4871,7 +4871,7 @@ - switch(want_to("Expand nicknames", 'y', 'x', h_ab_forward, - WT_NORM)){ - case 'x': -- cancel_warning(NO_DING, "print"); -+ cancel_warning(NO_DING, "列印"); - ps_global->mangled_footer = 1; - return 0; - -@@ -5145,7 +5145,7 @@ - if(F_ON(F_CMBND_ABOOK_DISP,ps_global)) - lineno = 0L - XTRA_TITLE_LINES_IN_OLD_ABOOK_DISP; - else{ -- print_text1(" ADDRESS BOOK %s\n\n", -+ print_text1(" 地址簿 %s\n\n", - as.adrbks[as.cur].nickname); - lineno = 0L; - } -@@ -5211,7 +5211,7 @@ - dprint(2, (debugfile, "- ab_agg_delete -\n")); - - if(agg){ -- sprintf(prompt, "Really delete %d selected entries", as.selections); -+ sprintf(prompt, "確定刪除 %d 選取的項目", as.selections); - ch = want_to(prompt, 'n', 'n', NO_HELP, WT_NORM); - if(ch == 'y'){ - adrbk_cntr_t newelnum, flushelnum = NO_NEXT; -@@ -5378,7 +5378,7 @@ - } - } - else -- cmd_cancelled("Apply Delete command"); -+ cmd_cancelled("套用刪除命令"); - } - - return(ret); -@@ -5426,7 +5426,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: -@@ -5434,13 +5434,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; - } - -@@ -5539,7 +5539,7 @@ - return 0; - } - else{ -- q_status_message(SM_INFO, 0, 2, "Entry not deleted"); -+ q_status_message(SM_INFO, 0, 2, "該項目未被刪除"); - return 0; - } - } -@@ -5675,7 +5675,7 @@ - if(r == 1 || r != 10 && fbuf[0] == '\0'){ - ps->mangled_footer = 1; - if(error) -- *error = cpystr("Cancelled"); -+ *error = cpystr("取消"); - - return(ret); - } -@@ -5716,7 +5716,7 @@ - pbuf.browse_help = h_composer_browse; - pbuf.attach_help = h_composer_ctrl_j; - pbuf.composer_help = h_composer; -- pbuf.pine_anchor = set_titlebar("SEARCH DIRECTORY SERVER", -+ pbuf.pine_anchor = set_titlebar("搜尋地址伺服器", - ps_global->mail_stream, - ps_global->context_current, - ps_global->cur_folder, -@@ -5990,10 +5990,10 @@ - - HELP_MENU, - OTHER_MENU, -- {"V","ViewLink",{MC_VIEW_HANDLE,3,{'v',ctrl('m'),ctrl('j')}},KS_NONE}, -+ {"V","檢視鏈結",{MC_VIEW_HANDLE,3,{'v',ctrl('m'),ctrl('j')}},KS_NONE}, - NULL_MENU, -- {"^B","PrevLink",{MC_PREV_HANDLE,1,{ctrl('B')}},KS_NONE}, -- {"^F","NextLink",{MC_NEXT_HANDLE,1,{ctrl('F')}},KS_NONE}, -+ {"^B","前一鏈結",{MC_PREV_HANDLE,1,{ctrl('B')}},KS_NONE}, -+ {"^F","次一鏈結",{MC_NEXT_HANDLE,1,{ctrl('F')}},KS_NONE}, - NULL_MENU, - NULL_MENU, - NULL_MENU, -@@ -6027,13 +6027,13 @@ - memset(&sargs, 0, sizeof(SCROLL_S)); - sargs.text.text = so_text(srcstore); - sargs.text.src = srctype; -- sargs.text.desc = "expanded entry"; -+ sargs.text.desc = "已展開的項目"; - sargs.text.handles= handles; -- sargs.bar.title = "DIRECTORY ENTRY"; -+ sargs.bar.title = "地址項目"; - sargs.proc.tool = process_ldap_cmd; - sargs.proc.data.p = (void *) winning_e; - sargs.help.text = h_ldap_view; -- sargs.help.title = "HELP FOR DIRECTORY VIEW"; -+ sargs.help.title = "地址項目的輔助說明"; - sargs.keys.menu = &ldap_view_keymenu; - setbitmap(sargs.keys.bitmap); - -@@ -6511,7 +6511,7 @@ - struct headerentry *he; - void (*redraw_pico)(); - { -- return("Cancelled"); -+ return("取消"); - } - - diff --git a/chinese/pine4/files/patch-ax b/chinese/pine4/files/patch-ax deleted file mode 100644 index ebcc481b2ef7..000000000000 --- a/chinese/pine4/files/patch-ax +++ /dev/null @@ -1,1256 +0,0 @@ ---- pine/folder.c.orig Thu Oct 14 17:19:43 1999 -+++ pine/folder.c Thu Oct 14 17:19:45 1999 -@@ -58,10 +58,10 @@ - #include "headers.h" - - --#define CLICKHERE "[ Select Here to See Expanded List ]" --#define CLICKHERETOO "[ ** Empty List ** Select Here to Try Re-Expanding ]" -+#define CLICKHERE "[ 選這裡以檢視展開的列表 ]" -+#define CLICKHERETOO "[ ** 空的列表 ** 選這裡來重新展開 ]" - #define CLICKHERETOONEWS \ -- "[ ** Empty List ** Use \"A Subscribe\" to subscribe to a newsgroup ]" -+ "[ ** 空的列表 ** 使用 \"A Subscribe\" 來訂閱一個新聞組群 ]" - #define ALL_FOUND(X) (((X)->dir->status & CNTXT_NOFIND) == 0 && \ - ((X)->dir->status & CNTXT_PARTFIND) == 0) - #define FLDR_NAME(X) ((X) ? ((X)->nickname ? (X)->nickname : (X)->name) :"") -@@ -70,13 +70,13 @@ - FOLDERS((S)->text.handles->h.f.context)) \ - : NULL) - #define SUBSCRIBE_PMT \ -- "Enter newsgroup name (or partial name to get a list): " --#define LISTMODE_GRIPE "Use \"X\" to mark selections in list mode" --#define SEL_ALTER_PMT "ALTER folder selection : " --#define SEL_TEXT_PMT "Select by folder Name or Contents ? " --#define SEL_PROP_PMT "Select by which folder property ? " -+ "輸入新聞組群名稱(或部份名稱以取得列表):" -+#define LISTMODE_GRIPE "以 \"X\" 來在列表模式中標示選擇" -+#define SEL_ALTER_PMT "更改資料匣的選擇:" -+#define SEL_TEXT_PMT "根據資料匣名稱或內容選擇?" -+#define SEL_PROP_PMT "根據哪一個資料匣性質?" - #define DIR_FOLD_PMT \ -- "Folder by the same name *MAY* get deleted as well. Continue" -+ "同名稱的資料匣 *可能* 被刪除。繼續" - - #define mail_list(S, R, N) mail_list_internal(S, R, N) - -@@ -319,15 +319,15 @@ - /* - * Various screen keymenu/command binding s. - */ --#define PREVC_MENU {"P", "PrevCltn", {MC_PREVITEM, 1, {'p'}}, KS_NONE} --#define NEXTC_MENU {"N", "NextCltn", {MC_NEXTITEM, 2, {'n',TAB}}, KS_NONE} --#define DELC_MENU {"D", "Del Cltn", {MC_DELETE,2,{'d',KEY_DEL}}, KS_NONE} --#define PREVF_MENU {"P", "PrevFldr", {MC_PREV_HANDLE, 3, \ -+#define PREVC_MENU {"P", "前一總集", {MC_PREVITEM, 1, {'p'}}, KS_NONE} -+#define NEXTC_MENU {"N", "次一總集", {MC_NEXTITEM, 2, {'n',TAB}}, KS_NONE} -+#define DELC_MENU {"D", "刪除總集", {MC_DELETE,2,{'d',KEY_DEL}}, KS_NONE} -+#define PREVF_MENU {"P", "前一資料匣", {MC_PREV_HANDLE, 3, \ - {'p', ctrl('B'), KEY_LEFT}}, KS_NONE} --#define NEXTF_MENU {"N", "NextFldr", {MC_NEXT_HANDLE, 4, \ -+#define NEXTF_MENU {"N", "次一資料匣", {MC_NEXT_HANDLE, 4, \ - {'n', ctrl('F'), TAB, KEY_RIGHT}}, \ - KS_NONE} --#define CIND_MENU {"I", "CurIndex", {MC_INDEX,1,{'i'}}, KS_FLDRINDEX} -+#define CIND_MENU {"I", "索引", {MC_INDEX,1,{'i'}}, KS_FLDRINDEX} - - static struct { - int num_done; -@@ -337,8 +337,8 @@ - static struct key context_mgr_keys[] = - {HELP_MENU, - OTHER_MENU, -- {"<", "Main Menu", {MC_MAIN,3,{'m','<',','}}, KS_EXITMODE}, -- {">", "[View Cltn]", -+ {"<", "主選單", {MC_MAIN,3,{'m','<',','}}, KS_EXITMODE}, -+ {">", "[檢視總集]", - {MC_CHOICE,5,{'v','>','.',ctrl('M'),ctrl('J')}}, KS_NONE}, - PREVC_MENU, - NEXTC_MENU, -@@ -370,15 +370,15 @@ - static struct key context_cfg_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}, -+ {"E", "離開設定", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, -+ {"C", "[修改]", {MC_EDIT,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE}, - PREVC_MENU, - NEXTC_MENU, - PREVPAGE_MENU, - NEXTPAGE_MENU, -- {"A", "Add Cltn", {MC_ADD,1,{'a'}}, KS_NONE}, -+ {"A", "新增總集", {MC_ADD,1,{'a'}}, KS_NONE}, - DELC_MENU, -- {"$", "Shuffle", {MC_SHUFFLE,1,{'$'}},KS_NONE}, -+ {"$", "重整", {MC_SHUFFLE,1,{'$'}},KS_NONE}, - WHEREIS_MENU, - - HELP_MENU, -@@ -397,9 +397,9 @@ - - static struct key context_select_keys[] = - {HELP_MENU, -- {"E", "ExitSelect", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, -+ {"E", "離開", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, - NULL_MENU, -- {">", "[View Cltn]", -+ {">", "[檢視總集]", - {MC_CHOICE, 5, {'v','>','.',ctrl('M'),ctrl('J')}}, KS_NONE}, - PREVC_MENU, - NEXTC_MENU, -@@ -413,9 +413,9 @@ - - static struct key context_fcc_keys[] = - {HELP_MENU, -- {"E", "ExitSelect", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, -+ {"E", "離開", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, - NULL_MENU, -- {">", "[View Cltn]", -+ {">", "[檢視總集]", - {MC_CHOICE, 5, {'v','>','.',ctrl('M'),ctrl('J')}}, KS_NONE}, - PREVC_MENU, - NEXTC_MENU, -@@ -437,23 +437,23 @@ - NEXTF_MENU, - PREVPAGE_MENU, - NEXTPAGE_MENU, -- {"A","Add",{MC_ADDFLDR,1,{'a'}},KS_NONE}, -+ {"A","新增",{MC_ADDFLDR,1,{'a'}},KS_NONE}, - DELETE_MENU, -- {"R","Rename",{MC_RENAMEFLDR,1,{'r'}}, KS_NONE}, -+ {"R","更名",{MC_RENAMEFLDR,1,{'r'}}, KS_NONE}, - WHEREIS_MENU, - - HELP_MENU, - OTHER_MENU, - QUIT_MENU, - MAIN_MENU, -- {"V", "[View Fldr]", {MC_OPENFLDR}, KS_NONE}, -+ {"V", "[檢視檔案匣]", {MC_OPENFLDR}, KS_NONE}, - GOTO_MENU, - CIND_MENU, - COMPOSE_MENU, -- {"%", "Print", {MC_PRINTFLDR,1,{'%'}}, KS_PRINT}, -- {"Z", "ZoomMode", {MC_ZOOM,1,{'z'}}, KS_NONE}, -- {";","Select",{MC_SELECT,1,{';'}},KS_SELECT}, -- {":","SelectCur",{MC_SELCUR,1,{':'}},KS_SELECT}, -+ {"%", "列印", {MC_PRINTFLDR,1,{'%'}}, KS_PRINT}, -+ {"Z", "縮放模式", {MC_ZOOM,1,{'z'}}, KS_NONE}, -+ {";","選擇",{MC_SELECT,1,{';'}},KS_SELECT}, -+ {":","選擇目前的",{MC_SELCUR,1,{':'}},KS_SELECT}, - - HELP_MENU, - OTHER_MENU, -@@ -479,7 +479,7 @@ - - static struct key folder_sel_keys[] = - {HELP_MENU, -- {"E", "ExitSelect", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, -+ {"E", "離開", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, - NULL_MENU, - {NULL, NULL, {MC_CHOICE,3,{0,ctrl('M'),ctrl('J')}}, - KS_NONE}, -@@ -498,14 +498,14 @@ - - static struct key folder_sub_keys[] = - {HELP_MENU, -- {"S", "Subscribe", {MC_CHOICE,1,{'s'}}, KS_NONE}, -- {"E", "ExitSubscb", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, -- {NULL, "[Select]", {MC_CHOICE,3,{'s',ctrl('M'),ctrl('J')}}, KS_NONE}, -+ {"S", "訂閱\", {MC_CHOICE,1,{'s'}}, KS_NONE}, -+ {"E", "離開", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, -+ {NULL, "[選擇]", {MC_CHOICE,3,{'s',ctrl('M'),ctrl('J')}}, KS_NONE}, - PREVF_MENU, - NEXTF_MENU, - PREVPAGE_MENU, - NEXTPAGE_MENU, -- {"L", "List Mode", {MC_LISTMODE, 1, {'l'}}, KS_NONE}, -+ {"L", "列表模式", {MC_LISTMODE, 1, {'l'}}, KS_NONE}, - NULL_MENU, - NULL_MENU, - WHEREIS_MENU}; -@@ -518,8 +518,8 @@ - static struct key folder_post_keys[] = - {HELP_MENU, - NULL_MENU, -- {"E", "ExitSelect", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, -- {"S", "[Select]", {MC_CHOICE, 3, {'s',ctrl('M'),ctrl('J')}}, KS_NONE}, -+ {"E", "離開", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, -+ {"S", "[選擇]", {MC_CHOICE, 3, {'s',ctrl('M'),ctrl('J')}}, KS_NONE}, - PREVF_MENU, - NEXTF_MENU, - PREVPAGE_MENU, -@@ -562,10 +562,10 @@ - fs.agg_ops = F_ON(F_ENABLE_AGG_OPS, ps_global) != 0; - fs.relative_path = 1; - fs.f.valid = fl_val_gen; -- fs.f.title.bar = "FOLDER LIST"; -+ fs.f.title.bar = "信件匣列表"; - fs.f.title.style = FolderName; - fs.f.help.text = h_folder_maint; -- fs.f.help.title = "HELP FOR FOLDERS"; -+ fs.f.help.title = "信件匣列表的輔助說明"; - fs.km = &folder_km; - - if(context_isambig(ps->cur_folder)){ -@@ -646,12 +646,12 @@ - mailcap_free(); /* free resources we won't be using for a while */ - - memset(&css, 0, sizeof(CONT_SCR_S)); -- css.title = "SETUP COLLECTION LIST"; -+ css.title = "設定總集列表"; - css.print_string = "contexts "; - css.start = ps->context_current; - css.contexts = &ps_global->context_list; - css.help.text = h_collection_maint; -- css.help.title = "HELP FOR SETUP COLLECTION"; -+ css.help.title = "設定總集的輔助說明"; - css.keymenu = &c_cfg_km; - css.edit = 1; - -@@ -694,10 +694,10 @@ - fs.context = *cntxtp; - fs.combined_view = !sublist && F_ON(F_CMBND_FOLDER_DISP, ps_global) != 0; - fs.f.valid = fl_val_gen; -- fs.f.title.bar = "GOTO: SELECT FOLDER"; -+ fs.f.title.bar = "前往:選擇資料匣"; - fs.f.title.style = FolderName; - fs.f.help.text = h_folder_open; -- fs.f.help.title = "HELP FOR OPENING FOLDERS"; -+ fs.f.help.title = "開啟資料匣的輔助說明"; - fs.km = &folder_sel_km; - - /* If we were provided a string, -@@ -706,7 +706,7 @@ - if(sublist && *folder && context_isambig(folder)){ - if((*cntxtp)->use & CNTXT_INCMNG){ - q_status_message(SM_ORDER, 0, 3, -- "All folders displayed for Incoming Collection"); -+ "所有的資料匣被顯示為來源總集"); - } - else{ - folder_sublist_context(folder, *cntxtp, &fake_context, -@@ -757,10 +757,10 @@ - fs.context = *cntxtp; - fs.combined_view = F_ON(F_CMBND_FOLDER_DISP, ps_global) != 0; - fs.f.valid = fl_val_gen; -- fs.f.title.bar = "SAVE: SELECT FOLDER"; -+ fs.f.title.bar = "存檔:選擇資料匣"; - fs.f.title.style = MessageNumber; - fs.f.help.text = h_folder_save; -- fs.f.help.title = "HELP FOR SAVING MESSAGES TO FOLDERS"; -+ fs.f.help.title = "將信件存入資料匣的輔助說明"; - fs.km = &folder_sel_km; - - /* If we were provided a string, -@@ -769,7 +769,7 @@ - if(sublist && *folder && context_isambig(folder)){ - if((*cntxtp)->use & CNTXT_INCMNG){ - q_status_message(SM_ORDER, 0, 3, -- "All folders displayed for Incoming Collection"); -+ "所有的資料匣被顯示為來源總集"); - } - else{ - folder_sublist_context(folder, *cntxtp, &fake_context, -@@ -947,7 +947,7 @@ - /* leave (*new_dir)->ref == NULL */ - } - -- sprintf(tmp_20k_buf, "List of folders matching \"%s*\"", folder); -+ sprintf(tmp_20k_buf, "符合 \"%s*\" 的資料匣列表", folder); - (*new_dir)->desc = cpystr(tmp_20k_buf); - } - -@@ -1147,12 +1147,12 @@ - CONT_SCR_S css; - - memset(&css, 0, sizeof(CONT_SCR_S)); -- css.title = "COLLECTION LIST"; -+ css.title = "總集列表"; - css.print_string = "contexts "; - css.start = start; - css.contexts = &ps_global->context_list; - css.help.text = h_collection_screen; -- css.help.title = "HELP FOR COLLECTION LIST"; -+ css.help.title = "總集列表的輔助說明"; - css.keymenu = km; - css.edit = edit_config; - -@@ -1224,7 +1224,7 @@ - pbuf.browse_help = h_composer_browse; - pbuf.attach_help = h_composer_ctrl_j; - pbuf.composer_help = h_composer; -- sprintf(tmp, "FOLDER COLLECTION %s", func); -+ sprintf(tmp, "資料匣總集 %s", func); - pbuf.pine_anchor = set_titlebar(tmp, ps_global->mail_stream, - ps_global->context_current, - ps_global->cur_folder,ps_global->msgmap, -@@ -1473,10 +1473,10 @@ - else - exists = (i & FEX_ISDIR); - -- sprintf(prompt, "Exit%s" , -+ sprintf(prompt, "離開%s" , - exists -- ? " and save changes" -- : ", saving changes and creating Path"); -+ ? " 並存檔" -+ : ",存檔並建立路徑"); - if(want_to(prompt, 'y', 0, NO_HELP, WT_NORM) == 'y'){ - if(!exists && !mail_create(NULL, tmp)){ - flush_status_messages(1); /* mail_create gripes */ -@@ -1508,7 +1508,7 @@ - char *rstr = NULL; - void (*redraw)() = ps_global->redrawer; - #define CCA_PROMPT \ -- "Cancel Add (answering \"Yes\" will abandon any changes made) " -+ "取消新增 (回答 \"Yes\" 將放棄先前做過的任何改變) " - - ps_global->redrawer = redraw_pico; - fix_windsize(ps_global); -@@ -1623,7 +1623,7 @@ - FSTATE_S *fs; - { - if(f->subscribed){ -- q_status_message1(SM_ORDER, 0, 4, "Already subscribed to \"%s\"", -+ q_status_message1(SM_ORDER, 0, 4, "已訂閱\至 \"%s\"", - FLDR_NAME(f)); - return(0); - } -@@ -1667,7 +1667,7 @@ - } - else{ - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "Formatting Error: Can't create space for list"); -+ "格式化錯誤:無法為列表建立空間"); - return(NULL); - } - -@@ -1688,7 +1688,7 @@ - memset(&sargs, 0, sizeof(SCROLL_S)); - sargs.text.text = so_text(screen_text); - sargs.text.src = CharStar; -- sargs.text.desc = "folder list"; -+ sargs.text.desc = "信件匣列表"; - if(sargs.text.handles = folder_list_handle(fs, handles)) - sargs.start.on = Handle; - -@@ -1991,7 +1991,7 @@ - else if(fp->fs->combined_view - && (F_ON(F_CMBND_SUBDIR_DISP, ps_global) - || !c_list->dir->prev)){ -- static char *emptiness = "[No Folders in Collection]"; -+ static char *emptiness = "[總集中沒有資料匣]"; - - gf_puts(folder_list_center_space(emptiness, cols), pc); - len = folder_list_write(pc, c_list, -1, emptiness, -@@ -2001,7 +2001,7 @@ - else if(fp->fs->combined_view - && (F_ON(F_CMBND_SUBDIR_DISP, ps_global) - || !c_list->dir->prev)){ -- static char *unexpanded = "[Select Here to See Expanded List]"; -+ static char *unexpanded = "[選這裡以檢視展開後的列表]"; - - gf_puts(folder_list_center_space(unexpanded, cols), pc); - len = folder_list_write(pc, c_list, -1, unexpanded, -@@ -2220,11 +2220,11 @@ - q_status_message(SM_ORDER, 0, 1, LISTMODE_GRIPE); - } - else -- q_status_message(SM_ORDER, 0, 4, "Already in List Mode"); -+ q_status_message(SM_ORDER, 0, 4, "已經處於列表模式中"); - } - else - q_status_message(SM_ORDER, 0, 4, -- "No Folders! Can't enter List Mode"); -+ "沒有資料匣!無法進入列表模式"); - - break; - -@@ -2250,7 +2250,7 @@ - sparms->text.handles->h.f.index); - else - q_status_message(SM_ORDER, 0, 4, -- "No Folders! Nothing to View"); -+ "沒有資料匣!沒有可供檢視的項目"); - - break; - -@@ -2341,7 +2341,7 @@ - } - else - q_status_message(SM_ORDER | SM_DING, 0, 4, -- "Empty folder collection. No folder to rename!"); -+ "空的資料匣總集。沒有可供更名的資料匣!"); - - break; - -@@ -2351,7 +2351,7 @@ - if(!(sparms->text.handles - && folder_total(FOLDERS(sparms->text.handles->h.f.context)))){ - q_status_message(SM_ORDER | SM_DING, 0, 4, -- "Empty folder collection. No folder to delete!"); -+ "空的資料匣總集。沒有可供刪除的資料匣!"); - } - else{ - char next_folder[MAILTMPLEN+1]; -@@ -2455,7 +2455,7 @@ - } - else - q_status_message(SM_ORDER | SM_DING, 0, 4, -- "Empty folder collection. No folder to select!"); -+ "空的資料匣總集。沒有可供選擇的資料匣!"); - - break; - -@@ -2471,11 +2471,11 @@ - if(sparms->text.handles->h.f.context->use & CNTXT_ZOOM){ - sparms->text.handles->h.f.context->use &= ~CNTXT_ZOOM; - q_status_message(SM_ORDER, 0, 3, -- "Folder List Zoom mode is now off"); -+ "資料匣列表縮放模式目前為關閉狀態"); - } - else{ - q_status_message1(SM_ORDER, 0, 3, -- "In Zoomed list of %s folders. Use \"Z\" to restore regular list", -+ "在 %s 個資料匣縮放的列表中。使用 \"Z\" 來回復正常列表", - int2string(n)); - sparms->text.handles->h.f.context->use |= CNTXT_ZOOM; - } -@@ -2495,10 +2495,10 @@ - } - else - q_status_message(SM_ORDER, 0, 3, -- "No selected folders to Zoom on"); -+ "尚未選擇供放大的資料匣。"); - } - else -- q_status_message(SM_ORDER, 0, 4, "No Folders to Zoom on!"); -+ q_status_message(SM_ORDER, 0, 4, "沒有可供放大的資料匣!"); - - break; - -@@ -2611,7 +2611,7 @@ - empty++; - - if(empty) -- q_status_message(SM_ORDER | SM_DING, 3, 3, "Empty folder list!"); -+ q_status_message(SM_ORDER | SM_DING, 3, 3, "空的資料匣列表!"); - - return(rv); - } -@@ -2652,14 +2652,14 @@ - ? sparms->text.handles->h.f.context->dir->prev - : FPROC(sparms)->fs->context->dir->prev){ - sparms->keys.menu->keys[KM_COL_KEY].bind.ch[0] = 'e'; -- sparms->keys.menu->keys[KM_COL_KEY].label = "ParentDir"; -+ sparms->keys.menu->keys[KM_COL_KEY].label = "上層目錄"; - sparms->keys.menu->keys[KM_COL_KEY].bind.cmd = MC_PARENT; - } - else if((FPROC(sparms)->fs->context->next - || FPROC(sparms)->fs->context->prev) - && !FPROC(sparms)->fs->combined_view){ - sparms->keys.menu->keys[KM_COL_KEY].bind.ch[0] = 'e'; -- sparms->keys.menu->keys[KM_COL_KEY].label = "ClctnList"; -+ sparms->keys.menu->keys[KM_COL_KEY].label = "總集列表"; - sparms->keys.menu->keys[KM_COL_KEY].bind.cmd = MC_EXIT; - } - else{ -@@ -2671,7 +2671,7 @@ - sparms->keys.menu->keys[KM_MAIN_KEY].bind.cmd = MC_NONE; - sparms->keys.menu->keys[KM_MAIN_KEY].bind.nch = 0; - -- sparms->keys.menu->keys[KM_COL_KEY].label = "Main Menu"; -+ sparms->keys.menu->keys[KM_COL_KEY].label = "主選單"; - sparms->keys.menu->keys[KM_COL_KEY].bind.cmd = MC_MAIN; - sparms->keys.menu->keys[KM_COL_KEY].bind.ch[0] = 'm'; - } -@@ -2687,7 +2687,7 @@ - FOLDERS(sparms->text.handles->h.f.context)))){ - if(fp->isdir){ - if(fp->isfolder){ -- sparms->keys.menu->keys[KM_SEL_KEY].label = "View Dir"; -+ sparms->keys.menu->keys[KM_SEL_KEY].label = "檢視目錄"; - menu_clear_binding(sparms->keys.menu, 'v'); - menu_clear_binding(sparms->keys.menu, ctrl('M')); - menu_clear_binding(sparms->keys.menu, ctrl('J')); -@@ -2697,7 +2697,7 @@ - setbitn(KM_ALTVIEW_KEY, sparms->keys.bitmap); - } - else{ -- sparms->keys.menu->keys[KM_SEL_KEY].label = "[View Dir]"; -+ sparms->keys.menu->keys[KM_SEL_KEY].label = "[檢視目錄]"; - menu_add_binding(sparms->keys.menu, 'v', MC_CHOICE); - menu_add_binding(sparms->keys.menu, ctrl('M'), MC_CHOICE); - menu_add_binding(sparms->keys.menu, ctrl('J'), MC_CHOICE); -@@ -2705,7 +2705,7 @@ - } - } - else{ -- sparms->keys.menu->keys[KM_SEL_KEY].label = "[View Fldr]"; -+ sparms->keys.menu->keys[KM_SEL_KEY].label = "[檢視資料匣]"; - menu_add_binding(sparms->keys.menu, 'v', MC_CHOICE); - menu_add_binding(sparms->keys.menu, ctrl('M'), MC_CHOICE); - menu_add_binding(sparms->keys.menu, ctrl('J'), MC_CHOICE); -@@ -2715,7 +2715,7 @@ - else if(FPROC(sparms)->fs->combined_view - && sparms->text.handles && sparms->text.handles->h.f.context - && !sparms->text.handles->h.f.context->dir->prev){ -- sparms->keys.menu->keys[KM_SEL_KEY].label = "[View Cltn]"; -+ sparms->keys.menu->keys[KM_SEL_KEY].label = "[檢視總集]"; - menu_add_binding(sparms->keys.menu, 'v', MC_CHOICE); - menu_add_binding(sparms->keys.menu, ctrl('M'), MC_CHOICE); - menu_add_binding(sparms->keys.menu, ctrl('J'), MC_CHOICE); -@@ -2758,7 +2758,7 @@ - ? sparms->text.handles->h.f.context->dir->prev - : FPROC(sparms)->fs->context->dir->prev){ - sparms->keys.menu->keys[FC_COL_KEY].name = "<"; -- sparms->keys.menu->keys[FC_COL_KEY].label = "ParentDir"; -+ sparms->keys.menu->keys[FC_COL_KEY].label = "上層目錄"; - sparms->keys.menu->keys[FC_COL_KEY].bind.cmd = MC_PARENT; - sparms->keys.menu->keys[FC_COL_KEY].bind.ch[0] = '<'; - sparms->keys.menu->keys[FC_COL_KEY].bind.ch[1] = ','; -@@ -2774,7 +2774,7 @@ - || FPROC(sparms)->fs->context->prev) - && !FPROC(sparms)->fs->combined_view){ - sparms->keys.menu->keys[FC_COL_KEY].name = "<"; -- sparms->keys.menu->keys[FC_COL_KEY].label = "ClctnList"; -+ sparms->keys.menu->keys[FC_COL_KEY].label = "總集列表"; - sparms->keys.menu->keys[FC_COL_KEY].bind.cmd = MC_COLLECTIONS; - sparms->keys.menu->keys[FC_COL_KEY].bind.ch[0] = '<'; - sparms->keys.menu->keys[FC_COL_KEY].bind.ch[1] = ','; -@@ -2791,7 +2791,7 @@ - * turn off "ExitSelect" in first slot - */ - sparms->keys.menu->keys[FC_COL_KEY].name = "E"; -- sparms->keys.menu->keys[FC_COL_KEY].label = "ExitSelect"; -+ sparms->keys.menu->keys[FC_COL_KEY].label = "離開"; - sparms->keys.menu->keys[FC_COL_KEY].bind.cmd = MC_EXIT; - sparms->keys.menu->keys[FC_COL_KEY].bind.nch = 1; - sparms->keys.menu->keys[FC_COL_KEY].bind.ch[0] = 'e'; -@@ -2803,7 +2803,7 @@ - FOLDERS(sparms->text.handles->h.f.context))) - && fp->isdir){ - sparms->keys.menu->keys[FC_SEL_KEY].name = ">"; -- sparms->keys.menu->keys[FC_SEL_KEY].label = "[View Dir]"; -+ sparms->keys.menu->keys[FC_SEL_KEY].label = "[檢視目錄]"; - menu_clear_binding(sparms->keys.menu, 's'); - menu_add_binding(sparms->keys.menu, 'v', MC_CHOICE); - menu_add_binding(sparms->keys.menu, '>', MC_CHOICE); -@@ -2813,7 +2813,7 @@ - } - else{ - sparms->keys.menu->keys[FC_SEL_KEY].name = "S"; -- sparms->keys.menu->keys[FC_SEL_KEY].label = "[Select]"; -+ sparms->keys.menu->keys[FC_SEL_KEY].label = "[選擇]"; - menu_clear_binding(sparms->keys.menu, 'v'); - menu_clear_binding(sparms->keys.menu, '>'); - menu_clear_binding(sparms->keys.menu, '.'); -@@ -2851,14 +2851,14 @@ - if(FPROC(sparms)->fs->list_cntxt){ - clrbitn(SB_LIST_KEY, sparms->keys.bitmap); - sparms->keys.menu->keys[SB_SEL_KEY].name = "X"; -- sparms->keys.menu->keys[SB_SEL_KEY].label = "[Set/Unset]"; -+ sparms->keys.menu->keys[SB_SEL_KEY].label = "[設定/取消設定]"; - sparms->keys.menu->keys[SB_SEL_KEY].bind.cmd = MC_SELCUR; - sparms->keys.menu->keys[SB_SEL_KEY].bind.ch[0] = 'x'; - } - else{ - clrbitn(SB_SUB_KEY, sparms->keys.bitmap); - sparms->keys.menu->keys[SB_SEL_KEY].name = "S"; -- sparms->keys.menu->keys[SB_SEL_KEY].label = "[Subscribe]"; -+ sparms->keys.menu->keys[SB_SEL_KEY].label = "[訂閱\]"; - sparms->keys.menu->keys[SB_SEL_KEY].bind.cmd = MC_CHOICE; - sparms->keys.menu->keys[SB_SEL_KEY].bind.ch[0] = 's'; - } -@@ -2934,7 +2934,7 @@ - - default : - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "Unsupported Select option"); -+ "未支援的選項"); - return(0); - } - } -@@ -2948,7 +2948,7 @@ - */ - switch(q){ - case 'x': /* cancel */ -- cmd_cancelled("Select command"); -+ cmd_cancelled("選取命令"); - return(0); - - case 'c' : /* toggle current's selected state */ -@@ -2959,10 +2959,10 @@ - for(total = i = 0; i < n; i++) - folder_entry(i, FOLDERS(context))->selected = old_tot == 0; - -- q_status_message4(SM_ORDER, 0, 2, "%s%s folder%s %sselected", -- old_tot ? "" : "All ", -+ q_status_message3(SM_ORDER, 0, 2, "%s%s 個資料匣已被%s選擇", -+ old_tot ? "" : "全部 ", - comatose(old_tot ? old_tot : n), -- plural(old_tot ? old_tot : n), old_tot ? "UN" : ""); -+ old_tot ? "取消" : ""); - return(1); - - case 't' : /* Text */ -@@ -2979,7 +2979,7 @@ - - default : - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "Unsupported Select option"); -+ "未支援的選項"); - return(0); - } - -@@ -3007,34 +3007,30 @@ - - if(!(diff = (total = selected_folders(context)) - old_tot)){ - if(narrow) -- q_status_message4(SM_ORDER, 0, 2, -- "%s. %s folder%s remain%s selected.", -- j ? "No change resulted" -- : "No messages in intersection", -- comatose(old_tot), plural(old_tot), -- (old_tot == 1L) ? "s" : ""); -+ q_status_message2(SM_ORDER, 0, 2, -+ "%s。 仍有 %s 個資料匣被選擇。", -+ j ? "沒有造成改變" -+ : "交點中沒有信件", -+ comatose(old_tot)); - else if(old_tot && j) - q_status_message(SM_ORDER, 0, 2, -- "No change resulted. Matching folders already selected."); -+ "沒有造成改變。符合的資料匣已經被選擇了。"); - else - q_status_message1(SM_ORDER | SM_DING, 0, 2, -- "Select failed! No %sfolders selected.", -- old_tot ? "additional " : ""); -+ "選擇失敗!沒有%s資料匣被選擇。", -+ old_tot ? "額外的" : ""); - } - else if(old_tot){ - sprintf(tmp_20k_buf, -- "Select matched %ld folder%s. %s %sfolder%s %sselected.", -+ "選擇符合的 %ld 個資料匣!共計 %s 個資料匣被%s選擇。", - (diff > 0) ? diff : old_tot + diff, -- plural((diff > 0) ? diff : old_tot + diff), - comatose((diff > 0) ? total : -diff), -- (diff > 0) ? "total " : "", -- plural((diff > 0) ? total : -diff), -- (diff > 0) ? "" : "UN"); -+ (diff > 0) ? "" : "取消"); - q_status_message(SM_ORDER, 0, 2, tmp_20k_buf); - } - else -- q_status_message2(SM_ORDER, 0, 2, "Select matched %s folder%s.", -- comatose(diff), plural(diff)); -+ q_status_message1(SM_ORDER, 0, 2, "選擇符合的 %s 個資料匣!", -+ comatose(diff)); - - return(1); - } -@@ -3221,9 +3217,9 @@ - fp->prev = context->dir; - fp->status |= CNTXT_SUBDIR; - context->dir = fp; -- q_status_message2(SM_ORDER, 0, 3, "Now in %sdirectory: %s", -+ q_status_message2(SM_ORDER, 0, 3, "目前在 %s目錄中:%s", - folder_total(FOLDERS(context)) -- ? "" : "EMPTY ", fp->ref); -+ ? "" : "空的 ", fp->ref); - rv++; - } - else -@@ -3242,7 +3238,7 @@ - char *p; - - /* Provide context in new collection header */ -- sprintf(tmp_20k_buf, "Dir: %s", -+ sprintf(tmp_20k_buf, "目錄:%s", - ((p = strstr(cntxt->context, "%s")) && !*(p+2) - && !strncmp(fdp->ref, cntxt->context, p - cntxt->context)) - ? fdp->ref + (p - cntxt->context) : fdp->ref); -@@ -3289,12 +3285,12 @@ - context->dir = fp; - - if(fp->status & CNTXT_SUBDIR) -- q_status_message1(SM_ORDER, 0, 3, "Now in directory: %s", -+ q_status_message1(SM_ORDER, 0, 3, "目前所在目錄:%s", - strsquish(tmp_20k_buf + 500, fp->ref, - ps_global->ttyo->screen_cols - 22)); - else - q_status_message(SM_ORDER, 0, 3, -- "Returned to collection's top directory"); -+ "回到總集的最上層目錄"); - - rv++; - } -@@ -3483,12 +3479,12 @@ - if(context->use & CNTXT_INCMNG){ - char inbox_host[MAXPATH], *beg, *end = NULL; - ESCKEY_S *special_key; -- static ESCKEY_S host_key[] = {{ctrl('X'),12,"^X","Use Inbox Host"}, -+ static ESCKEY_S host_key[] = {{ctrl('X'),12,"^X","使用 Inbox 的主機"}, - {-1, 0, NULL, NULL}}; - - if(ps_global->readonly_pinerc){ - q_status_message(SM_ORDER,3,5, -- "Addition cancelled: config file not editable"); -+ "取消新增:無法編輯設定檔"); - return(FALSE); - } - -@@ -3510,7 +3506,7 @@ - else - special_key = NULL; - -- sprintf(tmp, "Name of server to contain added folder : "); -+ sprintf(tmp, "包含新增資料匣的主機名:"); - help = NO_HELP; - while(1){ - int flags = OE_APPEND_CURRENT; -@@ -3528,7 +3524,7 @@ - } - else if(rc == 1){ - q_status_message(SM_ORDER,0,2, -- "Addition of new folder cancelled"); -+ "取消新增資料匣"); - return(FALSE); - } - else if(rc == 0) -@@ -3538,7 +3534,7 @@ - - if(offset = strlen(add_folder)){ /* must be host for incoming */ - int i; -- sprintf(tmp, "Folder on \"%s\" to add : ", add_folder); -+ sprintf(tmp, "加入在 \"%s\" 上的資料匣:", add_folder); - for(i = offset;i >= 0; i--) - add_folder[i+1] = add_folder[i]; - -@@ -3547,7 +3543,7 @@ - add_folder[++offset] = '\0'; /* +2, total */ - } - else -- sprintf(tmp, "Folder name to add : "); -+ sprintf(tmp, "新增資料匣名稱:"); - - help = NO_HELP; - while(1){ -@@ -3555,14 +3551,14 @@ - - p = NULL; - if(isdir){ -- add_key[0].label = "Create Folder"; -+ add_key[0].label = "建立資料匣"; - if(tmp[0] == 'F') -- rplstr(tmp, 6, "Directory"); -+ rplstr(tmp, 6, "目錄"); - } - else{ -- add_key[0].label = "Create Directory"; -+ add_key[0].label = "建立目錄"; - if(tmp[0] == 'D') -- rplstr(tmp, 9, "Folder"); -+ rplstr(tmp, 9, "資料匣"); - } - - flags = OE_APPEND_CURRENT; -@@ -3576,10 +3572,10 @@ - if(!ps_global->show_dot_names && add_folder[offset] == '.'){ - if(cnt++ <= 0) - q_status_message(SM_ORDER,3,3, -- "Folder name can't begin with dot"); -+ "資料匣不能以點 \".\" 為名稱開頭"); - else - q_status_message1(SM_ORDER,3,3, -- "Config feature \"%s\" enables names beginning with dot", -+ "設定檔中 \"%s\" 的功\能可使資料匣以點 \".\" 為名稱開頭", - feature_list_name(F_ENABLE_DOT_FOLDERS)); - - display_message(NO_OP_COMMAND); -@@ -3598,7 +3594,7 @@ - } - else if(*p == context->dir->delim){ - q_status_message(SM_ORDER|SM_DING, 3, 3, -- "Can't have trailing directory delimiters!"); -+ "不能有目錄尾端的分隔號 \"/\"!"); - display_message('X'); - continue; - } -@@ -3620,7 +3616,7 @@ - : NO_HELP; - } - else if(rc == 1 || add_folder[0] == '\0') { -- q_status_message(SM_ORDER,0,2, "Addition of new folder cancelled"); -+ q_status_message(SM_ORDER,0,2, "取消新增資料匣"); - return(FALSE); - } - } -@@ -3639,7 +3635,7 @@ - - help = NO_HELP; - if(context->use & CNTXT_INCMNG){ -- sprintf(tmp, "Nickname for folder \"%s\" : ", &add_folder[offset]); -+ sprintf(tmp, "資料匣\"%s\" 的暱稱:", &add_folder[offset]); - while(1){ - int flags = OE_APPEND_CURRENT; - -@@ -3660,7 +3656,7 @@ - } - else if(rc == 1 || (rc != 3 && !*nickname)){ - q_status_message(SM_ORDER,0,2, -- "Addition of new folder cancelled"); -+ "取消新增資料匣"); - return(FALSE); - } - } -@@ -3675,7 +3671,7 @@ - f = folder_entry(offset, FOLDERS(context)); - if(!strucmp(FLDR_NAME(f), nickname[0] ? nickname : add_folder)){ - q_status_message1(SM_ORDER | SM_DING, 0, 3, -- "Incoming folder \"%s\" already exists", -+ "新進資料匣(Incoming folder) \"%s\" 已存在", - nickname[0] ? nickname : add_folder); - return(FALSE); - } -@@ -3728,18 +3724,18 @@ - if(nickname[0]) - strcpy(add_folder, nickname); /* known by new name */ - -- q_status_message1(SM_ORDER, 0, 3, "Folder \"%s\" created",add_folder); -+ q_status_message1(SM_ORDER, 0, 3, "資料匣 \"%s\" 已建立",add_folder); - return_val = add_folder; - } - else if(context_isambig(add_folder)){ - free_folder_list(context); -- q_status_message2(SM_ORDER, 0, 3, "%s \"%s\" created", -- isdir ? "Directory" : "Folder", add_folder); -+ q_status_message2(SM_ORDER, 0, 3, "%s \"%s\" 已建立", -+ isdir ? "目錄" : "資料匣", add_folder); - return_val = add_folder; - } - else - q_status_message1(SM_ORDER, 0, 3, -- "Folder \"%s\" created outside current collection", -+ "資料匣 \"%s\" 建立於目前的總集之外", - add_folder); - - return(return_val != NULL); -@@ -3778,13 +3774,13 @@ - subscribe_keys[i = 0].ch = ctrl('T'); - subscribe_keys[i].rval = 12; - subscribe_keys[i].name = "^T"; -- subscribe_keys[i++].label = "To All Grps"; -+ subscribe_keys[i++].label = "給所有的組群"; - - if(F_ON(F_ENABLE_TAB_COMPLETE,ps_global)){ - subscribe_keys[i].ch = ctrl('I'); - subscribe_keys[i].rval = 11; - subscribe_keys[i].name = "TAB"; -- subscribe_keys[i++].label = "Complete"; -+ subscribe_keys[i++].label = "完成"; - } - - subscribe_keys[i].ch = -1; -@@ -3845,7 +3841,7 @@ - } - else{ - q_status_message(SM_ORDER, 0, 2, -- "No group substring to match! Use ^T to list all news groups."); -+ "沒有符合的組群字串!請用 ^T 列出所有新聞組群。"); - continue; - } - -@@ -3898,10 +3894,10 @@ - else{ - if(rc == 12) - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "No groups to select from!"); -+ "沒有可供選擇的組群!"); - else - q_status_message1(SM_ORDER, 3, 3, -- "News group \"%s\" didn't match any existing groups", -+ "新聞組群 \"%s\" 不符合任何現存的組群", - folder); - free_folder_list(&subscribe_cntxt); - -@@ -3946,7 +3942,7 @@ - if(rc < 0){ - folder[0] = '\0'; /* make sure not to return partials */ - if(rc == -1) -- q_status_message(SM_ORDER, 0, 3, "Subscribe cancelled"); -+ q_status_message(SM_ORDER, 0, 3, "取消訂閱\"); - } - else{ - if(folders){ /*------ Actually do the subscription -----*/ -@@ -3968,7 +3964,7 @@ - */ - q_status_message1(errors ?SM_INFO : SM_ORDER, - errors ? 0 : 3, 3, -- "Error subscribing to \"%s\"", -+ "訂閱\至 \"%s\" 時發生錯誤", - (char *) flp->name); - errors++; - } -@@ -3992,13 +3988,13 @@ - - if(n == 0) - q_status_message(SM_ORDER | SM_DING, 3, 5, -- "Subscriptions failed, subscribed to no new groups"); -+ "訂閱\失敗,沒有訂閱\任何新組群"); - else - q_status_message3(SM_ORDER | (errors ? SM_DING : 0), - errors ? 3 : 0,3, -- "Subscribed to %s new groups%s%s", -+ "訂閱\至 %s 個新組群%s%s", - comatose((long)n), -- errors ? ", failed on " : "", -+ errors ? ",發生錯誤於 " : "", - errors ? comatose((long)errors) : ""); - - free_strlist(&folders); -@@ -4007,7 +4003,7 @@ - (void) context_apply(tmp_20k_buf, &subscribe_cntxt, folder); - if(mail_subscribe(NULL, tmp_20k_buf) == 0L){ - q_status_message1(SM_ORDER | SM_DING, 3, 3, -- "Error subscribing to \"%s\"", folder); -+ "訂閱\至 \"%s\" 時發生錯誤", folder); - } - else if(ALL_FOUND(cntxt)){ - /*---- Update the screen display data structures -----*/ -@@ -4021,7 +4017,7 @@ - } - - if(folder[0]) -- q_status_message1(SM_ORDER, 0, 3, "Subscribed to \"%s\"", folder); -+ q_status_message1(SM_ORDER, 0, 3, "訂閱\至 \"%s\"", folder); - } - - free_fdir(&subscribe_cntxt.dir, 1); -@@ -4062,19 +4058,19 @@ - - if(NEWS_TEST(context)){ - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "Can't rename bulletin boards or news groups!"); -+ "無法更改電子佈告欄或新聞組群的名稱!"); - return(0); - } - else if(!folder_total(FOLDERS(context))){ - q_status_message(SM_ORDER | SM_DING, 0, 4, -- "Empty folder collection. No folder to rename!"); -+ "空的資料匣總集。沒有可供更名的資料匣!"); - return(0); - } - else if((new_f = folder_entry(index, FOLDERS(context))) - && (!strucmp(FLDR_NAME(new_f), ps_global->inbox_name) - || new_f->parent)) { - q_status_message1(SM_ORDER | SM_DING, 3, 4, -- "Can't change special folder name \"%s\"", -+ "無法更改特殊資料匣 \"%s\" 的名稱", - new_f->parent - ? new_f->nickname - : ps_global->inbox_name); -@@ -4090,11 +4086,11 @@ - - ren_cur = strcmp(folder, ps_global->cur_folder) == 0; - -- sprintf(prompt, "Rename %s to : ", -+ sprintf(prompt, "將 %s 更名為:", - (context->use & CNTXT_INCMNG) -- ? "nickname" -+ ? "暱稱" - : (isdir = new_f->isdir) -- ? "directory" : "folder"); -+ ? "目錄" : "資料匣"); - help = NO_HELP; - strcpy(new_name, folder); - while(1) { -@@ -4115,10 +4111,10 @@ - if(!ps_global->show_dot_names && *new_name == '.'){ - if(cnt++ <= 0) - q_status_message(SM_ORDER,3,3, -- "Folder name can't begin with dot"); -+ "資料匣不能以點 \".\" 為名稱開頭"); - else - q_status_message1(SM_ORDER,3,3, -- "Config feature \"%s\" enables names beginning with dot", -+ "設定檔中 \"%s\" 的功\能可使資料匣以點 \".\" 為名稱開頭", - feature_list_name(F_ENABLE_DOT_FOLDERS)); - - display_message(NO_OP_COMMAND); -@@ -4127,13 +4123,13 @@ - - if(folder_index(new_name, context, FI_ANY) >= 0){ - q_status_message1(SM_ORDER, 3, 3, -- "Folder \"%s\" already exists", -+ "資料匣 \"%s\" 已存在", - pretty_fn(new_name)); - display_message(NO_OP_COMMAND); - continue; - } - else if(!strucmp(new_name, ps_global->inbox_name)){ -- q_status_message1(SM_ORDER, 3, 3, "Can't rename folder to %s", -+ q_status_message1(SM_ORDER, 3, 3, "無法將資料匣更名至 %s", - ps_global->inbox_name); - display_message(NO_OP_COMMAND); - continue; -@@ -4156,7 +4152,7 @@ - if(rc == 1 - || !(*new_name || (context->use & CNTXT_INCMNG)) - || !strcmp(new_name, folder)){ -- q_status_message(SM_ORDER, 0, 2, "Folder rename cancelled"); -+ q_status_message(SM_ORDER, 0, 2, "取消資料匣更名"); - return(0); - } - -@@ -4237,7 +4233,7 @@ - /* renaming sent-mail or saved-messages */ - if(context_create(context, NULL, folder)){ - q_status_message3(SM_ORDER,0,3, -- "Folder \"%s\" renamed to \"%s\". New \"%s\" created", -+ "資料匣 \"%s\" 名稱改為 \"%s\"。建立新的 \"%s\"", - folder, new_name, - pretty_fn( - (strcmp(ps_global->VAR_DEFAULT_SAVE_FOLDER, -@@ -4248,7 +4244,7 @@ - } - else{ - q_status_message1(SM_ORDER | SM_DING, 3, 4, -- "Error creating new \"%s\"", folder); -+ "建立新的資料匣 \"%s\" 時發生錯誤", folder); - - dprint(2, (debugfile, "Error creating \"%s\" in %s context\n", - folder, context->context)); -@@ -4256,7 +4252,7 @@ - } - else - q_status_message2(SM_ORDER, 0, 3, -- "Folder \"%s\" renamed to \"%s\"", -+ "資料匣 \"%s\" 名稱改為 \"%s\"", - pretty_fn(folder), pretty_fn(new_name)); - - free_folder_list(context); -@@ -4294,7 +4290,7 @@ - int ret, close_opened = 0, blast_folder = 1; - - if(NEWS_TEST(context)){ -- static char fmt[] = "Really unsubscribe from \"%.*s\""; -+ static char fmt[] = "確定自 \"%.*s\" 中解除訂閱\嗎"; - - folder = folder_entry(index, FOLDERS(context))->name; - /* 4 is strlen("%.*s") */ -@@ -4316,7 +4312,7 @@ - (void) context_apply(tmp_20k_buf, context, folder); - if(!mail_unsubscribe(NULL, tmp_20k_buf)){ - q_status_message1(SM_ORDER | SM_DING, 3, 3, -- "Error unsubscribing from \"%s\"", folder); -+ "自 \"%s\" 取消訂閱\時發生錯誤", folder); - return(0); - } - -@@ -4333,12 +4329,12 @@ - - if(ps_global->readonly_pinerc && (context->use & CNTXT_INCMNG)){ - q_status_message(SM_ORDER,3,5, -- "Deletion cancelled: config file not editable"); -+ "取消刪除:無法編輯設定檔"); - return(0); - } - else if(strucmp(folder, ps_global->inbox_name) == 0 || fp->parent) { - q_status_message1(SM_ORDER | SM_DING, 3, 4, -- "Can't delete special folder \"%s\".", ps_global->inbox_name); -+ "無法刪除特殊資料匣 \"%s\"。", ps_global->inbox_name); - return(0); - } - else if(context == ps_global->context_current -@@ -4353,7 +4349,7 @@ - - if(ret){ - q_status_message1(SM_ORDER | SM_DING, 3, 4, -- "Can't delete non-empty directory \"%s\".", -+ "無法刪除非空的目錄 \"%s\"。", - folder); - return(0); - } -@@ -4364,19 +4360,19 @@ - */ - if(folder_index(folder, context, FI_FOLDER) >= 0 - && (ret = want_to(DIR_FOLD_PMT,'n','x',NO_HELP,WT_NORM)) != 'y'){ -- q_status_message(SM_ORDER,0,3, (ret == 'x') ? "Delete cancelled" -- : "No folder deleted"); -+ q_status_message(SM_ORDER,0,3, (ret == 'x') ? "取消刪除" -+ : "沒有任何資料匣被刪除"); - return(0); - } - } - - if(context->use & CNTXT_INCMNG){ - static ESCKEY_S delf_opts[] = { -- {'n', 'n', "N", "Nickname only"}, -- {'b', 'b', "B", "Both Folder and Nickname"}, -+ {'n', 'n', "N", "僅有暱稱"}, -+ {'b', 'b', "B", "資料匣與暱稱"}, - {-1, 0, NULL, NULL} - }; --#define DELF_PROMPT "DELETE only Nickname or Both nickname and folder? " -+#define DELF_PROMPT "刪除「僅有暱稱」或「資料匣與暱稱」?" - - switch(radio_buttons(DELF_PROMPT, -FOOTER_ROWS(ps_global), - delf_opts,'n','x',NO_HELP,RB_NORM)){ -@@ -4385,7 +4381,7 @@ - break; - - case 'x' : -- cmd_cancelled("Delete"); -+ cmd_cancelled("刪除"); - return(0); - - default : -@@ -4393,13 +4389,13 @@ - } - } - else{ -- sprintf(ques_buf, "DELETE \"%s\"%s", folder, -- close_opened ? " (the currently open folder)" -- : fp->isdir ? " (a directory)" : ""); -+ sprintf(ques_buf, "刪除 \"%s\"%s", folder, -+ close_opened ? " (目前開啟的資料匣)" -+ : fp->isdir ? " (目錄)" : ""); - - if((ret = want_to(ques_buf, 'n', 'x', NO_HELP, WT_NORM)) != 'y'){ -- q_status_message(SM_ORDER,0,3, (ret == 'x') ? "Delete cancelled" -- : "No folder deleted"); -+ q_status_message(SM_ORDER,0,3, (ret == 'x') ? "取消刪除" -+ : "沒有任何資料匣被刪除"); - return(0); - } - } -@@ -4444,13 +4440,13 @@ - /* - * BUG: what if sent-mail or saved-messages???? - */ -- q_status_message1(SM_ORDER,3,3,"Delete of \"%s\" Failed!", folder); -+ q_status_message1(SM_ORDER,3,3,"刪除 \"%s\" 失敗!", folder); - return(0); - } - } - -- q_status_message2(SM_ORDER, 0, 3, "%s \"%s\" deleted.", -- blast_folder ? "Folder" : "Nickname", folder); -+ q_status_message2(SM_ORDER, 0, 3, "%s \"%s\" 已刪除。", -+ blast_folder ? "資料匣" : "暱稱", folder); - - - if(context->use & CNTXT_INCMNG){ -@@ -4539,7 +4535,7 @@ - int flags; - - pat[0] = '\0'; -- sprintf(prompt, "String in folder %s to match : ", kind); -+ sprintf(prompt, "資料匣 %s 中欲符合的字串:", kind); - - while(1){ - flags = OE_APPEND_CURRENT | OE_DISALLOW_HELP; -@@ -4557,7 +4553,7 @@ - return(1); - - case 1 : -- cmd_cancelled("Select"); -+ cmd_cancelled("選擇"); - - default : - return(0); -@@ -4629,7 +4625,7 @@ - return(1); - } - -- cmd_cancelled("Select"); -+ cmd_cancelled("選擇"); - return(0); - } - -@@ -4662,7 +4658,7 @@ - if(!strucmp(folder = f->name, ps_global->inbox_name)) - return(FEX_ISFILE); - -- sprintf(tmp, "Scanning \"%.*s\"", 40, FLDR_NAME(f)); -+ sprintf(tmp, "正在掃描 \"%.*s\"", 40, FLDR_NAME(f)); - we_cancel = busy_alarm(1, tmp, NULL, 0); - - mm_list_info = &ldata; /* tie down global reference */ -@@ -4800,7 +4796,7 @@ - return(1); - } - -- cmd_cancelled("Select"); -+ cmd_cancelled("選擇"); - return(0); - } - -@@ -4822,7 +4818,7 @@ - while(1){ - flags = OE_APPEND_CURRENT | OE_DISALLOW_HELP; - sprintf(number, "%ld", *count); -- sprintf(prompt, "Select folders with messages %s : ", tense[*cmp]); -+ sprintf(prompt, "選擇有信件 %s 的資料匣:", tense[*cmp]); - r = optionally_enter(number, -FOOTER_ROWS(ps_global), 0, 31, - prompt, sel_num_opt, NO_HELP, &flags); - switch (r){ -@@ -4831,7 +4827,7 @@ - break; - else if((*count = atol(number)) < 0L) - q_status_message(SM_ORDER, 3, 3, -- "Can't have NEGATIVE message count!"); -+ "不可有「負的」信件數量!"); - else - return(1); /* success */ - -@@ -4992,7 +4988,7 @@ - for(; i >= 0; i--) - folder_entry(i, FOLDERS(context))->scanned = 0; - -- cmd_cancelled("Select"); -+ cmd_cancelled("選擇"); - rv = 0; - break; - } -@@ -5937,7 +5933,7 @@ - - if(p = context_digest(c_string, dcontext, host, rcontext, view)){ - q_status_message2(SM_ORDER | SM_DING, 3, 4, -- "Bad context, %s : %s", p, c_string); -+ "錯誤的內容,%s:%s", p, c_string); - fs_give((void **) &c_string); - if(nickname) - fs_give((void **)&nickname); -@@ -5978,14 +5974,14 @@ - - /* fix up label */ - if(NEWS_TEST(c)){ -- sprintf(tmp_20k_buf, "%sews groups%s%s", -- (*host) ? "N" : "Local n", (*host) ? " on " : "", -+ sprintf(tmp_20k_buf, "%s文組群%s%s", -+ (*host) ? "新" : "本地的新", (*host) ? " 於 " : "", - (*host) ? host : ""); - } - else{ - p = srchstr(rcontext, "[]"); -- sprintf(tmp_20k_buf, "%solders%s%s in %.*s%s", -- (*host) ? "F" : "Local f", (*host) ? " on " : "", -+ sprintf(tmp_20k_buf, "%s料匣%s%s在 %.*s%s", -+ (*host) ? "資" : "本地的資", (*host) ? " 於 " : "", - (*host) ? host : "", p ? p - rcontext : 0, - rcontext, (p && (p - rcontext) > 0) ? "" : "home directory"); - } -@@ -7225,7 +7221,7 @@ - if(error && num_in_error){ - cnt_errs = num_in_error; - memset((void *)ng_error, 0, (size_t)90); -- sprintf(ng_error, "Unknown news group%s: ", plural(num_in_error)); -+ sprintf(ng_error, "未知的新聞組群:"); - ep = ng_error + strlen(ng_error); - } - for(ntmp = nglist; ntmp; ntmp = ntmp->next){ diff --git a/chinese/pine4/files/patch-ay b/chinese/pine4/files/patch-ay deleted file mode 100644 index 5ce90a71098d..000000000000 --- a/chinese/pine4/files/patch-ay +++ /dev/null @@ -1,165 +0,0 @@ ---- pine/help.c.orig Wed Sep 15 04:31:21 1999 -+++ pine/help.c Thu Oct 14 11:43:45 1999 -@@ -53,12 +53,12 @@ - {NULL,NULL,{MC_EXIT,1,{'e'}}, KS_EXITMODE}, - {NULL,NULL,{MC_EXIT,1,{'e'}}, KS_EXITMODE}, - {NULL,NULL,{MC_VIEW_HANDLE,3,{'v',ctrl('m'),ctrl('j')}},KS_NONE}, -- {"^B","PrevLink",{MC_PREV_HANDLE,1,{ctrl('B')}},KS_NONE}, -- {"^F","NextLink",{MC_NEXT_HANDLE,1,{ctrl('F')}},KS_NONE}, -+ {"^B","前一鏈結",{MC_PREV_HANDLE,1,{ctrl('B')}},KS_NONE}, -+ {"^F","次一鏈結",{MC_NEXT_HANDLE,1,{ctrl('F')}},KS_NONE}, - PREVPAGE_MENU, - NEXTPAGE_MENU, - PRYNTMSG_MENU, -- {"Z","Print All",{MC_PRINTALL,1,{'z'}},KS_NONE}, -+ {"Z","列印全部",{MC_PRINTALL,1,{'z'}},KS_NONE}, - NULL_MENU, - WHEREIS_MENU}; - INST_KEY_MENU(help_keymenu, help_keys); -@@ -77,7 +77,7 @@ - static struct key gripe_modal_keys[] = - {NULL_MENU, - NULL_MENU, -- {"Ret","Finished",{MC_EXIT,2,{ctrl('m'),ctrl('j')}},KS_NONE}, -+ {"Ret","完畢",{MC_EXIT,2,{ctrl('m'),ctrl('j')}},KS_NONE}, - NULL_MENU, - NULL_MENU, - NULL_MENU, -@@ -263,7 +263,7 @@ - memset(&sargs, 0, sizeof(SCROLL_S)); - sargs.text.text = so_text(store); - sargs.text.src = CharStar; -- sargs.text.desc = "help text"; -+ sargs.text.desc = "輔助說明文字"; - if(sargs.text.handles = handles) - while(sargs.text.handles->type == URL - && !sargs.text.handles->h.url.path -@@ -296,7 +296,7 @@ - } - - if(!sargs.bar.title) -- sargs.bar.title = "HELP TEXT"; -+ sargs.bar.title = "輔助說明文字"; - } - - sargs.bar.style = TextPercent; -@@ -313,18 +313,18 @@ - setbitmap(sargs.keys.bitmap); - if(flags & HLPD_FROMHELP){ - km.keys[HLP_EXIT_KEY].name = "P"; -- km.keys[HLP_EXIT_KEY].label = "Prev Help"; -+ km.keys[HLP_EXIT_KEY].label = "前一說明"; - km.keys[HLP_EXIT_KEY].bind.cmd = MC_FINISH; - km.keys[HLP_EXIT_KEY].bind.ch[0] = 'p'; - - km.keys[HLP_SUBEXIT_KEY].name = "E"; -- km.keys[HLP_SUBEXIT_KEY].label = "Exit Help"; -+ km.keys[HLP_SUBEXIT_KEY].label = "離開"; - km.keys[HLP_SUBEXIT_KEY].bind.cmd = MC_EXIT; - km.keys[HLP_SUBEXIT_KEY].bind.ch[0] = 'e'; - } - else if(text == h_special_help_nav){ - km.keys[HLP_EXIT_KEY].name = "P"; -- km.keys[HLP_EXIT_KEY].label = "Prev Help"; -+ km.keys[HLP_EXIT_KEY].label = "前一說明"; - km.keys[HLP_EXIT_KEY].bind.cmd = MC_FINISH; - km.keys[HLP_EXIT_KEY].bind.ch[0] = 'p'; - -@@ -333,12 +333,12 @@ - } - else{ - km.keys[HLP_EXIT_KEY].name = "E"; -- km.keys[HLP_EXIT_KEY].label = "Exit Help"; -+ km.keys[HLP_EXIT_KEY].label = "離開"; - km.keys[HLP_EXIT_KEY].bind.cmd = MC_EXIT; - km.keys[HLP_EXIT_KEY].bind.ch[0] = 'e'; - - km.keys[HLP_SUBEXIT_KEY].name = "?"; -- km.keys[HLP_SUBEXIT_KEY].label = "Help Help"; -+ km.keys[HLP_SUBEXIT_KEY].label = "輔助說明"; - km.keys[HLP_SUBEXIT_KEY].bind.cmd = MC_HELP; - km.keys[HLP_SUBEXIT_KEY].bind.ch[0] = '?'; - } -@@ -507,7 +507,7 @@ - } - - sparms->keys.menu->keys[HLP_VIEW_HANDLE].name = "V"; -- sparms->keys.menu->keys[HLP_VIEW_HANDLE].label = "[View Link]"; -+ sparms->keys.menu->keys[HLP_VIEW_HANDLE].label = "[檢視鏈結]"; - } - } - -@@ -558,7 +558,7 @@ - print_text(NEWLINE); - - if(error = gf_pipe(helper_getc, print_char)) -- q_status_message1(SM_ORDER | SM_DING, 3, 3, "Printing Error: %s", error); -+ q_status_message1(SM_ORDER | SM_DING, 3, 3, "列印錯誤:%s", error); - - print_char(ctrl('L')); /* new page. */ - } -@@ -588,7 +588,7 @@ - #endif - if(ps_global->intr_pending){ - q_status_message(SM_ORDER, 3, 3, -- "Print of all help cancelled"); -+ "取消列印所有的輔助說明"); - break; - } - -@@ -977,7 +977,7 @@ - memset(&sargs, 0, sizeof(SCROLL_S)); - sargs.text.text = tmp_text; - sargs.text.src = CharStar; -- sargs.text.desc = "journal"; -+ sargs.text.desc = "日誌"; - sargs.bar.title = title; - sargs.start.on = LastPage; - -@@ -1336,7 +1336,7 @@ - #endif - } - else if(ch == 'x'){ -- q_status_message(SM_ORDER, 0, 3, "Bug report cancelled."); -+ q_status_message(SM_ORDER, 0, 3, "取消錯誤回報。"); - return(-1); - } - } -@@ -1463,13 +1463,13 @@ - if(in_handle){ - hp_menu[++i].type = tQueue; - hp_menu[i].label.style = lNormal; -- hp_menu[i].label.string = "View Help Section"; -+ hp_menu[i].label.string = "檢視輔助說明章節"; - hp_menu[i].data.val = 'V'; - } - - hp_menu[++i].type = tQueue; - hp_menu[i].label.style = lNormal; -- hp_menu[i].label.string = "Exit Help"; -+ hp_menu[i].label.string = "離開"; - hp_menu[i].data.val = 'E'; - - hp_menu[++i].type = tTail; -@@ -1494,18 +1494,18 @@ - if(in_handle){ - hp_menu[++i].type = tQueue; - hp_menu[i].label.style = lNormal; -- hp_menu[i].label.string = "View Help Section"; -+ hp_menu[i].label.string = "檢視該節說明"; - hp_menu[i].data.val = 'V'; - } - - hp_menu[++i].type = tQueue; - hp_menu[i].label.style = lNormal; -- hp_menu[i].label.string = "Previous Help Section"; -+ hp_menu[i].label.string = "前一節"; - hp_menu[i].data.val = 'P'; - - hp_menu[++i].type = tQueue; - hp_menu[i].label.style = lNormal; -- hp_menu[i].label.string = "Exit Help"; -+ hp_menu[i].label.string = "離開"; - hp_menu[i].data.val = 'E'; - - hp_menu[++i].type = tTail; diff --git a/chinese/pine4/files/patch-az b/chinese/pine4/files/patch-az deleted file mode 100644 index 1782f39a69e1..000000000000 --- a/chinese/pine4/files/patch-az +++ /dev/null @@ -1,21 +0,0 @@ ---- pine/init.c.orig Sat Oct 2 07:54:14 1999 -+++ pine/init.c Thu Oct 14 13:35:02 1999 -@@ -339,7 +339,7 @@ - - /*---------------------------------------------------------------------- - These are the variables that control a number of pine functions. They --come out of the .pinerc and the /usr/local/lib/pine.conf files. Some can -+come out of the .pinerc and the @@PREFIX@@/etc/pine.conf files. Some can - be set by the user while in Pine. Eventually all the local ones should - be so and maybe the global ones too. - -@@ -660,6 +660,9 @@ - GLO_NORM_FORE_COLOR = cpystr(colorx(DEFAULT_NORM_FORE)); - GLO_NORM_BACK_COLOR = cpystr(colorx(DEFAULT_NORM_BACK)); - #endif -+ -+ F_TURN_ON(F_TCAP_WINS,ps); -+ F_TURN_ON(F_QUELL_INTERNAL_MSG,ps); - - /* Set the default mail directory */ - build_path(buf, GLO_MAIL_DIRECTORY, "[]"); diff --git a/chinese/pine4/files/patch-ba b/chinese/pine4/files/patch-ba deleted file mode 100644 index 4c5ba5c9ed15..000000000000 --- a/chinese/pine4/files/patch-ba +++ /dev/null @@ -1,1126 +0,0 @@ ---- pine/mailcmd.c.orig Wed Nov 17 09:51:48 1999 -+++ pine/mailcmd.c Fri Nov 19 18:24:04 1999 -@@ -115,39 +115,39 @@ - /* - * List of Select options used by apply_* functions... - */ --static char *sel_pmt1 = "ALTER message selection : "; -+static char *sel_pmt1 = "更改信件的選擇:"; - ESCKEY_S sel_opts1[] = { -- {'a', 'a', "A", "unselect All"}, -+ {'a', 'a', "A", "取消所有選擇"}, - {'c', 'c', "C", NULL}, -- {'b', 'b', "B", "Broaden selctn"}, -- {'n', 'n', "N", "Narrow selctn"}, -- {'f', 'f', "F", "Flip selected"}, -+ {'b', 'b', "B", "擴大選擇"}, -+ {'n', 'n', "N", "縮小選擇"}, -+ {'f', 'f', "F", "切換選擇"}, - {-1, 0, NULL, NULL} - }; - - --char *sel_pmt2 = "SELECT criteria : "; -+char *sel_pmt2 = "選擇標準:"; - static ESCKEY_S sel_opts2[] = { -- {'a', 'a', "A", "select All"}, -- {'c', 'c', "C", "select Cur"}, -- {'n', 'n', "N", "Number"}, -- {'d', 'd', "D", "Date"}, -- {'t', 't', "T", "Text"}, -- {'s', 's', "S", "Status"}, -+ {'a', 'a', "A", "選擇所有"}, -+ {'c', 'c', "C", "選擇目前的"}, -+ {'n', 'n', "N", "數目"}, -+ {'d', 'd', "D", "日期"}, -+ {'t', 't', "T", "文字"}, -+ {'s', 's', "S", "狀態"}, - {-1, 0, NULL, NULL} - }; - - --static char *sel_pmt3 = "APPLY command : "; -+static char *sel_pmt3 = "套用命令:"; - static ESCKEY_S sel_opts3[] = { -- {'d', 'd', "D", "Del"}, -- {'u', 'u', "U", "Undel"}, -- {'r', 'r', "R", "Reply"}, -- {'f', 'f', "F", "Forward"}, -- {'%', '%', "%", "Print"}, -- {'t', 't', "T", "TakeAddr"}, -- {'s', 's', "S", "Save"}, -- {'e', 'e', "E", "Export"}, -+ {'d', 'd', "D", "刪除"}, -+ {'u', 'u', "U", "復原刪除"}, -+ {'r', 'r', "R", "回覆"}, -+ {'f', 'f', "F", "轉寄"}, -+ {'%', '%', "%", "列印"}, -+ {'t', 't', "T", "地址簿"}, -+ {'s', 's', "S", "存檔"}, -+ {'e', 'e', "E", "匯出"}, - { -1, 0, NULL, NULL}, - { -1, 0, NULL, NULL}, - { -1, 0, NULL, NULL}, -@@ -157,24 +157,24 @@ - - - static char *sel_flag = -- "Select New, Deleted, Answered, or Important messages ? "; -+ "選擇 新的,已刪除的,已回覆的,或重要的信件?"; - static char *sel_flag_not = -- "Select NOT New, NOT Deleted, NOT Answered or NOT Tagged msgs ? "; -+ "選擇 非新的,非已刪除的,非已回覆的,或非被標記的信件?"; - static ESCKEY_S sel_flag_opt[] = { -- {'n', 'n', "N", "New"}, -- {'*', '*', "*", "Important"}, -- {'d', 'd', "D", "Deleted"}, -- {'a', 'a', "A", "Answered"}, -- {'!', '!', "!", "Not"}, -+ {'n', 'n', "N", "新的"}, -+ {'*', '*', "*", "重要的"}, -+ {'d', 'd', "D", "已刪除的"}, -+ {'a', 'a', "A", "已回覆的"}, -+ {'!', '!', "!", "非"}, - {-1, 0, NULL, NULL} - }; - - - static ESCKEY_S sel_date_opt[] = { - {0, 0, NULL, NULL}, -- {ctrl('P'), 12, "^P", "Prev Day"}, -- {ctrl('N'), 13, "^N", "Next Day"}, -- {ctrl('X'), 11, "^X", "Cur Msg"}, -+ {ctrl('P'), 12, "^P", "前一天"}, -+ {ctrl('N'), 13, "^N", "後一天"}, -+ {ctrl('X'), 11, "^X", "目前的"}, - {ctrl('W'), 14, "^W", "Toggle When"}, - {KEY_UP, 12, "", ""}, - {KEY_DOWN, 13, "", ""}, -@@ -183,23 +183,23 @@ - - - static char *sel_text = -- "Select based on To, From, Cc, Recip, Subject fields or All message text ? "; -+ "選擇以 收件人,寄件人,副本,領受者,主題 等欄位為主,或所有的訊息文字?"; - static char *sel_not_text = -- "Select based on NOT To, From, Cc, Recip, Subject fields or All message text ? "; -+ "選擇「不」以 收件人,寄件人,副本,領受者,主題 等欄位為主,或所有的訊息文字?"; - static ESCKEY_S sel_text_opt[] = { -- {'f', 'f', "F", "From"}, -- {'s', 's', "S", "Subject"}, -- {'t', 't', "T", "To"}, -- {'a', 'a', "A", "All Text"}, -- {'c', 'c', "C", "Cc"}, -- {'!', '!', "!", "Not"}, -- {'r', 'r', "R", "Recipient"}, -- {'p', 'p', "P", "Participant"}, -+ {'f', 'f', "F", "寄件人"}, -+ {'s', 's', "S", "主題"}, -+ {'t', 't', "T", "收件人"}, -+ {'a', 'a', "A", "所有的訊息文字"}, -+ {'c', 'c', "C", "副本"}, -+ {'!', '!', "!", "非"}, -+ {'r', 'r', "R", "領受者"}, -+ {'p', 'p', "P", "關係者"}, - {-1, 0, NULL, NULL} - }; - - static char *select_num = -- "Enter comma-delimited list of numbers (dash between ranges): "; -+ "輸入以逗點分隔的數字串列(範圍以破折號區分):"; - - - /*---------------------------------------------------------------------- -@@ -248,7 +248,7 @@ - case MC_HELP : - if(state->nr_mode) { - q_status_message(SM_ORDER, 0, 3, -- "No help text currently available"); -+ "目前無法取得文字說明"); - break; - } - -@@ -277,7 +277,7 @@ - - /*------- View message text --------*/ - case MC_VIEW_TEXT : -- if(any_messages(msgmap, NULL, "to View")){ -+ if(any_messages(msgmap, NULL, "可供檢視")){ - state->next_screen = mail_view_screen; - #if defined(DOS) && !defined(WIN32) - flush_index_cache(); /* save room on PC */ -@@ -301,10 +301,10 @@ - mn_dec_cur(stream, msgmap); - if(i == mn_get_cur(msgmap)) - q_status_message(SM_ORDER, 0, 2, -- "Already on first message in Zoomed Index"); -+ "已經到縮放索引中的第一封訊息了"); - } - else -- q_status_message(SM_ORDER, 0, 1, "Already on first message"); -+ q_status_message(SM_ORDER, 0, 1, "已經到第一封訊息了"); - } - - break; -@@ -316,7 +316,7 @@ - && (i = mn_get_cur(msgmap)) < mn_get_total(msgmap)){ - mn_inc_cur(stream, msgmap); - if(i == mn_get_cur(msgmap)) -- any_messages(NULL, "more", "in Zoomed Index"); -+ any_messages(NULL, "更多的", "在可縮放索引中"); - } - else{ - prompt[0] = '\0'; -@@ -333,7 +333,7 @@ - strcat(prompt, ". No more folders to TAB to."); - } - -- any_messages(NULL, (mn_get_total(msgmap) > 0L) ? "more" : NULL, -+ any_messages(NULL, (mn_get_total(msgmap) > 0L) ? "更多的" : NULL, - prompt[0] ? prompt : NULL); - - if(!IS_NEWS(stream)) -@@ -511,9 +511,9 @@ - } - } - else -- q_status_message1(SM_ORDER, 0, 2, "No more %ss", -+ q_status_message1(SM_ORDER, 0, 2, "沒有更多的%s了", - (state->context_current->use&CNTXT_INCMNG) -- ? "incoming folder" : "news group"); -+ ? "新進資料匣" : "新聞組群"); - - break; - } -@@ -530,9 +530,9 @@ - */ - if(F_OFF(F_AUTO_OPEN_NEXT_UNREAD, state)){ - static ESCKEY_S next_opt[] = { -- {'y', 'y', "Y", "Yes"}, -- {'n', 'n', "N", "No"}, -- {TAB, 'n', "Tab", "NextNew"}, -+ {'y', 'y', "Y", "是"}, -+ {'n', 'n', "N", "否"}, -+ {TAB, 'n', "Tab", "下一新的"}, - {-1, 0, NULL, NULL} - }; - -@@ -558,7 +558,7 @@ - else - any_messages(NULL, - (mn_get_total(msgmap) > 0L) -- ? IS_NEWS(stream) ? "more undeleted" : "more new" -+ ? IS_NEWS(stream) ? "更多遭復原刪除的" : "更多新的" - : NULL, - NULL); - } -@@ -576,7 +576,7 @@ - * global "zoom mode" flag to suppress messags from the index - * should suffice. - */ -- if(any_messages(msgmap, NULL, "to Zoom on")){ -+ if(any_messages(msgmap, NULL, "可供放大")){ - if(unzoom_index(state, msgmap)){ - dprint(4, (debugfile, "\n\n ---- Exiting ZOOM mode ----\n")); - q_status_message(SM_ORDER,0,2, "Index Zoom Mode is now off"); -@@ -593,7 +593,7 @@ - "All messages selected, so not entering Index Zoom Mode"); - } - else -- any_messages(NULL, "selected", "to Zoom on"); -+ any_messages(NULL, "被選中的", "可供放大"); - } - - break; -@@ -601,7 +601,7 @@ - - /*---------- print message on paper ----------*/ - case MC_PRINTMSG : -- if(any_messages(msgmap, NULL, "to print")) -+ if(any_messages(msgmap, NULL, "可供列印")) - cmd_print(state, msgmap, 0, in_index); - - break; -@@ -609,7 +609,7 @@ - - /*---------- Take Address ----------*/ - case MC_TAKE : -- if(any_messages(msgmap, NULL, "to Take address from")) -+ if(any_messages(msgmap, NULL, "可供取得地址")) - cmd_take_addr(state, msgmap, 0); - - break; -@@ -617,7 +617,7 @@ - - /*---------- Save Message ----------*/ - case MC_SAVE : -- if(any_messages(msgmap, NULL, "to Save")) -+ if(any_messages(msgmap, NULL, "可供存檔")) - cmd_save(state, stream, msgmap, 0); - - break; -@@ -625,7 +625,7 @@ - - /*---------- Export message ----------*/ - case MC_EXPORT : -- if(any_messages(msgmap, NULL, "to Export")){ -+ if(any_messages(msgmap, NULL, "可供匯出")){ - cmd_export(state, msgmap, question_line, 0); - state->mangled_footer = 1; - } -@@ -638,9 +638,9 @@ - dprint(2, (debugfile, "\n - expunge -\n")); - if(IS_NEWS(stream) && stream->rdonly){ - if((del_count = count_flagged(stream, F_DEL)) > 0L){ -- state->mangled_footer = 1; -- sprintf(prompt, "Exclude %ld message%s from %s", del_count, -- plural(del_count), pretty_fn(state->cur_folder)); -+ -+ sprintf(prompt, "自 %s 中排除 %ld 封信件", -+ pretty_fn(state->cur_folder), del_count); - if(F_ON(F_FULL_AUTO_EXPUNGE, state) - || (F_ON(F_AUTO_EXPUNGE, state) - && (state->context_current -@@ -662,21 +662,20 @@ - - state->mangled_body = 1; - state->mangled_header = 1; -- q_status_message2(SM_ORDER, 0, 4, "%s message%s excluded", -- long2string(del_count), -- plural(del_count)); -+ q_status_message1(SM_ORDER, 0, 4, "%s 封信件被排除了", -+ long2string(del_count)); - } - else -- any_messages(NULL, NULL, "Excluded"); -+ any_messages(NULL, NULL, "排除在外"); - } - else -- any_messages(NULL, "deleted", "to Exclude"); -+ any_messages(NULL, "被刪除", "可供排除"); - - break; - } - else if(READONLY_FOLDER){ - q_status_message(SM_ORDER, 0, 4, -- "Can't expunge. Folder is read-only"); -+ "無法刪除。信件匣是唯讀的"); - break; - } - -@@ -695,7 +694,7 @@ - ret = 'y'; - - if(ret == 'x') -- cmd_cancelled("Expunge"); -+ cmd_cancelled("刪除"); - - if(ret != 'y') - break; -@@ -763,11 +762,11 @@ - if(state->expunge_count <= 0) - if(del_count) - q_status_message1(SM_ORDER, 0, 3, -- "No messages expunged from folder \"%s\"", -+ "沒有任何信件自信件匣 \"%s\" 中刪除", - pretty_fn(state->cur_folder)); - else - q_status_message(SM_ORDER, 0, 3, -- "No messages marked deleted. No messages expunged."); -+ "沒有任何信件被標示為刪除。沒有信件被刪除。"); - - break; - -@@ -799,8 +798,8 @@ - - if(del_count > 0L){ - state->mangled_footer = 1; -- sprintf(prompt, "UNexclude %ld message%s in %s", del_count, -- plural(del_count), pretty_fn(state->cur_folder)); -+ sprintf(prompt, "%ld 封信件在信件匣 %s 中被復原排除", del_count, -+ pretty_fn(state->cur_folder)); - if(F_ON(F_FULL_AUTO_EXPUNGE, state) - || (F_ON(F_AUTO_EXPUNGE, state) - && (state->context_current -@@ -818,29 +817,28 @@ - */ - refresh_sort(msgmap, FALSE); - state->mangled_header = 1; -- q_status_message2(SM_ORDER, 0, 4, -- "%s message%s UNexcluded", -- long2string(del_count), -- plural(del_count)); -+ q_status_message1(SM_ORDER, 0, 4, -+ "%s 封信件被復原排除", -+ long2string(del_count)); - - if(!visible) /* hilite last message */ - mn_set_cur(msgmap, mn_get_total(msgmap)); - } - else -- any_messages(NULL, NULL, "UNexcluded"); -+ any_messages(NULL, NULL, "已復原排除"); - } - else -- any_messages(NULL, "excluded", "to UNexclude"); -+ any_messages(NULL, "已被排除", "可供復原排除"); - } - else -- any_messages(NULL, "excluded", "to UNexclude"); -+ any_messages(NULL, "已被排除", "可供復原排除"); - - break; - - - /*------- Make Selection -----------*/ - case MC_SELECT : -- if(any_messages(msgmap, NULL, "to Select")){ -+ if(any_messages(msgmap, NULL, "可供選擇")){ - aggregate_select(state, msgmap, question_line, in_index); - if(in_index && any_lflagged(msgmap, MN_SLCT) > 0L - && !any_lflagged(msgmap, MN_HIDE) -@@ -872,7 +870,7 @@ - unzoom_index(state, msgmap); - } - else -- any_messages(NULL, NULL, "to Apply command to. Try \"Select\""); -+ any_messages(NULL, NULL, "可供套用命令。試試 \"選擇\""); - } - - break; -@@ -950,21 +948,21 @@ - { - if(cmd == ctrl('Q') || cmd == ctrl('S')) - q_status_message1(SM_ASYNC, 0, 2, -- "%s char received. Set \"preserve-start-stop\" feature in Setup/Config.", -+ "收到 %s 字元。以 設定/環境設定 開啟 \"preserve-start-stop\"。", - pretty_command(cmd)); - else if(cmd == KEY_JUNK) - q_status_message3(SM_ORDER, 0, 2, -- "Invalid key pressed.%s%s%s", -- (help) ? " Use " : "", -+ "輸入了無效的按鍵。%s%s%s", -+ (help) ? "請以 " : "", - (help) ? help : "", -- (help) ? " for help" : ""); -+ (help) ? " 呼叫輔助說明" : ""); - else - q_status_message4(SM_ORDER, 0, 2, -- "Command \"%s\" not defined for this screen.%s%s%s", -+ "命令 \"%s\" 未在此畫面定義。%s%s%s", - pretty_command(cmd), -- (help) ? " Use " : "", -+ (help) ? "請以 " : "", - (help) ? help : "", -- (help) ? " for help" : ""); -+ (help) ? " 呼叫輔助說明。" : ""); - } - - -@@ -1237,11 +1235,9 @@ - char *type, *cmd; - { - if(mn_get_total(map) <= 0L){ -- q_status_message4(SM_ORDER, 0, 2, "No %s%smessages%s%s", -+ q_status_message2(SM_ORDER, 0, 2, "沒有%s信件%s", - type ? type : "", -- type ? " " : "", -- (!cmd || *cmd != '.') ? " " : "", -- cmd ? cmd : "in folder"); -+ cmd ? cmd : "在信件匣中"); - return(FALSE); - } - -@@ -1265,8 +1261,8 @@ - { - if(READONLY_FOLDER || state->dead_stream){ - q_status_message2(SM_ORDER | (state->dead_stream ? SM_DING : 0), 0, 3, -- "Can't %s message. Folder is %s.", cmd, -- (state->dead_stream) ? "closed" : "read-only"); -+ "無法%s信件。信件匣是%s的。", cmd, -+ (state->dead_stream) ? "關閉" : "唯讀"); - return(FALSE); - } - -@@ -1286,7 +1282,7 @@ - cmd_cancelled(cmd) - char *cmd; - { -- q_status_message1(SM_INFO, 0, 2, "%s cancelled", cmd ? cmd : "Command"); -+ q_status_message1(SM_INFO, 0, 2, "取消%s", cmd ? cmd : "命令"); - } - - -@@ -1312,7 +1308,7 @@ - - dprint(4, (debugfile, "\n - delete message -\n")); - if(!(any_messages(msgmap, NULL, "to Delete") -- && can_set_flag(state, "delete"))) -+ && can_set_flag(state, "刪除"))) - return; - - if(state->io_error_on_stream) { -@@ -1322,16 +1318,15 @@ - - if(agg){ - sequence = selected_sequence(state->mail_stream, msgmap, &del_count); -- sprintf(prompt, "%ld selected message%s marked for deletion", -- del_count, plural(del_count)); -+ sprintf(prompt, "%ld 封信件被標示為待刪除", del_count); - } - else{ - msgno = mn_get_cur(msgmap); - del_count = 1L; /* return current */ - sequence = cpystr(long2string(mn_m2raw(msgmap, mn_get_cur(msgmap)))); - lastmsg = (msgno >= mn_get_total(msgmap)); -- sprintf(prompt, "%s%s marked for deletion", -- lastmsg ? "Last message" : "Message ", -+ sprintf(prompt, "%s%s 被標示為待刪除", -+ lastmsg ? "最後一封信" : "信件 ", - lastmsg ? "" : long2string(msgno)); - } - -@@ -1361,8 +1356,8 @@ - strcpy(nextfolder, state->cur_folder); - strcat(prompt, next_folder(NULL, nextfolder, nextfolder, - state->context_current, NULL) -- ? ". Press TAB for next folder." -- : ". No more folders to TAB to."); -+ ? "。 以 TAB 鍵切換至下一信件匣。" -+ : "。 已無更多信件匣可供切換了。"); - } - } - -@@ -1393,7 +1388,7 @@ - - dprint(4, (debugfile, "\n - undelete -\n")); - if(!(any_messages(msgmap, NULL, "to Undelete") -- && can_set_flag(state, "undelete"))) -+ && can_set_flag(state, "復原刪除"))) - return; - - if(agg){ -@@ -1418,13 +1413,13 @@ - update_titlebar_status(); - q_status_message(SM_ORDER, 0, 3, - wasdeleted -- ? "Deletion mark removed, message won't be deleted" -- : "Message not marked for deletion; no action taken"); -+ ? "已移除刪除標記,信件將不會遭刪除" -+ : "信件尚未被標示為刪除:沒有採取任何行動"); - } - else -- q_status_message2(SM_ORDER, 0, 3, -- "Deletion mark removed from %s message%s", -- comatose(del_count), plural(del_count)); -+ q_status_message1(SM_ORDER, 0, 3, -+ "移除 %s 封信件上的刪除標記", -+ comatose(del_count)); - - if(state->io_error_on_stream) { - state->io_error_on_stream = 0; -@@ -1488,7 +1483,7 @@ - }; - - if(!(any_messages(msgmap, NULL, "to Flag") -- && can_set_flag(state, "flag"))) -+ && can_set_flag(state, "標示"))) - return; - - if(state->io_error_on_stream) { -@@ -1844,7 +1839,7 @@ - if(msgno_any_deletedparts(stream, msgmap) - && want_to("Saved copy will NOT include entire message! Continue", - 'y', 'n', NO_HELP, WT_FLUSH_IN | WT_SEQ_SENSITIVE) != 'y'){ -- cmd_cancelled("Save message"); -+ cmd_cancelled("信件存檔"); - return; - } - -@@ -1967,32 +1962,32 @@ - ekey[rc].ch = ctrl('T'); - ekey[rc].rval = 2; - ekey[rc].name = "^T"; -- ekey[rc++].label = "To Fldrs"; -+ ekey[rc++].label = "信件匣列表"; - - if(saveable_count > 1){ - ekey[rc].ch = ctrl('P'); - ekey[rc].rval = 10; - ekey[rc].name = "^P"; -- ekey[rc++].label = "Prev Collection"; -+ ekey[rc++].label = "前一總集"; - - ekey[rc].ch = ctrl('N'); - ekey[rc].rval = 11; - ekey[rc].name = "^N"; -- ekey[rc++].label = "Next Collection"; -+ ekey[rc++].label = "後一總集"; - } - - if(F_ON(F_ENABLE_TAB_COMPLETE, ps_global)){ - ekey[rc].ch = TAB; - ekey[rc].rval = 12; - ekey[rc].name = "TAB"; -- ekey[rc++].label = "Complete"; -+ ekey[rc++].label = "完成"; - } - - if(F_ON(F_ENABLE_SUB_LISTS, ps_global)){ - ekey[rc].ch = ctrl('X'); - ekey[rc].rval = 14; - ekey[rc].name = "^X"; -- ekey[rc++].label = "ListMatches"; -+ ekey[rc++].label = "列出符合"; - } - - if(saveable_count > 1){ -@@ -2129,7 +2124,7 @@ - /* else fall thru like they cancelled */ - - case 1 : -- cmd_cancelled("Save message"); -+ cmd_cancelled("信件存檔"); - done--; - break; - -@@ -3260,16 +3255,16 @@ - } - - sprintf(tmp_20k_buf, -- "Folder \"%.15s%s\" in <%.15s%s> doesn't exist. Create", -+ "信件匣 \"%.15s%s\" 在 <%.15s%s> 不存在。要建立", - folder, (strlen(folder) > 15) ? "..." : "", - context->nickname, - (strlen(context->nickname) > 15) ? "..." : ""); - } - else -- sprintf(tmp_20k_buf,"Folder \"%.40s\" doesn't exist. Create", folder); -+ sprintf(tmp_20k_buf,"信件匣 \"%.40s\" 不存在。要建立", folder); - - if(want_to(tmp_20k_buf, 'y', 'n', NO_HELP, WT_SEQ_SENSITIVE) != 'y'){ -- cmd_cancelled("Save message"); -+ cmd_cancelled("信件存檔"); - return(-1); - } - -@@ -3395,14 +3390,14 @@ - export_opts[i = 0].ch = ctrl('T'); - export_opts[i].rval = 10; - export_opts[i].name = "^T"; -- export_opts[i++].label = "To Files"; -+ export_opts[i++].label = "檔案列表"; - - #if !defined(DOS) && !defined(MAC) && !defined(OS2) - if(ps_global->VAR_DOWNLOAD_CMD && ps_global->VAR_DOWNLOAD_CMD[0]){ - export_opts[i].ch = ctrl('V'); - export_opts[i].rval = 12; - export_opts[i].name = "^V"; -- export_opts[i++].label = "Downld Msg"; -+ export_opts[i++].label = "下載"; - } - #endif /* !(DOS || MAC) */ - -@@ -3410,7 +3405,7 @@ - export_opts[i].ch = ctrl('I'); - export_opts[i].rval = 11; - export_opts[i].name = "TAB"; -- export_opts[i++].label = "Complete"; -+ export_opts[i++].label = "完成"; - } - - #if 0 -@@ -3419,7 +3414,7 @@ - export_opts[i].ch = ctrl('X'); - export_opts[i].rval = 14; - export_opts[i].name = "^X"; -- export_opts[i++].label = "ListMatches"; -+ export_opts[i++].label = "列出符合"; - } - #endif - -@@ -3433,7 +3428,7 @@ - if(r < 0){ - switch(r){ - case -1: -- cmd_cancelled("Export message"); -+ cmd_cancelled("匯出信件"); - break; - - case -2: -@@ -3455,7 +3450,7 @@ - - if(ps_global->restricted){ - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "Download disallowed in restricted mode"); -+ "限制模式中不允許\下載"); - goto fini; - } - -@@ -3474,7 +3469,7 @@ - || !format_message(mn_m2raw(msgmap, mn_get_cur(msgmap)), - env, b, FM_NEW_MESS | FM_NOWRAP, pc)){ - q_status_message(SM_ORDER | SM_DING, 3, 3, -- err = "Error writing tempfile for download"); -+ err = "寫入下載暫存檔時發生錯誤"); - break; - } - -@@ -3487,18 +3482,18 @@ - (void) close_system_pipe(&syspipe); - else - q_status_message(SM_ORDER | SM_DING, 3, 3, -- err = "Error running download command"); -+ err = "執行下載命令時發生錯誤"); - } - - unlink(tfp); - } - else - q_status_message(SM_ORDER | SM_DING, 3, 3, -- err = "Error building temp file for download"); -+ err = "無法建立供下載使用的暫存檔"); - - fs_give((void **)&tfp); - if(!err) -- q_status_message(SM_ORDER, 0, 3, "Download Command Completed"); -+ q_status_message(SM_ORDER, 0, 3, "下載命令完成"); - - goto fini; - } -@@ -3612,7 +3607,7 @@ - STORE_S *store = NULL; - struct variable *vars = ps->vars; - static ESCKEY_S simple_export_opts[] = { -- {ctrl('T'), 10, "^T", "To Files"}, -+ {ctrl('T'), 10, "^T", "檔案列表"}, - {-1, 0, NULL, NULL}, - {-1, 0, NULL, NULL}}; - -@@ -3620,7 +3615,7 @@ - simple_export_opts[r].ch = ctrl('I'); - simple_export_opts[r].rval = 11; - simple_export_opts[r].name = "TAB"; -- simple_export_opts[r].label = "Complete"; -+ simple_export_opts[r].label = "完成"; - } - - if(!srctext){ -@@ -3693,7 +3688,7 @@ - break; - - case -1: -- cmd_cancelled("Export"); -+ cmd_cancelled("匯出"); - break; - - case -2: -@@ -4365,32 +4360,32 @@ - ekey[rc].ch = (allow_list) ? ctrl('T') : 0 ; - ekey[rc].rval = (allow_list) ? 2 : 0; - ekey[rc].name = (allow_list) ? "^T" : ""; -- ekey[rc++].label = (allow_list) ? "ToFldrs" : ""; -+ ekey[rc++].label = (allow_list) ? "檔案列表" : ""; - - if(ps_global->context_list->next){ - ekey[rc].ch = ctrl('P'); - ekey[rc].rval = 10; - ekey[rc].name = "^P"; -- ekey[rc++].label = "Prev Collection"; -+ ekey[rc++].label = "前一總集"; - - ekey[rc].ch = ctrl('N'); - ekey[rc].rval = 11; - ekey[rc].name = "^N"; -- ekey[rc++].label = "Next Collection"; -+ ekey[rc++].label = "後一總集"; - } - - if(F_ON(F_ENABLE_TAB_COMPLETE,ps_global)){ - ekey[rc].ch = TAB; - ekey[rc].rval = 12; - ekey[rc].name = "TAB"; -- ekey[rc++].label = "Complete"; -+ ekey[rc++].label = "完成"; - } - - if(F_ON(F_ENABLE_SUB_LISTS, ps_global)){ - ekey[rc].ch = ctrl('X'); - ekey[rc].rval = 14; - ekey[rc].name = "^X"; -- ekey[rc++].label = "ListMatches"; -+ ekey[rc++].label = "列出符合"; - } - - if(ps_global->context_list->next){ -@@ -4508,15 +4503,15 @@ - newfolder); - else if(tc->use & CNTXT_INCMNG) - q_status_message1(SM_ORDER, 0, 3, -- "Can't find Incoming Folder: %s", -+ "找不到新進信件匣:%s", - newfolder); - else if(context_isambig(newfolder)) - q_status_message3(SM_ORDER, 0, 3, -- "Can't find folder \"%s\" in %.*s", -- newfolder, (void *) 50, tc->nickname); -+ "在 %.*s 中找不到信件匣 \"%s\"", -+ (void *) 50, tc->nickname, newfolder); - else - q_status_message1(SM_ORDER, 0, 3, -- "Can't find folder \"%s\"", -+ "找不到信件匣 \"%s\"", - newfolder); - - return(NULL); -@@ -4529,7 +4524,7 @@ - /* fall thru like they cancelled */ - - case 1 : /* o_e says user cancel */ -- cmd_cancelled("Open folder"); -+ cmd_cancelled("開啟信件匣"); - return(NULL); - - case 2 : /* o_e says user wants list */ -@@ -4762,7 +4757,7 @@ - else if ((new_context->use & CNTXT_INCMNG) - && (folder_index(newfolder, new_context, FI_FOLDER) < 0)){ - q_status_message1(SM_ORDER, 3, 4, -- "Can't find Incoming Folder %s.", newfolder); -+ "找不到新進信件匣 %s。", newfolder); - return(0); - } - } -@@ -4802,11 +4797,10 @@ - clear_index_cache(); - /* MUST sort before restoring msgno! */ - refresh_sort(ps_global->msgmap, FALSE); -- q_status_message3(SM_ORDER, 0, 3, -- "Opened folder \"%s\" with %s message%s", -+ q_status_message2(SM_ORDER, 0, 3, -+ "信件匣 \"%s\" 已開啟,共 %s 封信件", - ps_global->inbox_name, -- long2string(mn_get_total(ps_global->msgmap)), -- plural(mn_get_total(ps_global->msgmap))); -+ long2string(mn_get_total(ps_global->msgmap))); - #ifdef _WINDOWS - mswin_settitle(ps_global->inbox_name); - #endif -@@ -4846,7 +4840,7 @@ - } - } - -- strcat(strncat(strcpy(status_msg, "Opening \""), -+ strcat(strncat(strcpy(status_msg, "正在開啟 \""), - pretty_fn(newfolder), 70), "\""); - we_cancel = busy_alarm(1, status_msg, NULL, 1); - -@@ -4930,7 +4924,7 @@ - && !mn_get_revsort(ps_global->msgmap))) - refresh_sort(ps_global->msgmap, FALSE); - -- q_status_message1(SM_ORDER, 0, 3, "Folder \"%s\" reopened", -+ q_status_message1(SM_ORDER, 0, 3, "重新開啟資料匣 \"%s\"", - old_folder); - } - } -@@ -5018,14 +5012,13 @@ - - /* UWIN doesn't want to see this message */ - if(!ps_global->nr_mode) -- q_status_message7(SM_ORDER, 0, 4, "%s \"%s\" opened with %s message%s%s", -+ q_status_message7(SM_ORDER, 0, 4, "%s \"%s\" 已開啟,共 %s 封信", - IS_NEWS(ps_global->mail_stream) -- ? "News group" : "Folder", -+ ? "新聞組群" : "信件匣", - pretty_fn(newfolder), - comatose(mn_get_total(ps_global->msgmap)), -- plural(mn_get_total(ps_global->msgmap)), -- READONLY_FOLDER ? " READONLY" : "", -- NULL, NULL); -+ READONLY_FOLDER ? " 唯讀" : "", -+ NULL, NULL, NULL); - - #ifdef _WINDOWS - mswin_settitle(pretty_fn(newfolder)); -@@ -5191,9 +5184,9 @@ - char ing[4]; - - if(final_msg) -- strcpy(ing, "ed"); -+ strcpy(ing, "已"); - else -- strcpy(ing, "ing"); -+ strcpy(ing, "正"); - - buff1[0] = '\0'; - buff2[0] = '\0'; -@@ -5202,7 +5195,7 @@ - stream->mailbox)); - if(!stream->rdonly){ - -- q_status_message1(SM_INFO, 0, 1, "Closing \"%s\"...", folder); -+ q_status_message1(SM_INFO, 0, 1, "正在關閉 \"%s\"...", folder); - flush_status_messages(1); - - /* -@@ -5255,10 +5248,8 @@ - } - else{ - sprintf(prompt_b, -- "Expunge the %ld deleted message%s from \"%s\"", -- delete_count, -- delete_count == 1 ? "" : "s", -- short_folder_name); -+ "自 \"%s\" 中刪除 %ld 封信件", short_folder_name, -+ delete_count); - ret = want_to(prompt_b, 'y', 0, NO_HELP, WT_NORM); - } - -@@ -5269,13 +5260,10 @@ - - if(ret == 'y'){ - sprintf(buff2, -- "Clos%s \"%.30s\". %s %s message%s and delet%s %s.", -+ "%s關閉 \"%.30s\"。保留 %s 封並刪除 %s 封信件。", - ing, - pretty_fn(folder), -- final_msg ? "Kept" : "Keeping", - comatose((stream->nmsgs - delete_count)), -- plural(stream->nmsgs - delete_count), -- ing, - long2string(delete_count)); - if(final_msg) - *final_msg = cpystr(buff2); -@@ -5348,17 +5336,15 @@ - - if(stream->nmsgs){ - sprintf(buff2, -- "Clos%s folder \"%s\". %s%s%s message%s.", -+ "%s關閉信件匣 \"%s\"。保留%s%s 封信件。", - ing, - pretty_fn(folder), -- final_msg ? "Kept" : "Keeping", -- (stream->nmsgs == 1L) ? " single" : " all ", -+ (stream->nmsgs == 1L) ? " 一" : "全部共 ", - (stream->nmsgs > 1L) -- ? comatose(stream->nmsgs) : "", -- plural(stream->nmsgs)); -+ ? comatose(stream->nmsgs) : ""); - } - else{ -- sprintf(buff2, "Clos%s empty folder \"%s\"", -+ sprintf(buff2, "%s關閉空的信件匣 \"%s\"", - ing, pretty_fn(folder)); - } - -@@ -5377,7 +5363,7 @@ - q_status_message(SM_ORDER, - F_ON(F_AUTO_READ_MSGS,ps_global) ? 0 : 3, 5, moved_msg); - -- sprintf(buff2, "Clos%s news group \"%s\"", -+ sprintf(buff2, "%s關閉新聞組群 \"%s\"", - ing, pretty_fn(folder)); - - if(F_ON(F_NEWS_CATCHUP, ps_global)){ -@@ -5414,7 +5400,7 @@ - } - else - sprintf(buff2, -- "Clos%s read-only folder \"%s\". No changes to save", -+ "%s關閉唯讀的信件匣 \"%s\"。未存入任何改變", - ing, pretty_fn(folder)); - - if(final_msg) -@@ -6093,18 +6079,18 @@ - if(in_index && F_ON(F_PRINT_INDEX, state)){ - char m[10]; - static ESCKEY_S prt_opts[] = { -- {'i', 'i', "I", "Index"}, -+ {'i', 'i', "I", "索引"}, - {'m', 'm', "M", NULL}, - {-1, 0, NULL, NULL}}; - -- sprintf(m, "Message%s", (msgs>1L) ? "s" : ""); -+ sprintf(m, "信件"); - prt_opts[1].label = m; -- sprintf(prompt, "Print %sFolder Index or %s %s? ", -- agg ? "selected " : "", agg ? "selected" : "current", m); -+ sprintf(prompt, "印出 %s信件匣索引或 %s %s? ", -+ agg ? "已被選擇的 " : "", agg ? "已被選擇的" : "目前的", m); - switch(radio_buttons(prompt, -FOOTER_ROWS(state), prt_opts, 'm', 'x', - NO_HELP, RB_NORM|RB_SEQ_SENSITIVE)){ - case 'x' : -- cmd_cancelled("Print"); -+ cmd_cancelled("列印"); - if(agg) - restore_selected(msgmap); - -@@ -6121,11 +6107,11 @@ - } - - if(do_index) -- sprintf(prompt, "%sFolder Index ", agg ? "Selected " : ""); -+ sprintf(prompt, "%s信件匣索引 ", agg ? "已被選擇的" : ""); - else if(msgs > 1L) -- sprintf(prompt, "%s messages ", long2string(msgs)); -+ sprintf(prompt, "%s 封信件 ", long2string(msgs)); - else -- sprintf(prompt, "Message %s ", long2string(mn_get_cur(msgmap))); -+ sprintf(prompt, "第 %s 封信件", long2string(mn_get_cur(msgmap))); - - if(open_printer(prompt) < 0){ - if(agg) -@@ -6389,7 +6375,7 @@ - /* else fall thru as if cancelled */ - - case 1 : -- cmd_cancelled("Pipe command"); -+ cmd_cancelled("導向(Pipe)命令"); - done++; - break; - -@@ -6725,7 +6711,7 @@ - sel_opts = sel_opts2; - if(old_tot = any_lflagged(msgmap, MN_SLCT)){ - i = get_lflag(state->mail_stream, msgmap, mn_get_cur(msgmap), MN_SLCT); -- sel_opts1[1].label = "unselect Cur" + (i ? 0 : 2); -+ sel_opts1[1].label = "取消目前選擇" + (i ? 0 : 2); - sel_opts += 2; /* disable extra options */ - switch(q = radio_buttons(sel_pmt1, q_line, sel_opts1, 'c', 'x', help, - RB_NORM)){ -@@ -6769,7 +6755,7 @@ - */ - switch(q){ - case 'x': /* cancel */ -- cmd_cancelled("Select command"); -+ cmd_cancelled("選取命令"); - return; - - case 'c' : /* select/unselect current */ -@@ -6978,14 +6964,14 @@ - sel_opts3[i].ch = '*'; - sel_opts3[i].rval = '*'; - sel_opts3[i].name = "*"; -- sel_opts3[i++].label = "Flag"; -+ sel_opts3[i++].label = "旗標"; - } - - if(F_ON(F_ENABLE_PIPE,state)){ /* pipe? */ - sel_opts3[i].ch = '|'; - sel_opts3[i].rval = '|'; - sel_opts3[i].name = "|"; -- sel_opts3[i++].label = "Pipe"; -+ sel_opts3[i++].label = "導向(Pipe)"; - } - - /* -@@ -6997,7 +6983,7 @@ - sel_opts3[i].ch = 'b'; - sel_opts3[i].rval = 'b'; - sel_opts3[i].name = "B"; -- sel_opts3[i++].label = "Bounce"; -+ sel_opts3[i++].label = "退信"; - } - - if(F_ON(F_ENABLE_PRYNT, state)){ -@@ -7068,7 +7054,7 @@ - break; - - case 'x' : /* cancel */ -- cmd_cancelled("Apply command"); -+ cmd_cancelled("套用命令"); - rv = 0; - break; - -@@ -7185,7 +7171,7 @@ - *t = '\0'; - - if(r == 1 || numbers[0] == '\0'){ -- cmd_cancelled("Selection by number"); -+ cmd_cancelled("根據數字選擇"); - return(1); - } - else -@@ -7311,7 +7297,7 @@ - prompt, sel_date_opt, help, &flags); - switch (r){ - case 1 : -- cmd_cancelled("Selection by date"); -+ cmd_cancelled("根據日期選擇"); - return(1); - - case 3 : -@@ -7433,15 +7419,15 @@ - ekey[0].ch = ctrl('T'); - ekey[0].name = "^T"; - ekey[0].rval = 10; -- ekey[0].label = "Cur To"; -+ ekey[0].label = "目前收信人"; - ekey[1].ch = ctrl('R'); - ekey[1].name = "^R"; - ekey[1].rval = 11; -- ekey[1].label = "Cur From"; -+ ekey[1].label = "目前寄件人"; - ekey[2].ch = ctrl('W'); - ekey[2].name = "^W"; - ekey[2].rval = 12; -- ekey[2].label = "Cur Cc"; -+ ekey[2].label = "目前副本"; - break; - - case 's' : -@@ -7449,7 +7435,7 @@ - ekey[0].ch = ctrl('X'); - ekey[0].name = "^X"; - ekey[0].rval = 13; -- ekey[0].label = "Cur Subject"; -+ ekey[0].label = "目前主題"; - break; - - case 'a' : -@@ -7560,7 +7546,7 @@ - } - - if(type == 'x' || r == 'x'){ -- cmd_cancelled("Selection by text"); -+ cmd_cancelled("根據文字選擇"); - return(1); - } - -@@ -7818,7 +7804,7 @@ - NO_HELP, RB_NORM); - - if(s == 'x'){ -- cmd_cancelled("Selection by status"); -+ cmd_cancelled("根據狀態選擇"); - return(1); - } - else if(s == '!') -@@ -7915,7 +7901,7 @@ - - /*----- String together the prompt ------*/ - tmp[1] = '\0'; -- strcpy(prompt, "Choose type of sort, or Reverse current sort : "); -+ strcpy(prompt, "選取排序方式,或反轉目前的排序:"); - for(i = 0; state->sort_types[i] != EndofList; i++) { - sorts[i].rval = i; - p = sorts[i].label = sort_name(state->sort_types[i]); -@@ -7932,7 +7918,7 @@ - sorts[i].ch = 'r'; - sorts[i].rval = 'r'; - sorts[i].name = cpystr("R"); -- sorts[i].label = "Reverse"; -+ sorts[i].label = "反轉"; - sorts[++i].ch = -1; - help = h_select_sort; - -@@ -7945,7 +7931,7 @@ - } - else{ - retval = 0; -- cmd_cancelled("Sort"); -+ cmd_cancelled("排序"); - } - - while(--i >= 0) diff --git a/chinese/pine4/files/patch-bb b/chinese/pine4/files/patch-bb deleted file mode 100644 index 5b9e0dc13987..000000000000 --- a/chinese/pine4/files/patch-bb +++ /dev/null @@ -1,319 +0,0 @@ ---- pine/mailindx.c.orig Tue Nov 9 08:20:33 1999 -+++ pine/mailindx.c Fri Nov 19 16:18:24 1999 -@@ -55,10 +55,10 @@ - /* - * Some common Command Bindings - */ --#define VIEWMSG_MENU {">", "[ViewMsg]", \ -+#define VIEWMSG_MENU {">", "[檢視信件]", \ - {MC_VIEW_TEXT, 5,{'v','.','>',ctrl('M'),ctrl('J')}}, \ - KS_VIEW} --#define FLDRSORT_MENU {"$", "SortIndex", {MC_SORT,1,{'$'}}, KS_SORT} -+#define FLDRSORT_MENU {"$", "排序索引", {MC_SORT,1,{'$'}}, KS_SORT} - - - /* -@@ -67,7 +67,7 @@ - static struct key index_keys[] = - {HELP_MENU, - OTHER_MENU, -- {"<", "FldrList", {MC_FOLDERS,2,{'<',','}}, KS_NONE}, -+ {"<", "信件匣列表", {MC_FOLDERS,2,{'<',','}}, KS_NONE}, - VIEWMSG_MENU, - PREVMSG_MENU, - NEXTMSG_MENU, -@@ -94,9 +94,9 @@ - HELP_MENU, - OTHER_MENU, - {"X",NULL,{MC_EXPUNGE,1,{'x'}},KS_NONE}, -- {"&","unXclude",{MC_UNEXCLUDE,1,{'&'}},KS_NONE}, -- {";","Select",{MC_SELECT,1,{';'}},KS_SELECT}, -- {"A","Apply",{MC_APPLY,1,{'a'}},KS_APPLY}, -+ {"&","取消排除(exclude)",{MC_UNEXCLUDE,1,{'&'}},KS_NONE}, -+ {";","選擇",{MC_SELECT,1,{';'}},KS_SELECT}, -+ {"A","套用",{MC_APPLY,1,{'a'}},KS_APPLY}, - FLDRSORT_MENU, - JUMP_MENU, - HDRMODE_MENU, -@@ -106,8 +106,8 @@ - - HELP_MENU, - OTHER_MENU, -- {":","SelectCur",{MC_SELCUR,1,{':'}},KS_SELECTCUR}, -- {"Z","ZoomMode",{MC_ZOOM,1,{'z'}},KS_ZOOM}, -+ {":","選擇",{MC_SELCUR,1,{':'}},KS_SELECTCUR}, -+ {"Z","縮放模式",{MC_ZOOM,1,{'z'}},KS_ZOOM}, - LISTFLD_MENU, - RCOMPOSE_MENU, - NULL_MENU, -@@ -175,9 +175,9 @@ - - static struct key simple_index_keys[] = - {HELP_MENU, -- {"E","ExitSelect",{MC_EXIT,1,{'e'}},KS_EXITMODE}, -+ {"E","離開",{MC_EXIT,1,{'e'}},KS_EXITMODE}, - NULL_MENU, -- {"S","[Select]",{MC_SELECT,3,{'s',ctrl('M'),ctrl('J')}},KS_SELECT}, -+ {"S","[選擇]",{MC_SELECT,3,{'s',ctrl('M'),ctrl('J')}},KS_SELECT}, - PREVMSG_MENU, - NEXTMSG_MENU, - PREVPAGE_MENU, -@@ -388,14 +388,14 @@ - if(flags & INDX_HEADER) - set_titlebar((stream == ps_global->mail_stream) - ? (style == MsgIndex || style == MultiMsgIndex) -- ? "MESSAGE INDEX" -- : "ZOOMED MESSAGE INDEX" -+ ? "信件索引" -+ : "縮放後的信件索引" - : (!strcmp(folder, INTERRUPTED_MAIL)) -- ? "COMPOSE: SELECT INTERRUPTED" -+ ? "編輯:選擇被中斷的" - : (ps_global->VAR_FORM_FOLDER - && !strcmp(ps_global->VAR_FORM_FOLDER, folder)) -- ? "COMPOSE: SELECT FORM LETTER" -- : "COMPOSE: SELECT POSTPONED", -+ ? "編輯:選擇樣版信件" -+ : "編輯:選擇被暫緩的", - stream, cntxt, folder, msgmap, 1, MessageNumber, 0, 0); - - if(flags & INDX_FOOTER) { -@@ -487,7 +487,7 @@ - { - dprint(1, (debugfile, "\n\n ---- MAIL INDEX ----\n")); - if(!state->mail_stream) { -- q_status_message(SM_ORDER, 0, 3, "No folder is currently open"); -+ q_status_message(SM_ORDER, 0, 3, "目前尚無已開啟的信件匣"); - state->prev_screen = mail_index_screen; - state->next_screen = main_menu_screen; - return; -@@ -695,7 +695,7 @@ - if(F_ON(F_SHOW_CURSOR, state) && cur_row < 0){ - q_status_message(SM_ORDER, - (ch==NO_OP_IDLE || ch==NO_OP_COMMAND) ? 0 : 3, 5, -- "No messages in folder"); -+ "信件匣中沒有信"); - cur_row = state->ttyo->screen_rows - FOOTER_ROWS(state); - display_message(ch); - } -@@ -822,7 +822,7 @@ - k = i; - if(++j >= id.lines_per_page){ - if((id.msg_at_top = i) == 1L) -- q_status_message(SM_ORDER, 0, 1, "First Index page"); -+ q_status_message(SM_ORDER, 0, 1, "索引第一頁"); - - break; - } -@@ -831,7 +831,7 @@ - if(i <= 1L){ - if(mn_get_cur(msgmap) == 1L) - q_status_message(SM_ORDER, 0, 1, -- "Already at start of Index"); -+ "已經在索引的起頭了"); - - break; - } -@@ -851,7 +851,7 @@ - k = i; - if(++j >= id.lines_per_page){ - if(i+id.lines_per_page >= mn_get_total(msgmap)) -- q_status_message(SM_ORDER, 0, 1, "Last Index page"); -+ q_status_message(SM_ORDER, 0, 1, "索引最終頁"); - - id.msg_at_top = i; - break; -@@ -860,7 +860,7 @@ - - if(i >= mn_get_total(msgmap)){ - if(mn_get_cur(msgmap) == k) -- q_status_message(SM_ORDER,0,1,"Already at end of Index"); -+ q_status_message(SM_ORDER,0,1,"已經在索引的結尾了"); - - break; - } -@@ -1079,9 +1079,9 @@ - } - - q_status_message2(SM_ORDER, 0, 1, -- "Message %s %sdeleted", -+ "信件 %s %s刪除", - long2string(mn_get_cur(msgmap)), -- (del) ? "" : "already "); -+ (del) ? "" : "已"); - } - - break; -@@ -1103,9 +1103,9 @@ - } - - q_status_message2(SM_ORDER, 0, 1, -- "Message %s %sdeleted", -+ "信件 %s %s刪除", - long2string(mn_get_cur(msgmap)), -- (del) ? "UN" : "NOT "); -+ (del) ? "已遭復原" : "未被"); - } - - break; -@@ -2176,7 +2176,7 @@ - dprint(1, (debugfile, - "parse_index_format: unrecognized token: %s\n", q)); - q_status_message1(SM_ORDER | SM_DING, 0, 3, -- "Unrecognized string in index-format: %s", q); -+ "索引格式中出現無法辨識的字串:%s", q); - continue; - } - -@@ -2218,7 +2218,7 @@ - if(!column){ - dprint(1, (debugfile, "Completely unrecognizable index-format\n")); - q_status_message(SM_ORDER | SM_DING, 0, 3, -- "Configured \"index-format\" unrecognizable. Using default."); -+ "無法辨識已設定的 \"index-format\"。使用預設值。"); - return(0); - } - -@@ -3130,7 +3130,7 @@ - sprintf(str, "%ld", idata->msgno); - else if(idata->bogus < 2 && cdesc->ctype == iSubject) - sprintf(str, "%-*.*s", width, width, -- "[ No Message Text Available ]"); -+ "[ 無法取得信件 ]"); - } - else - switch(cdesc->ctype){ -@@ -4824,8 +4824,8 @@ - HelpType help; - static char search_string[MAX_SEARCH+1] = { '\0' }; - static ESCKEY_S header_search_key[] = { {0, 0, NULL, NULL }, -- {ctrl('Y'), 10, "^Y", "First Msg"}, -- {ctrl('V'), 11, "^V", "Last Msg"}, -+ {ctrl('Y'), 10, "^Y", "第一封信"}, -+ {ctrl('V'), 11, "^V", "最後一封信"}, - {-1, 0, NULL, NULL} }; - - dprint(4, (debugfile, "\n - search headers - \n")); -@@ -4834,7 +4834,7 @@ - return; - } - else if(mn_total_cur(msgmap) > 1L){ -- q_status_message1(SM_ORDER, 0, 2, "%s msgs selected; Can't search", -+ q_status_message1(SM_ORDER, 0, 2, "已選擇 %s 封信件;無法搜尋", - comatose(mn_total_cur(msgmap))); - return; - } -@@ -4845,13 +4845,13 @@ - new_string[0] = '\0'; - - while(1) { -- sprintf(prompt, "Word to search for [%s] : ", search_string); -+ sprintf(prompt, "搜尋[%s]:", search_string); - - if(F_ON(F_ENABLE_AGG_OPS, ps_global)){ - header_search_key[0].ch = ctrl('X'); - header_search_key[0].rval = 12; - header_search_key[0].name = "^X"; -- header_search_key[0].label = "Select Matches"; -+ header_search_key[0].label = "選取符合者"; - } - else{ - header_search_key[0].ch = header_search_key[0].rval = 0; -@@ -4870,7 +4870,7 @@ - continue; - } - else if(rc == 10){ -- q_status_message(SM_ORDER, 0, 3, "Searched to First Message."); -+ q_status_message(SM_ORDER, 0, 3, "搜尋至第一封信件。"); - if(any_lflagged(msgmap, MN_HIDE)){ - do{ - selected = sorted_msg; -@@ -4886,7 +4886,7 @@ - return; - } - else if(rc == 11){ -- q_status_message(SM_ORDER, 0, 3, "Searched to Last Message."); -+ q_status_message(SM_ORDER, 0, 3, "搜尋至最後一封信件。"); - if(any_lflagged(msgmap, MN_HIDE)){ - do{ - selected = sorted_msg; -@@ -4911,7 +4911,7 @@ - } - - if(rc == 1 || (new_string[0] == '\0' && search_string[0] == '\0')) { -- cmd_cancelled("Search"); -+ cmd_cancelled("搜尋"); - return; - } - -@@ -4950,21 +4950,21 @@ - } - - if(ps_global->intr_pending){ -- q_status_message1(SM_ORDER, 0, 3, "Search cancelled.%s", -+ q_status_message1(SM_ORDER, 0, 3, "取消搜尋。%s", - select_all ? " Selected set may be incomplete.":""); - } - else if(select_all){ -- q_status_message1(SM_ORDER, 0, 3, "%s messages found matching word", -+ q_status_message1(SM_ORDER, 0, 3, "共 %s 封信件找到符合的字串", - long2string(selected)); - } - else if(selected){ -- q_status_message1(SM_ORDER, 0, 3, "Word found%s", -+ q_status_message1(SM_ORDER, 0, 3, "字串已找到%s", - (i <= sorted_msg) -- ? ". Search wrapped to beginning" : ""); -+ ? "。重頭搜尋" : ""); - mn_set_cur(msgmap, i); - } - else -- q_status_message(SM_ORDER, 0, 3, "Word not found"); -+ q_status_message(SM_ORDER, 0, 3, "找不到字串"); - - #ifndef DOS - intr_handling_off(); -@@ -5224,7 +5224,7 @@ - && LEVELSORT(ps_global->mail_stream))) - sort_func = percent_sorted; - -- sprintf(sort_msg, "Sorting \"%s\"", -+ sprintf(sort_msg, "正在排序 \"%s\"", - strsquish(tmp_20k_buf + 500, ps_global->cur_folder, - ps_global->ttyo->screen_cols - 20)); - we_cancel = busy_alarm(1, sort_msg, sort_func, 1); -@@ -5310,9 +5310,9 @@ - new_sort = mn_get_sort(msgmap); - new_rev = mn_get_revsort(msgmap); - q_status_message2(SM_ORDER, 3, 3, -- "Sort %s! Restored %s sort.", -+ "排序%s!回復至 %s 排序。", - ps_global->intr_pending -- ? "Canceled" : "Failed", -+ ? "已取消" : "失敗", - sort_name(new_sort)); - } - -@@ -6135,7 +6135,7 @@ - icache.name = temp_nam(NULL, "pi"); - - if((icache.cache = (void *)fopen(icache.name,"w+b")) == NULL){ -- sprintf(tmp_20k_buf, "Can't open index cache: %s",icache.name); -+ sprintf(tmp_20k_buf, "無法開啟索引快取:%s",icache.name); - fatal(tmp_20k_buf); - } - -@@ -6531,10 +6531,10 @@ - && format_message(mn_m2raw(ps_global->msgmap, - mn_get_cur(ps_global->msgmap)), - env, body, FM_NEW_MESS, pc)){ -- sprintf(title, "Folder %s -- Message %ld of %ld", -+ sprintf(title, "信件匣 %s -- %ld 封信件中的第 %ld 封", - strsquish(tmp_20k_buf + 500, ps_global->cur_folder, 50), -- mn_get_cur(ps_global->msgmap), -- mn_get_total(ps_global->msgmap)); -+ mn_get_total(ps_global->msgmap), -+ mn_get_cur(ps_global->msgmap)); - *text = so_text(so); - *l = strlen((char *)so_text(so)); - *style = GETTEXT_TEXT; diff --git a/chinese/pine4/files/patch-bc b/chinese/pine4/files/patch-bc deleted file mode 100644 index d5d513e08a05..000000000000 --- a/chinese/pine4/files/patch-bc +++ /dev/null @@ -1,652 +0,0 @@ ---- pine/mailpart.c.orig Wed Oct 13 01:07:42 1999 -+++ pine/mailpart.c Thu Oct 14 12:25:59 1999 -@@ -142,18 +142,18 @@ - {HELP_MENU, - OTHER_MENU, - {"<",NULL,{MC_EXIT,2,{'<',','}},KS_EXITMODE}, -- {">","[View]",{MC_VIEW_ATCH,5,{'v','>','.',ctrl('M'),ctrl('J')}}, -+ {">","[檢視]",{MC_VIEW_ATCH,5,{'v','>','.',ctrl('M'),ctrl('J')}}, - KS_VIEW}, -- {"P", "PrevAttch",{MC_PREVITEM,4,{'p',ctrl('B'),ctrl('P'),KEY_UP}}, -+ {"P", "前一附件",{MC_PREVITEM,4,{'p',ctrl('B'),ctrl('P'),KEY_UP}}, - KS_PREVMSG}, -- {"N", "NextAtch", -+ {"N", "次一附件", - {MC_NEXTITEM, 5, {'n','\t',ctrl('F'),ctrl('N'), KEY_DOWN}}, - KS_NEXTMSG}, - PREVPAGE_MENU, - NEXTPAGE_MENU, - DELETE_MENU, - UNDELETE_MENU, -- {"S", "Save", {MC_SAVETEXT,1,{'s'}}, KS_SAVE}, -+ {"S", "存檔", {MC_SAVETEXT,1,{'s'}}, KS_SAVE}, - {NULL, NULL, {MC_EXPORT, 1, {'e'}}, KS_EXPORT}, - - HELP_MENU, -@@ -162,9 +162,9 @@ - QUIT_MENU, - PIPE_MENU, - BOUNCE_MENU, -- {"A","AboutAttch",{MC_ABOUTATCH,1,{'a'}},KS_NONE}, -+ {"A","關於附件",{MC_ABOUTATCH,1,{'a'}},KS_NONE}, - WHEREIS_MENU, -- {"%", "Print", MC_PRINTMSG,1,{'%'}, KS_PRINT}, -+ {"%", "列印", MC_PRINTMSG,1,{'%'}, KS_PRINT}, - INDEX_MENU, - REPLY_MENU, - FORWARD_MENU}; -@@ -182,10 +182,10 @@ - {HELP_MENU, - OTHER_MENU, - {"<",NULL,{MC_EXIT,2,{'<',','}},KS_EXITMODE}, -- {"Ret","[View Hilite]",{MC_VIEW_HANDLE,3, -+ {"Ret","[檢視 Hilite]",{MC_VIEW_HANDLE,3, - {ctrl('m'),ctrl('j'),KEY_RIGHT}},KS_NONE}, -- {"^B","Prev URL",{MC_PREV_HANDLE,1,{ctrl('B')}},KS_NONE}, -- {"^F","Next URL",{MC_NEXT_HANDLE,1,{ctrl('F')}},KS_NONE}, -+ {"^B","前一 URL",{MC_PREV_HANDLE,1,{ctrl('B')}},KS_NONE}, -+ {"^F","次一 URL",{MC_NEXT_HANDLE,1,{ctrl('F')}},KS_NONE}, - PREVPAGE_MENU, - NEXTPAGE_MENU, - DELETE_MENU, -@@ -201,7 +201,7 @@ - BOUNCE_MENU, - NULL_MENU, - WHEREIS_MENU, -- {"%", "Print", MC_PRINTMSG,1,{'%'}, KS_PRINT}, -+ {"%", "列印", MC_PRINTMSG,1,{'%'}, KS_PRINT}, - NULL_MENU, - REPLY_MENU, - FORWARD_MENU}; -@@ -338,12 +338,12 @@ - - if(mn_total_cur(ps->msgmap) > 1L){ - q_status_message(SM_ORDER | SM_DING, 0, 3, -- "Can only view one message's attachments at a time."); -+ "同一時間僅能檢視一封信的附件!"); - return; - } - else if(ps->atmts && ps->atmts->description && !(ps->atmts + 1)->description) - q_status_message1(SM_ASYNC, 0, 3, -- "Message %s has only one part (the message body), and no attachments.", -+ "信件 %s 僅有一部分(信件本體),沒有附件。", - long2string(mn_get_cur(ps->msgmap))); - - /* -@@ -486,7 +486,7 @@ - break; - - if(ps->mangled_header){ -- set_titlebar("ATTACHMENT INDEX", ps->mail_stream, -+ set_titlebar("附件索引", ps->mail_stream, - ps->context_current, ps->cur_folder, ps->msgmap, 1, - MessageNumber, 0, 0); - ps->mangled_header = 0; -@@ -524,7 +524,7 @@ - last_type = current->attp->body->type; - last_subtype = current->attp->body->subtype; - -- sprintf(backtag, "Msg #%ld", mn_get_cur(ps->msgmap)); -+ sprintf(backtag, "信件 #%ld", mn_get_cur(ps->msgmap)); - km->keys[ATT_PARENT_KEY].label = backtag; - - if(F_OFF(F_ENABLE_PIPE, ps)) -@@ -550,7 +550,7 @@ - clrbitn(ATT_PRINT_KEY, bitmap); - - km->keys[ATT_EXPORT_KEY].name = "E"; -- km->keys[ATT_EXPORT_KEY].label = "Export"; -+ km->keys[ATT_EXPORT_KEY].label = "匯出"; - } - - if(km_popped){ -@@ -616,7 +616,7 @@ - break; - } - -- helper(h_attachment_screen, "HELP FOR ATTACHMENT INDEX", 0); -+ helper(h_attachment_screen, "附件索引的輔助說明", 0); - ps->mangled_screen = 1; - break; - -@@ -645,7 +645,7 @@ - if(ctmp = next_attline(current)) - current = ctmp; - else -- q_status_message(SM_ORDER, 0, 1, "Already on last attachment"); -+ q_status_message(SM_ORDER, 0, 1, "已經到最後一附件了"); - - break; - -@@ -653,7 +653,7 @@ - if(ctmp = prev_attline(current)) - current = ctmp; - else -- q_status_message(SM_ORDER, 0, 1, "Already on first attachment"); -+ q_status_message(SM_ORDER, 0, 1, "已經到第一個附件了"); - - break; - -@@ -667,7 +667,7 @@ - } - else - q_status_message(SM_ORDER, 0, 1, -- "Already on last page of attachments"); -+ "已經在附件的最後一頁了"); - - - break; -@@ -688,7 +688,7 @@ - } - else - q_status_message(SM_ORDER, 0, 1, -- "Already on first page of attachments"); -+ "已經在附件的第一頁了"); - - break; - -@@ -1150,7 +1150,7 @@ - { - bitmap_t bitmap; - -- set_titlebar("ATTACHMENT INDEX", ps_global->mail_stream, -+ set_titlebar("附件索引", ps_global->mail_stream, - ps_global->context_current, ps_global->cur_folder, - ps_global->msgmap, 1, FolderName,0,0); - -@@ -1318,7 +1318,7 @@ - gf_io_t pc; - STORE_S *store; - static ESCKEY_S att_save_opts[] = { -- {ctrl('T'), 10, "^T", "To Files"}, -+ {ctrl('T'), 10, "^T", "檔案列表"}, - {-1, 0, NULL, NULL}, - {-1, 0, NULL, NULL}, - {-1, 0, NULL, NULL}}; -@@ -1347,7 +1347,7 @@ - att_save_opts[++r].ch = ctrl('V'); - att_save_opts[r].rval = 12; - att_save_opts[r].name = "^V"; -- att_save_opts[r].label = "Downld Msg"; -+ att_save_opts[r].label = "下載信件"; - } - #endif /* !(DOS || MAC) */ - -@@ -1355,7 +1355,7 @@ - att_save_opts[++r].ch = ctrl('I'); - att_save_opts[r].rval = 11; - att_save_opts[r].name = "TAB"; -- att_save_opts[r].label = "Complete"; -+ att_save_opts[r].label = "完成"; - } - - att_save_opts[++r].ch = -1; -@@ -1389,7 +1389,7 @@ - - if(ps_global->restricted){ - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "Download disallowed in restricted mode"); -+ "限制模式中不允許\下載"); - return; - } - -@@ -1397,7 +1397,7 @@ - tfp = temp_nam(NULL, "pd"); - dprint(1, (debugfile, "Download attachment called!\n")); - if(store = so_get(FileStar, tfp, WRITE_ACCESS|OWNER_ONLY)){ -- sprintf(prompt_buf, "Saving to \"%.50s\"", tfp); -+ sprintf(prompt_buf, "正在存入 \"%.50s\"", tfp); - we_cancel = init_att_progress(prompt_buf, - ps_global->mail_stream, - a->body); -@@ -1406,7 +1406,7 @@ - if(err = detach(ps_global->mail_stream, msgno, - a->number, &len, pc, NULL)) - q_status_message2(SM_ORDER | SM_DING, 3, 5, -- "%s: Error writing attachment to \"%s\"", -+ "%s: \\寫入附件至 \"%s\" 時發生錯誤", - err, tfp); - - /* cancel regardless, so it doesn't get in way of xfer */ -@@ -1423,18 +1423,18 @@ - (void)close_system_pipe(&syspipe); - else - q_status_message(SM_ORDER | SM_DING, 3, 3, -- err = "Error running download command"); -+ err = "執行下載命令時發生錯誤"); - } - - unlink(tfp); - } - else - q_status_message(SM_ORDER | SM_DING, 3, 3, -- err = "Error building temp file for download"); -+ err = "建立暫存檔時發生錯誤"); - - fs_give((void **)&tfp); - if(!err) -- q_status_message1(SM_ORDER, 0, 4, "Part %s downloaded", -+ q_status_message1(SM_ORDER, 0, 4, "已下載第 %s 部份", - a->number); - - return; -@@ -1446,12 +1446,12 @@ - - if((store = so_get(FileStar, full_filename, WRITE_ACCESS)) == NULL){ - q_status_message2(SM_ORDER | SM_DING, 3, 5, -- "Error opening destination %s: %s", -+ "開啟目地檔 %s 時發生錯誤:%s", - full_filename, error_description(errno)); - return; - } - -- sprintf(prompt_buf, "Saving to \"%.50s\"", full_filename); -+ sprintf(prompt_buf, "正在存入 \"%.50s\"", full_filename); - we_cancel = init_att_progress(prompt_buf, ps_global->mail_stream, a->body); - - gf_set_so_writec(&pc, store); -@@ -1470,7 +1470,7 @@ - truncate(full_filename, (over == -1) ? orig_size : 0); - - q_status_message2(SM_ORDER | SM_DING, 3, 5, -- "%s: Error writing attachment to \"%s\"", -+ "%s:寫入附件至 \"%s\" 時發生錯誤", - err, full_filename); - } - else{ -@@ -1548,7 +1548,7 @@ - MESSAGECACHE *mc; - STORE_S *so; - -- sprintf(nmsgs, "Attached Msg (part %s) ", a->number); -+ sprintf(nmsgs, "附加的信件 (第 %s 部份) ", a->number); - if(save_prompt(ps_global, &cntxt, newfolder, nmsgs, - a->body->nested.msg->env, msgno, a->number)){ - save_folder = (strucmp(newfolder, ps_global->inbox_name) == 0) -@@ -1570,11 +1570,11 @@ - a->body->size.bytes, flags, date, so); - if(rv == 1) - q_status_message2(SM_ORDER, 0, 4, -- "Attached message (part %s) saved to \"%s\"", -+ "附加的 digest(第 %s 部份) 存為 \"%s\"", - a->number, - save_folder); - else if(rv == -1) -- cmd_cancelled("Attached message Save"); -+ cmd_cancelled("存入附加訊息"); - /* else whatever broke in save_fetch_append shoulda bitched */ - - so_give(&so); -@@ -1616,7 +1616,7 @@ - if(MIME_MSG(part->body.type, part->body.subtype)) - cnt++; - -- sprintf(nmsgs, "%d Msg Digest (part %s) ", cnt, a->number); -+ sprintf(nmsgs, "%d 信件 Digest (第 %s 部份) ", cnt, a->number); - - if(save_prompt(ps_global, &cntxt, newfolder, nmsgs, NULL, 0, NULL)){ - save_folder = (strucmp(newfolder, ps_global->inbox_name) == 0) -@@ -1650,11 +1650,11 @@ - - if(rv == 1) - q_status_message2(SM_ORDER, 0, 4, -- "Attached digest (part %s) saved to \"%s\"", -+ "附加的 digest(第 %s 部份) 存為 \"%s\"", - a->number, - save_folder); - else if(rv == -1) -- cmd_cancelled("Attached digest Save"); -+ cmd_cancelled("存入附加的 digest"); - /* else whatever broke in save_fetch_append shoulda bitched */ - - if(our_stream) -@@ -1708,7 +1708,7 @@ - ATTACH_S *ap = a; - STORE_S *store; - static ESCKEY_S opts[] = { -- {ctrl('T'), 10, "^T", "To Files"}, -+ {ctrl('T'), 10, "^T", "檔案列表"}, - {-1, 0, NULL, NULL}, - {-1, 0, NULL, NULL}}; - -@@ -1716,7 +1716,7 @@ - opts[i].ch = ctrl('I'); - opts[i].rval = 11; - opts[i].name = "TAB"; -- opts[i].label = "Complete"; -+ opts[i].label = "完成"; - } - - filename[0] = full_filename[0] = '\0'; -@@ -1729,12 +1729,12 @@ - if(rv < 0){ - switch(rv){ - case -1: -- cmd_cancelled("Export"); -+ cmd_cancelled("匯出檔案"); - break; - - case -2: - q_status_message1(SM_ORDER, 0, 2, -- "Can't export to file outside of %s", -+ "無法將檔案匯出至 %s 以外的地方", - ps_global->VAR_OPER_DIR); - break; - } -@@ -1748,17 +1748,17 @@ - q_status_message(SM_ORDER | SM_DING, 3, 4, err); - else - q_status_message3(SM_ORDER, 0, 4, -- "Attached message (part %s) %s to \"%s\"", -+ "附件(第 %s 部份)%s至 \"%s\"", - a->number, -- over==0 ? "written" -- : over==1 ? "overwritten" : "appended", -+ over==0 ? "寫入" -+ : over==1 ? "覆蓋\" : "附加", - full_filename); - - so_give(&store); - } - else - q_status_message2(SM_ORDER | SM_DING, 3, 4, -- "Error opening file \"%s\" to export message: %s", -+ "無法開啟檔案 \"%s\" 以供匯出信件:%s", - full_filename, error_description(errno)); - } - -@@ -1781,7 +1781,7 @@ - ATTACH_S *ap; - STORE_S *store; - static ESCKEY_S opts[] = { -- {ctrl('T'), 10, "^T", "To Files"}, -+ {ctrl('T'), 10, "^T", "檔案列表"}, - {-1, 0, NULL, NULL}, - {-1, 0, NULL, NULL}}; - -@@ -1789,7 +1789,7 @@ - opts[i].ch = ctrl('I'); - opts[i].rval = 11; - opts[i].name = "TAB"; -- opts[i].label = "Complete"; -+ opts[i].label = "完成"; - } - - filename[0] = full_filename[0] = '\0'; -@@ -1802,12 +1802,12 @@ - if(rv < 0){ - switch(rv){ - case -1: -- cmd_cancelled("Export"); -+ cmd_cancelled("匯出檔案"); - break; - - case -2: - q_status_message1(SM_ORDER, 0, 2, -- "Can't export to file outside of %s", -+ "無法將檔案匯出至 %s 以外的地方", - ps_global->VAR_OPER_DIR); - break; - } -@@ -1829,7 +1829,7 @@ - sprintf(tmp_20k_buf, " [Unknown Message subtype: %s ]\n", - ap->body->subtype); - if(!so_puts(store, tmp_20k_buf)) -- err = "Can't write export file"; -+ err = "無法寫入匯出檔"; - } - else{ - count++; -@@ -1838,29 +1838,29 @@ - } - } - else if(!so_puts(store, "Unknown type in Digest")) -- err = "Can't write export file"; -+ err = "無法寫入匯出檔"; - } - - so_give(&store); - - if(err){ - q_status_message1(SM_ORDER | SM_DING, 3, 3, -- "Error exporting: %s", err); -+ "匯出檔案時發生錯誤:%s", err); - q_status_message1(SM_ORDER | SM_DING, 3, 3, -- "%s messages exported before error occurred", err); -+ "%s 封信件在錯誤產生之前被匯出", err); - } - else - q_status_message4(SM_ORDER, 0, 4, -- "%s messages in digest (part %s) %s to \"%s\"", -+ "共 %s 封信件(第 %s 部份)%s至 \"%s\"", - long2string(count), - a->number, -- over==0 ? "written" -- : over==1 ? "overwritten" : "appended", -+ over==0 ? "被寫入" -+ : over==1 ? "被覆蓋\" : "被附加", - full_filename); - } - else - q_status_message2(SM_ORDER | SM_DING, 3, 4, -- "Error opening file \"%s\" to export digest: %s", -+ "無法開啟檔案 \"%s\" 以供匯出 digest:%s", - full_filename, error_description(errno)); - } - -@@ -1929,7 +1929,7 @@ - - - q_status_message2(SM_ORDER | SM_DING, 3, 3, -- "Error printing message %s, part %s", -+ "無法列印第 %s 封信件的第 %s 部份", - long2string(msgno), a->number); - return(0); - } -@@ -2010,14 +2010,14 @@ - /*----- Can't display this type ------*/ - if(a->body->encoding < ENCOTHER) - q_status_message4(SM_ORDER | SM_DING, 3, 5, -- "Don't know how to display %s%s%s attachments.%s", -+ "不知如何顯示 %s%s%s 的附件。%s", - body_type_names(a->body->type), - a->body->subtype ? "/" : "", - a->body->subtype ? a->body->subtype :"", -- (flags & DA_SAVE) ? " Try Save." : ""); -+ (flags & DA_SAVE) ? " 試試存檔。" : ""); - else - q_status_message1(SM_ORDER | SM_DING, 3, 5, -- "Don't know how to unpack \"%s\" encoding", -+ "不知如何解開 \"%s\" 的編碼", - body_encodings[(a->body->encoding <= ENCMAX) - ? a->body->encoding : ENCOTHER]); - -@@ -2239,7 +2239,7 @@ - clear_index_cache_ent(msgno); - - if(store = format_text_att(msgno, a, &handles)){ -- scroll_attachment("ATTACHED TEXT", store, CharStar, handles, a, flags); -+ scroll_attachment("附件文字", store, CharStar, handles, a, flags); - free_handles(&handles); - so_give(&store); /* free resources associated with store */ - } -@@ -2407,22 +2407,22 @@ - memset(&sargs, 0, sizeof(SCROLL_S)); - sargs.text.text = so_text(store); - sargs.text.src = src; -- sargs.text.desc = "attachment"; -+ sargs.text.desc = "附件"; - sargs.text.handles = handles; - sargs.bar.title = title; - sargs.proc.tool = process_attachment_cmd; - sargs.proc.data.p = (void *) a; - sargs.help.text = h_mail_text_att_view; -- sargs.help.title = "HELP FOR ATTACHED TEXT VIEW"; -+ sargs.help.title = "檢視附件文字的輔助說明"; - sargs.keys.menu = &att_view_keymenu; - setbitmap(sargs.keys.bitmap); - - /* First, fix up "back" key */ - if(flags & DA_FROM_VIEW){ -- att_view_keymenu.keys[ATV_BACK_KEY].label = "MsgText"; -+ att_view_keymenu.keys[ATV_BACK_KEY].label = "信件文字"; - } - else{ -- att_view_keymenu.keys[ATV_BACK_KEY].label = "AttchIndex"; -+ att_view_keymenu.keys[ATV_BACK_KEY].label = "附件索引"; - } - - if(!handles){ -@@ -2854,9 +2854,9 @@ - sargs.text.text = so_text(store); - sargs.text.src = CharStar; - sargs.text.desc = "attachment info"; -- sargs.bar.title = "ABOUT ATTACHMENT"; -+ sargs.bar.title = "附件資訊"; - sargs.help.text = h_simple_text_view; -- sargs.help.title = "HELP FOR \"ABOUT ATTACHMENT\""; -+ sargs.help.title = "\"關於附件\"的輔助說明"; - - scrolltool(&sargs); - -@@ -2900,7 +2900,7 @@ - role = combine_inherited_role(role); - else{ - role = NULL; -- cmd_cancelled("Forward"); -+ cmd_cancelled("轉寄"); - mail_free_envelope(&outgoing); - return; - } -@@ -2971,7 +2971,7 @@ - else /* partially formatted outgoing message */ - pine_send(outgoing, &body, - ps_global->nr_mode -- ? "SEND MESSAGE" : "FORWARD MESSAGE", -+ ? "送出信件" : "轉寄信件", - role, NULL, NULL, redraft_pos, NULL, NULL, FALSE); - - ps_global->mangled_screen = 1; -@@ -2989,12 +2989,12 @@ - so_give((STORE_S **) &msgtext); - free_redraft_pos(&redraft_pos); - q_status_message(SM_ORDER | SM_DING, 4, 5, -- "Error fetching message contents. Can't forward message."); -+ "取得信件內容時發生錯誤。無法轉寄信件。"); - } - } - else - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Error allocating message text"); -+ "無法配置信件文字"); - - mail_free_envelope(&outgoing); - free_action(&role); -@@ -3032,7 +3032,7 @@ - - ret = 'n'; - if(ps_global->full_header) -- ret = want_to("Forward message as an attachment", 'n', 0, -+ ret = want_to("將信件以附件形式轉寄", 'n', 0, - NO_HELP, WT_SEQ_SENSITIVE); - /* Setup possible role */ - if(!ps_global->anonymous && nonempty_patterns()){ -@@ -3042,7 +3042,7 @@ - role = combine_inherited_role(role); - else{ /* cancel reply */ - role = NULL; -- cmd_cancelled("Forward"); -+ cmd_cancelled("轉寄"); - mail_free_envelope(&outgoing); - so_give((STORE_S **) &msgtext); - return; -@@ -3118,7 +3118,7 @@ - pine_simple_send(outgoing, &body, NULL, NULL, NULL, 1); - else /* partially formatted outgoing message */ - pine_send(outgoing, &body, -- ps_global->nr_mode ? "SEND MESSAGE" : "FORWARD MESSAGE", -+ ps_global->nr_mode ? "送出信件" : "轉寄信件", - role, NULL, NULL, redraft_pos, NULL, NULL, FALSE); - - ps_global->mangled_screen = 1; -@@ -3135,16 +3135,16 @@ - else{ - so_give((STORE_S **) &msgtext); - q_status_message(SM_ORDER | SM_DING, 4, 5, -- "Error fetching message contents. Can't forward message."); -+ "取得信件內容時發生錯誤。無法轉寄信件。"); - } - } - else - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Error allocating message text"); -+ "無法配置信件文字"); - } - else - q_status_message1(SM_ORDER,3,4, -- "Error fetching message %s. Can't forward it.", -+ "取得信件 %s 的內容時發生錯誤。無法轉寄它。", - long2string(msgno)); - - mail_free_envelope(&outgoing); -@@ -3206,7 +3206,7 @@ - role = combine_inherited_role(role); - else{ /* cancel reply */ - role = NULL; -- cmd_cancelled("Reply"); -+ cmd_cancelled("回覆"); - goto seeyalater; - } - } -@@ -3248,7 +3248,7 @@ - : ps_global->VAR_SIGNATURE_FILE, - &redraft_pos)){ - /* partially formatted outgoing message */ -- pine_send(outgoing, &body, "COMPOSE MESSAGE REPLY", -+ pine_send(outgoing, &body, "編輯信件回函", - role, fcc.tptr, NULL, redraft_pos, NULL, NULL, 0); - - pine_free_body(&body); -@@ -3256,13 +3256,13 @@ - } - else - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Error building message body"); -+ "無法建立信件本體"); - - fs_give((void **) &tp); - } - else - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Error allocating message text"); -+ "無法配置信件文字"); - } - - seeyalater: -@@ -3332,7 +3332,7 @@ - - sprintf(prompt, "Pipe %sattachment %s to %s: ", raw ? "RAW " : "", - a->number, capture ? "" : "(Free Output) "); -- pipe_opt[1].label = raw ? "DecodedData" : "Raw Data"; -+ pipe_opt[1].label = raw ? "解碼後的資料" : "原始資料"; - pipe_opt[2].label = capture ? "Free Output" : "Capture Output"; - flags = OE_APPEND_CURRENT | OE_SEQ_SENSITIVE; - rc = optionally_enter(pipe_command, -FOOTER_ROWS(ps_global), 0, -@@ -3350,7 +3350,7 @@ - } - else if(rc == 0){ - if(pipe_command[0] == '\0'){ -- cmd_cancelled("Pipe command"); -+ cmd_cancelled("導向命令"); - break; - } - -@@ -3428,7 +3428,7 @@ - break; - } - else if(rc == 1){ -- cmd_cancelled("Pipe"); -+ cmd_cancelled("導向"); - break; - } - else if(rc = 3) diff --git a/chinese/pine4/files/patch-bd b/chinese/pine4/files/patch-bd deleted file mode 100644 index d53ca5eb8e00..000000000000 --- a/chinese/pine4/files/patch-bd +++ /dev/null @@ -1,561 +0,0 @@ ---- pine/mailview.c.orig Tue Nov 16 03:03:45 1999 -+++ pine/mailview.c Fri Nov 19 16:18:24 1999 -@@ -162,8 +162,8 @@ - static struct key view_keys[] = - {HELP_MENU, - OTHER_MENU, -- {"<","MsgIndex",{MC_INDEX,3,{'i','<',','}},KS_FLDRINDEX}, -- {">","ViewAttch",{MC_VIEW_ATCH,3,{'v','>','.'}},KS_NONE}, -+ {"<","索引",{MC_INDEX,3,{'i','<',','}},KS_FLDRINDEX}, -+ {">","檢視附件",{MC_VIEW_ATCH,3,{'v','>','.'}},KS_NONE}, - PREVMSG_MENU, - NEXTMSG_MENU, - PREVPAGE_MENU, -@@ -188,11 +188,11 @@ - - HELP_MENU, - OTHER_MENU, -- {"Ret","[View Hilite]",{MC_VIEW_HANDLE,3, -+ {"Ret","[檢視 Hilite]",{MC_VIEW_HANDLE,3, - {ctrl('m'),ctrl('j'),KEY_RIGHT}},KS_NONE}, -- {":","SelectCur",{MC_SELCUR,1,{':'}},KS_SELECTCUR}, -- {"^B","Prev URL",{MC_PREV_HANDLE,1,{ctrl('B')}},KS_NONE}, -- {"^F","Next URL",{MC_NEXT_HANDLE,1,{ctrl('F')}},KS_NONE}, -+ {":","選擇",{MC_SELCUR,1,{':'}},KS_SELECTCUR}, -+ {"^B","前一 URL",{MC_PREV_HANDLE,1,{ctrl('B')}},KS_NONE}, -+ {"^F","次一 URL",{MC_NEXT_HANDLE,1,{ctrl('F')}},KS_NONE}, - JUMP_MENU, - TAB_MENU, - HDRMODE_MENU, -@@ -222,7 +222,7 @@ - #define FLAG_KEY 34 - #define VIEW_PIPE_KEY 35 - --static struct key nr_anon_view_keys[] = -+static struct key nr_anon_view_keys[] = - {HELP_MENU, - WHEREIS_MENU, - QUIT_MENU, -@@ -246,7 +246,7 @@ - NEXTMSG_MENU, - PREVPAGE_MENU, - NEXTPAGE_MENU, -- {"F", "Fwd Email", {MC_FORWARD,1,{'f'}}, KS_FORWARD}, -+ {"F", "信件轉寄", {MC_FORWARD,1,{'f'}}, KS_FORWARD}, - JUMP_MENU, - PRYNTTXT_MENU, - SAVE_MENU, -@@ -268,7 +268,7 @@ - static struct key simple_text_keys[] = - {HELP_MENU, - NULL_MENU, -- {"E","Exit Viewer",{MC_EXIT,1,{'e'}},KS_EXITMODE}, -+ {"E","離開",{MC_EXIT,1,{'e'}},KS_EXITMODE}, - NULL_MENU, - NULL_MENU, - NULL_MENU, -@@ -277,7 +277,7 @@ - PRYNTTXT_MENU, - WHEREIS_MENU, - FWDEMAIL_MENU, -- {"S", "Save", {MC_SAVETEXT,1,{'s'}}, KS_SAVE}}; -+ {"S", "存檔", {MC_SAVETEXT,1,{'s'}}, KS_SAVE}}; - INST_KEY_MENU(simple_text_keymenu, simple_text_keys); - - -@@ -437,7 +437,7 @@ - * we were viewing. If so, make sure we don't just come back. - */ - if(mn_get_total(ps->msgmap) <= 0L || !ps->mail_stream){ -- q_status_message(SM_ORDER, 0, 3, "No messages to read!"); -+ q_status_message(SM_ORDER, 0, 3, "沒有可供讀取的信件!"); - ps->next_screen = mail_index_screen; - break; - } -@@ -452,7 +452,7 @@ - body = NULL; - if(!(env = mail_fetchstructure(ps->mail_stream, raw_msgno, &body)) - || !(mc = mail_elt(ps->mail_stream, raw_msgno))){ -- q_status_message1(SM_ORDER, 3, 3, "Error getting message %s data", -+ q_status_message1(SM_ORDER, 3, 3, "取得信件 %s 的資料時發生錯誤", - comatose(mn_get_cur(ps->msgmap))); - dprint(1, (debugfile, "!!!! ERROR fetching %s of msg %ld\n", - env ? "elt" : "env", mn_get_cur(ps->msgmap))); -@@ -510,7 +510,7 @@ - memset(&scrollargs, 0, sizeof(SCROLL_S)); - scrollargs.text.text = so_text(store); - scrollargs.text.src = src; -- scrollargs.text.desc = "message"; -+ scrollargs.text.desc = "信件"; - - /* - * make first selectable handle the default -@@ -536,11 +536,11 @@ - offset = 0L; - } - -- scrollargs.bar.title = "MESSAGE TEXT"; -+ scrollargs.bar.title = "信件文字"; - scrollargs.end_scroll = view_end_scroll; - scrollargs.resize_exit = 1; - scrollargs.help.text = h_mail_view; -- scrollargs.help.title = "HELP FOR MESSAGE TEXT VIEW"; -+ scrollargs.help.title = "信件文字的輔助說明"; - scrollargs.keys.menu = &view_keymenu; - scrollargs.keys.what = save_what; - setbitmap(scrollargs.keys.bitmap); -@@ -1327,7 +1327,7 @@ - /*---- format and copy envelope ----*/ - if(ps_global->full_header) - q_status_message(SM_INFO, 0, 3, -- "Full header mode ON. All header text being included"); -+ "完整標頭模式開啟。所有的標頭文字都包含在內"); - - HD_INIT(&h, ps_global->VAR_VIEW_HEADERS, ps_global->view_all_except, - FE_DEFAULT); -@@ -1366,7 +1366,7 @@ - if(append_file_name) - fs_give((void **)&append_file_name); - -- q_status_message1(SM_ORDER,3,3,"Can't make temp file: %s", -+ q_status_message1(SM_ORDER,3,3,"無法建立暫存檔:%s", - error_description(errno)); - return(0); - } -@@ -1675,7 +1675,7 @@ - write_error: - - if(!(flgs & FM_DISPLAY)) -- q_status_message1(SM_ORDER, 3, 4, "Error writing message: %s", -+ q_status_message1(SM_ORDER, 3, 4, "寫入信件時發生錯誤:%s", - decode_err ? decode_err : error_description(errno)); - - return(0); -@@ -2237,12 +2237,12 @@ - char prompt[256], tmp[MAILTMPLEN]; - int rc, flags, local_h; - static ESCKEY_S launch_opts[] = { -- {'y', 'y', "Y", "Yes"}, -- {'n', 'n', "N", "No"}, -+ {'y', 'y', "Y", "是"}, -+ {'n', 'n', "N", "否"}, - {-2, 0, NULL, NULL}, - {-2, 0, NULL, NULL}, -- {0, 'u', "U", "editURL"}, -- {0, 'a', "A", "editApp"}, -+ {0, 'u', "U", "編輯 URL"}, -+ {0, 'a', "A", "編輯應用程式"}, - {-1, 0, NULL, NULL}}; - - if(handle->type == URL){ -@@ -2268,11 +2268,11 @@ - if(!local_h){ - if(ps_global->vars[V_BROWSER].is_fixed){ - q_status_message(SM_ORDER, 3, 4, -- "URL-Viewer is disabled by sys-admin"); -+ "URL 檢視程式已被系統管理員關閉"); - return(0); - } - else{ -- if(want_to("No URL-Viewer application defined. Define now", -+ if(want_to("尚未定義 URL 檢視程式!現在定義", - 'y', 0, NO_HELP, WT_SEQ_SENSITIVE) == 'y'){ - /* Prompt for the displayer? */ - tmp[0] = '\0'; -@@ -2316,7 +2316,7 @@ - } - else{ - q_status_message1(SM_ORDER | SM_DING, 2, 2, -- "Browser not found: %s", -+ "找不到瀏覽器:%s", - error_description(errno)); - continue; - } -@@ -2360,8 +2360,8 @@ - max(0,sc - 25), handle->h.url.path+7, - (strlen(handle->h.url.path+7) > max(0,sc-25)) ? "..." : ""); - else -- sprintf(prompt, "View selected %s %s%.*s%s ? ", -- (handle->type == URL) ? "URL" : "Attachment", -+ sprintf(prompt, "檢視選擇的 %s %s%.*s%s ? ", -+ (handle->type == URL) ? "URL" : "附件", - (handle->type == URL) ? "\"" : "", - max(0,sc-27), - (handle->type == URL) ? handle->h.url.path : "", -@@ -2420,10 +2420,10 @@ - OE_KEEP_TRAILING_SPACE | - OE_DISALLOW_HELP; - -- sprintf(prompt, "Viewer command: "); -+ sprintf(prompt, "檢視器命令:"); - - rc = optionally_enter(tmp, -FOOTER_ROWS(ps_global), 0, -- MAILTMPLEN - 1, "Viewer Command: ", -+ MAILTMPLEN - 1, "檢視器命令:", - NULL, NO_HELP, &flags); - if(rc == 0){ - if(flags & OE_USER_MODIFIED){ -@@ -3763,11 +3763,11 @@ - mode = PIPE_RESET | PIPE_USER ; - if(syspipe = open_system_pipe(cmd, NULL, NULL, mode, 0)){ - close_system_pipe(&syspipe); -- q_status_message(SM_ORDER, 0, 4, "VIEWER command completed"); -+ q_status_message(SM_ORDER, 0, 4, "檢視器命令完成"); - } - else - q_status_message1(SM_ORDER, 3, 4, -- "Cannot spawn command : %s", cmd); -+ "無法起始命令:%s", cmd); - } - else if(f = url_local_handler(handle->h.url.path)){ - if((*f)(handle->h.url.path) > 1) -@@ -3775,7 +3775,7 @@ - } - else - q_status_message1(SM_ORDER, 2, 2, -- "\"URL-Viewer\" not defined: Can't open %s", -+ "尚未定義 \"URL-檢視器\":無法開啟 %s", - handle->h.url.path); - - return(rv); -@@ -3787,7 +3787,7 @@ - int return_value; - { - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "Can't spawn. Command too long."); -+ "無法起始。命令太長。"); - return(return_value); - } - -@@ -4132,7 +4132,7 @@ - } - else - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Can't create space for composer"); -+ "無法替編輯器建立空間"); - - outta_here: - if(outgoing) -@@ -4203,7 +4203,7 @@ - else if(errstr) - q_status_message(SM_ORDER|SM_DING, 3, 3, errstr); - else -- cmd_cancelled("URL Launch"); -+ cmd_cancelled("檢視 URL"); - - break; - -@@ -4226,7 +4226,7 @@ - if(uid_val != ps_global->mail_stream->uid_validity){ - /* Complain! */ - q_status_message(SM_ORDER|SM_DING, 3, 3, -- "Warning! Referenced folder changed since URL recorded"); -+ "警告!參考資料匣已於 URL 記錄後改變"); - } - - if(uid){ -@@ -4242,7 +4242,7 @@ - - if(i > mn_get_total(ps_global->msgmap)) - q_status_message(SM_ORDER, 2, 3, -- "Couldn't find specified article number"); -+ "找不到指定的文章編號"); - } - else if(search){ - /* -@@ -4263,9 +4263,9 @@ - if(i = any_lflagged(ps_global->msgmap, MN_SLCT)){ - extern long zoom_index(); - -- q_status_message2(SM_ORDER, 0, 3, -- "%s message%s selected", -- long2string(i), plural(i)); -+ q_status_message1(SM_ORDER, 0, 3, -+ "已選擇 %s 封信件", -+ long2string(i)); - /* Zoom the index! */ - zoom_index(ps_global, ps_global->msgmap); - } -@@ -4413,7 +4413,7 @@ - - if(auth && *auth != '*') - q_status_message(SM_ORDER, 3, 3, -- "Unsupported authentication method. Using standard login."); -+ "未支援的認證方式。使用標準登入。"); - - /* - * At this point our structure should contain the -@@ -4497,7 +4497,7 @@ - - if(i > mn_get_total(ps_global->msgmap)) - q_status_message(SM_ORDER, 2, 3, -- "Couldn't find specified article number"); -+ "找不到指定的文章編號"); - } - - break; -@@ -4614,7 +4614,7 @@ - } - else - q_status_message1(SM_ORDER | SM_DING, 0, 3, -- "Can't find fragment: %s", fragment); -+ "找不到片斷:%s", fragment); - - return(1); - } -@@ -4641,7 +4641,7 @@ - dprint(2, (debugfile, "-- bogus url \"%s\": %s\n", - url ? url : "<NULL URL>", reason)); - if(url) -- q_status_message3(SM_ORDER|SM_DING, 2, 3, "Malformed \"%.*s\" URL: %s", -+ q_status_message3(SM_ORDER|SM_DING, 2, 3, "格式錯誤的 \"%.*s\" URL:%s", - (void *) (strchr(url, ':') - url), url, reason); - - return(0); -@@ -4800,7 +4800,7 @@ - - write_error: - if(style == QStatus) -- q_status_message1(SM_ORDER, 3, 4, "Error writing message: %s", -+ q_status_message1(SM_ORDER, 3, 4, "寫入信件時發生錯誤:%s", - error_description(errno)); - - return(1); -@@ -5053,7 +5053,7 @@ - gf_set_so_readc(&tmp_gc, df_store); - if(errstr = dfilter(display_filter, tmp_store, tmp_pc, NULL)){ - q_status_message1(SM_ORDER | SM_DING, 3, 3, -- "Formatting error: %s", errstr); -+ "格式錯誤:%s", errstr); - rv = FHT_WRTERR; - } - else -@@ -5063,7 +5063,7 @@ - } - else{ - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "No space for filtered text."); -+ "沒有足夠的空間過濾文字。"); - rv = FHT_WRTERR; - } - } -@@ -5105,7 +5105,7 @@ - if(errstr = gf_pipe(tmp_gc, final_pc)){ - rv = FHT_WRTERR; - q_status_message1(SM_ORDER | SM_DING, 3, 3, -- "Can't build header : %s", errstr); -+ "無法建立標頭:%s", errstr); - } - } - -@@ -5243,7 +5243,7 @@ - format_newsgroup_string("Newsgroups: ", e->newsgroups, flags, pc); - if(e->ngbogus) - q_status_message(SM_ORDER, 0, 3, -- "Unverified Newsgroup header -- Message MAY or MAY NOT have been posted"); -+ "未經證實的新聞組群標頭 -- 訊息可能從未被張貼"); - } - - if((which & FE_FOLLOWUPTO) && e->followup_to) -@@ -6002,7 +6002,7 @@ - } - - if(!sparms->bar.title) -- sparms->bar.title = "Text"; -+ sparms->bar.title = "文字"; - - if(sparms->bar.style == TitleBarNone) - sparms->bar.style = MsgTextPercent; -@@ -6175,7 +6175,7 @@ - } - - if(first_view && num_display_lines >= scroll_text_lines()) -- q_status_message1(SM_INFO, 0, 1, "ALL of %s", STYLE_NAME(sparms)); -+ q_status_message1(SM_INFO, 0, 1, "%s全部", STYLE_NAME(sparms)); - - - force = 0; /* may not need to next time around */ -@@ -6313,7 +6313,7 @@ - whereis_pos.row = 0; - if(sparms->help.text == NO_HELP || ps_global->nr_mode){ - q_status_message(SM_ORDER, 0, 5, -- "No help text currently available"); -+ "目前尚無輔助說明"); - break; - } - -@@ -6352,7 +6352,7 @@ - cur_top_line -= scroll_lines; - if(cur_top_line <= 0){ - cur_top_line = 0; -- q_status_message1(SM_INFO, 0, 1, "START of %s", -+ q_status_message1(SM_INFO, 0, 1, "%s起始", - STYLE_NAME(sparms)); - } - } -@@ -6368,7 +6368,7 @@ - } - - if(!next_handle) -- q_status_message1(SM_ORDER, 0, 1, "Already at start of %s", -+ q_status_message1(SM_ORDER, 0, 1, "已經在%s的起始", - STYLE_NAME(sparms)); - - } -@@ -6386,12 +6386,12 @@ - cur_top_line += scroll_lines; - - if(cur_top_line + num_display_lines >= scroll_text_lines()) -- q_status_message1(SM_INFO, 0, 1, "END of %s", -+ q_status_message1(SM_INFO, 0, 1, "%s結尾", - STYLE_NAME(sparms)); - } - else if(!sparms->end_scroll - || !(done = (*sparms->end_scroll)(sparms))){ -- q_status_message1(SM_ORDER, 0, 1, "Already at end of %s", -+ q_status_message1(SM_ORDER, 0, 1, "已經在%s的結尾", - STYLE_NAME(sparms)); - /* hilite last available handle */ - if(sparms->text.handles){ -@@ -6461,11 +6461,11 @@ - whereis_pos.row = 0; - cur_top_line++; - if(cur_top_line + num_display_lines >= scroll_text_lines()) -- q_status_message1(SM_INFO, 0, 1, "END of %s", -+ q_status_message1(SM_INFO, 0, 1, "%s結尾", - STYLE_NAME(sparms)); - } - else -- q_status_message1(SM_ORDER, 0, 1, "Already at end of %s", -+ q_status_message1(SM_ORDER, 0, 1, "已經在%s的結尾", - STYLE_NAME(sparms)); - } - -@@ -6528,11 +6528,11 @@ - if(cur_top_line){ - cur_top_line--; - if(cur_top_line == 0) -- q_status_message1(SM_INFO, 0, 1, "START of %s", -+ q_status_message1(SM_INFO, 0, 1, "%s起始", - STYLE_NAME(sparms)); - } - else -- q_status_message1(SM_ORDER, 0, 1, "Already at start of %s", -+ q_status_message1(SM_ORDER, 0, 1, "已經在%s的起始", - STYLE_NAME(sparms)); - } - -@@ -6566,7 +6566,7 @@ - } - - q_status_message1(SM_ORDER, 0, 1, -- "Already on last item in %s", -+ "已經在%s中最後一個可選擇的項目上", - STYLE_NAME(sparms)); - } - -@@ -6600,7 +6600,7 @@ - } - - q_status_message1(SM_ORDER, 0, 1, -- "Already on first item in %s", -+ "已經在%s中第一個可選擇的項目上", - STYLE_NAME(sparms)); - } - -@@ -6751,8 +6751,8 @@ - q_status_message(SM_ORDER, 0, 3, tmp_20k_buf); - else - q_status_message2(SM_ORDER, 0, 3, -- "%sFound on line %s on screen", -- result ? "Search wrapped to start. " : "", -+ "%s在畫面上第 %s 行找到", -+ result ? "重頭搜尋。" : "", - int2string(whereis_pos.row)); - - if(key){ -@@ -6769,9 +6769,9 @@ - } - } - else if(found_on == -1) -- cmd_cancelled("Search"); -+ cmd_cancelled("搜尋"); - else -- q_status_message(SM_ORDER, 0, 3, "Word not found"); -+ q_status_message(SM_ORDER, 0, 3, "找不到該字"); - } - - break; -@@ -7144,13 +7144,13 @@ - int rc, flags; - static char search_string[MAX_SEARCH+1] = { '\0' }; - static ESCKEY_S word_search_key[] = { { 0, 0, "", "" }, -- {ctrl('Y'), 10, "^Y", "First Line"}, -- {ctrl('V'), 11, "^V", "Last Line"}, -+ {ctrl('Y'), 10, "^Y", "第一行"}, -+ {ctrl('V'), 11, "^V", "最後一行"}, - {-1, 0, NULL, NULL} - }; - - report[0] = '\0'; -- sprintf(prompt, "Word to search for [%s] : ", search_string); -+ sprintf(prompt, "搜尋字串[%s]:", search_string); - help = NO_HELP; - nsearch_string[0] = '\0'; - -@@ -7165,11 +7165,11 @@ - continue; - } - else if(rc == 10){ -- strcpy(report, "Searched to First Line."); -+ strcpy(report, "搜尋至第一行。"); - return(-4); - } - else if(rc == 11){ -- strcpy(report, "Searched to Last Line."); -+ strcpy(report, "搜尋至最後一行。"); - return(-5); - } - -@@ -8308,12 +8308,12 @@ - if(*msg_p[0]) - for(i = 0; i < msg_q; i++) - q_status_message2(SM_ORDER, 3, 4, -- "%s Result: %s", title, msg_p[i]); -+ "%s 結果:%s", title, msg_p[i]); - else - q_status_message2(SM_ORDER, 0, 4, "%s%s", title, - alt_msg - ? alt_msg -- : " command completed with no output"); -+ : " 命令已完成(沒有輸出)"); - - fclose(f); - f = NULL; -@@ -8326,7 +8326,7 @@ - q_status_message2(SM_ORDER, 0, 4, "%s%s", title, - alt_msg - ? alt_msg -- : " command completed with no output"); -+ : " 命令已完成(沒有輸出)"); - fclose(f); - f = NULL; - } -@@ -8341,7 +8341,7 @@ - memset(&sargs, 0, sizeof(SCROLL_S)); - sargs.text.text = f; - sargs.text.src = FileStar; -- sargs.text.desc = "output"; -+ sargs.text.desc = "輸出"; - sargs.bar.title = title; - sargs.bar.style = TextPercent; - sargs.help.text = h_simple_text_view; -@@ -8542,7 +8542,7 @@ - break; - - case -1 : -- cmd_cancelled("View"); -+ cmd_cancelled("檢視"); - break; - - default : diff --git a/chinese/pine4/files/patch-be b/chinese/pine4/files/patch-be deleted file mode 100644 index 7ffc020268fd..000000000000 --- a/chinese/pine4/files/patch-be +++ /dev/null @@ -1,84 +0,0 @@ ---- pine/newmail.c.orig Tue Nov 2 08:13:10 1999 -+++ pine/newmail.c Fri Nov 19 16:18:24 1999 -@@ -318,24 +318,15 @@ - ENVELOPE *e; - char subject[200], from[2*MAX_SCREEN_COLS], - intro[MAX_SCREEN_COLS+1]; -- static char *carray[] = { "regarding", -- "concerning", -- "about", -- "as to", -- "as regards", -- "as respects", -- "in re", -- "re", -- "respecting", -- "in point of", -- "with regard to", -- "subject:" -+ static char *carray[] = { "關於", -+ "有關", -+ "標題為:" - }; - - e = mail_fetchstructure(stream, max_num, NULL); - - if(e && e->from){ -- sprintf(from, " %srom ", (number > 1L) ? "Most recent f" : "F"); -+ sprintf(from, " %srom ", (number > 1L) ? "最近來" : "來"); - if(e->from->personal) - istrncpy(from + ((number > 1L) ? 18 : 6), - (char *) rfc1522_decode((unsigned char *) tmp_20k_buf, -@@ -352,13 +343,13 @@ - - if(number <= 1L) { - if(e && e->subject){ -- sprintf(subject, " %s ", carray[(unsigned)random()%12]); -+ sprintf(subject, " %s ", carray[(unsigned)random()%2]); - istrncpy(subject + strlen(subject), - (char *) rfc1522_decode((unsigned char *) tmp_20k_buf, - e->subject, NULL), 100); - } - else -- strcpy(subject, " with no subject"); -+ strcpy(subject, " 沒有主題"); - - if(!from[0]) - subject[1] = toupper((unsigned char)subject[1]); -@@ -368,29 +359,29 @@ - - if(!folder) { - if(number > 1) -- sprintf(intro, "%ld new messages!", number); -+ sprintf(intro, "%ld 封新信件!", number); - else -- sprintf(intro, "New mail%s!", -- (e && address_is_us(e->to, ps_global)) ? " to you" : ""); -+ sprintf(intro, "%s新信!", -+ (e && address_is_us(e->to, ps_global)) ? "您有" : ""); - } - else { - long fl, tot, newfl; - - if(number > 1) -- sprintf(intro, "%ld messages saved to folder \"%s\"", number, -+ sprintf(intro, "%ld 封信件被存至資料匣 \"%s\"", number, - folder); - else -- sprintf(intro, "Mail saved to folder \"%s\"", folder); -+ sprintf(intro, "信件被存至資料匣 \"%s\"", folder); - - if((fl=strlen(folder)) > 10 && - (tot=strlen(intro) + strlen(from) + strlen(subject)) > - ps_global->ttyo->screen_cols - 2){ - newfl = max(10, fl-(tot-(ps_global->ttyo->screen_cols - 2))); - if(number > 1) -- sprintf(intro, "%ld messages saved to folder \"...%s\"", number, -+ sprintf(intro, "%ld 封信件被存至資料匣 \"...%s\"", number, - folder+(fl-(newfl-3))); - else -- sprintf(intro, "Mail saved to folder \"...%s\"", -+ sprintf(intro, "信件被存至資料匣 \"...%s\"", - folder+(fl-(newfl-3))); - } - } diff --git a/chinese/pine4/files/patch-bf b/chinese/pine4/files/patch-bf deleted file mode 100644 index 19cd86975156..000000000000 --- a/chinese/pine4/files/patch-bf +++ /dev/null @@ -1,2316 +0,0 @@ ---- pine/other.c.orig Sat Nov 6 04:00:18 1999 -+++ pine/other.c Fri Nov 19 17:40:07 1999 -@@ -53,18 +53,18 @@ - - #define BODY_LINES(X) ((X)->ttyo->screen_rows -HEADER_ROWS(X)-FOOTER_ROWS(X)) - --#define CONFIG_SCREEN_TITLE "SETUP CONFIGURATION" --#define CONFIG_SCREEN_HELP_TITLE "HELP FOR SETUP CONFIGURATION" -+#define CONFIG_SCREEN_TITLE "環境設定" -+#define CONFIG_SCREEN_HELP_TITLE "環境設定的輔助說明" - #define R_SELD '*' --#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 "送出改變(\"是\" 取代設定,\"否\" 放棄改變)" -+static char *empty_val = "空的設定值"; -+static char *empty_val2 = "<空的設定值>"; - #define EMPTY_VAL_LEN 11 --static char *no_val = "No Value Set"; -+static char *no_val = "尚未定義設定值"; - #define NO_VAL_LEN 12 --static char *fixed_val = "Value is Fixed"; -+static char *fixed_val = "設定值已固定"; - --#define ARB_HELP "HELP FOR ARBITRARY HEADER PATTERNS" -+#define ARB_HELP "任意標頭式樣的輔助說明" - - typedef struct edit_arb { - struct variable *v; -@@ -349,16 +349,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 - } -@@ -370,12 +368,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 - } -@@ -417,9 +415,9 @@ - char prompt[50]; - - sprintf(prompt, -- "%s password to LOCK keyboard %s: ", -- i ? "Retype" : "Enter", -- i > 1 ? "(Yes, again) " : ""); -+ "%s鎖定鍵盤的密碼 %s:", -+ i ? "重新輸入" : "輸入", -+ i > 1 ? "(是的,再一次) " : ""); - - flags = OE_PASSWD; - rc = optionally_enter(pw, -FOOTER_ROWS(ps), 0, 30, -@@ -428,7 +426,7 @@ - if(rc == 3) - help = help == NO_HELP ? h_kb_lock : NO_HELP; - else if(rc == 1 || pw[0] == '\0'){ -- q_status_message(SM_ORDER, 0, 2, "Keyboard lock cancelled"); -+ q_status_message(SM_ORDER, 0, 2, "取消鍵盤鎖定"); - return(-1); - } - else if(rc != 4) -@@ -439,14 +437,14 @@ - strcpy(inpasswd, pw); - else if(strcmp(inpasswd, pw)){ - q_status_message(SM_ORDER, 0, 2, -- "Mismatch with initial password: keyboard lock cancelled"); -+ "和初始密碼不符:取消鍵盤鎖定"); - return(-1); - } - } - -- if(want_to("Really lock keyboard with entered password", 'y', 'n', -+ if(want_to("確定以輸入的密碼鎖定鍵盤", 'y', 'n', - NO_HELP, WT_NORM) != 'y'){ -- q_status_message(SM_ORDER, 0, 2, "Keyboard lock cancelled"); -+ q_status_message(SM_ORDER, 0, 2, "取消鍵盤鎖定"); - return(-1); - } - -@@ -460,7 +458,7 @@ - while(strcmp(inpasswd, passwd)){ - if(passwd[0]) - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "Password to UNLOCK doesn't match password used to LOCK"); -+ "密碼不符"); - - help = NO_HELP; - while(1){ -@@ -468,7 +466,7 @@ - - flags = OE_PASSWD | OE_DISALLOW_CANCEL; - rc = optionally_enter(passwd, -FOOTER_ROWS(ps), 0, 30, -- "Enter password to UNLOCK keyboard : ",NULL, -+ "輸入解除鎖定的密碼:",NULL, - help, &flags); - if(rc == 3) { - help = help == NO_HELP ? h_oe_keylock : NO_HELP; -@@ -483,7 +481,7 @@ - if(old_suspend) - F_TURN_ON(F_CAN_SUSPEND, ps_global); - -- q_status_message(SM_ORDER, 0, 3, "Keyboard Unlocked"); -+ q_status_message(SM_ORDER, 0, 3, "解除鍵盤鎖定"); - return(0); - } - -@@ -521,7 +519,7 @@ - struct variable *vars = ps_global->vars; - - if(!signature_path(sigfile, sig_path, MAXPATH)) -- return(cpystr("No signature file defined.")); -+ return(cpystr("尚未定義簽名檔。")); - - memset(&pbuf, 0, sizeof(PICO)); - -@@ -598,7 +596,7 @@ - * Now alloc and init the text to pass pico - */ - if(!(msgso = so_get(PicoText, NULL, EDIT_ACCESS))){ -- ret = cpystr("Error allocating space for file"); -+ ret = cpystr("配置檔案空間時發生錯誤"); - dprint(1, (debugfile, "Can't alloc space for signature_edit")); - return(ret); - } -@@ -609,7 +607,7 @@ - && !(tmpso = so_get(FileStar, sig_path, READ_ACCESS))){ - char *problem = error_description(errno); - -- sprintf(errbuf, "Error editing \"%s\": %s", -+ sprintf(errbuf, "編輯 %s 時發生錯誤:%s", - sig_path, problem ? problem : "<NULL>"); - ret = cpystr(errbuf); - -@@ -622,7 +620,7 @@ - gf_set_so_writec(&pc, msgso); - gf_filter_init(); /* no filters needed */ - if(errstr = gf_pipe(gc, pc)){ -- sprintf(errbuf, "Error reading file: \"%s\"", errstr); -+ sprintf(errbuf, "編輯簽名檔時發生錯誤 \"%s\"", errstr); - ret = cpystr(errbuf); - } - -@@ -661,7 +659,7 @@ - gf_set_so_writec(&pc, tmpso); /* write sig file */ - gf_filter_init(); /* no filters needed */ - if(errstr = gf_pipe(gc, pc)){ -- sprintf(errbuf, "Error writing file: \"%s\"", -+ sprintf(errbuf, "寫入檔案時發生錯誤:\"%s\"", - errstr); - ret = cpystr(errbuf); - } -@@ -671,7 +669,7 @@ - so_give(&tmpso); - } - else{ -- 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)); -@@ -700,8 +698,8 @@ - char *rstr = NULL; - void (*redraw)() = ps_global->redrawer; - static ESCKEY_S opts[] = { -- {'y', 'y', "Y", "Yes"}, -- {'n', 'n', "N", "No"}, -+ {'y', 'y', "Y", "是"}, -+ {'n', 'n', "N", "否"}, - {-1, 0, NULL, NULL} - }; - -@@ -709,18 +707,18 @@ - fix_windsize(ps_global); - - while(1){ -- rv = radio_buttons("Exit editor and apply changes? ", -+ rv = radio_buttons("結束編輯並套用改變?", - -FOOTER_ROWS(ps_global), opts, - 'y', 'x', NO_HELP, RB_NORM); - if(rv == 'y'){ /* user ACCEPTS! */ - break; - } - else if(rv == 'n'){ /* Declined! */ -- rstr = "No Changes Saved"; -+ rstr = "改變並未存檔"; - break; - } - else if(rv == 'x'){ /* Cancelled! */ -- rstr = "Exit Cancelled"; -+ rstr = "取消"; - break; - } - } -@@ -735,28 +733,28 @@ - * * * * * * Start of Config Screen Support Code * * * * * - */ - --#define PREV_MENU {"P", "Prev", {MC_PREVITEM, 1, {'p'}}, KS_NONE} --#define NEXT_MENU {"N", "Next", {MC_NEXTITEM, 2, {'n','\t'}}, KS_NONE} -+#define PREV_MENU {"P", "前一個", {MC_PREVITEM, 1, {'p'}}, KS_NONE} -+#define NEXT_MENU {"N", "後一個", {MC_NEXTITEM, 2, {'n','\t'}}, KS_NONE} - #define EXIT_SETUP_MENU \ -- {"E", "Exit Setup", {MC_EXIT,1,{'e'}}, KS_EXITMODE} -+ {"E", "離開", {MC_EXIT,1,{'e'}}, KS_EXITMODE} - #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, - 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, -- {"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}; - INST_KEY_MENU(config_text_keymenu, config_text_keys); -@@ -765,13 +763,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); -@@ -780,13 +778,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, - -@@ -794,8 +792,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, -@@ -808,13 +806,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, - -@@ -822,7 +820,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, -@@ -836,13 +834,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, - -@@ -851,7 +849,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, -@@ -864,13 +862,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, - -@@ -878,8 +876,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, -@@ -892,13 +890,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, - -@@ -907,10 +905,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}; -@@ -920,13 +918,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, - -@@ -934,7 +932,7 @@ - OTHER_MENU, - NULL_MENU, - NULL_MENU, -- {"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, -@@ -948,13 +946,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, - -@@ -962,7 +960,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, -@@ -976,13 +974,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, - -@@ -990,7 +988,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, -@@ -1004,13 +1002,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, - -@@ -1018,7 +1016,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, -@@ -1077,7 +1075,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, -@@ -1092,7 +1090,7 @@ - {HELP_MENU, - NULL_MENU, - EXIT_SETUP_MENU, -- {"C", "[Change]", {MC_TOGGLE,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE}, -+ {"C", "[修改]", {MC_TOGGLE,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE}, - PREV_MENU, - NEXT_MENU, - PREVPAGE_MENU, -@@ -1107,8 +1105,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, -@@ -1123,8 +1121,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, -@@ -1139,8 +1137,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, -@@ -1156,8 +1154,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, -@@ -1173,7 +1171,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, -@@ -1188,7 +1186,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, -@@ -1202,8 +1200,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, -@@ -1216,7 +1214,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, -@@ -1837,14 +1835,14 @@ - {HELP_MENU, - PRYNTTXT_MENU, - EXIT_SETUP_MENU, -- {"S", "[Select]", {MC_CHOICE,3,{'s',ctrl('M'),ctrl('J')}}, KS_NONE}, -+ {"S", "[選擇]", {MC_CHOICE,3,{'s',ctrl('M'),ctrl('J')}}, KS_NONE}, - PREV_MENU, - NEXT_MENU, - PREVPAGE_MENU, - NEXTPAGE_MENU, - {"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}, -+ {"C", "修改", {MC_EDIT,1,{'c'}}, KS_NONE}, - WHEREIS_MENU}; - INST_KEY_MENU(printer_edit_keymenu, printer_edit_keys); - -@@ -1852,7 +1850,7 @@ - {HELP_MENU, - PRYNTTXT_MENU, - EXIT_SETUP_MENU, -- {"S", "[Select]", {MC_CHOICE,3,{'s',ctrl('M'),ctrl('J')}}, KS_NONE}, -+ {"S", "[選擇]", {MC_CHOICE,3,{'s',ctrl('M'),ctrl('J')}}, KS_NONE}, - PREV_MENU, - NEXT_MENU, - PREVPAGE_MENU, -@@ -1885,7 +1883,7 @@ - char *saved_printer; - OPT_SCREEN_S screen; - -- if(fixed_var(&ps_global->vars[V_PRINTER], "change", "printer")) -+ if(fixed_var(&ps_global->vars[V_PRINTER], "修改", "印表機")) - return; - - saved_printer = cpystr(ps->VAR_PRINTER); -@@ -1901,7 +1899,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); -@@ -2254,7 +2252,7 @@ - - vsave = save_config_vars(ps); - switch(conf_scroll_screen(ps, &screen, start_line, -- "SETUP PRINTER", "printer config ", 1, 0)){ -+ "設定印表機", "printer config ", 1, 0)){ - case 0: - break; - -@@ -2295,8 +2293,8 @@ - fs_give((void **)def_printer_line); - - *def_printer_line = fs_get(36 + strlen(p) + 1); -- sprintf(*def_printer_line, "Default printer currently %s%s%s", -- set ? "set to \"" : "unset", set ? p : "", set ? "\"." : "."); -+ sprintf(*def_printer_line, "預設印表機目前%s%s%s", -+ set ? "設定為 \"" : "未設定", set ? p : "", set ? "\"." : "."); - - fs_give((void **)&nick); - fs_give((void **)&cmd); -@@ -2306,7 +2304,7 @@ - static struct key flag_keys[] = - {HELP_MENU, - NULL_MENU, -- {"E", "Exit Flags", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, -+ {"E", "離開", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, - TOGGLE_MENU, - PREV_MENU, - NEXT_MENU, -@@ -2460,9 +2458,9 @@ - - static struct key addr_select_keys[] = - {HELP_MENU, -- {"E", "ExitSelect", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, -+ {"E", "離開", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, - NULL_MENU, -- {"S", "[Select]", {MC_CHOICE,3,{'s',ctrl('M'),ctrl('J')}}, KS_NONE}, -+ {"S", "[選擇]", {MC_CHOICE,3,{'s',ctrl('M'),ctrl('J')}}, KS_NONE}, - PREV_MENU, - NEXT_MENU, - PREVPAGE_MENU, -@@ -2476,29 +2474,29 @@ - static struct key addr_select_with_goback_keys[] = - {HELP_MENU, - NULL_MENU, -- {"<", "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}, - PREV_MENU, - NEXT_MENU, - PREVPAGE_MENU, - NEXTPAGE_MENU, - NULL_MENU, - NULL_MENU, -- {"E", "ExitSelect", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, -+ {"E", "離開", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, - WHEREIS_MENU}; - INST_KEY_MENU(addr_s_km_with_goback, addr_select_with_goback_keys); - - static struct key addr_select_with_view_keys[] = - {HELP_MENU, - RCOMPOSE_MENU, -- {"<", "AddressBkList", {MC_ADDRBOOK,2,{'<',','}}, KS_NONE}, -- {">", "[View]", -+ {"<", "地址簿列表", {MC_ADDRBOOK,2,{'<',','}}, 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}; -@@ -2507,14 +2505,14 @@ - static struct key addr_select_for_url_keys[] = - {HELP_MENU, - RCOMPOSE_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}; -@@ -2523,7 +2521,7 @@ - static struct key addr_select_exit_keys[] = - {NULL_MENU, - NULL_MENU, -- {"E", "[Exit]", {MC_EXIT,3,{'e',ctrl('M'),ctrl('J')}}, -+ {"E", "[離開]", {MC_EXIT,3,{'e',ctrl('M'),ctrl('J')}}, - KS_EXITMODE}, - NULL_MENU, - NULL_MENU, -@@ -2539,7 +2537,7 @@ - static struct key addr_select_goback_keys[] = - {NULL_MENU, - NULL_MENU, -- {"E", "[Exit]", {MC_ADDRBOOK,3,{'e',ctrl('M'),ctrl('J')}}, -+ {"E", "[離開]", {MC_ADDRBOOK,3,{'e',ctrl('M'),ctrl('J')}}, - KS_EXITMODE}, - NULL_MENU, - NULL_MENU, -@@ -2622,7 +2620,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; -@@ -2903,7 +2901,7 @@ - sprintf(ee+2, "%s, No Matches Returned", - ldap_err2string(wp_err->ldap_errno)); - else -- strcat(ee, "No Matches"); -+ strcat(ee, "沒有符合的"); - - strcat(ee, " -- Choose Exit ]"); - ctmpa->value = cpystr(ee); -@@ -3001,7 +2999,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; -@@ -3069,15 +3067,15 @@ - static struct key direct_config_keys[] = - {HELP_MENU, - NULL_MENU, -- {"E", "Exit Setup", {MC_EXIT,1,{'e'}}, KS_EXITMODE}, -- {"C", "[Change]", {MC_EDIT,3,{'c',ctrl('M'),ctrl('J')}}, KS_NONE}, -- {"P", "PrevDir", {MC_PREVITEM, 1, {'p'}}, KS_NONE}, -- {"N", "NextDir", {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 Dir", {MC_ADD,1,{'a'}}, KS_NONE}, -- {"D", "Del Dir", {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}; - INST_KEY_MENU(dir_conf_km, direct_config_keys); - -@@ -3153,7 +3151,7 @@ - &first_line); - - (void)conf_scroll_screen(ps, &screen, first_line, -- "SETUP DIRECTORY SERVERS", "servers ", 1, 0); -+ "設定地址伺服器", "servers ", 1, 0); - ps->mangled_screen = 1; - } - -@@ -3173,20 +3171,20 @@ - case MC_DELETE : - if(first_one) - q_status_message(SM_ORDER|SM_DING, 0, 3, -- "Nothing to Delete, use Add"); -+ "沒有可供刪除的項目,請用新增"); - else - dir_config_del(ps, cl); - - break; - - case MC_ADD : -- if(!fixed_var((*cl)->var, NULL, "directory list")) -+ if(!fixed_var((*cl)->var, NULL, "地址列表")) - dir_config_add(ps, cl); - - break; - - case MC_EDIT : -- if(!fixed_var((*cl)->var, NULL, "directory list")){ -+ if(!fixed_var((*cl)->var, NULL, "地址列表")){ - if(first_one) - dir_config_add(ps, cl); - else -@@ -3196,10 +3194,10 @@ - break; - - case MC_SHUFFLE : -- if(!fixed_var((*cl)->var, NULL, "directory list")){ -+ if(!fixed_var((*cl)->var, NULL, "地址列表")){ - if(first_one) - q_status_message(SM_ORDER|SM_DING, 0, 3, -- "Nothing to Shuffle, use Add"); -+ "沒有可供重整的項目,請用新增"); - else - dir_config_shuffle(ps, cl); - } -@@ -3333,7 +3331,7 @@ - write_pinerc(ps); - } - else -- q_status_message(SM_ORDER, 0, 3, "Add cancelled, no server name"); -+ q_status_message(SM_ORDER, 0, 3, "沒有伺服器名稱,取消新增"); - } - - free_ldap_server_info(&info); -@@ -3363,7 +3361,7 @@ - - if(cnt < 2){ - q_status_message(SM_ORDER, 0, 3, -- "Shuffle only makes sense when there is more than one server defined"); -+ "僅在定義了多個伺服器之後,重整才能發揮作用"); - return; - } - -@@ -3374,12 +3372,12 @@ - opts[i].ch = 'u'; - opts[i].rval = 'u'; - opts[i].name = "U"; -- opts[i++].label = "Up"; -+ opts[i++].label = "上"; - - opts[i].ch = 'd'; - opts[i].rval = 'd'; - opts[i].name = "D"; -- opts[i++].label = "Down"; -+ opts[i++].label = "下"; - - opts[i].ch = -1; - deefault = 'u'; -@@ -3391,11 +3389,11 @@ - else if(current_num == cnt - 1) /* no down */ - opts[1].ch = -2; - -- sprintf(tmp, "Shuffle \"%s\" %s%s%s ? ", -+ sprintf(tmp, "重整 \"%s\" %s%s%s ? ", - (*cl)->value, -- (opts[0].ch != -2) ? "UP" : "", -+ (opts[0].ch != -2) ? "往上" : "", - (opts[0].ch != -2 && opts[1].ch != -2) ? " or " : "", -- (opts[1].ch != -2) ? "DOWN" : ""); -+ (opts[1].ch != -2) ? "往下" : ""); - help = (opts[0].ch == -2) ? h_dir_shuf_down - : (opts[1].ch == -2) ? h_dir_shuf_up - : h_dir_shuf; -@@ -3405,7 +3403,7 @@ - - switch(rv){ - case 'x': -- cmd_cancelled("Shuffle"); -+ cmd_ cancelled("重整"); - return; - - case 'u': -@@ -3443,7 +3441,7 @@ - free_list_array(&new_list); - if(j){ - q_status_message(SM_ORDER, 0, 3, -- "Shuffle cancelled: couldn't save configuration file"); -+ "取消重整:無法存入設定檔"); - set_current_val((*cl)->var, TRUE, FALSE); - return; - } -@@ -3495,10 +3493,10 @@ - info = break_up_ldap_server(raw_server); - - if(strcmp((*cl)->var->current_val.l[(*cl)->varmem], raw_server) == 0) -- q_status_message(SM_ORDER, 0, 3, "No change, cancelled"); -+ q_status_message(SM_ORDER, 0, 3, "沒有任何改變,取消"); - else if(!(info && info->serv && *info->serv)) - q_status_message(SM_ORDER, 0, 3, -- "Change cancelled, use Delete if you want to remove this server"); -+ "已取消改變,如欲刪除此伺服器,請用刪除"); - else{ - char tmp[900]; - char *subtitle; -@@ -4339,7 +4337,7 @@ - } - else - q_status_message(SM_ORDER, 3, 3, -- "Can't delete sys-admin defined value"); -+ "無法刪除系統管理員定義的設定值。"); - } - else{ - int cnt, ans = 0; -@@ -4362,11 +4360,11 @@ - */ - if(!(*cl)->var->user_val.l && cnt > 1){ - static ESCKEY_S opts[] = { -- {'i', 'i', "I", "Ignore All"}, -- {'r', 'r', "R", "Remove One"}, -+ {'i', 'i', "I", "忽略全部"}, -+ {'r', 'r', "R", "移除一個"}, - {-1, 0, NULL, NULL}}; - ans = radio_buttons( -- "Ignore all default directory servers or just remove this one ? ", -+ "忽略所有預設的目錄伺服器或僅移除這臺?", - -FOOTER_ROWS(ps), opts, 'i', 'x', - h_ab_del_dir_ignore, RB_NORM); - } -@@ -4472,7 +4470,7 @@ - CONF_S *first_line = NULL; - - q_status_message(SM_ORDER, 0, 3, -- "Reverting to default directory server"); -+ "回復至預設的地址伺服器"); - dir_init_display(ps, cl, servers, - &ps->vars[V_LDAP_SERVERS], &first_line); - *cl = first_line; -@@ -4512,7 +4510,7 @@ - } - } - else -- q_status_message(SM_ORDER, 0, 3, "Server not deleted"); -+ q_status_message(SM_ORDER, 0, 3, "伺服器未被刪除"); - } - - if(rv == 1){ -@@ -4536,7 +4534,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; -@@ -4599,7 +4597,7 @@ - p->next = b; - } - -- (*ctmp)->help_title= "HELP FOR DIRECTORY SERVER CONFIGURATION"; -+ (*ctmp)->help_title= "目錄伺服器設定的輔助說明"; - (*ctmp)->value = serv; - (*ctmp)->var = var; - (*ctmp)->varmem = member; -@@ -5116,7 +5114,7 @@ - if(i) - config_scroll_up(i); - else -- q_status_message(SM_ORDER,0,1, "Already at end of screen"); -+ q_status_message(SM_ORDER,0,1, "已經在畫面的結尾了"); - } - - break; -@@ -5158,7 +5156,7 @@ - } - else - q_status_message(SM_ORDER, 0, 1, -- "Already at start of screen"); -+ "已經在畫面的起始了"); - - break; - -@@ -5202,7 +5200,7 @@ - - if(ctmpa == screen->current){ - q_status_message(SM_ORDER,0,1, -- "Already at end of screen"); -+ "已經在畫面的結尾了"); - goto no_down; - } - -@@ -5234,7 +5232,7 @@ - if(ctmpa){ - if(ctmpa == screen->current) - q_status_message(SM_ORDER, 0, 1, -- "Already at start of screen"); -+ "已經在畫面的起始了"); - - screen->current = ctmpa; - } -@@ -5410,13 +5408,13 @@ - HelpType help; - static ESCKEY_S ekey[] = { - {0, 0, "", ""}, -- {ctrl('Y'), 10, "^Y", "Top"}, -- {ctrl('V'), 11, "^V", "Bottom"}, -+ {ctrl('Y'), 10, "^Y", "頂端"}, -+ {ctrl('V'), 11, "^V", "底端"}, - {-1, 0, NULL, NULL}}; - - ps->mangled_footer = 1; - buf[0] = '\0'; -- sprintf(tmp, "Word to find %s%s%s: ", -+ sprintf(tmp, "欲搜尋的單字 %s%s%s: ", - (last[0]) ? "[" : "", - (last[0]) ? last : "", - (last[0]) ? "]" : ""); -@@ -5539,7 +5537,7 @@ - result = "Searched to bottom"; - } - else -- result = "WhereIs cancelled"; -+ result = "取消搜尋"; - - if((found & FOUND_IT) && ctmpa){ - strcpy(last, buf); -@@ -5558,7 +5556,7 @@ - screen->current = ctmpa; - } - -- q_status_message(SM_ORDER,0,3,result ? result : "Word not found"); -+ q_status_message(SM_ORDER,0,3,result ? result : "找不到該字"); - } - - break; -@@ -5574,8 +5572,8 @@ - && (ps_global->restricted || ps_global->readonly_pinerc)){ - q_status_message1(SM_ORDER, 0, 3, - "%s can't change options or settings", -- ps_global->restricted ? "Pine demo" -- : "Config file not changeable,"); -+ ps_global->restricted ? "Pine 展示版" -+ : "無法改變的設定檔,"); - if(cmd == MC_EXIT){ - retval = 0; - done++; -@@ -5591,9 +5589,9 @@ - &screen->current, flags)){ - case -1: - q_status_message2(SM_ORDER, 0, 2, -- "Command \"%s\" not defined here.%s", -+ "命令 \"%s\" 未在此定義。%s", - pretty_command(ch), -- F_ON(F_BLANK_KEYMENU,ps) ? "" : " See key menu below."); -+ F_ON(F_BLANK_KEYMENU,ps) ? "" : "請參考下列的按鍵清單。"); - break; - - case 0: -@@ -5974,11 +5972,11 @@ - ekey[1].ch = ctrl('P'); - ekey[1].rval = ctrl('P'); - ekey[1].name = "^P"; -- ekey[1].label = "Decrease"; -+ ekey[1].label = "減少"; - ekey[2].ch = ctrl('N'); - ekey[2].rval = ctrl('N'); - ekey[2].name = "^N"; -- ekey[2].label = "Increase"; -+ ekey[2].label = "增加"; - ekey[3].ch = KEY_DOWN; - ekey[3].rval = ctrl('P'); - ekey[3].name = ""; -@@ -5992,12 +5990,12 @@ - - switch(cmd){ - case MC_ADD: /* add to list */ -- if(fixed_var((*cl)->var, "add to", NULL)){ -+ if(fixed_var((*cl)->var, "新增", NULL)){ - break; - } - else if(!(*cl)->var->is_list && (*cl)->var->user_val.p){ - q_status_message(SM_ORDER, 3, 3, -- "Only single value allowed. Use \"Change\"."); -+ "僅允許\單一設定值。請用 \"修改\"."); - } - else{ - int maxwidth =min(80,ps->ttyo->screen_cols) - 15; -@@ -6021,7 +6019,7 @@ - } - - sprintf(prompt, -- "Enter text to insert before \"%.*s\": ",k,tmpval); -+ "輸入插在 \"%.*s\" 之前的字串:",k,tmpval); - } - else if((*cl)->var->is_list - && !(*cl)->var->user_val.l -@@ -6030,13 +6028,13 @@ - 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, "取代(R)或加至(A)預設值?"); - switch(radio_buttons(prompt, -FOOTER_ROWS(ps), ekey, 'a', 'x', - h_config_replace_add, RB_NORM)){ - case 'a': -@@ -6050,25 +6048,25 @@ - } - - add_text: -- sprintf(prompt, "Enter the %stext to be added : ", -- flags&CF_NUMBER ? "numeric " : ""); -+ sprintf(prompt, "輸入想加入的%s字:", -+ flags&CF_NUMBER ? "數" : "文"); - break; - - case 'r': - replace_text: -- sprintf(prompt, "Enter the %sreplacement text : ", -- flags&CF_NUMBER ? "numeric " : ""); -+ sprintf(prompt, "輸入想取代的%s字:", -+ flags&CF_NUMBER ? "數" : "文"); - break; - - case 'x': - i = 1; -- cmd_cancelled("Add"); -+ cmd_cancelled("新增"); - break; - } - } - else -- sprintf(prompt, "Enter the %stext to be added : ", -- flags&CF_NUMBER ? "numeric " : ""); -+ sprintf(prompt, "輸入想加入的%s字:", -+ flags&CF_NUMBER ? "數" : "文"); - - ps->mangled_footer = 1; - -@@ -6085,7 +6083,7 @@ - ekey[0].ch = ctrl('W'); - ekey[0].rval = 5; - ekey[0].name = "^W"; -- ekey[0].label = after ? "InsertBefore" : "InsertAfter"; -+ ekey[0].label = after ? "插在前面" : "插在後面"; - ekey[1].ch = -1; - } - else if(!(flags&CF_NUMBER)) -@@ -6138,7 +6136,7 @@ - } - else{ - q_status_message1(SM_ORDER, 0, 3, -- "Can't add %s to list", empty_val); -+ "無法將 %s 加至列表中", empty_val); - rv = ps->mangled_body = 0; - } - -@@ -6146,7 +6144,7 @@ - } - else{ - q_status_message1(SM_ORDER, 0, 3, -- "Can't add %s to list", empty_val); -+ "無法將 %s 加至列表中", empty_val); - } - } - else{ -@@ -6154,7 +6152,7 @@ - && !(isdigit((unsigned char)sval[0]) - || sval[0] == '-' || sval[0] == '+')){ - q_status_message(SM_ORDER,3,3, -- "Entry must be numeric"); -+ "該項目必須是數字"); - i = 3; /* to keep loop going */ - continue; - } -@@ -6167,7 +6165,7 @@ - } - } - else if(i == 1){ -- cmd_cancelled("Add"); -+ cmd_cancelled("新增"); - } - else if(i == 3){ - help = help == NO_HELP ? h_config_add : NO_HELP; -@@ -6190,8 +6188,8 @@ - } - - sprintf(prompt, -- "Enter text to insert %s \"%.*s\": ", -- after ? "after" : "before", k, tmpval); -+ "輸入想要插在 \"%.*s\" %s的文字", -+ after ? "之後" : "之前", k, tmpval); - continue; - } - else if(i == ctrl('P')){ -@@ -6211,7 +6209,7 @@ - */ - if(++repeat_key > 0){ - q_status_message1(SM_ORDER,3,3, -- "Minimum value is %s", comatose(lowrange)); -+ "最小值是 %s", comatose(lowrange)); - repeat_key = -5; - } - } -@@ -6235,7 +6233,7 @@ - if(numval == hirange){ - if(++repeat_key > 0){ - q_status_message1(SM_ORDER,3,3, -- "Maximum value is %s", comatose(hirange)); -+ "最大值是 %s", comatose(hirange)); - repeat_key = -5; - } - } -@@ -6260,7 +6258,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); -@@ -6273,7 +6271,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; - -@@ -6288,7 +6286,7 @@ - } - else if(((*cl)->var->is_list && !(*cl)->var->user_val.l) - || (!(*cl)->var->is_list && !(*cl)->var->user_val.p)){ -- q_status_message(SM_ORDER, 0, 3, "No set value to delete"); -+ q_status_message(SM_ORDER, 0, 3, "沒有可供刪除的設定值"); - } - else{ - if((*cl)->var->is_fixed) -@@ -6304,7 +6302,8 @@ - : "<NULL VALUE>", - (*cl)->var->name); - else -- sprintf(prompt, "Really delete %s%.20s from %.30s ", -+ sprintf(prompt, "確定自 %.30s 刪除 %s%.20s ", -+ (*cl)->var->name, - (*cl)->var->is_list ? "item " : "", - (*cl)->var->is_list - ? int2string((*cl)->varmem + 1) -@@ -6312,8 +6311,7 @@ - ? (!*(*cl)->var->user_val.p) - ? empty_val2 - : (*cl)->var->user_val.p -- : "<NULL VALUE>", -- (*cl)->var->name); -+ : "<NULL VALUE>"); - - ps->mangled_footer = 1; - if(want_to(prompt, 'n', 'n', NO_HELP, WT_FLUSH_IN) == 'y'){ -@@ -6328,7 +6326,7 @@ - } - } - else -- q_status_message(SM_ORDER, 0, 3, "Value not deleted"); -+ q_status_message(SM_ORDER, 0, 3, "設定值未被刪除"); - } - - break; -@@ -6461,7 +6459,7 @@ - && !(isdigit((unsigned char)sval[0]) - || sval[0] == '-' || sval[0] == '+')){ - q_status_message(SM_ORDER,3,3, -- "Entry must be numeric"); -+ "該項目必須是數字"); - continue; - } - -@@ -6475,7 +6473,7 @@ - } - } - else if(i == 1){ -- cmd_cancelled("Change"); -+ cmd_cancelled("改變"); - } - else if(i == 3){ - help = help == NO_HELP ? h_config_change : NO_HELP; -@@ -6493,7 +6491,7 @@ - */ - if(++repeat_key > 0){ - q_status_message1(SM_ORDER,3,3, -- "Minimum value is %s", comatose(lowrange)); -+ "最小值是 %s", comatose(lowrange)); - repeat_key = -5; - } - } -@@ -6509,7 +6507,7 @@ - if(numval == hirange){ - if(++repeat_key > 0){ - q_status_message1(SM_ORDER,3,3, -- "Maximum value is %s", comatose(hirange)); -+ "最大值是 %s", comatose(hirange)); - repeat_key = -5; - } - } -@@ -6599,16 +6597,16 @@ - if(flags & CF_CHANGES){ - switch(want_to(EXIT_PMT, 'y', 'x', h_config_undo, WT_FLUSH_IN)){ - case 'y': -- q_status_message1(SM_ORDER,0,3,"%s changes saved", cmd); -+ q_status_message1(SM_ORDER,0,3,"%s 的改變已存檔", cmd); - return(2); - - case 'n': -- q_status_message1(SM_ORDER,3,5,"No %s changes saved", cmd); -+ q_status_message1(SM_ORDER,3,5,"%s 改變未存檔", cmd); - 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); - } - } -@@ -6897,10 +6895,10 @@ - - 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"); -+ q_status_message(SM_ORDER, 0, 3, "已刪除"); - rv = 1; - } - -@@ -7178,15 +7176,15 @@ - fs_give((void **)&q); - } - -- q_status_message3(SM_ORDER,0,3, "Default printer %s%s%s", -- p ? "set to \"" : "unset", p ? p : "", p ? "\"" : ""); -+ q_status_message3(SM_ORDER,0,3, "預設印表機目前%s%s%s", -+ p ? "設定為 \"" : "未設", p ? p : "", p ? "\"" : ""); - - if(p) - fs_give((void **)&p); - } - else - q_status_message(SM_ORDER,3,5, -- "Trouble setting default printer"); -+ "有問題的預設印表機"); - - retval = 1; - } -@@ -7197,11 +7195,11 @@ - set_variable(V_PERSONAL_PRINT_CATEGORY, - comatose(ps->printer_category), 0); - q_status_message1(SM_ORDER,0,3, -- "Default printer set to \"%s\"", ANSI_PRINTER); -+ "預設印表機設定為 \"%s\"", ANSI_PRINTER); - } - else - q_status_message(SM_ORDER,3,5, -- "Trouble setting default printer"); -+ "有問題的預設印表機"); - - retval = 1; - } -@@ -7216,11 +7214,11 @@ - set_variable(V_PERSONAL_PRINT_CATEGORY, - comatose(ps->printer_category), 0); - q_status_message1(SM_ORDER,0,3, -- "Default printer set to \"%s\"", aname); -+ "預設印表機設定為 \"%s\"", aname); - } - else - q_status_message(SM_ORDER,3,5, -- "Trouble setting default printer"); -+ "有問題的預設印表機"); - - retval = 1; - } -@@ -7270,23 +7268,23 @@ - switch(cmd){ - case MC_ADD: /* add to list */ - sval[0] = '\0'; -- if(!fixed_var((*cl)->var, "add to", NULL)){ -+ if(!fixed_var((*cl)->var, "新增", NULL)){ - - if((*cl)->var->user_val.l && (*cl)->value){ -- 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': -@@ -7302,17 +7300,17 @@ - ltmp[k + 1] = ltmp[k] = NULL; - - add_text: -- strcpy(prompt, "Enter name of printer to be added : "); -+ strcpy(prompt, "欲新增的印表機名稱:"); - break; - - case 'r': - replace_text: - strcpy(prompt, -- "Enter the name for replacement printer : "); -+ "欲取代的印表機名:"); - break; - - case 'x': -- cmd_cancelled("Add"); -+ cmd_cancelled("新增"); - break; - } - -@@ -7320,7 +7318,7 @@ - break; - } - else -- strcpy(prompt, "Enter name of printer to be added : "); -+ strcpy(prompt, "欲新增的印表機名稱:"); - - ps->mangled_footer = 1; - help = NO_HELP; -@@ -7332,7 +7330,7 @@ - ekey[0].ch = ctrl('W'); - ekey[0].rval = 5; - ekey[0].name = "^W"; -- ekey[0].label = after ? "InsertBefore" : "InsertAfter"; -+ ekey[0].label = after ? "插在之前" : "插在之後"; - ekey[1].ch = -1; - } - else -@@ -7348,7 +7346,7 @@ - removing_leading_and_trailing_white_space(name); - } - else if(i == 1){ -- cmd_cancelled("Add"); -+ cmd_cancelled("新增"); - } - else if(i == 3){ - help = (help == NO_HELP) ? h_config_insert_after : NO_HELP; -@@ -7366,7 +7364,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; -@@ -7416,10 +7414,10 @@ - } - else - q_status_message1(SM_ORDER, 0, 3, -- "Can't add %s to list", empty_val); -+ "無法將 %s 新增至列表中", empty_val); - } - else if(i == 1){ -- cmd_cancelled("Add"); -+ cmd_cancelled("新增"); - } - else if(i == 3){ - help = help == NO_HELP ? h_config_print_cmd : NO_HELP; -@@ -7463,13 +7461,13 @@ - if((*cl)->var->is_fixed){ - parse_printer((*cl)->var->user_val.l[(*cl)->varmem], - &nick, &p, NULL, NULL, NULL, NULL); -- sprintf(prompt, "Delete (unused) printer %.30s ", -+ sprintf(prompt, "刪除 (未使用的) 印表機 %.30s ", - *nick ? nick : (!*p) ? empty_val2 : p); - fs_give((void **)&nick); - fs_give((void **)&p); - } - else -- sprintf(prompt, "Really delete item %.20s from printer list ", -+ sprintf(prompt, "確定自印表機列表中刪除 %.20s", - int2string((*cl)->varmem + 1)); - - ps->mangled_footer = 1; -@@ -7479,7 +7477,7 @@ - config_del_list_item(cl, &newval); - } - else -- q_status_message(SM_ORDER, 0, 3, "Printer not deleted"); -+ q_status_message(SM_ORDER, 0, 3, "印表機未被刪除"); - } - - break; -@@ -7490,7 +7488,7 @@ - && !strucmp(ps->VAR_PRINTER,(*cl)->var->current_val.l[(*cl)->varmem])) - changing_selected = 1; - -- if(fixed_var((*cl)->var, NULL, "printer")) -+ if(fixed_var((*cl)->var, NULL, "印表機")) - break; - else if(!(*cl)->var->user_val.l && (*cl)->var->current_val.l) - goto replace_text; -@@ -7502,22 +7500,22 @@ - ekey[0].ch = 'n'; - ekey[0].rval = 'n'; - ekey[0].name = "N"; -- ekey[0].label = "Name"; -+ ekey[0].label = "名稱"; - ekey[1].ch = 'c'; - ekey[1].rval = 'c'; - ekey[1].name = "C"; -- ekey[1].label = "Command"; -+ ekey[1].label = "命令"; - ekey[2].ch = 'o'; - ekey[2].rval = 'o'; - ekey[2].name = "O"; -- ekey[2].label = "Options"; -+ ekey[2].label = "選項"; - ekey[3].ch = -1; -- strcpy(prompt, "Change Name or Command or Options ? "); -+ strcpy(prompt, "修改「名稱」、「命令」或「選項」?"); - i = radio_buttons(prompt, -FOOTER_ROWS(ps), ekey, 'c', 'x', - h_config_print_name_cmd, RB_NORM); - - if(i == 'x'){ -- cmd_cancelled("Change"); -+ cmd_cancelled("修改"); - break; - } - else if(i == 'c'){ -@@ -7526,7 +7524,7 @@ - parse_printer((*cl)->var->user_val.l[(*cl)->varmem], - NULL, &p, NULL, NULL, NULL, &all_but_cmd); - -- strcpy(prompt, "Change command : "); -+ strcpy(prompt, "修改命令:"); - strcpy(sval, p ? p : ""); - fs_give((void **)&p); - -@@ -7564,12 +7562,12 @@ - * Don't allow input of multiple entries at once. - */ - q_status_message(SM_ORDER,3,5, -- "No commas allowed in command"); -+ "命令中不可有逗號"); - continue; - } - } - else if(i == 1){ -- cmd_cancelled("Change"); -+ cmd_cancelled("修改"); - } - else if(i == 3){ - help = help == NO_HELP ? h_config_change : NO_HELP; -@@ -7588,7 +7586,7 @@ - parse_printer((*cl)->var->user_val.l[(*cl)->varmem], - &p, NULL, NULL, NULL, &all_but_nick, NULL); - -- strcpy(prompt, "Change name : "); -+ strcpy(prompt, "修改名稱:"); - strcpy(name, p ? p : ""); - fs_give((void **)&p); - -@@ -7617,7 +7615,7 @@ - newval = &(*cl)->value; - } - else if(i == 1){ -- cmd_cancelled("Change"); -+ cmd_cancelled("修改"); - } - else if(i == 3){ - help = help == NO_HELP ? h_config_change : NO_HELP; -@@ -7638,18 +7636,18 @@ - ekey[0].ch = 'i'; - ekey[0].rval = 'i'; - ekey[0].name = "I"; -- ekey[0].label = "Init"; -+ ekey[0].label = "初始"; - ekey[1].ch = 't'; - ekey[1].rval = 't'; - ekey[1].name = "T"; -- ekey[1].label = "Trailer"; -+ ekey[1].label = "結尾"; - ekey[2].ch = -1; -- strcpy(prompt, "Change Init string or Trailer string ? "); -+ strcpy(prompt, "修改「初始」或「結尾」字串?"); - j = radio_buttons(prompt, -FOOTER_ROWS(ps), ekey, 'i', 'x', - h_config_print_opt_choice, RB_NORM); - - if(j == 'x'){ -- cmd_cancelled("Change"); -+ cmd_cancelled("修改"); - break; - } - else{ -@@ -7658,8 +7656,8 @@ - parse_printer((*cl)->var->user_val.l[(*cl)->varmem], - &nick, &p, &init, &trailer, NULL, NULL); - -- sprintf(prompt, "Change %s string : ", -- (j == 'i') ? "INIT" : "TRAILER"); -+ sprintf(prompt, "修改 %s 字串:", -+ (j == 'i') ? "初始" : "結束"); - strcpy(sval, (j == 'i') ? init : trailer); - - tmp = string_to_cstring(sval); -@@ -7713,7 +7711,7 @@ - newval = &(*cl)->value; - } - else if(i == 1){ -- cmd_cancelled("Change"); -+ cmd_cancelled("修改"); - } - else if(i == 3){ - help=(help == NO_HELP)?h_config_print_init:NO_HELP; -@@ -7791,18 +7789,18 @@ - - case MC_DELETE : - if((*cl)->d.c.ct->use & CNTXT_INCMNG) -- q_status_message1(SM_ORDER, 0, 3, "Sorry, Can't delete %s", -+ q_status_message1(SM_ORDER, 0, 3, "很抱歉,無法刪除 %s", - (*cl)->d.c.ct->nickname); -- else if(!fixed_var((*cl)->var, "delete", "collection")) -+ else if(!fixed_var((*cl)->var, "刪除", "總集")) - context_select_delete(ps, cl); - - break; - - case MC_EDIT : - if((*cl)->d.c.ct->use & CNTXT_INCMNG) -- q_status_message1(SM_ORDER, 0, 3, "Sorry, Can't rename %s", -+ q_status_message1(SM_ORDER, 0, 3, "很抱歉,無法更名 %s", - (*cl)->d.c.ct->nickname); -- else if(!fixed_var((*cl)->var, "add to", "collection")){ -+ else if(!fixed_var((*cl)->var, "新增", "總集")){ - context_select_edit(ps, cl); - ps->mangled_screen = 1; - } -@@ -7810,7 +7808,7 @@ - break; - - case MC_ADD : -- if(!fixed_var((*cl)->var, "add to", "collection")){ -+ if(!fixed_var((*cl)->var, "新增", "總集")){ - context_select_add(ps, cl); - ps->mangled_screen = 1; - } -@@ -7819,9 +7817,9 @@ - - case MC_SHUFFLE : - if((*cl)->d.c.ct->use & CNTXT_INCMNG) -- q_status_message1(SM_ORDER, 0, 3, "Sorry, Can't Shuffle %s", -+ q_status_message1(SM_ORDER, 0, 3, "很抱歉,無法重整 %s", - (*cl)->d.c.ct->nickname); -- else if(!fixed_var((*cl)->var, "Shuffle", "collection")) -+ else if(!fixed_var((*cl)->var, "重整", "總集")) - context_select_shuffle(ps, cl); - - break; -@@ -7893,7 +7891,7 @@ - struct key_menu *km; - CONT_SCR_S *cs; - -- if(raw_ctxt = context_edit_screen(ps, "ADD", NULL, NULL, NULL, NULL)){ -+ if(raw_ctxt = context_edit_screen(ps, "新增", NULL, NULL, NULL, NULL)){ - - /* create a corresponding new CONF_S */ - new_ctxt = new_context(raw_ctxt, NULL); -@@ -7957,7 +7955,7 @@ - - /* Tell the user it was a huge success... */ - q_status_message(SM_ORDER, 0, 3, -- "New collection added. Use \"$\" to adjust order."); -+ "新的總集加入了!請用 \"$\" 調整順序。"); - } - } - -@@ -7976,11 +7974,11 @@ - - if(!((*cl)->var->user_val.l && (*cl)->var->user_val.l[0])){ - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "Can't delete default value. Try rename."); -+ "無法刪除預設值。試試更名。"); - return; - } - -- sprintf(tmp, "Delete the collection definition for \"%.40s\"", -+ sprintf(tmp, "刪除 \"%.40s\" 的總集定義", - old_cl->value); - if(want_to(tmp, 'n', 'n', NO_HELP, WT_FLUSH_IN) == 'y'){ - /* Remove from var list */ -@@ -8092,12 +8090,12 @@ - ps->mangled_body = 1; - q_status_message(SM_ORDER, 0, 3, - (old_cl == *cl) -- ? "Last collection deleted. Using default." -- : "Collection deleted"); -+ ? "最後一個總集已被刪除。使用預設值。" -+ : "總集已被刪除"); - - } - else -- q_status_message(SM_ORDER, 0, 3, "No collections deleted"); -+ q_status_message(SM_ORDER, 0, 3, "沒有任何總集被刪除"); - } - - -@@ -8119,7 +8117,7 @@ - if(p = strstr(tpath, "%s")) - *p = '\0'; - -- if(raw_ctxt = context_edit_screen(ps, "EDIT", (*cl)->d.c.ct->nickname, -+ if(raw_ctxt = context_edit_screen(ps, "編輯", (*cl)->d.c.ct->nickname, - (*cl)->d.c.ct->server, tpath, - (*cl)->d.c.ct->dir->view.user)){ - -@@ -8189,7 +8187,7 @@ - - set_current_val((*cl)->var, TRUE, FALSE); - -- q_status_message(SM_ORDER, 0, 3, "Collection list entry updated"); -+ q_status_message(SM_ORDER, 0, 3, "已更新總集列表"); - } - } - -@@ -8211,14 +8209,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){ -@@ -8231,7 +8229,7 @@ - if((cmd = radio_buttons(prompt, -FOOTER_ROWS(ps), ekey, - (n == 1) ? 'd' : 0, 'x', - NO_HELP, RB_NORM)) == 'x'){ -- cmd_cancelled("Shuffle"); -+ cmd_cancelled("重整"); - } - else if((cmd == 'u' && (ctmp = context_select_prev(*cl))) - || (cmd == 'd' && (ctmp = context_select_next(*cl)))){ -@@ -8330,7 +8328,7 @@ - } - } - else -- q_status_message(SM_ORDER, 0, 3, "Sorry, nothing to Shuffle"); -+ q_status_message(SM_ORDER, 0, 3, "很抱歉,沒有東西可供重整"); - } - - -@@ -9049,7 +9047,7 @@ - if(cl->var->current_val.l){ - int i, l, l2; - -- sstrcpy(&p, ": using \""); -+ sstrcpy(&p, ":目前使用 \""); - for(i = 0; cl->var->current_val.l[i]; i++){ - if(i) - *p++ = ','; -@@ -9081,7 +9079,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, -- (cl->var->current_val.p) ? ": using \"" : "", -+ (cl->var->current_val.p) ? ":目前使用 \"" : "", - (cl->var->current_val.p) ? cl->var->current_val.p : "", - (cl->var->current_val.p) ? "\"" : "", - max(0, ps->ttyo->screen_cols - cl->valoffset - 13 -@@ -9232,7 +9230,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, -- "Can't change value fixed by sys-admin."); -+ "無法修改系統管理員定義的設定值。"); - return; - } - } -@@ -9281,7 +9279,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; - -@@ -9467,8 +9465,8 @@ - { - if(v && v->is_fixed){ - q_status_message2(SM_ORDER, 3, 3, -- "Can't %s sys-admin defined %s.", -- action ? action : "change", name ? name : "value"); -+ "無法%s系統管理員定義的%s。", -+ action ? action : "修改", name ? name : "設定值"); - return(1); - } - -@@ -9890,7 +9888,7 @@ - && var->is_list - && !var->user_val.l - && var->current_val.l))) -- q_status_message(SM_ORDER,0,3,"Using default value"); -+ q_status_message(SM_ORDER,0,3,"使用預設值"); - - if(var == &ps->vars[V_USER_DOMAIN]){ - char *p, *q; -@@ -9901,7 +9899,7 @@ - if(*(++p)){ - if(!revert) - q_status_message2(SM_ORDER, 3, 5, -- "User-domain (%s) cannot contain \"@\"; using %s", -+ "User-domain (%s) 不可包括 \"@\";使用 %s", - ps->VAR_USER_DOMAIN, p); - q = ps->VAR_USER_DOMAIN; - while((*q++ = *p++) != '\0') -@@ -9910,7 +9908,7 @@ - else{ - if(!revert) - q_status_message1(SM_ORDER, 3, 5, -- "User-domain (%s) cannot contain \"@\"; deleting", -+ "User-domain (%s) 不可包括 \"@\";刪除中", - ps->VAR_USER_DOMAIN); - fs_give((void **)&ps->USR_USER_DOMAIN); - set_current_val(&ps->vars[V_USER_DOMAIN], TRUE, TRUE); -@@ -9970,7 +9968,7 @@ - else if(var == &ps->vars[V_INIT_CMD_LIST]){ - if(!revert) - q_status_message(SM_ASYNC, 0, 3, -- "Initial command changes will affect your next pine session."); -+ "初始命令的改變將在下次啟動 pine 時生效。"); - } - else if(var == &ps->vars[V_VIEW_HEADERS]){ - ps->view_all_except = 0; -@@ -10042,10 +10040,10 @@ - } - else if(timeo == 0L && !revert){ - q_status_message(SM_ORDER, 4, 6, --"Warning: automatic new mail checking and mailbox checkpointing is disabled"); -+"警告:已解除自動檢查新郵件與信箱檢查點"); - if(ps->VAR_INBOX_PATH && ps->VAR_INBOX_PATH[0] == '{') - q_status_message(SM_ASYNC, 3, 6, --"Warning: mail-check-interval=0 may cause IMAP server connection to time out"); -+"警告:mail-check-interval=0 可能導致 IMAP 伺服器連線作業逾時"); - } - } - #if defined(DOS) || defined(OS2) -@@ -10503,10 +10501,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, -@@ -10549,7 +10547,7 @@ - menu_add_binding(&role_select_km, ctrl('M'), MC_CHOICE); - } - else{ -- 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(&role_select_km, ctrl('J'), MC_CHOICE); - menu_add_binding(&role_select_km, ctrl('M'), MC_CHOICE); -@@ -10583,7 +10581,7 @@ - ctmp->valoffset = 4; - } - -- (void)conf_scroll_screen(ps, &screen, first_line, "SELECT ROLE", -+ (void)conf_scroll_screen(ps, &screen, first_line, "選擇角色", - "roles ", 0, 0); - - if(sel_pat){ -@@ -10975,23 +10973,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", "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}, - PREVPAGE_MENU, - NEXTPAGE_MENU, -- {"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}, -+ {"$", "重新整理", {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, -@@ -11268,7 +11266,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, role_global_flags); - -@@ -11289,14 +11287,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 : -- role_type_print(exitpmt, "%sRule Setup", role_global_flags); -+ role_type_print(exitpmt, "%s規則設定", role_global_flags); - rv = screen_exit_cmd(flags, exitpmt); - break; - -@@ -11795,7 +11793,7 @@ - help, RB_NORM); - - if(rv == 'x'){ -- cmd_cancelled("Shuffle"); -+ cmd_cancelled("重整"); - return(0); - } - -@@ -11955,7 +11953,7 @@ - continue; - } - else if(r == 1 || (r == 0 && filename[0] == '\0')){ -- cmd_cancelled("IncludeFile"); -+ cmd_cancelled("含括檔案"); - return(rv); - } - else if(r == 4){ -@@ -12685,22 +12683,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) -@@ -12708,7 +12706,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) -@@ -12716,28 +12714,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) -@@ -12745,7 +12743,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) -@@ -12753,7 +12751,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) -@@ -12762,7 +12760,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) -@@ -12779,7 +12777,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 && -@@ -12788,13 +12786,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 : (!def && edit_filter) ? FLDR_SPECIFIC : -1)) ? cpystr(f->name) : NULL; - set_current_val(&fldr_type_var, FALSE, FALSE); - -- folder_pat_var.name = cpystr("Folder List"); -+ 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) -@@ -12803,7 +12801,7 @@ - ? cpystr(ps_global->inbox_name) : 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; - from_act_var.is_user = 1; - if(def && def->action && def->action->from){ -@@ -12815,7 +12813,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){ -@@ -12828,26 +12826,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 && -@@ -14739,12 +14737,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; - } -@@ -14876,7 +14874,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); - } - -@@ -14914,7 +14912,7 @@ - if(i == 0) - break; - else if(i == 1){ -- cmd_cancelled("eXtraHdr"); -+ cmd_cancelled("額外標頭"); - cancel = 1; - break; - } -@@ -15025,7 +15023,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); - } - -@@ -15093,8 +15091,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; -@@ -15120,7 +15118,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; -@@ -15165,12 +15163,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; - } -@@ -16192,7 +16190,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); - } - -@@ -16248,7 +16246,7 @@ - if(i == 0) - break; - else if(i == 1){ -- cmd_cancelled("Add"); -+ cmd_cancelled("新增"); - cancel = 1; - break; - } -@@ -16337,7 +16335,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); - } - -@@ -16469,7 +16467,7 @@ - - switch(i){ - case 'x': -- cmd_cancelled("Shuffle"); -+ cmd_cancelled("重整"); - return(rv); - - case 'u': diff --git a/chinese/pine4/files/patch-bg b/chinese/pine4/files/patch-bg deleted file mode 100644 index ccf347be3fc8..000000000000 --- a/chinese/pine4/files/patch-bg +++ /dev/null @@ -1,329 +0,0 @@ ---- pine/pine.c.orig Tue Sep 21 07:17:58 1999 -+++ pine/pine.c Thu Oct 14 12:13:57 1999 -@@ -115,12 +115,12 @@ - OTHER_MENU, - NULL_MENU, - NULL_MENU, -- {"P","PrevCmd",{MC_PREVITEM,3,{'p',ctrl('P'),KEY_UP}},KS_NONE}, -- {"N","NextCmd",{MC_NEXTITEM,3,{'n',ctrl('N'),KEY_DOWN}},KS_NONE}, -+ {"P","前一命令",{MC_PREVITEM,3,{'p',ctrl('P'),KEY_UP}},KS_NONE}, -+ {"N","次一命令",{MC_NEXTITEM,3,{'n',ctrl('N'),KEY_DOWN}},KS_NONE}, - NULL_MENU, - NULL_MENU, -- {"R","RelNotes",{MC_RELNOTES,1,{'r'}},KS_NONE}, -- {"K","KBLock",{MC_KBLOCK,1,{'k'}},KS_NONE}, -+ {"R","出版說明",{MC_RELNOTES,1,{'r'}},KS_NONE}, -+ {"K","鍵盤鎖定",{MC_KBLOCK,1,{'k'}},KS_NONE}, - NULL_MENU, - NULL_MENU, - -@@ -130,10 +130,10 @@ - COMPOSE_MENU, - LISTFLD_MENU, - GOTO_MENU, -- {"I","Index",{MC_INDEX,1,{'i'}},KS_FLDRINDEX}, -- {"J","Journal",{MC_JOURNAL,1,{'j'}},KS_REVIEW}, -- {"S","Setup",{MC_SETUP,1,{'s'}},KS_NONE}, -- {"A","AddrBook",{MC_ADDRBOOK,1,{'a'}},KS_ADDRBOOK}, -+ {"I","索引",{MC_INDEX,1,{'i'}},KS_FLDRINDEX}, -+ {"J","日誌",{MC_JOURNAL,1,{'j'}},KS_REVIEW}, -+ {"S","設定",{MC_SETUP,1,{'s'}},KS_NONE}, -+ {"A","地址簿",{MC_ADDRBOOK,1,{'a'}},KS_ADDRBOOK}, - RCOMPOSE_MENU, - NULL_MENU}; - INST_KEY_MENU(main_keymenu, main_keys); -@@ -542,7 +542,7 @@ - static struct key simple_file_keys[] = - {HELP_MENU, - NULL_MENU, -- {"Q","Quit Viewer",{MC_EXIT,1,{'q'}},KS_NONE}, -+ {"Q","離開",{MC_EXIT,1,{'q'}},KS_NONE}, - NULL_MENU, - NULL_MENU, - NULL_MENU, -@@ -551,15 +551,15 @@ - PRYNTTXT_MENU, - WHEREIS_MENU, - FWDEMAIL_MENU, -- {"S", "Save", {MC_SAVETEXT,1,{'s'}}, KS_SAVE}}; -+ {"S", "存檔", {MC_SAVETEXT,1,{'s'}}, KS_SAVE}}; - INST_KEY_MENU(simple_file_keymenu, simple_file_keys); - #define SAVE_KEY 9 - - memset(&sargs, 0, sizeof(SCROLL_S)); - sargs.text.text = so_text(store); - sargs.text.src = src; -- sargs.text.desc = "file"; -- sargs.bar.title = "FILE VIEW"; -+ sargs.text.desc = "檔案"; -+ sargs.bar.title = "檢視檔案"; - sargs.bar.style = FileTextPercent; - sargs.keys.menu = &simple_file_keymenu; - setbitmap(sargs.keys.bitmap); -@@ -771,7 +771,7 @@ - if(!pine_state->VAR_INBOX_PATH || !pine_state->VAR_INBOX_PATH[0] - || strucmp(pine_state->VAR_INBOX_PATH, "inbox") == 0){ - HelpType help = NO_HELP; -- static ESCKEY_S ekey[] = {{ctrl(T), 2, "^T", "To Fldrs"}, -+ static ESCKEY_S ekey[] = {{ctrl(T), 2, "^T", "資料匣"}, - {-1, 0, NULL, NULL}}; - - pine_state->mangled_footer = 1; -@@ -781,7 +781,7 @@ - - rv = optionally_enter(int_mail, -FOOTER_ROWS(pine_state), - 0, MAXPATH, -- "No inbox! Folder to open as inbox : ", -+ "沒有新進信件匣(inbox)!信件匣開啟為 inbox:", - /* ekey */ NULL, help, &flags); - if(rv == 3){ - help = (help == NO_HELP) ? h_sticky_inbox : NO_HELP; -@@ -793,7 +793,7 @@ - } - - if(rv == 1){ -- q_status_message(SM_ORDER, 0, 2 ,"Folder open cancelled"); -+ q_status_message(SM_ORDER, 0, 2 ,"取消開啟信件匣"); - rv = 0; /* reset rv */ - } - else if(rv == 2){ -@@ -812,7 +812,7 @@ - removing_leading_white_space(int_mail); - if((!pine_state->VAR_INBOX_PATH - || strucmp(pine_state->VAR_INBOX_PATH, "inbox") == 0) -- && want_to("Preserve folder as \"inbox-path\" in PINERC", -+ && want_to("在 PINERC 中保留資料匣為 \"inbox-path\"", - 'y', 'n', NO_HELP, WT_NORM) == 'y'){ - set_variable(V_INBOX_PATH, int_mail, 1); - } -@@ -959,25 +959,25 @@ - *news_addition; - int key_index; /* index into keymenu array for this cmd */ - } mkeys[] = { -- {" %s HELP - Get help using Pine", -+ {" %s 使用說明 - Pine 的使用說明", - NULL, MAIN_HELP_KEY}, - {"", NULL, UNUSED}, -- {" %s COMPOSE MESSAGE - Compose and send%s a message", -+ {" %s 寫信 - 寫信或是發表文章", - "/post", MAIN_COMPOSE_KEY}, - {"", NULL, UNUSED}, -- {" %s MESSAGE INDEX - View messages in current folder", -+ {" %s 查看信件匣 - 查看目前信件匣內的信件", - NULL, MAIN_INDEX_KEY}, - {"", NULL, UNUSED}, -- {" %s FOLDER LIST - Select a folder%s to view", -- " OR news group", MAIN_FOLDER_KEY}, -+ {" %s 信件匣列表 - 列出信件匣%s以供選擇", -+ "或是新聞組群", MAIN_FOLDER_KEY}, - {"", NULL, UNUSED}, -- {" %s ADDRESS BOOK - Update address book", -+ {" %s 地址簿 - 更新或修改地址簿的內容", - NULL, MAIN_ADDRESS_KEY}, - {"", NULL, UNUSED}, -- {" %s SETUP - Configure Pine Options", -+ {" %s 設定 - 設定 Pine 的內部參數", - NULL, MAIN_SETUP_KEY}, - {"", NULL, UNUSED}, -- {" %s QUIT - Leave the Pine program", -+ {" %s 離開 - 結束 Pine 的使用", - NULL, MAIN_QUIT_KEY} - }; - -@@ -1307,7 +1307,7 @@ - pine_state->mangled_footer = 1; - } - else{ -- helper(main_menu_tx, "HELP FOR MAIN MENU", 0); -+ helper(main_menu_tx, "主選單的輔助說明", 0); - pine_state->mangled_screen = 1; - } - -@@ -1335,7 +1335,7 @@ - just_a_navigate_cmd++; - } - else -- q_status_message(SM_ORDER, 0, 2, "Already at top of list"); -+ q_status_message(SM_ORDER, 0, 2, "已經在列表頂端了"); - - break; - -@@ -1351,14 +1351,14 @@ - just_a_navigate_cmd++; - } - else -- q_status_message(SM_ORDER, 0, 2, "Already at bottom of list"); -+ q_status_message(SM_ORDER, 0, 2, "已經在列表底端了"); - - break; - - - /*---------- Release Notes ----------*/ - case MC_RELNOTES : -- helper(h_news, "PINE RELEASE NOTES", 0); -+ helper(h_news, "PINE 出版摘要", 0); - pine_state->mangled_screen = 1; - break; - -@@ -1615,7 +1615,7 @@ - - /* paint the titlebar if needed */ - if(ps->mangled_header){ -- set_titlebar("MAIN MENU", ps->mail_stream, ps->context_current, -+ set_titlebar("主選單", ps->mail_stream, ps->context_current, - ps->cur_folder, ps->msgmap, 1, FolderName, 0, 0); - ps->mangled_header = 0; - } -@@ -1784,15 +1784,15 @@ - { - char prompt[80]; - char letters[20]; -- char *printer = "Printer"; -- char *passwd = "Newpassword"; -- char *config = "Config"; -- char *update = "Update"; -- char *sigedit = "Signature"; -- char *abooks = "AddressBooks"; -- char *clctns = "collectionList"; -- char *rules = "Rules"; -- char *color = "Kolor"; -+ char *printer = "印表機"; -+ char *passwd = "設定新密碼"; -+ char *config = "環境設定"; -+ char *update = "更新環境"; -+ char *sigedit = "編輯簽名檔"; -+ char *abooks = "地址簿"; -+ char *clctns = "總集列表"; -+ char *rules = "規則"; -+ char *color = "色彩"; - #ifdef ENABLE_LDAP - char *dir = "Directory"; - #endif -@@ -1881,13 +1881,13 @@ - } - - sprintf(prompt, -- "Choose a setup task from %s : ", -- F_ON(F_BLANK_KEYMENU,ps_global) ? letters : "the menu below"); -+ "請從%s選擇你所要設定的工作:", -+ F_ON(F_BLANK_KEYMENU,ps_global) ? letters : "下列表單中"); - - s = radio_buttons(prompt, ql, setup_names, deefault, 'x', help, RB_NORM); - /* ^C */ - if(s == 'x') { -- q_status_message(SM_ORDER,0,3,"Setup command cancelled"); -+ q_status_message(SM_ORDER,0,3,"取消設定指令"); - s = 'e'; - } - -@@ -2021,7 +2021,7 @@ - opts[ekey_num].ch = 'a'; - opts[ekey_num].rval = 'a'; - opts[ekey_num].name = "A"; -- opts[ekey_num++].label = "Addrbook"; -+ opts[ekey_num++].label = "地址簿"; - } - - if(F_OFF(F_DISABLE_ROLES_SETUP,ps)){ /* roles are allowed */ -@@ -2031,7 +2031,7 @@ - opts[ekey_num].ch = 'r'; - opts[ekey_num].rval = 'r'; - opts[ekey_num].name = "R"; -- opts[ekey_num++].label = "Roles"; -+ opts[ekey_num++].label = "角色"; - } - else if(deefault != 'a') - deefault = 's'; -@@ -2039,7 +2039,7 @@ - opts[ekey_num].ch = 's'; - opts[ekey_num].rval = 's'; - opts[ekey_num].name = "S"; -- opts[ekey_num++].label = "SetScores"; -+ opts[ekey_num++].label = "設定得分"; - - #ifndef _WINDOWS - if(ps->color_style != COL_NONE && pico_hascolor()){ -@@ -2050,7 +2050,7 @@ - opts[ekey_num].ch = 'i'; - opts[ekey_num].rval = 'i'; - opts[ekey_num].name = "I"; -- opts[ekey_num++].label = "Indexcolor"; -+ opts[ekey_num++].label = "索引色彩"; - #ifndef _WINDOWS - } - #endif -@@ -2058,7 +2058,7 @@ - opts[ekey_num].ch = 'f'; - opts[ekey_num].rval = 'f'; - opts[ekey_num].name = "F"; -- opts[ekey_num++].label = "Filters"; -+ opts[ekey_num++].label = "過濾器"; - - opts[ekey_num].ch = -1; - -@@ -2096,14 +2096,14 @@ - HELP_MENU, - NULL_MENU, - {"E",NULL,{MC_EXIT,1,{'e',ctrl('M'),ctrl('J')}},KS_NONE}, -- {"Ret","[Be Counted!]",{MC_VIEW_HANDLE,2,{ctrl('M'),ctrl('J')}},KS_NONE}, -+ {"Ret","[列入使用者總計中]",{MC_VIEW_HANDLE,2,{ctrl('M'),ctrl('J')}},KS_NONE}, - NULL_MENU, - NULL_MENU, - PREVPAGE_MENU, - NEXTPAGE_MENU, - PRYNTMSG_MENU, - NULL_MENU, -- {"R","RelNotes",{MC_RELNOTES,1,{'r'}},KS_NONE}, -+ {"R","出版說明",{MC_RELNOTES,1,{'r'}},KS_NONE}, - NULL_MENU}; - INST_KEY_MENU(nuov_keymenu, nuov_keys); - #define NUOV_EXIT 2 -@@ -2202,13 +2202,13 @@ - memset(&sargs, 0, sizeof(SCROLL_S)); - sargs.text.text = so_text(store); - sargs.text.src = CharStar; -- sargs.text.desc = "greeting text"; -+ sargs.text.desc = "問候文字"; - sargs.text.handles = handles; -- sargs.bar.title = "GREETING TEXT"; -+ sargs.bar.title = "問候文字"; - sargs.bar.style = TextPercent; - sargs.proc.tool = nuov_processor; - sargs.help.text = main_menu_tx; -- sargs.help.title = "MAIN PINE HELP"; -+ sargs.help.title = "PINE 的主要輔助說明"; - sargs.resize_exit = 1; - sargs.keys.menu = &km; - km = nuov_keymenu; -@@ -2218,11 +2218,11 @@ - setbitmap(sargs.keys.bitmap); - - if(ps->phone_home){ -- km.keys[NUOV_EXIT].label = "Exit this greeting"; -+ km.keys[NUOV_EXIT].label = "離開"; - km.keys[NUOV_EXIT].bind.nch = 1; - } - else{ -- km.keys[NUOV_EXIT].label = "[Exit this greeting]"; -+ km.keys[NUOV_EXIT].label = "[離開]"; - km.keys[NUOV_EXIT].bind.nch = 3; - clrbitn(NUOV_VIEW, sargs.keys.bitmap); - } -@@ -2303,7 +2303,7 @@ - break; - - case MC_RELNOTES : -- helper(h_news, "PINE RELEASE NOTES", 0); -+ helper(h_news, "PINE 出版摘要", 0); - ps_global->mangled_screen = 1; - break; - -@@ -2422,7 +2422,7 @@ - dprint(1, (debugfile, "\n\n ---- QUIT SCREEN ----\n")); - - if(!pine_state->nr_mode && F_OFF(F_QUIT_WO_CONFIRM,pine_state) -- && want_to("Really quit pine", 'y', 0, NO_HELP, WT_NORM) != 'y') { -+ && want_to("真的要離開 Pine 嗎?", 'y', 0, NO_HELP, WT_NORM) != 'y') { - pine_state->next_screen = pine_state->prev_screen; - return; - } diff --git a/chinese/pine4/files/patch-bh b/chinese/pine4/files/patch-bh deleted file mode 100644 index 2cbd9cd6cf29..000000000000 --- a/chinese/pine4/files/patch-bh +++ /dev/null @@ -1,145 +0,0 @@ ---- pine/pine.h.orig Wed Nov 17 08:14:14 1999 -+++ pine/pine.h Fri Nov 19 16:18:24 1999 -@@ -357,7 +357,7 @@ - && (s) && !strucmp((s),"X-VCARD"))) - #define MIME_VCARD_A(a) MIME_VCARD((a)->body->type, (a)->body->subtype) - --#define STYLE_NAME(a) ((a)->text.desc ? (a)->text.desc : "text") -+#define STYLE_NAME(a) ((a)->text.desc ? (a)->text.desc : "文字") - - - /* -@@ -1875,94 +1875,94 @@ - * Some standard Key/Command Bindings - */ - #define NULL_MENU {NULL, NULL, {MC_NONE}, KS_NONE} --#define HELP_MENU {"?", "Help", \ -+#define HELP_MENU {"?", "輔助說明", \ - {MC_HELP, 2, {'?',ctrl('G')}}, \ - KS_SCREENHELP} --#define OTHER_MENU {"O", "OTHER CMDS", \ -+#define OTHER_MENU {"O", "其他命令", \ - {MC_OTHER, 1, {'o'}}, \ - KS_NONE} --#define WHEREIS_MENU {"W", "WhereIs", \ -+#define WHEREIS_MENU {"W", "搜尋", \ - {MC_WHEREIS, 2, {'w',ctrl('W')}}, \ - KS_WHEREIS} --#define MAIN_MENU {"M", "Main Menu", \ -+#define MAIN_MENU {"M", "主選單", \ - {MC_MAIN, 1, {'m'}}, \ - KS_MAINMENU} --#define QUIT_MENU {"Q", "Quit Pine", \ -+#define QUIT_MENU {"Q", "結束 Pine", \ - {MC_QUIT, 1, {'q'}}, \ - KS_EXIT} --#define PREVMSG_MENU {"P", "PrevMsg", \ -+#define PREVMSG_MENU {"P", "前一個", \ - {MC_PREVITEM, 1, {'p'}}, \ - KS_PREVMSG} --#define NEXTMSG_MENU {"N", "NextMsg", \ -+#define NEXTMSG_MENU {"N", "下一個", \ - {MC_NEXTITEM, 1, {'n'}}, \ - KS_NEXTMSG} --#define PREVPAGE_MENU {"-", "PrevPage", \ -+#define PREVPAGE_MENU {"-", "前一頁", \ - {MC_PAGEUP, 3, {'-',ctrl('Y'),KEY_PGUP}}, \ - KS_PREVPAGE} --#define NEXTPAGE_MENU {"Spc", "NextPage", \ -+#define NEXTPAGE_MENU {"Spc", "下一頁", \ - {MC_PAGEDN, 4, {'+',' ',ctrl('V'),KEY_PGDN}}, \ - KS_NEXTPAGE} --#define JUMP_MENU {"J", "Jump", \ -+#define JUMP_MENU {"J", "跳至", \ - {MC_JUMP, 1, {'j'}}, \ - KS_JUMPTOMSG} --#define FWDEMAIL_MENU {"F", "Fwd Email", \ -+#define FWDEMAIL_MENU {"F", "信件轉寄", \ - {MC_FWDTEXT,1,{'f'}}, \ - KS_FORWARD} --#define PRYNTMSG_MENU {"%", "Print", \ -+#define PRYNTMSG_MENU {"%", "列印", \ - {MC_PRINTMSG,1,{'%'}}, \ - KS_PRINT} --#define PRYNTTXT_MENU {"%", "Print", \ -+#define PRYNTTXT_MENU {"%", "列印", \ - {MC_PRINTTXT,1,{'%'}}, \ - KS_PRINT} --#define SAVE_MENU {"S", "Save", \ -+#define SAVE_MENU {"S", "存檔", \ - {MC_SAVE,1,{'s'}}, \ - KS_SAVE} --#define EXPORT_MENU {"E", "Export", \ -+#define EXPORT_MENU {"E", "匯出", \ - {MC_EXPORT, 1, {'e'}}, \ - KS_EXPORT} --#define COMPOSE_MENU {"C", "Compose", \ -+#define COMPOSE_MENU {"C", "編修", \ - {MC_COMPOSE,1,{'c'}}, \ - KS_COMPOSER} --#define RCOMPOSE_MENU {"#", "Role", \ -+#define RCOMPOSE_MENU {"#", "角色", \ - {MC_ROLE,1,{'#'}}, \ - KS_NONE} --#define DELETE_MENU {"D", "Delete", \ -+#define DELETE_MENU {"D", "刪除", \ - {MC_DELETE,2,{'d',KEY_DEL}}, \ - KS_DELETE} --#define UNDELETE_MENU {"U", "Undelete", \ -+#define UNDELETE_MENU {"U", "復原刪除", \ - {MC_UNDELETE,1,{'u'}}, \ - KS_UNDELETE} --#define REPLY_MENU {"R", "Reply", \ -+#define REPLY_MENU {"R", "回覆", \ - {MC_REPLY,1,{'r'}}, \ - KS_REPLY} --#define FORWARD_MENU {"F", "Forward", \ -+#define FORWARD_MENU {"F", "轉寄", \ - {MC_FORWARD,1,{'f'}}, \ - KS_FORWARD} --#define LISTFLD_MENU {"L", "ListFldrs", \ -+#define LISTFLD_MENU {"L", "資料匣列表", \ - {MC_COLLECTIONS,1,{'l'}}, \ - KS_FLDRLIST} --#define INDEX_MENU {"I", "Index", \ -+#define INDEX_MENU {"I", "索引", \ - {MC_INDEX,1,{'i'}}, \ - KS_FLDRINDEX} --#define GOTO_MENU {"G", "GotoFldr", \ -+#define GOTO_MENU {"G", "切換資料匣", \ - {MC_GOTO,1,{'g'}}, \ - KS_GOTOFLDR} --#define TAKE_MENU {"T", "TakeAddr", \ -+#define TAKE_MENU {"T", "取得地址", \ - {MC_TAKE,1,{'t'}}, \ - KS_TAKEADDR} --#define FLAG_MENU {"*", "Flag", \ -+#define FLAG_MENU {"*", "旗標", \ - {MC_FLAG,1,{'*'}}, \ - KS_FLAG} --#define PIPE_MENU {"|", "Pipe", \ -+#define PIPE_MENU {"|", "導向(Pipe)", \ - {MC_PIPE,1,{'|'}}, \ - KS_NONE} --#define BOUNCE_MENU {"B", "Bounce", \ -+#define BOUNCE_MENU {"B", "退信", \ - {MC_BOUNCE,1,{'b'}}, \ - KS_BOUNCE} --#define HDRMODE_MENU {"H", "HdrMode", \ -+#define HDRMODE_MENU {"H", "完整標頭", \ - {MC_FULLHDR,1,{'h'}}, \ - KS_HDRMODE} --#define TAB_MENU {"Tab", "NextNew", \ -+#define TAB_MENU {"Tab", "下一個新的", \ - {MC_TAB,1,{TAB}}, \ - KS_NONE} - -@@ -2831,7 +2831,7 @@ - } ATABLE_S; - - --#define TAG_EMBED '\377' /* Announces embedded data in text string */ -+#define TAG_EMBED '\001' /* Announces embedded data in text string */ - #define TAG_INVON '\001' /* Supported character attributes */ - #define TAG_INVOFF '\002' - #define TAG_BOLDON '\003' diff --git a/chinese/pine4/files/patch-bi b/chinese/pine4/files/patch-bi deleted file mode 100644 index bf9422b86b6f..000000000000 --- a/chinese/pine4/files/patch-bi +++ /dev/null @@ -1,219 +0,0 @@ ---- pine/reply.c.orig Tue Nov 9 02:24:35 1999 -+++ pine/reply.c Fri Nov 19 16:18:24 1999 -@@ -110,9 +110,9 @@ - /* - * Little defs to keep the code a bit neater... - */ --#define FRM_PMT "Use \"Reply-To:\" address instead of \"From:\" address" --#define ALL_PMT "Reply to all recipients" --#define NEWS_PMT "Follow-up to news group(s), Reply via email to author or Both? " -+#define FRM_PMT "使用 \"Reply-To:\" 地址代替 \"From:\" 地址" -+#define ALL_PMT "回覆給所有的收信者" -+#define NEWS_PMT "回覆至新聞組群,回函給作者或兩者皆要?" - #define SIGDASHES "-- " - - -@@ -343,7 +343,7 @@ - role = combine_inherited_role(role); - else{ /* cancel reply */ - role = NULL; -- cmd_cancelled("Reply"); -+ cmd_cancelled("回覆"); - goto done_early; - } - } -@@ -605,7 +605,7 @@ - #endif - - /* partially formatted outgoing message */ -- pine_send(outgoing, &body, "COMPOSE MESSAGE REPLY", -+ pine_send(outgoing, &body, "編輯信件回函", - role, fcc.tptr, &reply, redraft_pos, NULL, NULL, 0); - done: - pine_free_body(&body); -@@ -683,7 +683,7 @@ - (ADDRESS *) NULL, env->from, 0); - - if(ret == 'x') { -- cmd_cancelled("Reply"); -+ cmd_cancelled("回覆"); - return(0); - } - -@@ -732,7 +732,7 @@ - || (*saved_cc || *saved_resent))){ - *flags &= ~RSF_QUERY_REPLY_ALL; - if((ret=want_to(ALL_PMT,'n','x',NO_HELP,WT_SEQ_SENSITIVE)) == 'x'){ -- cmd_cancelled("Reply"); -+ cmd_cancelled("回覆"); - return(0); - } - else if(ret == 'y') -@@ -890,21 +890,21 @@ - } - - if(flags & ROLE_REPLY) -- prompt_fodder = "Reply"; -+ prompt_fodder = "回覆"; - else if(flags & ROLE_FORWARD) -- prompt_fodder = "Forward"; -+ prompt_fodder = "轉寄"; - else -- prompt_fodder = "Compose"; -+ prompt_fodder = "編輯"; - - done = 0; - while(!done){ - if(curpat){ - help = h_role_confirm; - ekey[0].name = "Y"; -- ekey[0].label = "Yes"; -+ ekey[0].label = "是"; - ekey[1].name = "N"; -- ekey[1].label = "No Role"; -- ekey[2].label = "To Select Alternate Role"; -+ ekey[1].label = "否"; -+ ekey[2].label = "選擇替代角色"; - if(curpat->patgrp && curpat->patgrp->nick) - sprintf(prompt, "Use role \"%.40s\" for %s? ", - curpat->patgrp->nick, prompt_fodder); -@@ -1523,8 +1523,8 @@ - { - int ret, edited = 0; - static ESCKEY_S rtq_opts[] = { -- {'y', 'y', "Y", "Yes"}, -- {'n', 'n', "N", "No"}, -+ {'y', 'y', "Y", "是"}, -+ {'n', 'n', "N", "否"}, - {-1, 0, NULL, NULL}, /* may be overridden below */ - {-1, 0, NULL, NULL} - }; -@@ -1534,19 +1534,18 @@ - return(1); - - while(1){ -- sprintf(tmp_20k_buf, "Include %s%soriginal message%s in Reply%s%s%s? ", -- (many > 1L) ? comatose(many) : "", -- (many > 1L) ? " " : "", -- (many > 1L) ? "s" : "", -- F_ON(F_ENABLE_EDIT_REPLY_INDENT, ps) ? " (using \"" : "", -+ sprintf(tmp_20k_buf, "在回函%s%s%s中包含%s%s原本的訊息?", -+ F_ON(F_ENABLE_EDIT_REPLY_INDENT, ps) ? "(使用 \"" : "", - F_ON(F_ENABLE_EDIT_REPLY_INDENT, ps) ? *prefix : "", -- F_ON(F_ENABLE_EDIT_REPLY_INDENT, ps) ? "\")" : ""); -+ F_ON(F_ENABLE_EDIT_REPLY_INDENT, ps) ? "\" 為引言標示代號)" : "", -+ (many > 1L) ? comatose(many) : "", -+ (many > 1L) ? " " : ""); - - if(F_ON(F_ENABLE_EDIT_REPLY_INDENT, ps)){ - rtq_opts[2].ch = ctrl('R'); - rtq_opts[2].rval = 'r'; - rtq_opts[2].name = "^R"; -- rtq_opts[2].label = "Edit Indent String"; -+ rtq_opts[2].label = "編輯引言標示代號"; - } - else - rtq_opts[2].ch = -1; -@@ -1557,7 +1556,7 @@ - rtq_opts, edited ? 'y' : 'n', - 'x', NO_HELP, RB_SEQ_SENSITIVE)){ - case 'x': -- cmd_cancelled("Reply"); -+ cmd_cancelled("回覆"); - return(-1); - - case 'r': -@@ -1576,7 +1575,7 @@ - - switch(optionally_enter(buf, ps->ttyo->screen_rows > 4 - ? -FOOTER_ROWS(ps_global) : -1, -- 0, 63, "Reply prefix : ", -+ 0, 63, "引言標示代號:", - NULL, NO_HELP, &flags)){ - case 0: /* entry successful, continue */ - if(flags & OE_USER_MODIFIED){ -@@ -1589,7 +1588,7 @@ - break; - - case 1: -- cmd_cancelled("Reply"); -+ cmd_cancelled("回覆"); - - case -1: - return(-1); -@@ -2653,9 +2652,9 @@ - ENVELOPE *env, *outgoing; - { - int ret = 1; -- static ESCKEY_S news_opt[] = { {'f', 'f', "F", "Follow-up"}, -- {'r', 'r', "R", "Reply"}, -- {'b', 'b', "B", "Both"}, -+ static ESCKEY_S news_opt[] = { {'f', 'f', "F", "回覆至版上"}, -+ {'r', 'r', "R", "回給作者"}, -+ {'b', 'b', "B", "兩者皆要"}, - {-1, 0, NULL, NULL} }; - - if(env->newsgroups && *env->newsgroups && !reply_poster_followup(env)) -@@ -2679,7 +2678,7 @@ - - case 'x' : /* cancel or unknown response */ - default : -- cmd_cancelled("Reply"); -+ cmd_cancelled("回覆"); - ret = 0; - break; - } -@@ -2687,7 +2686,7 @@ - if(ret > 1){ - if(env->followup_to){ - q_status_message(SM_ORDER, 2, 3, -- "Posting to specified Followup-To groups"); -+ "刊登至特定的回覆組群"); - outgoing->newsgroups = cpystr(env->followup_to); - } - else if(!outgoing->newsgroups) -@@ -3323,7 +3322,7 @@ - : 0; - - if(ret == 'x'){ -- cmd_cancelled("Forward"); -+ cmd_cancelled("轉寄"); - so_give((STORE_S **)&msgtext); - goto clean; - } -@@ -3337,7 +3336,7 @@ - role = combine_inherited_role(role); - else{ /* cancel reply */ - role = NULL; -- cmd_cancelled("Forward"); -+ cmd_cancelled("轉寄"); - so_give((STORE_S **)&msgtext); - goto clean; - } -@@ -3532,7 +3531,7 @@ - pine_simple_send(outgoing, &body, NULL, NULL, NULL, 1); - else /* partially formatted outgoing message */ - pine_send(outgoing, &body, -- ps->nr_mode ? "SEND MESSAGE" : "FORWARD MESSAGE", -+ ps->nr_mode ? "送出信件" : "轉寄信件", - role, NULL, NULL, redraft_pos, NULL, NULL, FALSE); - - clean: -@@ -3555,7 +3554,7 @@ - mail_gc(ps->mail_stream, GC_TEXTS); - #endif - q_status_message(SM_ORDER | SM_DING, 4, 5, -- "Error fetching message contents. Can't forward message."); -+ "擷取信件內容時發生錯誤。無法轉寄信件。"); - goto clean; - } - -@@ -3979,7 +3978,7 @@ - if(confirm_role(ROLE_COMPOSE, &role)) - role = combine_inherited_role(role); - else{ /* cancel */ -- cmd_cancelled("Composition"); -+ cmd_cancelled("編輯"); - display_message('x'); - mail_free_envelope(&env); - pine_free_body(&body); diff --git a/chinese/pine4/files/patch-bj b/chinese/pine4/files/patch-bj deleted file mode 100644 index e02082921340..000000000000 --- a/chinese/pine4/files/patch-bj +++ /dev/null @@ -1,109 +0,0 @@ ---- pine/screen.c.orig Thu Sep 9 05:45:46 1999 -+++ pine/screen.c Thu Oct 14 12:03:27 1999 -@@ -578,7 +578,7 @@ - - - static struct key cancel_keys[] = -- {{NULL,NULL,KS_NONE}, {"^C","Cancel",KS_NONE}, -+ {{NULL,NULL,KS_NONE}, {"^C","取消",KS_NONE}, - {NULL,NULL,KS_NONE}, {NULL,NULL,KS_NONE}, - {NULL,NULL,KS_NONE}, {NULL,NULL,KS_NONE}, - {NULL,NULL,KS_NONE}, {NULL,NULL,KS_NONE}, -@@ -1281,10 +1281,10 @@ - as.page_column = -1; - is_context = strlen(as.context_name); - sprintf(version, "PINE %s", pine_version); -- ss_string = as.stream_status == Closed ? "(CLOSED)" : -+ ss_string = as.stream_status == Closed ? "(已關閉)" : - (as.stream_status == ReadOnly - && !IS_NEWS(as.stream)) -- ? "(READONLY)" : ""; -+ ? "(唯讀)" : ""; - ss_len = strlen(ss_string); - - tit_len = strlen(as.title); /* fixed title field width */ -@@ -1301,17 +1301,17 @@ - /* - * set location field's length and value based on requested style - */ -- loc_label = (is_context) ? "Msg" : "Message"; -+ loc_label = (is_context) ? "信" : "信件"; - loc_len = strlen(loc_label); - if(!mn_get_total(as.msgmap)){ -- sprintf(tmp_20k_buf, "No %ss", loc_label); -+ sprintf(tmp_20k_buf, "沒有%s", loc_label); - loc_len += 4; - }else{ - switch(as.style){ - case FolderName : /* "x,xxx <loc_label>s" */ - loc_len += digit_count(mn_get_total(as.msgmap)) + 3; -- sprintf(tmp_20k_buf, "%s %s%s", comatose(mn_get_total(as.msgmap)), -- loc_label, plural(mn_get_total(as.msgmap))); -+ sprintf(tmp_20k_buf, "%s 封%s", comatose(mn_get_total(as.msgmap)), -+ loc_label); - break; - case MessageNumber : /* "<loc_label> xxx of xxx DEL" */ - num_len = digit_count(mn_get_total(as.msgmap)); -@@ -1319,7 +1319,7 @@ - as.cur_mess_col = sc - (2 * num_len) - 10; - as.del_column = as.cur_mess_col + num_len - + digit_count(as.current_msg) + 5; -- sprintf(tmp_20k_buf, "%s %s of %s %s", loc_label, -+ sprintf(tmp_20k_buf, "%s %s 之 %s %s", loc_label, - strcpy(tmp_20k_buf + 1000, comatose(as.current_msg)), - strcpy(tmp_20k_buf + 1500, comatose(mn_get_total(as.msgmap))), - BAR_STATUS(as.msg_state)); -@@ -1331,7 +1331,7 @@ - as.percent_column = as.cur_mess_col + num_len - + digit_count(as.current_msg) + 7; - as.del_column = as.percent_column + 4; -- sprintf(tmp_20k_buf, "%s %s of %s %s %s", loc_label, -+ sprintf(tmp_20k_buf, "%s %s 之 %s %s %s", loc_label, - strcpy(tmp_20k_buf + 1000, comatose(as.current_msg)), - strcpy(tmp_20k_buf + 1500, comatose(mn_get_total(as.msgmap))), - percentage(as.current_line, as.total_lines, 1), -@@ -1342,7 +1342,7 @@ - case FileTextPercent : - as.page_column = sc - (14 + 2*(num_len = digit_count(as.total_lines))); - loc_len = 17 + 2*num_len; -- sprintf(tmp_20k_buf, "Line %*ld of %*ld %s ", -+ sprintf(tmp_20k_buf, "行 %*ld 之 %*ld %s ", - num_len, as.current_line, - num_len, as.total_lines, - percentage(as.current_line, as.total_lines, 1)); -@@ -1417,7 +1417,7 @@ - ss_string); - } - else{ -- char *fmt = "Folder: %s%s"; -+ char *fmt = "信件匣:%s%s"; - if(fold_len + ss_len + 8 < avail) /* all of folder fit? */ - sprintf(fold_tmp, fmt, as.folder_name, ss_string); - else if((fold_len/2) + ss_len + 8 < avail) -@@ -1474,7 +1474,7 @@ - - if(as.style == MsgTextPercent){ - as.percent_column += delta; -- PutLine5(0, as.cur_mess_col, "%s of %s %s %s%s", -+ PutLine5(0, as.cur_mess_col, "%s 之 %s %s %s%s", - strcpy(tmp_20k_buf + 1000, comatose(as.current_msg)), - strcpy(tmp_20k_buf + 1500, - comatose(mn_get_total(as.msgmap))), -@@ -1483,7 +1483,7 @@ - repeat_char(max(0, -delta), SPACE)); - } - else -- PutLine4(0, as.cur_mess_col, "%s of %s %s%s", -+ PutLine4(0, as.cur_mess_col, "%s 之 %s %s%s", - strcpy(tmp_20k_buf + 1000, comatose(as.current_msg)), - strcpy(tmp_20k_buf + 1500, - comatose(mn_get_total(as.msgmap))), -@@ -1610,7 +1610,7 @@ - - as.current_line = new_line_number; - -- sprintf(tmp_20k_buf, "%*ld of %*ld %s ", -+ sprintf(tmp_20k_buf, "%*ld 之 %*ld %s ", - digit_count(as.total_lines), as.current_line, - digit_count(as.total_lines), as.total_lines, - percentage(as.current_line, as.total_lines, 0)); diff --git a/chinese/pine4/files/patch-bk b/chinese/pine4/files/patch-bk deleted file mode 100644 index 96dd90aa74bf..000000000000 --- a/chinese/pine4/files/patch-bk +++ /dev/null @@ -1,1002 +0,0 @@ ---- pine/send.c.orig Sat Nov 13 09:41:01 1999 -+++ pine/send.c Fri Nov 19 16:18:24 1999 -@@ -221,17 +221,17 @@ - * Various useful strings - */ - #define INTRPT_PMT \ -- "Continue INTERRUPTED composition (answering \"n\" won't erase it)" -+ "繼續編輯上次中斷的文章嗎(回答 \"否\" 將不會刪除它)" - #define PSTPND_PMT \ -- "Continue postponed composition (answering \"No\" won't erase it)" -+ "繼續編輯遭暫緩的文章嗎(回答 \"否\" 將不會刪除它)" - #define FORM_PMT \ -- "Start composition from Form Letter Folder" -+ "開始自來源信件匣中編輯" - #define PSTPN_FORM_PMT \ -- "Save to Postponed or Form letter folder? " -+ "要存至「暫緩」或「來源」信件匣?" - #define POST_PMT \ -- "Posted message may go to thousands of readers. Really post" -+ "這篇文章可能被數以千計的讀者閱\讀,確定要刊登嗎" - #define INTR_DEL_PMT \ -- "Deleted messages will be removed from folder after use. Proceed" -+ "刪除的信件於 Pine 使用後將被移出檔案匣。確定刪除嗎" - - #if defined(DOS) || defined(OS2) - #define POST_PERM_GRIPE \ -@@ -276,7 +276,7 @@ - #define REDRAFT_PPND 0x01 - #define REDRAFT_DEL 0x02 - --#define COMPOSE_MAIL_TITLE "COMPOSE MESSAGE" -+#define COMPOSE_MAIL_TITLE "編輯信件" - - /* - * Phone home hash controls -@@ -344,7 +344,7 @@ - - /* Setup role */ - if(role_select_screen(pine_state, &role, 1) < 0){ -- cmd_cancelled("Composition"); -+ cmd_cancelled("編輯文章"); - pine_state->next_screen = prev_screen; - pine_state->redrawer = redraw; - return; -@@ -443,14 +443,14 @@ - mail_close(stream); - if(ret == 'x'){ - q_status_message(SM_ORDER, 0, 3, -- "Composition cancelled"); -+ "取消編輯"); - return; - } - } - } - else{ - q_status_message1(SM_ORDER | SM_DING, 3, 3, -- "Can't open Interrupted mailbox: %s", -+ "無法開被中斷的信箱:%s", - file_path); - if(stream) - mail_close(stream); -@@ -532,14 +532,14 @@ - - if(ret == 'x'){ - q_status_message(SM_ORDER, 0, 3, -- "Composition cancelled"); -+ "取消編輯"); - done++; - } - } - } - else{ - q_status_message1(SM_ORDER | SM_DING, 3, 3, -- "Can't open Postponed mailbox: %s", mbox); -+ "無法開遭暫緩的信箱:%s", mbox); - if(stream) - mail_close(stream); - } -@@ -627,7 +627,7 @@ - - if(ret == 'x'){ - q_status_message(SM_ORDER, 0, 3, -- "Composition cancelled"); -+ "取消編輯"); - done++; - } - } -@@ -637,7 +637,7 @@ - } - else{ - q_status_message1(SM_ORDER | SM_DING, 3, 3, -- "Can't open form letter folder: %s", mbox); -+ "無法開啟來源信件匣: %s", mbox); - if(stream) - mail_close(stream); - } -@@ -685,14 +685,14 @@ - role = combine_inherited_role(role); - else{ /* cancel reply */ - role = NULL; -- cmd_cancelled("Composition"); -+ cmd_cancelled("編輯文章"); - return; - } - } - } - - if(role) -- q_status_message1(SM_ORDER, 3, 4, "Composing using role \"%s\"", -+ q_status_message1(SM_ORDER, 3, 4, "以 \"%s\" 的角色編輯", - role->nick); - - /* -@@ -842,8 +842,8 @@ - */ - if(!stream->nmsgs){ - q_status_message1(SM_ORDER | SM_DING, 3, 5, -- "Empty folder! No messages really %s!", -- (REDRAFT_PPND&flags) ? "postponed" : "interrupted"); -+ "空的信件匣。沒有信件真正被%s!", -+ (REDRAFT_PPND&flags) ? "暫緩" : "中斷"); - return(redraft_cleanup(stream, FALSE, flags)); - } - else if(stream == ps_global->mail_stream){ -@@ -869,10 +869,10 @@ - if(count_flagged(stream, F_DEL) - && want_to(INTR_DEL_PMT, 'n', 0, NO_HELP, WT_NORM) == 'n'){ - q_status_message1(SM_ORDER, 3, 3, -- "Undelete %s, and then continue message", -+ "自%s復原刪除,並繼續該信件", - (REDRAFT_PPND&flags) -- ? "messages to remain postponed" -- : "form letters you want to keep"); -+ ? "繼續暫緩的信件中" -+ : "您想保留的信件中"); - continue; - } - -@@ -883,7 +883,7 @@ - mn_give(&msgmap); - - if(rv){ -- q_status_message(SM_ORDER, 0, 3, "Composition cancelled"); -+ q_status_message(SM_ORDER, 0, 3, "取消編輯"); - (void) redraft_cleanup(stream, FALSE, flags); - return(0); /* special case */ - } -@@ -1205,7 +1205,7 @@ - if(b->type == TYPEMULTIPART){ - if(strucmp(b->subtype, "mixed")){ - q_status_message1(SM_INFO, 3, 4, -- "Converting Multipart/%s to Multipart/Mixed", -+ "轉換 Multipart/%s 至 Multipart/Mixed", - b->subtype); - fs_give((void **)&b->subtype); - b->subtype = cpystr("mixed"); -@@ -1213,7 +1213,7 @@ - } - else{ - q_status_message2(SM_ORDER | SM_DING, 3, 4, -- "Unable to resume type %s/%s message", -+ "無法繼續形態為 %s/%s 的信件", - body_types[b->type], b->subtype); - return(redraft_cleanup(stream, TRUE, flags)); - } -@@ -1227,7 +1227,7 @@ - set_mime_type_by_grope(&part->body, NULL); - if(part->body.type != TYPETEXT){ - q_status_message2(SM_ORDER | SM_DING, 3, 4, -- "Unable to resume; first part is non-text: %s/%s", -+ "無法繼續;第一部份非純文字:%s/%s", - body_types[part->body.type], - part->body.subtype); - return(redraft_cleanup(stream, TRUE, flags)); -@@ -1286,9 +1286,9 @@ - - if(stream == ps_global->mail_stream){ - q_status_message2(SM_ORDER, 3, 7, -- "No more %s, returning to \"%s\"", -- (REDRAFT_PPND&flags) ? "postponed messages" -- : "form letters", -+ "沒有%s了,回到 \"%s\"", -+ (REDRAFT_PPND&flags) ? "遭暫緩的信件" -+ : " form letter ", - ps_global->inbox_name); - do_broach_folder(ps_global->inbox_name, - ps_global->context_list); -@@ -1309,7 +1309,7 @@ - - if(!mail_delete(stream, mbox)) - q_status_message1(SM_ORDER|SM_DING, 3, 3, -- "Can't delete %s", mbox); -+ "無法刪除:%s", mbox); - - fs_give((void **) &mbox); - stream = NULL; -@@ -1331,7 +1331,7 @@ - { - if(background_posting(FALSE)){ - q_status_message1(SM_ORDER, 0, 3, -- "%s folder unavailable while background posting", -+ "%s 信件匣在背景刊登時無法使用", - type); - return(failure); - } -@@ -1554,7 +1554,7 @@ - - if(rc == 1 || (rc == 0 && !answer)) { - q_status_message(SM_ORDER, 3, 4, -- "Send cancelled (User-id must be provided before sending)"); -+ "取消寄件(寄件前必須提供使用者代號)"); - return(0); - } - -@@ -1643,7 +1643,7 @@ - - if(rc == 1 || (rc == 0 && !answer)) { - q_status_message(SM_ORDER, 3, 4, -- "Send cancelled (Host/domain name must be provided before sending)"); -+ "取消寄件(寄件前必須提供 主機/領域 名稱)"); - return(0); - } - -@@ -1699,7 +1699,7 @@ - - if(rc == 1 || (rc == 0 && answer[0] == '\0')) { - q_status_message(SM_ORDER, 3, 4, -- "Send cancelled (SMTP server must be provided before sending)"); -+ "取消寄件(寄件前必須提供 SMTP 伺服器)"); - return(0); - } - -@@ -1726,31 +1726,31 @@ - */ - static struct headerentry he_template[]={ - {"From : ", "From", h_composer_from, 10, 0, NULL, -- build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, -+ build_address, NULL, NULL, addr_book_compose, "地址簿", NULL, - 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, KS_TOADDRBOOK}, - {"Reply-To: ", "Reply To", h_composer_reply_to, 10, 0, NULL, -- build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, -+ build_address, NULL, NULL, addr_book_compose, "地址簿", NULL, - 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, KS_TOADDRBOOK}, - {"To : ", "To", h_composer_to, 10, 0, NULL, -- build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, -+ build_address, NULL, NULL, addr_book_compose, "地址簿", NULL, - 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, KS_TOADDRBOOK}, - {"Cc : ", "Cc", h_composer_cc, 10, 0, NULL, -- build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, -+ build_address, NULL, NULL, addr_book_compose, "地址簿", NULL, - 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, KS_TOADDRBOOK}, - {"Bcc : ", "Bcc", h_composer_bcc, 10, 0, NULL, -- build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, -+ build_address, NULL, NULL, addr_book_compose, "地址簿", NULL, - 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, KS_TOADDRBOOK}, - {"Newsgrps: ", "Newsgroups", h_composer_news, 10, 0, NULL, -- news_build, NULL, NULL, news_group_selector, "To NwsGrps", NULL, -+ news_build, NULL, NULL, news_group_selector, "新聞組群列表", NULL, - 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, KS_NONE}, - {"Fcc : ", "Fcc", h_composer_fcc, 10, 0, NULL, -- NULL, NULL, NULL, folders_for_fcc, "To Fldrs", NULL, -+ NULL, NULL, NULL, folders_for_fcc, "資料匣列表", NULL, - 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, KS_NONE}, - {"Lcc : ", "Lcc", h_composer_lcc, 10, 0, NULL, -- build_addr_lcc, NULL, NULL, addr_book_compose_lcc,"To AddrBk", NULL, -+ build_addr_lcc, NULL, NULL, addr_book_compose_lcc,"地址簿", NULL, - 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, KS_NONE}, - {"Attchmnt: ", "Attchmnt", h_composer_attachment, 10, 0, NULL, -- NULL, NULL, NULL, NULL, "To Files", NULL, -+ NULL, NULL, NULL, NULL, "檔案列表", NULL, - 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, KS_NONE}, - {"Subject : ", "Subject", h_composer_subject, 10, 0, NULL, - valid_subject, NULL, NULL, NULL, NULL, NULL, -@@ -1785,7 +1785,7 @@ - - static struct headerentry he_custom_addr_templ={ - NULL, NULL, h_composer_custom_addr,10, 0, NULL, -- build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, -+ build_address, NULL, NULL, addr_book_compose, "地址簿", NULL, - 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, KS_TOADDRBOOK}; - static struct headerentry he_custom_free_templ={ - NULL, NULL, h_composer_custom_free,10, 0, NULL, -@@ -2068,7 +2068,7 @@ - - default: - q_status_message1(SM_ORDER,3,3, -- "Unknown header type %d in pine_simple_send", (void *)pf->type); -+ "在 pine_simple_send 中出現未知的標頭形態 %d", (void *)pf->type); - break; - } - } -@@ -2078,7 +2078,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; - - /*---------------------------------------------------------------------- -@@ -2189,12 +2189,12 @@ - opts[i].ch = 'y'; - opts[i].rval = 'y'; - opts[i].name = "Y"; -- opts[i++].label = "Yes"; -+ opts[i++].label = "是"; - - opts[i].ch = 'n'; - opts[i].rval = 'n'; - opts[i].name = "N"; -- opts[i++].label = "No"; -+ opts[i++].label = "否"; - - verbose_requested = 0; - if(F_ON(F_VERBOSE_POST, ps_global)){ -@@ -2241,7 +2241,7 @@ - dsn_show = (dsn_requested & DSN_SHOW); - sprintf(tmp_20k_buf, - "%s%s%s%s%s%sto \"%s\" ? ", -- prmpt_cnf ? prmpt_cnf : "Send message ", -+ prmpt_cnf ? prmpt_cnf : "送信 ", - (verbose_requested || dsn_show) - ? "(" : "", - (verbose_requested) -@@ -2379,7 +2379,7 @@ - if(!(outgoing->to || outgoing->cc || outgoing->bcc - || lmc.so)){ - q_status_message(SM_ORDER, 3, 5, -- "No recipients specified!"); -+ "尚未指定收件人!"); - continue; - } - -@@ -2404,7 +2404,7 @@ - } - else if(result == 0){ - q_status_message(SM_ORDER,3,5, -- "Fcc Failed!. No message saved."); -+ "Fcc 失敗!未存入任何信件。"); - retval = -1; - dprint(1, - (debugfile, "explicit fcc write failed!\n")); -@@ -2422,7 +2422,7 @@ - } - } - else{ -- q_status_message(SM_ORDER, 0, 3, "Send cancelled"); -+ q_status_message(SM_ORDER, 0, 3, "取消寄件"); - retval = -1; - } - } -@@ -2450,7 +2450,7 @@ - break; - - case 1: -- q_status_message(SM_ORDER, 0, 3, "Send cancelled"); -+ q_status_message(SM_ORDER, 0, 3, "取消寄件"); - done++; - retval = -1; - break; -@@ -2714,7 +2714,7 @@ - break; - - case 'x': /* ^C */ -- q_status_message(SM_ORDER, 0, 3, "Message cancelled"); -+ q_status_message(SM_ORDER, 0, 3, "取消信件"); - dprint(4, (debugfile, "=== send: cancelled\n")); - pbuf = save_previous_pbuf; - return; -@@ -3143,7 +3143,7 @@ - - default: - q_status_message1(SM_ORDER,3,7, -- "Unknown header type %d in pine_send", -+ "在 pine_send 中出現未知的標頭形態 %d", - (void *)pf->type); - break; - } -@@ -3170,7 +3170,7 @@ - !(role && role->from))){ - if(pf->canedit || !he->rich_header) - q_status_message(SM_ORDER, 3, 3, -- "Not allowed to change header \"From\""); -+ "不允許\改變標頭 \"From\""); - - memset(he, 0, (size_t)sizeof(*he)); - pf->he = NULL; -@@ -3529,7 +3529,7 @@ - ? "CANCEL" : "HUH?")); - if((editor_result & COMP_CANCEL) - && F_ON(F_QUELL_DEAD_LETTER, ps_global)){ -- q_status_message(SM_ORDER, 0, 3, "Message cancelled"); -+ q_status_message(SM_ORDER, 0, 3, "取消信件"); - break; - } - -@@ -3553,7 +3553,7 @@ - && (check_addresses(&header) == CA_BAD)){ - /*--- Addresses didn't check out---*/ - q_status_message(SM_ORDER, 7, 7, -- "Not allowed to postpone message until addresses are qualified"); -+ "直到地址合格之前不允許\暫緩信件"); - continue; - } - -@@ -3612,7 +3612,7 @@ - if(!so_puts(lmc.so, tmp_20k_buf)){ - if(editor_result & COMP_CANCEL) - q_status_message2(SM_ORDER | SM_DING, 3, 3, -- "Can't write \"%s\": %s", -+ "無法寫入 \"%s\": %s", - folder, error_description(errno)); - else - dprint(1, (debugfile, "* * * CAN'T WRITE %s: %s\n", -@@ -3625,7 +3625,7 @@ - if(!ps_global->VAR_POSTPONED_FOLDER - || !ps_global->VAR_POSTPONED_FOLDER[0]){ - q_status_message(SM_ORDER | SM_DING, 3, 3, -- "No postponed file defined"); -+ "沒有已定義的暫緩檔"); - continue; - } - -@@ -3655,7 +3655,7 @@ - } - else{ - strcpy(folder, ps_global->VAR_POSTPONED_FOLDER); -- strcpy(label, "postponed message"); -+ strcpy(label, "暫緩信件"); - } - - lmc.so = open_fcc(folder,&fcc_cntxt, 1, NULL, NULL); -@@ -3797,10 +3797,10 @@ - && ps_global->VAR_FORM_FOLDER[0] - && !strcmp(folder, ps_global->VAR_FORM_FOLDER)) - q_status_message(SM_ORDER, 0, 3, -- "Composition saved to Form Letter Folder. Select Compose to send."); -+ "文章已被存至來源信件匣。選擇「編輯」送出。"); - else - q_status_message(SM_ORDER, 0, 3, -- "Composition postponed. Select Compose to resume."); -+ "文章已暫緩寄出。選擇「編輯」繼續編修。"); - - break; /* postpone went OK, get out of here */ - } -@@ -3810,15 +3810,15 @@ - if(fcc_result && folder) - lc = last_cmpnt(folder); - -- q_status_message3(SM_ORDER, 0, 3, "Message cancelled%s%s%s", -- (lc && *lc) ? " and copied to \"" : "", -+ q_status_message3(SM_ORDER, 0, 3, "取消信件%s%s%s", -+ (lc && *lc) ? " 並複製到 \"" : "", - (lc && *lc) ? lc : "", - (lc && *lc) ? "\" file" : ""); - break; - } - else{ - q_status_message(SM_ORDER, 0, 4, -- "Continuing composition. Message not postponed or sent"); -+ "繼續編輯。信件未被暫緩或送出"); - body_start = 1; - continue; /* postpone failed, jump back in to composer */ - } -@@ -3834,7 +3834,7 @@ - /* --- If posting, confirm with user ----*/ - if(outgoing->newsgroups && *outgoing->newsgroups - && want_to(POST_PMT, 'n', 'n', NO_HELP, WT_NORM) == 'n'){ -- q_status_message(SM_ORDER, 0, 3, "Message not posted"); -+ q_status_message(SM_ORDER, 0, 3, "文章未被刊登"); - dprint(4, (debugfile, "no post, continuing\n")); - continue; - } -@@ -3843,13 +3843,13 @@ - || outgoing->newsgroups)){ - if(fcc && fcc[0]){ - if(F_OFF(F_AUTO_FCC_ONLY, ps_global) && -- want_to("No recipients, really copy only to Fcc ", -+ want_to("尚未指定收件者,真的僅複製到 Fcc 中嗎", - 'n', 'n', h_send_fcc_only, WT_NORM) != 'y') - continue; - } - else{ - q_status_message(SM_ORDER, 3, 4, -- "No recipients specified!"); -+ "尚未指定收件者!"); - dprint(4, (debugfile, "no recip, continuing\n")); - continue; - } -@@ -3893,8 +3893,8 @@ - && !filter_message_text(sending_filter_requested, outgoing, - *body, &orig_so, &header)){ - q_status_message1(SM_ORDER, 3, 3, -- "Problem filtering! Nothing sent%s.", -- fcc ? " or saved to fcc" : ""); -+ "過濾器有問題!沒有東西被送出%s。", -+ fcc ? "或存至 fcc" : ""); - continue; - } - -@@ -3985,7 +3985,7 @@ - } - else if(!(result & (P_MAIL_BITS | P_NEWS_BITS))){ - q_status_message(SM_ORDER, 3, 5, -- "Fcc Failed!. No message saved."); -+ "Fcc 失敗!未存入任何信件。"); - dprint(1, (debugfile, - "explicit fcc write failed!\n")); - result |= P_FCC_LOSE; -@@ -4052,7 +4052,7 @@ - } - else if(!(result & (P_MAIL_BITS | P_NEWS_BITS))){ - q_status_message(SM_ORDER,3,5, -- "Fcc Failed!. No message saved."); -+ "Fcc 失敗!未存入任何信件。"); - dprint(1, (debugfile, "explicit fcc write failed!\n")); - result |= P_FCC_LOSE; - } -@@ -4140,8 +4140,8 @@ - postpone_prompt() - { - int ret = 1; -- static ESCKEY_S pstpn_form_opt[] = { {'p', 'p', "P", "Postponed Folder"}, -- {'f', 'f', "F", "Form Letter Folder"}, -+ static ESCKEY_S pstpn_form_opt[] = { {'p', 'p', "P", "暫緩檔案匣"}, -+ {'f', 'f', "F", "來源信件匣"}, - {-1, 0, NULL, NULL} }; - - return(radio_buttons(PSTPN_FORM_PMT, -FOOTER_ROWS(ps_global), -@@ -4296,23 +4296,23 @@ - char *buf; - int *goodorbad; - { -- sprintf(buf, "Message %s%s%s%s%s%s%s.", -+ sprintf(buf, "信件 %s%s%s%s%s%s%s.", - (result & P_NEWS_WIN) -- ? "posted" -+ ? "已刊登" - : (result & P_NEWS_LOSE) -- ? "NOT posted" : "", -+ ? "未被刊登" : "", - ((result & P_NEWS_BITS) && (result & P_MAIL_BITS) - && (result & P_FCC_BITS)) - ? ", " - : ((result & P_NEWS_BITS) && (result & P_MAIL_BITS)) -- ? " and " : "", -+ ? " 並 " : "", - (result & P_MAIL_WIN) -- ? "sent" -+ ? "已寄出" - : (result & P_MAIL_LOSE) -- ? "NOT SENT" : "", -+ ? "未寄出" : "", - ((result & (P_MAIL_BITS | P_NEWS_BITS)) && (result & P_FCC_BITS)) -- ? " and copied to " -- : (result & P_FCC_WIN) ? "ONLY copied to " : "", -+ ? " 並被複製到 " -+ : (result & P_FCC_WIN) ? "僅被複製到 " : "", - (result & P_FCC_WIN) ? "\"" : "", - (result & P_FCC_WIN) ? fcc_name : "", - (result & P_FCC_WIN) ? "\"" : ""); -@@ -4351,7 +4351,7 @@ - || (F_ON(F_COMPOSE_REJECTS_UNQUAL, ps_global) - && a->host[0] == '@'))){ - q_status_message2(SM_ORDER, 4, 7, -- "Can't send to address %s: %s", -+ "無法寄至 %s:%s", - a->mailbox, - (a->host[0] == '.') - ? a->host -@@ -4361,7 +4361,7 @@ - else if(ps_global->restricted - && !address_is_us(*pf->addr, ps_global)){ - q_status_message(SM_ORDER, 3, 3, -- "Restricted demo version of Pine. You may only send mail to yourself"); -+ "這是 Pine 的展示版。僅能寄信給自己"); - return(CA_BAD); - } - else if(a->mailbox && strucmp(a->mailbox, "mailer-daemon") == 0 -@@ -4558,7 +4558,7 @@ - if(!(n > 0L && n <= mn_get_total(ps_global->msgmap) - && (e = mail_fetchstructure(ps_global->mail_stream, - mn_m2raw(ps_global->msgmap, n), &b)))){ -- q_status_message(SM_ORDER|SM_DING,3,3,"Error inserting Message"); -+ q_status_message(SM_ORDER|SM_DING,3,3,"插入信件時發生錯誤"); - flush_status_messages(0); - return(0L); - } -@@ -4573,7 +4573,7 @@ - /* actually write message text */ - if(!format_message(mn_m2raw(ps_global->msgmap, n), e, b, - FM_NEW_MESS | FM_DISPLAY | FM_NOCOLOR, f)){ -- q_status_message(SM_ORDER|SM_DING,3,3,"Error inserting Message"); -+ q_status_message(SM_ORDER|SM_DING,3,3,"插入信件時發生錯誤"); - flush_status_messages(0); - rv = 0L; - } -@@ -4667,12 +4667,12 @@ - opts[i].ch = 'y'; - opts[i].rval = 'y'; - opts[i].name = "Y"; -- opts[i++].label = "Yes"; -+ opts[i++].label = "是"; - - opts[i].ch = 'n'; - opts[i].rval = 'n'; - opts[i].name = "N"; -- opts[i++].label = "No"; -+ opts[i++].label = "否"; - - if(filters){ - /* set global_filter_pointer to desired filter or NULL if none */ -@@ -4680,12 +4680,12 @@ - opts[i].ch = ctrl('P'); - opts[i].rval = 10; - opts[i].name = "^P"; -- opts[i++].label = "Prev Filter"; -+ opts[i++].label = "前一個過濾器"; - - opts[i].ch = ctrl('N'); - opts[i].rval = 11; - opts[i].name = "^N"; -- opts[i++].label = "Next Filter"; -+ opts[i++].label = "下一個過濾器"; - - if(F_ON(F_FIRST_SEND_FILTER_DFLT, ps_global)) - filters = filters->next; -@@ -4769,11 +4769,11 @@ - - lparen = 0; - dsn_show = (dsn_requested & DSN_SHOW); -- strcpy(tmp_20k_buf, "Send message"); -- optp = &tmp_20k_buf[12]; -+ strcpy(tmp_20k_buf, "送出信件"); -+ optp = &tmp_20k_buf[8]; - - if(F_ON(F_NO_FCC_ATTACH, ps_global) && !lmc.text_only) -- sstrcpy(&optp, " and Fcc Atmts"); -+ sstrcpy(&optp, " 與 Fcc 附件?"); - - if(filters){ - if(!lparen){ -@@ -4785,12 +4785,12 @@ - *optp++ = ' '; - - if(filters->filter){ -- sstrcpy(&optp, "filtered thru \""); -+ sstrcpy(&optp, "經由過濾器 \""); - sstrcpy(&optp, filters->filter); - *optp++ = '\"'; - } - else -- sstrcpy(&optp, "unfiltered"); -+ sstrcpy(&optp, "未經過濾"); - } - - if(verbose_requested || background_requested){ -@@ -4804,10 +4804,10 @@ - - sstrcpy(&optp, "in "); - if(verbose_requested) -- sstrcpy(&optp, "verbose "); -+ sstrcpy(&optp, "顯示細節 "); - - if(background_requested) -- sstrcpy(&optp, "background "); -+ sstrcpy(&optp, "背景送出 "); - - sstrcpy(&optp, "mode"); - } -@@ -4849,11 +4849,11 @@ - *p = ' '; - - if(verbose_label) -- opts[verbose_label].label = verbose_requested ? "Normal" : "Verbose"; -+ opts[verbose_label].label = verbose_requested ? "通常" : "顯示細節"; - - if(bg_label) - opts[bg_label].label = background_requested -- ? "Foreground" : "Background"; -+ ? "前景" : "背景"; - - if(fcc_label) - opts[fcc_label].label = lmc.text_only ? "Fcc Attchmnts" -@@ -4885,11 +4885,11 @@ - break; - } - else if(rv == 'n'){ /* Declined! */ -- rstr = "No Message Sent"; -+ rstr = "沒有任何信件被送出"; - break; - } - else if(rv == 'z'){ /* Cancelled! */ -- rstr = "Send Cancelled"; -+ rstr = "取消送件"; - break; - } - else if(rv == 10){ /* PREVIOUS filter */ -@@ -5076,7 +5076,7 @@ - if(body->type != TYPEOTHER){ - rv = 1; - q_status_message3(SM_ORDER, 0, 3, -- "File %s attached as type %s/%s", file, -+ "檔案 %s 附加為 %s/%s", file, - body_types[body->type], - body->subtype ? body->subtype : rfc822_default_subtype(body->type)); - } -@@ -5125,7 +5125,7 @@ - (void) close_system_pipe(&syspipe); - if((l = name_file_size(fname)) < 0L){ - q_status_message2(SM_ORDER | SM_DING, 3, 4, -- "Error determining size of %s: %s", fname, -+ "決定檔案 %s 大小時發生錯誤:%s", fname, - fnp = error_description(errno)); - dprint(1, (debugfile, - "!!! Upload cmd \"%s\" failed for \"%s\": %s\n", -@@ -5137,7 +5137,7 @@ - return(l >= 0); - } - else -- q_status_message(SM_ORDER | SM_DING, 3, 4, "Error opening pipe"); -+ q_status_message(SM_ORDER | SM_DING, 3, 4, "開啟管線時發生錯誤"); - - return(0); - } -@@ -5190,7 +5190,7 @@ - else if(reply->flags == REPLY_MSGNO) - return; - -- we_cancel = busy_alarm(1, "Updating \"Answered\" Flags", NULL, 1); -+ we_cancel = busy_alarm(1, "正在更新 \"已回覆\" 旗標", NULL, 1); - if(!stream){ - if(stream = pine_mail_open(NULL, reply->mailbox, OP_SILENT)){ - ourstream++; -@@ -5286,7 +5286,7 @@ - so_give(&tmpf_so); - } - else -- errstr = "Can't create space for filter temporary file."; -+ errstr = "無法建立過濾器的暫存檔。"; - } - else if(include_hdrs){ - /* -@@ -5344,13 +5344,13 @@ - so_give(&tmpf_so); - } - else -- errstr = "Can't open temp file filter wrote."; -+ errstr = "無法開啟過濾器的暫存檔。"; - } - else -- errstr = "Filter command returned error."; -+ errstr = "過濾器指令傳回錯誤值。"; - } - else -- errstr = "Can't exec filter text."; -+ errstr = "無法執行過濾器。"; - } - else - errstr = gf_filter(cmd, key ? filter_session_key() : NULL, -@@ -5364,7 +5364,7 @@ - if(errstr){ - int ch; - -- fprintf(stdout, "\r\n%s Hit return to continue.", errstr); -+ fprintf(stdout, "\r\n%s 鍵入 return 繼續。", errstr); - fflush(stdout); - while((ch = read_char(300)) != ctrl('M') - && ch != NO_OP_IDLE) -@@ -5460,7 +5460,7 @@ - if(tmp_so) - so_give(&tmp_so); - -- q_status_message1(SM_ORDER | SM_DING, 3, 6, "Problem filtering: %s", -+ q_status_message1(SM_ORDER | SM_DING, 3, 6, "過濾過程有問題:%s", - errstr); - dprint(1, (debugfile, "Filter FAILED: %s\n", errstr)); - } -@@ -5545,11 +5545,11 @@ - - loser = pine_simple_send(outgoing, &body, NULL, NULL, NULL, 0); - -- q_status_message(SM_ORDER, 0, 3, "Thanks for being counted!"); -+ q_status_message(SM_ORDER, 0, 3, "感謝您願意被計算為 Pine 的使用者!"); - } - else - q_status_message(SM_ORDER | SM_DING, 3, 4, -- "Problem creating space for message text."); -+ "建立訊息文字空間時發生錯誤。"); - - mail_free_envelope(&outgoing); - pine_free_body(&body); -@@ -5633,7 +5633,7 @@ - - if(!pf){ - q_status_message(SM_ORDER,3,3, -- "Can't send message. No recipients specified!"); -+ "無法送信。尚未指定收信人!"); - return(0); - } - -@@ -5642,7 +5642,7 @@ - gf_filter_init(); /* zero piped byte count, 'n */ - send_bytes_to_send = send_body_size(body); /* count body bytes */ - ps_global->c_client_error[0] = error_buf[0] = '\0'; -- we_cancel = busy_alarm(1, "Sending mail", -+ we_cancel = busy_alarm(1, "正在寄信", - send_bytes_to_send ? sent_percent : NULL, 1); - - /* try posting via local "<mta> <-t>" if specified */ -@@ -5827,7 +5827,7 @@ - struct headerentry *last_he = NULL; - - sprintf(error_buf, -- "Mail not sent. Sending error%s%.40s", -+ "信件未被寄出。寄件錯誤%s%.40s", - (sending_stream && sending_stream->reply) ? ": ": ".", - (sending_stream && sending_stream->reply) - ? sending_stream->reply : ""); -@@ -5900,7 +5900,7 @@ - TIME_STAMP("smtp done", 1); - } - else if(!error_mess) -- sprintf(error_mess = error_buf, "Error sending: %.60s", -+ sprintf(error_mess = error_buf, "寄信時發生錯誤:%.60s", - ps_global->c_client_error); - - if(verbose_file){ -@@ -5908,7 +5908,7 @@ - TIME_STAMP("verbose start", 1); - fclose(verbose_send_output); - verbose_send_output = NULL; -- q_status_message(SM_ORDER, 0, 3, "Verbose SMTP output received"); -+ q_status_message(SM_ORDER, 0, 3, "收到詳細的 SMTP 輸出訊息"); - display_output_file(verbose_file, "Verbose SMTP Interaction", - NULL, DOF_BRIEF); - TIME_STAMP("verbose end", 1); -@@ -5998,12 +5998,12 @@ - if(folder_index(fcc, *fcc_cntxt, FI_FOLDER) < 0){ - if(ps_global->context_list->next) - sprintf(tmp_20k_buf, -- "Folder \"%.20s\" in <%.30s> doesn't exist. Create", -+ "信件匣 \"%.20s\" 在 <%.30s> 尚不存在。要新建", - strsquish(tmp_20k_buf + 500, fcc, 20), - strsquish(tmp_20k_buf + 1000,(*fcc_cntxt)->nickname,30)); - else - sprintf(tmp_20k_buf, -- "Folder \"%s\" doesn't exist. Create", -+ "信件匣 \"%s\" 尚不存在。要新建", - strsquish(tmp_20k_buf + 500, fcc, 40)); - - if(force || want_to(tmp_20k_buf,'y','n',NO_HELP,WT_NORM) == 'y'){ -@@ -6040,7 +6040,7 @@ - ok++; - } - else{ -- sprintf(tmp_20k_buf,"Folder \"%s\" doesn't exist. Create", -+ sprintf(tmp_20k_buf,"信件匣 \"%s\" 尚不存在。要新建", - strsquish(tmp_20k_buf + 500, fcc, 40)); - if(force || want_to(tmp_20k_buf,'y','n',NO_HELP,WT_NORM) == 'y'){ - /* -@@ -6074,8 +6074,8 @@ - - if(ok == 0){ - if(ps_global->mm_log_error){ -- s1 = err_prefix ? err_prefix : "Fcc Error: "; -- s2 = err_suffix ? err_suffix : " Message NOT sent or copied."; -+ s1 = err_prefix ? err_prefix : "Fcc 錯誤:"; -+ s2 = err_suffix ? err_suffix : " 信件沒有被寄出或複製。"; - - l1 = strlen(s1); - l2 = strlen(s2); -@@ -6093,10 +6093,10 @@ - - } - else -- errstr = "Fcc creation error. Message NOT sent or copied."; -+ errstr = "建立 Fcc 時發生錯誤。信件沒有被送出或複製。"; - } - else -- errstr = "Fcc creation rejected. Message NOT sent or copied."; -+ errstr = "Fcc 之建立遭拒絕。信件沒有被送出或複製。"; - - q_status_message(SM_ORDER | SM_DING, 3, 3, errstr); - } -@@ -6144,7 +6144,7 @@ - if(label && *label){ - char msg_buf[80]; - -- strncat(strcpy(msg_buf, "Writing "), label, 70); -+ strncat(strcpy(msg_buf, "正在寫入 "), label, 70); - we_cancel = busy_alarm(1, msg_buf, NULL, 1); - } - else -@@ -6180,7 +6180,7 @@ - we_cancel = 0; - - q_status_message1(SM_ORDER | SM_DING, 3, 5, -- "Write to \"%s\" FAILED!!!", fcc); -+ "寫入 \"%s\" 失敗!!!", fcc); - dprint(1, (debugfile, "ERROR appending %s in \"%s\"", - fcc, cntxt ? cntxt->context : "NULL")); - return(0); -@@ -6670,7 +6670,7 @@ - if((file_contents = (void *)so_get(FileStar, pa->filename, - READ_ACCESS)) == NULL){ - q_status_message2(SM_ORDER | SM_DING, 3, 4, -- "Error \"%s\", couldn't attach file \"%s\"", -+ "錯誤 \"%s\",無法附加檔案 \"%s\"", - error_description(errno), pa->filename); - display_message('x'); - continue; -@@ -7205,13 +7205,17 @@ - body->subtype = cpystr("octet-stream"); - } - -- /* -- * Apply maximal encoding regardless of previous -- * setting. This segment's either not text, or is -- * unlikely to be readable with > 30% of the -- * text encoded anyway, so we might as well save space... -- */ -- new_encoding = ENCBINARY; /* > 30% 8 bit chars */ -+ if(body->type == TYPETEXT) -+ /* Use ENC8BIT rather than ENCBINARY for TEXT */ -+ new_encoding = ENC8BIT; -+ else -+ /* -+ * Apply maximal encoding regardless of previous -+ * setting. This segment's either not text, or is -+ * unlikely to be readable with > 30% of the -+ * text encoded anyway, so we might as well save space... -+ */ -+ new_encoding = ENCBINARY; /* > 30% 8 bit chars */ - } - } - -@@ -7382,6 +7386,9 @@ - ps_global->VAR_CHAR_SET, - encode_whole_header(field, header)); - -+ if (!strcmp(field, "Subject")) -+ value = text; -+ - if(value && value == text){ /* no encoding was done, have to fold */ - int fold_by, len; - char *actual_field; -@@ -7835,7 +7842,7 @@ - break; - - default: -- q_status_message1(SM_ORDER,3,7,"Unknown header type: %s",pf->name); -+ q_status_message1(SM_ORDER,3,7,"未知的標頭形態:%s",pf->name); - break; - } - } -@@ -8156,7 +8163,8 @@ - - switch (body->encoding) { /* all else needs filtering */ - case ENC8BIT: /* encode 8BIT into QUOTED-PRINTABLE */ -- gf_link_filter(gf_8bit_qp, NULL); -+ if(F_OFF(F_ENABLE_8BIT, ps_global)) /* unless 8BIT enabled */ -+ gf_link_filter(gf_8bit_qp, NULL); - break; - - case ENCBINARY: /* encode binary into BASE64 */ -@@ -8170,7 +8178,7 @@ - - if(encode_error = gf_pipe(gc, l_putc)){ /* shove body part down pipe */ - q_status_message1(SM_ORDER | SM_DING, 3, 4, -- "Encoding Error \"%s\"", encode_error); -+ "編碼時發生錯誤 \"%s\"", encode_error); - display_message('x'); - } - -@@ -8258,7 +8266,7 @@ - && !(so_puts(so, "Content-Transfer-Encoding: ") - && so_puts(so, body_encodings[(body->encoding==ENCBINARY) - ? ENCBASE64 -- : (body->encoding == ENC8BIT) -+ : (body->encoding == ENC8BIT && F_OFF(F_ENABLE_8BIT, ps_global)) - ? ENCQUOTEDPRINTABLE - : (body->encoding <= ENCMAX) - ? body->encoding -@@ -8924,7 +8932,7 @@ - || (forbid = pine_header_forbidden(name))){ - if(forbid) - q_status_message1(SM_ORDER, 3, 3, -- "Not allowed to change header \"%s\"", name); -+ "不允許\改變標頭 \"%s\"", name); - - *t = save; - continue; -@@ -9070,7 +9078,7 @@ - if(ps_global->post){ - if(gripe) - q_status_message(SM_ORDER|SM_DING, 3, 3, -- "Can't post while posting!"); -+ "無法於正在刊登文章時再度刊登!"); - return(1); - } - diff --git a/chinese/pine4/files/patch-bl b/chinese/pine4/files/patch-bl deleted file mode 100644 index c546febae630..000000000000 --- a/chinese/pine4/files/patch-bl +++ /dev/null @@ -1,38 +0,0 @@ ---- pine/signals.c.orig Wed Apr 21 08:25:18 1999 -+++ pine/signals.c Thu Oct 14 10:53:45 1999 -@@ -385,7 +385,7 @@ - ps_global->inbox_stream->rdonly = 1; /* and become read-only */ - mail_ping(ps_global->inbox_stream); - q_status_message(SM_ASYNC, 3, 7, -- "Another Pine is accessing Inbox. Session now Read-Only."); -+ "另外一份 Pine 正在存取 Inbox。這個 session 進入唯讀狀態。"); - dprint(1, (debugfile, "** INBOX went read-only **\n\n")); - } - -@@ -397,7 +397,7 @@ - ps_global->mail_stream->rdonly = 1; /* and become read-only */ - mail_ping(ps_global->mail_stream); - q_status_message(SM_ASYNC, 3, 7, -- "Another Pine is accessing folder. Session now Read-Only."); -+ "另外一份 Pine 正在存取資料匣。這個 session 進入唯讀狀態。"); - dprint(1, (debugfile, "** secondary folder went read-only **\n\n")); - } - } -@@ -535,7 +535,7 @@ - int retval = 1; - - dprint(9,(debugfile, "busy_alarm(%d, %s, %p, %d)\n", -- seconds, msg ? msg : "Busy", pc_func, init_msg)); -+ seconds, msg ? msg : "請稍後", pc_func, init_msg)); - - /* - * If we're already busy'ing, and we don't have something special, -@@ -559,7 +559,7 @@ - final_message = 1; - } - else{ -- strcpy(busy_message, "Busy"); -+ strcpy(busy_message, "請稍後"); - final_message = 0; - } - diff --git a/chinese/pine4/files/patch-bm b/chinese/pine4/files/patch-bm deleted file mode 100644 index 9900700c1630..000000000000 --- a/chinese/pine4/files/patch-bm +++ /dev/null @@ -1,40 +0,0 @@ ---- pine/status.c.orig Thu Jul 8 07:42:17 1999 -+++ pine/status.c Thu Oct 14 10:53:45 1999 -@@ -72,7 +72,7 @@ - static struct key modal_message_keys[] = - {NULL_MENU, - NULL_MENU, -- {"Ret","Finished",{MC_EXIT,2,{ctrl('m'),ctrl('j')}},KS_NONE}, -+ {"Ret","完畢",{MC_EXIT,2,{ctrl('m'),ctrl('j')}},KS_NONE}, - NULL_MENU, - NULL_MENU, - NULL_MENU, -@@ -1022,8 +1022,8 @@ - * want_to's array passed to radio_buttions... - */ - static ESCKEY_S yorn[] = { -- {'y', 'y', "Y", "Yes"}, -- {'n', 'n', "N", "No"}, -+ {'y', 'y', "Y", "是"}, -+ {'n', 'n', "N", "否"}, - {-1, 0, NULL, NULL} - }; - -@@ -1232,7 +1232,7 @@ - memset(fkey_table, NO_OP_COMMAND, 12 * sizeof(int)); - if(help_text != NO_HELP){ /* if shown, always at position 0 */ - rb_keymenu.keys[0].name = "?"; -- rb_keymenu.keys[0].label = "Help"; -+ rb_keymenu.keys[0].label = "輔助說明"; - setbitn(0, bitmap); - fkey_table[0] = ctrl('G'); - start++; -@@ -1240,7 +1240,7 @@ - - if(on_ctrl_C){ /* if shown, always at position 1 */ - rb_keymenu.keys[1].name = "^C"; -- rb_keymenu.keys[1].label = "Cancel"; -+ rb_keymenu.keys[1].label = "取消"; - setbitn(1, bitmap); - fkey_table[1] = ctrl('C'); - start++; diff --git a/chinese/pine4/files/patch-bn b/chinese/pine4/files/patch-bn deleted file mode 100644 index 40313c775000..000000000000 --- a/chinese/pine4/files/patch-bn +++ /dev/null @@ -1,56 +0,0 @@ ---- pine/takeaddr.c.orig Wed Oct 20 04:28:01 1999 -+++ pine/takeaddr.c Fri Nov 19 16:18:24 1999 -@@ -896,7 +896,7 @@ - return; - - take_to_addrbooks_cancel: -- cancel_warning(NO_DING, "addition"); -+ cancel_warning(NO_DING, "新增"); - if(tas && *tas){ - restore_state(&((*tas)->state)); - (*tas)->pab = NULL; -@@ -1395,7 +1395,7 @@ - break; - - case MC_EXIT: /* exit takeaddr screen */ -- cancel_warning(NO_DING, "addition"); -+ cancel_warning(NO_DING, "新增"); - ret = 1; - done++; - break; -@@ -2872,7 +2872,7 @@ - - switch(j){ - case 'x': -- cancel_warning(NO_DING, "save"); -+ cancel_warning(NO_DING, "存檔"); - return; - - case 'e': -@@ -2972,7 +2972,7 @@ - - switch(i){ - case 'x': -- cancel_warning(NO_DING, "export"); -+ cancel_warning(NO_DING, "匯出"); - return; - - case 'a': -@@ -4947,7 +4947,7 @@ - - switch(j){ - case 'x': -- cancel_warning(NO_DING, "Save"); -+ cancel_warning(NO_DING, "存檔"); - break; - - case 'e': -@@ -5165,7 +5165,7 @@ - - switch(j){ - case 'x': -- cancel_warning(NO_DING, "Export"); -+ cancel_warning(NO_DING, "匯出"); - break; - - case 't': diff --git a/chinese/pine4/files/patch-bo b/chinese/pine4/files/patch-bo deleted file mode 100644 index 9530a919ff12..000000000000 --- a/chinese/pine4/files/patch-bo +++ /dev/null @@ -1,65 +0,0 @@ ---- build.orig Tue Nov 16 06:16:25 1999 -+++ build Fri Nov 19 16:18:24 1999 -@@ -80,8 +80,8 @@ - pine The Pine mailer. Once compiled this should work just fine on - your system with no other files than this binary, and no - modifications to your system. Optionally you may create two -- configuration files, /usr/local/lib/pine.conf and -- /usr/local/lib/pine.info. See the documentation for details. -+ configuration files, /usr/local/etc/pine.conf and -+ /usr/local/etc/pine.info. See the documentation for details. - - pico The standalone editor similar to the Pine message composer. - This is a very simple straight forward text editor. -@@ -279,11 +279,11 @@ - - if [ -s c-client ] ; then rm -f c-client ; fi - ln -s imap/c-client c-client -- if [ -s mtest ] ; then rm -f mtest ; fi -- ln -s imap/mtest mtest -- if [ -s imapd ] ; then rm -f imapd ; fi -- ln -s imap/imapd imapd -- echo "Making c-client library, mtest and imapd" -+# if [ -s mtest ] ; then rm -f mtest ; fi -+# ln -s imap/mtest mtest -+# if [ -s imapd ] ; then rm -f imapd ; fi -+# ln -s imap/imapd imapd -+ echo "Making c-client library" - eval echo make "$makeargs" "$K1" "$K2" $ccltarg - cd $PHOME/imap - eval make "$makeargs" "$K1" "$K2" $ccltarg -@@ -304,17 +304,17 @@ - cd $PHOME/bin - rm -f pine mtest imapd pico pilot - if [ -s ../pine/pine ] ; then ln ../pine/pine pine ; fi -- if [ -s ../mtest/mtest ] ; then ln ../mtest/mtest mtest ; fi -- if [ -s ../imapd/imapd ] ; then ln ../imapd/imapd imapd ; fi -+# if [ -s ../mtest/mtest ] ; then ln ../mtest/mtest mtest ; fi -+# if [ -s ../imapd/imapd ] ; then ln ../imapd/imapd imapd ; fi - if [ -s ../pico/pico ] ; then ln ../pico/pico pico ; fi - if [ -s ../pico/pilot ] ; then ln ../pico/pilot pilot ; fi - cd $PHOME - echo '' - echo "Links to executables are in bin directory:" -- size bin/pine bin/mtest bin/imapd bin/pico bin/pilot -+ size bin/pine bin/pico bin/pilot - case $maketarg in - mnt) echo "Fixing stacksizes ..." -- fixstk 64K bin/pine bin/pico bin/imapd bin/mtest bin/pilot -+ fixstk 64K bin/pine bin/pico bin/pilot - esac - echo "Done" - ;; -@@ -326,10 +326,10 @@ - make clean - echo "Cleaning Pine" - cd $PHOME/pine -- make -f makefile.ult clean -+ make -f makefile.bsf clean - echo "Cleaning pico" - cd $PHOME/pico -- make $makeargs -f makefile.ult clean -+ make $makeargs -f makefile.bsf clean - echo "Done" - cd $PHOME - ;; diff --git a/chinese/pine4/files/patch-bp b/chinese/pine4/files/patch-bp deleted file mode 100644 index 1f52e2192fe4..000000000000 --- a/chinese/pine4/files/patch-bp +++ /dev/null @@ -1,17 +0,0 @@ ---- doc/pine.1.orig Wed Oct 13 02:29:13 1999 -+++ doc/pine.1 Thu Oct 14 10:53:45 1999 -@@ -296,11 +296,11 @@ - .br - /etc/mime.types System-wide file ext. to MIME type mapping - .br --/usr/local/lib/pine.info Local pointer to system administrator. -+@@PREFIX@@/etc/pine.info Local pointer to system administrator. - .br --/usr/local/lib/pine.conf System-wide configuration file. -+@@PREFIX@@/etc/pine.conf System-wide configuration file. - .br --/usr/local/lib/pine.conf.fixed Non-overridable configuration file. -+@@PREFIX@@/etc/pine.conf.fixed Non-overridable configuration file. - .br - /tmp/.\\usr\\spool\\mail\\xxxx Per-folder mailbox lock files. - .br diff --git a/chinese/pine4/files/patch-br b/chinese/pine4/files/patch-br deleted file mode 100644 index 43139089e326..000000000000 --- a/chinese/pine4/files/patch-br +++ /dev/null @@ -1,57 +0,0 @@ ---- pine/pine.hlp.orig Thu Nov 18 02:05:25 1999 -+++ pine/pine.hlp Fri Nov 19 16:18:25 1999 -@@ -492,9 +492,9 @@ - - executable <Unix search path>/pine - persnl cfg ~/.pinerc -- global cfg /usr/local/lib/pine.conf -- fixed cfg /usr/local/lib/pine.conf.fixed -- local help /usr/local/lib/pine.info -+ global cfg @@PREFIX@@/etc/pine.conf -+ fixed cfg @@PREFIX@@/etc/pine.conf.fixed -+ local help @@PREFIX@@/etc/pine.info - - interrupted ~/.pine-interrupted-mail - debug ~/.pine-debugN -@@ -507,7 +507,7 @@ - sentmail# ~/mail/sent-mail - mailcap# ~/.mailcap + /etc/mailcap - + /usr/etc/mailcap + /usr/local/etc/mailcap -- mimetypes# ~/.mime.types + /etc/mime.types + /usr/local/lib/mime.types -+ mimetypes# ~/.mime.types + /etc/mime.types + @@PREFIX@@/etc/mime.types - - news-spool varies across Unix flavors, e.g. /usr/spool/news or /var/news - active-news varies across Unix flavors, e.g. /usr/lib/news/active -@@ -932,9 +932,9 @@ - this link now to send a message to it:<BR> - <A HREF="X-Pine-Gripe:_LOCAL_ADDRESS_?local"><!--#echo var="_LOCAL_FULLNAME_"--></A><P> - <!--chtml endif--> --<!--chtml if [ -r /usr/local/lib/pine.info ]--> -+<!--chtml if [ -r @@PREFIX@@/etc/pine.info ]--> - <HR WIDTH="75%">Local Support Contacts:<P> --<!--#include file="/usr/local/lib/pine.info"--> -+<!--#include file="@@PREFIX@@/etc/pine.info"--> - <HR WIDTH="75%"> - <!--chtml endif--> - <P> -@@ -1022,7 +1022,7 @@ - <OL> - <LI> <A HREF="#intro">Introduction</A> - <LI> <A HREF="#pine_help">Pine Help</A> --<!--chtml if [ -r /usr/local/lib/pine.info ]--> -+<!--chtml if [ -r @@PREFIX@@/etc/pine.info ]--> - <LI> <A HREF="#local_support">Local Support Contacts</A> - <!--chtml endif--> - <LI> <A HREF="#giving_cmds">Giving Commands in Pine</A> -@@ -1135,9 +1135,9 @@ - at your site.) - - --<!--chtml if [ -r /usr/local/lib/pine.info ]--> -+<!--chtml if [ -r @@PREFIX@@/etc/pine.info ]--> - <H2><A NAME="local_support">Local Support Contacts</A></H2> --<!--#include file="/usr/local/lib/pine.info"--> -+<!--#include file="@@PREFIX@@/etc/pine.info"--> - <!--chtml endif--> - - <H2><A NAME="giving_cmds">Giving Commands in Pine</A></H2> diff --git a/chinese/pine4/files/patch-bs b/chinese/pine4/files/patch-bs deleted file mode 100644 index 5e7483470390..000000000000 --- a/chinese/pine4/files/patch-bs +++ /dev/null @@ -1,25 +0,0 @@ ---- pine/mailcap.c.orig Wed Apr 21 08:13:38 1999 -+++ pine/mailcap.c Thu Oct 14 10:53:45 1999 -@@ -61,7 +61,7 @@ - - Mime types makes mime assign attachment types according - to file name extensions found in a system wide file -- ``/usr/local/lib/mime.types'' and a user specific file -+ ``@@PREFIX@@/etc/mime.types'' and a user specific file - ``~/.mime.types'' . These files specify file extensions - that will be connected to a mime type. - ******************************************************* -@@ -96,11 +96,11 @@ - #define MC_PATH_SEPARATOR ':' - #define MC_USER_FILE NULL - #define MC_STDPATH \ -- ".mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap" -+ ".mailcap:/etc/mailcap:/usr/etc/mailcap:@@PREFIX@@/etc/mailcap" - #define MT_PATH_SEPARATOR ':' - #define MT_USER_FILE NULL - #define MT_STDPATH \ -- ".mime.types:/etc/mime.types:/usr/local/lib/mime.types" -+ ".mime.types:/etc/mime.types:@@PREFIX@@/etc/mime.types" - #endif /* !DOS */ - - #ifdef _WINDOWS diff --git a/chinese/pine4/files/patch-bt b/chinese/pine4/files/patch-bt deleted file mode 100644 index 0021207cd5b8..000000000000 --- a/chinese/pine4/files/patch-bt +++ /dev/null @@ -1,27 +0,0 @@ ---- pine/osdep/expnfldr.orig Tue Dec 12 05:10:01 1995 -+++ pine/osdep/expnfldr Thu Oct 14 10:53:45 1999 -@@ -32,13 +32,13 @@ - } else if(ps_global->restricted - && (strindex("./~", temp_filename[0]) != NULL - || srchstr(temp_filename,"/../"))){ -- q_status_message(SM_ORDER, 0, 3, "Can only open local folders"); -+ q_status_message(SM_ORDER, 0, 3, "僅能開啟本地的檔案匣"); - return(0); - } else if(temp_filename[0] == '*') { - strcpy(filename, temp_filename); - } else if(ps_global->VAR_OPER_DIR && srchstr(temp_filename,"..")){ - q_status_message(SM_ORDER, 0, 3, -- "\"..\" not allowed in folder name"); -+ "檔案匣名稱中不允許\有 \"..\""); - return(0); - } else if (temp_filename[0] == '~'){ - if(fnexpand(temp_filename, sizeof(temp_filename)) == NULL) { -@@ -46,7 +46,7 @@ - if(p != NULL) - *p = '\0'; - q_status_message1(SM_ORDER, 3, 3, -- "Error expanding folder name: \"%s\" unknown user", -+ "檔案匣展開錯誤:\"%s\" 未知的使用者", - temp_filename); - return(0); - } diff --git a/chinese/pine4/files/patch-bu b/chinese/pine4/files/patch-bu deleted file mode 100644 index 0b48520c36a4..000000000000 --- a/chinese/pine4/files/patch-bu +++ /dev/null @@ -1,21 +0,0 @@ ---- pine/osdep/execview.orig Fri Nov 13 06:51:20 1998 -+++ pine/osdep/execview Thu Oct 14 10:53:45 1999 -@@ -45,14 +45,14 @@ - if(syspipe = open_system_pipe(command, r_file_h, NULL, mode, 0)){ - close_system_pipe(&syspipe); - if(needsterminal == 1) -- q_status_message(SM_ORDER, 0, 4, "VIEWER command completed"); -+ q_status_message(SM_ORDER, 0, 4, "VIEWER 命令完成"); - else if(needsterminal == 2) -- display_output_file(result_file, "VIEWER", " command result", 1); -+ display_output_file(result_file, "VIEWER", " 命令結果", 1); - else -- display_output_file(result_file, "VIEWER", " command launched", 1); -+ display_output_file(result_file, "VIEWER", " 命令已啟動", 1); - } - else -- q_status_message1(SM_ORDER, 3, 4, "Cannot spawn command : %s", cmd); -+ q_status_message1(SM_ORDER, 3, 4, "無法起始命令:%s", cmd); - - fs_give((void **)&command); - if(result_file) diff --git a/chinese/pine4/files/patch-bv b/chinese/pine4/files/patch-bv deleted file mode 100644 index f64c90e0f9f3..000000000000 --- a/chinese/pine4/files/patch-bv +++ /dev/null @@ -1,90 +0,0 @@ ---- pine/osdep/print.orig Fri Nov 13 06:51:20 1998 -+++ pine/osdep/print Thu Oct 14 10:53:45 1999 -@@ -39,12 +39,12 @@ - HelpType help; - char **list; - static ESCKEY_S ekey[] = { -- {'y', 'y', "Y", "Yes"}, -- {'n', 'n', "N", "No"}, -- {ctrl('P'), 10, "^P", "Prev Printer"}, -- {ctrl('N'), 11, "^N", "Next Printer"}, -+ {'y', 'y', "Y", "是"}, -+ {'n', 'n', "N", "否"}, -+ {ctrl('P'), 10, "^P", "前一印表機"}, -+ {ctrl('N'), 11, "^N", "下一印表機"}, - {-2, 0, NULL, NULL}, -- {'c', 'c', "C", "CustomPrint"}, -+ {'c', 'c', "C", "自定印表機"}, - {KEY_UP, 10, "", ""}, - {KEY_DOWN, 11, "", ""}, - {-1, 0, NULL, NULL}}; -@@ -61,7 +61,7 @@ - - if(ps_global->VAR_PRINTER == NULL){ - q_status_message(SM_ORDER | SM_DING, 3, 5, -- "No printer has been chosen. Use SETUP on main menu to make choice."); -+ "尚未選擇印表機。請用主選單中的設定來選擇。"); - return(-1); - } - -@@ -138,7 +138,7 @@ - switch(cmd){ - case 'y': - q_status_message1(SM_ORDER, 0, 9, -- "Printing with command \"%s\"", command); -+ "正以 \"%s\" 命令列印中", command); - done++; - break; - -@@ -175,7 +175,7 @@ - if(trailer) - fs_give((void **)&trailer); - -- sprintf(prompt, "Enter custom command : "); -+ sprintf(prompt, "輸入自定的命令:"); - command[0] = '\0'; - rc = 1; - help = NO_HELP; -@@ -195,13 +195,13 @@ - removing_trailing_white_space(command); - removing_leading_white_space(command); - q_status_message1(SM_ORDER, 0, 9, -- "Printing with command \"%s\"", command); -+ "正以 \"%s\" 命令列印中", command); - } - } - } - - if(cmd == 'x' || cmd == 'n'){ -- q_status_message(SM_ORDER, 0, 2, "Print cancelled"); -+ q_status_message(SM_ORDER, 0, 2, "取消列印"); - if(init) - fs_give((void **)&init); - -@@ -221,7 +221,7 @@ - || strucmp(command, aname) == 0){ - /*----------- Printer attached to ansi device ---------*/ - q_status_message(SM_ORDER, 0, 9, -- "Printing to attached desktop printer..."); -+ "正列印至桌上印表機..."); - display_message('x'); - xonxoff_proc(1); /* make sure XON/XOFF used */ - crlf_proc(1); /* AND LF->CR xlation */ -@@ -252,7 +252,7 @@ - else{ - fs_give((void **)&ps_global->print->result); - q_status_message1(SM_ORDER | SM_DING, 3, 4, -- "Error opening printer: %s", -+ "印表機開啟錯誤:%s", - error_description(errno)); - dprint(2, (debugfile, "Error popening printer \"%s\"\n", - error_description(errno))); -@@ -311,7 +311,7 @@ - - fs_give((void **)&ps_global->print); - -- q_status_message(SM_ASYNC, 0, 3, "Print command completed"); -+ q_status_message(SM_ASYNC, 0, 3, "列印指令完成"); - display_message('x'); - } - diff --git a/chinese/pine4/files/patch-bw b/chinese/pine4/files/patch-bw deleted file mode 100644 index ad6954b718b2..000000000000 --- a/chinese/pine4/files/patch-bw +++ /dev/null @@ -1,61 +0,0 @@ ---- pine/osdep/termin.gen.orig Tue Oct 5 06:45:41 1999 -+++ pine/osdep/termin.gen Thu Oct 14 10:53:45 1999 -@@ -38,21 +38,19 @@ - * we're in again... - */ - if(ps_global->expunge_count){ -- q_status_message3(SM_ORDER, 3, 3, -- "%s message%s expunged from folder \"%s\"", -- long2string(ps_global->expunge_count), -- plural(ps_global->expunge_count), -- pretty_fn(ps_global->cur_folder)); -+ q_status_message2(SM_ORDER, 3, 3, -+ "自資料匣 \"%s\" 中刪除 %s 封信件", -+ pretty_fn(ps_global->cur_folder), -+ long2string(ps_global->expunge_count)); - ps_global->expunge_count = 0L; - display_message('x'); - } - - if(ps_global->inbox_expunge_count){ -- q_status_message3(SM_ORDER, 3, 3, -- "%s message%s expunged from folder \"%s\"", -- long2string(ps_global->inbox_expunge_count), -- plural(ps_global->inbox_expunge_count), -- pretty_fn(ps_global->inbox_name)); -+ q_status_message2(SM_ORDER, 3, 3, -+ "自資料匣 \"%s\" 中刪除 %s 封信件", -+ pretty_fn(ps_global->inbox_name), -+ long2string(ps_global->inbox_expunge_count)); - ps_global->inbox_expunge_count = 0L; - display_message('x'); - } -@@ -77,7 +75,7 @@ - int winner = 0; - - if(ps_global->post->status < 0){ -- q_status_message(SM_ORDER | SM_DING, 3, 3, "Abysmal failure!"); -+ q_status_message(SM_ORDER | SM_DING, 3, 3, "徹底失敗!"); - } - else{ - (void) pine_send_status(ps_global->post->status, -@@ -90,7 +88,7 @@ - - if(!winner) - q_status_message(SM_ORDER, 0, 3, -- "Re-send via \"Compose\" then \"Yes\" to \"Continue INTERRUPTED?\""); -+ "由 \"編修\" 再回答 \"是\" 來繼續重送 \"上次中斷的信件?\""); - - if(ps_global->post->fcc) - fs_give((void **) &ps_global->post->fcc); -@@ -121,8 +119,8 @@ - - - static struct key oe_keys[] = -- {{"^G","Help",KS_SCREENHELP}, {"^C","Cancel",KS_NONE}, -- {"^T","xxx",KS_NONE}, {"Ret","Accept",KS_NONE}, -+ {{"^G","輔助說明",KS_SCREENHELP}, {"^C","取消",KS_NONE}, -+ {"^T","xxx",KS_NONE}, {"Ret","同意",KS_NONE}, - {NULL,NULL,KS_NONE}, {NULL,NULL,KS_NONE}, - {NULL,NULL,KS_NONE}, {NULL,NULL,KS_NONE}, - {NULL,NULL,KS_NONE}, {NULL,NULL,KS_NONE}, diff --git a/chinese/pine4/files/patch-bx b/chinese/pine4/files/patch-bx deleted file mode 100644 index 34d145354710..000000000000 --- a/chinese/pine4/files/patch-bx +++ /dev/null @@ -1,35 +0,0 @@ ---- pico/makefile.bsf.orig Wed Aug 19 01:57:03 1998 -+++ pico/makefile.bsf Sun Apr 2 12:19:40 2000 -@@ -34,10 +34,10 @@ - MAKE= make - OPTIMIZE= # -O - PROFILE= # -pg --DEBUG= -DDEBUG # -g -+###DEBUG= -DDEBUG # -g - - STDCFLAGS= -DBSDI -DBSDI2 -DPOSIX -DJOB_CONTROL -DMOUSE --CFLAGS= $(OPTIMIZE) $(PROFILE) $(DEBUG) $(EXTRACFLAGS) $(STDCFLAGS) -+CFLAGS+= $(OPTIMIZE) $(PROFILE) $(DEBUG) $(EXTRACFLAGS) $(STDCFLAGS) - - # switches for library building - LIBCMD= ar ---- pine/makefile.bsf.orig Fri Aug 28 00:49:51 1998 -+++ pine/makefile.bsf Sun Apr 2 12:20:02 2000 -@@ -48,7 +48,7 @@ - MAKE= make - OPTIMIZE= # -O - PROFILE= # -pg --DEBUG= -DDEBUG # -g -+#DEBUG= -DDEBUG # -g - - CCLIENTDIR= ../c-client - PICODIR= ../pico -@@ -67,7 +67,7 @@ - `cat $(CCLIENTDIR)/LDFLAGS` - - STDCFLAGS= -DBSDI -DSYSTYPE=\"BSF\" -DMOUSE --CFLAGS= $(OPTIMIZE) $(PROFILE) $(DEBUG) $(EXTRACFLAGS) $(LDAPCFLAGS) \ -+CFLAGS+= $(OPTIMIZE) $(PROFILE) $(DEBUG) $(EXTRACFLAGS) $(LDAPCFLAGS) \ - $(STDCFLAGS) - - OFILES= addrbook.o adrbkcmd.o adrbklib.o args.o bldaddr.o context.o filter.o \ diff --git a/chinese/pine4/files/patch-bz b/chinese/pine4/files/patch-bz deleted file mode 100644 index 84b342953976..000000000000 --- a/chinese/pine4/files/patch-bz +++ /dev/null @@ -1,20 +0,0 @@ -*** pine/newmail.c.orig Mon Sep 25 15:07:01 2000 ---- pine/newmail.c Tue Sep 26 15:34:24 2000 -*************** -*** 342,348 **** - e->from->personal, NULL), - ps_global->ttyo->screen_cols); - else -! sprintf(from + ((number > 1L) ? 18 : 6), "%s%s%s", - e->from->mailbox, - e->from->host ? "@" : "", - e->from->host ? e->from->host : ""); ---- 342,349 ---- - e->from->personal, NULL), - ps_global->ttyo->screen_cols); - else -! snprintf(from + ((number > 1L) ? 18 : 6), sizeof(from) - strlen(from), -! "%s%s%s", - e->from->mailbox, - e->from->host ? "@" : "", - e->from->host ? e->from->host : ""); diff --git a/chinese/pine4/files/pgpdecode b/chinese/pine4/files/pgpdecode index 40625939c37c..1849ed714a5f 100644 --- a/chinese/pine4/files/pgpdecode +++ b/chinese/pine4/files/pgpdecode @@ -32,7 +32,7 @@ fi trap "rm -f $STDOUT $STDERR; exit" 0 1 2 15 -if [ -x /usr/local/bin/pgpv ] +if [ -x @@PREFIX@@/bin/pgpv ] then pgpv 2>&1 > $STDOUT |tee $STDERR > /dev/tty else diff --git a/chinese/pine4/files/pgpencrypt b/chinese/pine4/files/pgpencrypt index 3baa1d2739eb..c1d821479a0c 100644 --- a/chinese/pine4/files/pgpencrypt +++ b/chinese/pine4/files/pgpencrypt @@ -3,7 +3,7 @@ # 21.03.96 Roland Rosenfeld <roland@spinnaker.rhein.de> # Wed 16 Sep 1998 23:46:43 WST Anthony Di Pietro <anthony@dino.omen.com.au> # Modified to work with both PGP v2 and PGP v5. -if [ -x /usr/local/bin/pgpe ] +if [ -x @@PREFIX@@/bin/pgpe ] then pgpe -s -a -r $* else diff --git a/chinese/pine4/files/pgpsign b/chinese/pine4/files/pgpsign index 6eff395c89c0..e938b0b6d63d 100644 --- a/chinese/pine4/files/pgpsign +++ b/chinese/pine4/files/pgpsign @@ -3,7 +3,7 @@ # 21.03.96 Roland Rosenfeld <roland@spinnaker.rhein.de> # Wed 16 Sep 1998 23:48:51 WST Anthony Di Pietro <anthony@dino.omen.com.au> # Modified to work with both PGP v2 and PGP v5. -if [ -x /usr/local/bin/pgps ] +if [ -x @@PREFIX@@/bin/pgps ] then pgps -a -t else diff --git a/chinese/pine4/files/pine.conf b/chinese/pine4/files/pine.conf index ef3a988472d9..5d41f3ef8b9e 100644 --- a/chinese/pine4/files/pine.conf +++ b/chinese/pine4/files/pine.conf @@ -32,7 +32,7 @@ feature-list=enable-8bit-esmtp-negotiation, # Reflects capabilities of the display you have. Default: US-ASCII. # Typical alternatives include ISO-8859-x, (x is a number between 1 and 9). -character-set=ISO-8859-1 +character-set=big5 # # needed for qmail 1.01 (also compatible with sendmail) diff --git a/chinese/pine4/pkg-descr b/chinese/pine4/pkg-descr index 2aa7607b60d6..2af1b5d43fc1 100644 --- a/chinese/pine4/pkg-descr +++ b/chinese/pine4/pkg-descr @@ -20,14 +20,3 @@ dot.pinerc.sample is an example configuration file(include PGP support) can be put into your home directory as .pinerc. Pine on WWW: http://www.washington.edu/pine/ - -This version of zh-pine ports was based on pine4(pine 4.04) ports of FreeBSD, -which is maintained by: - - - Adrian Penisoara (Ady) - pine@freebsd.ady.ro - -zh-pine 4.21 ports for FreeBSD is maintained by: - - - Tai-hwa Liang - avatar@www.mmlab.cse.yzu.edu.tw |