diff options
-rw-r--r-- | mbbsd/Makefile | 2 | ||||
-rw-r--r-- | mbbsd/admin.c | 6 | ||||
-rw-r--r-- | mbbsd/cal.c | 6 | ||||
-rw-r--r-- | mbbsd/mbbsd.c | 2 | ||||
-rw-r--r-- | mbbsd/menu.c | 286 | ||||
-rw-r--r-- | mbbsd/talk.c | 8 | ||||
-rw-r--r-- | mbbsd/user.c | 4 | ||||
-rw-r--r-- | mbbsd/var.c | 444 |
8 files changed, 376 insertions, 382 deletions
diff --git a/mbbsd/Makefile b/mbbsd/Makefile index 777dfdbe..d9f79a4d 100644 --- a/mbbsd/Makefile +++ b/mbbsd/Makefile @@ -32,7 +32,7 @@ test: $(PROG) killall -9 testmbbsd || true cp mbbsd testmbbsd ./testmbbsd 9000 - rm -f testmbbsd +# rm -f testmbbsd install: $(PROG) install -d $(BBSHOME)/bin/ diff --git a/mbbsd/admin.c b/mbbsd/admin.c index 3f3b1904..d7a562fe 100644 --- a/mbbsd/admin.c +++ b/mbbsd/admin.c @@ -212,7 +212,7 @@ bperm_msg(boardheader_t * board) } unsigned int -setperms(unsigned int pbits, char *pstring[]) +setperms(unsigned int pbits, int *pstring) { register int i; char choice[4]; @@ -220,10 +220,10 @@ setperms(unsigned int pbits, char *pstring[]) move(4, 0); for (i = 0; i < NUMPERMS / 2; i++) { prints("%c. %-20s %-15s %c. %-20s %s\n", - 'A' + i, pstring[i], + 'A' + i, SHM->i18nstr[cuser.language][pstring[i]], ((pbits >> i) & 1 ? SHM->i18nstr[cuser.language][23] : SHM->i18nstr[cuser.language][24]), i < 10 ? 'Q' + i : '0' + i - 10, - pstring[i + 16], + SHM->i18nstr[cuser.language][pstring[i + 16]], ((pbits >> (i + 16)) & 1 ? SHM->i18nstr[cuser.language][25] : SHM->i18nstr[cuser.language][26])); } clrtobot(); diff --git a/mbbsd/cal.c b/mbbsd/cal.c index efaf30da..69aa4f24 100644 --- a/mbbsd/cal.c +++ b/mbbsd/cal.c @@ -32,11 +32,11 @@ lockutmpmode(int unmode, int state) move(10, 20); if (errorno == 1) prints(SHM->i18nstr[cuser.language][532], - ModeTypeTable[currutmp->lockmode], - ModeTypeTable[unmode]); + SHM->i18nstr[cuser.language][ModeTypeTable[currutmp->lockmode]], + SHM->i18nstr[cuser.language][ModeTypeTable[unmode]]); else prints(SHM->i18nstr[cuser.language][533], - ModeTypeTable[unmode]); + SHM->i18nstr[cuser.language][ModeTypeTable[unmode]]); pressanykey(); return errorno; } diff --git a/mbbsd/mbbsd.c b/mbbsd/mbbsd.c index de9a4643..1cb7942f 100644 --- a/mbbsd/mbbsd.c +++ b/mbbsd/mbbsd.c @@ -961,7 +961,7 @@ user_login() for (i = 0; i < NUMVIEWFILE; i++) if ((cuser.loginview >> i) & 1) - more(loginview_file[(int)i][0], YEA); + more(loginview_file[(int)i].path, YEA); } static void diff --git a/mbbsd/menu.c b/mbbsd/menu.c index 3c4dcbae..0317a340 100644 --- a/mbbsd/menu.c +++ b/mbbsd/menu.c @@ -11,7 +11,7 @@ extern char board_hidden_status; void showtitle(char *title, char *mid) { - char buf[40], numreg[50]; + char buf[40], buf1[40], numreg[50]; #ifndef DEBUG int nreg; #endif @@ -31,12 +31,13 @@ showtitle(char *title, char *mid) } #else else if (currutmp->mailalert) { - mid = "\033[41;5m �l�t�ӫ��a�o " TITLE_COLOR; + snprintf(buf1, sizeof(buf1), "%s"TITLE_COLOR, SHM->i18nstr[cuser.language][1380]); + mid = buf1; spc = 22; } else if (HAS_PERM(PERM_SYSOP) && (nreg = dashs(fn_register) / 163) > 10) { snprintf(numreg, sizeof(numreg), - "\033[41;5m ��%03d/%03d���f�� " TITLE_COLOR, - nreg, (int)dashs("register.new.tmp") / 163); + SHM->i18nstr[cuser.language][1381], + nreg, (int)dashs("register.new.tmp") / 163, TITLE_COLOR); mid = numreg; spc = 22; } @@ -49,10 +50,10 @@ showtitle(char *title, char *mid) buf[spc] = '\0'; clear(); - prints(TITLE_COLOR "�i%s�j%s\033[33m%s%s%s\033[3%s�m", + prints(SHM->i18nstr[cuser.language][1382], TITLE_COLOR, title, buf, mid, buf, " " + pad, - currmode & MODE_SELECT ? "6m�t�C" : currmode & MODE_ETC ? "5m��L" : - currmode & MODE_DIGEST ? "2m��K" : "7m�ݪO"); + currmode & MODE_SELECT ? SHM->i18nstr[cuser.language][1383] : currmode & MODE_ETC ? SHM->i18nstr[cuser.language][1384] : + currmode & MODE_DIGEST ? SHM->i18nstr[cuser.language][1385] : SHM->i18nstr[cuser.language][1386]); if (strcmp(currboard, lastboard)) { /* change board */ if (currboard[0] != 0 && @@ -67,7 +68,7 @@ showtitle(char *title, char *mid) prints("\033[32m%s", currboard); else prints("%s", currboard); - prints("\033[3%dm�n\033[0m\n", currmode & MODE_SELECT ? 6 : + prints(SHM->i18nstr[cuser.language][1387], currmode & MODE_SELECT ? 6 : currmode & MODE_ETC ? 5 : currmode & MODE_DIGEST ? 2 : 7); } @@ -82,17 +83,15 @@ show_status(void) int i; struct tm *ptime = localtime(&now); char mystatus[160]; - char *myweek = "�Ѥ@�G�T�|����"; - const char *msgs[] = {"����", "���}", "�ޱ�", "����", "�n��"}; + char *myweek = SHM->i18nstr[cuser.language][1388]; + const char *msgs[] = {SHM->i18nstr[cuser.language][1389], SHM->i18nstr[cuser.language][1390], SHM->i18nstr[cuser.language][1391], SHM->i18nstr[cuser.language][1392], SHM->i18nstr[cuser.language][1393]}; i = ptime->tm_wday << 1; snprintf(mystatus, sizeof(mystatus), - "\033[34;46m[%d/%d �P��%c%c %d:%02d]\033[1;33;45m%-14s" - "\033[30;47m �ثe�{�̦�\033[31m%d\033[30m�H, �ڬO\033[31m%-12s" - "\033[30m[����]\033[31m%s\033[0m", + SHM->i18nstr[cuser.language][1394], ptime->tm_mon + 1, ptime->tm_mday, myweek[i], myweek[i + 1], ptime->tm_hour, ptime->tm_min, currutmp->birth ? - "�ͤ�n�Ыȭ�" : SHM->today_is, + SHM->i18nstr[cuser.language][1395] : SHM->today_is, SHM->UTMPnumber, cuser.userid, msgs[currutmp->pager]); outmsg(mystatus); } @@ -149,15 +148,15 @@ show_menu(commands_t * p) { register int n = 0; register char *s; - const char *state[4] = {"�Υ\\��", "�w�h��", "�۩w��", "SHUTUP"}; char buf[80]; movie(currstat); move(menu_row, 0); - while ((s = p[n].desc)) { + while (p[n].desc > 0 && p[n].desc < MAX_STRING) { if (HAS_PERM(p[n].level)) { - snprintf(buf, sizeof(buf), s + 2, state[cuser.proverb % 4]); + s = SHM->i18nstr[cuser.language][p[n].desc]; + snprintf(buf, sizeof(buf), s + 2, SHM->i18nstr[cuser.language][1396 + cuser.proverb % 4]); prints("%*s (\033[1;36m%c\033[0m)%s\n", menu_column, "", s[1], buf); } @@ -262,15 +261,15 @@ domenu(int cmdmode, char *cmdtitle, int cmd, commands_t cmdtable[]) refscreen = YEA; if (err != -1) - cmd = cmdtable[lastcmdptr].desc[0]; + cmd = SHM->i18nstr[cuser.language][cmdtable[lastcmdptr].desc][0]; else - cmd = cmdtable[lastcmdptr].desc[1]; - cmd0[cmdmode] = cmdtable[lastcmdptr].desc[0]; + cmd = SHM->i18nstr[cuser.language][cmdtable[lastcmdptr].desc][1]; + cmd0[cmdmode] = SHM->i18nstr[cuser.language][cmdtable[lastcmdptr].desc][0]; } if (cmd >= 'a' && cmd <= 'z') cmd &= ~0x20; while (++i <= total) - if (cmdtable[i].desc[1] == cmd) + if (SHM->i18nstr[cuser.language][cmdtable[i].desc][1] == cmd) break; } @@ -300,51 +299,51 @@ domenu(int cmdmode, char *cmdtitle, int cmd, commands_t cmdtable[]) /* administrator's maintain menu */ static commands_t adminlist[] = { - {m_user, PERM_ACCOUNTS, "UUser �ϥΪ̸��"}, - {search_user_bypwd, PERM_SYSOP, "SSearch User �S���j�M�ϥΪ�"}, - {search_user_bybakpwd,PERM_SYSOP, "OOld User data �d�\\�ƥ��ϥΪ̸��"}, - {m_board, PERM_SYSOP, "BBoard �]�w�ݪO"}, - {m_register, PERM_SYSOP, "RRegister �f�ֵ��U����"}, - {cat_register, PERM_SYSOP, "CCatregister �L�k�f�֮ɥΪ�"}, - {x_file, PERM_SYSOP|PERM_VIEWSYSOP, "XXfile �s��t���ɮ�"}, - {give_money, PERM_SYSOP|PERM_VIEWSYSOP, "GGivemoney ���]��"}, - {m_loginmsg, PERM_SYSOP, "MMessage Login �i�����y"}, + {m_user, PERM_ACCOUNTS, 1399}, + {search_user_bypwd, PERM_SYSOP, 1400}, + {search_user_bybakpwd,PERM_SYSOP, 1401}, + {m_board, PERM_SYSOP, 1402}, + {m_register, PERM_SYSOP, 1403}, + {cat_register, PERM_SYSOP, 1404}, + {x_file, PERM_SYSOP|PERM_VIEWSYSOP, 1405}, + {give_money, PERM_SYSOP|PERM_VIEWSYSOP, 1406}, + {m_loginmsg, PERM_SYSOP, 1407}, #ifdef HAVE_MAILCLEAN - {m_mclean, PERM_SYSOP, "MMail Clean �M�z�ϥΪ̭ӤH�H�c"}, + {m_mclean, PERM_SYSOP, 1408}, #endif #ifdef HAVE_REPORT - {m_trace, PERM_SYSOP, "TTrace �]�w�O�_�O��������T"}, + {m_trace, PERM_SYSOP, 1409}, #endif - {NULL, 0, NULL} + {NULL, 0, -1} }; /* mail menu */ static commands_t maillist[] = { - {m_new, PERM_READMAIL, "RNew �\\Ū�s�i�l��"}, - {m_read, PERM_READMAIL, "RRead �h�\\��Ū�H���"}, - {m_send, PERM_BASIC, "RSend �����H�H"}, - {x_love, PERM_LOGINOK, "PPaper \033[1;32m���Ѳ��;�\033[m "}, - {mail_list, PERM_BASIC, "RMail List �s�ձH�H"}, - {setforward, PERM_LOGINOK,"FForward \033[32m�]�w�H�c�۰���H\033[m"}, - {m_sysop, 0, "YYes, sir! �ԴA����"}, - {m_internet, PERM_INTERNET, "RInternet �H�H�� Internet"}, - {mail_mbox, PERM_INTERNET, "RZip UserHome ��Ҧ��p�H��ƥ��]�^�h"}, - {built_mail_index, PERM_LOGINOK, "SSavemail ���ثH�c����"}, - {mail_all, PERM_SYSOP, "RAll �H�H���Ҧ��ϥΪ�"}, - {NULL, 0, NULL} + {m_new, PERM_READMAIL, 1410}, + {m_read, PERM_READMAIL, 1411}, + {m_send, PERM_BASIC, 1412}, + {x_love, PERM_LOGINOK, 1413}, + {mail_list, PERM_BASIC, 1414}, + {setforward, PERM_LOGINOK,1415}, + {m_sysop, 0, 1416}, + {m_internet, PERM_INTERNET, 1417}, + {mail_mbox, PERM_INTERNET, 1418}, + {built_mail_index, PERM_LOGINOK, 1419}, + {mail_all, PERM_SYSOP, 1420}, + {NULL, 0, -1} }; /* Talk menu */ static commands_t talklist[] = { - {t_users, 0, "UUsers ������Ѥ�U"}, - {t_pager, PERM_BASIC, "PPager �����I�s��"}, - {t_idle, 0, "IIdle �o�b"}, - {t_query, 0, "QQuery �d�ߺ���"}, - {t_qchicken, 0, "WWatch Pet �d���d��"}, - {t_talk, PERM_PAGE, "TTalk ��H���"}, - {t_chat, PERM_CHAT, "CChat ��a���{����h"}, - {t_display, 0, "DDisplay ��ܤW�X�����T"}, - {NULL, 0, NULL} + {t_users, 0, 1421}, + {t_pager, PERM_BASIC, 1422}, + {t_idle, 0, 1423}, + {t_query, 0, 1424}, + {t_qchicken, 0, 1425}, + {t_talk, PERM_PAGE, 1426}, + {t_chat, PERM_CHAT, 1427}, + {t_display, 0, 1428}, + {NULL, 0, -1} }; /* name menu */ @@ -359,93 +358,92 @@ static int t_special() { } static commands_t namelist[] = { - {t_override, PERM_LOGINOK,"OOverRide �n�ͦW��"}, - {t_reject, PERM_LOGINOK, "BBlack �a�H�W��"}, - {t_aloha,PERM_LOGINOK, "AALOHA �W���q���W��"}, + {t_override, PERM_LOGINOK,1429}, + {t_reject, PERM_LOGINOK, 1430}, + {t_aloha,PERM_LOGINOK, 1431}, #ifdef POSTNOTIFY - {t_post,PERM_LOGINOK, "NNewPost �s�峹�q���W��"}, + {t_post,PERM_LOGINOK, 1432}, #endif - {t_special,PERM_LOGINOK, "SSpecial ��L�S�O�W��"}, - {NULL, 0, NULL} + {t_special,PERM_LOGINOK, 1433}, + {NULL, 0, -1} }; /* User menu */ static commands_t userlist[] = { - {u_info, PERM_LOGINOK, "IInfo �]�w�ӤH��ƻP�K�X"}, - {calendar, PERM_LOGINOK, "CCalendar �ӤH��ƾ�"}, - {u_editcalendar, PERM_LOGINOK, "EEditCalendar �s��ӤH��ƾ�"}, - {u_loginview, PERM_LOGINOK, "LLogin View ��ܶi���e��"}, - {u_ansi, 0, "AANSI ���� ANSI \033[36m�m\033[35m��\033[37m/" - "\033[30;47m��\033[1;37m��\033[m�ҥ�"}, - {u_movie, 0, "MMovie �����ʵe�ҥ�"}, + {u_info, PERM_LOGINOK, 1434}, + {calendar, PERM_LOGINOK, 1435}, + {u_editcalendar, PERM_LOGINOK, 1436}, + {u_loginview, PERM_LOGINOK, 1437}, + {u_ansi, 0, 1438}, + {u_movie, 0, 1439}, #ifdef HAVE_SUICIDE - {u_kill, PERM_BASIC, "IKill �۱��I�I"}, + {u_kill, PERM_BASIC, 1440}, #endif - {u_editplan, PERM_LOGINOK, "QQueryEdit �s��W����"}, - {u_editsig, PERM_LOGINOK, "SSignature �s��ñ�W��"}, + {u_editplan, PERM_LOGINOK, 1441}, + {u_editsig, PERM_LOGINOK, 1442}, #if HAVE_FREECLOAK - {u_cloak, PERM_LOGINOK, "CCloak �����N"}, + {u_cloak, PERM_LOGINOK, 1443}, #else - {u_cloak, PERM_CLOAK, "CCloak �����N"}, + {u_cloak, PERM_CLOAK, 1444}, #endif - {u_register, PERM_BASIC, "RRegister ��g�m���U�ӽг�n"}, - {u_list, PERM_SYSOP, "UUsers �C�X���U�W��"}, - {NULL, 0, NULL} + {u_register, PERM_BASIC, 1445}, + {u_list, PERM_SYSOP, 1446}, + {NULL, 0, -1} }; /* XYZ tool menu */ static commands_t xyzlist[] = { #ifdef HAVE_LICENSE - {x_gpl, 0, "LLicense GNU �ϥΰ���"}, + {x_gpl, 0, 1447}, #endif #ifdef HAVE_INFO - {x_program, 0, "PProgram ���{���������P���v�ŧi"}, + {x_program, 0, 1448}, #endif - {x_boardman,0, "MMan Boards �m�ݪO��ذϱƦ�]�n"}, -// {x_boards,0, "HHot Boards �m�ݪO�H��Ʀ�]�n"}, - {x_history, 0, "HHistory �m�ڭ̪������n"}, - {x_note, 0, "NNote �m�IJ��W���y���O�n"}, - {x_login,0, "SSystem �m�t�έ��n���i�n"}, - {x_week, 0, "WWeek �m���g���Q�j�������D�n"}, - {x_issue, 0, "IIssue �m����Q�j�������D�n"}, - {x_today, 0, "TToday �m����W�u�H���έp�n"}, - {x_yesterday, 0, "YYesterday �m�Q��W�u�H���έp�n"}, - {x_user100 ,0, "UUsers �m�ϥΪ̦ʤj�Ʀ�]�n"}, - {x_birth, 0, "BBirthday �m����جP�j�[�n"}, - {p_sysinfo, 0, "XXinfo �m�d�ݨt�θ�T�n"}, - {NULL, 0, NULL} + {x_boardman,0, 1449}, +// {x_boards,0, 1450}, + {x_history, 0, 1451}, + {x_note, 0, 1452}, + {x_login,0, 1453}, + {x_week, 0, 1454}, + {x_issue, 0, 1455}, + {x_today, 0, 1456}, + {x_yesterday, 0, 1457}, + {x_user100 ,0, 1458}, + {x_birth, 0, 1459}, + {p_sysinfo, 0, 1460}, + {NULL, 0, -1} }; /* Ptt money menu */ static commands_t moneylist[] = { - {p_give, 0, "00Give ����L�H��"}, - {save_violatelaw, 0,"11ViolateLaw ú�@��"}, + {p_give, 0, 1461}, + {save_violatelaw, 0,1462}, #if !HAVE_FREECLOAK - {p_cloak, 0, "22Cloak ���� ����/�{�� $19 /��"}, + {p_cloak, 0, 1463}, #endif - {p_from, 0, "33From �Ȯɭק�G�m $49 /��"}, - {ordersong,0, "44OSong �ڮ�ʺA�I�q�� $200 /��"}, - {p_exmail, 0, "55Exmail �ʶR�H�c $1000/��"}, - {NULL, 0, NULL} + {p_from, 0, 1464}, + {ordersong,0, 1465}, + {p_exmail, 0, 1466}, + {NULL, 0, -1} }; static int p_money() { - domenu(PSALE, "��tt�q�c��", '0', moneylist); + domenu(PSALE, SHM->i18nstr[cuser.language][1467], '0', moneylist); return 0; }; #if 0 static commands_t jceelist[] = { - {x_90,PERM_LOGINOK, "0090 JCEE �i90�Ǧ~�פj���p�۬d�]�t�Ρj"}, - {x_89,PERM_LOGINOK, "1189 JCEE �i89�Ǧ~�פj���p�۬d�]�t�Ρj"}, - {x_88,PERM_LOGINOK, "2288 JCEE �i88�Ǧ~�פj���p�۬d�]�t�Ρj"}, - {x_87,PERM_LOGINOK, "3387 JCEE �i87�Ǧ~�פj���p�۬d�]�t�Ρj"}, - {x_86,PERM_LOGINOK, "4486 JCEE �i86�Ǧ~�פj���p�۬d�]�t�Ρj"}, - {NULL, 0, NULL} + {x_90,PERM_LOGINOK, 1468}, + {x_89,PERM_LOGINOK, 1469}, + {x_88,PERM_LOGINOK, 1470}, + {x_87,PERM_LOGINOK, 1471}, + {x_86,PERM_LOGINOK, 1472}, + {NULL, 0, -1} }; static int m_jcee() { - domenu(JCEE, "��tt�d�]�t��", '0', jceelist); + domenu(JCEE, SHM->i18nstr[cuser.language][1473], '0', jceelist); return 0; } #endif @@ -458,32 +456,31 @@ static int chessroom(); static commands_t playlist[] = { #if 0 #if HAVE_JCEE - {m_jcee, PERM_LOGINOK, "JJCEE �i �j���p�Ҭd�]�t�� �j"}, + {m_jcee, PERM_LOGINOK, 1474}, #endif #endif - {note, PERM_LOGINOK, "NNote �i ���y���O �j"}, - {x_weather,0 , "WWeather �i ��H�w�� �j"}, + {note, PERM_LOGINOK, 1475}, + {x_weather,0 , 1476}, /* XXX �a���F */ /* {x_stock,0 , "SStock �i �ѥ��污 �j"},*/ - {forsearch,PERM_LOGINOK, "SSearchEngine�i\033[1;35m ��tt�j�M�� \033[m�j"}, - {topsong,PERM_LOGINOK, "TTop Songs �i\033[1;32m�ڮ��I�q�Ʀ�]\033[m�j"}, - {p_money,PERM_LOGINOK, "PPay �i\033[1;31m ��tt�q�c�� \033[m�j"}, - {chicken_main,PERM_LOGINOK, "CChicken " - "�i\033[1;34m ��tt�i���� \033[m�j"}, - {playground,PERM_LOGINOK, "AAmusement �i\033[1;33m ��tt�C�ֳ� \033[m�j"}, - {chessroom, PERM_LOGINOK, "BChineseChess �i\033[1;34m ��tt�Ѱ|\033[m�j"}, - {NULL, 0, NULL} + {forsearch,PERM_LOGINOK, 1477}, + {topsong,PERM_LOGINOK, 1478}, + {p_money,PERM_LOGINOK, 1479}, + {chicken_main,PERM_LOGINOK, 1480}, + {playground,PERM_LOGINOK, 1481}, + {chessroom, PERM_LOGINOK, 1482}, + {NULL, 0, -1} }; static commands_t chesslist[] = { - {chc_main, PERM_LOGINOK, "1ChessFight �i\033[1;33m �� �� \033[m�j"}, - {chc_personal, PERM_LOGINOK, "2SelfPlay �i\033[1;34m �� �� \033[m�j"}, - {chc_watch, PERM_LOGINOK, "3ChessWatch �i\033[1;35m �[ �� \033[m�j"}, - {NULL, 0, NULL} + {chc_main, PERM_LOGINOK, 1483}, + {chc_personal, PERM_LOGINOK, 1484}, + {chc_watch, PERM_LOGINOK, 1485}, + {NULL, 0, -1} }; static int chessroom() { - domenu(CHC, "��tt�Ѱ|", '1', chesslist); + domenu(CHC, SHM->i18nstr[cuser.language][1486], '1', chesslist); return 0; } @@ -492,34 +489,31 @@ static commands_t plist[] = { /* {p_ticket_main, PERM_LOGINOK,"00Pre �i �`�ξ� �j"}, {alive, PERM_LOGINOK, "00Alive �i �q���� �j"}, */ - {ticket_main, PERM_LOGINOK, "11Gamble �i ��tt��� �j"}, - {guess_main, PERM_LOGINOK, "22Guess number�i �q�Ʀr �j"}, - {othello_main, PERM_LOGINOK, "33Othello �i �¥մ� �j"}, -// {dice_main, PERM_LOGINOK, "44Dice �i ����l �j"}, - {vice_main, PERM_LOGINOK, "44Vice �i �o����� �j"}, - {g_card_jack, PERM_LOGINOK, "55Jack �i �³ǧJ �j"}, - {g_ten_helf, PERM_LOGINOK, "66Tenhalf �i �Q�I�b �j"}, - {card_99, PERM_LOGINOK, "77Nine �i �E�Q�E �j"}, - {NULL, 0, NULL} + {ticket_main, PERM_LOGINOK, 1487}, + {guess_main, PERM_LOGINOK, 1488}, + {othello_main, PERM_LOGINOK, 1489}, +// {dice_main, PERM_LOGINOK, 1490}, + {vice_main, PERM_LOGINOK, 1491}, + {g_card_jack, PERM_LOGINOK, 1492}, + {g_ten_helf, PERM_LOGINOK, 1493}, + {card_99, PERM_LOGINOK, 1494}, + {NULL, 0, -1} }; static int playground() { - domenu(AMUSE, "��tt�C�ֳ�",'1',plist); + domenu(AMUSE, SHM->i18nstr[cuser.language][1495],'1',plist); return 0; } static commands_t slist[] = { - {x_dict,0, "11Dictionary " - "�i\033[1;33m ����j�r�� \033[m�j"}, - {x_mrtmap, 0, "22MRTmap " - "�i\033[1;34m ���B�a�� \033[m�j"}, - {main_railway, PERM_LOGINOK, "33Railway " - "�i\033[1;32m �������d�� \033[m�j"}, - {NULL, 0, NULL} + {x_dict,0, 1496}, + {x_mrtmap, 0, 1497}, + {main_railway, PERM_LOGINOK, 1498}, + {NULL, 0, -1} }; static int forsearch() { - domenu(SREG, "��tt�j�M��", '1', slist); + domenu(SREG, SHM->i18nstr[cuser.language][1499], '1', slist); return 0; } @@ -527,43 +521,43 @@ static int forsearch() { int admin() { - domenu(ADMIN, "�t�κ��@", 'X', adminlist); + domenu(ADMIN, SHM->i18nstr[cuser.language][1500], 'X', adminlist); return 0; } int Mail() { - domenu(MAIL, "�q�l�l��", 'R', maillist); + domenu(MAIL, SHM->i18nstr[cuser.language][1501], 'R', maillist); return 0; } int Talk() { - domenu(TMENU, "��ѻ���", 'U', talklist); + domenu(TMENU, SHM->i18nstr[cuser.language][1502], 'U', talklist); return 0; } int User() { - domenu(UMENU, "�ӤH�]�w", 'A', userlist); + domenu(UMENU, SHM->i18nstr[cuser.language][1503], 'A', userlist); return 0; } int Xyz() { - domenu(XMENU, "�u��{��", 'M', xyzlist); + domenu(XMENU, SHM->i18nstr[cuser.language][1504], 'M', xyzlist); return 0; } int Play_Play() { - domenu(PMENU, "�����C�ֳ�", 'A', playlist); + domenu(PMENU, SHM->i18nstr[cuser.language][1505], 'A', playlist); return 0; } int Name_Menu() { - domenu(NMENU, "�զ⮣��", 'O', namelist); + domenu(NMENU, SHM->i18nstr[cuser.language][1506], 'O', namelist); return 0; } diff --git a/mbbsd/talk.c b/mbbsd/talk.c index 8c0c2ec3..f8bd81f1 100644 --- a/mbbsd/talk.c +++ b/mbbsd/talk.c @@ -86,9 +86,9 @@ modestring(userinfo_t * uentp, int simple) /* for debugging */ if (mode >= MAX_MODES) { syslog(LOG_WARNING, "what!? mode = %d", mode); - word = ModeTypeTable[mode % MAX_MODES]; + word = SHM->i18nstr[cuser.language][ModeTypeTable[mode % MAX_MODES]]; } else - word = ModeTypeTable[mode]; + word = SHM->i18nstr[cuser.language][ModeTypeTable[mode]]; fri_stat = friend_stat(currutmp, uentp); if (!(HAS_PERM(PERM_SYSOP) || HAS_PERM(PERM_SEECLOAK)) && ((uentp->invisible || (fri_stat & HRM)) && @@ -96,8 +96,8 @@ modestring(userinfo_t * uentp, int simple) return notonline; else if (mode == EDITING) { snprintf(modestr, sizeof(modestr), "E:%s", - ModeTypeTable[uentp->destuid < EDITING ? uentp->destuid : - EDITING]); + SHM->i18nstr[cuser.language][ModeTypeTable[uentp->destuid < EDITING ? uentp->destuid : + EDITING]]); word = modestr; } else if (!mode && *uentp->chatid == 1) { if (!simple) diff --git a/mbbsd/user.c b/mbbsd/user.c index f08a2264..577da96f 100644 --- a/mbbsd/user.c +++ b/mbbsd/user.c @@ -28,7 +28,9 @@ u_loginview() move(4, 0); for (i = 0; i < NUMVIEWFILE; i++) prints(" %c. %-20s %-15s \n", 'A' + i, - loginview_file[i][1], ((pbits >> i) & 1 ? SHM->i18nstr[cuser.language][2079] : SHM->i18nstr[cuser.language][2080])); + SHM->i18nstr[cuser.language][loginview_file[i].string_index] + , ((pbits >> i) & 1 ? SHM->i18nstr[cuser.language][2079] : + SHM->i18nstr[cuser.language][2080])); clrtobot(); while ((i = getkey(SHM->i18nstr[cuser.language][2081]))!='\r') { diff --git a/mbbsd/var.c b/mbbsd/var.c index 3ff019f0..45fb71ac 100644 --- a/mbbsd/var.c +++ b/mbbsd/var.c @@ -2,74 +2,74 @@ #define INCLUDE_VAR_H #include "bbs.h" -char *str_permid[] = { - "���v�O", /* PERM_BASIC */ - "�i�J��ѫ�", /* PERM_CHAT */ - "��H���", /* PERM_PAGE */ - "�o���峹", /* PERM_POST */ - "���U�{�ǻ{��", /* PERM_LOGINOK */ - "�H��L�W��", /* PERM_MAILLIMIT */ - "�����N", /* PERM_CLOAK */ - "�ݨ��Ԫ�", /* PERM_SEECLOAK */ - "�ä[�O�d�b��", /* PERM_XEMPT */ - "���������N", /* PERM_DENYPOST */ - "�O�D", /* PERM_BM */ - "�b���`��", /* PERM_ACCOUNTS */ - "��ѫ��`��", /* PERM_CHATCLOAK */ - "�ݪO�`��", /* PERM_BOARD */ - "����", /* PERM_SYSOP */ - "BBSADM", /* PERM_POSTMARK */ - "���C�J�Ʀ�]", /* PERM_NOTOP */ - "�H�k�q�r��", /* PERM_VIOLATELAW */ - "���������~���H", /* PERM_ */ - "�����\\�{�ҽX���U", /* PERM_NOREGCODE */ - "��ı����", /* PERM_VIEWSYSOP */ - "�[��ϥΪ̦���", /* PERM_LOGUSER */ - "��ذ��`��z�v", /* PERM_Announce */ - "������", /* PERM_RELATION */ - "�S�Ȳ�", /* PERM_SMG */ - "�{����", /* PERM_PRG */ - "���ʲ�", /* PERM_ACTION */ - "���u��", /* PERM_PAINT */ - "�ߪk��", /* PERM_LAW */ - "�p�ժ�", /* PERM_SYSSUBOP */ - "�@�ťD��", /* PERM_LSYSOP */ - "�ޢ���" /* PERM_PTT */ +int str_permid[] = { + 2572, /* PERM_BASIC */ + 2573, /* PERM_CHAT */ + 2574, /* PERM_PAGE */ + 2575, /* PERM_POST */ + 2576, /* PERM_LOGINOK */ + 2577, /* PERM_MAILLIMIT */ + 2578, /* PERM_CLOAK */ + 2579, /* PERM_SEECLOAK */ + 2580, /* PERM_XEMPT */ + 2581, /* PERM_DENYPOST */ + 2582, /* PERM_BM */ + 2583, /* PERM_ACCOUNTS */ + 2584, /* PERM_CHATCLOAK */ + 2585, /* PERM_BOARD */ + 2586, /* PERM_SYSOP */ + 3440, /* PERM_POSTMARK */ + 2587, /* PERM_NOTOP */ + 2588, /* PERM_VIOLATELAW */ + 2589, /* PERM_ */ + 2590, /* PERM_NOREGCODE */ + 2591, /* PERM_VIEWSYSOP */ + 2592, /* PERM_LOGUSER */ + 2593, /* PERM_Announce */ + 2594, /* PERM_RELATION */ + 2595, /* PERM_SMG */ + 2596, /* PERM_PRG */ + 2597, /* PERM_ACTION */ + 2598, /* PERM_PAINT */ + 2599, /* PERM_LAW */ + 2600, /* PERM_SYSSUBOP */ + 2601, /* PERM_LSYSOP */ + 2602 /* PERM_PTT */ }; -char *str_permboard[] = { - "���i Zap", /* BRD_NOZAP */ - "���C�J�έp", /* BRD_NOCOUNT */ - "����H", /* BRD_NOTRAN */ - "�s�ժO", /* BRD_GROUPBOARD */ - "���êO", /* BRD_HIDE */ - "����(���ݳ]�w)", /* BRD_POSTMASK */ - "�ΦW�O", /* BRD_ANONYMOUS */ - "�w�]�ΦW�O", /* BRD_DEFAULTANONYMOUS */ - "�H�k��i���ݪO", /* BRD_BAD */ - "�s�p�M�άݪO", /* BRD_VOTEBOARD */ - "�wĵ�i�n�o��", /* BRD_WARNEL */ - "�����ݪO�s��", /* BRD_TOP */ - "���i����", /* BRD_NORECOMMEND */ - "������", /* BRD_BLOG */ - "�O�D�]�w�C�J�O��", /* BRD_BMCOUNT */ - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", - "�S�Q��", +int str_permboard[] = { + 2603, /* BRD_NOZAP */ + 2604, /* BRD_NOCOUNT */ + 2605, /* BRD_NOTRAN */ + 2606, /* BRD_GROUPBOARD */ + 2607, /* BRD_HIDE */ + 2608, /* BRD_POSTMASK */ + 2609, /* BRD_ANONYMOUS */ + 2610, /* BRD_DEFAULTANONYMOUS */ + 2611, /* BRD_BAD */ + 2612, /* BRD_VOTEBOARD */ + 2613, /* BRD_WARNEL */ + 2614, /* BRD_TOP */ + 2615, /* BRD_NORECOMMEND */ + 2616, /* BRD_BLOG */ + 2617, /* BRD_BMCOUNT */ + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, }; int usernum; @@ -121,21 +121,21 @@ char *fn_proverb = "proverb"; /* are descript in userec.loginview */ -char *loginview_file[NUMVIEWFILE][2] = { - {FN_NOTE_ANS, "�IJ��W���y���O"}, - {FN_TOPSONG, "�I�q�Ʀ�]"}, - {"etc/topusr", "�Q�j�Ʀ�]"}, - {"etc/topusr100", "�ʤj�Ʀ�]"}, - {"etc/birth.today", "����جP"}, - {"etc/weather.tmp", "�Ѯ�ֳ�"}, - {"etc/stock.tmp", "�ѥ��ֳ�"}, - {"etc/day", "����Q�j���D"}, - {"etc/week", "�@�g���Q�j���D"}, - {"etc/today", "���ѤW���H��"}, - {"etc/yesterday", "�Q��W���H��"}, - {"etc/history", "���v�W������"}, - {"etc/topboardman", "��ذϱƦ�]"}, - {"etc/topboard.tmp", "�ݪO�H��Ʀ�]"} +loginview_file_t loginview_file[] = { + {FN_NOTE_ANS, 2635}, + {FN_TOPSONG, 2636}, + {"etc/topusr", 2637}, + {"etc/topusr100", 2638}, + {"etc/birth.today", 2639}, + {"etc/weather.tmp", 2640}, + {"etc/stock.tmp", 2641}, + {"etc/day", 2642}, + {"etc/week", 2643}, + {"etc/today", 2644}, + {"etc/yesterday", 2645}, + {"etc/history", 2646}, + {"etc/topboardman", 2647}, + {"etc/topboard.tmp", 2648} }; /* message */ @@ -179,136 +179,134 @@ char *BBSName = BBSNAME; /* #define MAX_MODES 78 */ /* MAX_MODES is defined in common.h */ -char *ModeTypeTable[MAX_MODES] = { - "�o�b", /* IDLE */ - "�D���", /* MMENU */ - "�t�κ��@", /* ADMIN */ - "�l����", /* MAIL */ - "��Ϳ��", /* TMENU */ - "�ϥΪ̿��", /* UMENU */ - "XYZ ���", /* XMENU */ - "�����ݪO", /* CLASS */ - "Play���", /* PMENU */ - "�s�S�O�W��", /* NMENU */ - "��tt�q�c��", /* PSALE */ - "�o���峹", /* POSTING */ - "�ݪO�C��", /* READBRD */ - "�\\Ū�峹", /* READING */ - "�s�峹�C��", /* READNEW */ - "��ܬݪO", /* SELECT */ - "Ū�H", /* RMAIL */ - "�g�H", /* SMAIL */ - "��ѫ�", /* CHATING */ - "��L", /* XMODE */ - "�M��n��", /* FRIEND */ - "�W�u�ϥΪ�", /* LAUSERS */ - "�ϥΪ̦W��", /* LUSERS */ - "�l�ܯ���", /* MONITOR */ - "�I�s", /* PAGE */ - "�d��", /* TQUERY */ - "���", /* TALK */ - "�s�W����", /* EDITPLAN */ - "�sñ�W��", /* EDITSIG */ - "�벼��", /* VOTING */ - "�]�w���", /* XINFO */ - "�H������", /* MSYSOP */ - "�L�L�L", /* WWW */ - "���j�ѤG", /* BIG2 */ - "�^��", /* REPLY */ - "�Q���y����", /* HIT */ - "���y�dzƤ�", /* DBACK */ - "���O��", /* NOTE */ - "�s��峹", /* EDITING */ - "�o�t�γq�i", /* MAILALL */ - "�N���", /* MJ */ - "�q���ܤ�", /* P_FRIEND */ - "�W���~��", /* LOGIN */ - "�d�r��", /* DICT */ - "�����P", /* BRIDGE */ - "���ɮ�", /* ARCHIE */ - "���a��", /* GOPHER */ - "��News", /* NEWS */ - "���Ѳ��;�", /* LOVE */ - "�s�軲�U��", /* EDITEXP */ - "�ӽ�IP��}", /* IPREG */ - "���줽��", /* NetAdm */ - "������~�{", /* DRINK */ - "�p���", /* CAL */ - "�s��y�k��", /* PROVERB */ - "���G��", /* ANNOUNCE */ - "��y���O", /* EDNOTE */ - "�^�~½Ķ��", /* CDICT */ - "�˵��ۤv���~", /* LOBJ */ - "�I�q", /* OSONG */ - "���b���p��", /* CHICKEN */ - "���m��", /* TICKET */ - "�q�Ʀr", /* GUESSNUM */ - "�C�ֳ�", /* AMUSE */ - "�¥մ�", /* OTHELLO */ - "����l", /* DICE */ - "�o�����", /* VICE */ - "�G�G��ing", /* BBCALL */ - "ú�@��", /* CROSSPOST */ - "���l��", /* M_FIVE */ - "21�Iing", /* JACK_CARD */ - "10�I�bing", /* TENHALF */ - "�W�ŤE�Q�E", /* CARD_99 */ - "�����d��", /* RAIL_WAY */ - "�j�M���", /* SREG */ - "�U�H��", /* CHC */ - "�U�t�X", /* DARK */ - "NBA�j�q��" /* TMPJACK */ - "��tt�d�]�t��", /* JCEE */ - "���s�峹" /* REEDIT */ - "������", /* BLOGGING */ - "", /* for future usage */ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" +int ModeTypeTable[MAX_MODES] = { + 2649, /* IDLE */ + 2650, /* MMENU */ + 2651, /* ADMIN */ + 2652, /* MAIL */ + 2653, /* TMENU */ + 2654, /* UMENU */ + 2655, /* XMENU */ + 2656, /* CLASS */ + 2657, /* PMENU */ + 2658, /* NMENU */ + 2659, /* PSALE */ + 2660, /* POSTING */ + 2661, /* READBRD */ + 2662, /* READING */ + 2663, /* READNEW */ + 2664, /* SELECT */ + 2665, /* RMAIL */ + 2666, /* SMAIL */ + 2667, /* CHATING */ + 2668, /* XMODE */ + 2669, /* FRIEND */ + 2670, /* LAUSERS */ + 2671, /* LUSERS */ + 2672, /* MONITOR */ + 2673, /* PAGE */ + 2674, /* TQUERY */ + 2675, /* TALK */ + 2676, /* EDITPLAN */ + 2677, /* EDITSIG */ + 2678, /* VOTING */ + 2679, /* XINFO */ + 2680, /* MSYSOP */ + 2681, /* WWW */ + 2682, /* BIG2 */ + 2683, /* REPLY */ + 2684, /* HIT */ + 2685, /* DBACK */ + 2686, /* NOTE */ + 2687, /* EDITING */ + 2688, /* MAILALL */ + 2689, /* MJ */ + 2690, /* P_FRIEND */ + 2691, /* LOGIN */ + 2692, /* DICT */ + 2693, /* BRIDGE */ + 2694, /* ARCHIE */ + 2695, /* GOPHER */ + 2696, /* NEWS */ + 2697, /* LOVE */ + 2698, /* EDITEXP */ + 2699, /* IPREG */ + 2700, /* NetAdm */ + 2701, /* DRINK */ + 2702, /* CAL */ + 2703, /* PROVERB */ + 2704, /* ANNOUNCE */ + 2705, /* EDNOTE */ + 2706, /* CDICT */ + 2707, /* LOBJ */ + 2708, /* OSONG */ + 2709, /* CHICKEN */ + 2710, /* TICKET */ + 2711, /* GUESSNUM */ + 2712, /* AMUSE */ + 2713, /* OTHELLO */ + 2714, /* DICE */ + 2715, /* VICE */ + 2716, /* BBCALL */ + 2717, /* CROSSPOST */ + 2718, /* M_FIVE */ + 2719, /* JACK_CARD */ + 2720, /* TENHALF */ + 2721, /* CARD_99 */ + 2722, /* RAIL_WAY */ + 2723, /* SREG */ + 2724, /* CHC */ + 2725, /* DARK */ + 2726, /* TMPJACK */ + 2727, /* JCEE */ + 2728, /* REEDIT */ + 2729, /* BLOGGING */ + 0, /* for future usage */ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 }; /* term.c */ @@ -598,18 +596,18 @@ word_t *toplev; #ifndef _BBS_UTIL_C_ /* menu.c */ commands_t cmdlist[] = { - {admin, PERM_SYSOP | PERM_VIEWSYSOP, "00Admin �i �t�κ��@�� �j"}, - {Announce, 0, "AAnnounce �i ��ؤ��G�� �j"}, - {Boards, 0, "FFavorite �i �� �� �̷R �j"}, - {root_board, 0, "CClass �i ���հQ�װ� �j"}, - {Mail, PERM_BASIC, "MMail �i �p�H�H��� �j"}, - {Talk, 0, "TTalk �i ��Ѱ� �j"}, - {User, 0, "UUser �i �ӤH�]�w�� �j"}, - {Xyz, 0, "XXyz �i �t�Τu��� �j"}, - {Play_Play, PERM_BASIC, "PPlay �i �T��/�ͬ��j"}, - {Name_Menu, PERM_LOGINOK, "NNamelist �i �s�S�O�W�� �j"}, - {Goodbye, 0, "GGoodbye ���}�A�A���K�K"}, - {NULL, 0, NULL} + {admin, PERM_SYSOP | PERM_VIEWSYSOP, 2730}, + {Announce, 0, 2731}, + {Boards, 0, 2732}, + {root_board, 0, 2733}, + {Mail, PERM_BASIC, 2734}, + {Talk, 0, 2735}, + {User, 0, 2736}, + {Xyz, 0, 2737}, + {Play_Play, PERM_BASIC, 2738}, + {Name_Menu, PERM_LOGINOK, 2739}, + {Goodbye, 0, 2740}, + {NULL, 0, 0} }; #endif |