[jnh-cvs 457] CVS update: jnethack/src

Back to archive index

Kentaro Shirakata argra****@users*****
2005年 6月 5日 (日) 18:02:48 JST


Index: jnethack/src/options.c
diff -u jnethack/src/options.c:1.13 jnethack/src/options.c:1.14
--- jnethack/src/options.c:1.13	Tue Apr 26 04:21:43 2005
+++ jnethack/src/options.c	Sun Jun  5 18:02:47 2005
@@ -210,15 +210,34 @@
 			 * a different format */
 	int optflags;
 } compopt[] = {
+#if 0 /*JP*/
 	{ "align",    "your starting alignment (lawful, neutral, or chaotic)",
 						8, DISP_IN_GAME },
 	{ "align_message", "message window alignment", 20, DISP_IN_GAME }, 	/*WC*/
 	{ "align_status", "status window alignment", 20, DISP_IN_GAME }, 	/*WC*/
 	{ "altkeyhandler", "alternate key handler", 20, DISP_IN_GAME },
+#else /*JP*/
+	{ "align",    "ゲームスタート時の属性 (lawful, neutral, or chaoticのいずれか)",
+						8, DISP_IN_GAME },
+	{ "align_message", "メッセージウィンドウの揃え", 20, DISP_IN_GAME }, 	/*WC*/
+	{ "align_status", "状況ウィンドウの揃え", 20, DISP_IN_GAME }, 	/*WC*/
+	{ "altkeyhandler", "ALTキーハンドラ", 20, DISP_IN_GAME },
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "boulder",  "the symbol to use for displaying boulders",
 						1, SET_IN_GAME },
+#else /*JP*/
+	{ "boulder",  "巨岩を表示するシンボル文字",
+						1, SET_IN_GAME },
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "catname",  "the name of your (first) cat (e.g., catname:Tabby)",
 						PL_PSIZ, DISP_IN_GAME },
+#else /*JP*/
+	{ "catname",  "冒険を供にする(最初の)猫の名前 (例 catname:たま)",
+						PL_PSIZ, DISP_IN_GAME },
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "disclose", "the kinds of information to disclose at end of game",
 						sizeof(flags.end_disclose) * 2,
 						SET_IN_GAME },
@@ -226,8 +245,23 @@
 						PL_PSIZ, DISP_IN_GAME },
 	{ "dungeon",  "the symbols to use in drawing the dungeon map",
 						MAXDCHARS+1, SET_IN_FILE },
+#else /*JP*/
+	{ "disclose", "ゲーム終了時に見る情報の種類",
+						sizeof(flags.end_disclose) * 2,
+						SET_IN_GAME },
+	{ "dogname",  "冒険を供にする(最初の)犬の名前 (例 dogname:ポチ)",
+						PL_PSIZ, DISP_IN_GAME },
+	{ "dungeon",  "ダンジョンを描画するシンボル文字",
+						MAXDCHARS+1, SET_IN_FILE },
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "effects",  "the symbols to use in drawing special effects",
 						MAXECHARS+1, SET_IN_FILE },
+#else /*JP*/
+	{ "effects",  "特殊効果を描画するシンボル文字",
+						MAXECHARS+1, SET_IN_FILE },
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "font_map", "the font to use in the map window", 40, DISP_IN_GAME },	/*WC*/
 	{ "font_menu", "the font to use in menus", 40, DISP_IN_GAME },		/*WC*/
 	{ "font_message", "the font to use in the message window",
@@ -241,10 +275,35 @@
 	{ "font_text", "the font to use in text windows", 40, DISP_IN_GAME },	/*WC*/
 	{ "fruit",    "the name of a fruit you enjoy eating",
 						PL_FSIZ, SET_IN_GAME },
+#else /*JP*/
+	{ "font_map", "マップウィンドウに使用するフォント", 40, DISP_IN_GAME },	/*WC*/
+	{ "font_menu", "メニューに使用するフォント", 40, DISP_IN_GAME },	/*WC*/
+	{ "font_message", "メッセージウィンドウに使用するフォント",
+						40, DISP_IN_GAME },		/*WC*/
+	{ "font_size_map", "マップフォントのサイズ", 20, DISP_IN_GAME },	/*WC*/
+	{ "font_size_menu", "メニューフォントのサイズ", 20, DISP_IN_GAME },	/*WC*/
+	{ "font_size_message", "メッセージフォントのサイズ", 20, DISP_IN_GAME },	/*WC*/
+	{ "font_size_status", "状況フォントのサイズ", 20, DISP_IN_GAME },	/*WC*/
+	{ "font_size_text", "テキストフォントのサイズ", 20, DISP_IN_GAME },	/*WC*/
+	{ "font_status", "状況ウィンドウに使用するフォント", 40, DISP_IN_GAME }, /*WC*/
+	{ "font_text", "テキストウィンドウに使用するフォント", 40, DISP_IN_GAME },	/*WC*/
+	{ "fruit",    "好物の果物の名前",	PL_FSIZ, SET_IN_GAME },
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "gender",   "your starting gender (male or female)",
 						8, DISP_IN_GAME },
+#else /*JP*/
+	{ "gender",   "ゲーム開始時の性別(male または female)",
+						8, DISP_IN_GAME },
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "horsename", "the name of your (first) horse (e.g., horsename:Silver)",
 						PL_PSIZ, DISP_IN_GAME },
+#else /*JP*/
+	{ "horsename", "冒険を供にする(最初の)馬の名前 (例 ghoulname:シルバー)",
+						PL_PSIZ, DISP_IN_GAME },
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "map_mode", "map display mode under Windows", 20, DISP_IN_GAME },	/*WC*/
 	{ "menustyle", "user interface for object selection",
 						MENUTYPELEN, SET_IN_GAME },
@@ -273,13 +332,61 @@
 # else
 	{"msg_window", "the type of message window required", 1, SET_IN_FILE},
 # endif
+#else /*JP*/
+	{ "map_mode", "ウィンドウ表示時のマップの表示モード", 20, DISP_IN_GAME },	/*WC*/
+        { "menucolor", "メニューの色設定", PL_PSIZ, SET_IN_FILE },
+	{ "menustyle", "オブジェクトを選択するときのユーザーインタフェース",
+						MENUTYPELEN, SET_IN_GAME },
+	{ "menu_deselect_all", "全てのアイテムを非選択", 4, SET_IN_FILE },
+	{ "menu_deselect_page", "現在表示されているページのアイテムを非選択",
+						4, SET_IN_FILE },
+	{ "menu_first_page", "メニューの最初のページへ",
+						4, SET_IN_FILE },
+	{ "menu_headings", "強調,反転または下線で種類を表示する", 9, SET_IN_GAME },
+	{ "menu_invert_all", "全てのアイテムを反転", 4, SET_IN_FILE },
+	{ "menu_invert_page", "現在表示されているページのアイテムを反転",
+						4, SET_IN_FILE },
+	{ "menu_last_page", "メニューの最後のページへ", 4, SET_IN_FILE },
+	{ "menu_next_page", "次のメニューのページへ", 4, SET_IN_FILE },
+	{ "menu_previous_page", "前のメニューのページへ", 4, SET_IN_FILE },
+	{ "menu_search", "メニューの検索", 4, SET_IN_FILE },
+	{ "menu_select_all", "全てのアイテムを選択", 4, SET_IN_FILE },
+	{ "menu_select_page", "現在表示されている全てのアイテムを選択",
+						4, SET_IN_FILE },
+	{ "monsters", "モンスターに使用されるシンボル文字",
+						MAXMCLASSES, SET_IN_FILE },
+	{ "msghistory", "先頭行に表示されたメッセージ履歴の保存数",
+						5, DISP_IN_GAME },
+# ifdef TTY_GRAPHICS
+	{"msg_window", "メッセージウィンドウのタイプを設定",1, SET_IN_GAME},
+# else
+	{"msg_window", "メッセージウィンドウのタイプを設定", 1, SET_IN_FILE},
+# endif
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "name",     "your character's name (e.g., name:Merlin-W)",
 						PL_NSIZ, DISP_IN_GAME },
 	{ "number_pad", "use the number pad", 1, SET_IN_GAME},
+#else /*JP*/
+	{ "name",     "あなたの名前 (例 name:マーリン-W)",
+						PL_NSIZ, DISP_IN_GAME },
+	{ "number_pad", "ナンバーパッドを使用する", 1, SET_IN_GAME},
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "objects",  "the symbols to use for objects",
 						MAXOCLASSES, SET_IN_FILE },
+#else /*JP*/
+	{ "objects",  "アイテムに使用されるシンボル文字",
+						MAXOCLASSES, SET_IN_FILE },
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "packorder", "the inventory order of the items in your pack",
 						MAXOCLASSES, SET_IN_GAME },
+#else /*JP*/
+	{ "packorder", "背負い袋内の物の順番を決めるシンボル",
+						MAXOCLASSES, SET_IN_GAME },
+#endif /*JP*/
+#if 0 /*JP*/
 #ifdef CHANGE_COLOR
 	{ "palette",  "palette (00c/880/-fff is blue/yellow/reverse white)",
 						15 , SET_IN_GAME },
@@ -288,6 +395,17 @@
 						15, SET_IN_FILE },
 # endif
 #endif
+#else /*JP*/
+#ifdef CHANGE_COLOR
+	{ "palette",  "パレット (00c/880/-fffはそれぞれ青/黄/反転白を示す)",
+						15 , SET_IN_GAME },
+# if defined(MAC)
+	{ "hicolor",  "パレットが同じとき、指示したものだけ反転させる",
+						15, SET_IN_FILE },
+# endif
+#endif
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "pettype",  "your preferred initial pet type", 4, DISP_IN_GAME },
 	{ "pickup_burden",  "maximum burden picked up before prompt",
 						20, SET_IN_GAME },
@@ -295,12 +413,31 @@
 						MAXOCLASSES, SET_IN_GAME },
 	{ "player_selection", "choose character via dialog or prompts",
 						12, DISP_IN_GAME },
+#else /*JP*/
+	{ "pettype",  "あなたの選択した初期ペットの種類", 4, DISP_IN_GAME },
+	{ "pickup_burden",  "拾うときに最大荷重になる手前で確認する",
+						20, SET_IN_GAME },
+	{ "pickup_types", "自動で拾いあげる物のシンボル",
+						MAXOCLASSES, SET_IN_GAME },
+	{ "player_selection", "キャラクター選択にダイアログや確認画面を使う",
+						12, DISP_IN_GAME },
+#endif
+#if 0 /*JP*/
 	{ "race",     "your starting race (e.g., Human, Elf)",
 						PL_CSIZ, DISP_IN_GAME },
 	{ "role",     "your starting role (e.g., Barbarian, Valkyrie)",
 						PL_CSIZ, DISP_IN_GAME },
 	{ "runmode", "display frequency when `running' or `travelling'",
 						sizeof "teleport", SET_IN_GAME },
+#else /*JP*/
+	{ "race",     "ゲーム開始時の種族 (例 Human, Elf)",
+						PL_CSIZ, DISP_IN_GAME },
+	{ "role",     "ゲーム開始時の職業 (例 Barbarian, Valkyrie)",
+						PL_CSIZ, DISP_IN_GAME },
+	{ "runmode", "トラベルコマンド等での連続移動時の描画頻度",
+						sizeof "teleport", SET_IN_GAME },
+#endif
+#if 0 /*JP*/
 	{ "scores",   "the parts of the score list you wish to see",
 						32, SET_IN_GAME },
 	{ "scroll_amount", "amount to scroll map when scroll_margin is reached",
@@ -311,11 +448,34 @@
 #endif
 	{ "suppress_alert", "suppress alerts about version-specific features",
 						8, SET_IN_GAME },
+#else /*JP*/
+	{ "scores",   "ゲーム終了時に見るスコアの種類",
+						32, SET_IN_GAME },
+	{ "scroll_amount", "scroll_marginに届いたときのマップスクロール量",
+						20, DISP_IN_GAME }, /*WC*/
+	{ "scroll_margin", "マップ端からのマップスクロール開始距離", 20, DISP_IN_GAME }, /*WC*/
+#ifdef MSDOS
+	{ "soundcard", "使用しているサウンドカードの種類", 20, SET_IN_FILE },
+#endif
+	{ "suppress_alert", "バージョン間の違いに関する警告メッセージの無効化",
+						8, SET_IN_GAME },
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "tile_width", "width of tiles", 20, DISP_IN_GAME},	/*WC*/
 	{ "tile_height", "height of tiles", 20, DISP_IN_GAME},	/*WC*/
 	{ "tile_file", "name of tile file", 70, DISP_IN_GAME},	/*WC*/
 	{ "traps",    "the symbols to use in drawing traps",
 						MAXTCHARS+1, SET_IN_FILE },
+#else /*JP*/
+	{ "tile_width", "タイルの幅", 20, DISP_IN_GAME},	/*WC*/
+	{ "tile_height", "タイルの高さ", 20, DISP_IN_GAME},	/*WC*/
+	{ "tile_file", "タイルファイルの名前", 70, DISP_IN_GAME},	/*WC*/
+	{ "tileset",  "あらかじめ設定されたタイルセット名を使用する",
+						PL_PSIZ, SET_IN_GAME },
+	{ "traps",    "罠を描画するシンボル文字",
+						MAXTCHARS+1, SET_IN_FILE },
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "vary_msgcount", "show more old messages at a time", 20, DISP_IN_GAME }, /*WC*/
 #ifdef MSDOS
 	{ "video",    "method of video updating", 20, SET_IN_FILE },
@@ -329,9 +489,30 @@
 #ifdef WIN32CON
 	{"subkeyvalue", "override keystroke value", 7, SET_IN_FILE},
 #endif
+#else /*JP*/
+	{ "vary_msgcount", "一度に表示するメッセージの数", 20, DISP_IN_GAME }, /*WC*/
+#ifdef MSDOS
+	{ "video",    "使用するビデオモードを設定する", 20, SET_IN_FILE },
+#endif
+#ifdef VIDEOSHADES
+	{ "videocolors", "内蔵スクリーンルーチン用のカラーマップを用いる",
+						40, DISP_IN_GAME },
+	{ "videoshades", "表示にグレイスケールを用いる",
+						32, DISP_IN_GAME },
+#endif
+#ifdef WIN32CON
+	{"subkeyvalue", "キーマッピングを変更する", 7, SET_IN_FILE},
+#endif
+#endif /*JP*/
+#if 0 /*JP*/
 	{ "windowcolors",  "the foreground/background colors of windows",	/*WC*/
 						80, DISP_IN_GAME },
 	{ "windowtype", "windowing system to use", WINTYPELEN, DISP_IN_GAME },
+#else /*JP*/
+	{ "windowcolors",  "ウィンドウを指定した前景色/背景色で表示する",	/*WC*/
+						80, DISP_IN_GAME },
+	{ "windowtype", "使用するウインドウシステム", WINTYPELEN, DISP_IN_GAME },
+#endif /*JP*/
 #if 1 /*JP*/
 	{ "kcode", "端末の漢字コード,", 4, SET_IN_FILE },
 #endif
@@ -1069,7 +1250,11 @@
 			    preferred_pet = 'n';
 			    break;
 			default:
+#if 0 /*JP*/
 			    pline("Unrecognized pet type '%s'.", op);
+#else
+			    pline("'%s'はペットの種類として受け付けられません.", op);
+#endif
 			    break;
 		    }
 		} else if (negated) preferred_pet = 'n';
@@ -1686,8 +1871,13 @@
 		    if (flags.menu_style == MENU_TRADITIONAL ||
 			    flags.menu_style == MENU_COMBINATION) {
 			use_menu = FALSE;
+#if 0 /*JP*/
 			Sprintf(qbuf, "New pickup_types: [%s am] (%s)",
 				ocl, *tbuf ? tbuf : "all");
+#else
+			Sprintf(qbuf, "新しいpickup_typeを入力してください:[%s am] (%s)",
+				ocl, *tbuf ? tbuf : "all");
+#endif
 			getlin(qbuf, abuf);
 			op = mungspaces(abuf);
 			if (abuf[0] == '\0' || abuf[0] == '\033')
@@ -1696,8 +1886,13 @@
 			    use_menu = TRUE;
 		    }
 		    if (use_menu) {
+#if 0 /*JP*/
 			(void) choose_classes_menu("Auto-Pickup what?", 1,
 						   TRUE, ocl, tbuf);
+#else
+			(void) choose_classes_menu("どれを自動拾いに設定しますか?", 1,
+						   TRUE, ocl, tbuf);
+#endif
 			op = tbuf;
 		    }
 		}
@@ -2281,12 +2476,21 @@
 };
 
 static NEARDATA const char *burdentype[] = {
+#if 0 /*JP*/
 	"unencumbered", "burdened", "stressed",
 	"strained", "overtaxed", "overloaded"
+#else
+	"通常", "よろめき", "圧迫",
+	"限界", "荷重", "超過"
+#endif
 };
 
 static NEARDATA const char *runmodes[] = {
+#if 0 /*JP*/
 	"teleport", "run", "walk", "crawl"
+#else
+	"一瞬", "走る", "歩く", "這う"
+#endif
 };
 
 /*
@@ -2409,8 +2613,13 @@
 	start_menu(tmpwin);
 
 	any.a_void = 0;
+#if 0 /*JP*/
  add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
 		 "Booleans (selecting will toggle value):", MENU_UNSELECTED);
+#else
+	add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
+		 "真偽オプション (選択すると値が切り替わります):", MENU_UNSELECTED);
+#endif
 	any.a_int = 0;
 	/* first list any other non-modifiable booleans, then modifiable ones */
 	for (pass = 0; pass <= 1; pass++)
@@ -2443,9 +2652,15 @@
 	indexoffset = boolcount;
 	any.a_void = 0;
 	add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
+#if 0 /*JP*/
  add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
 		 "Compounds (selecting will prompt for new value):",
 		 MENU_UNSELECTED);
+#else
+	add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
+		 "文字列オプション (選択すると新しい値の入力を求めます):",
+		 MENU_UNSELECTED);
+#endif
 
 	startpass = DISP_IN_GAME;
 	endpass = SET_IN_GAME;
@@ -2487,8 +2702,13 @@
 		}
 #ifdef AUTOPICKUP_EXCEPTIONS
 	any.a_int = -1;
+#if 0 /*JP*/
 	Sprintf(buf, "autopickup exceptions (%d currently set)",
 		count_ape_maps((int *)0, (int *)0));
+#else
+	Sprintf(buf, "自動拾いの対象外 (現在の設定数:%d)",
+		count_ape_maps((int *)0, (int *)0));
+#endif /*JP*/
 	add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, buf, MENU_UNSELECTED);
 
 #endif /* AUTOPICKUP_EXCEPTIONS */
@@ -2500,7 +2720,11 @@
 	for (i = 0; i < PREFIX_COUNT; i++)
 		doset_add_menu(tmpwin, fqn_prefix_names[i], 0);
 #endif
+#if 0 /*JP*/
 	end_menu(tmpwin, "Set what options?");
+#else
+	end_menu(tmpwin, "どのオプションを設定しますか?");
+#endif
 	need_redraw = FALSE;
 	if ((pick_cnt = select_menu(tmpwin, PICK_ANY, &pick_list)) > 0) {
 	    /*
@@ -2531,7 +2755,11 @@
 
 		    if (!special_handling(compopt[opt_indx].name,
 							setinitial, fromfile)) {
+#if 0 /*JP*/
 			Sprintf(buf, "Set %s to what?", compopt[opt_indx].name);
+#else
+			Sprintf(buf, "%sに何を設定しますか?", compopt[opt_indx].name);
+#endif
 			getlin(buf, buf2);
 			if (buf2[0] == '\033')
 			    continue;
@@ -2584,7 +2812,11 @@
 		add_menu(tmpwin, NO_GLYPH, &any, *style_name, 0,
 			 ATR_NONE, style_name, MENU_UNSELECTED);
         }
+#if 0 /*JP*/
 	end_menu(tmpwin, "Select menustyle:");
+#else
+	end_menu(tmpwin, "メニュースタイルを選択してください:");
+#endif
 	if (select_menu(tmpwin, PICK_ONE, &style_pick) > 0) {
 		flags.menu_style = style_pick->item.a_int - 1;
 		free((genericptr_t)style_pick);
@@ -2602,7 +2834,11 @@
 		add_menu(tmpwin, NO_GLYPH, &any, burden_letters[i], 0,
 			 ATR_NONE, burden_name, MENU_UNSELECTED);
         }
+#if 0 /*JP*/
 	end_menu(tmpwin, "Select encumbrance level:");
+#else
+	end_menu(tmpwin, "警告を出す荷重レベルを選択してください:");
+#endif
 	if (select_menu(tmpwin, PICK_ONE, &burden_pick) > 0) {
 		flags.pickup_burden = burden_pick->item.a_int - 1;
 		free((genericptr_t)burden_pick);
@@ -2621,7 +2857,11 @@
          * must correspond to disclosure_options in decl.h
          */
 	static const char *disclosure_names[] = {
+#if 0 /*JP*/
 		"inventory", "attributes", "vanquished", "genocides", "conduct"
+#else
+		"所持アイテム", "最終属性", "殺害一覧", "虐殺一覧", "挑戦一覧"
+#endif
 	};
 	int disc_cat[NUM_DISCLOSURE_OPTIONS];
 	const char *disclosure_name;
@@ -2635,7 +2875,11 @@
 			 ATR_NONE, disclosure_name, MENU_UNSELECTED);
 		disc_cat[i] = 0;
         }
+#if 0 /*JP*/
 	end_menu(tmpwin, "Change which disclosure options categories:");
+#else
+	end_menu(tmpwin, "どのカテゴリの表示情報オプションを変更しますか:");
+#endif
 	if ((pick_cnt = select_menu(tmpwin, PICK_ANY, &disclosure_category_pick)) > 0) {
 	    for (pick_idx = 0; pick_idx < pick_cnt; ++pick_idx) {
 		opt_idx = disclosure_category_pick[pick_idx].item.a_int - 1;
@@ -2650,24 +2894,48 @@
 	    if (disc_cat[i]) {
 	    	char dbuf[BUFSZ];
 		menu_item *disclosure_option_pick = (menu_item *)0;
+#if 0 /*JP*/
 		Sprintf(dbuf, "Disclosure options for %s:", disclosure_names[i]);
+#else
+		Sprintf(dbuf, "%sの出力形式:", disclosure_names[i]);
+#endif
 	        tmpwin = create_nhwindow(NHW_MENU);
 		start_menu(tmpwin);
 		any.a_char = DISCLOSE_NO_WITHOUT_PROMPT;
+#if 0 /*JP*/
 		add_menu(tmpwin, NO_GLYPH, &any, 'a', 0,
 			ATR_NONE,"Never disclose and don't prompt", MENU_UNSELECTED);
+#else
+		add_menu(tmpwin, NO_GLYPH, &any, 'a', 0,
+			ATR_NONE,"確認せずに出力もしない", MENU_UNSELECTED);
+#endif
 		any.a_void = 0;
 		any.a_char = DISCLOSE_YES_WITHOUT_PROMPT;
+#if 0 /*JP*/
 		add_menu(tmpwin, NO_GLYPH, &any, 'b', 0,
 			ATR_NONE,"Always disclose and don't prompt", MENU_UNSELECTED);
+#else
+		add_menu(tmpwin, NO_GLYPH, &any, 'b', 0,
+			ATR_NONE,"確認せずに出力する", MENU_UNSELECTED);
+#endif
 		any.a_void = 0;
 		any.a_char = DISCLOSE_PROMPT_DEFAULT_NO;
+#if 0 /*JP*/
 		add_menu(tmpwin, NO_GLYPH, &any, 'c', 0,
 			ATR_NONE,"Prompt and default answer to \"No\"", MENU_UNSELECTED);
+#else
+		add_menu(tmpwin, NO_GLYPH, &any, 'c', 0,
+			ATR_NONE,"デフォルトを「出力しない」として確認する", MENU_UNSELECTED);
+#endif
 		any.a_void = 0;
 		any.a_char = DISCLOSE_PROMPT_DEFAULT_YES;
+#if 0 /*JP*/
 		add_menu(tmpwin, NO_GLYPH, &any, 'd', 0,
 			ATR_NONE,"Prompt and default answer to \"Yes\"", MENU_UNSELECTED);
+#else
+		add_menu(tmpwin, NO_GLYPH, &any, 'd', 0,
+			ATR_NONE,"デフォルトを「出力する」として確認する", MENU_UNSELECTED);
+#endif
 		end_menu(tmpwin, dbuf);
 		if (select_menu(tmpwin, PICK_ONE, &disclosure_option_pick) > 0) {
 			flags.end_disclose[i] = disclosure_option_pick->item.a_char;
@@ -2679,16 +2947,28 @@
 	retval = TRUE;
     } else if (!strcmp("runmode", optname)) {
 	const char *mode_name;
+#if 1 /*JP*/
+	const char *mode_letters = "trwc";
+#endif
 	menu_item *mode_pick = (menu_item *)0;
 	tmpwin = create_nhwindow(NHW_MENU);
 	start_menu(tmpwin);
 	for (i = 0; i < SIZE(runmodes); i++) {
 		mode_name = runmodes[i];
 		any.a_int = i + 1;
+#if 0 /*JP*/
 		add_menu(tmpwin, NO_GLYPH, &any, *mode_name, 0,
 			 ATR_NONE, mode_name, MENU_UNSELECTED);
+#else
+		add_menu(tmpwin, NO_GLYPH, &any, mode_letters[i], 0,
+			 ATR_NONE, mode_name, MENU_UNSELECTED);
+#endif
 	}
+#if 0 /*JP*/
 	end_menu(tmpwin, "Select run/travel display mode:");
+#else
+	end_menu(tmpwin, "走行/トラベルの表示モードを選択してください:");
+#endif
 	if (select_menu(tmpwin, PICK_ONE, &mode_pick) > 0) {
 		iflags.runmode = mode_pick->item.a_int - 1;
 		free((genericptr_t)mode_pick);
@@ -2703,18 +2983,42 @@
 	tmpwin = create_nhwindow(NHW_MENU);
 	start_menu(tmpwin);
 	any.a_char = 's';
+#if 0 /*JP*/
 	add_menu(tmpwin, NO_GLYPH, &any, 's', 0,
 		ATR_NONE, "single", MENU_UNSELECTED);
+#else
+	add_menu(tmpwin, NO_GLYPH, &any, 's', 0,
+		ATR_NONE, "一行ずつ表示(single)", MENU_UNSELECTED);
+#endif
 	any.a_char = 'c';
+#if 0 /*JP*/
 	add_menu(tmpwin, NO_GLYPH, &any, 'c', 0,
 		ATR_NONE, "combination", MENU_UNSELECTED);
+#else
+	add_menu(tmpwin, NO_GLYPH, &any, 'c', 0,
+		ATR_NONE, "single×2の後にfull(combination)", MENU_UNSELECTED);
+#endif
 	any.a_char = 'f';
+#if 0 /*JP*/
 	add_menu(tmpwin, NO_GLYPH, &any, 'f', 0,
 		ATR_NONE, "full", MENU_UNSELECTED);
+#else
+	add_menu(tmpwin, NO_GLYPH, &any, 'f', 0,
+		ATR_NONE, "古いものから一画面表示(full)", MENU_UNSELECTED);
+#endif
 	any.a_char = 'r';
+#if 0 /*JP*/
 	add_menu(tmpwin, NO_GLYPH, &any, 'r', 0,
 		ATR_NONE, "reversed", MENU_UNSELECTED);
+#else
+	add_menu(tmpwin, NO_GLYPH, &any, 'r', 0,
+		ATR_NONE, "最近のものから一画面表示(reversed)", MENU_UNSELECTED);
+#endif
+#if 0 /*JP*/
 	end_menu(tmpwin, "Select message history display type:");
+#else
+	end_menu(tmpwin, "メッセージ履歴の表示方法を選択してください:");
+#endif
 	if (select_menu(tmpwin, PICK_ONE, &window_pick) > 0) {
 		iflags.prevmsg_window = window_pick->item.a_char;
 		free((genericptr_t)window_pick);
@@ -2732,19 +3036,44 @@
 	tmpwin = create_nhwindow(NHW_MENU);
 	start_menu(tmpwin);
 	any.a_int = ALIGN_TOP;
+#if 0 /*JP*/
 	add_menu(tmpwin, NO_GLYPH, &any, 't', 0,
 		ATR_NONE, "top", MENU_UNSELECTED);
+#else
+	add_menu(tmpwin, NO_GLYPH, &any, 't', 0,
+		ATR_NONE, "上側", MENU_UNSELECTED);
+#endif
 	any.a_int = ALIGN_BOTTOM;
+#if 0 /*JP*/
 	add_menu(tmpwin, NO_GLYPH, &any, 'b', 0,
 		ATR_NONE, "bottom", MENU_UNSELECTED);
+#else
+	add_menu(tmpwin, NO_GLYPH, &any, 'b', 0,
+		ATR_NONE, "下側", MENU_UNSELECTED);
+#endif
 	any.a_int = ALIGN_LEFT;
+#if 0 /*JP*/
 	add_menu(tmpwin, NO_GLYPH, &any, 'l', 0,
 		ATR_NONE, "left", MENU_UNSELECTED);
+#else
+	add_menu(tmpwin, NO_GLYPH, &any, 'l', 0,
+		ATR_NONE, "左側", MENU_UNSELECTED);
+#endif
 	any.a_int = ALIGN_RIGHT;
+#if 0 /*JP*/
 	add_menu(tmpwin, NO_GLYPH, &any, 'r', 0,
 		ATR_NONE, "right", MENU_UNSELECTED);
+#else
+	add_menu(tmpwin, NO_GLYPH, &any, 'r', 0,
+		ATR_NONE, "右側", MENU_UNSELECTED);
+#endif
+#if 0 /*JP*/
 	Sprintf(abuf, "Select %s window placement relative to the map:",
 		msg ? "message" : "status");
+#else
+	Sprintf(abuf, "%sウィンドウのマップに対する表示位置を選択してください:",
+		msg ? "メッセージ" : "状態");
+#endif
 	end_menu(tmpwin, abuf);
 	if (select_menu(tmpwin, PICK_ONE, &window_pick) > 0) {		
 		if (msg) iflags.wc_align_message = window_pick->item.a_int;
@@ -2755,7 +3084,11 @@
         retval = TRUE;
     } else if (!strcmp("number_pad", optname)) {
 	static const char *npchoices[3] =
+#if 0 /*JP*/
 		{"0 (off)", "1 (on)", "2 (on, DOS compatible)"};
+#else
+		{"0 (無効)", "1 (有効)", "2 (有効,DOS互換)"};
+#endif
 	const char *npletters = "abc";
 	menu_item *mode_pick = (menu_item *)0;
 
@@ -2766,7 +3099,11 @@
 		add_menu(tmpwin, NO_GLYPH, &any, npletters[i], 0,
 			 ATR_NONE, npchoices[i], MENU_UNSELECTED);
         }
+#if 0 /*JP*/
 	end_menu(tmpwin, "Select number_pad mode:");
+#else
+	end_menu(tmpwin, "number_padモードを選択してください:");
+#endif
 	if (select_menu(tmpwin, PICK_ONE, &mode_pick) > 0) {
 		int mode = mode_pick->item.a_int - 1;
 		switch(mode) {
@@ -2788,7 +3125,11 @@
 	destroy_nhwindow(tmpwin);
         retval = TRUE;
     } else if (!strcmp("menu_headings", optname)) {
+#if 0 /*JP*/
 	static const char *mhchoices[3] = {"bold", "inverse", "underline"};
+#else
+	static const char *mhchoices[3] = {"太字", "反転", "下線"};
+#endif
 	const char *npletters = "biu";
 	menu_item *mode_pick = (menu_item *)0;
 
@@ -2799,7 +3140,11 @@
 		add_menu(tmpwin, NO_GLYPH, &any, npletters[i], 0,
 			 ATR_NONE, mhchoices[i], MENU_UNSELECTED);
         }
+#if 0 /*JP*/
 	end_menu(tmpwin, "How to highlight menu headings:");
+#else
+	end_menu(tmpwin, "メニューヘッダの強調方法を選択してください:");
+#endif
 	if (select_menu(tmpwin, PICK_ONE, &mode_pick) > 0) {
 		int mode = mode_pick->item.a_int - 1;
 		switch(mode) {
@@ -2827,10 +3172,17 @@
 	char apebuf[BUFSZ];
 	struct autopickup_exception *ape;
 	static const char *action_titles[] = {
+#if 0 /*JP*/
 		"a", "add new autopickup exception",
 		"l", "list autopickup exceptions",
 		"r", "remove existing autopickup exception",
 		"e", "exit this menu",
+#else
+		"a", "新しい自動拾いの例外を追加",
+		"l", "自動拾いの例外を一覧表示",
+		"r", "既にある自動拾いの例外を削除",
+		"e", "このメニューを閉じる",
+#endif
 	};
 ape_again:
 	opt_idx = 0;
@@ -2844,7 +3196,11 @@
 		add_menu(tmpwin, NO_GLYPH, &any, *action_titles[i],
 		      0, ATR_NONE, action_titles[i+1], MENU_UNSELECTED);
         }
+#if 0 /*JP*/
 	end_menu(tmpwin, "Do what?");
+#else
+	end_menu(tmpwin, "どうしますか?");
+#endif
 	if ((pick_cnt = select_menu(tmpwin, PICK_ONE, &pick_list)) > 0) {
 		for (pick_idx = 0; pick_idx < pick_cnt; ++pick_idx) {
 			opt_idx = pick_list[pick_idx].item.a_int - 1;
@@ -2856,7 +3212,11 @@
 	if (pick_cnt < 1) return FALSE;
 
 	if (opt_idx == 0) {	/* add new */
+#if 0 /*JP*/
 		getlin("What new autopickup exception pattern?", &apebuf[1]);
+#else
+		getlin("新しい自動拾い例外のパターンを入力してください:", &apebuf[1]);
+#endif
 		if (apebuf[1] == '\033') return FALSE;
 		apebuf[0] = '"';
 		Strcat(apebuf,"\"");
@@ -2871,8 +3231,13 @@
 		    if (numapes[pass] == 0) continue;
 		    ape = iflags.autopickup_exceptions[pass];
 		    any.a_void = 0;
+#if 0 /*JP*/
 		    add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
 				(pass == 0) ? "Never pickup" : "Always pickup",
+#else
+		    add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
+				(pass == 0) ? "常に拾わない" : "常に拾う",
+#endif
 				MENU_UNSELECTED);
 		    for (i = 0; i < numapes[pass] && ape; i++) {
 			any.a_void = (opt_idx == 1) ? 0 : ape;
@@ -2882,8 +3247,14 @@
 			ape = ape->next;
 		    }
 		}
+#if 0 /*JP*/
 		Sprintf(apebuf, "%s autopickup exceptions",
 			(opt_idx == 1) ? "List of" : "Remove which");
+#else
+		Sprintf(apebuf, "%s自動拾い例外%s",
+			(opt_idx == 1) ? "" : "どの",
+			(opt_idx == 1) ? "の一覧" : "を削除しますか?");
+#endif
 		end_menu(tmpwin, apebuf);
 		pick_cnt = select_menu(tmpwin,
 					(opt_idx == 1) ?  PICK_NONE : PICK_ANY,
@@ -2915,31 +3286,59 @@
 char *buf;
 {
 	char ocl[MAXOCLASSES+1];
+#if 0 /*JP*/
 	static const char none[] = "(none)", randomrole[] = "random",
 		     to_be_done[] = "(to be done)",
 		     defopt[] = "default",
 		     defbrief[] = "def";
+#else
+	static const char none[] = "(なし)", randomrole[] = "ランダム",
+		     to_be_done[] = "(設定済み)",
+		     defopt[] = "デフォルト",
+		     defbrief[] = "def";
+#endif
 	int i;
 
 	buf[0] = '\0';
 	if (!strcmp(optname,"align_message"))
+#if 0 /*JP*/
 		Sprintf(buf, "%s", iflags.wc_align_message == ALIGN_TOP     ? "top" :
 				   iflags.wc_align_message == ALIGN_LEFT    ? "left" :
 				   iflags.wc_align_message == ALIGN_BOTTOM  ? "bottom" :
 				   iflags.wc_align_message == ALIGN_RIGHT   ? "right" :
 				   defopt);
+#else
+		Sprintf(buf, "%s", iflags.wc_align_message == ALIGN_TOP     ? "上側" :
+				   iflags.wc_align_message == ALIGN_LEFT    ? "左側" :
+				   iflags.wc_align_message == ALIGN_BOTTOM  ? "下側" :
+				   iflags.wc_align_message == ALIGN_RIGHT   ? "右側" :
+				   defopt);
+#endif
 	else if (!strcmp(optname,"align_status"))
+#if 0 /*JP*/
 		Sprintf(buf, "%s", iflags.wc_align_status == ALIGN_TOP     ? "top" :
 				   iflags.wc_align_status == ALIGN_LEFT    ? "left" :
 				   iflags.wc_align_status == ALIGN_BOTTOM  ? "bottom" :
 				   iflags.wc_align_status == ALIGN_RIGHT   ? "right" :
 				   defopt);
+#else
+		Sprintf(buf, "%s", iflags.wc_align_status == ALIGN_TOP     ? "上側" :
+				   iflags.wc_align_status == ALIGN_LEFT    ? "左側" :
+				   iflags.wc_align_status == ALIGN_BOTTOM  ? "下側" :
+				   iflags.wc_align_status == ALIGN_RIGHT   ? "右側" :
+				   defopt);
+#endif
 	else if (!strcmp(optname,"align"))
 		Sprintf(buf, "%s", rolestring(flags.initalign, aligns, adj));
 #ifdef WIN32CON
 	else if (!strcmp(optname,"altkeyhandler"))
+#if 0 /*JP*/
 		Sprintf(buf, "%s", iflags.altkeyhandler[0] ?
 			iflags.altkeyhandler : "default");
+#else
+		Sprintf(buf, "%s", iflags.altkeyhandler[0] ?
+			iflags.altkeyhandler : defopt);
+#endif /*JP*/
 #endif
 	else if (!strcmp(optname, "boulder"))
 		Sprintf(buf, "%c", iflags.bouldersym ?
@@ -2997,7 +3396,11 @@
 	else if (!strcmp(optname, "fruit")) 
 		Sprintf(buf, "%s", pl_fruit);
 	else if (!strcmp(optname, "gender"))
+#if 0 /*JP*/
 		Sprintf(buf, "%s", rolestring(flags.initgend, genders, adj));
+#else
+		Sprintf(buf, "%s", rolestring(flags.initgend, genders, j));
+#endif
 	else if (!strcmp(optname, "horsename")) 
 		Sprintf(buf, "%s", horsename[0] ? horsename : none);
 	else if (!strcmp(optname, "map_mode"))
@@ -3025,10 +3428,17 @@
 	else if (!strcmp(optname, "menu_invert_all"))
 		Sprintf(buf, "%s", to_be_done);
 	else if (!strcmp(optname, "menu_headings")) {
+#if 0 /*JP*/
 		Sprintf(buf, "%s", (iflags.menu_headings == ATR_BOLD) ?
 			"bold" :   (iflags.menu_headings == ATR_INVERSE) ?
 			"inverse" :   (iflags.menu_headings == ATR_ULINE) ?
 			"underline" : "unknown");
+#else
+		Sprintf(buf, "%s", (iflags.menu_headings == ATR_BOLD) ?
+			"太字" :   (iflags.menu_headings == ATR_INVERSE) ?
+			"反転" :   (iflags.menu_headings == ATR_ULINE) ?
+			"下線" : "不明");
+#endif
 	}
 	else if (!strcmp(optname, "menu_invert_page"))
 		Sprintf(buf, "%s", to_be_done);
@@ -3057,9 +3467,15 @@
 	else if (!strcmp(optname, "name"))
 		Sprintf(buf, "%s", plname);
 	else if (!strcmp(optname, "number_pad"))
+#if 0 /*JP*/
 		Sprintf(buf, "%s",
 			(!iflags.num_pad) ? "0=off" :
 			(iflags.num_pad_mode) ? "2=on, DOS compatible" : "1=on");
+#else
+		Sprintf(buf, "%s",
+			(!iflags.num_pad) ? "0=無効" :
+			(iflags.num_pad_mode) ? "2=有効,DOS互換" : "1=有効");
+#endif
 	else if (!strcmp(optname, "objects"))
 		Sprintf(buf, "%s", to_be_done);
 	else if (!strcmp(optname, "packorder")) {
@@ -3071,9 +3487,15 @@
 		Sprintf(buf, "%s", get_color_string());
 #endif
 	else if (!strcmp(optname, "pettype")) 
+#if 0 /*JP*/
 		Sprintf(buf, "%s", (preferred_pet == 'c') ? "cat" :
 				(preferred_pet == 'd') ? "dog" :
 				(preferred_pet == 'n') ? "none" : "random");
+#else
+		Sprintf(buf, "%s", (preferred_pet == 'c') ? "猫" :
+				(preferred_pet == 'd') ? "犬" :
+				(preferred_pet == 'n') ? "なし" : randomrole);
+#endif
 	else if (!strcmp(optname, "pickup_burden"))
 		Sprintf(buf, "%s", burdentype[flags.pickup_burden] );
 	else if (!strcmp(optname, "pickup_types")) {
@@ -3081,9 +3503,17 @@
 		Sprintf(buf, "%s", ocl[0] ? ocl : "all" );
 	     }
 	else if (!strcmp(optname, "race"))
+#if 0 /*JP*/
 		Sprintf(buf, "%s", rolestring(flags.initrace, races, noun));
+#else
+		Sprintf(buf, "%s", rolestring(flags.initrace, races, j));
+#endif
 	else if (!strcmp(optname, "role"))
+#if 0 /*JP*/
 		Sprintf(buf, "%s", rolestring(flags.initrole, roles, name.m));
+#else
+		Sprintf(buf, "%s", rolestring(flags.initrole, roles, jname.m));
+#endif
 	else if (!strcmp(optname, "runmode"))
 		Sprintf(buf, "%s", runmodes[iflags.runmode]);
 	else if (!strcmp(optname, "scores")) {
@@ -3099,7 +3529,11 @@
 		else Strcpy(buf, defopt);
 	}
 	else if (!strcmp(optname, "player_selection"))
+#if 0 /*JP*/
 		Sprintf(buf, "%s", iflags.wc_player_selection ? "prompts" : "dialog");
+#else
+		Sprintf(buf, "%s入力", iflags.wc_player_selection ? "プロンプト" : "ダイアログ");
+#endif
 #ifdef MSDOS
 	else if (!strcmp(optname, "soundcard"))
 		Sprintf(buf, "%s", to_be_done);
@@ -3167,7 +3601,11 @@
 #endif
 
 	if (buf[0]) return buf;
+#if 0 /*JP*/
 	else return "unknown";
+#else
+	else return "不明";
+#endif
 }
 
 int
@@ -3300,27 +3738,54 @@
 /* data for option_help() */
 static const char *opt_intro[] = {
 	"",
+#if 0 /*JP*/
 	"                 NetHack Options Help:",
+#else /*JP*/
+	"                 NetHackオプションヘルプ:",
+#endif /*JP*/
 	"",
 #define CONFIG_SLOT 3	/* fill in next value at run-time */
 	(char *)0,
 #if !defined(MICRO) && !defined(MAC)
+#if 0 /*JP*/
 	"or use `NETHACKOPTIONS=\"<options>\"' in your environment",
+#else /*JP*/
+	"または環境変数に`NETHACKOPTIONS=\"<options>\"'と定義できます",
+#endif /*JP*/
 #endif
+#if 0 /*JP*/
 	"(<options> is a list of options separated by commas)",
+#else /*JP*/
+	"(<options>はカンマで区切って連続して指定することができます)",
+#endif /*JP*/
 #ifdef VMS
+#if 0 /*JP*/
 	"-- for example, $ DEFINE NETHACKOPTIONS \"noautopickup,fruit:kumquat\"",
+#else /*JP*/
+	"-- 例えば次のようにします:$ DEFINE NETHACKOPTIONS \"noautopickup,fruit:kumquat\"",
+#endif /*JP*/
 #endif
+#if 0 /*JP*/
 	"or press \"O\" while playing and use the menu.",
 	"",
  "Boolean options (which can be negated by prefixing them with '!' or \"no\"):",
+#else /*JP*/
+	"もしくはゲームプレイ中に\"O\"ボタンを押すことで設定可能です.",
+	"",
+ "真偽値オプション (否定の値を指定する場合,'!'もしくは\"no\"を先頭に付加します):",
+#endif /*JP*/
 	(char *)0
 };
 
 static const char *opt_epilog[] = {
 	"",
+#if 0 /*JP*/
  "Some of the options can be set only before the game is started; those",
 	"items will not be selectable in the 'O' command's menu.",
+#else
+ "幾つかのオプションはゲーム開始前のみにしか設定できないものがあります.",
+	"それらは'O'コマンドのメニューでは選択することができません.",
+#endif
 	(char *)0
 };
 
@@ -3332,7 +3797,11 @@
     winid datawin;
 
     datawin = create_nhwindow(NHW_TEXT);
+#if 0 /*JP*/
     Sprintf(buf, "Set options as OPTIONS=<options> in %s", configfile);
+#else
+    Sprintf(buf, "オプションは%sの中でOPTIONS=<options>と設定します", configfile);
+#endif
     opt_intro[CONFIG_SLOT] = (const char *) buf;
     for (i = 0; opt_intro[i]; i++)
 	putstr(datawin, 0, opt_intro[i]);
@@ -3350,7 +3819,11 @@
     next_opt(datawin, "");
 
     /* Compound options */
+#if 0 /*JP*/
     putstr(datawin, 0, "Compound options:");
+#else
+    putstr(datawin, 0, "文字列オプション:");
+#endif
     for (i = 0; compopt[i].name; i++) {
 	Sprintf(buf2, "`%s'", compopt[i].name);
 	Sprintf(buf, "%-20s - %s%c", buf2, compopt[i].descr,


Jnethack-cvs メーリングリストの案内
Back to archive index