diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2007-12-05 16:07:51 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2007-12-05 16:07:51 +0800 |
commit | c7a85922f032c2b1913761f0530c2a53e9f2aebd (patch) | |
tree | b00afafbe148745c177dec7113755b7d9275c6a8 /mbbsd | |
parent | e739dbc353e9733a402dbef8d44985a608679ee4 (diff) | |
download | pttbbs-c7a85922f032c2b1913761f0530c2a53e9f2aebd.tar pttbbs-c7a85922f032c2b1913761f0530c2a53e9f2aebd.tar.gz pttbbs-c7a85922f032c2b1913761f0530c2a53e9f2aebd.tar.bz2 pttbbs-c7a85922f032c2b1913761f0530c2a53e9f2aebd.tar.lz pttbbs-c7a85922f032c2b1913761f0530c2a53e9f2aebd.tar.xz pttbbs-c7a85922f032c2b1913761f0530c2a53e9f2aebd.tar.zst pttbbs-c7a85922f032c2b1913761f0530c2a53e9f2aebd.zip |
pmore: message abstraction for localization
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3636 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/pmore.c | 85 |
1 files changed, 63 insertions, 22 deletions
diff --git a/mbbsd/pmore.c b/mbbsd/pmore.c index 5907f264..6efcc30a 100644 --- a/mbbsd/pmore.c +++ b/mbbsd/pmore.c @@ -26,24 +26,26 @@ * - Unlimited file length and line numbers * * TODO AND DONE: + * - [2005, Initial Release] * - Optimized speed up with Scroll supporting [done] - * - Support PTT_PRINTS [done] * - Wrap long lines [done] + * - Left-right wide navigation [done] * - DBCS friendly wrap [done] + * - Reenrtance for main procedure [done] + * - Support PTT_PRINTS [done] * - ASCII Art movie support [done] - * - Left-right wide navigation [done] - * - Reenrtance for main procedure [done with little hack] - * - A new optimized terminal base system (piterm) [dropped] * - ASCII Art movie navigation keys [pending] + * - A new optimized terminal base system (piterm) [dropped] * - - * - [2007, Movie Enhancement] + * - [2007, Interactive Movie Enhancement] * - New Invisible Frame Header Code [done] * - Playback Control (pause, stop, skip) [done] * - Interactive Movie (Hyper-text) [done] - * - Preference System (like I in boards) [done] + * - Preference System (like board-conf) [done] + * - * - Support Anti-anti-idle (ex, PCMan sends up-down) * - Traditional Movie Compatible Mode - * - Better help system + * - Better help system [pending] * - Virtual Contatenate [pending] * - Drop ANSI between DBCS words if outputing UTF8 [drop] (or if user request) */ @@ -68,6 +70,30 @@ #define PMORE_OVERRIDE_TIME // override time format if possible // -------------------------------------------------------------- </FEATURES> +// ----------------------------------------------------------- <LOCALIZATION> +// Messages for localization are listed here. +#define PMORE_MSG_WARN_FAKEUSERINFO \ + " ▲此頁內容會依閱\讀者不同,原文未必有您的資料 " +#define PMORE_MSG_SEARCH_KEYWORD \ + "[搜尋]關鍵字:" + +#define PMORE_MSG_MOVIE_DETECTED \ + " ☆ 這份文件是可播放的文字動畫,要開始播放嗎? [Y/n]" +#define PMORE_MSG_MOVIE_PLAYOLD_GETTIME \ + "這可能是傳統動畫檔, 若要直接播放請輸入速度(秒): " +#define PMORE_MSG_MOVIE_PLAYOLD_AS24L \ + "傳統動畫是以 24 行為單位設計的, 要模擬 24 行嗎? (否則會用現在的行數)[Yn] " +#define PMORE_MSG_MOVIE_PAUSE \ + " >>> 暫停播放動畫,請按任意鍵繼續。 <<<" +#define PMORE_MSG_MOVIE_PLAYING \ + " >>> 動畫播放中... 可按 q, Ctrl-C 或其它任意鍵停止"; +#define PMORE_MSG_MOVIE_INTERACTION_PLAYING \ + " >>> 互動式動畫播放中... 可按 q 或 Ctrl-C 停止"; +#define PMORE_MSG_MOVIE_INTERACTION_STOPPED \ + "已強制中斷互動式系統" + +// ----------------------------------------------------------- <LOCALIZATION> + #include "bbs.h" #include <unistd.h> @@ -1331,8 +1357,7 @@ mf_display() if(strchr("sbmlpn", buf[2]) != NULL) { override_attr = ANSI_COLOR(1;37;41); - override_msg = " 注意: 此頁有控制碼," - "原內容並不一定有您真實個人資訊"; + override_msg = PMORE_MSG_WARN_FAKEUSERINFO; } Ptt_prints(buf, sizeof(buf), NO_RELOAD); // result in buf } @@ -1736,8 +1761,7 @@ pmore(char *fpath, int promptend) // query if user wants to play movie. int w = t_columns-1; - const char *s = - " ☆ 這份文件是可播放的文字動畫,要開始播放嗎? [Y/n]"; + const char *s = PMORE_MSG_MOVIE_DETECTED; outs(ANSI_RESET ANSI_COLOR(1;33;44)); w -= strlen(s); outs(s); @@ -2179,7 +2203,7 @@ pmore(char *fpath, int promptend) sr.search_str = NULL; } - getdata(b_lines - 1, 0, "[搜尋]關鍵字:", sbuf, + getdata(b_lines - 1, 0, PMORE_MSG_SEARCH_KEYWORD, sbuf, 40, DOECHO); if (sbuf[0]) { @@ -2274,6 +2298,26 @@ pmore(char *fpath, int promptend) return 0; } break; + +#define PMORE_NOTIFY_NEWPREF +#ifdef PMORE_NOTIFY_NEWPREF + //let's be backward compatible! + case '\\': + case '|': + case 'l': + case 'w': + case 'W': + { + static int notifyChanged = 0; + if (!notifyChanged) + { + notifyChanged = 1; + vmsg("這個按鍵已整合進新的設定 (o) 了"); + } + } + // not break; +#endif // PMORE_NOTIFY_NEWPREF + case 'o': pmore_Preference(); MFDISP_DIRTY(); @@ -2302,9 +2346,7 @@ pmore(char *fpath, int promptend) */ pmore_clrtoeol(b_lines-1, 0); getdata_buf(b_lines - 1, 0, - "這可能是傳統動畫檔, " - "若要直接播放請輸入速度(秒): " - , + PMORE_MSG_MOVIE_PLAYOLD_GETTIME, buf, 8, LCECHO); if(buf[0]) @@ -2322,9 +2364,8 @@ pmore(char *fpath, int promptend) char ans[4]; pmore_clrtoeol(b_lines-1, 0); getdata(b_lines - 1, 0, - "傳統動畫是以 24 行為單位設計的, " - "要模擬 24 行嗎? (否則會用現在的行數)[Yn] " - , ans, 3, LCECHO); + PMORE_MSG_MOVIE_PLAYOLD_AS24L, + ans, 3, LCECHO); if(ans[0] == 'n') mfmovie.compat24 = 0; else @@ -2593,7 +2634,7 @@ mf_moviePromptPlaying(int type) { int w = t_columns - 1; // s may change to anykey... - const char *s = " >>> 動畫播放中... 可按 q, Ctrl-C 或其它任意鍵停止"; + const char *s = PMORE_MSG_MOVIE_PLAYING; move(type ? b_lines-1 : b_lines, 0); // clrtoeol? @@ -2605,7 +2646,7 @@ mf_moviePromptPlaying(int type) else if (mfmovie.interactive) { outs(ANSI_RESET ANSI_COLOR(1;34;47)); - s = " >>> 互動式動畫播放中... 可按 q 或 Ctrl-C 停止"; + s = PMORE_MSG_MOVIE_INTERACTION_PLAYING; } else { outs(ANSI_RESET ANSI_COLOR(1;30;47)); } @@ -3190,7 +3231,7 @@ mf_movieOptionHandler(unsigned char *opt, unsigned char *end) // cannot be masked, // also force stop of playback STOP_MOVIE(); - vmsg("已強制中斷互動式系統。"); + vmsg(PMORE_MSG_MOVIE_INTERACTION_STOPPED); return 0; } @@ -3249,7 +3290,7 @@ int mf_movieSyncFrame() if (mfmovie.pause) { mfmovie.pause = 0; - vmsg(" >>> 暫停播放動畫,請按任意鍵繼續。 <<<"); + vmsg(PMORE_MSG_MOVIE_PAUSE); return 1; } else if (mfmovie.options) |