X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fobject1.c;h=dca9f716bb2640168e0db76eb2c5dadd42e5c77f;hb=1836893b03f0c01746b0cebebd00019c6c663270;hp=a3b90353ece2152c209b9d8566e88b25bd2f09d9;hpb=3ba9ded52e540384e45690f9838682cad1c74066;p=hengband%2Fhengband.git diff --git a/src/object1.c b/src/object1.c index a3b90353e..dca9f716b 100644 --- a/src/object1.c +++ b/src/object1.c @@ -1,6 +1,6 @@ -/*! +/*! * @file object1.c - * @brief ¥ª¥Ö¥¸¥§¥¯¥È¤Î¼ÂÁõ / Object code, part 1 + * @brief オブジェクトの実装 / Object code, part 1 * @date 2014/01/10 * @author * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke\n @@ -20,8 +20,8 @@ #endif /*! - * @brief ¥ª¥Ö¥¸¥§¥¯¥È¡¢ÃÏ·Á¤Îɽ¼¨¥·¥ó¥Ü¥ë¤Ê¤É½é´ü²½¤¹¤ë / Reset the "visual" lists - * @return ¤Ê¤· + * @brief オブジェクト、地形の表示シンボルなど初期化する / Reset the "visual" lists + * @return なし * This involves resetting various things to their "default" state.\n *\n * If the "prefs" flag is TRUE, then we will also load the appropriate\n @@ -29,9 +29,9 @@ * flag. This is useful for switching "graphics" on/off.\n *\n * The features, objects, and monsters, should all be encoded in the\n - * relevant "font.pref" and/or "graf.prf" files. XXX XXX XXX\n + * relevant "font.pref" and/or "graf.prf" files. \n *\n - * The "prefs" parameter is no longer meaningful. XXX XXX XXX\n + * The "prefs" parameter is no longer meaningful. \n */ void reset_visuals(void) { @@ -101,13 +101,13 @@ void reset_visuals(void) } /*! - * @brief ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Õ¥é¥°Îà¤òÇÛÎó¤ËÍ¿¤¨¤ë + * @brief オブジェクトのフラグ類を配列に与える * Obtain the "flags" for an item - * @param o_ptr ¥Õ¥é¥°¼èÆÀ¸µ¤Î¥ª¥Ö¥¸¥§¥¯¥È¹½Â¤ÂΥݥ¤¥ó¥¿ - * @param flgs ¥Õ¥é¥°¾ðÊó¤ò¼õ¤±¼è¤ëÇÛÎó - * @return ¤Ê¤· + * @param o_ptr フラグ取得元のオブジェクト構造体ポインタ + * @param flgs フラグ情報を受け取る配列 + * @return なし */ -void object_flags(object_type *o_ptr, u32b flgs[TR_FLAG_SIZE]) +void object_flags(object_type *o_ptr, BIT_FLAGS flgs[TR_FLAG_SIZE]) { object_kind *k_ptr = &k_info[o_ptr->k_idx]; int i; @@ -210,13 +210,13 @@ void object_flags(object_type *o_ptr, u32b flgs[TR_FLAG_SIZE]) } /*! - * @brief ¥ª¥Ö¥¸¥§¥¯¥È¤ÎÌÀ¼¨¤µ¤ì¤Æ¤¤¤ë¥Õ¥é¥°Îà¤ò¼èÆÀ¤¹¤ë + * @brief オブジェクトの明示されているフラグ類を取得する * Obtain the "flags" for an item which are known to the player - * @param o_ptr ¥Õ¥é¥°¼èÆÀ¸µ¤Î¥ª¥Ö¥¸¥§¥¯¥È¹½Â¤ÂΥݥ¤¥ó¥¿ - * @param flgs ¥Õ¥é¥°¾ðÊó¤ò¼õ¤±¼è¤ëÇÛÎó - * @return ¤Ê¤· + * @param o_ptr フラグ取得元のオブジェクト構造体ポインタ + * @param flgs フラグ情報を受け取る配列 + * @return なし */ -void object_flags_known(object_type *o_ptr, u32b flgs[TR_FLAG_SIZE]) +void object_flags_known(object_type *o_ptr, BIT_FLAGS flgs[TR_FLAG_SIZE]) { bool spoil = FALSE; int i; @@ -337,14 +337,14 @@ void object_flags_known(object_type *o_ptr, u32b flgs[TR_FLAG_SIZE]) } /*! - * @brief ¥ª¥Ö¥¸¥§¥¯¥È¤Îȯư¸ú²Ì̾¾Î¤òÊÖ¤¹¡Ê¥µ¥Ö¥ë¡¼¥Á¥ó/¥Ö¥ì¥¹¡Ë - * @param o_ptr ̾¾Î¤ò¼èÆÀ¤¹¤ë¸µ¤Î¥ª¥Ö¥¸¥§¥¯¥È¹½Â¤Âλ²¾È¥Ý¥¤¥ó¥¿ - * @return cptr ȯư̾¾Î¤òÊÖ¤¹Ê¸»úÎó¥Ý¥¤¥ó¥¿ + * @brief オブジェクトの発動効果名称を返す(サブルーチン/ブレス) + * @param o_ptr 名称を取得する元のオブジェクト構造体参照ポインタ + * @return cptr 発動名称を返す文字列ポインタ */ static cptr item_activation_dragon_breath(object_type *o_ptr) { static char desc[256]; - u32b flgs[TR_FLAG_SIZE]; /* for resistance flags */ + BIT_FLAGS flgs[TR_FLAG_SIZE]; /* for resistance flags */ int i, n = 0; object_flags(o_ptr, flgs); @@ -354,21 +354,21 @@ static cptr item_activation_dragon_breath(object_type *o_ptr) { if (have_flag(flgs, dragonbreath_info[i].flag)) { - if (n > 0) strcat(desc, _("¡¢", ", ")); + if (n > 0) strcat(desc, _("、", ", ")); strcat(desc, dragonbreath_info[i].name); n++; } } - strcat(desc, _("¤Î¥Ö¥ì¥¹(250)", "")); + strcat(desc, _("のブレス(250)", "")); return (desc); } /*! - * @brief ¥ª¥Ö¥¸¥§¥¯¥È¤Îȯư¸ú²Ì̾¾Î¤òÊÖ¤¹¡Ê¥µ¥Ö¥ë¡¼¥Á¥ó/ÈÆÍÑ¡Ë - * @param o_ptr ̾¾Î¤ò¼èÆÀ¤¹¤ë¸µ¤Î¥ª¥Ö¥¸¥§¥¯¥È¹½Â¤Âλ²¾È¥Ý¥¤¥ó¥¿ - * @return cptr ȯư̾¾Î¤òÊÖ¤¹Ê¸»úÎó¥Ý¥¤¥ó¥¿ + * @brief オブジェクトの発動効果名称を返す(サブルーチン/汎用) + * @param o_ptr 名称を取得する元のオブジェクト構造体参照ポインタ + * @return cptr 発動名称を返す文字列ポインタ */ static cptr item_activation_aux(object_type *o_ptr) { @@ -378,7 +378,7 @@ static cptr item_activation_aux(object_type *o_ptr) int constant, dice; const activation_type* const act_ptr = find_activation_info(o_ptr); - if (!act_ptr) return _("̤ÄêµÁ", "something undefined"); + if (!act_ptr) return _("未定義", "something undefined"); desc = act_ptr->desc; @@ -386,38 +386,38 @@ static cptr item_activation_aux(object_type *o_ptr) switch (act_ptr->index) { case ACT_BR_FIRE: if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES)) - desc = _("²Ð±ê¤Î¥Ö¥ì¥¹ (200) ¤È²Ð¤Ø¤ÎÂÑÀ­", "breath of fire (200) and resist fire"); + desc = _("火炎のブレス (200) と火への耐性", "breath of fire (200) and resist fire"); break; case ACT_BR_COLD: if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE)) - desc = _("Î䵤¤Î¥Ö¥ì¥¹ (200) ¤ÈÎ䵤¤Ø¤ÎÂÑÀ­", "breath of cold (200) and resist cold"); + desc = _("冷気のブレス (200) と冷気への耐性", "breath of cold (200) and resist cold"); break; case ACT_BR_DRAGON: desc = item_activation_dragon_breath(o_ptr); break; case ACT_AGGRAVATE: if (o_ptr->name1 == ART_HYOUSIGI) - desc = _("Çï»ÒÌÚ¤òÂǤÁ¤Ê¤é¤¹", "beat wooden clappers"); + desc = _("拍子木を打ちならす", "beat wooden clappers"); break; case ACT_RESIST_ACID: if (((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ACID)) || (o_ptr->name2 == EGO_BRAND_ACID)) - desc = _("¥¢¥·¥Ã¥É¡¦¥Ü¡¼¥ë (100) ¤È»À¤Ø¤ÎÂÑÀ­", "ball of acid (100) and resist acid"); + desc = _("アシッド・ボール (100) と酸への耐性", "ball of acid (100) and resist acid"); break; case ACT_RESIST_FIRE: if (((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES)) || (o_ptr->name2 == EGO_BRAND_FIRE)) - desc = _("¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë (100) ¤È²Ð¤Ø¤ÎÂÑÀ­", "ball of fire (100) and resist fire"); + desc = _("ファイア・ボール (100) と火への耐性", "ball of fire (100) and resist fire"); break; case ACT_RESIST_COLD: if (((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE)) || (o_ptr->name2 == EGO_BRAND_COLD)) - desc = _("¥¢¥¤¥¹¡¦¥Ü¡¼¥ë (100) ¤ÈÎ䵤¤Ø¤ÎÂÑÀ­", "ball of cold (100) and resist cold"); + desc = _("アイス・ボール (100) と冷気への耐性", "ball of cold (100) and resist cold"); break; case ACT_RESIST_ELEC: if (((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ELEC)) || (o_ptr->name2 == EGO_BRAND_ELEC)) - desc = _("¥µ¥ó¥À¡¼¡¦¥Ü¡¼¥ë (100) ¤ÈÅÅ·â¤Ø¤ÎÂÑÀ­", "ball of elec (100) and resist elec"); + desc = _("サンダー・ボール (100) と電撃への耐性", "ball of elec (100) and resist elec"); break; case ACT_RESIST_POIS: if (o_ptr->name2 == EGO_BRAND_POIS) - desc = _("°­½­±À (100) ¤ÈÆǤؤÎÂÑÀ­", "ball of poison (100) and resist elec"); + desc = _("悪臭雲 (100) と毒への耐性", "ball of poison (100) and resist elec"); break; } @@ -426,23 +426,23 @@ static cptr item_activation_aux(object_type *o_ptr) dice = act_ptr->timeout.dice; if (constant == 0 && dice == 0) { /* We can activate it every turn */ - strcpy(timeout, _("¤¤¤Ä¤Ç¤â", "every turn")); + strcpy(timeout, _("いつでも", "every turn")); } else if (constant < 0) { /* Activations that have special timeout */ switch (act_ptr->index) { case ACT_BR_FIRE: - sprintf(timeout, _("%d ¥¿¡¼¥óËè", "every %d turns"), + sprintf(timeout, _("%d ターン毎", "every %d turns"), ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES)) ? 200 : 250); break; case ACT_BR_COLD: - sprintf(timeout, _("%d ¥¿¡¼¥óËè", "every %d turns"), + sprintf(timeout, _("%d ターン毎", "every %d turns"), ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE)) ? 200 : 250); break; case ACT_TERROR: - strcpy(timeout, _("3*(¥ì¥Ù¥ë+10) ¥¿¡¼¥óËè", "every 3 * (level+10) turns")); + strcpy(timeout, _("3*(レベル+10) ターン毎", "every 3 * (level+10) turns")); break; case ACT_MURAMASA: - strcpy(timeout, _("³ÎΨ50%¤Ç²õ¤ì¤ë", "(destroyed 50%)")); + strcpy(timeout, _("確率50%で壊れる", "(destroyed 50%)")); break; default: strcpy(timeout, "undefined"); @@ -453,7 +453,7 @@ static cptr item_activation_aux(object_type *o_ptr) char constant_str[16], dice_str[16]; sprintf(constant_str, "%d", constant); sprintf(dice_str, "d%d", dice); - sprintf(timeout, _("%s%s%s ¥¿¡¼¥óËè", "every %s%s%s turns"), + sprintf(timeout, _("%s%s%s ターン毎", "every %s%s%s turns"), (constant > 0) ? constant_str : "", (constant > 0 && dice > 0) ? "+" : "", (dice > 0) ? dice_str : ""); @@ -466,24 +466,20 @@ static cptr item_activation_aux(object_type *o_ptr) } /*! - * @brief ¥ª¥Ö¥¸¥§¥¯¥È¤Îȯư¸ú²Ì̾¾Î¤òÊÖ¤¹¡Ê¥á¥¤¥ó¥ë¡¼¥Á¥ó¡Ë / + * @brief オブジェクトの発動効果名称を返す(メインルーチン) / * Determine the "Activation" (if any) for an artifact Return a string, or NULL for "no activation" - * @param o_ptr ̾¾Î¤ò¼èÆÀ¤¹¤ë¸µ¤Î¥ª¥Ö¥¸¥§¥¯¥È¹½Â¤Âλ²¾È¥Ý¥¤¥ó¥¿ - * @return cptr ȯư̾¾Î¤òÊÖ¤¹Ê¸»úÎó¥Ý¥¤¥ó¥¿ + * @param o_ptr 名称を取得する元のオブジェクト構造体参照ポインタ + * @return cptr 発動名称を返す文字列ポインタ */ cptr item_activation(object_type *o_ptr) { - u32b flgs[TR_FLAG_SIZE]; + BIT_FLAGS flgs[TR_FLAG_SIZE]; /* Extract the flags */ object_flags(o_ptr, flgs); /* Require activation ability */ -#ifdef JP - if (!(have_flag(flgs, TR_ACTIVATE))) return ("¤Ê¤·"); -#else - if (!(have_flag(flgs, TR_ACTIVATE))) return ("nothing"); -#endif + if (!(have_flag(flgs, TR_ACTIVATE))) return (_("なし", "nothing")); /* Get an explain of an activation */ if (activation_index(o_ptr)) @@ -494,49 +490,36 @@ cptr item_activation(object_type *o_ptr) /* Special items */ if (o_ptr->tval == TV_WHISTLE) { -#ifdef JP -return "¥Ú¥Ã¥È¸Æ¤Ó´ó¤» : 100+d100¥¿¡¼¥óËè"; -#else - return "call pet every 100+d100 turns"; -#endif + return _("ペット呼び寄せ : 100+d100ターン毎", "call pet every 100+d100 turns"); } if (o_ptr->tval == TV_CAPTURE) { -#ifdef JP -return "¥â¥ó¥¹¥¿¡¼¤òÊᤨ¤ë¡¢Ëô¤Ï²òÊü¤¹¤ë¡£"; -#else - return "captures or releases a monster."; -#endif + return _("モンスターを捕える、又は解放する。", "captures or releases a monster."); } - /* Oops */ -#ifdef JP - return "²¿¤âµ¯¤­¤Ê¤¤"; -#else - return "Nothing"; -#endif + return _("何も起きない", "Nothing"); } /*! - * @brief ¥ª¥Ö¥¸¥§¥¯¥È¤Î*´ÕÄê*ÆâÍƤò¾Ü½Ò¤·¤Æɽ¼¨¤¹¤ë / + * @brief オブジェクトの*鑑定*内容を詳述して表示する / * Describe a "fully identified" item - * @param o_ptr *´ÕÄê*¾ðÊó¤ò¼èÆÀ¤¹¤ë¸µ¤Î¥ª¥Ö¥¸¥§¥¯¥È¹½Â¤Âλ²¾È¥Ý¥¤¥ó¥¿ - * @param mode ɽ¼¨¥ª¥×¥·¥ç¥ó - * @return ÆÃÉ®¤¹¤Ù¤­¾ðÊ󤬰ì¤Ä¤Ç¤â¤¢¤Ã¤¿¾ì¹çTRUE¡¢°ì¤Ä¤â¤Ê¤¯É½¼¨¤¬¥­¥ã¥ó¥»¥ë¤µ¤ì¤¿¾ì¹çFALSE¤òÊÖ¤¹¡£ + * @param o_ptr *鑑定*情報を取得する元のオブジェクト構造体参照ポインタ + * @param mode 表示オプション + * @return 特筆すべき情報が一つでもあった場合TRUE、一つもなく表示がキャンセルされた場合FALSEを返す。 */ -bool screen_object(object_type *o_ptr, u32b mode) +bool screen_object(object_type *o_ptr, BIT_FLAGS mode) { - int i = 0, j, k; + int i = 0, j, k; - u32b flgs[TR_FLAG_SIZE]; + BIT_FLAGS flgs[TR_FLAG_SIZE]; char temp[70 * 20]; cptr info[128]; char o_name[MAX_NLEN]; int wid, hgt; - int rad; + POSITION rad; char desc[256]; int trivial_info = 0; @@ -562,112 +545,57 @@ bool screen_object(object_type *o_ptr, u32b mode) /* Mega-Hack -- describe activation */ if (have_flag(flgs, TR_ACTIVATE)) { -#ifdef JP -info[i++] = "»ÏÆ°¤·¤¿¤È¤­¤Î¸ú²Ì..."; -#else - info[i++] = "It can be activated for..."; -#endif - + info[i++] = _("始動したときの効果...", "It can be activated for..."); info[i++] = item_activation(o_ptr); -#ifdef JP -info[i++] = "...¤¿¤À¤·ÁõÈ÷¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£"; -#else - info[i++] = "...if it is being worn."; -#endif - + info[i++] = _("...ただし装備していなければならない。", "...if it is being worn."); } /* Figurines, a hack */ if (o_ptr->tval == TV_FIGURINE) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÅꤲ¤¿»þ¥Ú¥Ã¥È¤ËÊѲ½¤¹¤ë¡£"; -#else - info[i++] = "It will transform into a pet when thrown."; -#endif - + info[i++] = _("それは投げた時ペットに変化する。", "It will transform into a pet when thrown."); } /* Figurines, a hack */ if (o_ptr->name1 == ART_STONEMASK) { -#ifdef JP -info[i++] = "¤½¤ì¤òÁõÈ÷¤·¤¿¼Ô¤ÏµÛ·ìµ´¤Ë¤Ê¤ë¡£"; -#else - info[i++] = "It makes you turn into a vampire permanently."; -#endif - + info[i++] = _("それを装備した者は吸血鬼になる。", "It makes you turn into a vampire permanently."); } if ((o_ptr->tval == TV_SWORD) && (o_ptr->sval == SV_DOKUBARI)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÁê¼ê¤ò°ì·â¤ÇÅݤ¹¤³¤È¤¬¤¢¤ë¡£"; -#else - info[i++] = "It will attempt to kill a monster instantly."; -#endif - + info[i++] = _("それは相手を一撃で倒すことがある。", "It will attempt to kill a monster instantly."); } if ((o_ptr->tval == TV_POLEARM) && (o_ptr->sval == SV_DEATH_SCYTHE)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¼«Ê¬¼«¿È¤Ë¹¶·â¤¬Ê֤äƤ¯¤ë¤³¤È¤¬¤¢¤ë¡£"; -#else - info[i++] = "It causes you to strike yourself sometimes."; -#endif - -#ifdef JP -info[i++] = "¤½¤ì¤Ï̵Ũ¤Î¥Ð¥ê¥¢¤òÀÚ¤êÎö¤¯¡£"; -#else - info[i++] = "It always penetrates invulnerability barriers."; -#endif + info[i++] = _("それは自分自身に攻撃が返ってくることがある。", "It causes you to strike yourself sometimes."); + info[i++] = _("それは無敵のバリアを切り裂く。", "It always penetrates invulnerability barriers."); } if (o_ptr->name2 == EGO_2WEAPON) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÆóÅáή¤Ç¤ÎÌ¿ÃæΨ¤ò¸þ¾å¤µ¤»¤ë¡£"; -#else - info[i++] = "It affects your ability to hit when you are wielding two weapons."; -#endif - + info[i++] = _("それは二刀流での命中率を向上させる。", "It affects your ability to hit when you are wielding two weapons."); } if (have_flag(flgs, TR_EASY_SPELL)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏËâË¡¤ÎÆñ°×ÅÙ¤ò²¼¤²¤ë¡£"; -#else - info[i++] = "It affects your ability to cast spells."; -#endif + info[i++] = _("それは魔法の難易度を下げる。", "It affects your ability to cast spells."); } if (o_ptr->name2 == EGO_AMU_FOOL) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏËâË¡¤ÎÆñ°×ÅÙ¤ò¾å¤²¤ë¡£"; -#else - info[i++] = "It interferes with casting spells."; -#endif + info[i++] = _("それは魔法の難易度を上げる。", "It interferes with casting spells."); } if (o_ptr->name2 == EGO_RING_THROW) { -#ifdef JP -info[i++] = "¤½¤ì¤Ïʪ¤ò¶¯¤¯Åꤲ¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë¡£"; -#else - info[i++] = "It provides great strength when you throw an item."; -#endif + info[i++] = _("それは物を強く投げることを可能にする。", "It provides great strength when you throw an item."); } if (o_ptr->name2 == EGO_AMU_NAIVETY) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏËâË¡Äñ¹³ÎϤò²¼¤²¤ë¡£"; -#else - info[i++] = "It decreases your magic resistance."; -#endif + info[i++] = _("それは魔法抵抗力を下げる。", "It decreases your magic resistance."); } if (o_ptr->tval == TV_STATUE) @@ -675,28 +603,16 @@ info[i++] = " monster_race *r_ptr = &r_info[o_ptr->pval]; if (o_ptr->pval == MON_BULLGATES) -#ifdef JP - info[i++] = "¤½¤ì¤ÏÉô²°¤Ë¾þ¤ë¤ÈÃѤº¤«¤·¤¤¡£"; -#else - info[i++] = "It is shameful."; -#endif + info[i++] = _("それは部屋に飾ると恥ずかしい。", "It is shameful."); else if ( r_ptr->flags2 & (RF2_ELDRITCH_HORROR)) -#ifdef JP - info[i++] = "¤½¤ì¤ÏÉô²°¤Ë¾þ¤ë¤È¶²¤¤¡£"; -#else - info[i++] = "It is fearful."; -#endif + info[i++] = _("それは部屋に飾ると恐い。", "It is fearful."); else -#ifdef JP - info[i++] = "¤½¤ì¤ÏÉô²°¤Ë¾þ¤ë¤È³Ú¤·¤¤¡£"; -#else - info[i++] = "It is cheerful."; -#endif + info[i++] = _("それは部屋に飾ると楽しい。", "It is cheerful."); } /* Hack -- describe lite's */ - if (o_ptr->name2 == EGO_LITE_DARKNESS) info[i++] = _("¤½¤ì¤ÏÁ´¤¯¸÷¤é¤Ê¤¤¡£", "It provides no light."); + if (o_ptr->name2 == EGO_LITE_DARKNESS) info[i++] = _("それは全く光らない。", "It provides no light."); rad = 0; if (have_flag(flgs, TR_LITE_1) && o_ptr->name2 != EGO_LITE_DARKNESS) rad += 1; @@ -710,12 +626,12 @@ info[i++] = " if (have_flag(flgs, TR_LITE_FUEL) && o_ptr->name2 != EGO_LITE_DARKNESS) { - if(rad > 0) sprintf(desc, _("¤½¤ì¤ÏdzÎÁÊäµë¤Ë¤è¤Ã¤ÆÌÀ¤«¤ê(Ⱦ·Â %d)¤ò¼ø¤±¤ë¡£", "It provides light (radius %d) when fueled."), rad); + if(rad > 0) sprintf(desc, _("それは燃料補給によって明かり(半径 %d)を授ける。", "It provides light (radius %d) when fueled."), (int)rad); } else { - if(rad > 0) sprintf(desc, _("¤½¤ì¤Ï±Ê±ó¤Ê¤ëÌÀ¤«¤ê(Ⱦ·Â %d)¤ò¼ø¤±¤ë¡£", "It provides light (radius %d) forever."), rad); - if(rad < 0) sprintf(desc, _("¤½¤ì¤ÏÌÀ¤«¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-%d)¡£", "It decreases radius of light source by %d."), -rad); + if(rad > 0) sprintf(desc, _("それは永遠なる明かり(半径 %d)を授ける。", "It provides light (radius %d) forever."), (int)rad); + if(rad < 0) sprintf(desc, _("それは明かりの半径を狭める(半径に-%d)。", "It decreases radius of light source by %d."), (int)-rad); } if(rad != 0) info[i++] = desc; @@ -723,7 +639,7 @@ info[i++] = " if (o_ptr->name2 == EGO_LITE_LONG) { - info[i++] = _("¤½¤ì¤ÏŤ¤¥¿¡¼¥óÌÀ¤«¤ê¤ò¼ø¤±¤ë¡£", "It provides light for much longer time."); + info[i++] = _("それは長いターン明かりを授ける。", "It provides light for much longer time."); } /* And then describe it fully */ @@ -731,936 +647,447 @@ info[i++] = " if (have_flag(flgs, TR_RIDING)) { if ((o_ptr->tval == TV_POLEARM) && ((o_ptr->sval == SV_LANCE) || (o_ptr->sval == SV_HEAVY_LANCE))) -#ifdef JP -info[i++] = "¤½¤ì¤Ï¾èÇÏÃæ¤ÏÈó¾ï¤Ë»È¤¤¤ä¤¹¤¤¡£"; -#else - info[i++] = "It is made for use while riding."; -#endif + info[i++] = _("それは乗馬中は非常に使いやすい。", "It is made for use while riding."); else { -#ifdef JP - info[i++] = "¤½¤ì¤Ï¾èÇÏÃæ¤Ç¤â»È¤¤¤ä¤¹¤¤¡£"; -#else - info[i++] = "It is suitable for use while riding."; -#endif + info[i++] = _("それは乗馬中でも使いやすい。", "It is suitable for use while riding."); /* This information is not important enough */ trivial_info++; } } if (have_flag(flgs, TR_STR)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÏÓÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It affects your strength."; -#endif - + info[i++] = _("それは腕力に影響を及ぼす。", "It affects your strength."); } if (have_flag(flgs, TR_INT)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÃÎǽ¤Ë±Æ¶Á¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It affects your intelligence."; -#endif - + info[i++] = _("それは知能に影響を及ぼす。", "It affects your intelligence."); } if (have_flag(flgs, TR_WIS)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¸­¤µ¤Ë±Æ¶Á¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It affects your wisdom."; -#endif - + info[i++] = _("それは賢さに影響を及ぼす。", "It affects your wisdom."); } if (have_flag(flgs, TR_DEX)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï´ïÍѤµ¤Ë±Æ¶Á¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It affects your dexterity."; -#endif - + info[i++] = _("それは器用さに影響を及ぼす。", "It affects your dexterity."); } if (have_flag(flgs, TR_CON)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÂѵ×ÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It affects your constitution."; -#endif - + info[i++] = _("それは耐久力に影響を及ぼす。", "It affects your constitution."); } if (have_flag(flgs, TR_CHR)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÌ¥ÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It affects your charisma."; -#endif - + info[i++] = _("それは魅力に影響を及ぼす。", "It affects your charisma."); } if (have_flag(flgs, TR_MAGIC_MASTERY)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏËâË¡Æ»¶ñ»ÈÍÑǽÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It affects your ability to use magic devices."; -#endif + info[i++] = _("それは魔法道具使用能力に影響を及ぼす。", "It affects your ability to use magic devices."); } if (have_flag(flgs, TR_STEALTH)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï±£Ì©¹ÔưǽÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It affects your stealth."; -#endif - + info[i++] = _("それは隠密行動能力に影響を及ぼす。", "It affects your stealth."); } if (have_flag(flgs, TR_SEARCH)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ïõº÷ǽÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It affects your searching."; -#endif - + info[i++] = _("それは探索能力に影響を及ぼす。", "It affects your searching."); } if (have_flag(flgs, TR_INFRA)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÀÖ³°Àþ»ëÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It affects your infravision."; -#endif - + info[i++] = _("それは赤外線視力に影響を及ぼす。", "It affects your infravision."); } if (have_flag(flgs, TR_TUNNEL)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏºÎ·¡Ç½ÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It affects your ability to tunnel."; -#endif - + info[i++] = _("それは採掘能力に影響を及ぼす。", "It affects your ability to tunnel."); } if (have_flag(flgs, TR_SPEED)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥¹¥Ô¡¼¥É¤Ë±Æ¶Á¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It affects your speed."; -#endif - + info[i++] = _("それはスピードに影響を及ぼす。", "It affects your speed."); } if (have_flag(flgs, TR_BLOWS)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÂÇ·â²ó¿ô¤Ë±Æ¶Á¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It affects your attack speed."; -#endif - + info[i++] = _("それは打撃回数に影響を及ぼす。", "It affects your attack speed."); } if (have_flag(flgs, TR_BRAND_ACID)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï»À¤Ë¤è¤Ã¤ÆÂ礭¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£"; -#else - info[i++] = "It does extra damage from acid."; -#endif - + info[i++] = _("それは酸によって大きなダメージを与える。", "It does extra damage from acid."); } if (have_flag(flgs, TR_BRAND_ELEC)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÅÅ·â¤Ë¤è¤Ã¤ÆÂ礭¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£"; -#else - info[i++] = "It does extra damage from electricity."; -#endif - + info[i++] = _("それは電撃によって大きなダメージを与える。", "It does extra damage from electricity."); } if (have_flag(flgs, TR_BRAND_FIRE)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï²Ð±ê¤Ë¤è¤Ã¤ÆÂ礭¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£"; -#else - info[i++] = "It does extra damage from fire."; -#endif - + info[i++] = _("それは火炎によって大きなダメージを与える。", "It does extra damage from fire."); } if (have_flag(flgs, TR_BRAND_COLD)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÎ䵤¤Ë¤è¤Ã¤ÆÂ礭¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£"; -#else - info[i++] = "It does extra damage from frost."; -#endif - + info[i++] = _("それは冷気によって大きなダメージを与える。", "It does extra damage from frost."); } if (have_flag(flgs, TR_BRAND_POIS)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏŨ¤òÆǤ¹¤ë¡£"; -#else - info[i++] = "It poisons your foes."; -#endif - + info[i++] = _("それは敵を毒する。", "It poisons your foes."); } if (have_flag(flgs, TR_CHAOTIC)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥«¥ª¥¹Åª¤Ê¸ú²Ì¤òµÚ¤Ü¤¹¡£"; -#else - info[i++] = "It produces chaotic effects."; -#endif - + info[i++] = _("それはカオス的な効果を及ぼす。", "It produces chaotic effects."); } if (have_flag(flgs, TR_VAMPIRIC)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏŨ¤«¤éÀ¸Ì¿ÎϤòµÛ¼ý¤¹¤ë¡£"; -#else - info[i++] = "It drains life from your foes."; -#endif - + info[i++] = _("それは敵から生命力を吸収する。", "It drains life from your foes."); } if (have_flag(flgs, TR_IMPACT)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÃϿ̤òµ¯¤³¤¹¤³¤È¤¬¤Ç¤­¤ë¡£"; -#else - info[i++] = "It can cause earthquakes."; -#endif - + info[i++] = _("それは地震を起こすことができる。", "It can cause earthquakes."); } if (have_flag(flgs, TR_VORPAL)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÈó¾ï¤ËÀÚ¤ìÌ£¤¬±Ô¤¯Å¨¤òÀÚÃǤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£"; -#else - info[i++] = "It is very sharp and can cut your foes."; -#endif - + info[i++] = _("それは非常に切れ味が鋭く敵を切断することができる。", "It is very sharp and can cut your foes."); } if (have_flag(flgs, TR_KILL_DRAGON)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥É¥é¥´¥ó¤Ë¤È¤Ã¤Æ¤ÎŷŨ¤Ç¤¢¤ë¡£"; -#else - info[i++] = "It is a great bane of dragons."; -#endif - + info[i++] = _("それはドラゴンにとっての天敵である。", "It is a great bane of dragons."); } else if (have_flag(flgs, TR_SLAY_DRAGON)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥É¥é¥´¥ó¤ËÂФ·¤ÆÆä˶²¤ë¤Ù¤­ÎϤòȯ´ø¤¹¤ë¡£"; -#else - info[i++] = "It is especially deadly against dragons."; -#endif - + info[i++] = _("それはドラゴンに対して特に恐るべき力を発揮する。", "It is especially deadly against dragons."); } if (have_flag(flgs, TR_KILL_ORC)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥ª¡¼¥¯¤Ë¤È¤Ã¤Æ¤ÎŷŨ¤Ç¤¢¤ë¡£"; -#else - info[i++] = "It is a great bane of orcs."; -#endif - + info[i++] = _("それはオークにとっての天敵である。", "It is a great bane of orcs."); } if (have_flag(flgs, TR_SLAY_ORC)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥ª¡¼¥¯¤ËÂФ·¤ÆÆä˶²¤ë¤Ù¤­ÎϤòȯ´ø¤¹¤ë¡£"; -#else - info[i++] = "It is especially deadly against orcs."; -#endif - + info[i++] = _("それはオークに対して特に恐るべき力を発揮する。", "It is especially deadly against orcs."); } if (have_flag(flgs, TR_KILL_TROLL)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥È¥í¥ë¤Ë¤È¤Ã¤Æ¤ÎŷŨ¤Ç¤¢¤ë¡£"; -#else - info[i++] = "It is a great bane of trolls."; -#endif - + info[i++] = _("それはトロルにとっての天敵である。", "It is a great bane of trolls."); } if (have_flag(flgs, TR_SLAY_TROLL)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥È¥í¥ë¤ËÂФ·¤ÆÆä˶²¤ë¤Ù¤­ÎϤòȯ´ø¤¹¤ë¡£"; -#else - info[i++] = "It is especially deadly against trolls."; -#endif - + info[i++] = _("それはトロルに対して特に恐るべき力を発揮する。", "It is especially deadly against trolls."); } if (have_flag(flgs, TR_KILL_GIANT)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ïµð¿Í¤Ë¤È¤Ã¤Æ¤ÎŷŨ¤Ç¤¢¤ë¡£"; -#else - info[i++] = "It is a great bane of giants."; -#endif + info[i++] = _("それは巨人にとっての天敵である。", "It is a great bane of giants."); } else if (have_flag(flgs, TR_SLAY_GIANT)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥¸¥ã¥¤¥¢¥ó¥È¤ËÂФ·¤ÆÆä˶²¤ë¤Ù¤­ÎϤòȯ´ø¤¹¤ë¡£"; -#else - info[i++] = "It is especially deadly against giants."; -#endif - + info[i++] = _("それはジャイアントに対して特に恐るべき力を発揮する。", "It is especially deadly against giants."); } if (have_flag(flgs, TR_KILL_DEMON)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥Ç¡¼¥â¥ó¤Ë¤È¤Ã¤Æ¤ÎŷŨ¤Ç¤¢¤ë¡£"; -#else - info[i++] = "It is a great bane of demons."; -#endif - + info[i++] = _("それはデーモンにとっての天敵である。", "It is a great bane of demons."); } if (have_flag(flgs, TR_SLAY_DEMON)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥Ç¡¼¥â¥ó¤ËÂФ·¤ÆÀ»¤Ê¤ëÎϤòȯ´ø¤¹¤ë¡£"; -#else - info[i++] = "It strikes at demons with holy wrath."; -#endif - + info[i++] = _("それはデーモンに対して聖なる力を発揮する。", "It strikes at demons with holy wrath."); } if (have_flag(flgs, TR_KILL_UNDEAD)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥¢¥ó¥Ç¥Ã¥É¤Ë¤È¤Ã¤Æ¤ÎŷŨ¤Ç¤¢¤ë¡£"; -#else - info[i++] = "It is a great bane of undead."; -#endif - + info[i++] = _("それはアンデッドにとっての天敵である。", "It is a great bane of undead."); } if (have_flag(flgs, TR_SLAY_UNDEAD)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥¢¥ó¥Ç¥Ã¥É¤ËÂФ·¤ÆÀ»¤Ê¤ëÎϤòȯ´ø¤¹¤ë¡£"; -#else - info[i++] = "It strikes at undead with holy wrath."; -#endif - + info[i++] = _("それはアンデッドに対して聖なる力を発揮する。", "It strikes at undead with holy wrath."); } if (have_flag(flgs, TR_KILL_EVIL)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¼Ù°­¤Ê¤ë¸ºß¤Ë¤È¤Ã¤Æ¤ÎŷŨ¤Ç¤¢¤ë¡£"; -#else - info[i++] = "It is a great bane of evil monsters."; -#endif - + info[i++] = _("それは邪悪なる存在にとっての天敵である。", "It is a great bane of evil monsters."); } if (have_flag(flgs, TR_SLAY_EVIL)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¼Ù°­¤Ê¤ë¸ºß¤ËÂФ·¤ÆÀ»¤Ê¤ëÎϤǹ¶·â¤¹¤ë¡£"; -#else - info[i++] = "It fights against evil with holy fury."; -#endif - + info[i++] = _("それは邪悪なる存在に対して聖なる力で攻撃する。", "It fights against evil with holy fury."); } if (have_flag(flgs, TR_KILL_ANIMAL)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¼«Á³³¦¤Îưʪ¤Ë¤È¤Ã¤Æ¤ÎŷŨ¤Ç¤¢¤ë¡£"; -#else - info[i++] = "It is a great bane of natural creatures."; -#endif - + info[i++] = _("それは自然界の動物にとっての天敵である。", "It is a great bane of natural creatures."); } if (have_flag(flgs, TR_SLAY_ANIMAL)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¼«Á³³¦¤Îưʪ¤ËÂФ·¤ÆÆä˶²¤ë¤Ù¤­ÎϤòȯ´ø¤¹¤ë¡£"; -#else - info[i++] = "It is especially deadly against natural creatures."; -#endif - + info[i++] = _("それは自然界の動物に対して特に恐るべき力を発揮する。", "It is especially deadly against natural creatures."); } if (have_flag(flgs, TR_KILL_HUMAN)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¿Í´Ö¤Ë¤È¤Ã¤Æ¤ÎŷŨ¤Ç¤¢¤ë¡£"; -#else - info[i++] = "It is a great bane of humans."; -#endif - + info[i++] = _("それは人間にとっての天敵である。", "It is a great bane of humans."); } if (have_flag(flgs, TR_SLAY_HUMAN)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¿Í´Ö¤ËÂФ·¤ÆÆä˶²¤ë¤Ù¤­ÎϤòȯ´ø¤¹¤ë¡£"; -#else - info[i++] = "It is especially deadly against humans."; -#endif - + info[i++] = _("それは人間に対して特に恐るべき力を発揮する。", "It is especially deadly against humans."); } if (have_flag(flgs, TR_FORCE_WEAPON)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï»ÈÍѼԤÎËâÎϤò»È¤Ã¤Æ¹¶·â¤¹¤ë¡£"; -#else - info[i++] = "It powerfully strikes at a monster using your mana."; -#endif - + info[i++] = _("それは使用者の魔力を使って攻撃する。", "It powerfully strikes at a monster using your mana."); } if (have_flag(flgs, TR_DEC_MANA)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏËâÎϤξÃÈñ¤ò²¡¤µ¤¨¤ë¡£"; -#else - info[i++] = "It decreases your mana consumption."; -#endif - + info[i++] = _("それは魔力の消費を押さえる。", "It decreases your mana consumption."); } if (have_flag(flgs, TR_SUST_STR)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎÏÓÎϤò°Ý»ý¤¹¤ë¡£"; -#else - info[i++] = "It sustains your strength."; -#endif - + info[i++] = _("それはあなたの腕力を維持する。", "It sustains your strength."); } if (have_flag(flgs, TR_SUST_INT)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎÃÎǽ¤ò°Ý»ý¤¹¤ë¡£"; -#else - info[i++] = "It sustains your intelligence."; -#endif - + info[i++] = _("それはあなたの知能を維持する。", "It sustains your intelligence."); } if (have_flag(flgs, TR_SUST_WIS)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¤¢¤Ê¤¿¤Î¸­¤µ¤ò°Ý»ý¤¹¤ë¡£"; -#else - info[i++] = "It sustains your wisdom."; -#endif - + info[i++] = _("それはあなたの賢さを維持する。", "It sustains your wisdom."); } if (have_flag(flgs, TR_SUST_DEX)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¤¢¤Ê¤¿¤Î´ïÍѤµ¤ò°Ý»ý¤¹¤ë¡£"; -#else - info[i++] = "It sustains your dexterity."; -#endif - + info[i++] = _("それはあなたの器用さを維持する。", "It sustains your dexterity."); } if (have_flag(flgs, TR_SUST_CON)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎÂѵ×ÎϤò°Ý»ý¤¹¤ë¡£"; -#else - info[i++] = "It sustains your constitution."; -#endif - + info[i++] = _("それはあなたの耐久力を維持する。", "It sustains your constitution."); } if (have_flag(flgs, TR_SUST_CHR)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎÌ¥ÎϤò°Ý»ý¤¹¤ë¡£"; -#else - info[i++] = "It sustains your charisma."; -#endif - + info[i++] = _("それはあなたの魅力を維持する。", "It sustains your charisma."); } if (have_flag(flgs, TR_IM_ACID)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï»À¤ËÂФ¹¤ë´°Á´¤ÊÌȱ֤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides immunity to acid."; -#endif - + info[i++] = _("それは酸に対する完全な免疫を授ける。", "It provides immunity to acid."); } if (have_flag(flgs, TR_IM_ELEC)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÅÅ·â¤ËÂФ¹¤ë´°Á´¤ÊÌȱ֤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides immunity to electricity."; -#endif - + info[i++] = _("それは電撃に対する完全な免疫を授ける。", "It provides immunity to electricity."); } if (have_flag(flgs, TR_IM_FIRE)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï²Ð¤ËÂФ¹¤ë´°Á´¤ÊÌȱ֤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides immunity to fire."; -#endif - + info[i++] = _("それは火に対する完全な免疫を授ける。", "It provides immunity to fire."); } if (have_flag(flgs, TR_IM_COLD)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï´¨¤µ¤ËÂФ¹¤ë´°Á´¤ÊÌȱ֤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides immunity to cold."; -#endif - + info[i++] = _("それは寒さに対する完全な免疫を授ける。", "It provides immunity to cold."); } if (have_flag(flgs, TR_THROW)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏŨ¤ËÅꤲ¤ÆÂ礭¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡£"; -#else - info[i++] = "It is perfectly balanced for throwing."; -#endif + info[i++] = _("それは敵に投げて大きなダメージを与えることができる。", "It is perfectly balanced for throwing."); } if (have_flag(flgs, TR_FREE_ACT)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏËãáã¤ËÂФ¹¤ë´°Á´¤ÊÌȱ֤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides immunity to paralysis."; -#endif - + info[i++] = _("それは麻痺に対する完全な免疫を授ける。", "It provides immunity to paralysis."); } if (have_flag(flgs, TR_HOLD_EXP)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï·Ð¸³Ã͵ۼý¤ËÂФ¹¤ëÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to experience draining."; -#endif - + info[i++] = _("それは経験値吸収に対する耐性を授ける。", "It provides resistance to experience draining."); } if (have_flag(flgs, TR_RES_FEAR)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¶²Éݤؤδ°Á´¤ÊÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It makes you completely fearless."; -#endif - + info[i++] = _("それは恐怖への完全な耐性を授ける。", "It makes you completely fearless."); } if (have_flag(flgs, TR_RES_ACID)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï»À¤Ø¤ÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to acid."; -#endif - + info[i++] = _("それは酸への耐性を授ける。", "It provides resistance to acid."); } if (have_flag(flgs, TR_RES_ELEC)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÅÅ·â¤Ø¤ÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to electricity."; -#endif - + info[i++] = _("それは電撃への耐性を授ける。", "It provides resistance to electricity."); } if (have_flag(flgs, TR_RES_FIRE)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï²Ð¤Ø¤ÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to fire."; -#endif - + info[i++] = _("それは火への耐性を授ける。", "It provides resistance to fire."); } if (have_flag(flgs, TR_RES_COLD)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï´¨¤µ¤Ø¤ÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to cold."; -#endif - + info[i++] = _("それは寒さへの耐性を授ける。", "It provides resistance to cold."); } if (have_flag(flgs, TR_RES_POIS)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÆǤؤÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to poison."; -#endif - + info[i++] = _("それは毒への耐性を授ける。", "It provides resistance to poison."); } if (have_flag(flgs, TR_RES_LITE)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÁ®¸÷¤Ø¤ÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to light."; -#endif - + info[i++] = _("それは閃光への耐性を授ける。", "It provides resistance to light."); } if (have_flag(flgs, TR_RES_DARK)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï°Å¹õ¤Ø¤ÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to dark."; -#endif - + info[i++] = _("それは暗黒への耐性を授ける。", "It provides resistance to dark."); } if (have_flag(flgs, TR_RES_BLIND)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÌÕÌܤؤÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to blindness."; -#endif - + info[i++] = _("それは盲目への耐性を授ける。", "It provides resistance to blindness."); } if (have_flag(flgs, TR_RES_CONF)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ïº®Íð¤Ø¤ÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to confusion."; -#endif - + info[i++] = _("それは混乱への耐性を授ける。", "It provides resistance to confusion."); } if (have_flag(flgs, TR_RES_SOUND)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¹ì²»¤Ø¤ÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to sound."; -#endif - + info[i++] = _("それは轟音への耐性を授ける。", "It provides resistance to sound."); } if (have_flag(flgs, TR_RES_SHARDS)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÇËÊҤؤÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to shards."; -#endif - + info[i++] = _("それは破片への耐性を授ける。", "It provides resistance to shards."); } if (have_flag(flgs, TR_RES_NETHER)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÃϹö¤Ø¤ÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to nether."; -#endif - + info[i++] = _("それは地獄への耐性を授ける。", "It provides resistance to nether."); } if (have_flag(flgs, TR_RES_NEXUS)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï°ø²Ìº®Íð¤Ø¤ÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to nexus."; -#endif - + info[i++] = _("それは因果混乱への耐性を授ける。", "It provides resistance to nexus."); } if (have_flag(flgs, TR_RES_CHAOS)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥«¥ª¥¹¤Ø¤ÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to chaos."; -#endif - + info[i++] = _("それはカオスへの耐性を授ける。", "It provides resistance to chaos."); } if (have_flag(flgs, TR_RES_DISEN)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÎô²½¤Ø¤ÎÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides resistance to disenchantment."; -#endif - + info[i++] = _("それは劣化への耐性を授ける。", "It provides resistance to disenchantment."); } if (have_flag(flgs, TR_LEVITATION)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÃè¤ËÉ⤯¤³¤È¤ò²Äǽ¤Ë¤¹¤ë¡£"; -#else - info[i++] = "It allows you to levitate."; -#endif - + info[i++] = _("それは宙に浮くことを可能にする。", "It allows you to levitate."); } if (have_flag(flgs, TR_SEE_INVIS)) { - info[i++] = _("¤½¤ì¤ÏÆ©ÌÀ¤Ê¥â¥ó¥¹¥¿¡¼¤ò¸«¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë¡£", "It allows you to see invisible monsters."); + info[i++] = _("それは透明なモンスターを見ることを可能にする。", "It allows you to see invisible monsters."); } if (have_flag(flgs, TR_TELEPATHY)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥Æ¥ì¥Ñ¥·¡¼Ç½ÎϤò¼ø¤±¤ë¡£"; -#else - info[i++] = "It gives telepathic powers."; -#endif - + info[i++] = _("それはテレパシー能力を授ける。", "It gives telepathic powers."); } if (have_flag(flgs, TR_ESP_ANIMAL)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¼«Á³³¦¤ÎÀ¸Êª¤ò´¶ÃΤ¹¤ë¡£"; -#else - info[i++] = "It senses natural creatures."; -#endif - + info[i++] = _("それは自然界の生物を感知する。", "It senses natural creatures."); } if (have_flag(flgs, TR_ESP_UNDEAD)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥¢¥ó¥Ç¥Ã¥É¤ò´¶ÃΤ¹¤ë¡£"; -#else - info[i++] = "It senses undead."; -#endif - + info[i++] = _("それはアンデッドを感知する。", "It senses undead."); } if (have_flag(flgs, TR_ESP_DEMON)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï°­Ëâ¤ò´¶ÃΤ¹¤ë¡£"; -#else - info[i++] = "It senses demons."; -#endif - + info[i++] = _("それは悪魔を感知する。", "It senses demons."); } if (have_flag(flgs, TR_ESP_ORC)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥ª¡¼¥¯¤ò´¶ÃΤ¹¤ë¡£"; -#else - info[i++] = "It senses orcs."; -#endif - + info[i++] = _("それはオークを感知する。", "It senses orcs."); } if (have_flag(flgs, TR_ESP_TROLL)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥È¥í¥ë¤ò´¶ÃΤ¹¤ë¡£"; -#else - info[i++] = "It senses trolls."; -#endif - + info[i++] = _("それはトロルを感知する。", "It senses trolls."); } if (have_flag(flgs, TR_ESP_GIANT)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ïµð¿Í¤ò´¶ÃΤ¹¤ë¡£"; -#else - info[i++] = "It senses giants."; -#endif - + info[i++] = _("それは巨人を感知する。", "It senses giants."); } if (have_flag(flgs, TR_ESP_DRAGON)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥É¥é¥´¥ó¤ò´¶ÃΤ¹¤ë¡£"; -#else - info[i++] = "It senses dragons."; -#endif - + info[i++] = _("それはドラゴンを感知する。", "It senses dragons."); } if (have_flag(flgs, TR_ESP_HUMAN)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¿Í´Ö¤ò´¶ÃΤ¹¤ë¡£"; -#else - info[i++] = "It senses humans."; -#endif - + info[i++] = _("それは人間を感知する。", "It senses humans."); } if (have_flag(flgs, TR_ESP_EVIL)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¼Ù°­¤Ê¸ºß¤ò´¶ÃΤ¹¤ë¡£"; -#else - info[i++] = "It senses evil creatures."; -#endif - + info[i++] = _("それは邪悪な存在を感知する。", "It senses evil creatures."); } if (have_flag(flgs, TR_ESP_GOOD)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÁ±Îɤʸºß¤ò´¶ÃΤ¹¤ë¡£"; -#else - info[i++] = "It senses good creatures."; -#endif - + info[i++] = _("それは善良な存在を感知する。", "It senses good creatures."); } if (have_flag(flgs, TR_ESP_NONLIVING)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï³èÆ°¤¹¤ë̵À¸ÊªÂΤò´¶ÃΤ¹¤ë¡£"; -#else - info[i++] = "It senses non-living creatures."; -#endif - + info[i++] = _("それは活動する無生物体を感知する。", "It senses non-living creatures."); } if (have_flag(flgs, TR_ESP_UNIQUE)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÆÃÊ̤ʶ¯Å¨¤ò´¶ÃΤ¹¤ë¡£"; -#else - info[i++] = "It senses unique monsters."; -#endif - + info[i++] = _("それは特別な強敵を感知する。", "It senses unique monsters."); } if (have_flag(flgs, TR_SLOW_DIGEST)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¤¢¤Ê¤¿¤Î¿·ÄÄÂå¼Õ¤òÃÙ¤¯¤¹¤ë¡£"; -#else - info[i++] = "It slows your metabolism."; -#endif - + info[i++] = _("それはあなたの新陳代謝を遅くする。", "It slows your metabolism."); } if (have_flag(flgs, TR_REGEN)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÂÎÎϲóÉüÎϤò¶¯²½¤¹¤ë¡£"; -#else - info[i++] = "It speeds your regenerative powers."; -#endif - + info[i++] = _("それは体力回復力を強化する。", "It speeds your regenerative powers."); } if (have_flag(flgs, TR_WARNING)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï´í¸±¤ËÂФ·¤Æ·Ù¹ð¤òȯ¤¹¤ë¡£"; -#else - info[i++] = "It warns you of danger"; -#endif - + info[i++] = _("それは危険に対して警告を発する。", "It warns you of danger"); } if (have_flag(flgs, TR_REFLECT)) { - info[i++] = _("¤½¤ì¤ÏÌð¤Î¼öʸ¤òÈ¿¼Í¤¹¤ë¡£", "It reflects bolt spells."); + info[i++] = _("それは矢の呪文を反射する。", "It reflects bolt spells."); } if (have_flag(flgs, TR_SH_FIRE)) { - info[i++] = _("¤½¤ì¤Ï±ê¤Î¥Ð¥ê¥¢¤òÄ¥¤ë¡£", "It produces a fiery sheath."); + info[i++] = _("それは炎のバリアを張る。", "It produces a fiery sheath."); } if (have_flag(flgs, TR_SH_ELEC)) { - info[i++] = _("¤½¤ì¤ÏÅŵ¤¤Î¥Ð¥ê¥¢¤òÄ¥¤ë¡£", "It produces an electric sheath."); + info[i++] = _("それは電気のバリアを張る。", "It produces an electric sheath."); } if (have_flag(flgs, TR_SH_COLD)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÎ䵤¤Î¥Ð¥ê¥¢¤òÄ¥¤ë¡£"; -#else - info[i++] = "It produces a sheath of coldness."; -#endif - + info[i++] = _("それは冷気のバリアを張る。", "It produces a sheath of coldness."); } if (have_flag(flgs, TR_NO_MAGIC)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÈ¿ËâË¡¥Ð¥ê¥¢¤òÄ¥¤ë¡£"; -#else - info[i++] = "It produces an anti-magic shell."; -#endif - + info[i++] = _("それは反魔法バリアを張る。", "It produces an anti-magic shell."); } if (have_flag(flgs, TR_NO_TELE)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¥Æ¥ì¥Ý¡¼¥È¤ò¼ÙË⤹¤ë¡£"; -#else - info[i++] = "It prevents teleportation."; -#endif - + info[i++] = _("それはテレポートを邪魔する。", "It prevents teleportation."); } if (have_flag(flgs, TR_XTRA_MIGHT)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÌ𡿥ܥë¥È¡¿ÃƤò¤è¤ê¶¯ÎϤËȯ¼Í¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£"; -#else - info[i++] = "It fires missiles with extra might."; -#endif - + info[i++] = _("それは矢/ボルト/弾をより強力に発射することができる。", "It fires missiles with extra might."); } if (have_flag(flgs, TR_XTRA_SHOTS)) { -#ifdef JP -info[i++] = "¤½¤ì¤ÏÌ𡿥ܥë¥È¡¿ÃƤòÈó¾ï¤ËÁ᤯ȯ¼Í¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£"; -#else - info[i++] = "It fires missiles excessively fast."; -#endif - + info[i++] = _("それは矢/ボルト/弾を非常に早く発射することができる。", "It fires missiles excessively fast."); } if (have_flag(flgs, TR_BLESSED)) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¿À¤Ë½ËÊ¡¤µ¤ì¤Æ¤¤¤ë¡£"; -#else - info[i++] = "It has been blessed by the gods."; -#endif - + info[i++] = _("それは神に祝福されている。", "It has been blessed by the gods."); } if (object_is_cursed(o_ptr)) { if (o_ptr->curse_flags & TRC_PERMA_CURSE) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï±Ê±ó¤Î¼ö¤¤¤¬¤«¤±¤é¤ì¤Æ¤¤¤ë¡£"; -#else - info[i++] = "It is permanently cursed."; -#endif - + info[i++] = _("それは永遠の呪いがかけられている。", "It is permanently cursed."); } else if (o_ptr->curse_flags & TRC_HEAVY_CURSE) { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¶¯ÎϤʼö¤¤¤¬¤«¤±¤é¤ì¤Æ¤¤¤ë¡£"; -#else - info[i++] = "It is heavily cursed."; -#endif - + info[i++] = _("それは強力な呪いがかけられている。", "It is heavily cursed."); } else { -#ifdef JP -info[i++] = "¤½¤ì¤Ï¼ö¤ï¤ì¤Æ¤¤¤ë¡£"; -#else - info[i++] = "It is cursed."; -#endif + info[i++] = _("それは呪われている。", "It is cursed."); /* * It's a trivial infomation since there is @@ -1672,75 +1099,75 @@ info[i++] = " if ((have_flag(flgs, TR_TY_CURSE)) || (o_ptr->curse_flags & TRC_TY_CURSE)) { - info[i++] = _("¤½¤ì¤ÏÂÀ¸Å¤Î²Ò¡¹¤·¤¤±åÇ°¤¬½É¤Ã¤Æ¤¤¤ë¡£", "It carries an ancient foul curse."); + info[i++] = _("それは太古の禍々しい怨念が宿っている。", "It carries an ancient foul curse."); } if ((have_flag(flgs, TR_AGGRAVATE)) || (o_ptr->curse_flags & TRC_AGGRAVATE)) { - info[i++] = _("¤½¤ì¤ÏÉÕ¶á¤Î¥â¥ó¥¹¥¿¡¼¤òÅܤ餻¤ë¡£", "It aggravates nearby creatures."); + info[i++] = _("それは付近のモンスターを怒らせる。", "It aggravates nearby creatures."); } if ((have_flag(flgs, TR_DRAIN_EXP)) || (o_ptr->curse_flags & TRC_DRAIN_EXP)) { - info[i++] = _("¤½¤ì¤Ï·Ð¸³ÃͤòµÛ¤¤¼è¤ë¡£", "It drains experience."); + info[i++] = _("それは経験値を吸い取る。", "It drains experience."); } if (o_ptr->curse_flags & TRC_SLOW_REGEN) { - info[i++] = _("¤½¤ì¤Ï²óÉüÎϤò¼å¤á¤ë¡£", "It slows your regenerative powers."); + info[i++] = _("それは回復力を弱める。", "It slows your regenerative powers."); } if ((o_ptr->curse_flags & TRC_ADD_L_CURSE) || have_flag(flgs, TR_ADD_L_CURSE)) { - info[i++] = _("¤½¤ì¤Ï¼å¤¤¼ö¤¤¤òÁý¤ä¤¹¡£","It adds weak curses."); + info[i++] = _("それは弱い呪いを増やす。","It adds weak curses."); } if ((o_ptr->curse_flags & TRC_ADD_H_CURSE) || have_flag(flgs, TR_ADD_H_CURSE)) { - info[i++] = _("¤½¤ì¤Ï¶¯ÎϤʼö¤¤¤òÁý¤ä¤¹¡£","It adds heavy curses."); + info[i++] = _("それは強力な呪いを増やす。","It adds heavy curses."); } if ((have_flag(flgs, TR_CALL_ANIMAL)) || (o_ptr->curse_flags & TRC_CALL_ANIMAL)) { - info[i++] = _("¤½¤ì¤Ïưʪ¤ò¸Æ¤Ó´ó¤»¤ë¡£", "It attracts animals."); + info[i++] = _("それは動物を呼び寄せる。", "It attracts animals."); } if ((have_flag(flgs, TR_CALL_DEMON)) || (o_ptr->curse_flags & TRC_CALL_DEMON)) { - info[i++] = _("¤½¤ì¤Ï°­Ëâ¤ò¸Æ¤Ó´ó¤»¤ë¡£", "It attracts demons."); + info[i++] = _("それは悪魔を呼び寄せる。", "It attracts demons."); } if ((have_flag(flgs, TR_CALL_DRAGON)) || (o_ptr->curse_flags & TRC_CALL_DRAGON)) { - info[i++] = _("¤½¤ì¤Ï¥É¥é¥´¥ó¤ò¸Æ¤Ó´ó¤»¤ë¡£", "It attracts dragons."); + info[i++] = _("それはドラゴンを呼び寄せる。", "It attracts dragons."); } if ((have_flag(flgs, TR_CALL_UNDEAD)) || (o_ptr->curse_flags & TRC_CALL_UNDEAD)) { - info[i++] = _("¤½¤ì¤Ï»àÎî¤ò¸Æ¤Ó´ó¤»¤ë¡£", "It attracts undeads."); + info[i++] = _("それは死霊を呼び寄せる。", "It attracts undeads."); } if ((have_flag(flgs, TR_COWARDICE)) || (o_ptr->curse_flags & TRC_COWARDICE)) { - info[i++] = _("¤½¤ì¤Ï¶²ÉÝ´¶¤ò°ú¤­µ¯¤³¤¹¡£", "It makes you subject to cowardice."); + info[i++] = _("それは恐怖感を引き起こす。", "It makes you subject to cowardice."); } if ((have_flag(flgs, TR_TELEPORT)) || (o_ptr->curse_flags & TRC_TELEPORT)) { - info[i++] = _("¤½¤ì¤Ï¥é¥ó¥À¥à¤Ê¥Æ¥ì¥Ý¡¼¥È¤ò°ú¤­µ¯¤³¤¹¡£", "It induces random teleportation."); + info[i++] = _("それはランダムなテレポートを引き起こす。", "It induces random teleportation."); } if ((have_flag(flgs, TR_LOW_MELEE)) || o_ptr->curse_flags & TRC_LOW_MELEE) { - info[i++] = _("¤½¤ì¤Ï¹¶·â¤ò³°¤·¤ä¤¹¤¤¡£", "It causes you to miss blows."); + info[i++] = _("それは攻撃を外しやすい。", "It causes you to miss blows."); } if ((have_flag(flgs, TR_LOW_AC)) || (o_ptr->curse_flags & TRC_LOW_AC)) { - info[i++] = _("¤½¤ì¤Ï¹¶·â¤ò¼õ¤±¤ä¤¹¤¤¡£", "It helps your enemies' blows."); + info[i++] = _("それは攻撃を受けやすい。", "It helps your enemies' blows."); } if ((have_flag(flgs, TR_LOW_MAGIC)) || (o_ptr->curse_flags & TRC_LOW_MAGIC)) { - info[i++] = _("¤½¤ì¤ÏËâË¡¤ò¾§¤¨¤Ë¤¯¤¯¤¹¤ë¡£", "It encumbers you while spellcasting."); + info[i++] = _("それは魔法を唱えにくくする。", "It encumbers you while spellcasting."); } if ((have_flag(flgs, TR_FAST_DIGEST)) || (o_ptr->curse_flags & TRC_FAST_DIGEST)) { - info[i++] = _("¤½¤ì¤Ï¤¢¤Ê¤¿¤Î¿·ÄÄÂå¼Õ¤ò®¤¯¤¹¤ë¡£", "It speeds your metabolism."); + info[i++] = _("それはあなたの新陳代謝を速くする。", "It speeds your metabolism."); } if ((have_flag(flgs, TR_DRAIN_HP)) || (o_ptr->curse_flags & TRC_DRAIN_HP)) { - info[i++] = _("¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎÂÎÎϤòµÛ¤¤¼è¤ë¡£", "It drains you."); + info[i++] = _("それはあなたの体力を吸い取る。", "It drains you."); } if ((have_flag(flgs, TR_DRAIN_MANA)) || (o_ptr->curse_flags & TRC_DRAIN_MANA)) { - info[i++] = _("¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎËâÎϤòµÛ¤¤¼è¤ë¡£", "It drains your mana."); + info[i++] = _("それはあなたの魔力を吸い取る。", "It drains your mana."); } /* Describe about this kind of object instead of THIS fake object */ @@ -1752,18 +1179,10 @@ info[i++] = " switch (o_ptr->sval) { case SV_RING_LORDLY: -#ifdef JP - info[i++] = "¤½¤ì¤Ï´ö¤Ä¤«¤Î¥é¥ó¥À¥à¤ÊÂÑÀ­¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides some random resistances."; -#endif + info[i++] = _("それは幾つかのランダムな耐性を授ける。", "It provides some random resistances."); break; case SV_RING_WARNING: -#ifdef JP - info[i++] = "¤½¤ì¤Ï¤Ò¤È¤Ä¤ÎÄãµé¤ÊESP¤ò¼ø¤±¤ë»ö¤¬¤¢¤ë¡£"; -#else - info[i++] = "It may provide a low rank ESP."; -#endif + info[i++] = _("それはひとつの低級なESPを授ける事がある。", "It may provide a low rank ESP."); break; } break; @@ -1772,23 +1191,11 @@ info[i++] = " switch (o_ptr->sval) { case SV_AMULET_RESISTANCE: -#ifdef JP - info[i++] = "¤½¤ì¤ÏÆǤؤÎÂÑÀ­¤ò¼ø¤±¤ë»ö¤¬¤¢¤ë¡£"; -#else - info[i++] = "It may provides resistance to poison."; -#endif -#ifdef JP - info[i++] = "¤½¤ì¤Ï¥é¥ó¥À¥à¤ÊÂÑÀ­¤ò¼ø¤±¤ë»ö¤¬¤¢¤ë¡£"; -#else - info[i++] = "It may provide a random resistances."; -#endif + info[i++] = _("それは毒への耐性を授ける事がある。", "It may provides resistance to poison."); + info[i++] = _("それはランダムな耐性を授ける事がある。", "It may provide a random resistances."); break; case SV_AMULET_THE_MAGI: -#ifdef JP - info[i++] = "¤½¤ì¤ÏºÇÂç¤Ç£³¤Ä¤Þ¤Ç¤ÎÄãµé¤ÊESP¤ò¼ø¤±¤ë¡£"; -#else - info[i++] = "It provides up to three low rank ESPs."; -#endif + info[i++] = _("それは最大で3つまでの低級なESPを授ける。", "It provides up to three low rank ESPs."); break; } break; @@ -1800,45 +1207,25 @@ info[i++] = " have_flag(flgs, TR_IGNORE_FIRE) && have_flag(flgs, TR_IGNORE_COLD)) { -#ifdef JP - info[i++] = "¤½¤ì¤Ï»À¡¦Åŷ⡦²Ð±ê¡¦Î䵤¤Ç¤Ï½ý¤Ä¤«¤Ê¤¤¡£"; -#else - info[i++] = "It cannot be harmed by the elements."; -#endif + info[i++] = _("それは酸・電撃・火炎・冷気では傷つかない。", "It cannot be harmed by the elements."); } else { if (have_flag(flgs, TR_IGNORE_ACID)) { -#ifdef JP - info[i++] = "¤½¤ì¤Ï»À¤Ç¤Ï½ý¤Ä¤«¤Ê¤¤¡£"; -#else - info[i++] = "It cannot be harmed by acid."; -#endif + info[i++] = _("それは酸では傷つかない。", "It cannot be harmed by acid."); } if (have_flag(flgs, TR_IGNORE_ELEC)) { -#ifdef JP - info[i++] = "¤½¤ì¤ÏÅÅ·â¤Ç¤Ï½ý¤Ä¤«¤Ê¤¤¡£"; -#else - info[i++] = "It cannot be harmed by electricity."; -#endif + info[i++] = _("それは電撃では傷つかない。", "It cannot be harmed by electricity."); } if (have_flag(flgs, TR_IGNORE_FIRE)) { -#ifdef JP - info[i++] = "¤½¤ì¤Ï²Ð±ê¤Ç¤Ï½ý¤Ä¤«¤Ê¤¤¡£"; -#else - info[i++] = "It cannot be harmed by fire."; -#endif + info[i++] = _("それは火炎では傷つかない。", "It cannot be harmed by fire."); } if (have_flag(flgs, TR_IGNORE_COLD)) { -#ifdef JP - info[i++] = "¤½¤ì¤ÏÎ䵤¤Ç¤Ï½ý¤Ä¤«¤Ê¤¤¡£"; -#else - info[i++] = "It cannot be harmed by cold."; -#endif + info[i++] = _("それは冷気では傷つかない。", "It cannot be harmed by cold."); } } @@ -1850,7 +1237,6 @@ info[i++] = " /* Save the screen */ screen_save(); - /* Get size */ Term_get_size(&wid, &hgt); /* Display Item name */ @@ -1874,11 +1260,9 @@ info[i++] = " prt("'", 1, (use_bigtile ? 20 : 19) + namelen); } else -#ifdef JP -prt(" ¥¢¥¤¥Æ¥à¤ÎǽÎÏ:", 1, 15); -#else - prt(" Item Attributes:", 1, 15); -#endif + { + prt(_(" アイテムの能力:", " Item Attributes:"), 1, 15); + } /* We will print on top of the map (column 13) */ for (k = 2, j = 0; j < i; j++) @@ -1889,22 +1273,14 @@ prt(" /* Every 20 entries (lines 2 to 21), start over */ if ((k == hgt - 2) && (j+1 < i)) { -#ifdef JP -prt("-- ³¤¯ --", k, 15); -#else - prt("-- more --", k, 15); -#endif + prt(_("-- 続く --", "-- more --"), k, 15); inkey(); for (; k > 2; k--) prt("", k, 15); } } /* Wait for it */ -#ifdef JP -prt("[²¿¤«¥­¡¼¤ò²¡¤¹¤È¥²¡¼¥à¤ËÌá¤ê¤Þ¤¹]", k, 15); -#else - prt("[Press any key to continue]", k, 15); -#endif + prt(_("[何かキーを押すとゲームに戻ります]", "[Press any key to continue]"), k, 15); inkey(); @@ -1918,10 +1294,10 @@ prt("[ /*! - * @brief ¥ª¥Ö¥¸¥§¥¯¥ÈÁªÂò»þ¤ÎÁªÂò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥é¥Ù¥ë¤òÊÖ¤¹ / + * @brief オブジェクト選択時の選択アルファベットラベルを返す / * Convert an inventory index into a one character label - * @param i ¥×¥ì¥¤¥ä¡¼¤Î½ê»ý/ÁõÈ÷¥ª¥Ö¥¸¥§¥¯¥ÈID - * @return Âбþ¤¹¤ë¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È + * @param i プレイヤーの所持/装備オブジェクトID + * @return 対応するアルファベット * @details Note that the label does NOT distinguish inven/equip. */ char index_to_label(int i) @@ -1934,17 +1310,17 @@ char index_to_label(int i) } /*! - * @brief ÁªÂò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥é¥Ù¥ë¤«¤é¥×¥ì¥¤¥ä¡¼¤Î½ê»ý¥ª¥Ö¥¸¥§¥¯¥ÈID¤òÊÖ¤¹ / + * @brief 選択アルファベットラベルからプレイヤーの所持オブジェクトIDを返す / * Convert a label into the index of an item in the "inven" - * @return Âбþ¤¹¤ëID¡£³ºÅö¥¹¥í¥Ã¥È¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç-1¤òÊÖ¤¹ / Return "-1" if the label does not indicate a real item + * @return 対応するID。該当スロットにオブジェクトが存在しなかった場合-1を返す / Return "-1" if the label does not indicate a real item * @details Note that the label does NOT distinguish inven/equip. */ -s16b label_to_inven(int c) +INVENTORY_IDX label_to_inven(int c) { - int i; + INVENTORY_IDX i; /* Convert */ - i = (islower(c) ? A2I(c) : -1); + i = (INVENTORY_IDX)(islower(c) ? A2I(c) : -1); /* Verify the index */ if ((i < 0) || (i > INVEN_PACK)) return (-1); @@ -1962,9 +1338,9 @@ extern bool select_ring_slot; /*! - * @brief ¥×¥ì¥¤¥ä¡¼¤Î½ê»ý/ÁõÈ÷¥ª¥Ö¥¸¥§¥¯¥ÈID¤¬»ØÎØÏȤ«¤òÊÖ¤¹ / - * @param i ¥×¥ì¥¤¥ä¡¼¤Î½ê»ý/ÁõÈ÷¥ª¥Ö¥¸¥§¥¯¥ÈID - * @return »ØÎØÏȤʤé¤ÐTRUE¤òÊÖ¤¹¡£ + * @brief プレイヤーの所持/装備オブジェクトIDが指輪枠かを返す / + * @param i プレイヤーの所持/装備オブジェクトID + * @return 指輪枠ならばTRUEを返す。 */ static bool is_ring_slot(int i) { @@ -1973,16 +1349,16 @@ static bool is_ring_slot(int i) /*! - * @brief ÁªÂò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥é¥Ù¥ë¤«¤é¥×¥ì¥¤¥ä¡¼¤ÎÁõÈ÷¥ª¥Ö¥¸¥§¥¯¥ÈID¤òÊÖ¤¹ / + * @brief 選択アルファベットラベルからプレイヤーの装備オブジェクトIDを返す / * Convert a label into the index of a item in the "equip" - * @return Âбþ¤¹¤ëID¡£³ºÅö¥¹¥í¥Ã¥È¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç-1¤òÊÖ¤¹ / Return "-1" if the label does not indicate a real item + * @return 対応するID。該当スロットにオブジェクトが存在しなかった場合-1を返す / Return "-1" if the label does not indicate a real item */ -s16b label_to_equip(int c) +INVENTORY_IDX label_to_equip(int c) { - int i; + INVENTORY_IDX i; /* Convert */ - i = (islower(c) ? A2I(c) : -1) + INVEN_RARM; + i = (INVENTORY_IDX)(islower(c) ? A2I(c) : -1) + INVEN_RARM; /* Verify the index */ if ((i < INVEN_RARM) || (i >= INVEN_TOTAL)) return (-1); @@ -1999,10 +1375,10 @@ s16b label_to_equip(int c) /*! - * @brief ¥ª¥Ö¥¸¥§¥¯¥È¤Î³ºÅöÁõÈ÷Éô°ÌID¤òÊÖ¤¹ / + * @brief オブジェクトの該当装備部位IDを返す / * Determine which equipment slot (if any) an item likes - * @param o_ptr ̾¾Î¤ò¼èÆÀ¤¹¤ë¸µ¤Î¥ª¥Ö¥¸¥§¥¯¥È¹½Â¤Âλ²¾È¥Ý¥¤¥ó¥¿ - * @return Âбþ¤¹¤ëÁõÈ÷Éô°ÌID + * @param o_ptr 名称を取得する元のオブジェクト構造体参照ポインタ + * @return 対応する装備部位ID */ s16b wield_slot(object_type *o_ptr) { @@ -2082,100 +1458,61 @@ s16b wield_slot(object_type *o_ptr) } } - /* No slot available */ - return (-1); -} - -/*! - * @brief ½ê»ý/ÁõÈ÷¥ª¥Ö¥¸¥§¥¯¥ÈID¤ÎÉô°Ìɽ¸½¤òÊÖ¤¹ / - * Return a string mentioning how a given item is carried - * @param i Éô°Ìɽ¸½¤òµá¤á¤ë¥×¥ì¥¤¥ä¡¼¤Î½ê»ý/ÁõÈ÷¥ª¥Ö¥¸¥§¥¯¥ÈID - * @return Éô°Ìɽ¸½¤Îʸ»úÎó¥Ý¥¤¥ó¥¿ - */ -cptr mention_use(int i) -{ - cptr p; - - /* Examine the location */ - switch (i) - { -#ifdef JP - case INVEN_RARM: p = p_ptr->heavy_wield[0] ? "±¿ÈÂÃæ" : ((p_ptr->ryoute && p_ptr->migite) ? " ξ¼ê" : (left_hander ? " º¸¼ê" : " ±¦¼ê")); break; -#else - case INVEN_RARM: p = p_ptr->heavy_wield[0] ? "Just lifting" : (p_ptr->migite ? "Wielding" : "On arm"); break; -#endif - -#ifdef JP - case INVEN_LARM: p = p_ptr->heavy_wield[1] ? "±¿ÈÂÃæ" : ((p_ptr->ryoute && p_ptr->hidarite) ? " ξ¼ê" : (left_hander ? " ±¦¼ê" : " º¸¼ê")); break; -#else - case INVEN_LARM: p = p_ptr->heavy_wield[1] ? "Just lifting" : (p_ptr->hidarite ? "Wielding" : "On arm"); break; -#endif - -#ifdef JP - case INVEN_BOW: p = (adj_str_hold[p_ptr->stat_ind[A_STR]] < inventory[i].weight / 10) ? "±¿ÈÂÃæ" : "¼Í·âÍÑ"; break; -#else - case INVEN_BOW: p = (adj_str_hold[p_ptr->stat_ind[A_STR]] < inventory[i].weight / 10) ? "Just holding" : "Shooting"; break; -#endif - -#ifdef JP - case INVEN_RIGHT: p = (left_hander ? "º¸¼ê»Ø" : "±¦¼ê»Ø"); break; -#else - case INVEN_RIGHT: p = (left_hander ? "On left hand" : "On right hand"); break; -#endif - -#ifdef JP - case INVEN_LEFT: p = (left_hander ? "±¦¼ê»Ø" : "º¸¼ê»Ø"); break; -#else - case INVEN_LEFT: p = (left_hander ? "On right hand" : "On left hand"); break; -#endif - -#ifdef JP - case INVEN_NECK: p = " ¼ó"; break; -#else - case INVEN_NECK: p = "Around neck"; break; -#endif - -#ifdef JP - case INVEN_LITE: p = " ¸÷¸»"; break; -#else - case INVEN_LITE: p = "Light source"; break; -#endif + /* No slot available */ + return (-1); +} -#ifdef JP - case INVEN_BODY: p = " ÂÎ"; break; -#else - case INVEN_BODY: p = "On body"; break; -#endif +/*! + * @brief 所持/装備オブジェクトIDの部位表現を返す / + * Return a string mentioning how a given item is carried + * @param i 部位表現を求めるプレイヤーの所持/装備オブジェクトID + * @return 部位表現の文字列ポインタ + */ +cptr mention_use(int i) +{ + cptr p; + /* Examine the location */ + switch (i) + { #ifdef JP - case INVEN_OUTER: p = "ÂΤξå"; break; + case INVEN_RARM: p = p_ptr->heavy_wield[0] ? "運搬中" : ((p_ptr->ryoute && p_ptr->migite) ? " 両手" : (left_hander ? " 左手" : " 右手")); break; #else - case INVEN_OUTER: p = "About body"; break; + case INVEN_RARM: p = p_ptr->heavy_wield[0] ? "Just lifting" : (p_ptr->migite ? "Wielding" : "On arm"); break; #endif #ifdef JP - case INVEN_HEAD: p = " Ƭ"; break; + case INVEN_LARM: p = p_ptr->heavy_wield[1] ? "運搬中" : ((p_ptr->ryoute && p_ptr->hidarite) ? " 両手" : (left_hander ? " 右手" : " 左手")); break; #else - case INVEN_HEAD: p = "On head"; break; + case INVEN_LARM: p = p_ptr->heavy_wield[1] ? "Just lifting" : (p_ptr->hidarite ? "Wielding" : "On arm"); break; #endif #ifdef JP - case INVEN_HANDS: p = " ¼ê"; break; + case INVEN_BOW: p = (adj_str_hold[p_ptr->stat_ind[A_STR]] < inventory[i].weight / 10) ? "運搬中" : "射撃用"; break; #else - case INVEN_HANDS: p = "On hands"; break; + case INVEN_BOW: p = (adj_str_hold[p_ptr->stat_ind[A_STR]] < inventory[i].weight / 10) ? "Just holding" : "Shooting"; break; #endif #ifdef JP - case INVEN_FEET: p = " ­"; break; + case INVEN_RIGHT: p = (left_hander ? "左手指" : "右手指"); break; #else - case INVEN_FEET: p = "On feet"; break; + case INVEN_RIGHT: p = (left_hander ? "On left hand" : "On right hand"); break; #endif #ifdef JP - default: p = "¥¶¥Ã¥¯"; break; + case INVEN_LEFT: p = (left_hander ? "右手指" : "左手指"); break; #else - default: p = "In pack"; break; + case INVEN_LEFT: p = (left_hander ? "On right hand" : "On left hand"); break; #endif + + case INVEN_NECK: p = _(" 首", "Around neck"); break; + case INVEN_LITE: p = _(" 光源", "Light source"); break; + case INVEN_BODY: p = _(" 体", "On body"); break; + case INVEN_OUTER: p = _("体の上", "About body"); break; + case INVEN_HEAD: p = _(" é ­", "On head"); break; + case INVEN_HANDS: p = _(" 手", "On hands"); break; + case INVEN_FEET: p = _(" 足", "On feet"); break; + default: p = _("ザック", "In pack"); break; } /* Return the result */ @@ -2184,10 +1521,10 @@ cptr mention_use(int i) /*! - * @brief ½ê»ý/ÁõÈ÷¥ª¥Ö¥¸¥§¥¯¥ÈID¤Î¸½ºß¤Î°·¤¤Êý¤Î¾õÂÖɽ¸½¤òÊÖ¤¹ / + * @brief 所持/装備オブジェクトIDの現在の扱い方の状態表現を返す / * Return a string describing how a given item is being worn. - * @param i ¾õÂÖɽ¸½¤òµá¤á¤ë¥×¥ì¥¤¥ä¡¼¤Î½ê»ý/ÁõÈ÷¥ª¥Ö¥¸¥§¥¯¥ÈID - * @return ¾õÂÖɽ¸½ÆâÍƤÎʸ»úÎó¥Ý¥¤¥ó¥¿ + * @param i 状態表現を求めるプレイヤーの所持/装備オブジェクトID + * @return 状態表現内容の文字列ポインタ * @details * Currently, only used for items in the equipment, not inventory. */ @@ -2198,82 +1535,43 @@ cptr describe_use(int i) switch (i) { #ifdef JP - case INVEN_RARM: p = p_ptr->heavy_wield[0] ? "±¿ÈÂÃæ¤Î" : ((p_ptr->ryoute && p_ptr->migite) ? "ξ¼ê¤ËÁõÈ÷¤·¤Æ¤¤¤ë" : (left_hander ? "º¸¼ê¤ËÁõÈ÷¤·¤Æ¤¤¤ë" : "±¦¼ê¤ËÁõÈ÷¤·¤Æ¤¤¤ë")); break; + case INVEN_RARM: p = p_ptr->heavy_wield[0] ? "運搬中の" : ((p_ptr->ryoute && p_ptr->migite) ? "両手に装備している" : (left_hander ? "左手に装備している" : "右手に装備している")); break; #else case INVEN_RARM: p = p_ptr->heavy_wield[0] ? "just lifting" : (p_ptr->migite ? "attacking monsters with" : "wearing on your arm"); break; #endif #ifdef JP - case INVEN_LARM: p = p_ptr->heavy_wield[1] ? "±¿ÈÂÃæ¤Î" : ((p_ptr->ryoute && p_ptr->hidarite) ? "ξ¼ê¤ËÁõÈ÷¤·¤Æ¤¤¤ë" : (left_hander ? "±¦¼ê¤ËÁõÈ÷¤·¤Æ¤¤¤ë" : "º¸¼ê¤ËÁõÈ÷¤·¤Æ¤¤¤ë")); break; + case INVEN_LARM: p = p_ptr->heavy_wield[1] ? "運搬中の" : ((p_ptr->ryoute && p_ptr->hidarite) ? "両手に装備している" : (left_hander ? "右手に装備している" : "左手に装備している")); break; #else case INVEN_LARM: p = p_ptr->heavy_wield[1] ? "just lifting" : (p_ptr->hidarite ? "attacking monsters with" : "wearing on your arm"); break; #endif #ifdef JP - case INVEN_BOW: p = (adj_str_hold[p_ptr->stat_ind[A_STR]] < inventory[i].weight / 10) ? "»ý¤Ä¤À¤±¤ÇÀº°ìÇÕ¤Î" : "¼Í·âÍѤËÁõÈ÷¤·¤Æ¤¤¤ë"; break; + case INVEN_BOW: p = (adj_str_hold[p_ptr->stat_ind[A_STR]] < inventory[i].weight / 10) ? "持つだけで精一杯の" : "射撃用に装備している"; break; #else case INVEN_BOW: p = (adj_str_hold[p_ptr->stat_ind[A_STR]] < inventory[i].weight / 10) ? "just holding" : "shooting missiles with"; break; #endif #ifdef JP - case INVEN_RIGHT: p = (left_hander ? "º¸¼ê¤Î»Ø¤Ë¤Ï¤á¤Æ¤¤¤ë" : "±¦¼ê¤Î»Ø¤Ë¤Ï¤á¤Æ¤¤¤ë"); break; + case INVEN_RIGHT: p = (left_hander ? "左手の指にはめている" : "右手の指にはめている"); break; #else case INVEN_RIGHT: p = (left_hander ? "wearing on your left hand" : "wearing on your right hand"); break; #endif #ifdef JP - case INVEN_LEFT: p = (left_hander ? "±¦¼ê¤Î»Ø¤Ë¤Ï¤á¤Æ¤¤¤ë" : "º¸¼ê¤Î»Ø¤Ë¤Ï¤á¤Æ¤¤¤ë"); break; + case INVEN_LEFT: p = (left_hander ? "右手の指にはめている" : "左手の指にはめている"); break; #else case INVEN_LEFT: p = (left_hander ? "wearing on your right hand" : "wearing on your left hand"); break; #endif -#ifdef JP - case INVEN_NECK: p = "¼ó¤Ë¤«¤±¤Æ¤¤¤ë"; break; -#else - case INVEN_NECK: p = "wearing around your neck"; break; -#endif - -#ifdef JP - case INVEN_LITE: p = "¸÷¸»¤Ë¤·¤Æ¤¤¤ë"; break; -#else - case INVEN_LITE: p = "using to light the way"; break; -#endif - -#ifdef JP - case INVEN_BODY: p = "ÂΤËÃå¤Æ¤¤¤ë"; break; -#else - case INVEN_BODY: p = "wearing on your body"; break; -#endif - -#ifdef JP - case INVEN_OUTER: p = "¿È¤Ë¤Þ¤È¤Ã¤Æ¤¤¤ë"; break; -#else - case INVEN_OUTER: p = "wearing on your back"; break; -#endif - -#ifdef JP - case INVEN_HEAD: p = "Ƭ¤Ë¤«¤Ö¤Ã¤Æ¤¤¤ë"; break; -#else - case INVEN_HEAD: p = "wearing on your head"; break; -#endif - -#ifdef JP - case INVEN_HANDS: p = "¼ê¤Ë¤Ä¤±¤Æ¤¤¤ë"; break; -#else - case INVEN_HANDS: p = "wearing on your hands"; break; -#endif - -#ifdef JP - case INVEN_FEET: p = "­¤Ë¤Ï¤¤¤Æ¤¤¤ë"; break; -#else - case INVEN_FEET: p = "wearing on your feet"; break; -#endif - -#ifdef JP - default: p = "¥¶¥Ã¥¯¤ËÆþ¤Ã¤Æ¤¤¤ë"; break; -#else - default: p = "carrying in your pack"; break; -#endif + case INVEN_NECK: p = _("首にかけている", "wearing around your neck"); break; + case INVEN_LITE: p = _("光源にしている", "using to light the way"); break; + case INVEN_BODY: p = _("体に着ている", "wearing on your body"); break; + case INVEN_OUTER: p = _("身にまとっている", "wearing on your back"); break; + case INVEN_HEAD: p = _("頭にかぶっている", "wearing on your head"); break; + case INVEN_HANDS: p = _("手につけている", "wearing on your hands"); break; + case INVEN_FEET: p = _("足にはいている", "wearing on your feet"); break; + default: p = _("ザックに入っている", "carrying in your pack"); break; } /* Return the result */ @@ -2282,14 +1580,14 @@ cptr describe_use(int i) /*! - * @brief tval/sval»ØÄê¤Î¥Ù¡¼¥¹¥¢¥¤¥Æ¥à¤¬¥×¥ì¥¤¥ä¡¼¤Î»ÈÍѲÄǽ¤ÊËâË¡½ñ¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief tval/sval指定のベースアイテムがプレイヤーの使用可能な魔法書かどうかを返す / * Hack: Check if a spellbook is one of the realms we can use. -- TY - * @param book_tval ¥Ù¡¼¥¹¥¢¥¤¥Æ¥à¤Îtval - * @param book_sval ¥Ù¡¼¥¹¥¢¥¤¥Æ¥à¤Îsval - * @return »ÈÍѲÄǽ¤ÊËâË¡½ñ¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param book_tval ベースアイテムのtval + * @param book_sval ベースアイテムのsval + * @return 使用可能な魔法書ならばTRUEを返す。 */ -bool check_book_realm(const byte book_tval, const byte book_sval) +bool check_book_realm(const OBJECT_TYPE_VALUE book_tval, const OBJECT_SUBTYPE_VALUE book_sval) { if (book_tval < TV_LIFE_BOOK) return FALSE; if (p_ptr->pclass == CLASS_SORCERER) @@ -2305,10 +1603,10 @@ bool check_book_realm(const byte book_tval, const byte book_sval) } /*! - * @brief ¥¢¥¤¥Æ¥à¤¬item_tester_hook¥°¥í¡¼¥Ð¥ë´Ø¿ô¥Ý¥¤¥ó¥¿¤Î¾ò·ï¤òËþ¤¿¤·¤Æ¤¤¤ë¤«¤òÊÖ¤¹ÈÆÍÑ´Ø¿ô + * @brief アイテムがitem_tester_hookグローバル関数ポインタの条件を満たしているかを返す汎用関数 * Check an item against the item tester info - * @param o_ptr ȽÄê¤ò¹Ô¤¤¤¿¤¤¥ª¥Ö¥¸¥§¥¯¥È¹½Â¤Âλ²¾È¥Ý¥¤¥ó¥¿ - * @return item_tester_hook¤Î»²¾ÈÀè¡¢¤½¤Î¾¤¤¤¯¤Ä¤«¤ÎÎã³°¤Ë±þ¤¸¤ÆTRUE/FALSE¤òÊÖ¤¹¡£ + * @param o_ptr 判定を行いたいオブジェクト構造体参照ポインタ + * @return item_tester_hookの参照先、その他いくつかの例外に応じてTRUE/FALSEを返す。 */ bool item_tester_okay(object_type *o_ptr) { @@ -2350,20 +1648,19 @@ bool item_tester_okay(object_type *o_ptr) /*! - * @brief ½ê»ý¥¢¥¤¥Æ¥à°ìÍ÷¤òɽ¼¨¤¹¤ë / + * @brief 所持アイテム一覧を表示する / * Choice window "shadow" of the "show_inven()" function - * @return ¤Ê¤· + * @return なし */ void display_inven(void) { register int i, n, z = 0; object_type *o_ptr; - byte attr = TERM_WHITE; + TERM_COLOR attr = TERM_WHITE; char tmp_val[80]; char o_name[MAX_NLEN]; int wid, hgt; - /* Get size */ Term_get_size(&wid, &hgt); /* Find the "final" slot */ @@ -2446,20 +1743,19 @@ void display_inven(void) /*! - * @brief ÁõÈ÷¥¢¥¤¥Æ¥à°ìÍ÷¤òɽ¼¨¤¹¤ë / + * @brief 装備アイテム一覧を表示する / * Choice window "shadow" of the "show_equip()" function - * @return ¤Ê¤· + * @return なし */ void display_equip(void) { register int i, n; object_type *o_ptr; - byte attr = TERM_WHITE; + TERM_COLOR attr = TERM_WHITE; char tmp_val[80]; char o_name[MAX_NLEN]; int wid, hgt; - /* Get size */ Term_get_size(&wid, &hgt); /* Display the equipment */ @@ -2487,11 +1783,7 @@ void display_equip(void) /* Obtain an item description */ if ((((i == INVEN_RARM) && p_ptr->hidarite) || ((i == INVEN_LARM) && p_ptr->migite)) && p_ptr->ryoute) { -#ifdef JP - strcpy(o_name, "(Éð´ï¤òξ¼ê»ý¤Á)"); -#else - strcpy(o_name, "(wielding with two-hands)"); -#endif + strcpy(o_name, _("(武器を両手持ち)", "(wielding with two-hands)")); attr = TERM_WHITE; } else @@ -2546,12 +1838,12 @@ void display_equip(void) /*! - * @brief ½ê»ý/ÁõÈ÷¥ª¥Ö¥¸¥§¥¯¥È¤ËÁªÂò¥¿¥°¤òÍ¿¤¨¤ë/¥¿¥°¤Ë³ºÅö¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤¬¤¢¤ë¤«¤òÊÖ¤¹ / + * @brief 所持/装備オブジェクトに選択タグを与える/タグに該当するオブジェクトがあるかを返す / * Find the "first" inventory object with the given "tag". - * @param cp Âбþ¤¹¤ë¥¿¥°ID¤òÍ¿¤¨¤ë»²¾È¥Ý¥¤¥ó¥¿ - * @param tag ³ºÅö¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤¬¤¢¤ë¤«¤òÄ´¤Ù¤¿¤¤¥¿¥° - * @param mode ½ê»ý¡¢ÁõÈ÷¤ÎÀÚ¤êÂؤ¨ - * @return ¥¿¥°¤Ë³ºÅö¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤¬¤¢¤ë¤Ê¤éTRUE¤òÊÖ¤¹ + * @param cp 対応するタグIDを与える参照ポインタ + * @param tag 該当するオブジェクトがあるかを調べたいタグ + * @param mode 所持、装備の切り替え + * @return タグに該当するオブジェクトがあるならTRUEを返す * @details * A "tag" is a numeral "n" appearing as "@n" anywhere in the\n * inscription of an object. Alphabetical characters don't work as a\n @@ -2560,9 +1852,10 @@ void display_equip(void) * Also, the tag "@xn" will work as well, where "n" is a any tag-char,\n * and "x" is the "current" command_cmd code.\n */ -static bool get_tag(int *cp, char tag, int mode) +static bool get_tag(COMMAND_CODE *cp, char tag, BIT_FLAGS mode) { - int i, start, end; + COMMAND_CODE i; + COMMAND_CODE start, end; cptr s; /* Extract index from mode */ @@ -2670,13 +1963,13 @@ static bool get_tag(int *cp, char tag, int mode) /*! - * @brief ¾²¥ª¥Ö¥¸¥§¥¯¥È¤ËÁªÂò¥¿¥°¤òÍ¿¤¨¤ë/¥¿¥°¤Ë³ºÅö¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤¬¤¢¤ë¤«¤òÊÖ¤¹ / + * @brief 床オブジェクトに選択タグを与える/タグに該当するオブジェクトがあるかを返す / * Find the "first" inventory object with the given "tag". - * @param cp Âбþ¤¹¤ë¥¿¥°ID¤òÍ¿¤¨¤ë»²¾È¥Ý¥¤¥ó¥¿ - * @param tag ³ºÅö¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤¬¤¢¤ë¤«¤òÄ´¤Ù¤¿¤¤¥¿¥° - * @param floor_list ¾²¾å¥¢¥¤¥Æ¥à¤ÎÇÛÎó - * @param floor_num ¾²¾å¥¢¥¤¥Æ¥à¤ÎÇÛÎóID - * @return ¥¿¥°¤Ë³ºÅö¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤¬¤¢¤ë¤Ê¤éTRUE¤òÊÖ¤¹ + * @param cp 対応するタグIDを与える参照ポインタ + * @param tag 該当するオブジェクトがあるかを調べたいタグ + * @param floor_list 床上アイテムの配列 + * @param floor_num 床上アイテムの配列ID + * @return タグに該当するオブジェクトがあるならTRUEを返す * @details * A "tag" is a numeral "n" appearing as "@n" anywhere in the\n * inscription of an object. Alphabetical characters don't work as a\n @@ -2685,9 +1978,9 @@ static bool get_tag(int *cp, char tag, int mode) * Also, the tag "@xn" will work as well, where "n" is a any tag-char,\n * and "x" is the "current" command_cmd code.\n */ -static bool get_tag_floor(int *cp, char tag, int floor_list[], int floor_num) +static bool get_tag_floor(COMMAND_CODE *cp, char tag, FLOOR_IDX floor_list[], ITEM_NUMBER floor_num) { - int i; + COMMAND_CODE i; cptr s; /**** Find a tag in the form of {@x#} (allow alphabet tag) ***/ @@ -2766,13 +2059,13 @@ static bool get_tag_floor(int *cp, char tag, int floor_list[], int floor_num) /*! - * @brief ¥¿¥°ID¤Ë¤¢¤ï¤»¤Æ¥¿¥°¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Î¥ê¥¹¥È¤òÊÖ¤¹ / + * @brief タグIDにあわせてタグアルファベットのリストを返す / * Move around label characters with correspond tags - * @param label ¥é¥Ù¥ë¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ëʸ»úÎ󻲾ȥݥ¤¥ó¥¿ - * @param mode ½ê»ýÉʥꥹ¥È¤«ÁõÈ÷Éʥꥹ¥È¤«¤ÎÀÚ¤êÂؤ¨ - * @return ¤Ê¤· + * @param label ラベルリストを取得する文字列参照ポインタ + * @param mode 所持品リストか装備品リストかの切り替え + * @return なし */ -static void prepare_label_string(char *label, int mode) +static void prepare_label_string(char *label, BIT_FLAGS mode) { cptr alphabet_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; int offset = (mode == USE_EQUIP) ? INVEN_RARM : 0; @@ -2784,7 +2077,7 @@ static void prepare_label_string(char *label, int mode) /* Move each label */ for (i = 0; i < 52; i++) { - int index; + COMMAND_CODE index; char c = alphabet_chars[i]; /* Find a tag with this label */ @@ -2801,16 +2094,16 @@ static void prepare_label_string(char *label, int mode) /*! - * @brief ¥¿¥°ID¤Ë¤¢¤ï¤»¤Æ¥¿¥°¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Î¥ê¥¹¥È¤òÊÖ¤¹(¾²¾å¥¢¥¤¥Æ¥àÍÑ) / + * @brief タグIDにあわせてタグアルファベットのリストを返す(床上アイテム用) / * Move around label characters with correspond tags (floor version) - * @param label ¥é¥Ù¥ë¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ëʸ»úÎ󻲾ȥݥ¤¥ó¥¿ - * @param floor_list ¾²¾å¥¢¥¤¥Æ¥à¤ÎÇÛÎó - * @param floor_num ¾²¾å¥¢¥¤¥Æ¥à¤ÎÇÛÎóID - * @return ¤Ê¤· + * @param label ラベルリストを取得する文字列参照ポインタ + * @param floor_list 床上アイテムの配列 + * @param floor_num 床上アイテムの配列ID + * @return なし */ /* */ -static void prepare_label_string_floor(char *label, int floor_list[], int floor_num) +static void prepare_label_string_floor(char *label, FLOOR_IDX floor_list[], ITEM_NUMBER floor_num) { cptr alphabet_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; int i; @@ -2821,7 +2114,7 @@ static void prepare_label_string_floor(char *label, int floor_list[], int floor_ /* Move each label */ for (i = 0; i < 52; i++) { - int index; + COMMAND_CODE index; char c = alphabet_chars[i]; /* Find a tag with this label */ @@ -2838,31 +2131,31 @@ static void prepare_label_string_floor(char *label, int floor_list[], int floor_ /*! - * @brief ½ê»ý¥¢¥¤¥Æ¥à¤Îɽ¼¨¤ò¹Ô¤¦ / + * @brief 所持アイテムの表示を行う / * Display the inventory. - * @param target_item ¥¢¥¤¥Æ¥à¤ÎÁªÂò½èÍý¤ò¹Ô¤¦¤«Èݤ«¡£ - * @return ÁªÂò¤·¤¿¥¢¥¤¥Æ¥à¤Î¥¿¥° + * @param target_item アイテムの選択処理を行うか否か。 + * @return 選択したアイテムのタグ * @details * Hack -- do not display "trailing" empty slots */ -int show_inven(int target_item) +COMMAND_CODE show_inven(int target_item) { - int i, j, k, l, z = 0; + COMMAND_CODE i; + int j, k, l, z = 0; int col, cur_col, len; object_type *o_ptr; char o_name[MAX_NLEN]; char tmp_val[80]; - int out_index[23]; - byte out_color[23]; + COMMAND_CODE out_index[23]; + TERM_COLOR out_color[23]; char out_desc[23][MAX_NLEN]; - int target_item_label = 0; - int wid, hgt; + COMMAND_CODE target_item_label = 0; + TERM_LEN wid, hgt; char inven_label[52 + 1]; /* Starting column */ col = command_gap; - /* Get size */ Term_get_size(&wid, &hgt); /* Default "max-length" */ @@ -2891,7 +2184,6 @@ int show_inven(int target_item) /* Is this item acceptable? */ if (!item_tester_okay(o_ptr)) continue; - /* Describe the object */ object_desc(o_name, o_ptr, 0); /* Save the object index, color, and description */ @@ -2935,7 +2227,6 @@ int show_inven(int target_item) /* Get the index */ i = out_index[j]; - /* Get the item */ o_ptr = &inventory[i]; /* Clear the line */ @@ -2945,11 +2236,7 @@ int show_inven(int target_item) { if (j == (target_item-1)) { -#ifdef JP - strcpy(tmp_val, "¡Õ"); -#else - strcpy(tmp_val, "> "); -#endif + strcpy(tmp_val, _("》", "> ")); target_item_label = i; } else strcpy(tmp_val, " "); @@ -2975,11 +2262,6 @@ int show_inven(int target_item) { byte a = object_attr(o_ptr); char c = object_char(o_ptr); - -#ifdef AMIGA - if (a & 0x80) a |= 0x40; -#endif - Term_queue_bigchar(cur_col, j + 1, a, c, 0, 0); if (use_bigtile) cur_col++; @@ -3015,29 +2297,29 @@ int show_inven(int target_item) /*! - * @brief ÁõÈ÷¥¢¥¤¥Æ¥à¤Îɽ¼¨¤ò¹Ô¤¦ / + * @brief 装備アイテムの表示を行う / * Display the equipment. - * @param target_item ¥¢¥¤¥Æ¥à¤ÎÁªÂò½èÍý¤ò¹Ô¤¦¤«Èݤ«¡£ - * @return ÁªÂò¤·¤¿¥¢¥¤¥Æ¥à¤Î¥¿¥° + * @param target_item アイテムの選択処理を行うか否か。 + * @return 選択したアイテムのタグ */ -int show_equip(int target_item) +COMMAND_CODE show_equip(int target_item) { - int i, j, k, l; + COMMAND_CODE i; + int j, k, l; int col, cur_col, len; object_type *o_ptr; char tmp_val[80]; char o_name[MAX_NLEN]; - int out_index[23]; - byte out_color[23]; + COMMAND_CODE out_index[23]; + TERM_COLOR out_color[23]; char out_desc[23][MAX_NLEN]; - int target_item_label = 0; - int wid, hgt; + COMMAND_CODE target_item_label = 0; + TERM_LEN wid, hgt; char equip_label[52 + 1]; /* Starting column */ col = command_gap; - /* Get size */ Term_get_size(&wid, &hgt); /* Maximal length */ @@ -3059,11 +2341,7 @@ int show_equip(int target_item) if ((((i == INVEN_RARM) && p_ptr->hidarite) || ((i == INVEN_LARM) && p_ptr->migite)) && p_ptr->ryoute) { -#ifdef JP - (void)strcpy(out_desc[k],"(Éð´ï¤òξ¼ê»ý¤Á)"); -#else - (void)strcpy(out_desc[k],"(wielding with two-hands)"); -#endif + (void)strcpy(out_desc[k],_("(武器を両手持ち)", "(wielding with two-hands)")); out_color[k] = TERM_WHITE; } else @@ -3122,7 +2400,6 @@ int show_equip(int target_item) /* Get the index */ i = out_index[j]; - /* Get the item */ o_ptr = &inventory[i]; /* Clear the line */ @@ -3132,11 +2409,7 @@ int show_equip(int target_item) { if (j == (target_item-1)) { -#ifdef JP - strcpy(tmp_val, "¡Õ"); -#else - strcpy(tmp_val, "> "); -#endif + strcpy(tmp_val, _("》", "> ")); target_item_label = i; } else strcpy(tmp_val, " "); @@ -3162,11 +2435,6 @@ int show_equip(int target_item) { byte a = object_attr(o_ptr); char c = object_char(o_ptr); - -#ifdef AMIGA - if (a & 0x80) a |= 0x40; -#endif - Term_queue_bigchar(cur_col, j + 1, a, c, 0, 0); if (use_bigtile) cur_col++; @@ -3177,20 +2445,12 @@ int show_equip(int target_item) if (show_labels) { /* Mention the use */ -#ifdef JP - (void)sprintf(tmp_val, "%-7s: ", mention_use(i)); -#else - (void)sprintf(tmp_val, "%-14s: ", mention_use(i)); -#endif + (void)sprintf(tmp_val, _("%-7s: ", "%-14s: "), mention_use(i)); put_str(tmp_val, j+1, cur_col); /* Display the entry itself */ -#ifdef JP - c_put_str(out_color[j], out_desc[j], j+1, cur_col + 9); -#else - c_put_str(out_color[j], out_desc[j], j+1, cur_col + 16); -#endif + c_put_str(out_color[j], out_desc[j], j+1, _(cur_col + 9, cur_col + 16)); } /* No labels */ @@ -3224,9 +2484,9 @@ int show_equip(int target_item) } /*! - * @brief ¥µ¥Ö¥¦¥£¥ó¥É¥¦¤Ë½ê»ýÉÊ¡¢ÁõÈ÷Éʥꥹ¥È¤Îɽ¼¨¤ò¹Ô¤¦ / + * @brief サブウィンドウに所持品、装備品リストの表示を行う / * Flip "inven" and "equip" in any sub-windows - * @return ¤Ê¤· + * @return なし */ void toggle_inven_equip(void) { @@ -3245,7 +2505,6 @@ void toggle_inven_equip(void) window_flag[j] &= ~(PW_INVEN); window_flag[j] |= (PW_EQUIP); - /* Window stuff */ p_ptr->window |= (PW_EQUIP); } @@ -3256,21 +2515,20 @@ void toggle_inven_equip(void) window_flag[j] &= ~(PW_EQUIP); window_flag[j] |= (PW_INVEN); - /* Window stuff */ p_ptr->window |= (PW_INVEN); } } } /*! - * @brief ÁªÂò¤·¤¿¥¢¥¤¥Æ¥à¤Î³Îǧ½èÍý¤ÎÊä½õ / + * @brief 選択したアイテムの確認処理の補助 / * Verify the choice of an item. - * @param prompt ¥á¥Ã¥»¡¼¥¸É½¼¨¤Î°ìÉô - * @param item ÁªÂò¥¢¥¤¥Æ¥àID - * @return ³Îǧ¤¬Yes¤Ê¤éTRUE¤òÊÖ¤¹¡£ + * @param prompt メッセージ表示の一部 + * @param item 選択アイテムID + * @return 確認がYesならTRUEを返す。 * @details The item can be negative to mean "item on floor". */ -static bool verify(cptr prompt, int item) +static bool verify(cptr prompt, INVENTORY_IDX item) { char o_name[MAX_NLEN]; char out_val[MAX_NLEN+20]; @@ -3288,17 +2546,10 @@ static bool verify(cptr prompt, int item) { o_ptr = &o_list[0 - item]; } - - /* Describe */ object_desc(o_name, o_ptr, 0); /* Prompt */ -#ifdef JP -(void)sprintf(out_val, "%s%s¤Ç¤¹¤«? ", prompt, o_name); -#else - (void)sprintf(out_val, "%s %s? ", prompt, o_name); -#endif - + (void)sprintf(out_val, _("%s%sですか? ", "%s %s? "), prompt, o_name); /* Query */ return (get_check(out_val)); @@ -3306,13 +2557,13 @@ static bool verify(cptr prompt, int item) /*! - * @brief ÁªÂò¤·¤¿¥¢¥¤¥Æ¥à¤Î³Îǧ½èÍý¤Î¥á¥¤¥ó¥ë¡¼¥Á¥ó / - * @param item ÁªÂò¥¢¥¤¥Æ¥àID - * @return ³Îǧ¤¬Yes¤Ê¤éTRUE¤òÊÖ¤¹¡£ + * @brief 選択したアイテムの確認処理のメインルーチン / + * @param item 選択アイテムID + * @return 確認がYesならTRUEを返す。 * @details The item can be negative to mean "item on floor". * Hack -- allow user to "prevent" certain choices */ -static bool get_item_allow(int item) +static bool get_item_allow(INVENTORY_IDX item) { cptr s; @@ -3345,12 +2596,7 @@ static bool get_item_allow(int item) if ((s[1] == command_cmd) || (s[1] == '*')) { /* Verify the choice */ -#ifdef JP -if (!verify("ËÜÅö¤Ë", item)) return (FALSE); -#else - if (!verify("Really try", item)) return (FALSE); -#endif - + if (!verify(_("本当に", "Really try"), item)) return (FALSE); } /* Find another '!' */ @@ -3363,12 +2609,12 @@ if (!verify(" /*! - * @brief ¥×¥ì¥¤¥ä¡¼¤Î½ê»ý/ÁõÈ÷¥ª¥Ö¥¸¥§¥¯¥È¤¬Àµµ¬¤Î¤â¤Î¤«¤òÊÖ¤¹ / + * @brief プレイヤーの所持/装備オブジェクトが正規のものかを返す / * Auxiliary function for "get_item()" -- test an index - * @param i ÁªÂò¥¢¥¤¥Æ¥àID - * @return Àµµ¬¤ÎID¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param i 選択アイテムID + * @return 正規のIDならばTRUEを返す。 */ -static bool get_item_okay(int i) +static bool get_item_okay(OBJECT_IDX i) { /* Illegal items */ if ((i < 0) || (i >= INVEN_TOTAL)) return (FALSE); @@ -3383,20 +2629,22 @@ static bool get_item_okay(int i) } /*! - * @brief ¥×¥ì¥¤¥ä¡¼¤¬¥ª¥Ö¥¸¥§¥¯¥È¤ò½¦¤¦¤³¤È¤¬¤Ç¤­¤ë¾õÂÖ¤«¤òÊÖ¤¹ / + * @brief プレイヤーがオブジェクトを拾うことができる状態かを返す / * Determine whether get_item() can get some item or not - * @return ¥¢¥¤¥Æ¥à¤ò½¦¤¨¤ë¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @return アイテムを拾えるならばTRUEを返す。 * @details assuming mode = (USE_EQUIP | USE_INVEN | USE_FLOOR). */ bool can_get_item(void) { - int j, floor_list[23], floor_num = 0; + int j; + OBJECT_IDX floor_list[23]; + ITEM_NUMBER floor_num = 0; for (j = 0; j < INVEN_TOTAL; j++) if (item_tester_okay(&inventory[j])) return TRUE; - floor_num = scan_floor(floor_list, py, px, 0x03); + floor_num = scan_floor(floor_list, p_ptr->y, p_ptr->x, 0x03); if (floor_num) return TRUE; @@ -3404,13 +2652,13 @@ bool can_get_item(void) } /*! - * @brief ¥ª¥Ö¥¸¥§¥¯¥ÈÁªÂò¤ÎÈÆÍÑ´Ø¿ô / + * @brief オブジェクト選択の汎用関数 / * Let the user select an item, save its "index" - * @param cp ÁªÂò¤·¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ÎID¤òÊÖ¤¹¡£ - * @param pmt ÁªÂòÌÜŪ¤Î¥á¥Ã¥»¡¼¥¸ - * @param str ÁªÂò¤Ç¤­¤ë¥ª¥Ö¥¸¥§¥¯¥È¤¬¤Ê¤¤¾ì¹ç¤Î¥­¥ã¥ó¥»¥ë¥á¥Ã¥»¡¼¥¸ - * @param mode ¥ª¥×¥·¥ç¥ó¥Õ¥é¥° - * @return ¥×¥ì¥¤¥ä¡¼¤Ë¤è¤ê¥¢¥¤¥Æ¥à¤¬ÁªÂò¤µ¤ì¤¿¤Ê¤éTRUE¤òÊÖ¤¹¡£/ + * @param cp 選択したオブジェクトのIDを返す。 + * @param pmt 選択目的のメッセージ + * @param str 選択できるオブジェクトがない場合のキャンセルメッセージ + * @param mode オプションフラグ + * @return プレイヤーによりアイテムが選択されたならTRUEを返す。/ * Return TRUE only if an acceptable item was chosen by the user.\n * @details * The selected item must satisfy the "item_tester_hook()" function,\n @@ -3458,13 +2706,16 @@ bool can_get_item(void) * We always erase the prompt when we are done, leaving a blank line,\n * or a warning message, if appropriate, if no items are available.\n */ -bool get_item(int *cp, cptr pmt, cptr str, int mode) +bool get_item(OBJECT_IDX *cp, cptr pmt, cptr str, BIT_FLAGS mode) { - s16b this_o_idx, next_o_idx = 0; + OBJECT_IDX this_o_idx, next_o_idx = 0; char which = ' '; - int j, k, i1, i2, e1, e2; + int j; + OBJECT_IDX k; + OBJECT_IDX i1, i2; + OBJECT_IDX e1, e2; bool done, item; @@ -3488,26 +2739,16 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) int max_inven = 0; int max_equip = 0; -#ifdef ALLOW_REPEAT - static char prev_tag = '\0'; char cur_tag = '\0'; -#endif /* ALLOW_REPEAT */ - -#ifdef ALLOW_EASY_FLOOR /* TNB */ - if (easy_floor || use_menu) return get_item_floor(cp, pmt, str, mode); -#endif /* ALLOW_EASY_FLOOR -- TNB */ - /* Extract args */ if (mode & USE_EQUIP) equip = TRUE; if (mode & USE_INVEN) inven = TRUE; if (mode & USE_FLOOR) floor = TRUE; -#ifdef ALLOW_REPEAT - /* Get the item index */ if (repeat_pull(cp)) { @@ -3584,10 +2825,8 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) } } -#endif /* ALLOW_REPEAT */ - - /* Paranoia XXX XXX XXX */ + /* Paranoia */ msg_print(NULL); @@ -3646,7 +2885,7 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) if (floor) { /* Scan all objects in the grid */ - for (this_o_idx = cave[py][px].o_idx; this_o_idx; this_o_idx = next_o_idx) + for (this_o_idx = cave[p_ptr->y][p_ptr->x].o_idx; this_o_idx; this_o_idx = next_o_idx) { object_type *o_ptr; @@ -3667,10 +2906,8 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) /* Cancel p_ptr->command_see */ command_see = FALSE; - /* Oops */ oops = TRUE; - /* Done */ done = TRUE; if (select_the_force) { @@ -3709,14 +2946,13 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) /* - * Äɲ媥ץ·¥ç¥ó(always_show_list)¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¾ï¤Ë°ìÍ÷¤òɽ¼¨¤¹¤ë + * 追加オプション(always_show_list)が設定されている場合は常に一覧を表示する */ if ((always_show_list == TRUE) || use_menu) command_see = TRUE; /* Hack -- start out in "display" mode */ if (command_see) { - /* Save screen */ screen_save(); } @@ -3724,7 +2960,7 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) /* Repeat until done */ while (!done) { - int get_item_label = 0; + COMMAND_CODE get_item_label = 0; /* Show choices */ int ni = 0; @@ -3779,21 +3015,13 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) if (!command_wrk) { /* Begin the prompt */ -#ifdef JP - sprintf(out_val, "»ý¤Áʪ:"); -#else - sprintf(out_val, "Inven:"); -#endif + sprintf(out_val, _("持ち物:", "Inven:")); /* Some legal items */ if ((i1 <= i2) && !use_menu) { /* Build the prompt */ -#ifdef JP - sprintf(tmp_val, "%c-%c,'(',')',", -#else - sprintf(tmp_val, " %c-%c,'(',')',", -#endif + sprintf(tmp_val, _("%c-%c,'(',')',", " %c-%c,'(',')',"), index_to_label(i1), index_to_label(i2)); /* Append */ @@ -3801,15 +3029,11 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) } /* Indicate ability to "view" */ -#ifdef JP - if (!command_see && !use_menu) strcat(out_val, " '*'°ìÍ÷,"); -#else - if (!command_see && !use_menu) strcat(out_val, " * to see,"); -#endif + if (!command_see && !use_menu) strcat(out_val, _(" '*'一覧,", " * to see,")); /* Append */ #ifdef JP - if (equip) strcat(out_val, format(" %s ÁõÈ÷ÉÊ,", use_menu ? "'4'or'6'" : "'/'")); + if (equip) strcat(out_val, format(" %s 装備品,", use_menu ? "'4'or'6'" : "'/'")); #else if (equip) strcat(out_val, format(" %s for Equip,", use_menu ? "4 or 6" : "/")); #endif @@ -3819,21 +3043,13 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) else { /* Begin the prompt */ -#ifdef JP - sprintf(out_val, "ÁõÈ÷ÉÊ:"); -#else - sprintf(out_val, "Equip:"); -#endif + sprintf(out_val, _("装備品:", "Equip:")); /* Some legal items */ if ((e1 <= e2) && !use_menu) { /* Build the prompt */ -#ifdef JP - sprintf(tmp_val, "%c-%c,'(',')',", -#else - sprintf(tmp_val, " %c-%c,'(',')',", -#endif + sprintf(tmp_val, _("%c-%c,'(',')',", " %c-%c,'(',')',"), index_to_label(e1), index_to_label(e2)); /* Append */ @@ -3841,28 +3057,19 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) } /* Indicate ability to "view" */ -#ifdef JP - if (!command_see && !use_menu) strcat(out_val, " '*'°ìÍ÷,"); -#else - if (!command_see) strcat(out_val, " * to see,"); -#endif + if (!command_see && !use_menu) strcat(out_val, _(" '*'一覧,", " * to see,")); /* Append */ #ifdef JP - if (inven) strcat(out_val, format(" %s »ý¤Áʪ,", use_menu ? "'4'or'6'" : "'/'")); + if (inven) strcat(out_val, format(" %s 持ち物,", use_menu ? "'4'or'6'" : "'/'")); #else if (inven) strcat(out_val, format(" %s for Inven,", use_menu ? "4 or 6" : "'/'")); #endif } /* Indicate legality of the "floor" item */ -#ifdef JP - if (allow_floor) strcat(out_val, " '-'¾²¾å,"); - if (select_the_force) strcat(out_val, " 'w'Îýµ¤½Ñ,"); -#else - if (allow_floor) strcat(out_val, " - for floor,"); - if (select_the_force) strcat(out_val, " w for the Force,"); -#endif + if (allow_floor) strcat(out_val, _(" '-'床上,", " - for floor,")); + if (select_the_force) strcat(out_val, _(" 'w'練気術,", " w for the Force,")); /* Finish the prompt */ strcat(out_val, " ESC"); @@ -3923,10 +3130,7 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) /* Hack -- Fix screen */ if (command_see) { - /* Load screen */ screen_load(); - - /* Save screen */ screen_save(); } @@ -4005,15 +3209,12 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) { /* Flip flag */ command_see = FALSE; - - /* Load screen */ screen_load(); } /* Show the list */ else { - /* Save screen */ screen_save(); /* Flip flag */ @@ -4034,10 +3235,7 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) /* Hack -- Fix screen */ if (command_see) { - /* Load screen */ screen_load(); - - /* Save screen */ screen_save(); } @@ -4054,7 +3252,7 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) if (allow_floor) { /* Scan all objects in the grid */ - for (this_o_idx = cave[py][px].o_idx; this_o_idx; this_o_idx = next_o_idx) + for (this_o_idx = cave[p_ptr->y][p_ptr->x].o_idx; this_o_idx; this_o_idx = next_o_idx) { object_type *o_ptr; @@ -4071,12 +3269,7 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode) k = 0 - this_o_idx; /* Verify the item (if required) */ -#ifdef JP -if (other_query_flag && !verify("ËÜÅö¤Ë", k)) continue; -#else - if (other_query_flag && !verify("Try", k)) continue; -#endif - + if (other_query_flag && !verify(_("本当に", "Try"), k)) continue; /* Allow player to "refuse" certain actions */ if (!get_item_allow(k)) continue; @@ -4092,7 +3285,6 @@ if (other_query_flag && !verify(" if (done) break; } - /* Oops */ bell(); break; } @@ -4134,9 +3326,7 @@ if (other_query_flag && !verify(" (*cp) = k; item = TRUE; done = TRUE; -#ifdef ALLOW_REPEAT cur_tag = which; -#endif /* ALLOW_REPEAT */ break; } @@ -4219,15 +3409,13 @@ if (other_query_flag && !verify(" (*cp) = k; item = TRUE; done = TRUE; -#ifdef ALLOW_REPEAT cur_tag = which; -#endif /* ALLOW_REPEAT */ break; } /* Extract "query" setting */ ver = isupper(which); - which = tolower(which); + which = (char)tolower(which); /* Convert letter to inventory index */ if (!command_wrk) @@ -4253,12 +3441,7 @@ if (other_query_flag && !verify(" } /* Verify the item */ -#ifdef JP -if (ver && !verify("ËÜÅö¤Ë", k)) -#else - if (ver && !verify("Try", k)) -#endif - + if (ver && !verify(_("本当に", "Try"), k)) { done = TRUE; break; @@ -4285,7 +3468,6 @@ if (ver && !verify(" /* Fix the screen if necessary */ if (command_see) { - /* Load screen */ screen_load(); /* Hack -- Cancel "display" */ @@ -4309,7 +3491,6 @@ if (ver && !verify(" /* Update */ p_ptr->window |= (PW_INVEN | PW_EQUIP); - /* Window stuff */ window_stuff(); @@ -4321,28 +3502,20 @@ if (ver && !verify(" if (item) { -#ifdef ALLOW_REPEAT repeat_push(*cp); if (command_cmd) prev_tag = cur_tag; -#endif /* ALLOW_REPEAT */ - command_cmd = 0; /* Hack -- command_cmd is no longer effective */ } - - /* Result */ return (item); } - -#ifdef ALLOW_EASY_FLOOR - /*! - * @brief ¾²²¼¤ËÍî¤Á¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¿ô¤òÊÖ¤¹ / scan_floor - * @param items ¥ª¥Ö¥¸¥§¥¯¥È¤ÎID¥ê¥¹¥È¤òÊÖ¤¹¤¿¤á¤ÎÇÛÎ󻲾ȥݥ¤¥ó¥¿ - * @param y Áöºº¤¹¤ë¥Õ¥í¥¢¤ÎYºÂɸ - * @param x Áöºº¤¹¤ë¥Õ¥í¥¢¤ÎXºÂɸ - * @param mode ¥ª¥×¥·¥ç¥ó¥Õ¥é¥° - * @return ÂоݤΥޥ¹¤ËÍî¤Á¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¿ô + * @brief 床下に落ちているオブジェクトの数を返す / scan_floor + * @param items オブジェクトのIDリストを返すための配列参照ポインタ + * @param y 走査するフロアのY座標 + * @param x 走査するフロアのX座標 + * @param mode オプションフラグ + * @return 対象のマスに落ちているアイテム数 * @details * Return a list of o_list[] indexes of items at the given cave * location. Valid flags are: @@ -4351,11 +3524,11 @@ if (ver && !verify(" * mode & 0x02 -- Marked items only * mode & 0x04 -- Stop after first */ -int scan_floor(int *items, int y, int x, int mode) +ITEM_NUMBER scan_floor(OBJECT_IDX *items, POSITION y, POSITION x, BIT_FLAGS mode) { - int this_o_idx, next_o_idx; + OBJECT_IDX this_o_idx, next_o_idx; - int num = 0; + ITEM_NUMBER num = 0; /* Sanity */ if (!in_bounds(y, x)) return 0; @@ -4387,50 +3560,47 @@ int scan_floor(int *items, int y, int x, int mode) /* Only one */ if (mode & 0x04) break; } - - /* Result */ return num; } /*! - * @brief ¾²²¼¤ËÍî¤Á¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤Î°ìÍ÷¤òÊÖ¤¹ / Display a list of the items on the floor at the given location. - * @param target_item ¥«¡¼¥½¥ë¤Î½é´üÃÍ - * @param y Áöºº¤¹¤ë¥Õ¥í¥¢¤ÎYºÂɸ - * @param x Áöºº¤¹¤ë¥Õ¥í¥¢¤ÎXºÂɸ - * @param min_width ɽ¼¨¤ÎŤµ - * @return ÁªÂò¤·¤¿¥¢¥¤¥Æ¥à¤ÎID + * @brief 床下に落ちているアイテムの一覧を返す / Display a list of the items on the floor at the given location. + * @param target_item カーソルの初期値 + * @param y 走査するフロアのY座標 + * @param x 走査するフロアのX座標 + * @param min_width 表示の長さ + * @return 選択したアイテムの添え字 * @details */ -int show_floor(int target_item, int y, int x, int *min_width) +COMMAND_CODE show_floor(int target_item, POSITION y, POSITION x, TERM_LEN *min_width) { - int i, j, k, l; + COMMAND_CODE i, m; + int j, k, l; int col, len; object_type *o_ptr; char o_name[MAX_NLEN]; - char tmp_val[80]; - int out_index[23]; - byte out_color[23]; + COMMAND_CODE out_index[23]; + TERM_COLOR out_color[23]; char out_desc[23][MAX_NLEN]; - int target_item_label = 0; + COMMAND_CODE target_item_label = 0; - int floor_list[23], floor_num; - int wid, hgt; + OBJECT_IDX floor_list[23]; + ITEM_NUMBER floor_num; + TERM_LEN wid, hgt; char floor_label[52 + 1]; bool dont_need_to_show_weights = TRUE; - /* Get size */ Term_get_size(&wid, &hgt); /* Default length */ len = MAX((*min_width), 20); - /* Scan for objects in the grid, using item_tester_okay() */ floor_num = scan_floor(floor_list, y, x, 0x03); @@ -4439,7 +3609,6 @@ int show_floor(int target_item, int y, int x, int *min_width) { o_ptr = &o_list[floor_list[i]]; - /* Describe the object */ object_desc(o_name, o_ptr, 0); /* Save the index */ @@ -4480,10 +3649,9 @@ int show_floor(int target_item, int y, int x, int *min_width) for (j = 0; j < k; j++) { /* Get the index */ - i = floor_list[out_index[j]]; + m = floor_list[out_index[j]]; - /* Get the item */ - o_ptr = &o_list[i]; + o_ptr = &o_list[m]; /* Clear the line */ prt("", j + 1, col ? col - 2 : col); @@ -4492,12 +3660,8 @@ int show_floor(int target_item, int y, int x, int *min_width) { if (j == (target_item-1)) { -#ifdef JP - strcpy(tmp_val, "¡Õ"); -#else - strcpy(tmp_val, "> "); -#endif - target_item_label = i; + strcpy(tmp_val, _("》", "> ")); + target_item_label = m; } else strcpy(tmp_val, " "); } @@ -4534,19 +3698,22 @@ int show_floor(int target_item, int y, int x, int *min_width) } /*! - * @brief ¥ª¥Ö¥¸¥§¥¯¥ÈÁªÂò¤ÎÈÆÍÑ´Ø¿ô(¾²¾å¥¢¥¤¥Æ¥àÍÑ) / + * @brief オブジェクト選択の汎用関数(床上アイテム用) / * Let the user select an item, save its "index" - * @param cp ÁªÂò¤·¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ÎID¤òÊÖ¤¹¡£ - * @param pmt ÁªÂòÌÜŪ¤Î¥á¥Ã¥»¡¼¥¸ - * @param str ÁªÂò¤Ç¤­¤ë¥ª¥Ö¥¸¥§¥¯¥È¤¬¤Ê¤¤¾ì¹ç¤Î¥­¥ã¥ó¥»¥ë¥á¥Ã¥»¡¼¥¸ - * @param mode ¥ª¥×¥·¥ç¥ó¥Õ¥é¥° - * @return ¥×¥ì¥¤¥ä¡¼¤Ë¤è¤ê¥¢¥¤¥Æ¥à¤¬ÁªÂò¤µ¤ì¤¿¤Ê¤éTRUE¤òÊÖ¤¹¡£/ + * @param cp 選択したオブジェクトのIDを返す。 + * @param pmt 選択目的のメッセージ + * @param str 選択できるオブジェクトがない場合のキャンセルメッセージ + * @param mode オプションフラグ + * @return プレイヤーによりアイテムが選択されたならTRUEを返す。/ */ -bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) +bool get_item_floor(COMMAND_CODE *cp, cptr pmt, cptr str, BIT_FLAGS mode) { char n1 = ' ', n2 = ' ', which = ' '; - int j, k, i1, i2, e1, e2; + int j; + COMMAND_CODE i1, i2; + COMMAND_CODE e1, e2; + COMMAND_CODE k; bool done, item; @@ -4566,8 +3733,10 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) char tmp_val[160]; char out_val[160]; - int floor_num, floor_list[23], floor_top = 0; - int min_width = 0; + ITEM_NUMBER floor_num; + OBJECT_IDX floor_list[23]; + int floor_top = 0; + TERM_LEN min_width = 0; extern bool select_the_force; @@ -4575,8 +3744,6 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) int max_inven = 0; int max_equip = 0; -#ifdef ALLOW_REPEAT - static char prev_tag = '\0'; char cur_tag = '\0'; @@ -4598,7 +3765,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) if (prev_tag && command_cmd) { /* Scan all objects in the grid */ - floor_num = scan_floor(floor_list, py, px, 0x03); + floor_num = scan_floor(floor_list, p_ptr->y, p_ptr->x, 0x03); /* Look up the tag */ if (get_tag_floor(&k, prev_tag, floor_list, floor_num)) @@ -4671,10 +3838,8 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) } } -#endif /* ALLOW_REPEAT */ - - /* Paranoia XXX XXX XXX */ + /* Paranoia */ msg_print(NULL); @@ -4736,7 +3901,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) if (floor) { /* Scan all objects in the grid */ - floor_num = scan_floor(floor_list, py, px, 0x03); + floor_num = scan_floor(floor_list, p_ptr->y, p_ptr->x, 0x03); } /* Accept inventory */ @@ -4754,10 +3919,8 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) /* Cancel p_ptr->command_see */ command_see = FALSE; - /* Oops */ oops = TRUE; - /* Done */ done = TRUE; if (select_the_force) { @@ -4796,21 +3959,20 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) } /* - * Äɲ媥ץ·¥ç¥ó(always_show_list)¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¾ï¤Ë°ìÍ÷¤òɽ¼¨¤¹¤ë + * 追加オプション(always_show_list)が設定されている場合は常に一覧を表示する */ if ((always_show_list == TRUE) || use_menu) command_see = TRUE; /* Hack -- start out in "display" mode */ if (command_see) { - /* Save screen */ screen_save(); } /* Repeat until done */ while (!done) { - int get_item_label = 0; + COMMAND_CODE get_item_label = 0; /* Show choices */ int ni = 0; @@ -4879,27 +4041,19 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) n2 = I2A(k - floor_top); /* Redraw if needed */ - if (command_see) get_item_label = show_floor(menu_line, py, px, &min_width); + if (command_see) get_item_label = show_floor(menu_line, p_ptr->y, p_ptr->x, &min_width); } /* Viewing inventory */ if (command_wrk == (USE_INVEN)) { /* Begin the prompt */ -#ifdef JP - sprintf(out_val, "»ý¤Áʪ:"); -#else - sprintf(out_val, "Inven:"); -#endif + sprintf(out_val, _("持ち物:", "Inven:")); if (!use_menu) { /* Build the prompt */ -#ifdef JP - sprintf(tmp_val, "%c-%c,'(',')',", -#else - sprintf(tmp_val, " %c-%c,'(',')',", -#endif + sprintf(tmp_val, _("%c-%c,'(',')',", " %c-%c,'(',')',"), index_to_label(i1), index_to_label(i2)); /* Append */ @@ -4907,50 +4061,28 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) } /* Indicate ability to "view" */ -#ifdef JP - if (!command_see && !use_menu) strcat(out_val, " '*'°ìÍ÷,"); -#else - if (!command_see && !use_menu) strcat(out_val, " * to see,"); -#endif + if (!command_see && !use_menu) strcat(out_val, _(" '*'一覧,", " * to see,")); /* Append */ if (allow_equip) { -#ifdef JP - if (!use_menu) - strcat(out_val, " '/' ÁõÈ÷ÉÊ,"); - else if (allow_floor) - strcat(out_val, " '6' ÁõÈ÷ÉÊ,"); - else - strcat(out_val, " '4'or'6' ÁõÈ÷ÉÊ,"); -#else if (!use_menu) - strcat(out_val, " / for Equip,"); + strcat(out_val, _(" '/' 装備品,", " / for Equip,")); else if (allow_floor) - strcat(out_val, " 6 for Equip,"); + strcat(out_val, _(" '6' 装備品,", " 6 for Equip,")); else - strcat(out_val, " 4 or 6 for Equip,"); -#endif + strcat(out_val, _(" '4'or'6' 装備品,", " 4 or 6 for Equip,")); } /* Append */ if (allow_floor) { -#ifdef JP - if (!use_menu) - strcat(out_val, " '-'¾²¾å,"); - else if (allow_equip) - strcat(out_val, " '4' ¾²¾å,"); - else - strcat(out_val, " '4'or'6' ¾²¾å,"); -#else if (!use_menu) - strcat(out_val, " - for floor,"); + strcat(out_val, _(" '-'床上,", " - for floor,")); else if (allow_equip) - strcat(out_val, " 4 for floor,"); + strcat(out_val, _(" '4' 床上,", " 4 for floor,")); else - strcat(out_val, " 4 or 6 for floor,"); -#endif + strcat(out_val, _(" '4'or'6' 床上,", " 4 or 6 for floor,")); } } @@ -4958,20 +4090,12 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) else if (command_wrk == (USE_EQUIP)) { /* Begin the prompt */ -#ifdef JP - sprintf(out_val, "ÁõÈ÷ÉÊ:"); -#else - sprintf(out_val, "Equip:"); -#endif + sprintf(out_val, _("装備品:", "Equip:")); if (!use_menu) { /* Build the prompt */ -#ifdef JP - sprintf(tmp_val, "%c-%c,'(',')',", -#else - sprintf(tmp_val, " %c-%c,'(',')',", -#endif + sprintf(tmp_val, _("%c-%c,'(',')',", " %c-%c,'(',')',"), index_to_label(e1), index_to_label(e2)); /* Append */ @@ -4979,50 +4103,28 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) } /* Indicate ability to "view" */ -#ifdef JP - if (!command_see && !use_menu) strcat(out_val, " '*'°ìÍ÷,"); -#else - if (!command_see && !use_menu) strcat(out_val, " * to see,"); -#endif + if (!command_see && !use_menu) strcat(out_val, _(" '*'一覧,", " * to see,")); /* Append */ if (allow_inven) { -#ifdef JP - if (!use_menu) - strcat(out_val, " '/' »ý¤Áʪ,"); - else if (allow_floor) - strcat(out_val, " '4' »ý¤Áʪ,"); - else - strcat(out_val, " '4'or'6' »ý¤Áʪ,"); -#else if (!use_menu) - strcat(out_val, " / for Inven,"); + strcat(out_val, _(" '/' 持ち物,", " / for Inven,")); else if (allow_floor) - strcat(out_val, " 4 for Inven,"); + strcat(out_val, _(" '4' 持ち物,", " 4 for Inven,")); else - strcat(out_val, " 4 or 6 for Inven,"); -#endif + strcat(out_val, _(" '4'or'6' 持ち物,", " 4 or 6 for Inven,")); } /* Append */ if (allow_floor) { -#ifdef JP - if (!use_menu) - strcat(out_val, " '-'¾²¾å,"); - else if (allow_inven) - strcat(out_val, " '6' ¾²¾å,"); - else - strcat(out_val, " '4'or'6' ¾²¾å,"); -#else if (!use_menu) - strcat(out_val, " - for floor,"); + strcat(out_val, _(" '-'床上,", " - for floor,")); else if (allow_inven) - strcat(out_val, " 6 for floor,"); + strcat(out_val, _(" '6' 床上,", " 6 for floor,")); else - strcat(out_val, " 4 or 6 for floor,"); -#endif + strcat(out_val, _(" '4'or'6' 床上,", " 4 or 6 for floor,")); } } @@ -5030,94 +4132,54 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) else if (command_wrk == (USE_FLOOR)) { /* Begin the prompt */ -#ifdef JP - sprintf(out_val, "¾²¾å:"); -#else - sprintf(out_val, "Floor:"); -#endif + sprintf(out_val, _("床上:", "Floor:")); if (!use_menu) { /* Build the prompt */ -#ifdef JP - sprintf(tmp_val, "%c-%c,'(',')',", n1, n2); -#else - sprintf(tmp_val, " %c-%c,'(',')',", n1, n2); -#endif + sprintf(tmp_val, _("%c-%c,'(',')',", " %c-%c,'(',')',"), n1, n2); /* Append */ strcat(out_val, tmp_val); } /* Indicate ability to "view" */ -#ifdef JP - if (!command_see && !use_menu) strcat(out_val, " '*'°ìÍ÷,"); -#else - if (!command_see && !use_menu) strcat(out_val, " * to see,"); -#endif + if (!command_see && !use_menu) strcat(out_val, _(" '*'一覧,", " * to see,")); if (use_menu) { if (allow_inven && allow_equip) { -#ifdef JP - strcat(out_val, " '4' ÁõÈ÷ÉÊ, '6' »ý¤Áʪ,"); -#else - strcat(out_val, " 4 for Equip, 6 for Inven,"); -#endif + strcat(out_val, _(" '4' 装備品, '6' 持ち物,", " 4 for Equip, 6 for Inven,")); } else if (allow_inven) { -#ifdef JP - strcat(out_val, " '4'or'6' »ý¤Áʪ,"); -#else - strcat(out_val, " 4 or 6 for Inven,"); -#endif + strcat(out_val, _(" '4'or'6' 持ち物,", " 4 or 6 for Inven,")); } else if (allow_equip) { -#ifdef JP - strcat(out_val, " '4'or'6' ÁõÈ÷ÉÊ,"); -#else - strcat(out_val, " 4 or 6 for Equip,"); -#endif + strcat(out_val, _(" '4'or'6' 装備品,", " 4 or 6 for Equip,")); } } /* Append */ else if (allow_inven) { -#ifdef JP - strcat(out_val, " '/' »ý¤Áʪ,"); -#else - strcat(out_val, " / for Inven,"); -#endif + strcat(out_val, _(" '/' 持ち物,", " / for Inven,")); } else if (allow_equip) { -#ifdef JP - strcat(out_val, " '/'ÁõÈ÷ÉÊ,"); -#else - strcat(out_val, " / for Equip,"); -#endif + strcat(out_val, _(" '/'装備品,", " / for Equip,")); } /* Append */ if (command_see && !use_menu) { -#ifdef JP - strcat(out_val, " Enter ¼¡,"); -#else - strcat(out_val, " Enter for scroll down,"); -#endif + strcat(out_val, _(" Enter 次,", " Enter for scroll down,")); } } /* Append */ -#ifdef JP - if (select_the_force) strcat(out_val, " 'w'Îýµ¤½Ñ,"); -#else - if (select_the_force) strcat(out_val, " w for the Force,"); -#endif + if (select_the_force) strcat(out_val, _(" 'w'練気術,", " w for the Force,")); /* Finish the prompt */ strcat(out_val, " ESC"); @@ -5208,10 +4270,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) /* Hack -- Fix screen */ if (command_see) { - /* Load screen */ screen_load(); - - /* Save screen */ screen_save(); } @@ -5269,10 +4328,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) /* Hack -- Fix screen */ if (command_see) { - /* Load screen */ screen_load(); - - /* Save screen */ screen_save(); } @@ -5352,15 +4408,12 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) { /* Flip flag */ command_see = FALSE; - - /* Load screen */ screen_load(); } /* Show the list */ else { - /* Save screen */ screen_save(); /* Flip flag */ @@ -5373,8 +4426,9 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) case '\r': case '+': { - int i, o_idx; - cave_type *c_ptr = &cave[py][px]; + int i; + OBJECT_IDX o_idx; + cave_type *c_ptr = &cave[p_ptr->y][p_ptr->x]; if (command_wrk != (USE_FLOOR)) break; @@ -5396,15 +4450,12 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) o_list[i].next_o_idx = o_idx; /* Re-scan floor list */ - floor_num = scan_floor(floor_list, py, px, 0x03); + floor_num = scan_floor(floor_list, p_ptr->y, p_ptr->x, 0x03); /* Hack -- Fix screen */ if (command_see) { - /* Load screen */ screen_load(); - - /* Save screen */ screen_save(); } @@ -5451,10 +4502,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) /* Hack -- Fix screen */ if (command_see) { - /* Load screen */ screen_load(); - - /* Save screen */ screen_save(); } @@ -5503,10 +4551,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) /* Hack -- Fix screen */ if (command_see) { - /* Load screen */ screen_load(); - - /* Save screen */ screen_save(); } @@ -5569,9 +4614,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) (*cp) = k; item = TRUE; done = TRUE; -#ifdef ALLOW_REPEAT cur_tag = which; -#endif /* ALLOW_REPEAT */ break; } @@ -5680,9 +4723,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) (*cp) = k; item = TRUE; done = TRUE; -#ifdef ALLOW_REPEAT cur_tag = which; -#endif /* ALLOW_REPEAT */ break; } } @@ -5698,16 +4739,14 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) (*cp) = k; item = TRUE; done = TRUE; -#ifdef ALLOW_REPEAT cur_tag = which; -#endif /* ALLOW_REPEAT */ break; } } /* Extract "query" setting */ ver = isupper(which); - which = tolower(which); + which = (char)tolower(which); /* Convert letter to inventory index */ if (command_wrk == (USE_INVEN)) @@ -5749,12 +4788,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode) } /* Verify the item */ -#ifdef JP -if (ver && !verify("ËÜÅö¤Ë", k)) -#else - if (ver && !verify("Try", k)) -#endif - + if (ver && !verify(_("本当に", "Try"), k)) { done = TRUE; break; @@ -5780,7 +4814,6 @@ if (ver && !verify(" /* Fix the screen if necessary */ if (command_see) { - /* Load screen */ screen_load(); /* Hack -- Cancel "display" */ @@ -5802,7 +4835,6 @@ if (ver && !verify(" /* Update */ p_ptr->window |= (PW_INVEN | PW_EQUIP); - /* Window stuff */ window_stuff(); @@ -5814,41 +4846,31 @@ if (ver && !verify(" if (item) { -#ifdef ALLOW_REPEAT repeat_push(*cp); if (command_cmd) prev_tag = cur_tag; -#endif /* ALLOW_REPEAT */ - command_cmd = 0; /* Hack -- command_cmd is no longer effective */ } - - /* Result */ return (item); } /*! - * @brief ¾²¾å¤Î¥¢¥¤¥Æ¥à¤ò½¦¤¦ÁªÂòÍÑ¥µ¥Ö¥ë¡¼¥Á¥ó - * @return ¥×¥ì¥¤¥ä¡¼¤Ë¤è¤ê¥¢¥¤¥Æ¥à¤¬ÁªÂò¤µ¤ì¤¿¤Ê¤éTRUE¤òÊÖ¤¹¡£ + * @brief 床上のアイテムを拾う選択用サブルーチン + * @return プレイヤーによりアイテムが選択されたならTRUEを返す。 */ static bool py_pickup_floor_aux(void) { - s16b this_o_idx; + OBJECT_IDX this_o_idx; cptr q, s; - int item; + OBJECT_IDX item; /* Restrict the choices */ item_tester_hook = inven_carry_okay; /* Get an object */ -#ifdef JP - q = "¤É¤ì¤ò½¦¤¤¤Þ¤¹¤«¡©"; - s = "¤â¤¦¥¶¥Ã¥¯¤Ë¤Ï¾²¤Ë¤¢¤ë¤É¤Î¥¢¥¤¥Æ¥à¤âÆþ¤é¤Ê¤¤¡£"; -#else - q = "Get which item? "; - s = "You no longer have any room for the objects on the floor."; -#endif + q = _("どれを拾いますか?", "Get which item? "); + s = _("もうザックには床にあるどのアイテムも入らない。", "You no longer have any room for the objects on the floor."); if (get_item(&item, q, s, (USE_FLOOR))) { @@ -5866,60 +4888,55 @@ static bool py_pickup_floor_aux(void) } /*! - * @brief ¾²¾å¤Î¥¢¥¤¥Æ¥à¤ò½¦¤¦¥á¥¤¥ó½èÍý - * @param pickup FALSE¤Ê¤é¶âÁ¬¤Î¼«Æ°½¦¤¤¤Î¤ß¤ò¹Ô¤¦/ FALSE then only gold will be picked up - * @return ¤Ê¤· + * @brief 床上のアイテムを拾うメイン処理 + * @param pickup FALSEなら金銭の自動拾いのみを行う/ FALSE then only gold will be picked up + * @return なし * @details * This is called by py_pickup() when easy_floor is TRUE. */ void py_pickup_floor(bool pickup) { - s16b this_o_idx, next_o_idx = 0; + OBJECT_IDX this_o_idx, next_o_idx = 0; char o_name[MAX_NLEN]; object_type *o_ptr; - int floor_num = 0, floor_o_idx = 0; + int floor_num = 0; + OBJECT_IDX floor_o_idx = 0; int can_pickup = 0; /* Scan the pile of objects */ - for (this_o_idx = cave[py][px].o_idx; this_o_idx; this_o_idx = next_o_idx) + for (this_o_idx = cave[p_ptr->y][p_ptr->x].o_idx; this_o_idx; this_o_idx = next_o_idx) { - object_type *o_ptr; - /* Access the object */ o_ptr = &o_list[this_o_idx]; - /* Describe the object */ object_desc(o_name, o_ptr, 0); /* Access the next object */ next_o_idx = o_ptr->next_o_idx; /* Hack -- disturb */ - disturb(0, 0); + disturb(FALSE, FALSE); /* Pick up gold */ if (o_ptr->tval == TV_GOLD) { - /* Message */ #ifdef JP - msg_format(" $%ld ¤Î²ÁÃͤ¬¤¢¤ë%s¤ò¸«¤Ä¤±¤¿¡£", - (long)o_ptr->pval, o_name); + msg_format(" $%ld の価値がある%sを見つけた。", + (long)o_ptr->pval, o_name); #else msg_format("You have found %ld gold pieces worth of %s.", - (long) o_ptr->pval, o_name); + (long)o_ptr->pval, o_name); #endif - /* Collect the gold */ p_ptr->au += o_ptr->pval; /* Redraw gold */ p_ptr->redraw |= (PR_GOLD); - /* Window stuff */ p_ptr->window |= (PW_PLAYER); /* Delete the gold */ @@ -5973,31 +4990,17 @@ void py_pickup_floor(bool pickup) #endif /* ALLOW_EASY_SENSE */ - /* Describe the object */ object_desc(o_name, o_ptr, 0); - /* Message */ -#ifdef JP - msg_format("%s¤¬¤¢¤ë¡£", o_name); -#else - msg_format("You see %s.", o_name); -#endif - + msg_format(_("%sがある。", "You see %s."), o_name); } /* Multiple objects */ else { - /* Message */ -#ifdef JP - msg_format("%d ¸Ä¤Î¥¢¥¤¥Æ¥à¤Î»³¤¬¤¢¤ë¡£", floor_num); -#else - msg_format("You see a pile of %d items.", floor_num); -#endif - + msg_format(_("%d 個のアイテムの山がある。", "You see a pile of %d items."), floor_num); } - /* Done */ return; } @@ -6021,31 +5024,18 @@ void py_pickup_floor(bool pickup) #endif /* ALLOW_EASY_SENSE */ - /* Describe the object */ object_desc(o_name, o_ptr, 0); - /* Message */ -#ifdef JP - msg_format("¥¶¥Ã¥¯¤Ë¤Ï%s¤òÆþ¤ì¤ë·ä´Ö¤¬¤Ê¤¤¡£", o_name); -#else - msg_format("You have no room for %s.", o_name); -#endif - + msg_format(_("ザックには%sを入れる隙間がない。", "You have no room for %s."), o_name); } /* Multiple objects */ else { - /* Message */ -#ifdef JP - msg_format("¥¶¥Ã¥¯¤Ë¤Ï¾²¤Ë¤¢¤ë¤É¤Î¥¢¥¤¥Æ¥à¤âÆþ¤é¤Ê¤¤¡£", o_name); -#else - msg_print("You have no room for any of the objects on the floor."); -#endif + msg_print(_("ザックには床にあるどのアイテムも入らない。", "You have no room for any of the objects on the floor.")); } - /* Done */ return; } @@ -6071,21 +5061,14 @@ void py_pickup_floor(bool pickup) #endif /* ALLOW_EASY_SENSE */ - /* Describe the object */ object_desc(o_name, o_ptr, 0); /* Build a prompt */ -#ifdef JP - (void) sprintf(out_val, "%s¤ò½¦¤¤¤Þ¤¹¤«? ", o_name); -#else - (void) sprintf(out_val, "Pick up %s? ", o_name); -#endif - + (void) sprintf(out_val, _("%sを拾いますか? ", "Pick up %s? "), o_name); /* Ask the user to confirm */ if (!get_check(out_val)) { - /* Done */ return; } } @@ -6117,5 +5100,3 @@ void py_pickup_floor(bool pickup) } } } - -#endif /* ALLOW_EASY_FLOOR */