From 1e8a1769ec4ce8fae7a35cd52108fd785e846970 Mon Sep 17 00:00:00 2001 From: jack <jack@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> Date: Mon, 10 May 2004 23:58:11 +0000 Subject: Replaced edit.c xyz.c with i18n version and fixed the bugs in bbs.c git-svn-id: http://opensvn.csie.org/pttbbs/branches/Jaky.i18n@1941 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/bbs.c | 2 +- mbbsd/edit.c | 123 ++++++++++++++++++++++++++++------------------------------- mbbsd/xyz.c | 56 +++++++++++++-------------- 3 files changed, 86 insertions(+), 95 deletions(-) diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c index f112a7c0..2f181e9b 100644 --- a/mbbsd/bbs.c +++ b/mbbsd/bbs.c @@ -551,7 +551,7 @@ do_general(int isbid) move(21,0); prints(SHM->i18nstr[cuser.language][310]); for(i=0; i<8 ; i++) - strlcpy(ctype[i], SHM->i18nstr[cuser.language][297 + i], 4); + strlcpy(ctype[i], SHM->i18nstr[cuser.language][297 + i], sizeof(ctype[0])); for(i=0; i<8 && bp->posttype[i*4]; i++) strncpy(ctype[i],bp->posttype+4*i,4); if(i==0) i=8; diff --git a/mbbsd/edit.c b/mbbsd/edit.c index d8f376fc..4ee6ca3a 100644 --- a/mbbsd/edit.c +++ b/mbbsd/edit.c @@ -63,7 +63,7 @@ static char fp_bak[] = "bak"; static void indigestion(int i) { - fprintf(stderr, "�Y������ %d\n", i); + fprintf(stderr, SHM->i18nstr[cuser.language][978], i); } /* Thor: ansi �y���ഫ for color �s��Ҧ� */ @@ -121,7 +121,7 @@ n2ansi(int nx, textline_t * line) static void edit_msg() { - char *edit_mode[2] = {"���N", "���J"}; + char *edit_mode[2] = {SHM->i18nstr[cuser.language][979], SHM->i18nstr[cuser.language][980]}; register int n = currpnt; if (my_ansimode) /* Thor: �@ ansi �s�� */ @@ -129,9 +129,7 @@ edit_msg() n++; move(b_lines, 0); clrtoeol(); - prints("\033[%sm �s��峹 \033[31;47m (Ctrl-Z)\033[30m���U���� " - "\033[31;47m(^G)\033[30m���J�Ϥ�w \033[31m(^X,^Q)" - "\033[30m���}��%s�x%c%c%c%c�� %3d:%3d \033[m", + prints(SHM->i18nstr[cuser.language][981], "37;44", edit_mode[insert_character], my_ansimode ? 'A' : 'a', indent_mode ? 'I' : 'i', @@ -527,8 +525,9 @@ char * ask_tmpbuf(int y) { static char fp_buf[10] = "buf.0"; - static char msg[] = "�п�ܼȦs�� (0-9)[0]: "; - + char msg[36]; + + strlcpy(msg, SHM->i18nstr[cuser.language][982], sizeof(msg)); msg[19] = fp_buf[4]; do { if (!getdata(y, 0, msg, fp_buf + 4, 4, DOECHO)) @@ -556,7 +555,7 @@ read_tmpbuf(int n) setuserfile(fp_tmpbuf, tmpf); if (n != 0 && n != 5 && more(fp_tmpbuf, NA) != -1) - getdata(b_lines - 1, 0, "�T�wŪ�J��(Y/N)?[Y]", ans, sizeof(ans), LCECHO); + getdata(b_lines - 1, 0, SHM->i18nstr[cuser.language][983], ans, sizeof(ans), LCECHO); if (*ans != 'n' && (fp = fopen(fp_tmpbuf, "r"))) { load_file(fp); while (curr_window_line >= b_lines) { @@ -576,7 +575,7 @@ write_tmpbuf() setuserfile(fp_tmpbuf, ask_tmpbuf(3)); if (dashf(fp_tmpbuf)) { more(fp_tmpbuf, NA); - getdata(b_lines - 1, 0, "�Ȧs�ɤw����� (A)���[ (W)�мg (Q)�����H[A] ", + getdata(b_lines - 1, 0, SHM->i18nstr[cuser.language][984], ans, sizeof(ans), LCECHO); if (ans[0] == 'q') @@ -599,7 +598,7 @@ erase_tmpbuf() setuserfile(fp_tmpbuf, ask_tmpbuf(3)); if (more(fp_tmpbuf, NA) != -1) - getdata(b_lines - 1, 0, "�T�w�R����(Y/N)?[N]", + getdata(b_lines - 1, 0, SHM->i18nstr[cuser.language][985], ans, sizeof(ans), LCECHO); if (*ans == 'y') unlink(fp_tmpbuf); @@ -635,8 +634,8 @@ restore_backup() setuserfile(bakfile, fp_bak); if (dashf(bakfile)) { - stand_title("�s�边�۰ʴ_��"); - getdata(1, 0, "�z���@�g�峹�|�������A(S)�g�J�Ȧs�� (Q)��F�H[S] ", + stand_title(SHM->i18nstr[cuser.language][986]); + getdata(1, 0, SHM->i18nstr[cuser.language][987], buf, 4, LCECHO); if (buf[0] != 'q') { setuserfile(buf, ask_tmpbuf(3)); @@ -661,8 +660,8 @@ garbage_line(char *str) while (*str == ' ' || *str == '\t') str++; if (qlevel >= 1) { - if (!strncmp(str, "�� ", 3) || !strncmp(str, "==>", 3) || - strstr(str, ") ����:\n")) + if (!strncmp(str, SHM->i18nstr[cuser.language][988], 3) || !strncmp(str, "==>", 3) || + strstr(str, SHM->i18nstr[cuser.language][989])) return 1; } return (*str == '\n'); @@ -674,7 +673,7 @@ do_quote() int op; char buf[256]; - getdata(b_lines - 1, 0, "�аݭn�ޥέ���(Y/N/All/Repost)�H[Y] ", + getdata(b_lines - 1, 0, SHM->i18nstr[cuser.language][990], buf, 3, LCECHO); op = buf[0]; @@ -707,9 +706,9 @@ do_quote() ptr = quote_user; indent_mode = 0; - insert_string("�� �ޭz�m"); + insert_string(SHM->i18nstr[cuser.language][991]); insert_string(ptr); - insert_string("�n���ʨ��G\n"); + insert_string(SHM->i18nstr[cuser.language][992]); if (op != 'a') /* �h�� header */ while (fgets(buf, 256, inf) && buf[0] != '\n'); @@ -725,7 +724,7 @@ do_quote() insert_string(Ptt_prints(buf, NO_RELOAD)); else { if (curredit & EDIT_LIST) /* �h�� mail list �� header */ - while (fgets(buf, 256, inf) && (!strncmp(buf, "�� ", 3))); + while (fgets(buf, 256, inf) && (!strncmp(buf, SHM->i18nstr[cuser.language][993], 3))); while (fgets(buf, 256, inf)) { if (!strcmp(buf, "--\n")) break; @@ -768,12 +767,11 @@ check_quote() if ((included_line >> 2) > post_line) { move(4, 0); - outs("���g�峹���ި���ҶW�L 80%�A�бz���ǷL���ץ��G\n\n" - "\033[1;33m1) �W�[�@�Ǥ峹 �� 2) �R�������n���ި�\033[m"); + outs(SHM->i18nstr[cuser.language][994]); { char ans[4]; - getdata(12, 12, "(E)�~��s�� (W)�j��g�J�H[E] ", + getdata(12, 12, SHM->i18nstr[cuser.language][995], ans, sizeof(ans), LCECHO); if (ans[0] == 'w') return 0; @@ -825,10 +823,9 @@ write_header(FILE * fp) if (currbrdattr & BRD_ANONYMOUS) { int defanony = (currbrdattr & BRD_DEFAULTANONYMOUS); if (defanony) - getdata(3, 0, "�п�J�A�Q�Ϊ�ID�A�]�i������[Enter]�A" - "�άO��[r]�ίu�W�G", real_name, sizeof(real_name), DOECHO); + getdata(3, 0, SHM->i18nstr[cuser.language][996], real_name, sizeof(real_name), DOECHO); else - getdata(3, 0, "�п�J�A�Q�Ϊ�ID�A�]�i������[Enter]�ϥέ�ID�G", + getdata(3, 0, SHM->i18nstr[cuser.language][997], real_name, sizeof(real_name), DOECHO); if (!real_name[0] && defanony) { strlcpy(real_name, "Anonymous", sizeof(real_name)); @@ -861,7 +858,7 @@ write_header(FILE * fp) fprintf(fp, "%s %s (%s) %s %s\n", str_author1, postlog.author, (((!strcmp(real_name, "r") && defanony) || (!real_name[0] && (!defanony))) ? cuser.username : - "�q�q�ڬO�� ? ^o^"), + SHM->i18nstr[cuser.language][998]), local_article ? str_post2 : str_post1, currboard); } else { fprintf(fp, "%s %s (%s) %s %s\n", str_author1, cuser.userid, @@ -876,7 +873,7 @@ write_header(FILE * fp) } save_title[72] = '\0'; - fprintf(fp, "���D: %s\n�ɶ�: %s\n", save_title, ctime(&now)); + fprintf(fp, SHM->i18nstr[cuser.language][999], save_title, ctime(&now)); } void @@ -887,12 +884,13 @@ addsignature(FILE * fp, int ifuseanony) char buf[WRAPMARGIN + 1]; char fpath[STRLEN]; - static char msg[] = "�п��ñ�W�� (1-9, 0=���[ X=�H��)[X]: "; + static char msg[64]; char ch; + strlcpy(msg, SHM->i18nstr[cuser.language][1000], sizeof(msg)); if (!strcmp(cuser.userid, STR_GUEST)) { - fprintf(fp, "\n--\n�� �o�H�� :" BBSNAME "(" MYHOSTNAME - ") \n�� From: %s\n", fromhost); + fprintf(fp, "%s" BBSNAME "(" MYHOSTNAME "%s%s\n", SHM->i18nstr[cuser.language][1001], + SHM->i18nstr[cuser.language][1002], fromhost); return; } if (!ifuseanony) { @@ -925,20 +923,20 @@ addsignature(FILE * fp, int ifuseanony) #ifdef HAVE_ORIGIN #ifdef HAVE_ANONYMOUS if (ifuseanony) - fprintf(fp, "\n--\n�� �o�H��: " BBSNAME "(" MYHOSTNAME - ") \n�� From: %s\n", "�ʦW�ѨϪ��a"); + fprintf(fp, "%s"BBSNAME"("MYHOSTNAME"%s%s\n", SHM->i18nstr[cuser.language][1003], + SHM->i18nstr[cuser.language][1004], SHM->i18nstr[cuser.language][1005]); else { char temp[33]; strncpy(temp, fromhost, 31); temp[32] = '\0'; - fprintf(fp, "\n--\n�� �o�H��: " BBSNAME "(" MYHOSTNAME - ") \n�� From: %s\n", temp); + fprintf(fp, "%s"BBSNAME"("MYHOSTNAME"%s%s\n", SHM->i18nstr[cuser.language][1006], + SHM->i18nstr[cuser.language][1007], temp); } #else strncpy(temp, fromhost, 15); - fprintf(fp, "\n--\n�� �o�H��: " BBSNAME "(" MYHOSTNAME - ") \n�� From: %s\n", temp); + fprintf(fp, "%s"BBSNAME"("MYHOSTNAME"%s%s\n", SHM->i18nstr[cuser.language][1008], + SHM->i18nstr[cuser.language][1009], temp); #endif #endif } @@ -952,20 +950,18 @@ write_file(char *fpath, int saveheader, int *islocal) char ans[TTLEN], *msg; int aborted = 0, line = 0, checksum[3], sum = 0, po = 1; - stand_title("�ɮ׳B�z"); + stand_title(SHM->i18nstr[cuser.language][1010]); if (currstat == SMAIL) - msg = "[S]�x�s (A)��� (T)����D (E)�~�� (R/W/D)Ū�g�R�Ȧs�ɡH"; + msg = SHM->i18nstr[cuser.language][1011]; else if (local_article) - msg = "[L]�����H�� (S)�x�s (A)��� (T)����D (E)�~�� " - "(R/W/D)Ū�g�R�Ȧs�ɡH"; + msg = SHM->i18nstr[cuser.language][1012]; else - msg = "[S]�x�s (L)�����H�� (A)��� (T)����D (E)�~�� " - "(R/W/D)Ū�g�R�Ȧs�ɡH"; + msg = SHM->i18nstr[cuser.language][1013]; getdata(1, 0, msg, ans, 2, LCECHO); switch (ans[0]) { case 'a': - outs("�峹\033[1m �S�� \033[m�s�J"); + outs(SHM->i18nstr[cuser.language][1014]); aborted = -1; break; case 'r': @@ -980,16 +976,16 @@ write_file(char *fpath, int saveheader, int *islocal) return KEEP_EDITING; case 't': move(3, 0); - prints("�¼��D�G%s", save_title); + prints(SHM->i18nstr[cuser.language][1015], save_title); strlcpy(ans, save_title, sizeof(ans)); - if (getdata_buf(4, 0, "�s���D�G", ans, sizeof(ans), DOECHO)) + if (getdata_buf(4, 0, SHM->i18nstr[cuser.language][1016], ans, sizeof(ans), DOECHO)) strlcpy(save_title, ans, sizeof(save_title)); return KEEP_EDITING; case 's': if (!HAS_PERM(PERM_LOGINOK)) { local_article = 1; move(2, 0); - prints("�z�|���q�L�����T�{�A�u�� Local Save�C\n"); + prints(SHM->i18nstr[cuser.language][1017]); pressanykey(); } else local_article = 0; @@ -1050,7 +1046,7 @@ write_file(char *fpath, int saveheader, int *islocal) } currline = NULL; - if (postrecord.times > MAX_CROSSNUM-1 && hbflcheck(currbid, currutmp->uid)) + if (postrecord.times > MAX_CROSSNUM - 1) anticrosspost(); if (po && sum == 3) { @@ -1069,7 +1065,7 @@ write_file(char *fpath, int saveheader, int *islocal) ) { ptime = localtime(&now); fprintf(fp, - "�� �s��: %-15s �Ӧ�: %-20s (%02d/%02d %02d:%02d)\n", + SHM->i18nstr[cuser.language][1018], cuser.userid, fromhost, ptime->tm_mon + 1, ptime->tm_mday, ptime->tm_hour, ptime->tm_min); } @@ -1155,7 +1151,7 @@ goto_line(int lino) char buf[10]; if (lino > 0 || - (getdata(b_lines - 1, 0, "���ܲĴX��:", buf, sizeof(buf), DOECHO) && + (getdata(b_lines - 1, 0, SHM->i18nstr[cuser.language][1019], buf, sizeof(buf), DOECHO) && sscanf(buf, "%d", &lino) && lino > 0)) { textline_t *p; @@ -1214,10 +1210,10 @@ search_str(int mode) char ans[4] = "n"; if (!mode) { - if (getdata_buf(b_lines - 1, 0, "[�j�M]����r:", + if (getdata_buf(b_lines - 1, 0, SHM->i18nstr[cuser.language][1020], str, sizeof(str), DOECHO)) if (*str) { - if (getdata(b_lines - 1, 0, "�Ϥ��j�p�g(Y/N/Q)? [N] ", + if (getdata(b_lines - 1, 0, SHM->i18nstr[cuser.language][1021], ans, sizeof(ans), LCECHO) && *ans == 'y') fptr = strstr; else @@ -1405,8 +1401,7 @@ block_del(int hide) clrtoeol(); if (hide == 1) tmpfname[4] = 'q'; - else if (!hide && !getdata(b_lines - 1, 0, "��϶����ܼȦs�� " - "(0:Cut, 5:Copy, 6-9, q: Cancel)[0] ", + else if (!hide && !getdata(b_lines - 1, 0, SHM->i18nstr[cuser.language][1022], tmpfname + 4, 4, LCECHO)) tmpfname[4] = '0'; if (tmpfname[4] < '0' || tmpfname[4] > '9') @@ -1415,15 +1410,14 @@ block_del(int hide) setuserfile(fp_tmpbuf, tmpfname); if (tmpfname[4] != '5' && dashf(fp_tmpbuf)) { more(fp_tmpbuf, NA); - getdata(b_lines - 1, 0, "�Ȧs�ɤw����� (A)���[ (W)�мg " - "(Q)�����H[W] ", ans, 2, LCECHO); + getdata(b_lines - 1, 0, SHM->i18nstr[cuser.language][1023], ans, 2, LCECHO); if (*ans == 'q') tmpfname[4] = 'q'; else if (*ans != 'a') *ans = 'w'; } if (tmpfname[4] != '5') { - getdata(b_lines - 1, 0, "�R���϶�(Y/N)?[N] ", + getdata(b_lines - 1, 0, SHM->i18nstr[cuser.language][1024], ans + 2, 4, LCECHO); if (ans[2] != 'y') ans[2] = 'n'; @@ -1781,7 +1775,7 @@ vedit(char *fpath, int saveheader, int *islocal) line_dirty = 1; break; case Ctrl('Q'): /* Quit without saving */ - ch = ask("���������x�s (Y/N)? [N]: "); + ch = ask(SHM->i18nstr[cuser.language][1025]); if (ch == 'y' || ch == 'Y') { currutmp->mode = mode0; currutmp->destuid = destuid0; @@ -1812,10 +1806,9 @@ vedit(char *fpath, int saveheader, int *islocal) else { char ans[4]; move(b_lines - 2, 55); - outs("\033[1;33;40mB\033[41mR\033[42mG\033[43mY\033[44mL" - "\033[45mP\033[46mC\033[47mW\033[m"); + outs("\033[1;33;40mB\033[41mR\033[42mG\033[43mY\033[44mL\033[45mP\033[46mC\033[47mW\033[m"); if (getdata(b_lines - 1, 0, - "�п�J �G��/�e��/�I��[���`�զr�©�][0wb]�G", + SHM->i18nstr[cuser.language][1026], ans, sizeof(ans), LCECHO)) { char t[] = "BRGYLPCW"; char color[15]; @@ -1824,7 +1817,7 @@ vedit(char *fpath, int saveheader, int *islocal) strcpy(color, "\033["); if (isdigit(*apos)) { - sprintf(color,"%s%c", color, *(apos++)); + sprintf(color,"%s%c", color, *(apos++)); if (*apos) strcat(color, ";"); } @@ -2020,7 +2013,7 @@ vedit(char *fpath, int saveheader, int *islocal) { unsigned int currstat0 = currstat; setutmpmode(EDITEXP); - a_menu("�s�軲�U��", "etc/editexp", + a_menu(SHM->i18nstr[cuser.language][1027], "etc/editexp", (HAS_PERM(PERM_SYSOP) ? SYSOP : NOBODY)); currstat = currstat0; } @@ -2030,9 +2023,9 @@ vedit(char *fpath, int saveheader, int *islocal) indent_mode = 0; while (fgets(line, WRAPMARGIN + 2, fp1)) { - if (!strncmp(line, "�@��:", 5) || - !strncmp(line, "���D:", 5) || - !strncmp(line, "�ɶ�:", 5)) + if (!strncmp(line, SHM->i18nstr[cuser.language][1028], 5) || + !strncmp(line, SHM->i18nstr[cuser.language][1029], 5) || + !strncmp(line, SHM->i18nstr[cuser.language][1030], 5)) continue; insert_string(line); } @@ -2176,7 +2169,7 @@ vedit(char *fpath, int saveheader, int *islocal) char ans[4]; getdata(b_lines - 1, 0, - "�϶��L�եk�����J�r��(�w�]���ťզr��)", + SHM->i18nstr[cuser.language][1031], ans, sizeof(ans), LCECHO); insert_c = (*ans) ? *ans : ' '; } diff --git a/mbbsd/xyz.c b/mbbsd/xyz.c index b20b9d74..5324a3a2 100644 --- a/mbbsd/xyz.c +++ b/mbbsd/xyz.c @@ -7,7 +7,7 @@ int x_90() { - use_dict("(90)����Ҹ�/�m�W/�Ǯ�/��t/����", "etc/90"); + use_dict(SHM->i18nstr[cuser.language][2431], "etc/90"); return 0; } @@ -15,21 +15,21 @@ x_90() int x_89() { - use_dict("(89)����Ҹ�/�m�W/�Ǯ�/��t/����", "etc/89"); + use_dict(SHM->i18nstr[cuser.language][2432], "etc/89"); return 0; } /* Ptt88�~�פj���p�۬d�]�t�� */ int x_88() { - use_dict("(88)����Ҹ�/�m�W/�Ǯ�/��t/����", "etc/88"); + use_dict(SHM->i18nstr[cuser.language][2433], "etc/88"); return 0; } /* Ptt87�~�פj���p�۬d�]�t�� */ int x_87() { - use_dict("(87)����Ҹ�/�m�W/�Ǯ�/��t", "etc/87"); + use_dict(SHM->i18nstr[cuser.language][2434], "etc/87"); return 0; } @@ -37,7 +37,7 @@ x_87() int x_86() { - use_dict("(86)����Ҹ�/�m�W/�Ǯ�/��t", "etc/86"); + use_dict(SHM->i18nstr[cuser.language][2435], "etc/86"); return 0; } @@ -180,7 +180,7 @@ note() notedata_t myitem; if (cuser.money < 5) { - vmsg("\033[1;41m �u�r! �n�뤭�Ȥ~��d��...�S���C..\033[m"); + vmsg(SHM->i18nstr[cuser.language][2436]); return 0; } setutmpmode(EDNOTE); @@ -188,11 +188,11 @@ note() myitem.buf[0][0] = myitem.buf[1][0] = myitem.buf[2][0] = '\0'; move(12, 0); clrtobot(); - outs("\n�뤭��... ��... �Яd�� (�ܦh�T��)�A��[Enter]����"); - for (i = 0; (i < 3) && getdata(16 + i, 0, "�G", myitem.buf[i], + outs(SHM->i18nstr[cuser.language][2437]); + for (i = 0; (i < 3) && getdata(16 + i, 0, SHM->i18nstr[cuser.language][2438], myitem.buf[i], sizeof(myitem.buf[i]) - 5, DOECHO) && *myitem.buf[i]; i++); - getdata(b_lines - 1, 0, "(S)�x�s (E)���s�ӹL (Q)�����H[S] ", + getdata(b_lines - 1, 0, SHM->i18nstr[cuser.language][2439], buf, 3, LCECHO); if (buf[0] == 'q' || (i == 0 && *buf != 'e')) @@ -226,37 +226,33 @@ note() if (total > MAX_NOTE) total = MAX_NOTE; } - fputs("\033[1;31;44m��s�w�w�w�w�w�w�w�w�w�w�w�w�w�w�t" - "\033[37m�IJ��W���O\033[31m�u�w�w�w�w�w�w�w�w�w�w�w�w�w�w�s��" - "\033[m\n", fp); + fputs(SHM->i18nstr[cuser.language][2440], fp); collect = 1; while (total) { - snprintf(buf, sizeof(buf), "\033[1;31m���t\033[32m %s \033[37m(%s)", + snprintf(buf, sizeof(buf), SHM->i18nstr[cuser.language][2441], myitem.userid, myitem.username); len = strlen(buf); for (i = len; i < 71; i++) strcat(buf, " "); - snprintf(buf2, sizeof(buf2), " \033[1;36m%.16s\033[31m �u��\033[m\n", + snprintf(buf2, sizeof(buf2), SHM->i18nstr[cuser.language][2442], Cdate(&(myitem.date))); strcat(buf, buf2); fputs(buf, fp); if (collect) fputs(buf, foo); for (i = 0; i < 3 && *myitem.buf[i]; i++) { - fprintf(fp, "\033[1;31m�x\033[m%-74.74s\033[1;31m�x\033[m\n", + fprintf(fp, SHM->i18nstr[cuser.language][2443], myitem.buf[i]); if (collect) - fprintf(foo, "\033[1;31m�x\033[m%-74.74s\033[1;31m�x\033[m\n", + fprintf(foo, SHM->i18nstr[cuser.language][2444], myitem.buf[i]); } - fputs("\033[1;31m���s�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w" - "�w�w�w�w�w�w�w�w�w�w�w�w�s��\033[m\n", fp); + fputs(SHM->i18nstr[cuser.language][2445], fp); if (collect) { - fputs("\033[1;31m���s�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w" - "�w�w�w�w�w�w�w�w�w�w�w�w�w�w�s��\033[m\n", foo); + fputs(SHM->i18nstr[cuser.language][2446], foo); fclose(foo); collect = 0; } @@ -265,8 +261,7 @@ note() if (--total) read(fd, (char *)&myitem, sizeof(myitem)); } - fputs("\033[1;31;44m��r�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w" - "�w�w�w�w�w�w�w�w�w�w�w�w�r��\033[m\n", fp); + fputs(SHM->i18nstr[cuser.language][2447], fp); fclose(fp); close(fd); close(fx); @@ -311,13 +306,15 @@ mail_sysop() move(12, 0); clrtobot(); - outs(" �s�� ���� ID �v�d����\n\n"); + outs(SHM->i18nstr[cuser.language][2448]); + outs(SHM->i18nstr[cuser.language][2449]); + outs(SHM->i18nstr[cuser.language][2450]); for (i = 0; i < j; i++) prints("%15d. \033[1;%dm%-16s%s\033[0m\n", i + 1, 31 + i % 7, sysoplist[i].userid, sysoplist[i].duty); - prints("%-14s0. \033[1;%dm���}\033[0m", "", 31 + j % 7); - getdata(b_lines - 1, 0, " �п�J�N�X[0]�G", + prints(SHM->i18nstr[cuser.language][2451], "", 31 + j % 7); + getdata(b_lines - 1, 0, SHM->i18nstr[cuser.language][2452], genbuf, 4, DOECHO); i = genbuf[0] - '0' - 1; if (i >= 0 && i < j) { @@ -350,8 +347,10 @@ int Goodbye() { char genbuf[100]; + char genbuf1[100]; - getdata(b_lines - 1, 0, "�z�T�w�n���}�i " BBSNAME " �j��(Y/N)�H[N] ", + snprintf(genbuf1, sizeof(genbuf1), "%s%s%s", SHM->i18nstr[cuser.language][2453], BBSNAME, SHM->i18nstr[cuser.language][2454]); + getdata(b_lines - 1, 0, genbuf1, genbuf, 3, LCECHO); if (*genbuf != 'y') @@ -360,7 +359,7 @@ Goodbye() movie(999); if (cuser.userlevel) { getdata(b_lines - 1, 0, - "(G)�H���ӳu (M)���گ��� (N)�IJ��W���y���O�H[G] ", + SHM->i18nstr[cuser.language][2455], genbuf, 3, LCECHO); if (genbuf[0] == 'm') mail_sysop(); @@ -369,8 +368,7 @@ Goodbye() } log_memoryusage(); clear(); - prints("\033[1;36m�˷R�� \033[33m%s(%s)\033[36m�A�O�ѤF�A�ץ��{\033[45;33m" - " %s \033[40;36m�I\n�H�U�O�z�b���������U���:\033[0m\n", + prints(SHM->i18nstr[cuser.language][2456], cuser.userid, cuser.username, BBSName); user_display(&cuser, 0); pressanykey(); -- cgit v1.2.3