X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fcmd5.c;h=1264072020defd60eaab072ab2ae32deeb321ae6;hb=9d4b877c27a36774ae5256db6237264298837607;hp=193fd6f17d2110eaec32c2d031da7cf487e40034;hpb=1e16b0fb1915f8b2a5cbac6c29f84b5a6fedfac9;p=hengband%2Fhengband.git diff --git a/src/cmd5.c b/src/cmd5.c index 193fd6f17..126407202 100644 --- a/src/cmd5.c +++ b/src/cmd5.c @@ -1,6 +1,6 @@ -/*! +/*! * @file cmd5.c - * @brief ¥×¥ì¥¤¥ä¡¼¤ÎËâË¡¤Ë´Ø¤¹¤ë¥³¥Þ¥ó¥É¤Î¼ÂÁõ / Spell/Prayer commands + * @brief プレイヤーの魔法に関するコマンドの実装 / Spell/Prayer commands * @date 2014/01/02 * @author * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke @@ -14,23 +14,23 @@ #include "angband.h" /*! - * @brief ÎΰèËâË¡¤Ë±þ¤¸¤Æµ»Ç½¤Î̾¾Î¤òÊÖ¤¹¡£ - * @param tval ËâË¡½ñ¤Îtval - * @return ÎΰèËâË¡¤Îµ»Ç½Ì¾¾Î¤òÊݴɤ·¤¿Ê¸»úÎó¥Ý¥¤¥ó¥¿ + * @brief 領域魔法に応じて技能の名称を返す。 + * @param tval 魔法書のtval + * @return 領域魔法の技能名称を保管した文字列ポインタ */ -cptr spell_category_name(int tval) +cptr spell_category_name(OBJECT_TYPE_VALUE tval) { switch (tval) { #ifdef JP case TV_HISSATSU_BOOK: - return "ɬ»¦µ»"; + return "必殺技"; case TV_LIFE_BOOK: - return "µ§¤ê"; + return "祈り"; case TV_MUSIC_BOOK: - return "²Î"; + return "歌"; default: - return "¼öʸ"; + return "呪文"; #else case TV_HISSATSU_BOOK: return "art"; @@ -48,13 +48,13 @@ cptr spell_category_name(int tval) bool select_the_force = FALSE; /*! - * @brief ÎΰèËâË¡¤Î±ÜÍ÷¡¢³Ø½¬¡¢»ÈÍÑÁªÂò¤¹¤ë¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹½èÍý + * @brief 領域魔法の閲覧、学習、使用選択するインターフェイス処理 * Allow user to choose a spell/prayer from the given book. - * @param sn ÁªÂò¤·¤¿ËâË¡ID¤òÊÖ¤¹»²¾È¥Ý¥¤¥ó¥¿ - * @param prompt ËâË¡¤òÍøÍѤ¹¤ëºÝ¤ÎÆ°»ìɽµ­ - * @param sval ËâÆ»½ñ¤Îsval - * @param learned ±ÜÍ÷/»ÈÍÑÁªÂò¤Ê¤é¤ÐTRUE¡¢³Ø½¬½èÍý¤Ê¤éFALSE - * @param use_realm ËâË¡ÎΰèID + * @param sn 選択した魔法IDを返す参照ポインタ + * @param prompt 魔法を利用する際の動詞表記 + * @param sval 魔道書のsval + * @param learned 閲覧/使用選択ならばTRUE、学習処理ならFALSE + * @param use_realm 魔法領域ID * @return *
  * If a valid spell is chosen, saves it in '*sn' and returns TRUE
@@ -64,14 +64,14 @@ bool select_the_force = FALSE;
  * The "known" should be TRUE for cast/pray, FALSE for study
  * 
*/ -static int get_spell(int *sn, cptr prompt, int sval, bool learned, int use_realm) +static int get_spell(COMMAND_CODE *sn, cptr prompt, OBJECT_SUBTYPE_VALUE sval, bool learned, REALM_IDX use_realm) { int i; - int spell = -1; + SPELL_IDX spell = -1; int num = 0; int ask = TRUE; - int need_mana; - byte spells[64]; + MANA_POINT need_mana; + SPELL_IDX spells[64]; bool flag, redraw, okay; char choice; const magic_type *s_ptr; @@ -146,8 +146,8 @@ static int get_spell(int *sn, cptr prompt, int sval, bool learned, int use_realm /* Build a prompt (accept all spells) */ #ifdef JP - jverb1( prompt, jverb_buf ); - (void) strnfmt(out_val, 78, "(%^s:%c-%c, '*'¤Ç°ìÍ÷, ESC¤ÇÃæÃÇ) ¤É¤Î%s¤ò%^s¤Þ¤¹¤«? ", + jverb( prompt, jverb_buf, JVERB_AND ); + (void) strnfmt(out_val, 78, "(%^s:%c-%c, '*'で一覧, ESCで中断) どの%sを%^sますか? ", p, I2A(0), I2A(num - 1), p, jverb_buf ); #else (void)strnfmt(out_val, 78, "(%^ss %c-%c, *=List, ESC=exit) %^s which %s? ", @@ -242,7 +242,7 @@ static int get_spell(int *sn, cptr prompt, int sval, bool learned, int use_realm ask = (isupper(choice)); /* Lowercase */ - if (ask) choice = tolower(choice); + if (ask) choice = (char)tolower(choice); /* Extract request */ i = (islower(choice) ? A2I(choice) : -1); @@ -263,7 +263,7 @@ static int get_spell(int *sn, cptr prompt, int sval, bool learned, int use_realm { bell(); #ifdef JP - msg_format("¤½¤Î%s¤ò%s¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£", p, prompt); + msg_format("その%sを%sことはできません。", p, prompt); #else msg_format("You may not %s that %s.", prompt, p); #endif @@ -298,9 +298,9 @@ static int get_spell(int *sn, cptr prompt, int sval, bool learned, int use_realm /* Prompt */ #ifdef JP - jverb1( prompt, jverb_buf ); - /* ±ÑÆüÀÚ¤êÂؤ¨µ¡Ç½¤ËÂбþ */ - (void) strnfmt(tmp_val, 78, "%s(MP%d, ¼ºÇÔΨ%d%%)¤ò%s¤Þ¤¹¤«? ", + jverb( prompt, jverb_buf, JVERB_AND ); + /* 英日切り替え機能に対応 */ + (void) strnfmt(tmp_val, 78, "%s(MP%d, 失敗率%d%%)を%sますか? ", do_spell(use_realm, spell, SPELL_NAME), need_mana, spell_chance(spell, use_realm),jverb_buf); #else @@ -347,9 +347,9 @@ static int get_spell(int *sn, cptr prompt, int sval, bool learned, int use_realm } /*! - * @brief ¥ª¥Ö¥¸¥§¥¯¥È¤¬¥×¥ì¥¤¥ä¡¼¤¬»ÈÍѲÄǽ¤ÊËâÆ»½ñ¤«¤É¤¦¤«¤òȽÄꤹ¤ë - * @param o_ptr ȽÄꤷ¤¿¤¤¥ª¥Ö²ñ¥¸¥§¥¯¥È¤Î¹½Â¤Âλ²¾È¥Ý¥¤¥ó¥¿ - * @return ³Ø½¬¤Ç¤­¤ëËâÆ»½ñ¤Ê¤é¤ÐTRUE¤òÊÖ¤¹ + * @brief オブジェクトがプレイヤーが使用可能な魔道書かどうかを判定する + * @param o_ptr 判定したいオブ会ジェクトの構造体参照ポインタ + * @return 学習できる魔道書ならばTRUEを返す */ static bool item_tester_learn_spell(object_type *o_ptr) { @@ -376,8 +376,8 @@ static bool item_tester_learn_spell(object_type *o_ptr) } /*! - * @brief ¥×¥ì¥¤¥ä¡¼¤¬ËâÆ»½ñ¤ò°ìºý¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¤«¤òȽÄꤹ¤ë - * @return ËâÆ»½ñ¤ò°ìºý¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¤Ê¤éTRUE¤òÊÖ¤¹ + * @brief プレイヤーが魔道書を一冊も持っていないかを判定する + * @return 魔道書を一冊も持っていないならTRUEを返す */ static bool player_has_no_spellbooks(void) { @@ -390,7 +390,7 @@ static bool player_has_no_spellbooks(void) if (o_ptr->k_idx && check_book_realm(o_ptr->tval, o_ptr->sval)) return FALSE; } - for (i = cave[py][px].o_idx; i; i = o_ptr->next_o_idx) + for (i = cave[p_ptr->y][p_ptr->x].o_idx; i; i = o_ptr->next_o_idx) { o_ptr = &o_list[i]; if (o_ptr->k_idx && (o_ptr->marked & OM_FOUND) && check_book_realm(o_ptr->tval, o_ptr->sval)) return FALSE; @@ -400,13 +400,13 @@ static bool player_has_no_spellbooks(void) } /*! - * @brief ¥×¥ì¥¤¥ä¡¼¤Î¿¦¶È¤¬Îýµ¤½Ñ»Õ¤Î»þ¡¢ÎΰèËâË¡¤ÈÎýµ¤½Ñ¤òÀڤ괹¤¨¤ë½èÍý¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ - * @param browse_only ËâË¡¤Èµ»Ç½¤Î±ÜÍ÷¤ò¹Ô¤¦¤Ê¤é¤ÐTRUE - * @return ËâÆ»½ñ¤ò°ìºý¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¤Ê¤éTRUE¤òÊÖ¤¹ + * @brief プレイヤーの職業が練気術師の時、領域魔法と練気術を切り換える処理のインターフェイス + * @param browse_only 魔法と技能の閲覧を行うならばTRUE + * @return 魔道書を一冊も持っていないならTRUEを返す */ static void confirm_use_force(bool browse_only) { - int item; + SPELL_IDX item; char which; #ifdef ALLOW_REPEAT @@ -421,11 +421,7 @@ static void confirm_use_force(bool browse_only) #endif /* ALLOW_REPEAT */ /* Show the prompt */ -#ifdef JP - prt("('w'Îýµ¤½Ñ, ESC) 'w'¤«ESC¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£ ", 0, 0); -#else - prt("(w for the Force, ESC) Hit 'w' or ESC. ", 0, 0); -#endif + prt(_("('w'練気術, ESC) 'w'かESCを押してください。 ", "(w for the Force, ESC) Hit 'w' or ESC. "), 0, 0); while (1) { @@ -457,9 +453,9 @@ static void confirm_use_force(bool browse_only) /*! - * @brief ¥×¥ì¥¤¥ä¡¼¤ÎËâË¡¤Èµ»Ç½¤ò±ÜÍ÷¤¹¤ë¥³¥Þ¥ó¥É¤Î¥á¥¤¥ó¥ë¡¼¥Á¥ó / + * @brief プレイヤーの魔法と技能を閲覧するコマンドのメインルーチン / * Peruse the spells/prayers in a book - * @return ¤Ê¤· + * @return なし * @details *
  * Note that *all* spells in the book are listed
@@ -470,12 +466,15 @@ static void confirm_use_force(bool browse_only)
  */
 void do_cmd_browse(void)
 {
-	int		item, sval, use_realm = 0, j, line;
-	int		spell = -1;
+	OBJECT_IDX item;
+	OBJECT_SUBTYPE_VALUE sval;
+	REALM_IDX use_realm = 0;
+	int j, line;
+	SPELL_IDX spell = -1;
 	int		num = 0;
 
-	byte		spells[64];
-	char            temp[62*4];
+	int		spells[64];
+	char    temp[62*4];
 
 	object_type	*o_ptr;
 
@@ -484,12 +483,7 @@ void do_cmd_browse(void)
 	/* Warriors are illiterate */
 	if (!(p_ptr->realm1 || p_ptr->realm2) && (p_ptr->pclass != CLASS_SORCERER) && (p_ptr->pclass != CLASS_RED_MAGE))
 	{
-#ifdef JP
-		msg_print("ËܤòÆɤळ¤È¤¬¤Ç¤­¤Ê¤¤¡ª");
-#else
-		msg_print("You cannot read books!");
-#endif
-
+		msg_print(_("本を読むことができない!", "You cannot read books!"));
 		return;
 	}
 
@@ -513,17 +507,8 @@ void do_cmd_browse(void)
 	else item_tester_hook = item_tester_learn_spell;
 
 	/* Get an item */
-#ifdef JP
-	q = "¤É¤ÎËܤòÆɤߤޤ¹¤«? ";
-#else
-	q = "Browse which book? ";
-#endif
-
-#ifdef JP
-	s = "Æɤá¤ëËܤ¬¤Ê¤¤¡£";
-#else
-	s = "You have no books that you can read.";
-#endif
+	q = _("どの本を読みますか? ", "Browse which book? ");
+	s = _("読める本がない。", "You have no books that you can read.");
 
 	if (!get_item(&item, q, s, (USE_INVEN | USE_FLOOR)))
 	{
@@ -584,11 +569,7 @@ void do_cmd_browse(void)
 	while(TRUE)
 	{
 		/* Ask for a spell, allow cancel */
-#ifdef JP
-		if (!get_spell(&spell, "Æɤà", o_ptr->sval, TRUE, use_realm))
-#else
-		if (!get_spell(&spell, "browse", o_ptr->sval, TRUE, use_realm))
-#endif
+		if (!get_spell(&spell, _("読む", "browse"), o_ptr->sval, TRUE, use_realm))
 		{
 			/* If cancelled, leave immediately. */
 			if (spell == -1) break;
@@ -598,17 +579,9 @@ void do_cmd_browse(void)
 
 			/* Notify that there's nothing to see, and wait. */
 			if (use_realm == REALM_HISSATSU)
-#ifdef JP
-				prt("Æɤá¤ëµ»¤¬¤Ê¤¤¡£", 0, 0);
-#else
-				prt("No techniques to browse.", 0, 0);
-#endif
+				prt(_("読める技がない。", "No techniques to browse."), 0, 0);
 			else
-#ifdef JP
-				prt("Æɤá¤ë¼öʸ¤¬¤Ê¤¤¡£", 0, 0);
-#else
-				prt("No spells to browse.", 0, 0);
-#endif
+				prt(_("読める呪文がない。", "No spells to browse."), 0, 0);
 			(void)inkey();
 
 
@@ -638,11 +611,11 @@ void do_cmd_browse(void)
 }
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤ÎÂèÆóËâË¡Îΰè¤òÊѹ¹¤¹¤ë /
- * @param next_realm Êѹ¹Àè¤ÎËâË¡ÎΰèID
- * @return ¤Ê¤·
+ * @brief プレイヤーの第二魔法領域を変更する /
+ * @param next_realm 変更先の魔法領域ID
+ * @return なし
  */
-static void change_realm2(int next_realm)
+static void change_realm2(CHARACTER_IDX next_realm)
 {
 	int i, j = 0;
 	char tmp[80];
@@ -663,11 +636,7 @@ static void change_realm2(int next_realm)
 	p_ptr->spell_worked2 = 0L;
 	p_ptr->spell_forgotten2 = 0L;
 
-#ifdef JP
-	sprintf(tmp,"ËâË¡¤ÎÎΰè¤ò%s¤«¤é%s¤ËÊѹ¹¤·¤¿¡£", realm_names[p_ptr->realm2], realm_names[next_realm]);
-#else
-	sprintf(tmp,"change magic realm from %s to %s.", realm_names[p_ptr->realm2], realm_names[next_realm]);
-#endif
+	sprintf(tmp,_("魔法の領域を%sから%sに変更した。", "change magic realm from %s to %s."), realm_names[p_ptr->realm2], realm_names[next_realm]);
 	do_cmd_write_nikki(NIKKI_BUNSHOU, 0, tmp);
 	p_ptr->old_realm |= 1 << (p_ptr->realm2-1);
 	p_ptr->realm2 = next_realm;
@@ -682,18 +651,20 @@ static void change_realm2(int next_realm)
 
 
 /*!
- * @brief ËâË¡¤ò³Ø½¬¤¹¤ë¥³¥Þ¥ó¥É¤Î¥á¥¤¥ó¥ë¡¼¥Á¥ó /
+ * @brief 魔法を学習するコマンドのメインルーチン /
  * Study a book to gain a new spell/prayer
- * @return ¤Ê¤·
+ * @return なし
  */
 void do_cmd_study(void)
 {
-	int	i, item, sval;
+	int	i;
+	OBJECT_IDX item;
+	OBJECT_SUBTYPE_VALUE sval;
 	int	increment = 0;
 	bool    learned = FALSE;
 
 	/* Spells of realm2 will have an increment of +32 */
-	int	spell = -1;
+	SPELL_IDX spell = -1;
 
 	cptr p = spell_category_name(mp_ptr->spell_book);
 
@@ -703,45 +674,25 @@ void do_cmd_study(void)
 
 	if (!p_ptr->realm1)
 	{
-#ifdef JP
-msg_print("ËܤòÆɤळ¤È¤¬¤Ç¤­¤Ê¤¤¡ª");
-#else
-		msg_print("You cannot read books!");
-#endif
-
+		msg_print(_("本を読むことができない!", "You cannot read books!"));
 		return;
 	}
 
 	if (p_ptr->blind || no_lite())
 	{
-#ifdef JP
-msg_print("Ìܤ¬¸«¤¨¤Ê¤¤¡ª");
-#else
-		msg_print("You cannot see!");
-#endif
-
+		msg_print(_("目が見えない!", "You cannot see!"));
 		return;
 	}
 
 	if (p_ptr->confused)
 	{
-#ifdef JP
-msg_print("º®Í𤷤Ƥ¤¤ÆÆɤá¤Ê¤¤¡ª");
-#else
-		msg_print("You are too confused!");
-#endif
-
+		msg_print(_("混乱していて読めない!", "You are too confused!"));
 		return;
 	}
 
 	if (!(p_ptr->new_spells))
 	{
-#ifdef JP
-msg_format("¿·¤·¤¤%s¤ò³Ð¤¨¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡ª", p);
-#else
-		msg_format("You cannot learn any new %ss!", p);
-#endif
-
+		msg_format(_("新しい%sを覚えることはできない!", "You cannot learn any new %ss!"), p);
 		return;
 	}
 
@@ -752,9 +703,9 @@ msg_format("
 
 #ifdef JP
 	if( p_ptr->new_spells < 10 ){
-		msg_format("¤¢¤È %d ¤Ä¤Î%s¤ò³Ø¤Ù¤ë¡£", p_ptr->new_spells, p);
+		msg_format("あと %d つの%sを学べる。", p_ptr->new_spells, p);
 	}else{
-		msg_format("¤¢¤È %d ¸Ä¤Î%s¤ò³Ø¤Ù¤ë¡£", p_ptr->new_spells, p);
+		msg_format("あと %d 個の%sを学べる。", p_ptr->new_spells, p);
 	}
 #else
 	msg_format("You can learn %d new %s%s.", p_ptr->new_spells, p,
@@ -769,17 +720,8 @@ msg_format("
 	else item_tester_hook = item_tester_learn_spell;
 
 	/* Get an item */
-#ifdef JP
-q = "¤É¤ÎËܤ«¤é³Ø¤Ó¤Þ¤¹¤«? ";
-#else
-	q = "Study which book? ";
-#endif
-
-#ifdef JP
-s = "Æɤá¤ëËܤ¬¤Ê¤¤¡£";
-#else
-	s = "You have no books that you can read.";
-#endif
+	q = _("どの本から学びますか? ", "Study which book? ");
+	s = _("読める本がない。", "You have no books that you can read.");
 
 	if (!get_item(&item, q, s, (USE_INVEN | USE_FLOOR))) return;
 
@@ -801,11 +743,7 @@ s = "
 	if (o_ptr->tval == REALM2_BOOK) increment = 32;
 	else if (o_ptr->tval != REALM1_BOOK)
 	{
-#ifdef JP
-		if (!get_check("ËÜÅö¤ËËâË¡¤ÎÎΰè¤òÊѹ¹¤·¤Þ¤¹¤«¡©")) return;
-#else
-		if (!get_check("Really, change magic realm? ")) return;
-#endif
+		if (!get_check(_("本当に魔法の領域を変更しますか?", "Really, change magic realm? "))) return;
 		change_realm2(tval2realm(o_ptr->tval));
 		increment = 32;
 	}
@@ -821,7 +759,7 @@ s = "
 	{
 		/* Ask for a spell, allow cancel */
 #ifdef JP
-		if (!get_spell(&spell, "³Ø¤Ö", sval, FALSE, o_ptr->tval - TV_LIFE_BOOK + 1)
+		if (!get_spell(&spell, "学ぶ", sval, FALSE, o_ptr->tval - TV_LIFE_BOOK + 1)
 			&& (spell == -1)) return;
 #else
 		if (!get_spell(&spell, "study", sval, FALSE, o_ptr->tval - TV_LIFE_BOOK + 1)
@@ -863,12 +801,7 @@ s = "
 	if (spell < 0)
 	{
 		/* Message */
-#ifdef JP
-msg_format("¤½¤ÎËܤˤϳؤ֤٤­%s¤¬¤Ê¤¤¡£", p);
-#else
-		msg_format("You cannot learn any %ss in that book.", p);
-#endif
-
+		msg_format(_("その本には学ぶべき%sがない。", "You cannot learn any %ss in that book."), p);
 
 		/* Abort */
 		return;
@@ -898,15 +831,11 @@ msg_format("
 
 		if (old_exp >= max_exp)
 		{
-#ifdef JP
-			msg_format("¤½¤Î%s¤Ï´°Á´¤Ë»È¤¤¤³¤Ê¤»¤ë¤Î¤Ç³Ø¤ÖɬÍפϤʤ¤¡£", p);
-#else
-			msg_format("You don't need to study this %s anymore.", p);
-#endif
+			msg_format(_("その%sは完全に使いこなせるので学ぶ必要はない。", "You don't need to study this %s anymore."), p);
 			return;
 		}
 #ifdef JP
-		if (!get_check(format("%s¤Î%s¤ò¤µ¤é¤Ë³Ø¤Ó¤Þ¤¹¡£¤è¤í¤·¤¤¤Ç¤¹¤«¡©", name, p)))
+		if (!get_check(format("%sの%sをさらに学びます。よろしいですか?", name, p)))
 #else
 		if (!get_check(format("You will study a %s of %s again. Are you sure? ", p, name)))
 #endif
@@ -934,11 +863,7 @@ msg_format("
 			p_ptr->spell_exp[spell] = SPELL_EXP_BEGINNER + old_exp / 3;
 			new_rank = EXP_LEVEL_BEGINNER;
 		}
-#ifdef JP
-		msg_format("%s¤Î½ÏÎýÅÙ¤¬%s¤Ë¾å¤¬¤Ã¤¿¡£", name, exp_level_str[new_rank]);
-#else
-		msg_format("Your proficiency of %s is now %s rank.", name, exp_level_str[new_rank]);
-#endif
+		msg_format(_("%sの熟練度が%sに上がった。", "Your proficiency of %s is now %s rank."), name, exp_level_str[new_rank]);
 	}
 	else
 	{
@@ -954,15 +879,15 @@ msg_format("
 
 		/* Mention the result */
 #ifdef JP
-		/* ±ÑÆüÀÚ¤êÂؤ¨µ¡Ç½¤ËÂбþ */
+		/* 英日切り替え機能に対応 */
 		if (mp_ptr->spell_book == TV_MUSIC_BOOK)
 		{
-			msg_format("%s¤ò³Ø¤ó¤À¡£",
+			msg_format("%sを学んだ。",
 				    do_spell(increment ? p_ptr->realm2 : p_ptr->realm1, spell % 32, SPELL_NAME));
 		}
 		else
 		{
-			msg_format("%s¤Î%s¤ò³Ø¤ó¤À¡£",
+			msg_format("%sの%sを学んだ。",
 				    do_spell(increment ? p_ptr->realm2 : p_ptr->realm1, spell % 32, SPELL_NAME) ,p);
 		}
 #else
@@ -972,7 +897,7 @@ msg_format("
 	}
 
 	/* Take a turn */
-	energy_use = 100;
+	p_ptr->energy_use = 100;
 
 	switch (mp_ptr->spell_book)
 	{
@@ -1001,8 +926,8 @@ msg_format("
 	{
 		/* Message */
 #ifdef JP
-		if (p_ptr->new_spells < 10) msg_format("¤¢¤È %d ¤Ä¤Î%s¤ò³Ø¤Ù¤ë¡£", p_ptr->new_spells, p);
-		else msg_format("¤¢¤È %d ¸Ä¤Î%s¤ò³Ø¤Ù¤ë¡£", p_ptr->new_spells, p);
+		if (p_ptr->new_spells < 10) msg_format("あと %d つの%sを学べる。", p_ptr->new_spells, p);
+		else msg_format("あと %d 個の%sを学べる。", p_ptr->new_spells, p);
 #else
 		msg_format("You can learn %d more %s%s.", p_ptr->new_spells, p,
 		           (p_ptr->new_spells != 1) ? "s" : "");
@@ -1019,17 +944,17 @@ msg_format("
 }
 
 /*!
- * @brief ±¿Ì¿¤ÎÎØ¡¢Ê¤Ӥ˥«¥ª¥¹Åª¤Ê¸ú²Ì¤Îȯư
- * @param spell ¥é¥ó¥À¥à¤Ê¸ú²Ì¤òÁªÂò¤¹¤ë¤¿¤á¤Î´ð½àID
- * @return ¤Ê¤·
+ * @brief 運命の輪、並びにカオス的な効果の発動
+ * @param spell ランダムな効果を選択するための基準ID
+ * @return なし
  */
 static void wild_magic(int spell)
 {
 	int counter = 0;
-	int type = SUMMON_BIZARRE1 + randint0(6);
+	int type = SUMMON_MOLD + randint0(6);
 
-	if (type < SUMMON_BIZARRE1) type = SUMMON_BIZARRE1;
-	else if (type > SUMMON_BIZARRE6) type = SUMMON_BIZARRE6;
+	if (type < SUMMON_MOLD) type = SUMMON_MOLD;
+	else if (type > SUMMON_MIMIC) type = SUMMON_MIMIC;
 
 	switch (randint1(spell) + randint1(8) + 1)
 	{
@@ -1067,7 +992,7 @@ static void wild_magic(int spell)
 		break;
 	case 19:
 	case 20:
-		trap_creation(py, px);
+		trap_creation(p_ptr->y, p_ptr->x);
 		break;
 	case 21:
 	case 22:
@@ -1079,7 +1004,7 @@ static void wild_magic(int spell)
 		aggravate_monsters(0);
 		break;
 	case 26:
-		earthquake(py, px, 5);
+		earthquake(p_ptr->y, p_ptr->x, 5);
 		break;
 	case 27:
 	case 28:
@@ -1102,15 +1027,15 @@ static void wild_magic(int spell)
 	case 35:
 		while (counter++ < 8)
 		{
-			(void)summon_specific(0, py, px, (dun_level * 3) / 2, type, (PM_ALLOW_GROUP | PM_NO_PET));
+			(void)summon_specific(0, p_ptr->y, p_ptr->x, (dun_level * 3) / 2, type, (PM_ALLOW_GROUP | PM_NO_PET));
 		}
 		break;
 	case 36:
 	case 37:
-		activate_hi_summon(py, px, FALSE);
+		activate_hi_summon(p_ptr->y, p_ptr->x, FALSE);
 		break;
 	case 38:
-		(void)summon_cyber(-1, py, px);
+		(void)summon_cyber(-1, p_ptr->y, p_ptr->x);
 		break;
 	default:
 		{
@@ -1125,13 +1050,16 @@ static void wild_magic(int spell)
 
 
 /*!
- * @brief ËâË¡¤ò±Ó¾§¤¹¤ë¥³¥Þ¥ó¥É¤Î¥á¥¤¥ó¥ë¡¼¥Á¥ó /
+ * @brief 魔法を詠唱するコマンドのメインルーチン /
  * Cast a spell
- * @return ¤Ê¤·
+ * @return なし
  */
 void do_cmd_cast(void)
 {
-	int	item, sval, spell, realm;
+	OBJECT_IDX item;
+	OBJECT_SUBTYPE_VALUE sval;
+	SPELL_IDX spell;
+	REALM_IDX realm;
 	int	chance;
 	int	increment = 0;
 	int	use_realm;
@@ -1150,12 +1078,7 @@ void do_cmd_cast(void)
 	/* Require spell ability */
 	if (!p_ptr->realm1 && (p_ptr->pclass != CLASS_SORCERER) && (p_ptr->pclass != CLASS_RED_MAGE))
 	{
-#ifdef JP
-		msg_print("¼öʸ¤ò¾§¤¨¤é¤ì¤Ê¤¤¡ª");
-#else
-		msg_print("You cannot cast spells!");
-#endif
-
+		msg_print(_("呪文を唱えられない!", "You cannot cast spells!"));
 		return;
 	}
 
@@ -1165,11 +1088,7 @@ void do_cmd_cast(void)
 		if (p_ptr->pclass == CLASS_FORCETRAINER) confirm_use_force(FALSE);
 		else
 		{
-#ifdef JP
-			msg_print("Ìܤ¬¸«¤¨¤Ê¤¤¡ª");
-#else
-			msg_print("You cannot see!");
-#endif
+			msg_print(_("目が見えない!", "You cannot see!"));
 			flush();
 		}
 		return;
@@ -1178,11 +1097,7 @@ void do_cmd_cast(void)
 	/* Not when confused */
 	if (p_ptr->confused)
 	{
-#ifdef JP
-		msg_print("º®Í𤷤Ƥ¤¤Æ¾§¤¨¤é¤ì¤Ê¤¤¡ª");
-#else
-		msg_print("You are too confused!");
-#endif
+		msg_print(_("混乱していて唱えられない!", "You are too confused!"));
 		flush();
 		return;
 	}
@@ -1193,11 +1108,7 @@ void do_cmd_cast(void)
 		if (hex_spell_fully())
 		{
 			bool flag = FALSE;
-#ifdef JP
-			msg_print("¤³¤ì°Ê¾å¿·¤·¤¤¼öʸ¤ò±Ó¾§¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£");
-#else
-			msg_print("Can not spell new spells more.");
-#endif
+			msg_print(_("これ以上新しい呪文を詠唱することはできない。", "Can not spell new spells more."));
 			flush();
 			if (p_ptr->lev >= 35) flag = stop_hex_spell();
 			if (!flag) return;
@@ -1220,17 +1131,8 @@ void do_cmd_cast(void)
 	item_tester_tval = mp_ptr->spell_book;
 
 	/* Get an item */
-#ifdef JP
-	q = "¤É¤Î¼öʸ½ñ¤ò»È¤¤¤Þ¤¹¤«? ";
-#else
-	q = "Use which book? ";
-#endif
-
-#ifdef JP
-	s = "¼öʸ½ñ¤¬¤Ê¤¤¡ª";
-#else
-	s = "You have no spell books!";
-#endif
+	q = _("どの呪文書を使いますか? ", "Use which book? ");
+	s = _("呪文書がない!", "You have no spell books!");
 
 	if (!get_item(&item, q, s, (USE_INVEN | USE_FLOOR)))
 	{
@@ -1277,10 +1179,10 @@ void do_cmd_cast(void)
 	/* Ask for a spell */
 #ifdef JP
 	if (!get_spell(&spell,  
-				((mp_ptr->spell_book == TV_LIFE_BOOK) ? "±Ó¾§¤¹¤ë" : (mp_ptr->spell_book == TV_MUSIC_BOOK) ? "²Î¤¦" : "¾§¤¨¤ë"), 
+				((mp_ptr->spell_book == TV_LIFE_BOOK) ? "詠唱する" : (mp_ptr->spell_book == TV_MUSIC_BOOK) ? "歌う" : "唱える"), 
 		       sval, TRUE, realm))
 	{
-		if (spell == -2) msg_format("¤½¤ÎËܤˤÏÃΤäƤ¤¤ë%s¤¬¤Ê¤¤¡£", prayer);
+		if (spell == -2) msg_format("その本には知っている%sがない。", prayer);
 		return;
 	}
 #else
@@ -1301,11 +1203,7 @@ void do_cmd_cast(void)
 	{
 		if (hex_spelling(spell))
 		{
-#ifdef JP
-			msg_print("¤½¤Î¼öʸ¤Ï¤¹¤Ç¤Ë±Ó¾§Ãæ¤À¡£");
-#else
-			msg_print("You are already casting it.");
-#endif
+			msg_print(_("その呪文はすでに詠唱中だ。", "You are already casting it."));
 			return;
 		}
 	}
@@ -1329,8 +1227,8 @@ void do_cmd_cast(void)
 
 		/* Warning */
 #ifdef JP
-msg_format("¤½¤Î%s¤ò%s¤Î¤Ë½½Ê¬¤Ê¥Þ¥¸¥Ã¥¯¥Ý¥¤¥ó¥È¤¬¤Ê¤¤¡£",prayer,
- ((mp_ptr->spell_book == TV_LIFE_BOOK) ? "±Ó¾§¤¹¤ë" : (mp_ptr->spell_book == TV_LIFE_BOOK) ? "²Î¤¦" : "¾§¤¨¤ë"));
+msg_format("その%sを%sのに十分なマジックポイントがない。",prayer,
+ ((mp_ptr->spell_book == TV_LIFE_BOOK) ? "詠唱する" : (mp_ptr->spell_book == TV_LIFE_BOOK) ? "歌う" : "唱える"));
 #else
 		msg_format("You do not have enough mana to %s this %s.",
 			((mp_ptr->spell_book == TV_LIFE_BOOK) ? "recite" : "cast"),
@@ -1341,12 +1239,7 @@ msg_format("
 		if (!over_exert) return;
 
 		/* Verify */
-#ifdef JP
-		if (!get_check_strict("¤½¤ì¤Ç¤âÄ©À路¤Þ¤¹¤«? ", CHECK_OKAY_CANCEL)) return;
-#else
-		if (!get_check_strict("Attempt it anyway? ", CHECK_OKAY_CANCEL)) return;
-#endif
-
+		if (!get_check_strict(_("それでも挑戦しますか? ", "Attempt it anyway? "), CHECK_OKAY_CANCEL)) return;
 	}
 
 	/* Spell failure chance */
@@ -1367,13 +1260,8 @@ msg_format("
 	if (randint0(100) < chance)
 	{
 		if (flush_failure) flush();
-
-#ifdef JP
-msg_format("%s¤ò¤¦¤Þ¤¯¾§¤¨¤é¤ì¤Ê¤«¤Ã¤¿¡ª", prayer);
-#else
-		msg_format("You failed to get the %s off!", prayer);
-#endif
-
+		
+		msg_format(_("%sをうまく唱えられなかった!", "You failed to get the %s off!"), prayer);
 		sound(SOUND_FAIL);
 
 		switch (realm)
@@ -1407,12 +1295,7 @@ msg_format("%s
 
 		if ((o_ptr->tval == TV_CHAOS_BOOK) && (randint1(100) < spell))
 		{
-#ifdef JP
-msg_print("¥«¥ª¥¹Åª¤Ê¸ú²Ì¤òȯÀ¸¤·¤¿¡ª");
-#else
-			msg_print("You produce a chaotic effect!");
-#endif
-
+			msg_print(_("カオス的な効果を発生した!", "You produce a chaotic effect!"));
 			wild_magic(spell);
 		}
 		else if ((o_ptr->tval == TV_DEATH_BOOK) && (randint1(100) < spell))
@@ -1423,17 +1306,8 @@ msg_print("
 			}
 			else
 			{
-#ifdef JP
-				msg_print("Äˤ¤¡ª");
-#else
-				msg_print("It hurts!");
-#endif
-
-#ifdef JP
-				take_hit(DAMAGE_LOSELIFE, damroll(o_ptr->sval + 1, 6), "°Å¹õËâË¡¤ÎµÕή", -1);
-#else
-				take_hit(DAMAGE_LOSELIFE, damroll(o_ptr->sval + 1, 6), "a miscast Death spell", -1);
-#endif
+				msg_print(_("痛い!", "It hurts!"));
+				take_hit(DAMAGE_LOSELIFE, damroll(o_ptr->sval + 1, 6), _("暗黒魔法の逆流", "a miscast Death spell"), -1);
 
 				if ((spell > 15) && one_in_(6) && !p_ptr->hold_exp)
 					lose_exp(spell * 250);
@@ -1441,12 +1315,7 @@ msg_print("
 		}
 		else if ((o_ptr->tval == TV_MUSIC_BOOK) && (randint1(200) < spell))
 		{
-#ifdef JP
-msg_print("¤¤¤ä¤Ê²»¤¬¶Á¤¤¤¿");
-#else
-msg_print("An infernal sound echoed.");
-#endif
-
+			msg_print(_("いやな音が響いた", "An infernal sound echoed."));
 			aggravate_monsters(0);
 		}
 		if (randint1(100) >= chance)
@@ -1592,7 +1461,7 @@ msg_print("An infernal sound echoed.");
 	}
 
 	/* Take a turn */
-	energy_use = 100;
+	p_ptr->energy_use = 100;
 
 
 	/* Over-exert the player */
@@ -1605,12 +1474,7 @@ msg_print("An infernal sound echoed.");
 		p_ptr->csp_frac = 0;
 
 		/* Message */
-#ifdef JP
-msg_print("Àº¿À¤ò½¸Ã椷¤¹¤®¤Æµ¤¤ò¼º¤Ã¤Æ¤·¤Þ¤Ã¤¿¡ª");
-#else
-		msg_print("You faint from the effort!");
-#endif
-
+		msg_print(_("精神を集中しすぎて気を失ってしまった!", "You faint from the effort!"));
 
 		/* Hack -- Bypass free action */
 		(void)set_paralyzed(p_ptr->paralyzed + randint1(5 * oops + 1));
@@ -1646,12 +1510,7 @@ msg_print("
 			bool perm = (randint0(100) < 25);
 
 			/* Message */
-#ifdef JP
-msg_print("ÂΤò°­¤¯¤·¤Æ¤·¤Þ¤Ã¤¿¡ª");
-#else
-			msg_print("You have damaged your health!");
-#endif
-
+			msg_print(_("体を悪くしてしまった!", "You have damaged your health!"));
 
 			/* Reduce constitution */
 			(void)dec_stat(A_CON, 15 + randint1(10), perm);
@@ -1664,12 +1523,12 @@ msg_print("
 }
 
 /*!
- * @brief ¥Ú¥Ã¥È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥â¥ó¥¹¥¿¡¼¤ò¥½¡¼¥È¤¹¤ë¤¿¤á¤ÎÈæ³Ó½èÍý
- * @param u ¥â¥ó¥¹¥¿¡¼¤Î¹½Â¤ÂÎÇÛÎó
- * @param v ̤»ÈÍÑ
- * @param a Èæ³ÓÂоݤΥâ¥ó¥¹¥¿¡¼ID1
- * @param b Èæ³ÓÂоݤΥâ¥ó¥¹¥¿¡¼ID2
- * @return 2ÈÖÌܤ¬Âç¤Ê¤é¤ÐTRUE¤òÊÖ¤¹
+ * @brief ペットになっているモンスターをソートするための比較処理
+ * @param u モンスターの構造体配列
+ * @param v 未使用
+ * @param a 比較対象のモンスターID1
+ * @param b 比較対象のモンスターID2
+ * @return 2番目が大ならばTRUEを返す
  */
 static bool ang_sort_comp_pet_dismiss(vptr u, vptr v, int a, int b)
 {
@@ -1708,10 +1567,10 @@ static bool ang_sort_comp_pet_dismiss(vptr u, vptr v, int a, int b)
 }
 
 /*!
- * @brief ¥Ú¥Ã¥È¤ÎÁ±°­Â°À­¤Ë±þ¤¸¤¿°Ý»ý¥³¥¹¥È¤ÎÅÓÃæ·×»»½èÍý
- * @param m_ptr ·×»»´ð½à¤È¤Ê¤ë¥â¥ó¥¹¥¿¡¼¤Î¹½Â¤Âλ²¾È¥Ý¥¤¥ó¥¿
- * @param inc m_ptr¤Ç»ØÄꤷ¤¿¥â¥ó¥¹¥¿¡¼¤ò°Ý»ý¥³¥¹¥È·×»»¤Ë²Ã¤¨¤ë¤Ê¤éTRUE¡¢³°¤¹¤Ê¤éFALSE¤ò»ØÄê
- * @return ¤Ê¤·
+ * @brief ペットの善悪属性に応じた維持コストの途中計算処理
+ * @param m_ptr 計算基準となるモンスターの構造体参照ポインタ
+ * @param inc m_ptrで指定したモンスターを維持コスト計算に加えるならTRUE、外すならFALSEを指定
+ * @return なし
  */
 void check_pets_num_and_align(monster_type *m_ptr, bool inc)
 {
@@ -1735,13 +1594,13 @@ void check_pets_num_and_align(monster_type *m_ptr, bool inc)
 }
 
 /*!
- * @brief ¥Ú¥Ã¥È¤Î°Ý»ý¥³¥¹¥È·×»»
- * @return °Ý»ý¥³¥¹¥È(%)
+ * @brief ペットの維持コスト計算
+ * @return 維持コスト(%)
  */
 int calculate_upkeep(void)
 {
 	s32b old_friend_align = friend_align;
-	int m_idx;
+	MONSTER_IDX m_idx;
 	bool have_a_unique = FALSE;
 	s32b total_friend_levels = 0;
 
@@ -1797,17 +1656,18 @@ int calculate_upkeep(void)
 }
 
 /*!
- * @brief ¥Ú¥Ã¥È¤ò³«Êü¤¹¤ë¥³¥Þ¥ó¥É¤Î¥á¥¤¥ó¥ë¡¼¥Á¥ó
- * @return ¤Ê¤·
+ * @brief ペットを開放するコマンドのメインルーチン
+ * @return なし
  */
 void do_cmd_pet_dismiss(void)
 {
 	monster_type	*m_ptr;
 	bool		all_pets = FALSE;
-	int pet_ctr, i;
+	MONSTER_IDX pet_ctr;
+	int i;
 	int Dismissed = 0;
 
-	u16b *who;
+	MONSTER_IDX *who;
 	u16b dummy_why;
 	int max_pet = 0;
 	int cu, cv;
@@ -1818,7 +1678,7 @@ void do_cmd_pet_dismiss(void)
 	Term->scr->cv = 1;
 
 	/* Allocate the "who" array */
-	C_MAKE(who, max_m_idx, u16b);
+	C_MAKE(who, max_m_idx, MONSTER_IDX);
 
 	/* Process the monsters (backwards) */
 	for (pet_ctr = m_max - 1; pet_ctr >= 1; pet_ctr--)
@@ -1856,7 +1716,7 @@ void do_cmd_pet_dismiss(void)
 			/* Hack -- handle stuff */
 			handle_stuff();
 			
-			msg_format(_("%s¤òÊü¤·¤Þ¤¹¤«¡© [Yes/No/Unnamed (%dÂÎ)]","Dismiss %s? [Yes/No/Unnamed (%d remain)]"), friend_name, max_pet - i);
+			msg_format(_("%sを放しますか? [Yes/No/Unnamed (%d体)]","Dismiss %s? [Yes/No/Unnamed (%d remain)]"), friend_name, max_pet - i);
 			
 			if (m_ptr->ml)
 				move_cursor_relative(m_ptr->fy, m_ptr->fx);
@@ -1871,7 +1731,7 @@ void do_cmd_pet_dismiss(void)
 
 					if (kakunin)
 					{
-						msg_format(_("ËÜÅö¤Ë¤è¤í¤·¤¤¤Ç¤¹¤«¡© (%s) ","Are you sure? (%s) "), friend_name);
+						msg_format(_("本当によろしいですか? (%s) ","Are you sure? (%s) "), friend_name);
 						ch = inkey();
 						if (ch != 'Y' && ch != 'y')
 							delete_this = FALSE;
@@ -1904,7 +1764,7 @@ void do_cmd_pet_dismiss(void)
 
 			if (pet_ctr == p_ptr->riding)
 			{
-				msg_format(_("%s¤«¤é¹ß¤ê¤¿¡£","You have got off %s. "), friend_name);
+				msg_format(_("%sから降りた。","You have got off %s. "), friend_name);
 
 				p_ptr->riding = 0;
 
@@ -1914,7 +1774,7 @@ void do_cmd_pet_dismiss(void)
 			}
 
 			/* HACK : Add the line to message buffer */
-			msg_format(_("%s ¤òÊü¤·¤¿¡£","Dismissed %s."), friend_name);
+			msg_format(_("%s を放した。","Dismissed %s."), friend_name);
 			p_ptr->window |= (PW_MESSAGE);
 			window_stuff();
 
@@ -1927,33 +1787,29 @@ void do_cmd_pet_dismiss(void)
 	Term->scr->cv = cv;
 	Term_fresh();
 
-	C_KILL(who, max_m_idx, u16b);
+	C_KILL(who, max_m_idx, MONSTER_IDX);
 
 #ifdef JP
-	msg_format("%d ÂΤΥڥåȤòÊü¤·¤Þ¤·¤¿¡£", Dismissed);
+	msg_format("%d 体のペットを放しました。", Dismissed);
 #else
 	msg_format("You have dismissed %d pet%s.", Dismissed,
 		   (Dismissed == 1 ? "" : "s"));
 #endif
 	if (Dismissed == 0 && all_pets)
-#ifdef JP
-		msg_print("'U'nnamed ¤Ï¡¢¾èÇϰʳ°¤Î̾Á°¤Î¤Ê¤¤¥Ú¥Ã¥È¤À¤±¤òÁ´¤Æ²òÊü¤·¤Þ¤¹¡£");
-#else
-		msg_print("'U'nnamed means all your pets except named pets and your mount.");
-#endif
+		msg_print(_("'U'nnamed は、乗馬以外の名前のないペットだけを全て解放します。", "'U'nnamed means all your pets except named pets and your mount."));
 }
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤Îµ³¾è/²¼ÇϽèÍýȽÄê
- * @param c_ptr ¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°Àè¥Þ¥¹¤Î¹½Â¤Âλ²¾È¥Ý¥¤¥ó¥¿
- * @param now_riding TRUE¤Ê¤é²¼ÇϽèÍý¡¢FALSE¤Ê¤é¤Ðµ³¾è½èÍý
- * @return ²Äǽ¤Ê¤é¤ÐTRUE¤òÊÖ¤¹
+ * @brief プレイヤーの騎乗/下馬処理判定
+ * @param c_ptr プレイヤーの移動先マスの構造体参照ポインタ
+ * @param now_riding TRUEなら下馬処理、FALSEならば騎乗処理
+ * @return 可能ならばTRUEを返す
  */
 static bool player_can_ride_aux(cave_type *c_ptr, bool now_riding)
 {
 	bool p_can_enter;
 	bool old_character_xtra = character_xtra;
-	int  old_riding = p_ptr->riding;
+	MONSTER_IDX old_riding = p_ptr->riding;
 	bool old_riding_ryoute = p_ptr->riding_ryoute;
 	bool old_old_riding_ryoute = p_ptr->old_riding_ryoute;
 	bool old_pf_ryoute = (p_ptr->pet_extra_flags & PF_RYOUTE) ? TRUE : FALSE;
@@ -1987,12 +1843,12 @@ static bool player_can_ride_aux(cave_type *c_ptr, bool now_riding)
 }
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤ÎÍîÇÏȽÄê½èÍý
- * @param dam ÍîÇÏȽÄê¤òȯ¤·¤¿ºÝ¤Ë¼õ¤±¤¿¥À¥á¡¼¥¸ÎÌ
- * @param force TRUE¤Ê¤é¤Ð¶¯À©Åª¤ËÍîÇϤ¹¤ë
- * @return ¼ÂºÝ¤ËÍîÇϤ·¤¿¤éTRUE¤òÊÖ¤¹
+ * @brief プレイヤーの落馬判定処理
+ * @param dam 落馬判定を発した際に受けたダメージ量
+ * @param force TRUEならば強制的に落馬する
+ * @return 実際に落馬したらTRUEを返す
  */
-bool rakuba(int dam, bool force)
+bool rakuba(HIT_POINT dam, bool force)
 {
 	int i, y, x, oy, ox;
 	int sn = 0, sy = 0, sx = 0;
@@ -2012,7 +1868,7 @@ bool rakuba(int dam, bool force)
 			int max = s_info[p_ptr->pclass].s_max[GINOU_RIDING];
 			int ridinglevel = r_ptr->level;
 
-			/* ÍîÇϤΤ·¤ä¤¹¤µ */
+			/* 落馬のしやすさ */
 			int rakubalevel = r_ptr->level;
 			if (p_ptr->riding_ryoute) rakubalevel += 20;
 
@@ -2029,7 +1885,7 @@ bool rakuba(int dam, bool force)
 				p_ptr->skill_exp[GINOU_RIDING] = MIN(max, cur + inc);
 			}
 
-			/* ¥ì¥Ù¥ë¤ÎÄ㤤¾èÇϤ«¤é¤ÏÍîÇϤ·¤Ë¤¯¤¤ */
+			/* レベルの低い乗馬からは落馬しにくい */
 			if (randint0(dam / 2 + rakubalevel * 2) < cur / 30 + 10)
 			{
 				if ((((p_ptr->pclass == CLASS_BEASTMASTER) || (p_ptr->pclass == CLASS_CAVALRY)) && !p_ptr->riding_ryoute) || !one_in_(p_ptr->lev*(p_ptr->riding_ryoute ? 2 : 3) + 30))
@@ -2045,8 +1901,8 @@ bool rakuba(int dam, bool force)
 			cave_type *c_ptr;
 
 			/* Access the location */
-			y = py + ddy_ddd[i];
-			x = px + ddx_ddd[i];
+			y = p_ptr->y + ddy_ddd[i];
+			x = p_ptr->x + ddx_ddd[i];
 
 			c_ptr = &cave[y][x];
 
@@ -2073,8 +1929,8 @@ bool rakuba(int dam, bool force)
 		{
 			monster_desc(m_name, m_ptr, 0);
 #ifdef JP
-msg_format("%s¤«¤é¿¶¤êÍî¤È¤µ¤ì¤½¤¦¤Ë¤Ê¤Ã¤Æ¡¢Êɤˤ֤Ĥ«¤Ã¤¿¡£",m_name);
-			take_hit(DAMAGE_NOESCAPE, r_ptr->level+3, "Êɤؤξ×ÆÍ", -1);
+msg_format("%sから振り落とされそうになって、壁にぶつかった。",m_name);
+			take_hit(DAMAGE_NOESCAPE, r_ptr->level+3, "壁への衝突", -1);
 #else
 			msg_format("You have nearly fallen from %s, but bumped into wall.",m_name);
 			take_hit(DAMAGE_NOESCAPE, r_ptr->level+3, "bumping into wall", -1);
@@ -2082,17 +1938,17 @@ msg_format("%s
 			return FALSE;
 		}
 
-		oy = py;
-		ox = px;
+		oy = p_ptr->y;
+		ox = p_ptr->x;
 
-		py = sy;
-		px = sx;
+		p_ptr->y = sy;
+		p_ptr->x = sx;
 
 		/* Redraw the old spot */
 		lite_spot(oy, ox);
 
 		/* Redraw the new spot */
-		lite_spot(py, px);
+		lite_spot(p_ptr->y, p_ptr->x);
 
 		/* Check for new panel */
 		verify_panel();
@@ -2120,33 +1976,25 @@ msg_format("%s
 	if (p_ptr->levitation && !force)
 	{
 		monster_desc(m_name, m_ptr, 0);
-#ifdef JP
-		msg_format("%s¤«¤éÍî¤Á¤¿¤¬¡¢¶õÃæ¤Ç¤¦¤Þ¤¯ÂÎÀª¤òΩ¤Æľ¤·¤ÆÃåÃϤ·¤¿¡£",m_name);
-#else
-		msg_format("You are thrown from %s, but make a good landing.",m_name);
-#endif
+		msg_format(_("%sから落ちたが、空中でうまく体勢を立て直して着地した。", "You are thrown from %s, but make a good landing."),m_name);
 	}
 	else
 	{
-#ifdef JP
-		take_hit(DAMAGE_NOESCAPE, r_ptr->level+3, "ÍîÇÏ", -1);
-#else
-		take_hit(DAMAGE_NOESCAPE, r_ptr->level+3, "Falling from riding", -1);
-#endif
+		take_hit(DAMAGE_NOESCAPE, r_ptr->level+3, _("落馬", "Falling from riding"), -1);
 		fall_dam = TRUE;
 	}
 
 	/* Move the player */
 	if (sy && !p_ptr->is_dead)
-		(void)move_player_effect(py, px, MPE_DONT_PICKUP | MPE_DONT_SWAP_MON);
+		(void)move_player_effect(p_ptr->y, p_ptr->x, MPE_DONT_PICKUP | MPE_DONT_SWAP_MON);
 
 	return fall_dam;
 }
 
 /*!
- * @brief ¥Ú¥Ã¥È¤«¤éµ³¾è/²¼ÇϤ¹¤ë¥³¥Þ¥ó¥É¤Î¥á¥¤¥ó¥ë¡¼¥Á¥ó /
- * @param force ¶¯À©Åª¤Ëµ³¾è/²¼ÇϤ¹¤ë¤Ê¤é¤ÐTRUE
- * @return µ³¾è/²¼ÇϤǤ­¤¿¤éTRUE
+ * @brief ペットから騎乗/下馬するコマンドのメインルーチン /
+ * @param force 強制的に騎乗/下馬するならばTRUE
+ * @return 騎乗/下馬できたらTRUE
  */
 bool do_riding(bool force)
 {
@@ -2155,8 +2003,8 @@ bool do_riding(bool force)
 	monster_type *m_ptr;
 
 	if (!get_rep_dir2(&dir)) return FALSE;
-	y = py + ddy[dir];
-	x = px + ddx[dir];
+	y = p_ptr->y + ddy[dir];
+	x = p_ptr->x + ddx[dir];
 	c_ptr = &cave[y][x];
 
 	if (p_ptr->special_defense & KATA_MUSOU) set_action(ACTION_NONE);
@@ -2166,27 +2014,19 @@ bool do_riding(bool force)
 		/* Skip non-empty grids */
 		if (!player_can_ride_aux(c_ptr, FALSE))
 		{
-#ifdef JP
-			msg_print("¤½¤Á¤é¤Ë¤Ï¹ß¤ê¤é¤ì¤Þ¤»¤ó¡£");
-#else
-			msg_print("You cannot go to that direction.");
-#endif
+			msg_print(_("そちらには降りられません。", "You cannot go to that direction."));
 			return FALSE;
 		}
 
-		if (!pattern_seq(py, px, y, x)) return FALSE;
+		if (!pattern_seq(p_ptr->y, p_ptr->x, y, x)) return FALSE;
 
 		if (c_ptr->m_idx)
 		{
 			/* Take a turn */
-			energy_use = 100;
+			p_ptr->energy_use = 100;
 
 			/* Message */
-#ifdef JP
-			msg_print("¥â¥ó¥¹¥¿¡¼¤¬Î©¤Á¤Õ¤µ¤¬¤Ã¤Æ¤¤¤ë¡ª");
-#else
-			msg_print("There is a monster in the way!");
-#endif
+			msg_print(_("モンスターが立ちふさがっている!", "There is a monster in the way!"));
 
 			py_attack(y, x, 0);
 			return FALSE;
@@ -2200,11 +2040,7 @@ bool do_riding(bool force)
 	{
 		if (p_ptr->confused)
 		{
-#ifdef JP
-			msg_print("º®Í𤷤Ƥ¤¤Æ¾è¤ì¤Ê¤¤¡ª");
-#else
-			msg_print("You are too confused!");
-#endif
+			msg_print(_("混乱していて乗れない!", "You are too confused!"));
 			return FALSE;
 		}
 
@@ -2212,46 +2048,31 @@ bool do_riding(bool force)
 
 		if (!c_ptr->m_idx || !m_ptr->ml)
 		{
-#ifdef JP
-			msg_print("¤½¤Î¾ì½ê¤Ë¤Ï¥â¥ó¥¹¥¿¡¼¤Ï¤¤¤Þ¤»¤ó¡£");
-#else
-			msg_print("Here is no monster.");
-#endif
-
+			msg_print(_("その場所にはモンスターはいません。", "Here is no monster."));
 			return FALSE;
 		}
 		if (!is_pet(m_ptr) && !force)
 		{
-#ifdef JP
-			msg_print("¤½¤Î¥â¥ó¥¹¥¿¡¼¤Ï¥Ú¥Ã¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£");
-#else
-			msg_print("That monster is not a pet.");
-#endif
-
+			msg_print(_("そのモンスターはペットではありません。", "That monster is not a pet."));
 			return FALSE;
 		}
 		if (!(r_info[m_ptr->r_idx].flags7 & RF7_RIDING))
 		{
-#ifdef JP
-			msg_print("¤½¤Î¥â¥ó¥¹¥¿¡¼¤Ë¤Ï¾è¤ì¤Ê¤µ¤½¤¦¤À¡£");
-#else
-			msg_print("This monster doesn't seem suitable for riding.");
-#endif
-
+			msg_print(_("そのモンスターには乗れなさそうだ。", "This monster doesn't seem suitable for riding."));
 			return FALSE;
 		}
 
-		if (!pattern_seq(py, px, y, x)) return FALSE;
+		if (!pattern_seq(p_ptr->y, p_ptr->x, y, x)) return FALSE;
 
 		if (!player_can_ride_aux(c_ptr, TRUE))
 		{
 			/* Feature code (applying "mimic" field) */
 			feature_type *f_ptr = &f_info[get_feat_mimic(c_ptr)];
 #ifdef JP
-			msg_format("¤½¤Î¥â¥ó¥¹¥¿¡¼¤Ï%s¤Î%s¤Ë¤¤¤ë¡£", f_name + f_ptr->name,
+			msg_format("そのモンスターは%sの%sにいる。", f_name + f_ptr->name,
 			           ((!have_flag(f_ptr->flags, FF_MOVE) && !have_flag(f_ptr->flags, FF_CAN_FLY)) ||
 			            (!have_flag(f_ptr->flags, FF_LOS) && !have_flag(f_ptr->flags, FF_TREE))) ?
-			           "Ãæ" : "¾å");
+			           "中" : "上");
 #else
 			msg_format("This monster is %s the %s.",
 			           ((!have_flag(f_ptr->flags, FF_MOVE) && !have_flag(f_ptr->flags, FF_CAN_FLY)) ||
@@ -2263,14 +2084,8 @@ bool do_riding(bool force)
 		}
 		if (r_info[m_ptr->r_idx].level > randint1((p_ptr->skill_exp[GINOU_RIDING] / 50 + p_ptr->lev / 2 + 20)))
 		{
-#ifdef JP
-			msg_print("¤¦¤Þ¤¯¾è¤ì¤Ê¤«¤Ã¤¿¡£");
-#else
-			msg_print("You failed to ride.");
-#endif
-
-			energy_use = 100;
-
+			msg_print(_("うまく乗れなかった。", "You failed to ride."));
+			p_ptr->energy_use = 100;
 			return FALSE;
 		}
 
@@ -2279,11 +2094,7 @@ bool do_riding(bool force)
 			char m_name[80];
 			monster_desc(m_name, m_ptr, 0);
 			(void)set_monster_csleep(c_ptr->m_idx, 0);
-#ifdef JP
-			msg_format("%s¤òµ¯¤³¤·¤¿¡£", m_name);
-#else
-			msg_format("You have waked %s up.", m_name);
-#endif
+			msg_format(_("%sを起こした。", "You have waked %s up."), m_name);
 		}
 
 		if (p_ptr->action == ACTION_KAMAE) set_action(ACTION_NONE);
@@ -2294,7 +2105,7 @@ bool do_riding(bool force)
 		if (p_ptr->riding == p_ptr->health_who) health_track(0);
 	}
 
-	energy_use = 100;
+	p_ptr->energy_use = 100;
 
 	/* Mega-Hack -- Forget the view and lite */
 	p_ptr->update |= (PU_UN_VIEW | PU_UN_LITE);
@@ -2314,8 +2125,8 @@ bool do_riding(bool force)
 }
 
 /*!
- * @brief ¥Ú¥Ã¥È¤Ë̾Á°¤ò¤Ä¤±¤ë¥³¥Þ¥ó¥É¤Î¥á¥¤¥ó¥ë¡¼¥Á¥ó
- * @return ¤Ê¤·
+ * @brief ペットに名前をつけるコマンドのメインルーチン
+ * @return なし
  */
 static void do_name_pet(void)
 {
@@ -2340,31 +2151,18 @@ static void do_name_pet(void)
 		if (!is_pet(m_ptr))
 		{
 			/* Message */
-#ifdef JP
-			msg_print("¤½¤Î¥â¥ó¥¹¥¿¡¼¤Ï¥Ú¥Ã¥È¤Ç¤Ï¤Ê¤¤¡£");
-#else
-			msg_format("This monster is not a pet.");
-#endif
+			msg_print(_("そのモンスターはペットではない。", "This monster is not a pet."));
 			return;
 		}
 		if (r_info[m_ptr->r_idx].flags1 & RF1_UNIQUE)
 		{
-#ifdef JP
-			msg_print("¤½¤Î¥â¥ó¥¹¥¿¡¼¤Î̾Á°¤ÏÊѤ¨¤é¤ì¤Ê¤¤¡ª");
-#else
-			msg_format("You cannot change name of this monster!");
-#endif
+			msg_print(_("そのモンスターの名前は変えられない!", "You cannot change name of this monster!"));
 			return;
 		}
 		monster_desc(m_name, m_ptr, 0);
 
 		/* Message */
-#ifdef JP
-		msg_format("%s¤Ë̾Á°¤ò¤Ä¤±¤ë¡£", m_name);
-#else
-		msg_format("Name %s.", m_name);
-#endif
-
+		msg_format(_("%sに名前をつける。", "Name %s."), m_name);
 		msg_print(NULL);
 
 		/* Start with nothing */
@@ -2379,12 +2177,7 @@ static void do_name_pet(void)
 		}
 
 		/* Get a new inscription (possibly empty) */
-#ifdef JP
-		if (get_string("̾Á°: ", out_val, 15))
-#else
-		if (get_string("Name: ", out_val, 15))
-#endif
-
+		if (get_string(_("名前: ", "Name: "), out_val, 15))
 		{
 			if (out_val[0])
 			{
@@ -2392,8 +2185,6 @@ static void do_name_pet(void)
 				m_ptr->nickname = quark_add(out_val);
 				if (record_named_pet)
 				{
-					char m_name[80];
-
 					monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
 					do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_NAME, m_name);
 				}
@@ -2402,8 +2193,6 @@ static void do_name_pet(void)
 			{
 				if (record_named_pet && old_name)
 				{
-					char m_name[80];
-
 					monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
 					do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_UNNAME, m_name);
 				}
@@ -2415,13 +2204,13 @@ static void do_name_pet(void)
 
 
 /*!
- * @brief ¥Ú¥Ã¥È¤Ë´Ø¤¹¤ë¥³¥Þ¥ó¥É¥ê¥¹¥È¤Î¥á¥¤¥ó¥ë¡¼¥Á¥ó /
+ * @brief ペットに関するコマンドリストのメインルーチン /
  * Issue a pet command
- * @return ¤Ê¤·
+ * @return なし
  */
 void do_cmd_pet(void)
 {
-	int			i = 0;
+	SPELL_IDX i = 0;
 	int			num;
 	int			powers[36];
 	cptr			power_desc[36];
@@ -2440,202 +2229,109 @@ void do_cmd_pet(void)
 
 	num = 0;
 
-#ifdef JP
-	power_desc[num] = "¥Ú¥Ã¥È¤òÊü¤¹";
-#else
-	power_desc[num] = "dismiss pets";
-#endif
-
+	power_desc[num] = _("ペットを放す", "dismiss pets");
 	powers[num++] = PET_DISMISS;
 
 #ifdef JP
-	sprintf(target_buf, "¥Ú¥Ã¥È¤Î¥¿¡¼¥²¥Ã¥È¤ò»ØÄê (¸½ºß¡§%s)",
-		(pet_t_m_idx ? (p_ptr->image ? "²¿¤«´ñ̯¤Êʪ" : (r_name + r_info[m_list[pet_t_m_idx].ap_r_idx].name)) : "»ØÄê¤Ê¤·"));
+	sprintf(target_buf, "ペットのターゲットを指定 (現在:%s)",
+		(pet_t_m_idx ? (p_ptr->image ? "何か奇妙な物" : (r_name + r_info[m_list[pet_t_m_idx].ap_r_idx].name)) : "指定なし"));
 #else
 	sprintf(target_buf, "specify a target of pet (now:%s)",
 		(pet_t_m_idx ? (p_ptr->image ? "something strange" : (r_name + r_info[m_list[pet_t_m_idx].ap_r_idx].name)) : "nothing"));
 #endif
 	power_desc[num] = target_buf;
-
 	powers[num++] = PET_TARGET;
-
-#ifdef JP
-	power_desc[num] = "¶á¤¯¤Ë¤¤¤í";
-#else
-	power_desc[num] = "stay close";
-#endif
+	power_desc[num] = _("近くにいろ", "stay close");
 
 	if (p_ptr->pet_follow_distance == PET_CLOSE_DIST) mode = num;
 	powers[num++] = PET_STAY_CLOSE;
-
-#ifdef JP
-	power_desc[num] = "¤Ä¤¤¤ÆÍ褤";
-#else
-	power_desc[num] = "follow me";
-#endif
+	power_desc[num] = _("ついて来い", "follow me");
 
 	if (p_ptr->pet_follow_distance == PET_FOLLOW_DIST) mode = num;
 	powers[num++] = PET_FOLLOW_ME;
-
-#ifdef JP
-	power_desc[num] = "Ũ¤ò¸«¤Ä¤±¤ÆÅݤ»";
-#else
-	power_desc[num] = "seek and destroy";
-#endif
+	power_desc[num] = _("敵を見つけて倒せ", "seek and destroy");
 
 	if (p_ptr->pet_follow_distance == PET_DESTROY_DIST) mode = num;
 	powers[num++] = PET_SEEK_AND_DESTROY;
-
-#ifdef JP
-	power_desc[num] = "¾¯¤·Î¥¤ì¤Æ¤¤¤í";
-#else
-	power_desc[num] = "give me space";
-#endif
+	power_desc[num] = _("少し離れていろ", "give me space");
 
 	if (p_ptr->pet_follow_distance == PET_SPACE_DIST) mode = num;
 	powers[num++] = PET_ALLOW_SPACE;
-
-#ifdef JP
-	power_desc[num] = "Î¥¤ì¤Æ¤¤¤í";
-#else
-	power_desc[num] = "stay away";
-#endif
+	power_desc[num] = _("離れていろ", "stay away");
 
 	if (p_ptr->pet_follow_distance == PET_AWAY_DIST) mode = num;
 	powers[num++] = PET_STAY_AWAY;
 
 	if (p_ptr->pet_extra_flags & PF_OPEN_DOORS)
 	{
-#ifdef JP
-		power_desc[num] = "¥É¥¢¤ò³«¤±¤ë (¸½ºß:ON)";
-#else
-		power_desc[num] = "pets open doors (now On)";
-#endif
+		power_desc[num] = _("ドアを開ける (現在:ON)", "pets open doors (now On)");
 	}
 	else
 	{
-#ifdef JP
-		power_desc[num] = "¥É¥¢¤ò³«¤±¤ë (¸½ºß:OFF)";
-#else
-		power_desc[num] = "pets open doors (now Off)";
-#endif
+		power_desc[num] = _("ドアを開ける (現在:OFF)", "pets open doors (now Off)");
 	}
 	powers[num++] = PET_OPEN_DOORS;
 
 	if (p_ptr->pet_extra_flags & PF_PICKUP_ITEMS)
 	{
-#ifdef JP
-		power_desc[num] = "¥¢¥¤¥Æ¥à¤ò½¦¤¦ (¸½ºß:ON)";
-#else
-		power_desc[num] = "pets pick up items (now On)";
-#endif
+		power_desc[num] = _("アイテムを拾う (現在:ON)", "pets pick up items (now On)");
 	}
 	else
 	{
-#ifdef JP
-		power_desc[num] = "¥¢¥¤¥Æ¥à¤ò½¦¤¦ (¸½ºß:OFF)";
-#else
-		power_desc[num] = "pets pick up items (now Off)";
-#endif
+		power_desc[num] = _("アイテムを拾う (現在:OFF)", "pets pick up items (now Off)");
 	}
 	powers[num++] = PET_TAKE_ITEMS;
 
 	if (p_ptr->pet_extra_flags & PF_TELEPORT)
 	{
-#ifdef JP
-		power_desc[num] = "¥Æ¥ì¥Ý¡¼¥È·ÏËâË¡¤ò»È¤¦ (¸½ºß:ON)";
-#else
-		power_desc[num] = "allow teleport (now On)";
-#endif
+		power_desc[num] = _("テレポート系魔法を使う (現在:ON)", "allow teleport (now On)");
 	}
 	else
 	{
-#ifdef JP
-		power_desc[num] = "¥Æ¥ì¥Ý¡¼¥È·ÏËâË¡¤ò»È¤¦ (¸½ºß:OFF)";
-#else
-		power_desc[num] = "allow teleport (now Off)";
-#endif
+		power_desc[num] = _("テレポート系魔法を使う (現在:OFF)", "allow teleport (now Off)");
 	}
 	powers[num++] = PET_TELEPORT;
 
 	if (p_ptr->pet_extra_flags & PF_ATTACK_SPELL)
 	{
-#ifdef JP
-		power_desc[num] = "¹¶·âËâË¡¤ò»È¤¦ (¸½ºß:ON)";
-#else
-		power_desc[num] = "allow cast attack spell (now On)";
-#endif
+		power_desc[num] = _("攻撃魔法を使う (現在:ON)", "allow cast attack spell (now On)");
 	}
 	else
 	{
-#ifdef JP
-		power_desc[num] = "¹¶·âËâË¡¤ò»È¤¦ (¸½ºß:OFF)";
-#else
-		power_desc[num] = "allow cast attack spell (now Off)";
-#endif
+		power_desc[num] = _("攻撃魔法を使う (現在:OFF)", "allow cast attack spell (now Off)");
 	}
 	powers[num++] = PET_ATTACK_SPELL;
 
 	if (p_ptr->pet_extra_flags & PF_SUMMON_SPELL)
 	{
-#ifdef JP
-		power_desc[num] = "¾¤´­ËâË¡¤ò»È¤¦ (¸½ºß:ON)";
-#else
-		power_desc[num] = "allow cast summon spell (now On)";
-#endif
+		power_desc[num] = _("召喚魔法を使う (現在:ON)", "allow cast summon spell (now On)");
 	}
 	else
 	{
-#ifdef JP
-		power_desc[num] = "¾¤´­ËâË¡¤ò»È¤¦ (¸½ºß:OFF)";
-#else
-		power_desc[num] = "allow cast summon spell (now Off)";
-#endif
+		power_desc[num] = _("召喚魔法を使う (現在:OFF)", "allow cast summon spell (now Off)");
 	}
 	powers[num++] = PET_SUMMON_SPELL;
 
 	if (p_ptr->pet_extra_flags & PF_BALL_SPELL)
 	{
-#ifdef JP
-		power_desc[num] = "¥×¥ì¥¤¥ä¡¼¤ò´¬¤­¹þ¤àÈÏ°ÏËâË¡¤ò»È¤¦ (¸½ºß:ON)";
-#else
-		power_desc[num] = "allow involve player in area spell (now On)";
-#endif
+		power_desc[num] = _("プレイヤーを巻き込む範囲魔法を使う (現在:ON)", "allow involve player in area spell (now On)");
 	}
 	else
 	{
-#ifdef JP
-		power_desc[num] = "¥×¥ì¥¤¥ä¡¼¤ò´¬¤­¹þ¤àÈÏ°ÏËâË¡¤ò»È¤¦ (¸½ºß:OFF)";
-#else
-		power_desc[num] = "allow involve player in area spell (now Off)";
-#endif
+		power_desc[num] = _("プレイヤーを巻き込む範囲魔法を使う (現在:OFF)", "allow involve player in area spell (now Off)");
 	}
 	powers[num++] = PET_BALL_SPELL;
 
 	if (p_ptr->riding)
 	{
-#ifdef JP
-		power_desc[num] = "¥Ú¥Ã¥È¤«¤é¹ß¤ê¤ë";
-#else
-		power_desc[num] = "get off a pet";
-#endif
+		power_desc[num] = _("ペットから降りる", "get off a pet");
 	}
 	else
 	{
-#ifdef JP
-		power_desc[num] = "¥Ú¥Ã¥È¤Ë¾è¤ë";
-#else
-		power_desc[num] = "ride a pet";
-#endif
+		power_desc[num] = _("ペットに乗る", "ride a pet");
 	}
 	powers[num++] = PET_RIDING;
-
-#ifdef JP
-	power_desc[num] = "¥Ú¥Ã¥È¤Ë̾Á°¤ò¤Ä¤±¤ë";
-#else
-	power_desc[num] = "name pets";
-#endif
-
+	power_desc[num] = _("ペットに名前をつける", "name pets");
 	powers[num++] = PET_NAME;
 
 	if (p_ptr->riding)
@@ -2647,19 +2343,11 @@ void do_cmd_pet(void)
 		{
 			if (p_ptr->pet_extra_flags & PF_RYOUTE)
 			{
-#ifdef JP
-				power_desc[num] = "Éð´ï¤òÊÒ¼ê¤Ç»ý¤Ä";
-#else
-				power_desc[num] = "use one hand to control a riding pet";
-#endif
+				power_desc[num] = _("武器を片手で持つ", "use one hand to control a riding pet");
 			}
 			else
 			{
-#ifdef JP
-				power_desc[num] = "Éð´ï¤òξ¼ê¤Ç»ý¤Ä";
-#else
-				power_desc[num] = "use both hands for a weapon";
-#endif
+				power_desc[num] = _("武器を両手で持つ", "use both hands for a weapon");
 			}
 
 			powers[num++] = PET_RYOUTE;
@@ -2675,19 +2363,11 @@ void do_cmd_pet(void)
 				{
 					if (p_ptr->pet_extra_flags & PF_RYOUTE)
 					{
-#ifdef JP
-						power_desc[num] = "ÊÒ¼ê¤Ç³ÊÆ®¤¹¤ë";
-#else
-						power_desc[num] = "use one hand to control a riding pet";
-#endif
+						power_desc[num] = _("片手で格闘する", "use one hand to control a riding pet");
 					}
 					else
 					{
-#ifdef JP
-						power_desc[num] = "ξ¼ê¤Ç³ÊÆ®¤¹¤ë";
-#else
-						power_desc[num] = "use both hands for melee";
-#endif
+						power_desc[num] = _("両手で格闘する", "use both hands for melee");
 					}
 
 					powers[num++] = PET_RYOUTE;
@@ -2696,19 +2376,11 @@ void do_cmd_pet(void)
 				{
 					if (p_ptr->pet_extra_flags & PF_RYOUTE)
 					{
-#ifdef JP
-						power_desc[num] = "³ÊÆ®¤ò¹Ô¤ï¤Ê¤¤";
-#else
-						power_desc[num] = "use one hand to control a riding pet";
-#endif
+						power_desc[num] = _("格闘を行わない", "use one hand to control a riding pet");
 					}
 					else
 					{
-#ifdef JP
-						power_desc[num] = "³ÊÆ®¤ò¹Ô¤¦";
-#else
-						power_desc[num] = "use one hand for melee";
-#endif
+						power_desc[num] = _("格闘を行う", "use one hand for melee");
 					}
 
 					powers[num++] = PET_RYOUTE;
@@ -2735,21 +2407,13 @@ void do_cmd_pet(void)
 		screen_save();
 
 		/* Build a prompt */
-#ifdef JP
-		strnfmt(out_val, 78, "(¥³¥Þ¥ó¥É¡¢ESC=½ªÎ») ¥³¥Þ¥ó¥É¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤:");
-#else
-		strnfmt(out_val, 78, "(Command, ESC=exit) Choose command from menu.");
-#endif
+		strnfmt(out_val, 78, _("(コマンド、ESC=終了) コマンドを選んでください:", "(Command, ESC=exit) Choose command from menu."));
 	}
 	else
 	{
 		/* Build a prompt */
 		strnfmt(out_val, 78,
-#ifdef JP
-		        "(¥³¥Þ¥ó¥É %c-%c¡¢'*'=°ìÍ÷¡¢ESC=½ªÎ») ¥³¥Þ¥ó¥É¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤:",
-#else
-		        "(Command %c-%c, *=List, ESC=exit) Select a command: ",
-#endif
+		        _("(コマンド %c-%c、'*'=一覧、ESC=終了) コマンドを選んでください:", "(Command %c-%c, *=List, ESC=exit) Select a command: "),
 		        I2A(0), I2A(num - 1));
 	}
 
@@ -2827,12 +2491,10 @@ void do_cmd_pet(void)
 				for (ctr = 0; ctr < num; ctr++)
 				{
 					/* Letter/number for power selection */
-#ifdef JP
-					if (use_menu) sprintf(buf, "%c%s ", (ctr == mode) ? '*' : ' ', (ctr == (menu_line - 1)) ? "¡Õ" : "  ");
-#else
-					if (use_menu) sprintf(buf, "%c%s ", (ctr == mode) ? '*' : ' ', (ctr == (menu_line - 1)) ? "> " : "  ");
-#endif
-					else sprintf(buf, "%c%c) ", (ctr == mode) ? '*' : ' ', I2A(ctr));
+					if (use_menu) 
+						sprintf(buf, "%c%s ", (ctr == mode) ? '*' : ' ', (ctr == (menu_line - 1)) ? _("》", "> ") : "  ");
+					else 
+						sprintf(buf, "%c%c) ", (ctr == mode) ? '*' : ' ', I2A(ctr));
 
 					strcat(buf, power_desc[ctr]);
 
@@ -2862,7 +2524,7 @@ void do_cmd_pet(void)
 			ask = (isupper(choice));
 
 			/* Lowercase */
-			if (ask) choice = tolower(choice);
+			if (ask) choice = (char)tolower(choice);
 
 			/* Extract request */
 			i = (islower(choice) ? A2I(choice) : -1);
@@ -2879,11 +2541,7 @@ void do_cmd_pet(void)
 		if (ask)
 		{
 			/* Prompt */
-#ifdef JP
-			strnfmt(buf, 78, "%s¤ò»È¤¤¤Þ¤¹¤«¡© ", power_desc[i]);
-#else
-			strnfmt(buf, 78, "Use %s? ", power_desc[i]);
-#endif
+			strnfmt(buf, 78, _("%sを使いますか? ", "Use %s? "), power_desc[i]);
 
 			/* Belay that order */
 			if (!get_check(buf)) continue;
@@ -2899,7 +2557,7 @@ void do_cmd_pet(void)
 	/* Abort if needed */
 	if (!flag)
 	{
-		energy_use = 0;
+		p_ptr->energy_use = 0;
 		return;
 	}
 
@@ -2921,11 +2579,7 @@ void do_cmd_pet(void)
 
 			if (!pet_ctr)
 			{
-#ifdef JP
-				msg_print("¥Ú¥Ã¥È¤¬¤¤¤Ê¤¤¡ª");
-#else
-				msg_print("You have no pets!");
-#endif
+				msg_print(_("ペットがいない!", "You have no pets!"));
 				break;
 			}
 			do_cmd_pet_dismiss();