summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mbbsd/Makefile2
-rw-r--r--mbbsd/admin.c6
-rw-r--r--mbbsd/cal.c6
-rw-r--r--mbbsd/mbbsd.c2
-rw-r--r--mbbsd/menu.c286
-rw-r--r--mbbsd/talk.c8
-rw-r--r--mbbsd/user.c4
-rw-r--r--mbbsd/var.c444
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