OSDN Git Service

[Refactor] #37783 (2.2.1.5) 「魅了」と「支配」処理の分化作業中。 / Differentiating "charm" and "control".
[hengband/hengband.git] / src / files.c
index ca16af9..8e571dd 100644 (file)
@@ -1,6 +1,6 @@
-/*!
+/*!
  * @file files.c
- * @brief ¥Õ¥¡¥¤¥ëÆþ½ÐÎÏ´ÉÍý / Purpose: code dealing with files (and death)
+ * @brief ファイル入出力管理 / Purpose: code dealing with files (and death)
  * @date 2014/01/28
  * @author
  * <pre>
@@ -10,7 +10,7 @@
  * are included in all such copies.  Other copyrights may also apply.
  * 2014 Deskull rearranged comment for Doxygen.\n
  * </pre>
- *
+ */
 
 
 #include "angband.h"
@@ -23,7 +23,7 @@
 
 
 /*!
- * @brief ¥Õ¥¡¥¤¥ë¤Î¥É¥í¥Ã¥×¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¥Á¥§¥Ã¥¯ / Hack -- drop permissions
+ * @brief ã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\83\89ã\83­ã\83\83ã\83\97ã\83\91ã\83¼ã\83\9fã\83\83ã\82·ã\83§ã\83³ã\83\81ã\82§ã\83\83ã\82¯ / Hack -- drop permissions
  */
 void safe_setuid_drop(void)
 {
@@ -36,42 +36,22 @@ void safe_setuid_drop(void)
 
        if (setuid(getuid()) != 0)
        {
-#ifdef JP
-quit("setuid(): Àµ¤·¤¯µö²Ä¤¬¼è¤ì¤Þ¤»¤ó¡ª");
-#else
-               quit("setuid(): cannot set permissions correctly!");
-#endif
-
+               quit(_("setuid(): 正しく許可が取れません!", "setuid(): cannot set permissions correctly!"));
        }
        if (setgid(getgid()) != 0)
        {
-#ifdef JP
-quit("setgid(): Àµ¤·¤¯µö²Ä¤¬¼è¤ì¤Þ¤»¤ó¡ª");
-#else
-               quit("setgid(): cannot set permissions correctly!");
-#endif
-
+               quit(_("setgid(): 正しく許可が取れません!", "setgid(): cannot set permissions correctly!"));
        }
 
 #  else
 
        if (setreuid(geteuid(), getuid()) != 0)
        {
-#ifdef JP
-quit("setreuid(): Àµ¤·¤¯µö²Ä¤¬¼è¤ì¤Þ¤»¤ó¡ª");
-#else
-               quit("setreuid(): cannot set permissions correctly!");
-#endif
-
+               quit(_("setreuid(): 正しく許可が取れません!", "setreuid(): cannot set permissions correctly!"));
        }
        if (setregid(getegid(), getgid()) != 0)
        {
-#ifdef JP
-quit("setregid(): Àµ¤·¤¯µö²Ä¤¬¼è¤ì¤Þ¤»¤ó¡ª");
-#else
-               quit("setregid(): cannot set permissions correctly!");
-#endif
-
+               quit(_("setregid(): 正しく許可が取れません!", "setregid(): cannot set permissions correctly!"));
        }
 
 #  endif
@@ -84,7 +64,7 @@ quit("setregid(): 
 
 
 /*!
- * @brief ¥Õ¥¡¥¤¥ë¤Î¥°¥é¥Ö¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¥Á¥§¥Ã¥¯ / Hack -- grab permissions
+ * @brief ã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\82°ã\83©ã\83\96ã\83\91ã\83¼ã\83\9fã\83\83ã\82·ã\83§ã\83³ã\83\81ã\82§ã\83\83ã\82¯ / Hack -- grab permissions
  */
 void safe_setuid_grab(void)
 {
@@ -97,42 +77,22 @@ void safe_setuid_grab(void)
 
        if (setuid(player_euid) != 0)
        {
-#ifdef JP
-quit("setuid(): Àµ¤·¤¯µö²Ä¤¬¼è¤ì¤Þ¤»¤ó¡ª");
-#else
-               quit("setuid(): cannot set permissions correctly!");
-#endif
-
+               quit(_("setuid(): 正しく許可が取れません!", "setuid(): cannot set permissions correctly!"));
        }
        if (setgid(player_egid) != 0)
        {
-#ifdef JP
-quit("setgid(): Àµ¤·¤¯µö²Ä¤¬¼è¤ì¤Þ¤»¤ó¡ª");
-#else
-               quit("setgid(): cannot set permissions correctly!");
-#endif
-
+               quit(_("setgid(): 正しく許可が取れません!", "setgid(): cannot set permissions correctly!"));
        }
 
 #  else
 
        if (setreuid(geteuid(), getuid()) != 0)
        {
-#ifdef JP
-quit("setreuid(): Àµ¤·¤¯µö²Ä¤¬¼è¤ì¤Þ¤»¤ó¡ª");
-#else
-               quit("setreuid(): cannot set permissions correctly!");
-#endif
-
+               quit(_("setreuid(): 正しく許可が取れません!", "setreuid(): cannot set permissions correctly!"));
        }
        if (setregid(getegid(), getgid()) != 0)
        {
-#ifdef JP
-quit("setregid(): Àµ¤·¤¯µö²Ä¤¬¼è¤ì¤Þ¤»¤ó¡ª");
-#else
-               quit("setregid(): cannot set permissions correctly!");
-#endif
-
+               quit(_("setregid(): 正しく許可が取れません!", "setregid(): cannot set permissions correctly!"));
        }
 
 #  endif /* SAFE_SETUID_POSIX */
@@ -145,12 +105,12 @@ quit("setregid(): 
 
 
 /*!
- * @brief ³Æ¼ï¥Ç¡¼¥¿¥Æ¥­¥¹¥È¤ò¥È¡¼¥¯¥óñ°Ì¤Ëʬ²ò¤¹¤ë / Extract the first few "tokens" from a buffer
- * @param buf ¥Ç¡¼¥¿¥Æ¥­¥¹¥È¤Î»²¾È¥Ý¥¤¥ó¥¿
- * @param num ¥È¡¼¥¯¥ó¤Î¿ô
- * @param tokens ¥È¡¼¥¯¥ó¤òÊݴɤ¹¤ëʸ»úÎ󻲾ȥݥ¤¥ó¥¿ÇÛÎó
- * @param mode ¥ª¥×¥·¥ç¥ó
- * @return ²ò¼á¤·¤¿Ê¸»úÎó¿ô
+ * @brief 各種データテキストをトークン単位に分解する / Extract the first few "tokens" from a buffer
+ * @param buf ã\83\87ã\83¼ã\82¿ã\83\86ã\82­ã\82¹ã\83\88ã\81®å\8f\82ç\85§ã\83\9dã\82¤ã\83³ã\82¿
+ * @param num トークンの数
+ * @param tokens トークンを保管する文字列参照ポインタ配列
+ * @param mode オプション
+ * @return 解釈した文字列数
  * @details
  * <pre>
  * This function uses "colon" and "slash" as the delimeter characters.
@@ -162,9 +122,9 @@ quit("setregid(): 
  * Hack -- We will always extract at least one token
  * </pre>
  */
-s16b tokenize(char *buf, s16b num, char **tokens, int mode)
+s16b tokenize(char *buf, s16b num, char **tokens, BIT_FLAGS mode)
 {
-       int i = 0;
+       s16b i = 0;
 
        char *s = buf;
 
@@ -242,27 +202,27 @@ static named_num gf_desc[] =
        {"GF_ACID",                             GF_ACID                         },
        {"GF_COLD",                             GF_COLD                         },
        {"GF_FIRE",                                     GF_FIRE                         },
-       {"GF_PSY_SPEAR",                        GF_PSY_SPEAR                    },
+       {"GF_PSY_SPEAR",                        GF_PSY_SPEAR            },
        {"GF_MISSILE",                          GF_MISSILE                      },
-       {"GF_ARROW",                            GF_ARROW                                },
+       {"GF_ARROW",                            GF_ARROW                        },
        {"GF_PLASMA",                           GF_PLASMA                       },
-       {"GF_WATER",                            GF_WATER                                },
+       {"GF_WATER",                            GF_WATER                        },
        {"GF_LITE",                                     GF_LITE                         },
        {"GF_DARK",                                     GF_DARK                         },
        {"GF_LITE_WEAK",                        GF_LITE_WEAK            },
        {"GF_DARK_WEAK",                        GF_DARK_WEAK            },
        {"GF_SHARDS",                           GF_SHARDS                       },
-       {"GF_SOUND",                            GF_SOUND                                },
+       {"GF_SOUND",                            GF_SOUND                        },
        {"GF_CONFUSION",                        GF_CONFUSION            },
-       {"GF_FORCE",                            GF_FORCE                                },
-       {"GF_INERTIA",                          GF_INERTIA                      },
+       {"GF_FORCE",                            GF_FORCE                        },
+       {"GF_INERTIA",                          GF_INERTIAL                     },
        {"GF_MANA",                                     GF_MANA                         },
        {"GF_METEOR",                           GF_METEOR                       },
        {"GF_ICE",                                      GF_ICE                          },
-       {"GF_CHAOS",                            GF_CHAOS                                },
+       {"GF_CHAOS",                            GF_CHAOS                        },
        {"GF_NETHER",                           GF_NETHER                       },
        {"GF_DISENCHANT",                       GF_DISENCHANT           },
-       {"GF_NEXUS",                            GF_NEXUS                                },
+       {"GF_NEXUS",                            GF_NEXUS                        },
        {"GF_TIME",                                     GF_TIME                         },
        {"GF_GRAVITY",                          GF_GRAVITY                      },
        {"GF_KILL_WALL",                        GF_KILL_WALL            },
@@ -273,24 +233,24 @@ static named_num gf_desc[] =
        {"GF_MAKE_TRAP",                        GF_MAKE_TRAP            },
        {"GF_MAKE_TREE",                        GF_MAKE_TREE            },
        {"GF_OLD_CLONE",                        GF_OLD_CLONE            },
-       {"GF_OLD_POLY",                 GF_OLD_POLY                     },
-       {"GF_OLD_HEAL",                 GF_OLD_HEAL                     },
+       {"GF_OLD_POLY",                         GF_OLD_POLY                     },
+       {"GF_OLD_HEAL",                         GF_OLD_HEAL                     },
        {"GF_OLD_SPEED",                        GF_OLD_SPEED            },
-       {"GF_OLD_SLOW",                 GF_OLD_SLOW                     },
-       {"GF_OLD_CONF",                 GF_OLD_CONF                     },
+       {"GF_OLD_SLOW",                         GF_OLD_SLOW                     },
+       {"GF_OLD_CONF",                         GF_OLD_CONF                     },
        {"GF_OLD_SLEEP",                        GF_OLD_SLEEP            },
-       {"GF_OLD_DRAIN",                        GF_OLD_DRAIN            },
-       {"GF_AWAY_UNDEAD",              GF_AWAY_UNDEAD          },
+       {"GF_HYPODYNAMIA",                      GF_HYPODYNAMIA          },
+       {"GF_AWAY_UNDEAD",                      GF_AWAY_UNDEAD          },
        {"GF_AWAY_EVIL",                        GF_AWAY_EVIL            },
-       {"GF_AWAY_ALL",                 GF_AWAY_ALL                     },
-       {"GF_TURN_UNDEAD",              GF_TURN_UNDEAD          },
+       {"GF_AWAY_ALL",                         GF_AWAY_ALL                     },
+       {"GF_TURN_UNDEAD",                      GF_TURN_UNDEAD          },
        {"GF_TURN_EVIL",                        GF_TURN_EVIL            },
-       {"GF_TURN_ALL",                 GF_TURN_ALL                     },
-       {"GF_DISP_UNDEAD",              GF_DISP_UNDEAD          },
+       {"GF_TURN_ALL",                         GF_TURN_ALL                     },
+       {"GF_DISP_UNDEAD",                      GF_DISP_UNDEAD          },
        {"GF_DISP_EVIL",                        GF_DISP_EVIL            },
-       {"GF_DISP_ALL",                 GF_DISP_ALL                     },
+       {"GF_DISP_ALL",                         GF_DISP_ALL                     },
        {"GF_DISP_DEMON",                       GF_DISP_DEMON           },
-       {"GF_DISP_LIVING",              GF_DISP_LIVING          },
+       {"GF_DISP_LIVING",                      GF_DISP_LIVING          },
        {"GF_ROCKET",                           GF_ROCKET                       },
        {"GF_NUKE",                                     GF_NUKE                         },
        {"GF_MAKE_GLYPH",                       GF_MAKE_GLYPH           },
@@ -300,51 +260,51 @@ static named_num gf_desc[] =
        {"GF_STUN",                                     GF_STUN                         },
        {"GF_HOLY_FIRE",                        GF_HOLY_FIRE            },
        {"GF_HELL_FIRE",                        GF_HELL_FIRE            },
-       {"GF_DISINTEGRATE",             GF_DISINTEGRATE },
-       {"GF_CHARM",                            GF_CHARM                                },
-       {"GF_CONTROL_UNDEAD",   GF_CONTROL_UNDEAD       },
-       {"GF_CONTROL_ANIMAL",   GF_CONTROL_ANIMAL       },
+       {"GF_DISINTEGRATE",                     GF_DISINTEGRATE         },
+       {"GF_CHARM",                            GF_CHARM                        },
+       {"GF_CONTROL_UNDEAD",           GF_CONTROL_UNDEAD       },
+       {"GF_CONTROL_ANIMAL",           GF_CONTROL_ANIMAL       },
        {"GF_PSI",                                      GF_PSI                          },
        {"GF_PSI_DRAIN",                        GF_PSI_DRAIN            },
-       {"GF_TELEKINESIS",              GF_TELEKINESIS          },
-       {"GF_JAM_DOOR",                 GF_JAM_DOOR                     },
+       {"GF_TELEKINESIS",                      GF_TELEKINESIS          },
+       {"GF_JAM_DOOR",                         GF_JAM_DOOR                     },
        {"GF_DOMINATION",                       GF_DOMINATION           },
        {"GF_DISP_GOOD",                        GF_DISP_GOOD            },
        {"GF_DRAIN_MANA",                       GF_DRAIN_MANA           },
        {"GF_MIND_BLAST",                       GF_MIND_BLAST           },
        {"GF_BRAIN_SMASH",                      GF_BRAIN_SMASH          },
-       {"GF_CAUSE_1",                  GF_CAUSE_1              },
-       {"GF_CAUSE_2",                  GF_CAUSE_2              },
-       {"GF_CAUSE_3",                  GF_CAUSE_3              },
-       {"GF_CAUSE_4",                  GF_CAUSE_4              },
+       {"GF_CAUSE_1",                          GF_CAUSE_1                      },
+       {"GF_CAUSE_2",                          GF_CAUSE_2                      },
+       {"GF_CAUSE_3",                          GF_CAUSE_3                      },
+       {"GF_CAUSE_4",                          GF_CAUSE_4                      },
        {"GF_HAND_DOOM",                        GF_HAND_DOOM            },
-       {"GF_CAPTURE",                  GF_CAPTURE              },
+       {"GF_CAPTURE",                          GF_CAPTURE                      },
        {"GF_ANIM_DEAD",                        GF_ANIM_DEAD            },
-       {"GF_CONTROL_LIVING",           GF_CONTROL_LIVING       },
-       {"GF_IDENTIFY",                 GF_IDENTIFY     },
-       {"GF_ATTACK",                   GF_ATTACK       },
-       {"GF_ENGETSU",                  GF_ENGETSU      },
-       {"GF_GENOCIDE",                 GF_GENOCIDE     },
-       {"GF_PHOTO",                    GF_PHOTO        },
-       {"GF_CONTROL_DEMON",    GF_CONTROL_DEMON        },
-       {"GF_LAVA_FLOW",        GF_LAVA_FLOW    },
-       {"GF_BLOOD_CURSE",      GF_BLOOD_CURSE  },
-       {"GF_SEEKER",                   GF_SEEKER                       },
-       {"GF_SUPER_RAY",                GF_SUPER_RAY                    },
-       {"GF_STAR_HEAL",                GF_STAR_HEAL                    },
-       {"GF_WATER_FLOW",               GF_WATER_FLOW                   },
-       {"GF_CRUSADE",          GF_CRUSADE                      },
+       {"GF_CHARM_LIVING",                     GF_CHARM_LIVING         },
+       {"GF_IDENTIFY",                         GF_IDENTIFY                     },
+       {"GF_ATTACK",                           GF_ATTACK                       },
+       {"GF_ENGETSU",                          GF_ENGETSU                      },
+       {"GF_GENOCIDE",                         GF_GENOCIDE                     },
+       {"GF_PHOTO",                            GF_PHOTO                        },
+       {"GF_CONTROL_DEMON",            GF_CONTROL_DEMON        },
+       {"GF_LAVA_FLOW",                        GF_LAVA_FLOW            },
+       {"GF_BLOOD_CURSE",                      GF_BLOOD_CURSE          },
+       {"GF_SEEKER",                           GF_SEEKER                       },
+       {"GF_SUPER_RAY",                        GF_SUPER_RAY            },
+       {"GF_STAR_HEAL",                        GF_STAR_HEAL            },
+       {"GF_WATER_FLOW",                       GF_WATER_FLOW           },
+       {"GF_CRUSADE",                          GF_CRUSADE                      },
        {"GF_STASIS_EVIL",                      GF_STASIS_EVIL          },
-       {"GF_WOUNDS",                   GF_WOUNDS               },
-       {NULL,                                          0                                               }
+       {"GF_WOUNDS",                           GF_WOUNDS                       },
+       {NULL,                                          0                                       }
 };
 
 
 /*!
- * @brief ÀßÄê¥Õ¥¡¥¤¥ë¤Î³Æ¹Ô¤«¤é³Æ¼ï¥Æ¥­¥¹¥È¾ðÊó¤ò¼èÆÀ¤¹¤ë /
+ * @brief 設定ファイルの各行から各種テキスト情報を取得する /
  * Parse a sub-file of the "extra info" (format shown below)
- * @param buf ¥Ç¡¼¥¿¥Æ¥­¥¹¥È¤Î»²¾È¥Ý¥¤¥ó¥¿
- * @return ¥¨¥é¡¼¥³¡¼¥É
+ * @param buf ã\83\87ã\83¼ã\82¿ã\83\86ã\82­ã\82¹ã\83\88ã\81®å\8f\82ç\85§ã\83\9dã\82¤ã\83³ã\82¿
+ * @return エラーコード
  * @details
  * <pre>
  * Each "action" line has an "action symbol" in the first column,
@@ -361,41 +321,44 @@ static named_num gf_desc[] =
  * zero" will be used for the "stack" attr/char, and "feature zero" is
  * used for the "nothing" attr/char.
  * Parse another file recursively, see below for details
- *   %:<filename>
+ *   %:\<filename\>
  * Specify the attr/char values for "monsters" by race index
- *   R:<num>:<a>:<c>
+ *   R:\<num\>:\<a\>:\<c\>
  * Specify the attr/char values for "objects" by kind index
- *   K:<num>:<a>:<c>
+ *   K:\<num\>:\<a\>:\<c\>
  * Specify the attr/char values for "features" by feature index
- *   F:<num>:<a>:<c>
+ *   F:\<num\>:\<a\>:\<c\>
  * Specify the attr/char values for unaware "objects" by kind tval
- *   U:<tv>:<a>:<c>
+ *   U:\<tv\>:\<a\>:\<c\>
  * Specify the attr/char values for inventory "objects" by kind tval
- *   E:<tv>:<a>:<c>
+ *   E:\<tv\>:\<a\>:\<c\>
  * Define a macro action, given an encoded macro action
- *   A:<str>
+ *   A:\<str\>
  * Create a normal macro, given an encoded macro trigger
- *   P:<str>
+ *   P:\<str\>
  * Create a command macro, given an encoded macro trigger
- *   C:<str>
+ *   C:\<str\>
  * Create a keyset mapping
- *   S:<key>:<key>:<dir>
+ *   S:\<key\>:\<key\>:\<dir\>
  * Turn an option off, given its name
- *   X:<str>
+ *   X:\<str\>
  * Turn an option on, given its name
- *   Y:<str>
+ *   Y:\<str\>
  * Specify visual information, given an index, and some data
- *   V:<num>:<kv>:<rv>:<gv>:<bv>
+ *   V:\<num\>:\<kv\>:\<rv\>:\<gv\>:\<bv\>
  * Specify the set of colors to use when drawing a zapped spell
- *   Z:<type>:<str>
+ *   Z:\<type\>:\<str\>
  * Specify a macro trigger template and macro trigger names.
- *   T:<template>:<modifier chr>:<modifier name1>:<modifier name2>:...
- *   T:<trigger>:<keycode>:<shift-keycode>
+ *   T:\<template\>:\<modifier chr\>:\<modifier name1\>:\<modifier name2\>:...
+ *   T:\<trigger\>:\<keycode\>:\<shift-keycode\>
  * </pre>
  */
 errr process_pref_file_command(char *buf)
 {
-       int i, j, n1, n2;
+       int i, j;
+       SYMBOL_COLOR n1;
+       SYMBOL_CODE n2;
+
 
        char *zz[16];
 
@@ -406,383 +369,370 @@ errr process_pref_file_command(char *buf)
 
        switch (buf[0])
        {
-       /* Mega-Hack -- read external player's history file */
-       /* Process "H:<history>" */
-       case 'H':
-               add_history_from_pref_line(buf + 2);
-               return 0;
-
-       /* Process "R:<num>:<a>/<c>" -- attr/char for monster races */
-       case 'R':
-               if (tokenize(buf+2, 3, zz, TOKENIZE_CHECKQUOTE) == 3)
-               {
-                       monster_race *r_ptr;
-                       i = (huge)strtol(zz[0], NULL, 0);
-                       n1 = strtol(zz[1], NULL, 0);
-                       n2 = strtol(zz[2], NULL, 0);
-                       if (i >= max_r_idx) return 1;
-                       r_ptr = &r_info[i];
-                       if (n1 || (!(n2 & 0x80) && n2)) r_ptr->x_attr = n1; /* Allow TERM_DARK text */
-                       if (n2) r_ptr->x_char = n2;
+               /* Mega-Hack -- read external player's history file */
+               /* Process "H:<history>" */
+               case 'H':
+                       add_history_from_pref_line(buf + 2);
                        return 0;
-               }
-               break;
 
-       /* Process "K:<num>:<a>/<c>"  -- attr/char for object kinds */
-       case 'K':
-               if (tokenize(buf+2, 3, zz, TOKENIZE_CHECKQUOTE) == 3)
-               {
-                       object_kind *k_ptr;
-                       i = (huge)strtol(zz[0], NULL, 0);
-                       n1 = strtol(zz[1], NULL, 0);
-                       n2 = strtol(zz[2], NULL, 0);
-                       if (i >= max_k_idx) return 1;
-                       k_ptr = &k_info[i];
-                       if (n1 || (!(n2 & 0x80) && n2)) k_ptr->x_attr = n1; /* Allow TERM_DARK text */
-                       if (n2) k_ptr->x_char = n2;
-                       return 0;
-               }
-               break;
+               /* Process "R:<num>:<a>/<c>" -- attr/char for monster races */
+               case 'R':
+                       if (tokenize(buf+2, 3, zz, TOKENIZE_CHECKQUOTE) == 3)
+                       {
+                               monster_race *r_ptr;
+                               i = (huge)strtol(zz[0], NULL, 0);
+                               n1 = (SYMBOL_COLOR)strtol(zz[1], NULL, 0);
+                               n2 = (SYMBOL_CODE)strtol(zz[2], NULL, 0);
+                               if (i >= max_r_idx) return 1;
+                               r_ptr = &r_info[i];
+                               if (n1 || (!(n2 & 0x80) && n2)) r_ptr->x_attr = n1; /* Allow TERM_DARK text */
+                               if (n2) r_ptr->x_char = n2;
+                               return 0;
+                       }
+                       break;
 
-       /* Process "F:<num>:<a>/<c>" -- attr/char for terrain features */
-       /* "F:<num>:<a>/<c>" */
-       /* "F:<num>:<a>/<c>:LIT" */
-       /* "F:<num>:<a>/<c>:<la>/<lc>:<da>/<dc>" */
-       case 'F':
-               {
-                       feature_type *f_ptr;
-                       int num = tokenize(buf + 2, F_LIT_MAX * 2 + 1, zz, TOKENIZE_CHECKQUOTE);
+               /* Process "K:<num>:<a>/<c>"  -- attr/char for object kinds */
+               case 'K':
+                       if (tokenize(buf+2, 3, zz, TOKENIZE_CHECKQUOTE) == 3)
+                       {
+                               object_kind *k_ptr;
+                               i = (huge)strtol(zz[0], NULL, 0);
+                               n1 = (SYMBOL_COLOR)strtol(zz[1], NULL, 0);
+                               n2 = (SYMBOL_CODE)strtol(zz[2], NULL, 0);
+                               if (i >= max_k_idx) return 1;
+                               k_ptr = &k_info[i];
+                               if (n1 || (!(n2 & 0x80) && n2)) k_ptr->x_attr = n1; /* Allow TERM_DARK text */
+                               if (n2) k_ptr->x_char = n2;
+                               return 0;
+                       }
+                       break;
+
+               /* Process "F:<num>:<a>/<c>" -- attr/char for terrain features */
+               /* "F:<num>:<a>/<c>" */
+               /* "F:<num>:<a>/<c>:LIT" */
+               /* "F:<num>:<a>/<c>:<la>/<lc>:<da>/<dc>" */
+               case 'F':
+                       {
+                               feature_type *f_ptr;
+                               int num = tokenize(buf + 2, F_LIT_MAX * 2 + 1, zz, TOKENIZE_CHECKQUOTE);
 
-                       if ((num != 3) && (num != 4) && (num != F_LIT_MAX * 2 + 1)) return 1;
-                       else if ((num == 4) && !streq(zz[3], "LIT")) return 1;
+                               if ((num != 3) && (num != 4) && (num != F_LIT_MAX * 2 + 1)) return 1;
+                               else if ((num == 4) && !streq(zz[3], "LIT")) return 1;
 
-                       i = (huge)strtol(zz[0], NULL, 0);
-                       if (i >= max_f_idx) return 1;
-                       f_ptr = &f_info[i];
+                               i = (huge)strtol(zz[0], NULL, 0);
+                               if (i >= max_f_idx) return 1;
+                               f_ptr = &f_info[i];
 
-                       n1 = strtol(zz[1], NULL, 0);
-                       n2 = strtol(zz[2], NULL, 0);
-                       if (n1 || (!(n2 & 0x80) && n2)) f_ptr->x_attr[F_LIT_STANDARD] = n1; /* Allow TERM_DARK text */
-                       if (n2) f_ptr->x_char[F_LIT_STANDARD] = n2;
+                               n1 = (SYMBOL_COLOR)strtol(zz[1], NULL, 0);
+                               n2 = (SYMBOL_CODE)strtol(zz[2], NULL, 0);
+                               if (n1 || (!(n2 & 0x80) && n2)) f_ptr->x_attr[F_LIT_STANDARD] = n1; /* Allow TERM_DARK text */
+                               if (n2) f_ptr->x_char[F_LIT_STANDARD] = n2;
 
-                       /* Mega-hack -- feat supports lighting */
-                       switch (num)
-                       {
-                       /* No lighting support */
-                       case 3:
-                               n1 = f_ptr->x_attr[F_LIT_STANDARD];
-                               n2 = f_ptr->x_char[F_LIT_STANDARD];
-                               for (j = F_LIT_NS_BEGIN; j < F_LIT_MAX; j++)
+                               /* Mega-hack -- feat supports lighting */
+                               switch (num)
                                {
-                                       f_ptr->x_attr[j] = n1;
-                                       f_ptr->x_char[j] = n2;
-                               }
-                               break;
+                               /* No lighting support */
+                               case 3:
+                                       n1 = f_ptr->x_attr[F_LIT_STANDARD];
+                                       n2 = f_ptr->x_char[F_LIT_STANDARD];
+                                       for (j = F_LIT_NS_BEGIN; j < F_LIT_MAX; j++)
+                                       {
+                                               f_ptr->x_attr[j] = n1;
+                                               f_ptr->x_char[j] = n2;
+                                       }
+                                       break;
 
-                       /* Use default lighting */
-                       case 4:
-                               apply_default_feat_lighting(f_ptr->x_attr, f_ptr->x_char);
-                               break;
+                               /* Use default lighting */
+                               case 4:
+                                       apply_default_feat_lighting(f_ptr->x_attr, f_ptr->x_char);
+                                       break;
 
-                       /* Use desired lighting */
-                       case F_LIT_MAX * 2 + 1:
-                               for (j = F_LIT_NS_BEGIN; j < F_LIT_MAX; j++)
-                               {
-                                       n1 = strtol(zz[j * 2 + 1], NULL, 0);
-                                       n2 = strtol(zz[j * 2 + 2], NULL, 0);
-                                       if (n1 || (!(n2 & 0x80) && n2)) f_ptr->x_attr[j] = n1; /* Allow TERM_DARK text */
-                                       if (n2) f_ptr->x_char[j] = n2;
+                               /* Use desired lighting */
+                               case F_LIT_MAX * 2 + 1:
+                                       for (j = F_LIT_NS_BEGIN; j < F_LIT_MAX; j++)
+                                       {
+                                               n1 = (SYMBOL_COLOR)strtol(zz[j * 2 + 1], NULL, 0);
+                                               n2 = (SYMBOL_CODE)strtol(zz[j * 2 + 2], NULL, 0);
+                                               if (n1 || (!(n2 & 0x80) && n2)) f_ptr->x_attr[j] = n1; /* Allow TERM_DARK text */
+                                               if (n2) f_ptr->x_char[j] = n2;
+                                       }
+                                       break;
                                }
-                               break;
                        }
-               }
-               return 0;
-
-       /* Process "S:<num>:<a>/<c>" -- attr/char for special things */
-       case 'S':
-               if (tokenize(buf+2, 3, zz, TOKENIZE_CHECKQUOTE) == 3)
-               {
-                       j = (byte)strtol(zz[0], NULL, 0);
-                       n1 = strtol(zz[1], NULL, 0);
-                       n2 = strtol(zz[2], NULL, 0);
-                       misc_to_attr[j] = n1;
-                       misc_to_char[j] = n2;
                        return 0;
-               }
-               break;
 
-       /* Process "U:<tv>:<a>/<c>" -- attr/char for unaware items */
-       case 'U':
-               if (tokenize(buf+2, 3, zz, TOKENIZE_CHECKQUOTE) == 3)
-               {
-                       j = (huge)strtol(zz[0], NULL, 0);
-                       n1 = strtol(zz[1], NULL, 0);
-                       n2 = strtol(zz[2], NULL, 0);
-                       for (i = 1; i < max_k_idx; i++)
+               /* Process "S:<num>:<a>/<c>" -- attr/char for special things */
+               case 'S':
+                       if (tokenize(buf+2, 3, zz, TOKENIZE_CHECKQUOTE) == 3)
+                       {
+                               j = (byte)strtol(zz[0], NULL, 0);
+                               n1 = (SYMBOL_COLOR)strtol(zz[1], NULL, 0);
+                               n2 = (SYMBOL_CODE)strtol(zz[2], NULL, 0);
+                               misc_to_attr[j] = n1;
+                               misc_to_char[j] = n2;
+                               return 0;
+                       }
+                       break;
+
+               /* Process "U:<tv>:<a>/<c>" -- attr/char for unaware items */
+               case 'U':
+                       if (tokenize(buf+2, 3, zz, TOKENIZE_CHECKQUOTE) == 3)
                        {
-                               object_kind *k_ptr = &k_info[i];
-                               if (k_ptr->tval == j)
+                               j = (huge)strtol(zz[0], NULL, 0);
+                               n1 = (SYMBOL_COLOR)strtol(zz[1], NULL, 0);
+                               n2 = (SYMBOL_CODE)strtol(zz[2], NULL, 0);
+                               for (i = 1; i < max_k_idx; i++)
                                {
-                                       if (n1) k_ptr->d_attr = n1;
-                                       if (n2) k_ptr->d_char = n2;
+                                       object_kind *k_ptr = &k_info[i];
+                                       if (k_ptr->tval == j)
+                                       {
+                                               if (n1) k_ptr->d_attr = n1;
+                                               if (n2) k_ptr->d_char = n2;
+                                       }
                                }
+                               return 0;
+                       }
+                       break;
+
+               /* Process "E:<tv>:<a>" -- attribute for inventory objects */
+               case 'E':
+                       if (tokenize(buf+2, 2, zz, TOKENIZE_CHECKQUOTE) == 2)
+                       {
+                               j = (byte)strtol(zz[0], NULL, 0) % 128;
+                               n1 = (SYMBOL_COLOR)strtol(zz[1], NULL, 0);
+                               if (n1) tval_to_attr[j] = n1;
+                               return 0;
                        }
+                       break;
+
+               /* Process "A:<str>" -- save an "action" for later */
+               case 'A':
+                       text_to_ascii(macro__buf, buf+2);
                        return 0;
-               }
-               break;
 
-       /* Process "E:<tv>:<a>" -- attribute for inventory objects */
-       case 'E':
-               if (tokenize(buf+2, 2, zz, TOKENIZE_CHECKQUOTE) == 2)
+               /* Process "P:<str>" -- normal macro */
+               case 'P':
                {
-                       j = (byte)strtol(zz[0], NULL, 0) % 128;
-                       n1 = strtol(zz[1], NULL, 0);
-                       if (n1) tval_to_attr[j] = n1;
+                       char tmp[1024];
+
+                       text_to_ascii(tmp, buf+2);
+                       macro_add(tmp, macro__buf);
                        return 0;
                }
-               break;
-
-       /* Process "A:<str>" -- save an "action" for later */
-       case 'A':
-               text_to_ascii(macro__buf, buf+2);
-               return 0;
-
-       /* Process "P:<str>" -- normal macro */
-       case 'P':
-       {
-               char tmp[1024];
 
-               text_to_ascii(tmp, buf+2);
-               macro_add(tmp, macro__buf);
-               return 0;
-       }
-
-       /* Process "C:<str>" -- create keymap */
-       case 'C':
-       {
-               int mode;
-               char tmp[1024];
-
-               if (tokenize(buf+2, 2, zz, TOKENIZE_CHECKQUOTE) != 2) return 1;
+               /* Process "C:<str>" -- create keymap */
+               case 'C':
+               {
+                       int mode;
+                       char tmp[1024];
 
-               mode = strtol(zz[0], NULL, 0);
-               if ((mode < 0) || (mode >= KEYMAP_MODES)) return 1;
+                       if (tokenize(buf+2, 2, zz, TOKENIZE_CHECKQUOTE) != 2) return 1;
 
-               text_to_ascii(tmp, zz[1]);
-               if (!tmp[0] || tmp[1]) return 1;
-               i = (byte)(tmp[0]);
+                       mode = strtol(zz[0], NULL, 0);
+                       if ((mode < 0) || (mode >= KEYMAP_MODES)) return 1;
 
-               string_free(keymap_act[mode][i]);
+                       text_to_ascii(tmp, zz[1]);
+                       if (!tmp[0] || tmp[1]) return 1;
+                       i = (byte)(tmp[0]);
 
-               keymap_act[mode][i] = string_make(macro__buf);
+                       string_free(keymap_act[mode][i]);
 
-               return 0;
-       }
+                       keymap_act[mode][i] = string_make(macro__buf);
 
-       /* Process "V:<num>:<kv>:<rv>:<gv>:<bv>" -- visual info */
-       case 'V':
-               if (tokenize(buf+2, 5, zz, TOKENIZE_CHECKQUOTE) == 5)
-               {
-                       i = (byte)strtol(zz[0], NULL, 0);
-                       angband_color_table[i][0] = (byte)strtol(zz[1], NULL, 0);
-                       angband_color_table[i][1] = (byte)strtol(zz[2], NULL, 0);
-                       angband_color_table[i][2] = (byte)strtol(zz[3], NULL, 0);
-                       angband_color_table[i][3] = (byte)strtol(zz[4], NULL, 0);
                        return 0;
                }
-               break;
 
-       /* Process "X:<str>" -- turn option off */
-       /* Process "Y:<str>" -- turn option on */
-       case 'X':
-       case 'Y':
-               for (i = 0; option_info[i].o_desc; i++)
-               {
-                       if (option_info[i].o_var &&
-                           option_info[i].o_text &&
-                           streq(option_info[i].o_text, buf + 2))
+               /* Process "V:<num>:<kv>:<rv>:<gv>:<bv>" -- visual info */
+               case 'V':
+                       if (tokenize(buf+2, 5, zz, TOKENIZE_CHECKQUOTE) == 5)
                        {
-                               int os = option_info[i].o_set;
-                               int ob = option_info[i].o_bit;
+                               i = (byte)strtol(zz[0], NULL, 0);
+                               angband_color_table[i][0] = (byte)strtol(zz[1], NULL, 0);
+                               angband_color_table[i][1] = (byte)strtol(zz[2], NULL, 0);
+                               angband_color_table[i][2] = (byte)strtol(zz[3], NULL, 0);
+                               angband_color_table[i][3] = (byte)strtol(zz[4], NULL, 0);
+                               return 0;
+                       }
+                       break;
 
-                               if ((p_ptr->playing || character_xtra) &&
-                                       (OPT_PAGE_BIRTH == option_info[i].o_page) && !p_ptr->wizard)
+               /* Process "X:<str>" -- turn option off */
+               /* Process "Y:<str>" -- turn option on */
+               case 'X':
+               case 'Y':
+                       for (i = 0; option_info[i].o_desc; i++)
+                       {
+                               if (option_info[i].o_var &&
+                                       option_info[i].o_text &&
+                                       streq(option_info[i].o_text, buf + 2))
                                {
-#ifdef JP
-                                       msg_format("½é´ü¥ª¥×¥·¥ç¥ó¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó! '%s'", buf);
-#else
-                                       msg_format("Birth options can not changed! '%s'", buf);
-#endif
-                                       msg_print(NULL);
-                                       return 0;
-                               }
+                                       int os = option_info[i].o_set;
+                                       int ob = option_info[i].o_bit;
 
-                               if (buf[0] == 'X')
-                               {
-                                       /* Clear */
-                                       option_flag[os] &= ~(1L << ob);
-                                       (*option_info[i].o_var) = FALSE;
-                               }
-                               else
-                               {
-                                       /* Set */
-                                       option_flag[os] |= (1L << ob);
-                                       (*option_info[i].o_var) = TRUE;
+                                       if ((p_ptr->playing || character_xtra) &&
+                                               (OPT_PAGE_BIRTH == option_info[i].o_page) && !p_ptr->wizard)
+                                       {
+                                               msg_format(_("初期オプションは変更できません! '%s'", "Birth options can not changed! '%s'"), buf);
+                                               msg_print(NULL);
+                                               return 0;
+                                       }
+
+                                       if (buf[0] == 'X')
+                                       {
+                                               /* Clear */
+                                               option_flag[os] &= ~(1L << ob);
+                                               (*option_info[i].o_var) = FALSE;
+                                       }
+                                       else
+                                       {
+                                               /* Set */
+                                               option_flag[os] |= (1L << ob);
+                                               (*option_info[i].o_var) = TRUE;
+                                       }
+                                       return 0;
                                }
-                               return 0;
                        }
-               }
 
-               /* don't know that option. ignore it.*/
-#ifdef JP
-               msg_format("¥ª¥×¥·¥ç¥ó¤Î̾Á°¤¬Àµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡§ %s", buf);
-#else
-               msg_format("Ignored invalid option: %s", buf);
-#endif
-               msg_print(NULL);
-               return 0;
+                       /* don't know that option. ignore it.*/
+                       msg_format(_("オプションの名前が正しくありません: %s", "Ignored invalid option: %s"), buf);
+                       msg_print(NULL);
+                       return 0;
 
-       /* Process "Z:<type>:<str>" -- set spell color */
-       case 'Z':
-       {
-               /* Find the colon */
-               char *t = my_strchr(buf + 2, ':');
+               /* Process "Z:<type>:<str>" -- set spell color */
+               case 'Z':
+               {
+                       /* Find the colon */
+                       char *t = my_strchr(buf + 2, ':');
 
-               /* Oops */
-               if (!t) return 1;
+                       /* Oops */
+                       if (!t) return 1;
 
-               /* Nuke the colon */
-               *(t++) = '\0';
+                       /* Nuke the colon */
+                       *(t++) = '\0';
 
-               for (i = 0; gf_desc[i].name; i++)
-               {
-                       /* Match this type */
-                       if (streq(gf_desc[i].name, buf + 2))
+                       for (i = 0; gf_desc[i].name; i++)
                        {
-                               /* Remember this color set */
-                               gf_color[gf_desc[i].num] = quark_add(t);
+                               /* Match this type */
+                               if (streq(gf_desc[i].name, buf + 2))
+                               {
+                                       /* Remember this color set */
+                                       gf_color[gf_desc[i].num] = quark_add(t);
 
-                               /* Success */
-                               return 0;
+                                       /* Success */
+                                       return 0;
+                               }
                        }
-               }
 
-               break;
-       }
-
-       /* Initialize macro trigger names and a template */
-       /* Process "T:<trigger>:<keycode>:<shift-keycode>" */
-       /* Process "T:<template>:<modifier chr>:<modifier name>:..." */
-       case 'T':
-       {
-               int tok = tokenize(buf+2, 2+MAX_MACRO_MOD, zz, 0);
+                       break;
+               }
 
+               /* Initialize macro trigger names and a template */
+               /* Process "T:<trigger>:<keycode>:<shift-keycode>" */
                /* Process "T:<template>:<modifier chr>:<modifier name>:..." */
-               if (tok >= 4)
+               case 'T':
                {
-                       int i;
-                       int num;
+                       int tok = tokenize(buf+2, 2+MAX_MACRO_MOD, zz, 0);
 
-                       if (macro_template != NULL)
+                       /* Process "T:<template>:<modifier chr>:<modifier name>:..." */
+                       if (tok >= 4)
                        {
-                               num = strlen(macro_modifier_chr);
+                               int num;
 
-                               /* Kill the template string */
-                               string_free(macro_template);
-                               macro_template = NULL;
+                               if (macro_template != NULL)
+                               {
+                                       num = strlen(macro_modifier_chr);
 
-                               /* Kill flag characters of modifier keys */
-                               string_free(macro_modifier_chr);
+                                       /* Kill the template string */
+                                       string_free(macro_template);
+                                       macro_template = NULL;
 
-                               /* Kill corresponding modifier names */
-                               for (i = 0; i < num; i++)
-                               {
-                                       string_free(macro_modifier_name[i]);
-                               }
+                                       /* Kill flag characters of modifier keys */
+                                       string_free(macro_modifier_chr);
 
-                               /* Kill trigger name strings */
-                               for (i = 0; i < max_macrotrigger; i++)
-                               {
-                                       string_free(macro_trigger_name[i]);
-                                       string_free(macro_trigger_keycode[0][i]);
-                                       string_free(macro_trigger_keycode[1][i]);
-                               }
+                                       /* Kill corresponding modifier names */
+                                       for (i = 0; i < num; i++)
+                                       {
+                                               string_free(macro_modifier_name[i]);
+                                       }
 
-                               max_macrotrigger = 0;
-                       }
+                                       /* Kill trigger name strings */
+                                       for (i = 0; i < max_macrotrigger; i++)
+                                       {
+                                               string_free(macro_trigger_name[i]);
+                                               string_free(macro_trigger_keycode[0][i]);
+                                               string_free(macro_trigger_keycode[1][i]);
+                                       }
 
-                       if (*zz[0] == '\0') return 0; /* clear template */
+                                       max_macrotrigger = 0;
+                               }
 
-                       /* Number of modifier flags */
-                       num = strlen(zz[1]);
+                               if (*zz[0] == '\0') return 0; /* clear template */
 
-                       /* Limit the number */
-                       num = MIN(MAX_MACRO_MOD, num);
+                               /* Number of modifier flags */
+                               num = strlen(zz[1]);
 
-                       /* Stop if number of modifier is not correct */
-                       if (2 + num != tok) return 1;
+                               /* Limit the number */
+                               num = MIN(MAX_MACRO_MOD, num);
 
-                       /* Get a template string */
-                       macro_template = string_make(zz[0]);
+                               /* Stop if number of modifier is not correct */
+                               if (2 + num != tok) return 1;
 
-                       /* Get flag characters of modifier keys */
-                       macro_modifier_chr = string_make(zz[1]);
+                               /* Get a template string */
+                               macro_template = string_make(zz[0]);
 
-                       /* Get corresponding modifier names */
-                       for (i = 0; i < num; i++)
-                       {
-                               macro_modifier_name[i] = string_make(zz[2+i]);
-                       }
-               }
+                               /* Get flag characters of modifier keys */
+                               macro_modifier_chr = string_make(zz[1]);
 
-               /* Process "T:<trigger>:<keycode>:<shift-keycode>" */
-               else if (tok >= 2)
-               {
-                       char buf[1024];
-                       int m;
-                       char *t, *s;
-                       if (max_macrotrigger >= MAX_MACRO_TRIG)
-                       {
-#ifdef JP
-                               msg_print("¥Þ¥¯¥í¥È¥ê¥¬¡¼¤ÎÀßÄ꤬¿¤¹¤®¤Þ¤¹!");
-#else
-                               msg_print("Too many macro triggers!");
-#endif
-                               return 1;
+                               /* Get corresponding modifier names */
+                               for (i = 0; i < num; i++)
+                               {
+                                       macro_modifier_name[i] = string_make(zz[2+i]);
+                               }
                        }
-                       m = max_macrotrigger;
-                       max_macrotrigger++;
 
-                       /* Take into account the escape character  */
-                       t = buf;
-                       s = zz[0];
-                       while (*s)
+                       /* Process "T:<trigger>:<keycode>:<shift-keycode>" */
+                       else if (tok >= 2)
                        {
-                               if ('\\' == *s) s++;
-                               *t++ = *s++;
-                       }
-                       *t = '\0';
+                               char buf_aux[1024];
+                               int m;
+                               char *t, *s;
+                               if (max_macrotrigger >= MAX_MACRO_TRIG)
+                               {
+                                       msg_print(_("マクロトリガーの設定が多すぎます!", "Too many macro triggers!"));
+                                       return 1;
+                               }
+                               m = max_macrotrigger;
+                               max_macrotrigger++;
 
-                       /* Get a trigger name */
-                       macro_trigger_name[m] = string_make(buf);
+                               /* Take into account the escape character  */
+                               t = buf_aux;
+                               s = zz[0];
+                               while (*s)
+                               {
+                                       if ('\\' == *s) s++;
+                                       *t++ = *s++;
+                               }
+                               *t = '\0';
 
-                       /* Get the corresponding key code */
-                       macro_trigger_keycode[0][m] = string_make(zz[1]);
+                               /* Get a trigger name */
+                               macro_trigger_name[m] = string_make(buf_aux);
 
-                       if (tok == 3)
-                       {
-                               /* Key code of a combination of it with the shift key */
-                               macro_trigger_keycode[1][m] = string_make(zz[2]);
-                       }
-                       else
-                       {
-                               macro_trigger_keycode[1][m] = string_make(zz[1]);
+                               /* Get the corresponding key code */
+                               macro_trigger_keycode[0][m] = string_make(zz[1]);
+
+                               if (tok == 3)
+                               {
+                                       /* Key code of a combination of it with the shift key */
+                                       macro_trigger_keycode[1][m] = string_make(zz[2]);
+                               }
+                               else
+                               {
+                                       macro_trigger_keycode[1][m] = string_make(zz[1]);
+                               }
                        }
-               }
 
-               /* No error */
-               return 0;
-       }
+                       /* No error */
+                       return 0;
+               }
        }
 
        /* Failure */
@@ -791,10 +741,10 @@ errr process_pref_file_command(char *buf)
 
 
 /*!
- * @brief process_pref_file¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤È¤·¤Æ¾ò·ïʬ´ô½èÍý¤Î²ò¼á¤È·ë²Ì¤òÊÖ¤¹ /
+ * @brief process_pref_fileのサブルーチンとして条件分岐処理の解釈と結果を返す /
  * Helper function for "process_pref_file()"
- * @param sp ¥Æ¥­¥¹¥Èʸ»úÎó¤Î»²¾È¥Ý¥¤¥ó¥¿
- * @param fp ºÆµ¢Ãæ¤Î¥Ý¥¤¥ó¥¿»²¾È
+ * @param sp ã\83\86ã\82­ã\82¹ã\83\88æ\96\87å­\97å\88\97ã\81®å\8f\82ç\85§ã\83\9dã\82¤ã\83³ã\82¿
+ * @param fp 再帰中のポインタ参照
  * @return
  * @details
  * <pre>
@@ -816,7 +766,7 @@ cptr process_pref_file_expr(char **sp, char *fp)
        char b2 = ']';
 
        char f = ' ';
-       static char tmp[10];
+       static char tmp[16];
 
        /* Initial */
        s = (*sp);
@@ -1017,7 +967,7 @@ cptr process_pref_file_expr(char **sp, char *fp)
                        {
                                static char tmp_player_name[32];
                                char *pn, *tpn;
-                               for (pn = player_name, tpn = tmp_player_name; *pn; pn++, tpn++)
+                               for (pn = p_ptr->name, tpn = tmp_player_name; *pn; pn++, tpn++)
                                {
 #ifdef JP
                                        if (iskanji(*pn))
@@ -1100,11 +1050,11 @@ cptr process_pref_file_expr(char **sp, char *fp)
 #define PREF_TYPE_HISTPREF 2
 
 /*!
- * @brief process_pref_file¤Î¥µ¥Ö¥ë¡¼¥Á¥ó /
+ * @brief process_pref_fileのサブルーチン /
  * Open the "user pref file" and parse it.
- * @param name Æɤ߹þ¤à¥Õ¥¡¥¤¥ë̾
- * @param preftype pref¥Õ¥¡¥¤¥ë¤Î¥¿¥¤¥×
- * @return ¥¨¥é¡¼¥³¡¼¥É
+ * @param name 読み込むファイル名
+ * @param preftype prefファイルのタイプ
+ * @return エラーコード
  * @details
  * <pre>
  * Input:
@@ -1233,13 +1183,9 @@ static errr process_pref_file_aux(cptr name, int preftype)
        {
                /* Print error message */
                /* ToDo: Add better error messages */
-#ifdef JP
-             msg_format("¥Õ¥¡¥¤¥ë'%s'¤Î%d¹Ô¤Ç¥¨¥é¡¼ÈÖ¹æ%d¤Î¥¨¥é¡¼¡£", name, line, err);
-             msg_format("('%s'¤ò²òÀÏÃæ)", old);
-#else
-               msg_format("Error %d in line %d of file '%s'.", err, line, name);
-               msg_format("Parsing '%s'", old);
-#endif
+               msg_format(_("ファイル'%s'の%d行でエラー番号%dのエラー。", "Error %d in line %d of file '%s'."), 
+                                       _(name, err), line, _(err, name));
+               msg_format(_("('%s'を解析中)", "Parsing '%s'"), old);
                msg_print(NULL);
        }
 
@@ -1252,10 +1198,10 @@ static errr process_pref_file_aux(cptr name, int preftype)
 
 
 /*!
- * @brief prefÀßÄê¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ßÀßÄê¤òÈ¿±Ç¤µ¤»¤ë /
+ * @brief pref設定ファイルを読み込み設定を反映させる /
  * Process the "user pref file" with the given name
- * @param name Æɤ߹þ¤à¥Õ¥¡¥¤¥ë̾
- * @return ¥¨¥é¡¼¥³¡¼¥É
+ * @param name 読み込むファイル名
+ * @return エラーコード
  * @details
  * <pre>
  * See the functions above for a list of legal "commands".
@@ -1321,9 +1267,9 @@ static bool check_time_flag = FALSE;
 
 
 /*!
- * @brief Angband¥×¥ì¥¤¶Ø»ß»þ¹ï¤ò¥Á¥§¥Ã¥¯ /
+ * @brief Angbandã\83\97ã\83¬ã\82¤ç¦\81æ­¢æ\99\82å\88»ã\82\92ã\83\81ã\82§ã\83\83ã\82¯ /
  * Handle CHECK_TIME
- * @return ¥¨¥é¡¼¥³¡¼¥É
+ * @return エラーコード
  */
 errr check_time(void)
 {
@@ -1351,9 +1297,9 @@ errr check_time(void)
 
 
 /*!
- * @brief Angband¥×¥ì¥¤¶Ø»ß»þ¹ï¤Î½é´ü²½ /
+ * @brief Angbandプレイ禁止時刻の初期化 /
  * Initialize CHECK_TIME
- * @return ¥¨¥é¡¼¥³¡¼¥É
+ * @return エラーコード
  */
 errr check_time_init(void)
 {
@@ -1444,9 +1390,9 @@ static int check_load_value = 0;
 
 
 /*!
- * @brief Angband¥×¥ì¥¤¶Ø»ß¥Û¥¹¥È¤Î¥Á¥§¥Ã¥¯ /
+ * @brief Angbandã\83\97ã\83¬ã\82¤ç¦\81æ­¢ã\83\9bã\82¹ã\83\88ã\81®ã\83\81ã\82§ã\83\83ã\82¯ /
  * Handle CHECK_LOAD
- * @return ¥¨¥é¡¼¥³¡¼¥É
+ * @return エラーコード
  */
 errr check_load(void)
 {
@@ -1476,9 +1422,9 @@ errr check_load(void)
 
 
 /*!
- * @brief Angband¥×¥ì¥¤¶Ø»ß¥Û¥¹¥È¤ÎÀßÄê½é´ü²½ /
+ * @brief Angbandプレイ禁止ホストの設定初期化 /
  * Initialize CHECK_LOAD
- * @return ¥¨¥é¡¼¥³¡¼¥É
+ * @return エラーコード
  */
 errr check_load_init(void)
 {
@@ -1598,51 +1544,51 @@ static struct
 } disp_player_line[]
 #ifdef JP
 = {
-       { 1, 10, 25, "ÂǷ⽤Àµ(³ÊÆ®)"},
-       { 1, 10, 25, "ÂǷ⽤Àµ(ξ¼ê)"},
-       { 1, 10, 25, "ÂǷ⽤Àµ(±¦¼ê)"},
-       { 1, 10, 25, "ÂǷ⽤Àµ(º¸¼ê)"},
-       { 1, 11, 25, "ÂǷ⽤Àµ(º¸¼ê)"},
-       { 1, 11, 25, "ÂǷ⽤Àµ(±¦¼ê)"},
+       { 1, 10, 25, "打撃修正(格闘)"},
+       { 1, 10, 25, "打撃修正(両手)"},
+       { 1, 10, 25, "打撃修正(右手)"},
+       { 1, 10, 25, "打撃修正(左手)"},
+       { 1, 11, 25, "打撃修正(左手)"},
+       { 1, 11, 25, "打撃修正(右手)"},
        { 1, 11, 25, ""},
-       { 1, 15, 25, "¼Í·â¹¶·â½¤Àµ"},
-       { 1, 16, 25, "¼Í·âÉð´ïÇÜΨ"},
-       { 1, 20, 25, "²Ã®"},
-       { 1, 19, 25, "£Á£Ã"},
-       {29, 13, 21, "¥ì¥Ù¥ë"},
-       {29, 14, 21, "·Ð¸³ÃÍ"},
-       {29, 15, 21, "ºÇÂç·Ð¸³"},
-       {29, 16, 21, "¼¡¥ì¥Ù¥ë"},
-       {29, 17, 21, "½ê»ý¶â"},
-       {29, 19, 21, "ÆüÉÕ"},
-       {29, 10, 21, "£È£Ð"},
-       {29, 11, 21, "£Í£Ð"},
-       {29, 20, 21, "¥×¥ì¥¤»þ´Ö"},
-       {53, 10, -1, "ÂÇ·âÌ¿Ãæ  :"},
-       {53, 11, -1, "¼Í·âÌ¿Ãæ  :"},
-       {53, 12, -1, "ËâË¡Ëɸ栠:"},
-       {53, 13, -1, "±£Ì©¹ÔÆ°  :"},
-       {53, 15, -1, "ÃγР     :"},
-       {53, 16, -1, "õº÷      :"},
-       {53, 17, -1, "²ò½ü      :"},
-       {53, 18, -1, "ËâË¡Æ»¶ñ  :"},
-       { 1, 12, 25, "ÂÇ·â²ó¿ô"},
-       { 1, 17, 25, "¼Í·â²ó¿ô"},
-       { 1, 13, 25, "Ê¿¶Ñ¥À¥á¡¼¥¸"},
-       {53, 20, -1, "ÀÖ³°Àþ»ëÎÏ:"},
-       {26,  1, -1, "̾Á°  : "},
-       { 1,  3, -1, "À­ÊÌ     : "},
-       { 1,  4, -1, "¼ï²     : "},
-       { 1,  5, -1, "¿¦¶È     : "},
-       { 1,  6, -1, "ËâË¡     : "},
-       { 1,  7, -1, "¼é¸îËâ¿À : "},
-       {29,  3, 21, "ǯÎð"},
-       {29,  4, 21, "¿ÈĹ"},
-       {29,  5, 21, "ÂνÅ"},
-       {29,  6, 21, "¼Ò²ñŪÃÏ°Ì"},
-       {29,  7, 21, "°À­"},
-       {29, 14, 21, "¶¯²½ÅÙ"},
-       {29, 16, 21, "¼¡¥ì¥Ù¥ë"},
+       { 1, 15, 25, "射撃攻撃修正"},
+       { 1, 16, 25, "射撃武器倍率"},
+       { 1, 20, 25, "加速"},
+       { 1, 19, 25, "AC"},
+       {29, 13, 21, "レベル"},
+       {29, 14, 21, "経験値"},
+       {29, 15, 21, "最大経験"},
+       {29, 16, 21, "次レベル"},
+       {29, 17, 21, "所持金"},
+       {29, 19, 21, "日付"},
+       {29, 10, 21, "HP"},
+       {29, 11, 21, "MP"},
+       {29, 20, 21, "プレイ時間"},
+       {53, 10, -1, "打撃命中  :"},
+       {53, 11, -1, "射撃命中  :"},
+       {53, 12, -1, "魔法防御  :"},
+       {53, 13, -1, "隠密行動  :"},
+       {53, 15, -1, "知覚      :"},
+       {53, 16, -1, "探索      :"},
+       {53, 17, -1, "解除      :"},
+       {53, 18, -1, "魔法道具  :"},
+       { 1, 12, 25, "打撃回数"},
+       { 1, 17, 25, "射撃回数"},
+       { 1, 13, 25, "å¹³å\9d\87ã\83\80ã\83¡ã\83¼ã\82¸"},
+       {53, 20, -1, "赤外線視力:"},
+       {26,  1, -1, "名前  : "},
+       { 1,  3, -1, "性別     : "},
+       { 1,  4, -1, "種族     : "},
+       { 1,  5, -1, "職業     : "},
+       { 1,  6, -1, "魔法     : "},
+       { 1,  7, -1, "守護魔神 : "},
+       {29,  3, 21, "年齢"},
+       {29,  4, 21, "身長"},
+       {29,  5, 21, "体重"},
+       {29,  6, 21, "社会的地位"},
+       {29,  7, 21, "属性"},
+       {29, 14, 21, "強化度"},
+       {29, 16, 21, "次レベル"},
 };
 #else
 = {
@@ -1695,11 +1641,11 @@ static struct
 #endif
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤Î¥¹¥Æ¡¼¥¿¥¹1¼ï¤ò½ÐÎϤ¹¤ë
- * @param entry ¹àÌÜID
- * @param val ÃͤòÊݴɤ·¤¿Ê¸»úÎó¥Ý¥¤¥ó¥¿
- * @param attr ¹àÌÜɽ¼¨¤Î¿§
- * @return ¤Ê¤·
+ * @brief プレイヤーのステータス1種を出力する
+ * @param entry 項目ID
+ * @param val å\80¤ã\82\92ä¿\9d管ã\81\97ã\81\9fæ\96\87å­\97å\88\97ã\83\9dã\82¤ã\83³ã\82¿
+ * @param attr 項目表示の色
+ * @return なし
  */
 static void display_player_one_line(int entry, cptr val, byte attr)
 {
@@ -1732,10 +1678,10 @@ static void display_player_one_line(int entry, cptr val, byte attr)
 }
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤ÎÂÇ·âǽÎϽ¤Àµ¤òɽ¼¨¤¹¤ë
- * @param hand Éð´ï¤ÎÁõÈ÷Éô°ÌID
- * @param hand_entry ¹àÌÜID
- * @return ¤Ê¤·
+ * @brief プレイヤーの打撃能力修正を表示する
+ * @param hand 武器の装備部位ID
+ * @param hand_entry 項目ID
+ * @return なし
  */
 static void display_player_melee_bonus(int hand, int hand_entry)
 {
@@ -1764,9 +1710,9 @@ static void display_player_melee_bonus(int hand, int hand_entry)
 
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¥¹¥Æ¡¼¥¿¥¹É½¼¨¤ÎÃæ±ûÉôʬ¤òɽ¼¨¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó
+ * @brief プレイヤーステータス表示の中央部分を表示するサブルーチン
  * Prints the following information on the screen.
- * @return ¤Ê¤·
+ * @return なし
  */
 static void display_player_middle(void)
 {
@@ -1801,18 +1747,10 @@ static void display_player_middle(void)
                                if ((p_ptr->special_defense >> i) & KAMAE_GENBU) break;
                        }
                        if (i < MAX_KAMAE)
-#ifdef JP
-                               display_player_one_line(ENTRY_POSTURE, format("%s¤Î¹½¤¨", kamae_shurui[i].desc), TERM_YELLOW);
-#else
-                               display_player_one_line(ENTRY_POSTURE, format("%s form", kamae_shurui[i].desc), TERM_YELLOW);
-#endif
+                               display_player_one_line(ENTRY_POSTURE, format(_("%sの構え", "%s form"), kamae_shurui[i].desc), TERM_YELLOW);
                }
                else
-#ifdef JP
-                               display_player_one_line(ENTRY_POSTURE, "¹½¤¨¤Ê¤·", TERM_YELLOW);
-#else
-                               display_player_one_line(ENTRY_POSTURE, "none", TERM_YELLOW);
-#endif
+                               display_player_one_line(ENTRY_POSTURE, _("構えなし", "none"), TERM_YELLOW);
        }
 
        /* Apply weapon bonuses */
@@ -1895,11 +1833,7 @@ static void display_player_middle(void)
                        if (!p_ptr->riding)
                                sprintf(buf, "(%+d%+d)", i-tmp_speed, tmp_speed);
                        else
-#ifdef JP
-                               sprintf(buf, "¾èÇÏÃæ (%+d%+d)", i-tmp_speed, tmp_speed);
-#else
-                               sprintf(buf, "Riding (%+d%+d)", i-tmp_speed, tmp_speed);
-#endif
+                               sprintf(buf, _("乗馬中 (%+d%+d)", "Riding (%+d%+d)"), i-tmp_speed, tmp_speed);
 
                        if (tmp_speed > 0)
                                attr = TERM_YELLOW;
@@ -1911,11 +1845,7 @@ static void display_player_middle(void)
                        if (!p_ptr->riding)
                                sprintf(buf, "(%+d)", i);
                        else
-#ifdef JP
-                               sprintf(buf, "¾èÇÏÃæ (%+d)", i);
-#else
-                               sprintf(buf, "Riding (%+d)", i);
-#endif
+                               sprintf(buf, _("乗馬中 (%+d)", "Riding (%+d)"), i);
                }
        
                display_player_one_line(ENTRY_SPEED, buf, attr);
@@ -1958,13 +1888,8 @@ static void display_player_middle(void)
                int day, hour, min;
                extract_day_hour_min(&day, &hour, &min);
 
-#ifdef JP
-               if (day < MAX_DAYS) sprintf(buf, "%dÆüÌÜ %2d:%02d", day, hour, min);
-               else sprintf(buf, "*****ÆüÌÜ %2d:%02d", hour, min);
-#else
-               if (day < MAX_DAYS) sprintf(buf, "Day %d %2d:%02d", day, hour, min);
-               else sprintf(buf, "Day ***** %2d:%02d", hour, min);
-#endif
+               if (day < MAX_DAYS) sprintf(buf, _("%d日目 %2d:%02d", "Day %d %2d:%02d"), day, hour, min);
+               else sprintf(buf, _("*****日目 %2d:%02d", "Day ***** %2d:%02d"), hour, min);
        }
        display_player_one_line(ENTRY_DAY, buf, TERM_L_GREEN);
 
@@ -1996,11 +1921,11 @@ static byte likert_color = TERM_WHITE;
 
 
 /*!
- * @brief µ»Ç½¥é¥ó¥¯¤Îɽ¼¨´ð½à¤òÄê¤á¤ë
+ * @brief 技能ランクの表示基準を定める
  * Returns a "rating" of x depending on y
- * @int x µ»Ç½ÃÍ
- * @int y µ»Ç½ÃͤËÂФ¹¤ë¥é¥ó¥¯´ð½àÈæ
- * @return ¤Ê¤·
+ * @param x 技能値
+ * @param y  技能値に対するランク基準比
+ * @return なし
  */
 static cptr likert(int x, int y)
 {
@@ -2013,11 +1938,7 @@ static cptr likert(int x, int y)
        if (x < 0)
        {
                likert_color = TERM_L_DARK;
-#ifdef JP
-               return "ºÇÄã";
-#else
-               return "Very Bad";
-#endif
+               return _("最低", "Very Bad");
        }
 
        /* Analyze the value */
@@ -2026,53 +1947,29 @@ static cptr likert(int x, int y)
        case 0:
        case 1:
                likert_color = TERM_RED;
-#ifdef JP
-               return "°­¤¤";
-#else
-               return "Bad";
-#endif
+               return _("悪い", "Bad");
 
        case 2:
                likert_color = TERM_L_RED;
-#ifdef JP
-               return "Îô¤ë";
-#else
-               return "Poor";
-#endif
+               return _("劣る", "Poor");
 
        case 3:
        case 4:
                likert_color = TERM_ORANGE;
-#ifdef JP
-               return "ÉáÄÌ";
-#else
-               return "Fair";
-#endif
+               return _("普通", "Fair");
 
        case 5:
                likert_color = TERM_YELLOW;
-#ifdef JP
-               return "Îɤ¤";
-#else
-               return "Good";
-#endif
+               return _("良い", "Good");
 
        case 6:
                likert_color = TERM_YELLOW;
-#ifdef JP
-               return "ÂçÊÑÎɤ¤";
-#else
-               return "Very Good";
-#endif
+               return _("大変良い", "Very Good");
 
        case 7:
        case 8:
                likert_color = TERM_L_GREEN;
-#ifdef JP
-               return "Âî±Û";
-#else
-               return "Excellent";
-#endif
+               return _("卓越", "Excellent");
 
        case 9:
        case 10:
@@ -2080,39 +1977,27 @@ static cptr likert(int x, int y)
        case 12:
        case 13:
                likert_color = TERM_GREEN;
-#ifdef JP
-               return "Ķ±Û";
-#else
-               return "Superb";
-#endif
+               return _("超越", "Superb");
 
        case 14:
        case 15:
        case 16:
        case 17:
                likert_color = TERM_BLUE;
-#ifdef JP
-               return "±ÑͺŪ";
-#else
-               return "Heroic";
-#endif
+               return _("英雄的", "Heroic");
 
        default:
                likert_color = TERM_VIOLET;
-#ifdef JP
-               sprintf(dummy, "ÅÁÀâŪ[%d]", (int)((((x / y) - 17) * 5) / 2));
-#else
-               sprintf(dummy, "Legendary[%d]", (int)((((x / y) - 17) * 5) / 2));
-#endif
+               sprintf(dummy, _("伝説的[%d]", "Legendary[%d]"), (int)((((x / y) - 17) * 5) / 2));
                return dummy;
        }
 }
 
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¥¹¥Æ¡¼¥¿¥¹¤Î1¥Ú¡¼¥¸ÌܳƼï¾ÜºÙ¤ò¤Þ¤È¤á¤Æɽ¼¨¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó
+ * @brief プレイヤーステータスの1ページ目各種詳細をまとめて表示するサブルーチン
  * Prints ratings on certain abilities
- * @return ¤Ê¤·
+ * @return なし
  * @details
  * This code is "imitated" elsewhere to "dump" a character sheet.
  */
@@ -2145,7 +2030,7 @@ static void display_player_various(void)
        /* If the player is wielding one? */
        if (o_ptr->k_idx)
        {
-               s16b energy_fire = bow_energy(o_ptr->sval);
+               ENERGY energy_fire = bow_energy(o_ptr->sval);
 
                /* Calculate shots per round */
                shots = p_ptr->num_fire * 100;
@@ -2293,14 +2178,14 @@ static void display_player_various(void)
 
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤Î¿¦¶È¡¢¼ï²¤Ë±þ¤¸¤¿ÂÑÀ­¥Õ¥é¥°¤òÊÖ¤¹
+ * @brief プレイヤーの職業、種族に応じた耐性フラグを返す
  * Prints ratings on certain abilities
- * @param flgs ¥Õ¥é¥°¤òÊݴɤ¹¤ëÇÛÎó
- * @return ¤Ê¤·
+ * @param flgs フラグを保管する配列
+ * @return なし
  * @details
  * Obtain the "flags" for the player as if he was an item
  * @todo
- * xtra1.c¼þ¤ê¤È¿½Å¼ÂÁõ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤ò²¿¤È¤«¤¹¤ë
+ * xtra1.c周りと多重実装になっているのを何とかする
  */
 static void player_flags(u32b flgs[TR_FLAG_SIZE])
 {
@@ -2389,7 +2274,7 @@ static void player_flags(u32b flgs[TR_FLAG_SIZE])
                switch(p_ptr->mimic_form)
                {
                case MIMIC_DEMON:
-                       add_flag(flgs, TR_HOLD_LIFE);
+                       add_flag(flgs, TR_HOLD_EXP);
                        add_flag(flgs, TR_RES_CHAOS);
                        add_flag(flgs, TR_RES_NETHER);
                        add_flag(flgs, TR_RES_FIRE);
@@ -2397,7 +2282,7 @@ static void player_flags(u32b flgs[TR_FLAG_SIZE])
                        add_flag(flgs, TR_SPEED);
                        break;
                case MIMIC_DEMON_LORD:
-                       add_flag(flgs, TR_HOLD_LIFE);
+                       add_flag(flgs, TR_HOLD_EXP);
                        add_flag(flgs, TR_RES_CHAOS);
                        add_flag(flgs, TR_RES_NETHER);
                        add_flag(flgs, TR_RES_FIRE);
@@ -2417,7 +2302,7 @@ static void player_flags(u32b flgs[TR_FLAG_SIZE])
                        add_flag(flgs, TR_SPEED);
                        break;
                case MIMIC_VAMPIRE:
-                       add_flag(flgs, TR_HOLD_LIFE);
+                       add_flag(flgs, TR_HOLD_EXP);
                        add_flag(flgs, TR_RES_DARK);
                        add_flag(flgs, TR_RES_NETHER);
                        if (p_ptr->pclass != CLASS_NINJA) add_flag(flgs, TR_LITE_1);
@@ -2436,7 +2321,7 @@ static void player_flags(u32b flgs[TR_FLAG_SIZE])
                add_flag(flgs, TR_RES_LITE);
                break;
        case RACE_HOBBIT:
-               add_flag(flgs, TR_HOLD_LIFE);
+               add_flag(flgs, TR_HOLD_EXP);
                break;
        case RACE_GNOME:
                add_flag(flgs, TR_FREE_ACT);
@@ -2545,19 +2430,19 @@ static void player_flags(u32b flgs[TR_FLAG_SIZE])
                add_flag(flgs, TR_RES_POIS);
                add_flag(flgs, TR_SLOW_DIGEST);
                if (p_ptr->lev > 34)
-                       add_flag(flgs, TR_HOLD_LIFE);
+                       add_flag(flgs, TR_HOLD_EXP);
                break;
        case RACE_SKELETON:
                add_flag(flgs, TR_SEE_INVIS);
                add_flag(flgs, TR_RES_SHARDS);
-               add_flag(flgs, TR_HOLD_LIFE);
+               add_flag(flgs, TR_HOLD_EXP);
                add_flag(flgs, TR_RES_POIS);
                if (p_ptr->lev > 9)
                        add_flag(flgs, TR_RES_COLD);
                break;
        case RACE_ZOMBIE:
                add_flag(flgs, TR_SEE_INVIS);
-               add_flag(flgs, TR_HOLD_LIFE);
+               add_flag(flgs, TR_HOLD_EXP);
                add_flag(flgs, TR_RES_NETHER);
                add_flag(flgs, TR_RES_POIS);
                add_flag(flgs, TR_SLOW_DIGEST);
@@ -2565,7 +2450,7 @@ static void player_flags(u32b flgs[TR_FLAG_SIZE])
                        add_flag(flgs, TR_RES_COLD);
                break;
        case RACE_VAMPIRE:
-               add_flag(flgs, TR_HOLD_LIFE);
+               add_flag(flgs, TR_HOLD_EXP);
                add_flag(flgs, TR_RES_DARK);
                add_flag(flgs, TR_RES_NETHER);
                if (p_ptr->pclass != CLASS_NINJA) add_flag(flgs, TR_LITE_1);
@@ -2577,7 +2462,7 @@ static void player_flags(u32b flgs[TR_FLAG_SIZE])
                add_flag(flgs, TR_FREE_ACT);
                add_flag(flgs, TR_RES_COLD);
                add_flag(flgs, TR_SEE_INVIS);
-               add_flag(flgs, TR_HOLD_LIFE);
+               add_flag(flgs, TR_HOLD_EXP);
                add_flag(flgs, TR_RES_NETHER);
                add_flag(flgs, TR_RES_POIS);
                add_flag(flgs, TR_SLOW_DIGEST);
@@ -2602,7 +2487,7 @@ static void player_flags(u32b flgs[TR_FLAG_SIZE])
        case RACE_DEMON:
                add_flag(flgs, TR_RES_FIRE);
                add_flag(flgs, TR_RES_NETHER);
-               add_flag(flgs, TR_HOLD_LIFE);
+               add_flag(flgs, TR_HOLD_EXP);
                if (p_ptr->lev > 9)
                        add_flag(flgs, TR_SEE_INVIS);
                break;
@@ -2619,7 +2504,7 @@ static void player_flags(u32b flgs[TR_FLAG_SIZE])
                add_flag(flgs, TR_FREE_ACT);
                add_flag(flgs, TR_RES_POIS);
                add_flag(flgs, TR_SLOW_DIGEST);
-               add_flag(flgs, TR_HOLD_LIFE);
+               add_flag(flgs, TR_HOLD_EXP);
                break;
        default:
                ; /* Do nothing */
@@ -2684,7 +2569,7 @@ static void player_flags(u32b flgs[TR_FLAG_SIZE])
        {
                add_flag(flgs, TR_RES_BLIND);
                add_flag(flgs, TR_RES_CONF);
-               add_flag(flgs, TR_HOLD_LIFE);
+               add_flag(flgs, TR_HOLD_EXP);
                if (p_ptr->pclass != CLASS_NINJA) add_flag(flgs, TR_LITE_1);
                if (p_ptr->lev > 9)
                        add_flag(flgs, TR_SPEED);
@@ -2721,7 +2606,7 @@ static void player_flags(u32b flgs[TR_FLAG_SIZE])
                add_flag(flgs, TR_RES_CHAOS);
                add_flag(flgs, TR_RES_DISEN);
                add_flag(flgs, TR_REFLECT);
-               add_flag(flgs, TR_HOLD_LIFE);
+               add_flag(flgs, TR_HOLD_EXP);
                add_flag(flgs, TR_FREE_ACT);
                add_flag(flgs, TR_SH_FIRE);
                add_flag(flgs, TR_SH_ELEC);
@@ -2742,12 +2627,12 @@ static void player_flags(u32b flgs[TR_FLAG_SIZE])
 }
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤Î°ì»þŪËâË¡¸ú²Ì¤Ë¤è¤ëÂÑÀ­¤òÊÖ¤¹
+ * @brief プレイヤーの一時的魔法効果による耐性を返す
  * Prints ratings on certain abilities
- * @param flgs ¥Õ¥é¥°¤òÊݴɤ¹¤ëÇÛÎó
- * @return ¤Ê¤·
+ * @param flgs フラグを保管する配列
+ * @return なし
  * @todo
- * xtra1.c¼þ¤ê¤È¿½Å¼ÂÁõ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤ò²¿¤È¤«¤¹¤ë
+ * xtra1.c周りと多重実装になっているのを何とかする
  */
 static void tim_player_flags(u32b flgs[TR_FLAG_SIZE])
 {
@@ -2833,7 +2718,7 @@ static void tim_player_flags(u32b flgs[TR_FLAG_SIZE])
                add_flag(flgs, TR_RES_CHAOS);
                add_flag(flgs, TR_RES_DISEN);
                add_flag(flgs, TR_REFLECT);
-               add_flag(flgs, TR_HOLD_LIFE);
+               add_flag(flgs, TR_HOLD_EXP);
                add_flag(flgs, TR_FREE_ACT);
                add_flag(flgs, TR_SH_FIRE);
                add_flag(flgs, TR_SH_ELEC);
@@ -2873,12 +2758,12 @@ static void tim_player_flags(u32b flgs[TR_FLAG_SIZE])
 
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤ÎÁõÈ÷°ìÍ÷¤ò¥·¥ó¥Ü¥ë¤Çʤ٤ë
+ * @brief プレイヤーの装備一覧をシンボルで並べる
  * Equippy chars
- * @param y É½¼¨¤¹¤ë¥³¥ó¥½¡¼¥ë¤Î¹Ô
- * @param x É½¼¨¤¹¤ë¥³¥ó¥½¡¼¥ë¤ÎÎó
- * @param mode ¥ª¥×¥·¥ç¥ó
- * @return ¤Ê¤·
+ * @param y 表示するコンソールの行
+ * @param x 表示するコンソールの列
+ * @param mode オプション
+ * @return なし
  */
 static void display_player_equippy(int y, int x, u16b mode)
 {
@@ -2916,8 +2801,8 @@ static void display_player_equippy(int y, int x, u16b mode)
 
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤ÎÁõÈ÷°ìÍ÷¥·¥ó¥Ü¥ë¤ò¸ÇÄê°ÌÃÖ¤Ëɽ¼¨¤¹¤ë
- * @return ¤Ê¤·
+ * @brief プレイヤーの装備一覧シンボルを固定位置に表示する
+ * @return なし
  */
 void print_equippy(void)
 {
@@ -2925,11 +2810,11 @@ void print_equippy(void)
 }
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤ÎÁõÈ÷¤Ë¤è¤ëÌȱ֥ե饰¤òÊÖ¤¹
- * @param flgs ¥Õ¥é¥°¤òÊݴɤ¹¤ëÇÛÎó
- * @return ¤Ê¤·
+ * @brief プレイヤーの装備による免疫フラグを返す
+ * @param flgs フラグを保管する配列
+ * @return なし
  * @todo
- * xtra1.c¼þ¤ê¤È¿½Å¼ÂÁõ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤ò²¿¤È¤«¤¹¤ë
+ * xtra1.c周りと多重実装になっているのを何とかする
  */
 static void known_obj_immunity(u32b flgs[TR_FLAG_SIZE])
 {
@@ -2962,11 +2847,11 @@ static void known_obj_immunity(u32b flgs[TR_FLAG_SIZE])
 }
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤Î¼ï²¤Ë¤è¤ëÌȱ֥ե饰¤òÊÖ¤¹
- * @param flgs ¥Õ¥é¥°¤òÊݴɤ¹¤ëÇÛÎó
- * @return ¤Ê¤·
+ * @brief プレイヤーの種族による免疫フラグを返す
+ * @param flgs フラグを保管する配列
+ * @return なし
  * @todo
- * xtra1.c¼þ¤ê¤È¿½Å¼ÂÁõ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤ò²¿¤È¤«¤¹¤ë
+ * xtra1.c周りと多重実装になっているのを何とかする
  */
 static void player_immunity(u32b flgs[TR_FLAG_SIZE])
 {
@@ -2987,11 +2872,11 @@ static void player_immunity(u32b flgs[TR_FLAG_SIZE])
 }
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤Î°ì»þŪËâË¡¸ú²Ì¤Ë¤è¤ëÌȱ֥ե饰¤òÊÖ¤¹
- * @param flgs ¥Õ¥é¥°¤òÊݴɤ¹¤ëÇÛÎó
- * @return ¤Ê¤·
+ * @brief プレイヤーの一時的魔法効果による免疫フラグを返す
+ * @param flgs フラグを保管する配列
+ * @return なし
  * @todo
- * xtra1.c¼þ¤ê¤È¿½Å¼ÂÁõ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤ò²¿¤È¤«¤¹¤ë
+ * xtra1.c周りと多重実装になっているのを何とかする
  */
 static void tim_player_immunity(u32b flgs[TR_FLAG_SIZE])
 {
@@ -3014,11 +2899,11 @@ static void tim_player_immunity(u32b flgs[TR_FLAG_SIZE])
 }
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤Î¼ï²¤Ë¤è¤ë¼åÅÀ¥Õ¥é¥°¤òÊÖ¤¹
- * @param flgs ¥Õ¥é¥°¤òÊݴɤ¹¤ëÇÛÎó
- * @return ¤Ê¤·
+ * @brief プレイヤーの種族による弱点フラグを返す
+ * @param flgs フラグを保管する配列
+ * @return なし
  * @todo
- * xtra1.c¼þ¤ê¤È¿½Å¼ÂÁõ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤ò²¿¤È¤«¤¹¤ë
+ * xtra1.c周りと多重実装になっているのを何とかする
  */
 static void player_vuln_flags(u32b flgs[TR_FLAG_SIZE])
 {
@@ -3059,15 +2944,15 @@ typedef struct {
 
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤ÎÆÃÀ­¥Õ¥é¥°°ì¼ï¤òɽ¼¨¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó /
+ * @brief プレイヤーの特性フラグ一種を表示するサブルーチン /
  * Helper function, see below
- * @param row ¥³¥ó¥½¡¼¥ëɽ¼¨°ÌÃ֤κ¸¾å¹Ô
- * @param col ¥³¥ó¥½¡¼¥ëɽ¼¨°ÌÃ֤κ¸¾åÎó
- * @param header ¥³¥ó¥½¡¼¥ë¾å¤Çɽ¼¨¤¹¤ëÆÃÀ­Ì¾
- * @param flag1 »²¾È¤¹¤ëÆÃÀ­ID
- * @param f ¥×¥ì¥¤¥ä¡¼¤ÎÆÃÀ­¾ðÊó¹½Â¤ÂÎ
- * @param mode É½¼¨¥ª¥×¥·¥ç¥ó
- * @return ¤Ê¤·
+ * @param row コンソール表示位置の左上行
+ * @param col コンソール表示位置の左上列
+ * @param header コンソール上で表示する特性名
+ * @param flag1 参照する特性ID
+ * @param f プレイヤーの特性情報構造体
+ * @param mode 表示オプション
+ * @return なし
  */
 static void display_flag_aux(int row, int col, cptr header,
                                    int flag1, all_player_flags *f, u16b mode)
@@ -3202,9 +3087,9 @@ static void display_flag_aux(int row, int col, cptr header,
 
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤ÎÆÃÀ­¥Õ¥é¥°°ìÍ÷ɽ¼¨£± /
+ * @brief プレイヤーの特性フラグ一覧表示1 /
  * Special display, part 1
- * @return ¤Ê¤·
+ * @return なし
  */
 static void display_player_flag_info(void)
 {
@@ -3230,20 +3115,20 @@ static void display_player_flag_info(void)
        c_put_str(TERM_WHITE, "abcdefghijkl@", row-1, col+8);
 
 #ifdef JP
-display_flag_aux(row+0, col, "ÂÑ»À  :", TR_RES_ACID, &f, 0);
-display_flag_aux(row+0, col, "ÂÑ»À  :", TR_IM_ACID, &f, DP_IMM);
-display_flag_aux(row+1, col, "ÂÑÅÅ·â:", TR_RES_ELEC, &f, 0);
-display_flag_aux(row+1, col, "ÂÑÅÅ·â:", TR_IM_ELEC, &f, DP_IMM);
-display_flag_aux(row+2, col, "ÂѲбê:", TR_RES_FIRE, &f, 0);
-display_flag_aux(row+2, col, "ÂѲбê:", TR_IM_FIRE, &f, DP_IMM);
-display_flag_aux(row+3, col, "ÂÑÎ䵤:", TR_RES_COLD, &f, 0);
-display_flag_aux(row+3, col, "ÂÑÎ䵤:", TR_IM_COLD, &f, DP_IMM);
-display_flag_aux(row+4, col, "ÂÑÆÇ  :", TR_RES_POIS, &f, 0);
-display_flag_aux(row+5, col, "ÂÑÁ®¸÷:", TR_RES_LITE, &f, 0);
-display_flag_aux(row+6, col, "ÂѰŹõ:", TR_RES_DARK, &f, 0);
-display_flag_aux(row+7, col, "ÂÑÇËÊÒ:", TR_RES_SHARDS, &f, 0);
-display_flag_aux(row+8, col, "ÂÑÌÕÌÜ:", TR_RES_BLIND, &f, 0);
-display_flag_aux(row+9, col, "ÂѺ®Íð:", TR_RES_CONF, &f, 0);
+display_flag_aux(row+0, col, "耐酸  :", TR_RES_ACID, &f, 0);
+display_flag_aux(row+0, col, "耐酸  :", TR_IM_ACID, &f, DP_IMM);
+display_flag_aux(row+1, col, "耐電撃:", TR_RES_ELEC, &f, 0);
+display_flag_aux(row+1, col, "耐電撃:", TR_IM_ELEC, &f, DP_IMM);
+display_flag_aux(row+2, col, "耐火炎:", TR_RES_FIRE, &f, 0);
+display_flag_aux(row+2, col, "耐火炎:", TR_IM_FIRE, &f, DP_IMM);
+display_flag_aux(row+3, col, "耐冷気:", TR_RES_COLD, &f, 0);
+display_flag_aux(row+3, col, "耐冷気:", TR_IM_COLD, &f, DP_IMM);
+display_flag_aux(row+4, col, "耐毒  :", TR_RES_POIS, &f, 0);
+display_flag_aux(row+5, col, "耐閃光:", TR_RES_LITE, &f, 0);
+display_flag_aux(row+6, col, "耐暗黒:", TR_RES_DARK, &f, 0);
+display_flag_aux(row+7, col, "耐破片:", TR_RES_SHARDS, &f, 0);
+display_flag_aux(row+8, col, "耐盲目:", TR_RES_BLIND, &f, 0);
+display_flag_aux(row+9, col, "耐混乱:", TR_RES_CONF, &f, 0);
 #else
        display_flag_aux(row+0, col, "Acid  :", TR_RES_ACID, &f, 0);
        display_flag_aux(row+0, col, "Acid  :", TR_IM_ACID, &f, DP_IMM);
@@ -3272,16 +3157,16 @@ display_flag_aux(row+9, col, "
        c_put_str(TERM_WHITE, "abcdefghijkl@", row-1, col+8);
 
 #ifdef JP
-display_flag_aux(row+0, col, "Âѹ첻:", TR_RES_SOUND, &f, 0);
-display_flag_aux(row+1, col, "ÂÑÃϹö:", TR_RES_NETHER, &f, 0);
-display_flag_aux(row+2, col, "ÂÑ°øº®:", TR_RES_NEXUS, &f, 0);
-display_flag_aux(row+3, col, "ÂÑ¥«¥ª:", TR_RES_CHAOS, &f, 0);
-display_flag_aux(row+4, col, "ÂÑÎô²½:", TR_RES_DISEN, &f, 0);
-display_flag_aux(row+5, col, "ÂѶ²ÉÝ:", TR_RES_FEAR, &f, 0);
-display_flag_aux(row+6, col, "È¿¼Í  :", TR_REFLECT, &f, 0);
-display_flag_aux(row+7, col, "²Ð±ê¥ª:", TR_SH_FIRE, &f, 0);
-display_flag_aux(row+8, col, "Åŵ¤¥ª:", TR_SH_ELEC, &f, 0);
-display_flag_aux(row+9, col, "Î䵤¥ª:", TR_SH_COLD, &f, 0);
+display_flag_aux(row+0, col, "耐轟音:", TR_RES_SOUND, &f, 0);
+display_flag_aux(row+1, col, "耐地獄:", TR_RES_NETHER, &f, 0);
+display_flag_aux(row+2, col, "耐因混:", TR_RES_NEXUS, &f, 0);
+display_flag_aux(row+3, col, "è\80\90ã\82«ã\82ª:", TR_RES_CHAOS, &f, 0);
+display_flag_aux(row+4, col, "耐劣化:", TR_RES_DISEN, &f, 0);
+display_flag_aux(row+5, col, "耐恐怖:", TR_RES_FEAR, &f, 0);
+display_flag_aux(row+6, col, "反射  :", TR_REFLECT, &f, 0);
+display_flag_aux(row+7, col, "ç\81«ç\82\8eã\82ª:", TR_SH_FIRE, &f, 0);
+display_flag_aux(row+8, col, "é\9b»æ°\97ã\82ª:", TR_SH_ELEC, &f, 0);
+display_flag_aux(row+9, col, "å\86·æ°\97ã\82ª:", TR_SH_COLD, &f, 0);
 #else
        display_flag_aux(row+0, col, "Sound :", TR_RES_SOUND, &f, 0);
        display_flag_aux(row+1, col, "Nether:", TR_RES_NETHER, &f, 0);
@@ -3306,21 +3191,21 @@ display_flag_aux(row+9, col, "
        c_put_str(TERM_WHITE, "abcdefghijkl@", row-1, col+12);
 
 #ifdef JP
-display_flag_aux(row+0, col, "²Ã®      :", TR_SPEED, &f, 0);
-display_flag_aux(row+1, col, "ÂÑËãáã    :", TR_FREE_ACT, &f, 0);
-display_flag_aux(row+2, col, "Æ©ÌÀÂλëǧ:", TR_SEE_INVIS, &f, 0);
-display_flag_aux(row+3, col, "·Ð¸³ÃÍÊÝ»ý:", TR_HOLD_LIFE, &f, 0);
-display_flag_aux(row+4, col, "·Ù¹ð      :", TR_WARNING, &f, 0);
-display_flag_aux(row+5, col, "Ãپò½    :", TR_SLOW_DIGEST, &f, 0);
-display_flag_aux(row+6, col, "µÞ²óÉü    :", TR_REGEN, &f, 0);
-display_flag_aux(row+7, col, "ÉâÍ·      :", TR_LEVITATION, &f, 0);
-display_flag_aux(row+8, col, "±Ê±ó¸÷¸»  :", TR_LITE_1, &f, 0);
-display_flag_aux(row+9, col, "¼ö¤¤      :", 0, &f, DP_CURSE);
+display_flag_aux(row+0, col, "加速      :", TR_SPEED, &f, 0);
+display_flag_aux(row+1, col, "耐麻痺    :", TR_FREE_ACT, &f, 0);
+display_flag_aux(row+2, col, "透明体視認:", TR_SEE_INVIS, &f, 0);
+display_flag_aux(row+3, col, "経験値保持:", TR_HOLD_EXP, &f, 0);
+display_flag_aux(row+4, col, "警告      :", TR_WARNING, &f, 0);
+display_flag_aux(row+5, col, "遅消化    :", TR_SLOW_DIGEST, &f, 0);
+display_flag_aux(row+6, col, "急回復    :", TR_REGEN, &f, 0);
+display_flag_aux(row+7, col, "浮遊      :", TR_LEVITATION, &f, 0);
+display_flag_aux(row+8, col, "永遠光源  :", TR_LITE_1, &f, 0);
+display_flag_aux(row+9, col, "呪い      :", 0, &f, DP_CURSE);
 #else
        display_flag_aux(row+0, col, "Speed     :", TR_SPEED, &f, 0);
        display_flag_aux(row+1, col, "FreeAction:", TR_FREE_ACT, &f, 0);
        display_flag_aux(row+2, col, "SeeInvisi.:", TR_SEE_INVIS, &f, 0);
-       display_flag_aux(row+3, col, "Hold Life :", TR_HOLD_LIFE, &f, 0);
+       display_flag_aux(row+3, col, "Hold Exp :", TR_HOLD_EXP, &f, 0);
        display_flag_aux(row+4, col, "Warning   :", TR_WARNING, &f, 0);
        display_flag_aux(row+5, col, "SlowDigest:", TR_SLOW_DIGEST, &f, 0);
        display_flag_aux(row+6, col, "Regene.   :", TR_REGEN, &f, 0);
@@ -3333,9 +3218,9 @@ display_flag_aux(row+9, col, "
 
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤ÎÆÃÀ­¥Õ¥é¥°°ìÍ÷ɽ¼¨£² /
+ * @brief プレイヤーの特性フラグ一覧表示2 /
  * Special display, part 2
- * @return ¤Ê¤·
+ * @return なし
  */
 static void display_player_other_flag_info(void)
 {
@@ -3362,34 +3247,34 @@ static void display_player_other_flag_info(void)
        c_put_str(TERM_WHITE, "ab@", row-1, col+12);
 
 #ifdef JP
-       display_flag_aux(row+ 0, col, "¼Ù°­ ÇÜÂÇ :", TR_SLAY_EVIL, &f, DP_WP);
-       display_flag_aux(row+ 0, col, "¼Ù°­ ÇÜÂÇ :", TR_KILL_EVIL, &f, (DP_WP|DP_IMM));
-       display_flag_aux(row+ 1, col, "ÉÔ»à ÇÜÂÇ :", TR_SLAY_UNDEAD, &f, DP_WP);
-       display_flag_aux(row+ 1, col, "ÉÔ»à ÇÜÂÇ :", TR_KILL_UNDEAD, &f, (DP_WP|DP_IMM));
-       display_flag_aux(row+ 2, col, "°­Ëâ ÇÜÂÇ :", TR_SLAY_DEMON, &f, DP_WP);
-       display_flag_aux(row+ 2, col, "°­Ëâ ÇÜÂÇ :", TR_KILL_DEMON, &f, (DP_WP|DP_IMM));
-       display_flag_aux(row+ 3, col, "ζ ÇÜÂÇ   :", TR_SLAY_DRAGON, &f, DP_WP);
-       display_flag_aux(row+ 3, col, "ζ ÇÜÂÇ   :", TR_KILL_DRAGON, &f, (DP_WP|DP_IMM));
-       display_flag_aux(row+ 4, col, "¿Í´Ö ÇÜÂÇ :", TR_SLAY_HUMAN, &f, DP_WP);
-       display_flag_aux(row+ 4, col, "¿Í´Ö ÇÜÂÇ :", TR_KILL_HUMAN, &f, (DP_WP|DP_IMM));
-       display_flag_aux(row+ 5, col, "ưʪ ÇÜÂÇ :", TR_SLAY_ANIMAL, &f, DP_WP);
-       display_flag_aux(row+ 5, col, "ưʪ ÇÜÂÇ :", TR_KILL_ANIMAL, &f, (DP_WP|DP_IMM));
-       display_flag_aux(row+ 6, col, "¥ª¡¼¥¯ÇÜÂÇ:", TR_SLAY_ORC, &f, DP_WP);
-       display_flag_aux(row+ 6, col, "¥ª¡¼¥¯ÇÜÂÇ:", TR_KILL_ORC, &f, (DP_WP|DP_IMM));
-       display_flag_aux(row+ 7, col, "¥È¥í¥ëÇÜÂÇ:", TR_SLAY_TROLL, &f, DP_WP);
-       display_flag_aux(row+ 7, col, "¥È¥í¥ëÇÜÂÇ:", TR_KILL_TROLL, &f, (DP_WP|DP_IMM));
-       display_flag_aux(row+ 8, col, "µð¿Í ÇÜÂÇ :", TR_SLAY_GIANT, &f, DP_WP);
-       display_flag_aux(row+ 8, col, "µð¿Í ÇÜÂÇ :", TR_KILL_GIANT, &f, (DP_WP|DP_IMM));
-       display_flag_aux(row+ 9, col, "Íϲò      :", TR_BRAND_ACID, &f, DP_WP);
-       display_flag_aux(row+10, col, "ÅÅ·â      :", TR_BRAND_ELEC, &f, DP_WP);
-       display_flag_aux(row+11, col, "¾Æ´þ      :", TR_BRAND_FIRE, &f, DP_WP);
-       display_flag_aux(row+12, col, "Åà·ë      :", TR_BRAND_COLD, &f, DP_WP);
-       display_flag_aux(row+13, col, "ÆÇ»¦      :", TR_BRAND_POIS, &f, DP_WP);
-       display_flag_aux(row+14, col, "ÀÚ¤ìÌ£    :", TR_VORPAL, &f, DP_WP);
-       display_flag_aux(row+15, col, "ÃÏ¿Ì      :", TR_IMPACT, &f, DP_WP);
-       display_flag_aux(row+16, col, "µÛ·ì      :", TR_VAMPIRIC, &f, DP_WP);
-       display_flag_aux(row+17, col, "¥«¥ª¥¹¸ú²Ì:", TR_CHAOTIC, &f, DP_WP);
-       display_flag_aux(row+18, col, "ÍýÎÏ      :", TR_FORCE_WEAPON, &f, DP_WP);
+       display_flag_aux(row+ 0, col, "邪悪 倍打 :", TR_SLAY_EVIL, &f, DP_WP);
+       display_flag_aux(row+ 0, col, "邪悪 倍打 :", TR_KILL_EVIL, &f, (DP_WP|DP_IMM));
+       display_flag_aux(row+ 1, col, "不死 倍打 :", TR_SLAY_UNDEAD, &f, DP_WP);
+       display_flag_aux(row+ 1, col, "不死 倍打 :", TR_KILL_UNDEAD, &f, (DP_WP|DP_IMM));
+       display_flag_aux(row+ 2, col, "悪魔 倍打 :", TR_SLAY_DEMON, &f, DP_WP);
+       display_flag_aux(row+ 2, col, "悪魔 倍打 :", TR_KILL_DEMON, &f, (DP_WP|DP_IMM));
+       display_flag_aux(row+ 3, col, "龍 倍打   :", TR_SLAY_DRAGON, &f, DP_WP);
+       display_flag_aux(row+ 3, col, "龍 倍打   :", TR_KILL_DRAGON, &f, (DP_WP|DP_IMM));
+       display_flag_aux(row+ 4, col, "人間 倍打 :", TR_SLAY_HUMAN, &f, DP_WP);
+       display_flag_aux(row+ 4, col, "人間 倍打 :", TR_KILL_HUMAN, &f, (DP_WP|DP_IMM));
+       display_flag_aux(row+ 5, col, "動物 倍打 :", TR_SLAY_ANIMAL, &f, DP_WP);
+       display_flag_aux(row+ 5, col, "動物 倍打 :", TR_KILL_ANIMAL, &f, (DP_WP|DP_IMM));
+       display_flag_aux(row+ 6, col, "オーク倍打:", TR_SLAY_ORC, &f, DP_WP);
+       display_flag_aux(row+ 6, col, "オーク倍打:", TR_KILL_ORC, &f, (DP_WP|DP_IMM));
+       display_flag_aux(row+ 7, col, "トロル倍打:", TR_SLAY_TROLL, &f, DP_WP);
+       display_flag_aux(row+ 7, col, "トロル倍打:", TR_KILL_TROLL, &f, (DP_WP|DP_IMM));
+       display_flag_aux(row+ 8, col, "巨人 倍打 :", TR_SLAY_GIANT, &f, DP_WP);
+       display_flag_aux(row+ 8, col, "巨人 倍打 :", TR_KILL_GIANT, &f, (DP_WP|DP_IMM));
+       display_flag_aux(row+ 9, col, "溶解      :", TR_BRAND_ACID, &f, DP_WP);
+       display_flag_aux(row+10, col, "電撃      :", TR_BRAND_ELEC, &f, DP_WP);
+       display_flag_aux(row+11, col, "焼棄      :", TR_BRAND_FIRE, &f, DP_WP);
+       display_flag_aux(row+12, col, "凍結      :", TR_BRAND_COLD, &f, DP_WP);
+       display_flag_aux(row+13, col, "毒殺      :", TR_BRAND_POIS, &f, DP_WP);
+       display_flag_aux(row+14, col, "切れ味    :", TR_VORPAL, &f, DP_WP);
+       display_flag_aux(row+15, col, "地震      :", TR_IMPACT, &f, DP_WP);
+       display_flag_aux(row+16, col, "吸血      :", TR_VAMPIRIC, &f, DP_WP);
+       display_flag_aux(row+17, col, "カオス効果:", TR_CHAOTIC, &f, DP_WP);
+       display_flag_aux(row+18, col, "理力      :", TR_FORCE_WEAPON, &f, DP_WP);
 #else
        display_flag_aux(row+ 0, col, "Slay Evil :", TR_SLAY_EVIL, &f, DP_WP);
        display_flag_aux(row+ 0, col, "Slay Evil :", TR_KILL_EVIL, &f, (DP_WP|DP_IMM));
@@ -3431,25 +3316,25 @@ static void display_player_other_flag_info(void)
        c_put_str(TERM_WHITE, "abcdefghijkl@", row-1, col+13);
 
 #ifdef JP
-       display_flag_aux(row+ 0, col, "¥Æ¥ì¥Ñ¥·¡¼ :", TR_TELEPATHY, &f, 0);
-       display_flag_aux(row+ 1, col, "¼Ù°­ESP    :", TR_ESP_EVIL, &f, 0);
-       display_flag_aux(row+ 2, col, "̵À¸ÊªESP  :", TR_ESP_NONLIVING, &f, 0);
-       display_flag_aux(row+ 3, col, "Á±ÎÉESP    :", TR_ESP_GOOD, &f, 0);
-       display_flag_aux(row+ 4, col, "ÉÔ»àESP    :", TR_ESP_UNDEAD, &f, 0);
-       display_flag_aux(row+ 5, col, "°­ËâESP    :", TR_ESP_DEMON, &f, 0);
-       display_flag_aux(row+ 6, col, "ζESP      :", TR_ESP_DRAGON, &f, 0);
-       display_flag_aux(row+ 7, col, "¿Í´ÖESP    :", TR_ESP_HUMAN, &f, 0);
-       display_flag_aux(row+ 8, col, "ưʪESP    :", TR_ESP_ANIMAL, &f, 0);
-       display_flag_aux(row+ 9, col, "¥ª¡¼¥¯ESP  :", TR_ESP_ORC, &f, 0);
-       display_flag_aux(row+10, col, "¥È¥í¥ëESP  :", TR_ESP_TROLL, &f, 0);
-       display_flag_aux(row+11, col, "µð¿ÍESP    :", TR_ESP_GIANT, &f, 0);
-       display_flag_aux(row+12, col, "¥æ¥Ë¡¼¥¯ESP:", TR_ESP_UNIQUE, &f, 0);
-       display_flag_aux(row+13, col, "ÏÓÎÏ°Ý»ý   :", TR_SUST_STR, &f, 0);
-       display_flag_aux(row+14, col, "ÃÎÎÏ°Ý»ý   :", TR_SUST_INT, &f, 0);
-       display_flag_aux(row+15, col, "¸­¤µ°Ý»ý   :", TR_SUST_WIS, &f, 0);
-       display_flag_aux(row+16, col, "´ïÍÑ°Ý»ý   :", TR_SUST_DEX, &f, 0);
-       display_flag_aux(row+17, col, "Âѵװݻý   :", TR_SUST_CON, &f, 0);
-       display_flag_aux(row+18, col, "Ì¥ÎÏ°Ý»ý   :", TR_SUST_CHR, &f, 0);
+       display_flag_aux(row+ 0, col, "ã\83\86ã\83¬ã\83\91ã\82·ã\83¼ :", TR_TELEPATHY, &f, 0);
+       display_flag_aux(row+ 1, col, "邪悪ESP    :", TR_ESP_EVIL, &f, 0);
+       display_flag_aux(row+ 2, col, "無生物ESP  :", TR_ESP_NONLIVING, &f, 0);
+       display_flag_aux(row+ 3, col, "善良ESP    :", TR_ESP_GOOD, &f, 0);
+       display_flag_aux(row+ 4, col, "不死ESP    :", TR_ESP_UNDEAD, &f, 0);
+       display_flag_aux(row+ 5, col, "悪魔ESP    :", TR_ESP_DEMON, &f, 0);
+       display_flag_aux(row+ 6, col, "ESP      :", TR_ESP_DRAGON, &f, 0);
+       display_flag_aux(row+ 7, col, "人間ESP    :", TR_ESP_HUMAN, &f, 0);
+       display_flag_aux(row+ 8, col, "動物ESP    :", TR_ESP_ANIMAL, &f, 0);
+       display_flag_aux(row+ 9, col, "ã\82ªã\83¼ã\82¯ESP  :", TR_ESP_ORC, &f, 0);
+       display_flag_aux(row+10, col, "トロルESP  :", TR_ESP_TROLL, &f, 0);
+       display_flag_aux(row+11, col, "巨人ESP    :", TR_ESP_GIANT, &f, 0);
+       display_flag_aux(row+12, col, "ã\83¦ã\83\8bã\83¼ã\82¯ESP:", TR_ESP_UNIQUE, &f, 0);
+       display_flag_aux(row+13, col, "腕力維持   :", TR_SUST_STR, &f, 0);
+       display_flag_aux(row+14, col, "知力維持   :", TR_SUST_INT, &f, 0);
+       display_flag_aux(row+15, col, "賢さ維持   :", TR_SUST_WIS, &f, 0);
+       display_flag_aux(row+16, col, "器用維持   :", TR_SUST_DEX, &f, 0);
+       display_flag_aux(row+17, col, "耐久維持   :", TR_SUST_CON, &f, 0);
+       display_flag_aux(row+18, col, "魅力維持   :", TR_SUST_CHR, &f, 0);
 #else
        display_flag_aux(row+ 0, col, "Telepathy  :", TR_TELEPATHY, &f, 0);
        display_flag_aux(row+ 1, col, "ESP Evil   :", TR_ESP_EVIL, &f, 0);
@@ -3483,24 +3368,24 @@ static void display_player_other_flag_info(void)
        c_put_str(TERM_WHITE, "abcdefghijkl@", row-1, col+14);
 
 #ifdef JP
-       display_flag_aux(row+ 0, col, "Äɲù¶·â    :", TR_BLOWS, &f, 0);
-       display_flag_aux(row+ 1, col, "ºÎ·¡        :", TR_TUNNEL, &f, 0);
-       display_flag_aux(row+ 2, col, "ÀÖ³°Àþ»ëÎÏ  :", TR_INFRA, &f, 0);
-       display_flag_aux(row+ 3, col, "ËâË¡Æ»¶ñ»ÙÇÛ:", TR_MAGIC_MASTERY, &f, 0);
-       display_flag_aux(row+ 4, col, "±£Ì©        :", TR_STEALTH, &f, 0);
-       display_flag_aux(row+ 5, col, "õº÷        :", TR_SEARCH, &f, 0);
-
-       display_flag_aux(row+ 7, col, "¾èÇÏ        :", TR_RIDING, &f, 0);
-       display_flag_aux(row+ 8, col, "ÅêÚ³        :", TR_THROW, &f, 0);
-       display_flag_aux(row+ 9, col, "½ËÊ¡        :", TR_BLESSED, &f, 0);
-       display_flag_aux(row+10, col, "È¿¥Æ¥ì¥Ý¡¼¥È:", TR_NO_TELE, &f, 0);
-       display_flag_aux(row+11, col, "È¿ËâË¡      :", TR_NO_MAGIC, &f, 0);
-       display_flag_aux(row+12, col, "¾ÃÈñËâÎϸº¾¯:", TR_DEC_MANA, &f, 0);
-
-       display_flag_aux(row+14, col, "·Ð¸³Ã͸º¾¯  :", TR_DRAIN_EXP, &f, 0);
-       display_flag_aux(row+15, col, "Íð¥Æ¥ì¥Ý¡¼¥È:", TR_TELEPORT, &f, 0);
-       display_flag_aux(row+16, col, "È¿´¶        :", TR_AGGRAVATE, &f, 0);
-       display_flag_aux(row+17, col, "ÂÀ¸Å¤Î±åÇ°  :", TR_TY_CURSE, &f, 0);
+       display_flag_aux(row+ 0, col, "追加攻撃    :", TR_BLOWS, &f, 0);
+       display_flag_aux(row+ 1, col, "採掘        :", TR_TUNNEL, &f, 0);
+       display_flag_aux(row+ 2, col, "赤外線視力  :", TR_INFRA, &f, 0);
+       display_flag_aux(row+ 3, col, "魔法道具支配:", TR_MAGIC_MASTERY, &f, 0);
+       display_flag_aux(row+ 4, col, "隠密        :", TR_STEALTH, &f, 0);
+       display_flag_aux(row+ 5, col, "探索        :", TR_SEARCH, &f, 0);
+
+       display_flag_aux(row+ 7, col, "乗馬        :", TR_RIDING, &f, 0);
+       display_flag_aux(row+ 8, col, "投擲        :", TR_THROW, &f, 0);
+       display_flag_aux(row+ 9, col, "祝福        :", TR_BLESSED, &f, 0);
+       display_flag_aux(row+10, col, "反テレポート:", TR_NO_TELE, &f, 0);
+       display_flag_aux(row+11, col, "反魔法      :", TR_NO_MAGIC, &f, 0);
+       display_flag_aux(row+12, col, "消費魔力減少:", TR_DEC_MANA, &f, 0);
+
+       display_flag_aux(row+14, col, "経験値減少  :", TR_DRAIN_EXP, &f, 0);
+       display_flag_aux(row+15, col, "乱テレポート:", TR_TELEPORT, &f, 0);
+       display_flag_aux(row+16, col, "反感        :", TR_AGGRAVATE, &f, 0);
+       display_flag_aux(row+17, col, "太古の怨念  :", TR_TY_CURSE, &f, 0);
 #else
        display_flag_aux(row+ 0, col, "Add Blows   :", TR_BLOWS, &f, 0);
        display_flag_aux(row+ 1, col, "Add Tunnel  :", TR_TUNNEL, &f, 0);
@@ -3526,9 +3411,9 @@ static void display_player_other_flag_info(void)
 
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤ÎÆÃÀ­¥Õ¥é¥°°ìÍ÷ɽ¼¨£²a /
+ * @brief プレイヤーの特性フラグ一覧表示2a /
  * Special display, part 2a
- * @return ¤Ê¤·
+ * @return なし
  */
 static void display_player_misc_info(void)
 {
@@ -3537,10 +3422,10 @@ static void display_player_misc_info(void)
 
        /* Display basics */
 #ifdef JP
-put_str("̾Á°  :", 1, 26);
-put_str("À­ÊÌ  :", 3, 1);
-put_str("¼ï²  :", 4, 1);
-put_str("¿¦¶È  :", 5, 1);
+put_str("名前  :", 1, 26);
+put_str("性別  :", 3, 1);
+put_str("種族  :", 4, 1);
+put_str("職業  :", 5, 1);
 #else
        put_str("Name  :", 1, 26);
        put_str("Sex   :", 3, 1);
@@ -3551,11 +3436,11 @@ put_str("
        strcpy(tmp,ap_ptr->title);
 #ifdef JP
        if(ap_ptr->no == 1)
-               strcat(tmp,"¤Î");
+               strcat(tmp,"");
 #else
                strcat(tmp," ");
 #endif
-       strcat(tmp,player_name);
+       strcat(tmp,p_ptr->name);
 
        c_put_str(TERM_L_BLUE, tmp, 1, 34);
        c_put_str(TERM_L_BLUE, sp_ptr->title, 3, 9);
@@ -3564,9 +3449,9 @@ put_str("
 
        /* Display extras */
 #ifdef JP
-put_str("¥ì¥Ù¥ë:", 6, 1);
-put_str("£È£Ð  :", 7, 1);
-put_str("£Í£Ð  :", 8, 1);
+put_str("レベル:", 6, 1);
+put_str("HP  :", 7, 1);
+put_str("MP  :", 8, 1);
 #else
        put_str("Level :", 6, 1);
        put_str("Hits  :", 7, 1);
@@ -3584,9 +3469,9 @@ put_str("
 
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤ÎÆÃÀ­¥Õ¥é¥°°ìÍ÷ɽ¼¨£²b /
+ * @brief プレイヤーの特性フラグ一覧表示2b /
  * Special display, part 2b
- * @return ¤Ê¤·
+ * @return なし
  * @details
  * <pre>
  * How to print out the modifications and sustains.
@@ -3621,11 +3506,11 @@ static void display_player_stat_info(void)
 
        /* Print out the labels for the columns */
 #ifdef JP
-c_put_str(TERM_WHITE, "ǽÎÏ", row, stat_col+1);
-c_put_str(TERM_BLUE, "  ´ðËÜ", row, stat_col+7);
-c_put_str(TERM_L_BLUE, " ¼ï ¿¦ À­ Áõ ", row, stat_col+13);
-c_put_str(TERM_L_GREEN, "¹ç·×", row, stat_col+28);
-c_put_str(TERM_YELLOW, "¸½ºß", row, stat_col+35);
+c_put_str(TERM_WHITE, "能力", row, stat_col+1);
+c_put_str(TERM_BLUE, "  基本", row, stat_col+7);
+c_put_str(TERM_L_BLUE, " 種 職 性 装 ", row, stat_col+13);
+c_put_str(TERM_L_GREEN, "合計", row, stat_col+28);
+c_put_str(TERM_YELLOW, "現在", row, stat_col+35);
 #else
        c_put_str(TERM_WHITE, "Stat", row, stat_col+1);
        c_put_str(TERM_BLUE, "  Base", row, stat_col+7);
@@ -3691,11 +3576,7 @@ c_put_str(TERM_YELLOW, "
                cnv_stat(p_ptr->stat_max[i], buf);
                if (p_ptr->stat_max[i] == p_ptr->stat_max_max[i])
                {
-#ifdef JP
-                       c_put_str(TERM_WHITE, "!", row + i+1, stat_col + 6);
-#else
-                       c_put_str(TERM_WHITE, "!", row + i+1, stat_col + 4);
-#endif
+                       c_put_str(TERM_WHITE, "!", row + i+1, _(stat_col + 6, stat_col + 4));
                }
                c_put_str(TERM_BLUE, buf, row + i+1, stat_col + 13 - strlen(buf));
 
@@ -3726,12 +3607,7 @@ c_put_str(TERM_YELLOW, "
 
        /* Header and Footer */
        c_put_str(TERM_WHITE, "abcdefghijkl@", row, col);
-#ifdef JP
-c_put_str(TERM_L_GREEN, "ǽÎϽ¤Àµ", row - 1, col);
-#else
-       c_put_str(TERM_L_GREEN, "Modification", row - 1, col);
-#endif
-
+       c_put_str(TERM_L_GREEN, _("能力修正", "Modification"), row - 1, col);
 
        /* Process equipment */
        for (i = INVEN_RARM; i < INVEN_TOTAL; i++)
@@ -3893,10 +3769,10 @@ c_put_str(TERM_L_GREEN, "ǽ
 
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤Î¥¹¥Æ¡¼¥¿¥¹É½¼¨¥á¥¤¥ó½èÍý
+ * @brief プレイヤーのステータス表示メイン処理
  * Display the character on the screen (various modes)
- * @param É½¼¨¥â¡¼¥ÉID
- * @return ¤Ê¤·
+ * @param mode 表示モードID
+ * @return なし
  * @details
  * <pre>
  * The top one and bottom two lines are left blank.
@@ -3907,7 +3783,7 @@ c_put_str(TERM_L_GREEN, "ǽ
  * Mode 4 = mutations
  * </pre>
  */
-void display_player(int mode)
+void display_player(BIT_FLAGS mode)
 {
        int i;
 
@@ -3929,9 +3805,9 @@ void display_player(int mode)
        {
                /* Name, Sex, Race, Class */
 #ifdef JP
-               sprintf(tmp, "%s%s%s", ap_ptr->title, ap_ptr->no == 1 ? "¤Î":"", player_name);
+               sprintf(tmp, "%s%s%s", ap_ptr->title, ap_ptr->no == 1 ? "の":"", p_ptr->name);
 #else
-               sprintf(tmp, "%s %s", ap_ptr->title, player_name);
+               sprintf(tmp, "%s %s", ap_ptr->title, p_ptr->name);
 #endif
 
                display_player_one_line(ENTRY_NAME, tmp, TERM_L_BLUE);
@@ -3952,9 +3828,9 @@ void display_player(int mode)
                        display_player_one_line(ENTRY_PATRON, chaos_patrons[p_ptr->chaos_patron], TERM_L_BLUE);
 
                /* Age, Height, Weight, Social */
-               /* ¿ÈĹ¤Ï¥»¥ó¥Á¥á¡¼¥È¥ë¤Ë¡¢ÂνŤϥ­¥í¥°¥é¥à¤ËÊѹ¹¤·¤Æ¤¢¤ê¤Þ¤¹ */
+               /* 身長はセンチメートルに、体重はキログラムに変更してあります */
 #ifdef JP
-               display_player_one_line(ENTRY_AGE, format("%dºÍ" ,(int)p_ptr->age), TERM_L_BLUE);
+               display_player_one_line(ENTRY_AGE, format("%d" ,(int)p_ptr->age), TERM_L_BLUE);
                display_player_one_line(ENTRY_HEIGHT, format("%dcm" ,(int)((p_ptr->ht*254)/100)), TERM_L_BLUE);
                display_player_one_line(ENTRY_WEIGHT, format("%dkg" ,(int)((p_ptr->wt*4536)/10000)), TERM_L_BLUE);
                display_player_one_line(ENTRY_SOCIAL, format("%d  " ,(int)p_ptr->sc), TERM_L_BLUE);
@@ -4012,11 +3888,7 @@ void display_player(int mode)
 
                        if (p_ptr->stat_max[i] == p_ptr->stat_max_max[i])
                        {
-#ifdef JP
-                               c_put_str(TERM_WHITE, "!", 3 + i, 58);
-#else
-                               c_put_str(TERM_WHITE, "!", 3 + i, 58-2);
-#endif
+                               c_put_str(TERM_WHITE, "!", 3 + i, _(58, 58-2));
                        }
                }
 
@@ -4024,12 +3896,7 @@ void display_player(int mode)
                if (mode == 1)
                {
                        char statmsg[1000];
-
-#ifdef JP
-                       put_str("(¥­¥ã¥é¥¯¥¿¡¼¤ÎÀ¸¤¤Î©¤Á)", 11, 25);
-#else
-                       put_str("(Character Background)", 11, 25);
-#endif
+                       put_str(_("(キャラクターの生い立ち)", "(Character Background)"), 11, 25);
 
                        for (i = 0; i < 4; i++)
                        {
@@ -4043,7 +3910,7 @@ void display_player(int mode)
                                if (p_ptr->total_winner)
                                {
 #ifdef JP
-                                       sprintf(statmsg, "¡Ä¤¢¤Ê¤¿¤Ï¾¡Íø¤Î¸å%s¤·¤¿¡£", streq(p_ptr->died_from, "Seppuku") ? "ÀÚÊ¢" : "°úÂà");
+                                       sprintf(statmsg, "…あなたは勝利の後%sした。", streq(p_ptr->died_from, "Seppuku") ? "切腹" : "引退");
 #else
                                        sprintf(statmsg, "...You %s after the winning.", streq(p_ptr->died_from, "Seppuku") ? "did Seppuku" : "retired from the adventure");
 #endif
@@ -4051,7 +3918,7 @@ void display_player(int mode)
                                else if (!dun_level)
                                {
 #ifdef JP
-                                       sprintf(statmsg, "¡Ä¤¢¤Ê¤¿¤Ï%s¤Ç%s¤Ë»¦¤µ¤ì¤¿¡£", map_name(), p_ptr->died_from);
+                                       sprintf(statmsg, "…あなたは%sで%sに殺された。", map_name(), p_ptr->died_from);
 #else
                                        sprintf(statmsg, "...You were killed by %s in %s.", p_ptr->died_from, map_name());
 #endif
@@ -4065,7 +3932,7 @@ void display_player(int mode)
                                        process_dungeon_file("q_info.txt", 0, 0, 0, 0);
 
 #ifdef JP
-                                       sprintf(statmsg, "¡Ä¤¢¤Ê¤¿¤Ï¡¢¥¯¥¨¥¹¥È¡Ö%s¡×¤Ç%s¤Ë»¦¤µ¤ì¤¿¡£", quest[p_ptr->inside_quest].name, p_ptr->died_from);
+                                       sprintf(statmsg, "…あなたは、クエスト「%s」で%sに殺された。", quest[p_ptr->inside_quest].name, p_ptr->died_from);
 #else
                                        sprintf(statmsg, "...You were killed by %s in the quest '%s'.", p_ptr->died_from, quest[p_ptr->inside_quest].name);
 #endif
@@ -4073,7 +3940,7 @@ void display_player(int mode)
                                else
                                {
 #ifdef JP
-                                       sprintf(statmsg, "¡Ä¤¢¤Ê¤¿¤Ï¡¢%s¤Î%d³¬¤Ç%s¤Ë»¦¤µ¤ì¤¿¡£", map_name(), dun_level, p_ptr->died_from);
+                                       sprintf(statmsg, "…あなたは、%sの%d階で%sに殺された。", map_name(), (int)dun_level, p_ptr->died_from);
 #else
                                        sprintf(statmsg, "...You were killed by %s on level %d of %s.", p_ptr->died_from, dun_level, map_name());
 #endif
@@ -4083,11 +3950,7 @@ void display_player(int mode)
                        {
                                if (!dun_level)
                                {
-#ifdef JP
-                                       sprintf(statmsg, "¡Ä¤¢¤Ê¤¿¤Ï¸½ºß¡¢ %s ¤Ë¤¤¤ë¡£", map_name());
-#else
-                                       sprintf(statmsg, "...Now, you are in %s.", map_name());
-#endif
+                                       sprintf(statmsg, _("…あなたは現在、 %s にいる。", "...Now, you are in %s."), map_name());
                                }
                                else if (p_ptr->inside_quest && is_fixed_quest_idx(p_ptr->inside_quest))
                                {
@@ -4104,16 +3967,12 @@ void display_player(int mode)
 
                                        process_dungeon_file("q_info.txt", 0, 0, 0, 0);
 
-#ifdef JP
-                                       sprintf(statmsg, "¡Ä¤¢¤Ê¤¿¤Ï¸½ºß¡¢ ¥¯¥¨¥¹¥È¡Ö%s¡×¤ò¿ë¹ÔÃæ¤À¡£", quest[p_ptr->inside_quest].name);
-#else
-                                       sprintf(statmsg, "...Now, you are in the quest '%s'.", quest[p_ptr->inside_quest].name);
-#endif
+                                       sprintf(statmsg, _("…あなたは現在、 クエスト「%s」を遂行中だ。", "...Now, you are in the quest '%s'."), quest[p_ptr->inside_quest].name);
                                }
                                else
                                {
 #ifdef JP
-                                       sprintf(statmsg, "¡Ä¤¢¤Ê¤¿¤Ï¸½ºß¡¢ %s ¤Î %d ³¬¤Çõº÷¤·¤Æ¤¤¤ë¡£", map_name(), dun_level);
+                                       sprintf(statmsg, "…あなたは現在、 %s の %d 階で探索している。", map_name(), (int)dun_level);
 #else
                                        sprintf(statmsg, "...Now, you are exploring level %d of %s.", dun_level, map_name());
 #endif
@@ -4171,9 +4030,9 @@ void display_player(int mode)
 }
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤Î¥¹¥Æ¡¼¥¿¥¹É½¼¨¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief プレイヤーのステータス表示をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_display_player(FILE *fff)
 {
@@ -4205,12 +4064,7 @@ static void dump_aux_display_player(FILE *fff)
                while ((x > 0) && (buf[x-1] == ' ')) buf[--x] = '\0';
 
                /* End the row */
-#ifdef JP
-               fprintf(fff, "%s\n", buf);
-#else
-               fprintf(fff, "%s\n", buf);
-#endif
-
+               fprintf(fff, _("%s\n", "%s\n"), buf);
        }
 
        /* Display history */
@@ -4306,9 +4160,9 @@ static void dump_aux_display_player(FILE *fff)
 
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤Î¥Ú¥Ã¥È¾ðÊó¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief プレイヤーのペット情報をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_pet(FILE *fff)
 {
@@ -4327,11 +4181,7 @@ static void dump_aux_pet(FILE *fff)
                if (!m_ptr->nickname && (p_ptr->riding != i)) continue;
                if (!pet)
                {
-#ifdef JP
-                       fprintf(fff, "\n\n  [¼ç¤Ê¥Ú¥Ã¥È]\n\n");
-#else
-                       fprintf(fff, "\n\n  [Leading Pets]\n\n");
-#endif
+                       fprintf(fff, _("\n\n  [主なペット]\n\n", "\n\n  [Leading Pets]\n\n"));
                        pet = TRUE;
                }
                monster_desc(pet_name, m_ptr, MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE);
@@ -4340,47 +4190,25 @@ static void dump_aux_pet(FILE *fff)
 
        if (pet_settings)
        {
-#ifdef JP
-               fprintf(fff, "\n\n  [¥Ú¥Ã¥È¤Ø¤ÎÌ¿Îá]\n");
-#else
-               fprintf(fff, "\n\n  [Command for Pets]\n");
-#endif
+               fprintf(fff, _("\n\n  [ペットへの命令]\n", "\n\n  [Command for Pets]\n"));
 
-#ifdef JP
-               fprintf(fff, "\n ¥É¥¢¤ò³«¤±¤ë:                       %s", (p_ptr->pet_extra_flags & PF_OPEN_DOORS) ? "ON" : "OFF");
-#else
-               fprintf(fff, "\n Pets open doors:                    %s", (p_ptr->pet_extra_flags & PF_OPEN_DOORS) ? "ON" : "OFF");
-#endif
+               fprintf(fff, _("\n ドアを開ける:                       %s", "\n Pets open doors:                    %s"), 
+                                       (p_ptr->pet_extra_flags & PF_OPEN_DOORS) ? "ON" : "OFF");
 
-#ifdef JP
-               fprintf(fff, "\n ¥¢¥¤¥Æ¥à¤ò½¦¤¦:                     %s", (p_ptr->pet_extra_flags & PF_PICKUP_ITEMS) ? "ON" : "OFF");
-#else
-               fprintf(fff, "\n Pets pick up items:                 %s", (p_ptr->pet_extra_flags & PF_PICKUP_ITEMS) ? "ON" : "OFF");
-#endif
+               fprintf(fff, _("\n アイテムを拾う:                     %s", "\n Pets pick up items:                 %s"),
+                                       (p_ptr->pet_extra_flags & PF_PICKUP_ITEMS) ? "ON" : "OFF");
 
-#ifdef JP
-               fprintf(fff, "\n ¥Æ¥ì¥Ý¡¼¥È·ÏËâË¡¤ò»È¤¦:             %s", (p_ptr->pet_extra_flags & PF_TELEPORT) ? "ON" : "OFF");
-#else
-               fprintf(fff, "\n Allow teleport:                     %s", (p_ptr->pet_extra_flags & PF_TELEPORT) ? "ON" : "OFF");
-#endif
+               fprintf(fff, _("\n テレポート系魔法を使う:             %s", "\n Allow teleport:                     %s"),
+                                       (p_ptr->pet_extra_flags & PF_TELEPORT) ? "ON" : "OFF");
 
-#ifdef JP
-               fprintf(fff, "\n ¹¶·âËâË¡¤ò»È¤¦:                     %s", (p_ptr->pet_extra_flags & PF_ATTACK_SPELL) ? "ON" : "OFF");
-#else
-               fprintf(fff, "\n Allow cast attack spell:            %s", (p_ptr->pet_extra_flags & PF_ATTACK_SPELL) ? "ON" : "OFF");
-#endif
+               fprintf(fff, _("\n 攻撃魔法を使う:                     %s", "\n Allow cast attack spell:            %s"),
+                                       (p_ptr->pet_extra_flags & PF_ATTACK_SPELL) ? "ON" : "OFF");
 
-#ifdef JP
-               fprintf(fff, "\n ¾¤´­ËâË¡¤ò»È¤¦:                     %s", (p_ptr->pet_extra_flags & PF_SUMMON_SPELL) ? "ON" : "OFF");
-#else
-               fprintf(fff, "\n Allow cast summon spell:            %s", (p_ptr->pet_extra_flags & PF_SUMMON_SPELL) ? "ON" : "OFF");
-#endif
+               fprintf(fff, _("\n 召喚魔法を使う:                     %s", "\n Allow cast summon spell:            %s"),
+                                       (p_ptr->pet_extra_flags & PF_SUMMON_SPELL) ? "ON" : "OFF");
 
-#ifdef JP
-               fprintf(fff, "\n ¥×¥ì¥¤¥ä¡¼¤ò´¬¤­¹þ¤àÈÏ°ÏËâË¡¤ò»È¤¦: %s", (p_ptr->pet_extra_flags & PF_BALL_SPELL) ? "ON" : "OFF");
-#else
-               fprintf(fff, "\n Allow involve player in area spell: %s", (p_ptr->pet_extra_flags & PF_BALL_SPELL) ? "ON" : "OFF");
-#endif
+               fprintf(fff, _("\n プレイヤーを巻き込む範囲魔法を使う: %s", "\n Allow involve player in area spell: %s"),
+                                       (p_ptr->pet_extra_flags & PF_BALL_SPELL) ? "ON" : "OFF");
 
                fputc('\n', fff);
        }
@@ -4388,9 +4216,9 @@ static void dump_aux_pet(FILE *fff)
 
 
 /*!
- * @brief ¥×¥ì¥¤¥ä¡¼¤Î¿¦¶ÈǽÎϾðÊó¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief プレイヤーの職業能力情報をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_class_special(FILE *fff)
 {
@@ -4409,12 +4237,7 @@ static void dump_aux_class_special(FILE *fff)
 
                for (i=0;i<60;i++) { p[i][0] = '\0'; }
 
-#ifdef JP
-               strcat(p[col], "\n\n  [³Ø½¬ºÑ¤ß¤ÎÀÄËâË¡]\n");
-#else
-               strcat(p[col], "\n\n  [Learned Blue Magic]\n");
-#endif
-
+               strcat(p[col], _("\n\n  [学習済みの青魔法]\n", "\n\n  [Learned Blue Magic]\n"));
 
                for (j=1;j<6;j++)
                {
@@ -4423,43 +4246,23 @@ static void dump_aux_class_special(FILE *fff)
                        switch(j)
                        {
                                case MONSPELL_TYPE_BOLT:
-#ifdef JP
-                                       strcat(p[col], "\n     [¥Ü¥ë¥È·¿]\n");
-#else
-                                       strcat(p[col], "\n     [Bolt  Type]\n");
-#endif
+                                       strcat(p[col], _("\n     [ボルト型]\n", "\n     [Bolt  Type]\n"));
                                        break;
 
                                case MONSPELL_TYPE_BALL:
-#ifdef JP
-                                       strcat(p[col], "\n     [¥Ü¡¼¥ë·¿]\n");
-#else
-                                       strcat(p[col], "\n     [Ball  Type]\n");
-#endif
+                                       strcat(p[col], _("\n     [ボール型]\n", "\n     [Ball  Type]\n"));
                                        break;
 
                                case MONSPELL_TYPE_BREATH:
-#ifdef JP
-                                       strcat(p[col], "\n     [¥Ö¥ì¥¹·¿]\n");
-#else
-                                       strcat(p[col], "\n     [  Breath  ]\n");
-#endif
+                                       strcat(p[col], _("\n     [ブレス型]\n", "\n     [  Breath  ]\n"));
                                        break;
 
                                case MONSPELL_TYPE_SUMMON:
-#ifdef JP
-                                       strcat(p[col], "\n     [¾¤´­ËâË¡]\n");
-#else
-                                       strcat(p[col], "\n     [Summonning]\n");
-#endif
+                                       strcat(p[col], _("\n     [召喚魔法]\n", "\n     [Summonning]\n"));
                                        break;
 
                                case MONSPELL_TYPE_OTHER:
-#ifdef JP
-                                       strcat(p[col], "\n     [ ¤½¤Î¾ ]\n");
-#else
-                                       strcat(p[col], "\n     [Other Type]\n");
-#endif
+                                       strcat(p[col], _("\n     [ その他 ]\n", "\n     [Other Type]\n"));
                                        break;
                        }
 
@@ -4501,11 +4304,7 @@ static void dump_aux_class_special(FILE *fff)
                        
                        if (!pcol)
                        {
-#ifdef JP
-                               strcat(p[col], "¤Ê¤·");
-#else
-                               strcat(p[col], "None");
-#endif
+                               strcat(p[col], _("なし", "None"));
                        }
                        else
                        {
@@ -4530,14 +4329,13 @@ static void dump_aux_class_special(FILE *fff)
        else if (p_ptr->pclass == CLASS_MAGIC_EATER)
        {
                char s[EATER_EXT][MAX_NLEN];
-               int tval, ext, k_idx;
-               int i, magic_num;
+               OBJECT_TYPE_VALUE tval;
+               int ext;
+               IDX k_idx;
+               OBJECT_SUBTYPE_VALUE i;
+               int magic_num;
 
-#ifdef JP
-               fprintf(fff, "\n\n  [¼è¤ê¹þ¤ó¤ÀËâË¡Æ»¶ñ]\n");
-#else
-               fprintf(fff, "\n\n  [Magic devices eaten]\n");
-#endif
+               fprintf(fff, _("\n\n  [取り込んだ魔法道具]\n", "\n\n  [Magic devices eaten]\n"));
 
                for (ext = 0; ext < 3; ext++)
                {
@@ -4548,27 +4346,15 @@ static void dump_aux_class_special(FILE *fff)
                        {
                        case 0:
                                tval = TV_STAFF;
-#ifdef JP
-                               fprintf(fff, "\n[¾ó]\n");
-#else
-                               fprintf(fff, "\n[Staffs]\n");
-#endif
+                               fprintf(fff, _("\n[杖]\n", "\n[Staffs]\n"));
                                break;
                        case 1:
                                tval = TV_WAND;
-#ifdef JP
-                               fprintf(fff, "\n[ËâË¡ËÀ]\n");
-#else
-                               fprintf(fff, "\n[Wands]\n");
-#endif
+                               fprintf(fff, _("\n[魔法棒]\n", "\n[Wands]\n"));
                                break;
                        case 2:
                                tval = TV_ROD;
-#ifdef JP
-                               fprintf(fff, "\n[¥í¥Ã¥É]\n");
-#else
-                               fprintf(fff, "\n[Rods]\n");
-#endif
+                               fprintf(fff, _("\n[ロッド]\n", "\n[Rods]\n"));
                                break;
                        }
 
@@ -4600,11 +4386,7 @@ static void dump_aux_class_special(FILE *fff)
                        }
                        else /* Not found */
                        {
-#ifdef JP
-                               fputs("  (¤Ê¤·)\n", fff);
-#else
-                               fputs("  (none)\n", fff);
-#endif
+                               fputs(_("  (なし)\n", "  (none)\n"), fff);
                        }
                }
        }
@@ -4612,17 +4394,9 @@ static void dump_aux_class_special(FILE *fff)
        {
                int i, id[250], n = 0, row;
 
-#ifdef JP
-               fprintf(fff, "\n\n  [¼ê¤ËÆþ¤ì¤¿¥¨¥Ã¥»¥ó¥¹]\n\n");
-#else
-               fprintf(fff, "\n\n  [Get Essence]\n\n");
-#endif
-
-#ifdef JP
-               fprintf(fff, "¥¨¥Ã¥»¥ó¥¹   ¸Ä¿ô     ¥¨¥Ã¥»¥ó¥¹   ¸Ä¿ô     ¥¨¥Ã¥»¥ó¥¹   ¸Ä¿ô", 1, 8);
-#else
-               fprintf(fff, "Essence      Num      Essence      Num      Essence      Num ", 1, 8);
-#endif
+               fprintf(fff, _("\n\n  [手に入れたエッセンス]\n\n", "\n\n  [Get Essence]\n\n"));
+               fprintf(fff, _("エッセンス   個数     エッセンス   個数     エッセンス   個数", 
+                                          "Essence      Num      Essence      Num      Essence      Num "));
                for (i = 0; essence_name[i]; i++)
                {
                        if (!essence_name[i][0]) continue;
@@ -4635,9 +4409,9 @@ static void dump_aux_class_special(FILE *fff)
                for (i = 0; i < row; i++)
                {
                        fprintf(fff, "\n");
-                       fprintf(fff, "%-11s %5d     ", essence_name[id[i]], p_ptr->magic_num1[id[i]]);
-                       if(i + row < n) fprintf(fff, "%-11s %5d     ", essence_name[id[i + row]], p_ptr->magic_num1[id[i + row]]);
-                       if(i + row * 2 < n) fprintf(fff, "%-11s %5d", essence_name[id[i + row * 2]], p_ptr->magic_num1[id[i + row * 2]]);
+                       fprintf(fff, "%-11s %5d     ", essence_name[id[i]], (int)p_ptr->magic_num1[id[i]]);
+                       if(i + row < n) fprintf(fff, "%-11s %5d     ", essence_name[id[i + row]], (int)p_ptr->magic_num1[id[i + row]]);
+                       if(i + row * 2 < n) fprintf(fff, "%-11s %5d", essence_name[id[i + row * 2]], (int)p_ptr->magic_num1[id[i + row * 2]]);
                }
 
                fputs("\n", fff);
@@ -4647,31 +4421,26 @@ static void dump_aux_class_special(FILE *fff)
 
 
 /*!
- * @brief ¥¯¥¨¥¹¥È¾ðÊó¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief クエスト情報をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_quest(FILE *fff)
 {
-       int i;
-       int *quest_num;
+       IDX i;
+       IDX *quest_num;
        int dummy;
 
-
-#ifdef JP
-       fprintf(fff, "\n\n  [¥¯¥¨¥¹¥È¾ðÊó]\n");
-#else
-       fprintf(fff, "\n\n  [Quest Information]\n");
-#endif
+       fprintf(fff, _("\n\n  [クエスト情報]\n", "\n\n  [Quest Information]\n"));
 
        /* Allocate Memory */
-       C_MAKE(quest_num, max_quests, int);
+       C_MAKE(quest_num, max_q_idx, IDX);
 
        /* Sort by compete level */
-       for (i = 1; i < max_quests; i++) quest_num[i] = i;
+       for (i = 1; i < max_q_idx; i++) quest_num[i] = i;
        ang_sort_comp = ang_sort_comp_quest_num;
        ang_sort_swap = ang_sort_swap_quest_num;
-       ang_sort(quest_num, &dummy, max_quests);
+       ang_sort(quest_num, &dummy, max_q_idx);
 
        /* Dump Quest Information */
        fputc('\n', fff);
@@ -4681,14 +4450,14 @@ static void dump_aux_quest(FILE *fff)
        fputc('\n', fff);
 
        /* Free Memory */
-       C_KILL(quest_num, max_quests, int);
+       C_KILL(quest_num, max_q_idx, IDX);
 }
 
 
 /*!
- * @brief »à¤ÎľÁ°¥á¥Ã¥»¡¼¥¸Ê¤Ӥ˰ä¸À¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief 死の直前メッセージ並びに遺言をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_last_message(FILE *fff)
 {
@@ -4698,11 +4467,7 @@ static void dump_aux_last_message(FILE *fff)
                {
                        int i;
 
-#ifdef JP
-                       fprintf(fff, "\n  [»à¤ÌľÁ°¤Î¥á¥Ã¥»¡¼¥¸]\n\n");
-#else
-                       fprintf(fff, "\n  [Last Messages]\n\n");
-#endif
+                       fprintf(fff, _("\n  [死ぬ直前のメッセージ]\n\n", "\n  [Last Messages]\n\n"));
                        for (i = MIN(message_num(), 30); i >= 0; i--)
                        {
                                fprintf(fff,"> %s\n",message_str((s16b)i));
@@ -4713,11 +4478,7 @@ static void dump_aux_last_message(FILE *fff)
                /* Hack -- *Winning* message */
                else if (p_ptr->last_message)
                {
-#ifdef JP
-                       fprintf(fff, "\n  [*¾¡Íø*¥á¥Ã¥»¡¼¥¸]\n\n");
-#else
-                       fprintf(fff, "\n  [*Winning* Message]\n\n");
-#endif
+                       fprintf(fff, _("\n  [*勝利*メッセージ]\n\n", "\n  [*Winning* Message]\n\n"));
                        fprintf(fff,"  %s\n", p_ptr->last_message);
                        fputc('\n', fff);
                }
@@ -4725,19 +4486,14 @@ static void dump_aux_last_message(FILE *fff)
 }
 
 /*!
- * @brief µ¢´Ô¾ì½ê¾ðÊó¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief 帰還場所情報をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_recall(FILE *fff)
 {
        int y;
-
-#ifdef JP
-       fprintf(fff, "\n  [µ¢´Ô¾ì½ê]\n\n");
-#else
-       fprintf(fff, "\n  [Recall Depth]\n\n");
-#endif
+       fprintf(fff, _("\n  [帰還場所]\n\n", "\n  [Recall Depth]\n\n"));
 
        for (y = 1; y < max_d_idx; y++)
        {
@@ -4751,159 +4507,76 @@ static void dump_aux_recall(FILE *fff)
                }
                else if (max_dlv[y] == d_info[y].maxdepth) seiha = TRUE;
 
-#ifdef JP
-               fprintf(fff, "   %c%-12s: %3d ³¬\n", seiha ? '!' : ' ', d_name+d_info[y].name, max_dlv[y]);
-#else
-               fprintf(fff, "   %c%-16s: level %3d\n", seiha ? '!' : ' ', d_name+d_info[y].name, max_dlv[y]);
-#endif
+               fprintf(fff, _("   %c%-12s: %3d 階\n", "   %c%-16s: level %3d\n"),
+                       seiha ? '!' : ' ', d_name+d_info[y].name, (int)max_dlv[y]);
        }
 }
 
 
 /*!
- * @brief ¥ª¥×¥·¥ç¥ó¾ðÊó¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief オプション情報をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_options(FILE *fff)
 {
-#ifdef JP
-       fprintf(fff, "\n  [¥ª¥×¥·¥ç¥óÀßÄê]\n");
-#else
-       fprintf(fff, "\n  [Option Settings]\n");
-#endif
-
+       fprintf(fff, _("\n  [オプション設定]\n", "\n  [Option Settings]\n"));
 
        if (preserve_mode)
-#ifdef JP
-               fprintf(fff, "\n Êݸ¥â¡¼¥É:         ON");
-#else
-               fprintf(fff, "\n Preserve Mode:      ON");
-#endif
+               fprintf(fff, _("\n 保存モード:         ON", "\n Preserve Mode:      ON"));
 
        else
-#ifdef JP
-               fprintf(fff, "\n Êݸ¥â¡¼¥É:         OFF");
-#else
-               fprintf(fff, "\n Preserve Mode:      OFF");
-#endif
-
+               fprintf(fff, _("\n 保存モード:         OFF", "\n Preserve Mode:      OFF"));
 
        if (ironman_small_levels)
-#ifdef JP
-               fprintf(fff, "\n ¾®¤µ¤¤¥À¥ó¥¸¥ç¥ó:   ALWAYS");
-#else
-               fprintf(fff, "\n Small Levels:       ALWAYS");
-#endif
-
+               fprintf(fff, _("\n 小さいダンジョン:   ALWAYS", "\n Small Levels:       ALWAYS"));
        else if (always_small_levels)
-#ifdef JP
-               fprintf(fff, "\n ¾®¤µ¤¤¥À¥ó¥¸¥ç¥ó:   ON");
-#else
-               fprintf(fff, "\n Small Levels:       ON");
-#endif
-
+               fprintf(fff, _("\n 小さいダンジョン:   ON", "\n Small Levels:       ON"));
        else if (small_levels)
-#ifdef JP
-               fprintf(fff, "\n ¾®¤µ¤¤¥À¥ó¥¸¥ç¥ó:   ENABLED");
-#else
-               fprintf(fff, "\n Small Levels:       ENABLED");
-#endif
-
+               fprintf(fff, _("\n 小さいダンジョン:   ENABLED", "\n Small Levels:       ENABLED"));
        else
-#ifdef JP
-               fprintf(fff, "\n ¾®¤µ¤¤¥À¥ó¥¸¥ç¥ó:   OFF");
-#else
-               fprintf(fff, "\n Small Levels:       OFF");
-#endif
+               fprintf(fff, _("\n 小さいダンジョン:   OFF", "\n Small Levels:       OFF"));
 
 
        if (vanilla_town)
-#ifdef JP
-               fprintf(fff, "\n ¸µÁĤÎÄ®¤Î¤ß:       ON");
-#else
-               fprintf(fff, "\n Vanilla Town:       ON");
-#endif
-
+               fprintf(fff, _("\n 元祖の町のみ:       ON", "\n Vanilla Town:       ON"));
        else if (lite_town)
-#ifdef JP
-               fprintf(fff, "\n ¾®µ¬ÌϤÊÄ®:         ON");
-#else
-               fprintf(fff, "\n Lite Town:          ON");
-#endif
+               fprintf(fff, _("\n 小規模な町:         ON", "\n Lite Town:          ON"));
 
 
        if (ironman_shops)
-#ifdef JP
-               fprintf(fff, "\n Å¹¤Ê¤·:             ON");
-#else
-               fprintf(fff, "\n No Shops:           ON");
-#endif
-
+               fprintf(fff, _("\n 店なし:             ON", "\n No Shops:           ON"));
 
        if (ironman_downward)
-#ifdef JP
-               fprintf(fff, "\n ³¬Ãʤò¾å¤¬¤ì¤Ê¤¤:   ON");
-#else
-               fprintf(fff, "\n Diving Only:        ON");
-#endif
-
+               fprintf(fff, _("\n 階段を上がれない:   ON", "\n Diving Only:        ON"));
 
        if (ironman_rooms)
-#ifdef JP
-               fprintf(fff, "\n ÉáÄ̤Ǥʤ¤Éô²°:     ON");
-#else
-               fprintf(fff, "\n Unusual Rooms:      ON");
-#endif
-
+               fprintf(fff, _("\n 普通でない部屋:     ON", "\n Unusual Rooms:      ON"));
 
        if (ironman_nightmare)
-#ifdef JP
-               fprintf(fff, "\n °­Ì´¥â¡¼¥É:         ON");
-#else
-               fprintf(fff, "\n Nightmare Mode:     ON");
-#endif
+               fprintf(fff, _("\n 悪夢モード:         ON", "\n Nightmare Mode:     ON"));
 
 
        if (ironman_empty_levels)
-#ifdef JP
-               fprintf(fff, "\n ¥¢¥ê¡¼¥Ê:           ALWAYS");
-#else
-               fprintf(fff, "\n Arena Levels:       ALWAYS");
-#endif
-
+               fprintf(fff, _("\n アリーナ:           ALWAYS", "\n Arena Levels:       ALWAYS"));
        else if (empty_levels)
-#ifdef JP
-               fprintf(fff, "\n ¥¢¥ê¡¼¥Ê:           ENABLED");
-#else
-               fprintf(fff, "\n Arena Levels:       ENABLED");
-#endif
-
+               fprintf(fff, _("\n アリーナ:           ENABLED", "\n Arena Levels:       ENABLED"));
        else
-#ifdef JP
-               fprintf(fff, "\n ¥¢¥ê¡¼¥Ê:           OFF");
-#else
-               fprintf(fff, "\n Arena Levels:       OFF");
-#endif
-
+               fprintf(fff, _("\n アリーナ:           OFF", "\n Arena Levels:       OFF"));
 
        fputc('\n', fff);
 
        if (p_ptr->noscore)
-#ifdef JP
-               fprintf(fff, "\n ²¿¤«ÉÔÀµ¤Ê¤³¤È¤ò¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£\n");
-#else
-               fprintf(fff, "\n You have done something illegal.\n");
-#endif
+               fprintf(fff, _("\n 何か不正なことをしてしまっています。\n", "\n You have done something illegal.\n"));
 
        fputc('\n', fff);
 }
 
 
 /*!
- * @brief Æ®µ»¾ì¤Î¾ðÊó¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief 闘技場の情報をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_arena(FILE *fff)
 {
@@ -4913,16 +4586,12 @@ static void dump_aux_arena(FILE *fff)
        {
                if (p_ptr->arena_number <= ARENA_DEFEATED_OLD_VER)
                {
-#ifdef JP
-                       fprintf(fff, "\n Æ®µ»¾ì: ÇÔËÌ\n");
-#else
-                       fprintf(fff, "\n Arena: Defeated\n");
-#endif
+                       fprintf(fff, _("\n 闘技場: 敗北\n", "\n Arena: Defeated\n"));
                }
                else
                {
 #ifdef JP
-                       fprintf(fff, "\n Æ®µ»¾ì: %d²óÀï¤Ç%s¤ÎÁ°¤ËÇÔËÌ\n", -p_ptr->arena_number,
+                       fprintf(fff, "\n 闘技場: %d回戦で%sの前に敗北\n", -p_ptr->arena_number,
                                r_name + r_info[arena_info[-1 - p_ptr->arena_number].r_idx].name);
 #else
                        fprintf(fff, "\n Arena: Defeated by %s in the %d%s fight\n",
@@ -4933,24 +4602,16 @@ static void dump_aux_arena(FILE *fff)
        }
        else if (p_ptr->arena_number > MAX_ARENA_MONS + 2)
        {
-#ifdef JP
-               fprintf(fff, "\n Æ®µ»¾ì: ¿¿¤Î¥Á¥ã¥ó¥Ô¥ª¥ó\n");
-#else
-               fprintf(fff, "\n Arena: True Champion\n");
-#endif
+               fprintf(fff, _("\n 闘技場: 真のチャンピオン\n", "\n Arena: True Champion\n"));
        }
        else if (p_ptr->arena_number > MAX_ARENA_MONS - 1)
        {
-#ifdef JP
-               fprintf(fff, "\n Æ®µ»¾ì: ¥Á¥ã¥ó¥Ô¥ª¥ó\n");
-#else
-               fprintf(fff, "\n Arena: Champion\n");
-#endif
+               fprintf(fff, _("\n 闘技場: チャンピオン\n", "\n Arena: Champion\n"));
        }
        else
        {
 #ifdef JP
-               fprintf(fff, "\n Æ®µ»¾ì: %2d¾¡\n", (p_ptr->arena_number > MAX_ARENA_MONS ? MAX_ARENA_MONS : p_ptr->arena_number));
+               fprintf(fff, "\n 闘技場: %2d勝\n", (p_ptr->arena_number > MAX_ARENA_MONS ? MAX_ARENA_MONS : p_ptr->arena_number));
 #else
                fprintf(fff, "\n Arena: %2d Victor%s\n", (p_ptr->arena_number > MAX_ARENA_MONS ? MAX_ARENA_MONS : p_ptr->arena_number), (p_ptr->arena_number > 1) ? "ies" : "y");
 #endif
@@ -4961,27 +4622,23 @@ static void dump_aux_arena(FILE *fff)
 
 
 /*!
- * @brief ·âÇË¥â¥ó¥¹¥¿¡¼¤Î¾ðÊó¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief 撃破モンスターの情報をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_monsters(FILE *fff)
 {
        /* Monsters slain */
 
-       int k;
+       IDX k;
        long uniq_total = 0;
        long norm_total = 0;
-       s16b *who;
+       IDX *who;
 
        /* Sort by monster level */
        u16b why = 2;
 
-#ifdef JP
-       fprintf(fff, "\n  [Åݤ·¤¿¥â¥ó¥¹¥¿¡¼]\n\n");
-#else
-       fprintf(fff, "\n  [Defeated Monsters]\n\n");
-#endif
+       fprintf(fff, _("\n  [倒したモンスター]\n\n", "\n  [Defeated Monsters]\n\n"));
 
        /* Allocate the "who" array */
        C_MAKE(who, max_r_idx, s16b);
@@ -5021,18 +4678,14 @@ static void dump_aux_monsters(FILE *fff)
        /* No monsters is defeated */
        if (norm_total < 1)
        {
-#ifdef JP
-               fprintf(fff,"¤Þ¤ÀŨ¤òÅݤ·¤Æ¤¤¤Þ¤»¤ó¡£\n");
-#else
-               fprintf(fff,"You have defeated no enemies yet.\n");
-#endif
+               fprintf(fff,_("まだ敵を倒していません。\n", "You have defeated no enemies yet.\n"));
        }
 
        /* Defeated more than one normal monsters */
        else if (uniq_total == 0)
        {
 #ifdef JP
-               fprintf(fff,"%ldÂΤÎŨ¤òÅݤ·¤Æ¤¤¤Þ¤¹¡£\n", norm_total);
+               fprintf(fff,"%ld体の敵を倒しています。\n", norm_total);
 #else
                fprintf(fff,"You have defeated %ld %s.\n", norm_total, norm_total == 1 ? "enemy" : "enemies");
 #endif
@@ -5042,7 +4695,7 @@ static void dump_aux_monsters(FILE *fff)
        else /* if (uniq_total > 0) */
        {
 #ifdef JP
-               fprintf(fff, "%ldÂΤΥæ¥Ë¡¼¥¯¡¦¥â¥ó¥¹¥¿¡¼¤ò´Þ¤à¡¢¹ç·×%ldÂΤÎŨ¤òÅݤ·¤Æ¤¤¤Þ¤¹¡£\n", uniq_total, norm_total); 
+               fprintf(fff, "%ld体のユニーク・モンスターを含む、合計%ld体の敵を倒しています。\n", uniq_total, norm_total); 
 #else
                fprintf(fff, "You have defeated %ld %s including %ld unique monster%s in total.\n", norm_total, norm_total == 1 ? "enemy" : "enemies", uniq_total, (uniq_total == 1 ? "" : "s"));
 #endif
@@ -5054,23 +4707,13 @@ static void dump_aux_monsters(FILE *fff)
 
                /* Sort the array by dungeon depth of monsters */
                ang_sort(who, &why, uniq_total);
-
-#ifdef JP
-               fprintf(fff, "\n¡Ô¾å°Ì%ldÂΤΥæ¥Ë¡¼¥¯¡¦¥â¥ó¥¹¥¿¡¼¡Õ\n", MIN(uniq_total, 10));
-#else
-               fprintf(fff, "\n< Unique monsters top %ld >\n", MIN(uniq_total, 10));
-#endif
+               fprintf(fff, _("\n《上位%ld体のユニーク・モンスター》\n", "\n< Unique monsters top %ld >\n"), MIN(uniq_total, 10));
 
                /* Print top 10 */
                for (k = uniq_total - 1; k >= 0 && k >= uniq_total - 10; k--)
                {
                        monster_race *r_ptr = &r_info[who[k]];
-
-#ifdef JP
-                       fprintf(fff, "  %-40s (¥ì¥Ù¥ë%3d)\n", (r_name + r_ptr->name), r_ptr->level); 
-#else
-                       fprintf(fff, "  %-40s (level %3d)\n", (r_name + r_ptr->name), r_ptr->level); 
-#endif
+                       fprintf(fff, _("  %-40s (レベル%3d)\n", "  %-40s (level %3d)\n"), (r_name + r_ptr->name), (int)r_ptr->level);
                }
 
        }
@@ -5081,9 +4724,9 @@ static void dump_aux_monsters(FILE *fff)
 
 
 /*!
- * @brief ¸µ¼ï²¾ðÊó¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief 元種族情報をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_race_history(FILE *fff)
 {
@@ -5091,11 +4734,7 @@ static void dump_aux_race_history(FILE *fff)
        {
                int i;
 
-#ifdef JP
-               fprintf(fff, "\n\n ¤¢¤Ê¤¿¤Ï%s¤È¤·¤ÆÀ¸¤Þ¤ì¤¿¡£", race_info[p_ptr->start_race].title);
-#else
-               fprintf(fff, "\n\n You were born as %s.", race_info[p_ptr->start_race].title);
-#endif
+               fprintf(fff, _("\n\n あなたは%sとして生まれた。", "\n\n You were born as %s."), race_info[p_ptr->start_race].title);
                for (i = 0; i < MAX_RACES; i++)
                {
                        if (p_ptr->start_race == i) continue;
@@ -5107,11 +4746,7 @@ static void dump_aux_race_history(FILE *fff)
                        {
                                if (!(p_ptr->old_race2 & 1L << (i-32))) continue;
                        }
-#ifdef JP
-                       fprintf(fff, "\n ¤¢¤Ê¤¿¤Ï¤«¤Ä¤Æ%s¤À¤Ã¤¿¡£", race_info[i].title);
-#else
-                       fprintf(fff, "\n You were a %s before.", race_info[i].title);
-#endif
+                       fprintf(fff, _("\n あなたはかつて%sだった。", "\n You were a %s before."), race_info[i].title);
                }
 
                fputc('\n', fff);
@@ -5120,9 +4755,9 @@ static void dump_aux_race_history(FILE *fff)
 
 
 /*!
- * @brief ¸µËâË¡Îΰè¾ðÊó¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief 元魔法領域情報をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_realm_history(FILE *fff)
 {
@@ -5134,11 +4769,7 @@ static void dump_aux_realm_history(FILE *fff)
                for (i = 0; i < MAX_MAGIC; i++)
                {
                        if (!(p_ptr->old_realm & 1L << i)) continue;
-#ifdef JP
-                       fprintf(fff, "\n ¤¢¤Ê¤¿¤Ï¤«¤Ä¤Æ%sËâË¡¤ò»È¤¨¤¿¡£", realm_names[i+1]);
-#else
-                       fprintf(fff, "\n You were able to use %s magic before.", realm_names[i+1]);
-#endif
+                       fprintf(fff, _("\n あなたはかつて%s魔法を使えた。", "\n You were able to use %s magic before."), realm_names[i+1]);
                }
                fputc('\n', fff);
        }
@@ -5146,28 +4777,24 @@ static void dump_aux_realm_history(FILE *fff)
 
 
 /*!
- * @brief ÆÁ¤Î¾ðÊó¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief 徳の情報をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_virtues(FILE *fff)
 {
        int v_nr, percent;
 
-#ifdef JP
-       fprintf(fff, "\n\n  [¼«Ê¬¤Ë´Ø¤¹¤ë¾ðÊó]\n\n");
-#else
-       fprintf(fff, "\n\n  [HP-rate & Max stat & Virtues]\n\n");
-#endif
+       fprintf(fff, _("\n\n  [自分に関する情報]\n\n", "\n\n  [HP-rate & Max stat & Virtues]\n\n"));
 
        percent = (int)(((long)p_ptr->player_hp[PY_MAX_LEVEL - 1] * 200L) /
                (2 * p_ptr->hitdie +
                ((PY_MAX_LEVEL - 1+3) * (p_ptr->hitdie + 1))));
 
 #ifdef JP
-               if (p_ptr->knowledge & KNOW_HPRATE) fprintf(fff, "¸½ºß¤ÎÂÎÎÏ¥é¥ó¥¯ : %d/100\n\n", percent);
-               else fprintf(fff, "¸½ºß¤ÎÂÎÎÏ¥é¥ó¥¯ : ???\n\n");
-               fprintf(fff, "ǽÎϤκÇÂçÃÍ\n");
+               if (p_ptr->knowledge & KNOW_HPRATE) fprintf(fff, "ç\8f¾å\9c¨ã\81®ä½\93å\8a\9bã\83©ã\83³ã\82¯ : %d/100\n\n", percent);
+               else fprintf(fff, "ç\8f¾å\9c¨ã\81®ä½\93å\8a\9bã\83©ã\83³ã\82¯ : ???\n\n");
+               fprintf(fff, "能力の最大値\n");
 #else
                if (p_ptr->knowledge & KNOW_HPRATE) fprintf(fff, "Your current Life Rating is %d/100.\n\n", percent);
                else fprintf(fff, "Your current Life Rating is ???.\n\n");
@@ -5179,41 +4806,31 @@ static void dump_aux_virtues(FILE *fff)
                        else fprintf(fff, "%s ???\n", stat_names[v_nr]);
                }
 
-#ifdef JP
-       fprintf(fff, "\n°À­ : %s\n", your_alignment());
-#else
-       fprintf(fff, "\nYour alighnment : %s\n", your_alignment());
-#endif
-
+       fprintf(fff, _("\n属性 : %s\n", "\nYour alighnment : %s\n"), your_alignment());
        fprintf(fff, "\n");
        dump_virtues(fff);
 }
 
 
 /*!
- * @brief ÆÍÁ³ÊѰۤξðÊó¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief 突然変異の情報をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_mutations(FILE *fff)
 {
        if (p_ptr->muta1 || p_ptr->muta2 || p_ptr->muta3)
        {
-#ifdef JP
-               fprintf(fff, "\n\n  [ÆÍÁ³ÊÑ°Û]\n\n");
-#else
-               fprintf(fff, "\n\n  [Mutations]\n\n");
-#endif
-
+               fprintf(fff, _("\n\n  [突然変異]\n\n", "\n\n  [Mutations]\n\n"));
                dump_mutations(fff);
        }
 }
 
 
 /*!
- * @brief ½ê»ýÉʤξðÊó¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief 所持品の情報をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_equipment_inventory(FILE *fff)
 {
@@ -5223,21 +4840,12 @@ static void dump_aux_equipment_inventory(FILE *fff)
        /* Dump the equipment */
        if (equip_cnt)
        {
-#ifdef JP
-               fprintf(fff, "  [¥­¥ã¥é¥¯¥¿¤ÎÁõÈ÷]\n\n");
-#else
-               fprintf(fff, "  [Character Equipment]\n\n");
-#endif
-
+               fprintf(fff, _("  [キャラクタの装備]\n\n", "  [Character Equipment]\n\n"));
                for (i = INVEN_RARM; i < INVEN_TOTAL; i++)
                {
                        object_desc(o_name, &inventory[i], 0);
                        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)"));
 
                        fprintf(fff, "%c) %s\n",
                                index_to_label(i), o_name);
@@ -5246,11 +4854,7 @@ static void dump_aux_equipment_inventory(FILE *fff)
        }
 
        /* Dump the inventory */
-#ifdef JP
-       fprintf(fff, "  [¥­¥ã¥é¥¯¥¿¤Î»ý¤Áʪ]\n\n");
-#else
-       fprintf(fff, "  [Character Inventory]\n\n");
-#endif
+       fprintf(fff, _("  [キャラクタの持ち物]\n\n", "  [Character Inventory]\n\n"));
 
        for (i = 0; i < INVEN_PACK; i++)
        {
@@ -5268,9 +4872,9 @@ static void dump_aux_equipment_inventory(FILE *fff)
 
 
 /*!
- * @brief ²æ¤¬²È¤ÈÇîʪ´Û¤Î¥ª¥Ö¥¸¥§¥¯¥È¾ðÊó¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¤Ê¤·
+ * @brief 我が家と博物館のオブジェクト情報をファイルにダンプする
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return なし
  */
 static void dump_aux_home_museum(FILE *fff)
 {
@@ -5289,21 +4893,13 @@ static void dump_aux_home_museum(FILE *fff)
                int i;
                int x = 1;
 
-#ifdef JP
-               fprintf(fff, "  [²æ¤¬²È¤Î¥¢¥¤¥Æ¥à]\n");
-#else
-               fprintf(fff, "  [Home Inventory]\n");
-#endif
+               fprintf(fff, _("  [我が家のアイテム]\n", "  [Home Inventory]\n"));
 
                /* Dump all available items */
                for (i = 0; i < st_ptr->stock_num; i++)
                {
                        if ((i % 12) == 0)
-#ifdef JP
-                               fprintf(fff, "\n ( %d ¥Ú¡¼¥¸ )\n", x++);
-#else
-                               fprintf(fff, "\n ( page %d )\n", x++);
-#endif
+                               fprintf(fff, _("\n ( %d ページ )\n", "\n ( page %d )\n"), x++);
                        object_desc(o_name, &st_ptr->stock[i], 0);
                        fprintf(fff, "%c) %s\n", I2A(i%12), o_name);
                }
@@ -5322,17 +4918,13 @@ static void dump_aux_home_museum(FILE *fff)
                int i;
                int x = 1;
 
-#ifdef JP
-               fprintf(fff, "  [Çîʪ´Û¤Î¥¢¥¤¥Æ¥à]\n");
-#else
-               fprintf(fff, "  [Museum]\n");
-#endif
+               fprintf(fff, _("  [博物館のアイテム]\n", "  [Museum]\n"));
 
                /* Dump all available items */
                for (i = 0; i < st_ptr->stock_num; i++)
                {
 #ifdef JP
-               if ((i % 12) == 0) fprintf(fff, "\n ( %d ¥Ú¡¼¥¸ )\n", x++);
+               if ((i % 12) == 0) fprintf(fff, "\n ( %d ã\83\9aã\83¼ã\82¸ )\n", x++);
                        object_desc(o_name, &st_ptr->stock[i], 0);
                        fprintf(fff, "%c) %s\n", I2A(i%12), o_name);
 #else
@@ -5350,15 +4942,15 @@ static void dump_aux_home_museum(FILE *fff)
 
 
 /*!
- * @brief ¥À¥ó¥×½ÐÎϤΥᥤ¥ó¥ë¡¼¥Á¥ó
+ * @brief ダンプ出力のメインルーチン
  * Output the character dump to a file
- * @param fff ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿
- * @return ¥¨¥é¡¼¥³¡¼¥É
+ * @param fff ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿
+ * @return エラーコード
  */
 errr make_character_dump(FILE *fff)
 {
 #ifdef JP
-       fprintf(fff, "  [ÊѶòÈÚÅÜ %d.%d.%d ¥­¥ã¥é¥¯¥¿¾ðÊó]\n\n",
+       fprintf(fff, "  [変愚蛮怒 %d.%d.%d キャラクタ情報]\n\n",
                FAKE_VER_MAJOR-10, FAKE_VER_MINOR, FAKE_VER_PATCH);
 #else
        fprintf(fff, "  [Hengband %d.%d.%d Character Dump]\n\n",
@@ -5384,18 +4976,16 @@ errr make_character_dump(FILE *fff)
        dump_aux_equipment_inventory(fff);
        dump_aux_home_museum(fff);
 
-#ifdef JP
-       fprintf(fff, "  [¥Á¥§¥Ã¥¯¥µ¥à: \"%s\"]\n\n", get_check_sum());
-#else
-       fprintf(fff, "  [Check Sum: \"%s\"]\n\n", get_check_sum());
-#endif
-
+       fprintf(fff, _("  [チェックサム: \"%s\"]\n\n", "  [Check Sum: \"%s\"]\n\n"), get_check_sum());
        return 0;
 }
 
-/*
+/*!
+ * @brief プレイヤーステータスをファイルダンプ出力する
  * Hack -- Dump a character description file
- *
+ * @param name 出力ファイル名
+ * @return エラーコード
+ * @details
  * XXX XXX XXX Allow the "full" flag to dump additional info,
  * and trigger its usage from various places in the code.
  */
@@ -5423,12 +5013,7 @@ errr file_character(cptr name)
                (void)fd_close(fd);
 
                /* Build query */
-#ifdef JP
-               (void)sprintf(out_val, "¸½Â¸¤¹¤ë¥Õ¥¡¥¤¥ë %s ¤Ë¾å½ñ¤­¤·¤Þ¤¹¤«? ", buf);
-#else
-               (void)sprintf(out_val, "Replace existing file %s? ", buf);
-#endif
-
+               (void)sprintf(out_val, _("現存するファイル %s に上書きしますか? ", "Replace existing file %s? "), buf);
 
                /* Ask */
                if (get_check_strict(out_val, CHECK_NO_HISTORY)) fd = -1;
@@ -5441,11 +5026,7 @@ errr file_character(cptr name)
        if (!fff)
        {
                /* Message */
-#ifdef JP
-               prt("¥­¥ã¥é¥¯¥¿¾ðÊó¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î½ñ¤­½Ð¤·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡ª", 0, 0);
-#else
-               prt("Character dump failed!", 0, 0);
-#endif
+               prt(_("キャラクタ情報のファイルへの書き出しに失敗しました!", "Character dump failed!"), 0, 0);
 
                (void)inkey();
 
@@ -5460,12 +5041,7 @@ errr file_character(cptr name)
 
 
        /* Message */
-#ifdef JP
-msg_print("¥­¥ã¥é¥¯¥¿¾ðÊó¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î½ñ¤­½Ð¤·¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£");
-#else
-       msg_print("Character dump successful.");
-#endif
-
+       msg_print(_("キャラクタ情報のファイルへの書き出しに成功しました。", "Character dump successful."));
        msg_print(NULL);
 
        /* Success */
@@ -5473,15 +5049,21 @@ msg_print("
 }
 
 
-/*
+/*!
+ * @brief ファイル内容の一行をコンソールに出力する
  * Display single line of on-line help file
- *
+ * @param str 出力する文字列
+ * @param cy コンソールの行
+ * @param shower 確認中
+ * @return なし
+ * @details
+ * <pre>
  * You can insert some special color tag to change text color.
  * Such as...
  * WHITETEXT [[[[y|SOME TEXT WHICH IS DISPLAYED IN YELLOW| WHITETEXT
- *
  * A colored segment is between "[[[[y|" and the last "|".
  * You can use any single character in place of the "|".
+ * </pre>
  */
 static void show_file_aux_line(cptr str, int cy, cptr shower)
 {
@@ -5596,15 +5178,23 @@ static void show_file_aux_line(cptr str, int cy, cptr shower)
 }
 
 
-/*
+/*!
+ * @brief ファイル内容をコンソールに出力する
  * Recursive file perusal.
- *
+ * @param show_version TRUEならばコンソール上にゲームのバージョンを表示する
+ * @param name ファイル名の文字列
+ * @param what 内容キャプションの文字列
+ * @param line 表示の現在行
+ * @param mode オプション
+ * @return なし
+ * @details
+ * <pre>
  * Process various special text in the input file, including
  * the "menu" structures used by the "help file" system.
- *
  * Return FALSE on 'q' to exit from a deep, otherwise TRUE.
+ * </pre>
  */
-bool show_file(bool show_version, cptr name, cptr what, int line, int mode)
+bool show_file(bool show_version, cptr name, cptr what, int line, BIT_FLAGS mode)
 {
        int i, n, skey;
 
@@ -5710,12 +5300,7 @@ bool show_file(bool show_version, cptr name, cptr what, int line, int mode)
        if (!fff)
        {
                /* Caption */
-#ifdef JP
-sprintf(caption, "¥Ø¥ë¥×¡¦¥Õ¥¡¥¤¥ë'%s'", name);
-#else
-               sprintf(caption, "Help file '%s'", name);
-#endif
-
+               sprintf(caption, _("ヘルプ・ファイル'%s'", "Help file '%s'"), name);
 
                /* Build the filename */
                path_build(path, sizeof(path), ANGBAND_DIR_HELP, name);
@@ -5728,12 +5313,7 @@ sprintf(caption, "
        if (!fff)
        {
                /* Caption */
-#ifdef JP
-sprintf(caption, "¥¹¥Ý¥¤¥é¡¼¡¦¥Õ¥¡¥¤¥ë'%s'", name);
-#else
-               sprintf(caption, "Info file '%s'", name);
-#endif
-
+               sprintf(caption, _("スポイラー・ファイル'%s'", "Info file '%s'"), name);
 
                /* Build the filename */
                path_build(path, sizeof(path), ANGBAND_DIR_INFO, name);
@@ -5753,11 +5333,7 @@ sprintf(caption, "
                                path[i] = PATH_SEP[0];
 
                /* Caption */
-#ifdef JP
-sprintf(caption, "¥¹¥Ý¥¤¥é¡¼¡¦¥Õ¥¡¥¤¥ë'%s'", name);
-#else
-               sprintf(caption, "Info file '%s'", name);
-#endif
+               sprintf(caption, _("スポイラー・ファイル'%s'", "Info file '%s'"), name);
 
                /* Open the file */
                fff = my_fopen(path, "r");
@@ -5767,12 +5343,7 @@ sprintf(caption, "
        if (!fff)
        {
                /* Message */
-#ifdef JP
-msg_format("'%s'¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£", name);
-#else
-               msg_format("Cannot open '%s'.", name);
-#endif
-
+               msg_format(_("'%s'をオープンできません。", "Cannot open '%s'."), name);
                msg_print(NULL);
 
                /* Oops */
@@ -5934,24 +5505,13 @@ msg_format("'%s'
                /* Show a general "title" */
                if (show_version)
                {
-                       prt(format(
-#ifdef JP
-                               "[ÊѶòÈÚÅÜ %d.%d.%d, %s, %d/%d]",
-#else
-                               "[Hengband %d.%d.%d, %s, Line %d/%d]",
-#endif
-
+                       prt(format(_("[変愚蛮怒 %d.%d.%d, %s, %d/%d]", "[Hengband %d.%d.%d, %s, Line %d/%d]"),
                           FAKE_VER_MAJOR-10, FAKE_VER_MINOR, FAKE_VER_PATCH,
                           caption, line, size), 0, 0);
                }
                else
                {
-                       prt(format(
-#ifdef JP
-                               "[%s, %d/%d]",
-#else
-                               "[%s, Line %d/%d]",
-#endif
+                       prt(format(_("[%s, %d/%d]", "[%s, Line %d/%d]"),
                                caption, line, size), 0, 0);
                }
 
@@ -5959,12 +5519,7 @@ msg_format("'%s'
                if (size <= rows)
                {
                        /* Wait for it */
-#ifdef JP
-prt("[¥­¡¼:(?)¥Ø¥ë¥× (ESC)½ªÎ»]", hgt - 1, 0);
-#else
-                       prt("[Press ESC to exit.]", hgt - 1, 0);
-#endif
-
+                       prt(_("[キー:(?)ヘルプ (ESC)終了]", "[Press ESC to exit.]"), hgt - 1, 0);
                }
 
                /* Prompt -- large files */
@@ -5972,9 +5527,9 @@ prt("[
                {
 #ifdef JP
                        if(reverse)
-                               prt("[¥­¡¼:(RET/¥¹¥Ú¡¼¥¹)¢¬ (-)¢­ (?)¥Ø¥ë¥× (ESC)½ªÎ»]", hgt - 1, 0);
+                               prt("[キー:(RET/スペース)↑ (-)↓ (?)ヘルプ (ESC)終了]", hgt - 1, 0);
                        else
-                               prt("[¥­¡¼:(RET/¥¹¥Ú¡¼¥¹)¢­ (-)¢¬ (?)¥Ø¥ë¥× (ESC)½ªÎ»]", hgt - 1, 0);
+                               prt("[キー:(RET/スペース)↓ (-)↑ (?)ヘルプ (ESC)終了]", hgt - 1, 0);
 #else
                        prt("[Press Return, Space, -, =, /, |, or ESC to exit.]", hgt - 1, 0);
 #endif
@@ -5988,23 +5543,14 @@ prt("[
                /* Show the help for the help */
                case '?':
                        /* Hack - prevent silly recursion */
-#ifdef JP
-                       if (strcmp(name, "jhelpinfo.txt") != 0)
-                               show_file(TRUE, "jhelpinfo.txt", NULL, 0, mode);
-#else
-                       if (strcmp(name, "helpinfo.txt") != 0)
-                               show_file(TRUE, "helpinfo.txt", NULL, 0, mode);
-#endif
+                       if (strcmp(name, _("jhelpinfo.txt", "helpinfo.txt")) != 0)
+                               show_file(TRUE, _("jhelpinfo.txt", "helpinfo.txt"), NULL, 0, mode);
                        break;
 
                /* Hack -- try showing */
                case '=':
                        /* Get "shower" */
-#ifdef JP
-                       prt("¶¯Ä´: ", hgt - 1, 0);
-#else
-                       prt("Show: ", hgt - 1, 0);
-#endif
+                       prt(_("強調: ", "Show: "), hgt - 1, 0);
 
                        strcpy(back_str, shower_str);
                        if (askfor(shower_str, 80))
@@ -6026,11 +5572,7 @@ prt("[
                case '/':
                case KTRL('s'):
                        /* Get "finder" */
-#ifdef JP
-                       prt("¸¡º÷: ", hgt - 1, 0);
-#else
-                       prt("Find: ", hgt - 1, 0);
-#endif
+                       prt(_("検索: ", "Find: "), hgt - 1, 0);
 
                        strcpy(back_str, finder_str);
                        if (askfor(finder_str, 80))
@@ -6057,12 +5599,7 @@ prt("[
                case '#':
                        {
                                char tmp[81];
-#ifdef JP
-                               prt("¹Ô: ", hgt - 1, 0);
-#else
-                               prt("Goto Line: ", hgt - 1, 0);
-#endif
-
+                               prt(_("行: ", "Goto Line: "), hgt - 1, 0);
                                strcpy(tmp, "0");
 
                                if (askfor(tmp, 80)) line = atoi(tmp);
@@ -6083,13 +5620,8 @@ prt("[
                case '%':
                        {
                                char tmp[81];
-#ifdef JP
-                               prt("¥Õ¥¡¥¤¥ë¡¦¥Í¡¼¥à: ", hgt - 1, 0);
-                               strcpy(tmp, "jhelp.hlp");
-#else
-                               prt("Goto File: ", hgt - 1, 0);
-                               strcpy(tmp, "help.hlp");
-#endif
+                               prt(_("ファイル・ネーム: ", "Goto File: "), hgt - 1, 0);
+                               strcpy(tmp, _("jhelp.hlp", "help.hlp"));
 
                                if (askfor(tmp, 80))
                                {
@@ -6166,11 +5698,7 @@ prt("[
 
                        strcpy (xtmp, "");
 
-#ifdef JP
-                       if (!get_string("¥Õ¥¡¥¤¥ë̾: ", xtmp, 80)) continue;
-#else
-                       if (!get_string("File name: ", xtmp, 80)) continue;
-#endif
+                       if (!get_string(_("ファイル名: ", "File name: "), xtmp, 80)) continue;
 
                        /* Close it */
                        my_fclose(fff);
@@ -6186,16 +5714,12 @@ prt("[
                        /* Oops */
                        if (!(fff && ffp))
                        {
-#ifdef JP
-                               msg_print("¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó¡£");
-#else
-                               msg_print("Failed to open file.");
-#endif
+                               msg_print(_("ファイルを開けません。", "Failed to open file."));
                                skey = ESCAPE;
                                break;
                        }
 
-                       sprintf(xtmp, "%s: %s", player_name, what ? what : caption);
+                       sprintf(xtmp, "%s: %s", p_ptr->name, what ? what : caption);
                        my_fputs(ffp, xtmp, 80);
                        my_fputs(ffp, "\n", 80);
 
@@ -6231,8 +5755,11 @@ prt("[
 }
 
 
-/*
+/*!
+ * @brief ヘルプを表示するコマンドのメインルーチン
  * Peruse the On-Line-Help
+ * @return なし
+ * @details
  */
 void do_cmd_help(void)
 {
@@ -6240,20 +5767,19 @@ void do_cmd_help(void)
        screen_save();
 
        /* Peruse the main help file */
-#ifdef JP
-(void)show_file(TRUE, "jhelp.hlp", NULL, 0, 0);
-#else
-       (void)show_file(TRUE, "help.hlp", NULL, 0, 0);
-#endif
-
+       (void)show_file(TRUE, _("jhelp.hlp", "help.hlp"), NULL, 0, 0);
 
        /* Load screen */
        screen_load();
 }
 
 
-/*
+/*!
+ * @brief プレイヤーの名前をチェックして修正する
  * Process the player name.
+ * @param sf セーブファイル名に合わせた修正を行うならばTRUE
+ * @return なし
+ * @details
  * Extract a clean "base name".
  * Build the savefile name if needed.
  */
@@ -6265,42 +5791,28 @@ void process_player_name(bool sf)
        if (character_generated) strcpy(old_player_base, player_base);
 
        /* Cannot be too long */
-#if defined(MACINTOSH) || defined(MSDOS) || defined(USE_EMX) || defined(AMIGA) || defined(ACORN) || defined(VM)
-#ifdef MSDOS
-       if (strlen(player_name) > 8)
-#else
-       if (strlen(player_name) > 15)
-#endif
+#if defined(MACINTOSH) || defined(ACORN)
+       if (strlen(p_ptr->name) > 15)
        {
                /* Name too long */
-#ifdef JP
-quit_fmt("'%s'¤È¤¤¤¦Ì¾Á°¤ÏŤ¹¤®¤Þ¤¹¡ª", player_name);
-#else
-               quit_fmt("The name '%s' is too long!", player_name);
-#endif
-
+               quit_fmt(_("'%s'という名前は長すぎます!", "The name '%s' is too long!"), p_ptr->name);
        }
 #endif
 
        /* Cannot contain "icky" characters */
-       for (i = 0; player_name[i]; i++)
+       for (i = 0; p_ptr->name[i]; i++)
        {
                /* No control characters */
 #ifdef JP
-               if (iskanji(player_name[i])){i++;continue;}
-               if (iscntrl( (unsigned char)player_name[i]))
+               if (iskanji(p_ptr->name[i])){i++;continue;}
+               if (iscntrl( (unsigned char)p_ptr->name[i]))
 #else
-               if (iscntrl(player_name[i]))
+               if (iscntrl(p_ptr->name[i]))
 #endif
 
                {
                        /* Illegal characters */
-#ifdef JP
-quit_fmt("'%s' ¤È¤¤¤¦Ì¾Á°¤ÏÉÔÀµ¤Ê¥³¥ó¥È¥í¡¼¥ë¥³¡¼¥É¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£", player_name);
-#else
-                       quit_fmt("The name '%s' contains control chars!", player_name);
-#endif
-
+                       quit_fmt(_("'%s' という名前は不正なコントロールコードを含んでいます。", "The name '%s' contains control chars!"), p_ptr->name);
                }
        }
 
@@ -6308,12 +5820,12 @@ quit_fmt("'%s' 
 #ifdef MACINTOSH
 
        /* Extract "useful" letters */
-       for (i = 0; player_name[i]; i++)
+       for (i = 0; p_ptr->name[i]; i++)
        {
 #ifdef JP
-               unsigned char c = player_name[i];
+               unsigned char c = p_ptr->name[i];
 #else
-               char c = player_name[i];
+               char c = p_ptr->name[i];
 #endif
 
 
@@ -6327,21 +5839,21 @@ quit_fmt("'%s' 
 #else
 
        /* Extract "useful" letters */
-       for (i = 0; player_name[i]; i++)
+       for (i = 0; p_ptr->name[i]; i++)
        {
 #ifdef JP
-               unsigned char c = player_name[i];
+               unsigned char c = p_ptr->name[i];
 #else
-               char c = player_name[i];
+               char c = p_ptr->name[i];
 #endif
 
                /* Accept some letters */
 #ifdef JP
                if(iskanji(c)){
-                 if(k + 2 >= sizeof(player_base) || !player_name[i+1]) break;
+                 if(k + 2 >= sizeof(player_base) || !p_ptr->name[i+1]) break;
                  player_base[k++] = c;
                  i++;
-                 player_base[k++] = player_name[i];
+                 player_base[k++] = p_ptr->name[i];
                }
 #ifdef SJIS
                else if (iskana(c)) player_base[k++] = c;
@@ -6349,14 +5861,12 @@ quit_fmt("'%s' 
                else
 #endif
                /* Convert path separator to underscore */
-               if (!strncmp(PATH_SEP, player_name+i, strlen(PATH_SEP))){
+               if (!strncmp(PATH_SEP, p_ptr->name+i, strlen(PATH_SEP))){
                        player_base[k++] = '_';
                        i += strlen(PATH_SEP);
                }
                /* Convert some characters to underscore */
-#ifdef MSDOS
-               else if (my_strchr(" \"*+,./:;<=>?[\\]|", c)) player_base[k++] = '_';
-#elif defined(WINDOWS)
+#if defined(WINDOWS)
                else if (my_strchr("\"*,/:;<>?\\|", c)) player_base[k++] = '_';
 #endif
                else if (isprint(c)) player_base[k++] = c;
@@ -6364,14 +5874,6 @@ quit_fmt("'%s' 
 
 #endif
 
-
-#if defined(MSDOS)
-
-       /* Hack -- max length */
-       if (k > 8) k = 8;
-
-#endif
-
        /* Terminate */
        player_base[k] = '\0';
 
@@ -6418,11 +5920,6 @@ quit_fmt("'%s' 
                (void)sprintf(temp, "%s", player_base);
 #endif
 
-#ifdef VM
-               /* Hack -- support "flat directory" usage on VM/ESA */
-               (void)sprintf(temp, "%s.sv", player_base);
-#endif /* VM */
-
                /* Build the filename */
                path_build(savefile, sizeof(savefile), ANGBAND_DIR_SAVE, temp);
        }
@@ -6435,48 +5932,46 @@ quit_fmt("'%s' 
 }
 
 
-/*
+/*!
+ * @brief プレイヤーの名前を変更するコマンドのメインルーチン
  * Gets a name for the character, reacting to name changes.
- *
+ * @return なし
+ * @details
+ * <pre>
  * Assumes that "display_player(0)" has just been called
- *
  * Perhaps we should NOT ask for a name (at "birth()") on
  * Unix machines?  XXX XXX
- *
  * What a horrible name for a global function.  XXX XXX XXX
+ * </pre>
  */
 void get_name(void)
 {
        char tmp[64];
 
        /* Save the player name */
-       strcpy(tmp, player_name);
+       strcpy(tmp, p_ptr->name);
 
        /* Prompt for a new name */
-#ifdef JP
-       if (get_string("¥­¥ã¥é¥¯¥¿¡¼¤Î̾Á°¤òÆþÎϤ·¤Æ²¼¤µ¤¤: ", tmp, 15))
-#else
-       if (get_string("Enter a name for your character: ", tmp, 15))
-#endif
+       if (get_string(_("キャラクターの名前を入力して下さい: ", "Enter a name for your character: "), tmp, 15))
        {
                /* Use the name */
-               strcpy(player_name, tmp);
+               strcpy(p_ptr->name, tmp);
        }
 
-       if (0 == strlen(player_name))
+       if (0 == strlen(p_ptr->name))
        {
                /* Use default name */
-               strcpy(player_name, "PLAYER");
+               strcpy(p_ptr->name, "PLAYER");
        }
 
        strcpy(tmp,ap_ptr->title);
 #ifdef JP
        if(ap_ptr->no == 1)
-               strcat(tmp,"¤Î");
+               strcat(tmp,"");
 #else
        strcat(tmp, " ");
 #endif
-       strcat(tmp,player_name);
+       strcat(tmp,p_ptr->name);
 
        /* Re-Draw the name (in light blue) */
        Term_erase(34, 1, 255);
@@ -6488,8 +5983,11 @@ void get_name(void)
 
 
 
-/*
+/*!
+ * @brief 自殺するコマンドのメインルーチン
  * Hack -- commit suicide
+ * @return なし
+ * @details
  */
 void do_cmd_suicide(void)
 {
@@ -6502,39 +6000,28 @@ void do_cmd_suicide(void)
        if (p_ptr->total_winner)
        {
                /* Verify */
-#ifdef JP
-if (!get_check_strict("°úÂष¤Þ¤¹¤«? ", CHECK_NO_HISTORY)) return;
-#else
-               if (!get_check_strict("Do you want to retire? ", CHECK_NO_HISTORY)) return;
-#endif
-
+               if (!get_check_strict(_("引退しますか? ", "Do you want to retire? "), CHECK_NO_HISTORY)) return;
        }
 
        /* Verify Suicide */
        else
        {
                /* Verify */
-#ifdef JP
-if (!get_check("ËÜÅö¤Ë¼«»¦¤·¤Þ¤¹¤«¡©")) return;
-#else
-               if (!get_check("Do you really want to commit suicide? ")) return;
-#endif
+               if (!get_check(_("本当に自殺しますか?", "Do you really want to commit suicide? "))) return;
        }
 
 
        if (!p_ptr->noscore)
        {
                /* Special Verification for suicide */
-#ifdef JP
-prt("³Îǧ¤Î¤¿¤á '@' ¤ò²¡¤·¤Æ²¼¤µ¤¤¡£", 0, 0);
-#else
-               prt("Please verify SUICIDE by typing the '@' sign: ", 0, 0);
-#endif
+               prt(_("確認のため '@' を押して下さい。", "Please verify SUICIDE by typing the '@' sign: "), 0, 0);
 
                flush();
                i = inkey();
                prt("", 0, 0);
                if (i != '@') return;
+
+               play_music(TERM_XTRA_MUSIC_BASIC, MUSIC_BASIC_GAMEOVER);
        }
 
        /* Initialize "last message" buffer */
@@ -6545,20 +6032,12 @@ prt("
        if (p_ptr->total_winner && last_words)
        {
                char buf[1024] = "";
-
+               play_music(TERM_XTRA_MUSIC_BASIC, MUSIC_BASIC_WINNER);
                do
                {
-#ifdef JP
-                       while (!get_string("*¾¡Íø*¥á¥Ã¥»¡¼¥¸: ", buf, sizeof buf)) ;
-#else
-                       while (!get_string("*Winning* message: ", buf, sizeof buf)) ;
-#endif
+                       while (!get_string(_("*勝利*メッセージ: ", "*Winning* message: "), buf, sizeof buf)) ;
                }
-#ifdef JP
-               while (!get_check_strict("¤è¤í¤·¤¤¤Ç¤¹¤«¡©", CHECK_NO_HISTORY));
-#else
-               while (!get_check_strict("Are you sure? ", CHECK_NO_HISTORY));
-#endif
+               while (!get_check_strict(_("よろしいですか?", "Are you sure? "), CHECK_NO_HISTORY));
 
                if (buf[0])
                {
@@ -6578,41 +6057,29 @@ prt("
 
        if (!p_ptr->total_winner)
        {
-#ifdef JP
-               do_cmd_write_nikki(NIKKI_BUNSHOU, 0, "¥À¥ó¥¸¥ç¥ó¤Îõº÷¤ËÀä˾¤·¤Æ¼«»¦¤·¤¿¡£");
-               do_cmd_write_nikki(NIKKI_GAMESTART, 1, "-------- ¥²¡¼¥à¥ª¡¼¥Ð¡¼ --------");
-#else
-               do_cmd_write_nikki(NIKKI_BUNSHOU, 0, "give up all hope to commit suicide.");
-               do_cmd_write_nikki(NIKKI_GAMESTART, 1, "--------   Game  Over   --------");
-#endif
+               do_cmd_write_nikki(NIKKI_BUNSHOU, 0, _("ダンジョンの探索に絶望して自殺した。", "give up all hope to commit suicide."));
+               do_cmd_write_nikki(NIKKI_GAMESTART, 1, _("-------- ゲームオーバー --------", "--------   Game  Over   --------"));
                do_cmd_write_nikki(NIKKI_BUNSHOU, 1, "\n\n\n\n");
        }
 
        /* Cause of death */
-#ifdef JP
-(void)strcpy(p_ptr->died_from, "ÅÓÃ潪λ");
-#else
-       (void)strcpy(p_ptr->died_from, "Quitting");
-#endif
-
+       (void)strcpy(p_ptr->died_from, _("途中終了", "Quitting"));
 }
 
 
-
-/*
+/*!
+ * @brief セーブするコマンドのメインルーチン
  * Save the game
+ * @param is_autosave オートセーブ中の処理ならばTRUE
+ * @return なし
+ * @details
  */
 void do_cmd_save_game(int is_autosave)
 {
        /* Autosaves do not disturb */
        if (is_autosave)
        {
-#ifdef JP
-msg_print("¼«Æ°¥»¡¼¥ÖÃæ");
-#else
-               msg_print("Autosaving the game...");
-#endif
-
+               msg_print(_("自動セーブ中", "Autosaving the game..."));
        }
        else
        {
@@ -6627,23 +6094,13 @@ msg_print("
        handle_stuff();
 
        /* Message */
-#ifdef JP
-prt("¥²¡¼¥à¤ò¥»¡¼¥Ö¤·¤Æ¤¤¤Þ¤¹...", 0, 0);
-#else
-       prt("Saving game...", 0, 0);
-#endif
-
+       prt(_("ゲームをセーブしています...", "Saving game..."), 0, 0);
 
        /* Refresh */
        Term_fresh();
 
        /* The player is not dead */
-#ifdef JP
-(void)strcpy(p_ptr->died_from, "(¥»¡¼¥Ö)");
-#else
-       (void)strcpy(p_ptr->died_from, "(saved)");
-#endif
-
+       (void)strcpy(p_ptr->died_from, _("(セーブ)", "(saved)"));
 
        /* Forbid suspend */
        signals_ignore_tstp();
@@ -6651,23 +6108,13 @@ prt("
        /* Save the player */
        if (save_player())
        {
-#ifdef JP
-prt("¥²¡¼¥à¤ò¥»¡¼¥Ö¤·¤Æ¤¤¤Þ¤¹... ½ªÎ»", 0, 0);
-#else
-               prt("Saving game... done.", 0, 0);
-#endif
-
+               prt(_("ゲームをセーブしています... 終了", "Saving game... done."), 0, 0);
        }
 
-       /* Save failed (oops) */
-       else
-       {
-#ifdef JP
-prt("¥²¡¼¥à¤ò¥»¡¼¥Ö¤·¤Æ¤¤¤Þ¤¹... ¼ºÇÔ¡ª", 0, 0);
-#else
-               prt("Saving game... failed!", 0, 0);
-#endif
-
+       /* Save failed (oops) */
+       else
+       {
+               prt(_("ゲームをセーブしています... 失敗!", "Saving game... failed!"), 0, 0);
        }
 
        /* Allow suspend again */
@@ -6677,14 +6124,10 @@ prt("
        Term_fresh();
 
        /* Note that the player is not dead */
-#ifdef JP
-(void)strcpy(p_ptr->died_from, "(¸µµ¤¤ËÀ¸¤­¤Æ¤¤¤ë)");
-#else
-       (void)strcpy(p_ptr->died_from, "(alive and well)");
-#endif
+       (void)strcpy(p_ptr->died_from, _("(元気に生きている)", "(alive and well)"));
 
        /* HACK -- don't get sanity blast on updating view */
-       hack_mind = FALSE;
+       is_loading_now = FALSE;
 
        /* Update stuff */
        update_stuff();
@@ -6693,12 +6136,15 @@ prt("
        mproc_init();
 
        /* HACK -- reset the hackish flag */
-       hack_mind = TRUE;
+       is_loading_now = TRUE;
 }
 
 
-/*
+/*!
+ * @brief セーブ後にゲーム中断フラグを立てる/
  * Save the game and exit
+ * @return なし
+ * @details
  */
 void do_cmd_save_and_exit(void)
 {
@@ -6706,21 +6152,20 @@ void do_cmd_save_and_exit(void)
 
        /* Leaving */
        p_ptr->leaving = TRUE;
-#ifdef JP
-       do_cmd_write_nikki(NIKKI_GAMESTART, 0, "----¥²¡¼¥àÃæÃÇ----");
-#else
-       do_cmd_write_nikki(NIKKI_GAMESTART, 0, "---- Save and Exit Game ----");
-#endif
+       do_cmd_write_nikki(NIKKI_GAMESTART, 0, _("----ゲーム中断----", "---- Save and Exit Game ----"));
 }
 
 
-/*
+/*!
+ * @brief スコアを計算する /
  * Hack -- Calculates the total number of points earned                -JWT-
+ * @return なし
+ * @details
  */
 long total_points(void)
 {
        int i, mult = 100;
-       s16b max_dl = 0;
+       DEPTH max_dl = 0;
        u32b point, point_h, point_l;
        int arena_win = MIN(p_ptr->arena_number, MAX_ARENA_MONS);
 
@@ -6777,8 +6222,11 @@ long total_points(void)
 
 #define GRAVE_LINE_WIDTH 31
 
-/*
+/*!
+ * @brief 墓石の真ん中に文字列を書き込む /
  * Centers a string within a GRAVE_LINE_WIDTH character string         -JWT-
+ * @return なし
+ * @details
  */
 static void center_string(char *buf, cptr str)
 {
@@ -6796,13 +6244,15 @@ static void center_string(char *buf, cptr str)
 
 
 #if 0
-/*
+/*!
+ * @brief 骨ファイル出力 /
  * Save a "bones" file for a dead character
- *
+ * @details
+ * <pre>
  * Note that we will not use these files until Angband 2.8.0, and
  * then we will only use the name and level on which death occured.
- *
  * Should probably attempt some form of locking...
+ * </pre>
  */
 static void make_bones(void)
 {
@@ -6850,7 +6300,7 @@ static void make_bones(void)
                        if (!fp) return;
 
                        /* Save the info */
-                       fprintf(fp, "%s\n", player_name);
+                       fprintf(fp, "%s\n", p_ptr->name);
                        fprintf(fp, "%d\n", p_ptr->mhp);
                        fprintf(fp, "%d\n", p_ptr->prace);
                        fprintf(fp, "%d\n", p_ptr->pclass);
@@ -6869,8 +6319,10 @@ static void make_bones(void)
 bool (*tombstone_aux)(void) = NULL;
 
 
-/*
+/*!
+ * @brief 墓石のアスキーアート表示 /
  * Display a "tomb-stone"
+ * @return なし
  */
 static void print_tomb(void)
 {
@@ -6901,11 +6353,7 @@ static void print_tomb(void)
                Term_clear();
 
                /* Build the filename */
-#ifdef JP
-               path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, "dead_j.txt");
-#else
-               path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, "dead.txt");
-#endif
+               path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, _("dead_j.txt", "dead.txt"));
 
                /* Open the News file */
                fp = my_fopen(buf, "r");
@@ -6930,8 +6378,8 @@ static void print_tomb(void)
                if (p_ptr->total_winner || (p_ptr->lev > PY_MAX_LEVEL))
                {
 #ifdef JP
-                       /* ±ÑÆüÀÚ¤êÂؤ¨ */
-                       p= "°ÎÂç¤Ê¤ë¼Ô";
+                       /* 英日切り替え */
+                       p= "偉大なる者";
 #else
                        p = "Magnificent";
 #endif
@@ -6943,7 +6391,7 @@ static void print_tomb(void)
                        p =  player_title[p_ptr->pclass][(p_ptr->lev - 1) / 5];
                }
 
-               center_string(buf, player_name);
+               center_string(buf, p_ptr->name);
                put_str(buf, 6, 11);
 
 #ifndef JP
@@ -6957,43 +6405,31 @@ static void print_tomb(void)
                center_string(buf, cp_ptr->title);
                put_str(buf, 10, 11);
 
-#ifdef JP
-               (void)sprintf(tmp, "¥ì¥Ù¥ë: %d", (int)p_ptr->lev);
-#else
-               (void)sprintf(tmp, "Level: %d", (int)p_ptr->lev);
-#endif
+               (void)sprintf(tmp, _("レベル: %d", "Level: %d"), (int)p_ptr->lev);
                center_string(buf, tmp);
                put_str(buf, 11, 11);
 
-#ifdef JP
-               (void)sprintf(tmp, "·Ð¸³ÃÍ: %ld", (long)p_ptr->exp);
-#else
-               (void)sprintf(tmp, "Exp: %ld", (long)p_ptr->exp);
-#endif
+               (void)sprintf(tmp, _("経験値: %ld", "Exp: %ld"), (long)p_ptr->exp);
                center_string(buf, tmp);
                put_str(buf, 12, 11);
 
-#ifdef JP
-               (void)sprintf(tmp, "½ê»ý¶â: %ld", (long)p_ptr->au);
-#else
-               (void)sprintf(tmp, "AU: %ld", (long)p_ptr->au);
-#endif
+               (void)sprintf(tmp, _("所持金: %ld", "AU: %ld"), (long)p_ptr->au);
                center_string(buf, tmp);
                put_str(buf, 13, 11);
 
 #ifdef JP
-               /* Êè¤Ë¹ï¤à¸ÀÍÕ¤ò¥ª¥ê¥¸¥Ê¥ë¤è¤êºÙ¤«¤¯É½¼¨ */
-               if (streq(p_ptr->died_from, "ÅÓÃ潪λ"))
+               /* 墓に刻む言葉をオリジナルより細かく表示 */
+               if (streq(p_ptr->died_from, "途中終了"))
                {
-                       strcpy(tmp, "<¼«»¦>");
+                       strcpy(tmp, "<自殺>");
                }
                else if (streq(p_ptr->died_from, "ripe"))
                {
-                       strcpy(tmp, "°úÂà¸å¤ËÅ·¼÷¤òÁ´¤¦");
+                       strcpy(tmp, "引退後に天寿を全う");
                }
                else if (streq(p_ptr->died_from, "Seppuku"))
                {
-                       strcpy(tmp, "¾¡Íø¤Î¸å¡¢ÀÚÊ¢");
+                       strcpy(tmp, "勝利の後、切腹");
                }
                else
                {
@@ -7005,12 +6441,12 @@ static void print_tomb(void)
                                if (*(t + strlen(t) + 1)) /* Does 3rd line exist? */
                                {
                                        for (t = dummy + strlen(dummy) - 2; iskanji(*(t - 1)); t--) /* Loop */;
-                                       strcpy(t, "¡Ä");
+                                       strcpy(t, "");
                                }
-                               else if (my_strstr(tmp, "¡Ø") && suffix(dummy, "¡Ù"))
+                               else if (my_strstr(tmp, "『") && suffix(dummy, "』"))
                                {
                                        char dummy2[80];
-                                       char *name_head = my_strstr(tmp, "¡Ø");
+                                       char *name_head = my_strstr(tmp, "");
                                        sprintf(dummy2, "%s%s", name_head, dummy);
                                        if (strlen(dummy2) <= GRAVE_LINE_WIDTH)
                                        {
@@ -7018,10 +6454,10 @@ static void print_tomb(void)
                                                *name_head = '\0';
                                        }
                                }
-                               else if (my_strstr(tmp, "¡Ö") && suffix(dummy, "¡×"))
+                               else if (my_strstr(tmp, "「") && suffix(dummy, "」"))
                                {
                                        char dummy2[80];
-                                       char *name_head = my_strstr(tmp, "¡Ö");
+                                       char *name_head = my_strstr(tmp, "");
                                        sprintf(dummy2, "%s%s", name_head, dummy);
                                        if (strlen(dummy2) <= GRAVE_LINE_WIDTH)
                                        {
@@ -7041,25 +6477,25 @@ static void print_tomb(void)
                {
                        if (dun_level == 0)
                        {
-                               cptr town = p_ptr->town_num ? "³¹" : "¹ÓÌî";
-                               if (streq(p_ptr->died_from, "ÅÓÃ潪λ"))
+                               cptr field_name = p_ptr->town_num ? "街" : "荒野";
+                               if (streq(p_ptr->died_from, "途中終了"))
                                {
-                                       sprintf(tmp, "%s¤Ç»à¤ó¤À", town);
+                                       sprintf(tmp, "%sで死んだ", field_name);
                                }
                                else
                                {
-                                       sprintf(tmp, "¤Ë%s¤Ç»¦¤µ¤ì¤¿", town);
+                                       sprintf(tmp, "に%sで殺された", field_name);
                                }
                        }
                        else
                        {
-                               if (streq(p_ptr->died_from, "ÅÓÃ潪λ"))
+                               if (streq(p_ptr->died_from, "途中終了"))
                                {
-                                       sprintf(tmp, "Ãϲ¼ %d ³¬¤Ç»à¤ó¤À", dun_level);
+                                       sprintf(tmp, "地下 %d 階で死んだ", (int)dun_level);
                                }
                                else
                                {
-                                       sprintf(tmp, "¤ËÃϲ¼ %d ³¬¤Ç»¦¤µ¤ì¤¿", dun_level);
+                                       sprintf(tmp, "に地下 %d 階で殺された", (int)dun_level);
                                }
                        }
                        center_string(buf, tmp);
@@ -7090,18 +6526,15 @@ static void print_tomb(void)
                (void)sprintf(tmp, "%-.24s", ctime(&ct));
                center_string(buf, tmp);
                put_str(buf, 17, 11);
-
-#ifdef JP
-               msg_format("¤µ¤è¤¦¤Ê¤é¡¢%s!", player_name);
-#else
-               msg_format("Goodbye, %s!", player_name);
-#endif
+               msg_format(_("さようなら、%s!", "Goodbye, %s!"), p_ptr->name);
        }
 }
 
 
-/*
+/*!
+ * @brief 死亡、引退時の簡易ステータス表示 /
  * Display some character info
+ * @return なし
  */
 static void show_info(void)
 {
@@ -7154,14 +6587,8 @@ static void show_info(void)
 
 
        /* Describe options */
-#ifdef JP
-prt("¥­¥ã¥é¥¯¥¿¡¼¤Îµ­Ï¿¤ò¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£", 21, 0);
-prt("¥ê¥¿¡¼¥ó¥­¡¼¤Ç¥­¥ã¥é¥¯¥¿¡¼¤ò¸«¤Þ¤¹¡£ESC¤ÇÃæÃǤ·¤Þ¤¹¡£", 22, 0);
-#else
-       prt("You may now dump a character record to one or more files.", 21, 0);
-       prt("Then, hit RETURN to see the character, or ESC to abort.", 22, 0);
-#endif
-
+       prt(_("キャラクターの記録をファイルに書き出すことができます。", "You may now dump a character record to one or more files."), 21, 0);
+       prt(_("リターンキーでキャラクターを見ます。ESCで中断します。", "Then, hit RETURN to see the character, or ESC to abort."), 22, 0);
 
        /* Dump character records as requested */
        while (TRUE)
@@ -7169,12 +6596,7 @@ prt("
                char out_val[160];
 
                /* Prompt */
-#ifdef JP
-put_str("¥Õ¥¡¥¤¥ë¥Í¡¼¥à: ", 23, 0);
-#else
-               put_str("Filename: ", 23, 0);
-#endif
-
+               put_str(_("ファイルネーム: ", "Filename: "), 23, 0);
 
                /* Default */
                strcpy(out_val, "");
@@ -7201,12 +6623,7 @@ put_str("
        display_player(0);
 
        /* Prompt for inventory */
-#ifdef JP
-prt("²¿¤«¥­¡¼¤ò²¡¤¹¤È¤µ¤é¤Ë¾ðÊó¤¬Â³¤­¤Þ¤¹ (ESC¤ÇÃæÃÇ): ", 23, 0);
-#else
-       prt("Hit any key to see more information (ESC to abort): ", 23, 0);
-#endif
-
+       prt(_("何かキーを押すとさらに情報が続きます (ESCで中断): ", "Hit any key to see more information (ESC to abort): "), 23, 0);
 
        /* Allow abort at this point */
        if (inkey() == ESCAPE) return;
@@ -7220,11 +6637,7 @@ prt("
                Term_clear();
                item_tester_full = TRUE;
                (void)show_equip(0);
-#ifdef JP
-prt("ÁõÈ÷¤·¤Æ¤¤¤¿¥¢¥¤¥Æ¥à: -³¤¯-", 0, 0);
-#else
-               prt("You are using: -more-", 0, 0);
-#endif
+               prt(_("装備していたアイテム: -続く-", "You are using: -more-"), 0, 0);
 
                if (inkey() == ESCAPE) return;
        }
@@ -7235,11 +6648,7 @@ prt("
                Term_clear();
                item_tester_full = TRUE;
                (void)show_inven(0);
-#ifdef JP
-prt("»ý¤Ã¤Æ¤¤¤¿¥¢¥¤¥Æ¥à: -³¤¯-", 0, 0);
-#else
-               prt("You are carrying: -more-", 0, 0);
-#endif
+               prt(_("持っていたアイテム: -続く-", "You are carrying: -more-"), 0, 0);
 
                if (inkey() == ESCAPE) return;
        }
@@ -7277,12 +6686,7 @@ prt("
                                }
 
                                /* Caption */
-#ifdef JP
-prt(format("²æ¤¬²È¤ËÃÖ¤¤¤Æ¤¢¤Ã¤¿¥¢¥¤¥Æ¥à ( %d ¥Ú¡¼¥¸): -³¤¯-", k+1), 0, 0);
-#else
-                               prt(format("Your home contains (page %d): -more-", k+1), 0, 0);
-#endif
-
+                               prt(format(_("我が家に置いてあったアイテム ( %d ページ): -続く-", "Your home contains (page %d): -more-"), k+1), 0, 0);
 
                                /* Wait for it */
                                if (inkey() == ESCAPE) return;
@@ -7291,7 +6695,11 @@ prt(format("
        }
 }
 
-
+/*!
+ * @brief スコアファイル出力
+ * Display some character info
+ * @return なし
+ */
 static bool check_score(void)
 {
        /* Clear screen */
@@ -7300,12 +6708,7 @@ static bool check_score(void)
        /* No score file */
        if (highscore_fd < 0)
        {
-#ifdef JP
-msg_print("¥¹¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤¬»ÈÍѤǤ­¤Þ¤»¤ó¡£");
-#else
-               msg_print("Score file unavailable.");
-#endif
-
+               msg_print(_("スコア・ファイルが使用できません。", "Score file unavailable."));
                msg_print(NULL);
                return FALSE;
        }
@@ -7314,12 +6717,7 @@ msg_print("
        /* Wizard-mode pre-empts scoring */
        if (p_ptr->noscore & 0x000F)
        {
-#ifdef JP
-msg_print("¥¦¥£¥¶¡¼¥É¡¦¥â¡¼¥É¤Ç¤Ï¥¹¥³¥¢¤¬µ­Ï¿¤µ¤ì¤Þ¤»¤ó¡£");
-#else
-               msg_print("Score not registered for wizards.");
-#endif
-
+               msg_print(_("ウィザード・モードではスコアが記録されません。", "Score not registered for wizards."));
                msg_print(NULL);
                return FALSE;
        }
@@ -7329,12 +6727,7 @@ msg_print("
        /* Borg-mode pre-empts scoring */
        if (p_ptr->noscore & 0x00F0)
        {
-#ifdef JP
-msg_print("¥Ü¡¼¥°¡¦¥â¡¼¥É¤Ç¤Ï¥¹¥³¥¢¤¬µ­Ï¿¤µ¤ì¤Þ¤»¤ó¡£");
-#else
-               msg_print("Score not registered for borgs.");
-#endif
-
+               msg_print(_("ボーグ・モードではスコアが記録されません。", "Score not registered for borgs."));
                msg_print(NULL);
                return FALSE;
        }
@@ -7344,66 +6737,45 @@ msg_print("
        /* Cheaters are not scored */
        if (p_ptr->noscore & 0xFF00)
        {
-#ifdef JP
-msg_print("º¾µ½¤ò¤ä¤Ã¤¿¿Í¤Ï¥¹¥³¥¢¤¬µ­Ï¿¤µ¤ì¤Þ¤»¤ó¡£");
-#else
-               msg_print("Score not registered for cheaters.");
-#endif
-
+               msg_print(_("詐欺をやった人はスコアが記録されません。", "Score not registered for cheaters."));
                msg_print(NULL);
                return FALSE;
        }
 #endif
 
        /* Interupted */
-#ifdef JP
-if (!p_ptr->total_winner && streq(p_ptr->died_from, "¶¯À©½ªÎ»"))
-#else
-       if (!p_ptr->total_winner && streq(p_ptr->died_from, "Interrupting"))
-#endif
-
+       if (!p_ptr->total_winner && streq(p_ptr->died_from, _("強制終了", "Interrupting")))
        {
-#ifdef JP
-msg_print("¶¯À©½ªÎ»¤Î¤¿¤á¥¹¥³¥¢¤¬µ­Ï¿¤µ¤ì¤Þ¤»¤ó¡£");
-#else
-               msg_print("Score not registered due to interruption.");
-#endif
-
+               msg_print(_("強制終了のためスコアが記録されません。", "Score not registered due to interruption."));
                msg_print(NULL);
                return FALSE;
        }
 
        /* Quitter */
-#ifdef JP
-if (!p_ptr->total_winner && streq(p_ptr->died_from, "ÅÓÃ潪λ"))
-#else
-       if (!p_ptr->total_winner && streq(p_ptr->died_from, "Quitting"))
-#endif
-
+       if (!p_ptr->total_winner && streq(p_ptr->died_from, _("途中終了", "Quitting")))
        {
-#ifdef JP
-msg_print("ÅÓÃ潪λ¤Î¤¿¤á¥¹¥³¥¢¤¬µ­Ï¿¤µ¤ì¤Þ¤»¤ó¡£");
-#else
-               msg_print("Score not registered due to quitting.");
-#endif
-
+               msg_print(_("途中終了のためスコアが記録されません。", "Score not registered due to quitting."));
                msg_print(NULL);
                return FALSE;
        }
        return TRUE;
 }
 
-/*
+/*!
+ * @brief ゲーム終了処理 /
  * Close up the current game (player may or may not be dead)
- *
+ * @return なし
+ * @details
+ * <pre>
  * This function is called only from "main.c" and "signals.c".
+ * </pre>
  */
 void close_game(void)
 {
        char buf[1024];
        bool do_send = TRUE;
 
-/*     cptr p = "[i:¥­¥ã¥é¥¯¥¿¤Î¾ðÊó, f:¥Õ¥¡¥¤¥ë½ñ¤­½Ð¤·, t:¥¹¥³¥¢, x:*´ÕÄê*, ESC:¥²¡¼¥à½ªÎ»]"; */
+/*     cptr p = "[i:キャラクタの情報, f:ファイル書き出し, t:スコア, x:*鑑定*, ESC:ゲーム終了]"; */
 
        /* Handle stuff */
        handle_stuff();
@@ -7442,18 +6814,9 @@ void close_game(void)
                if (p_ptr->total_winner) kingly();
 
                /* Save memories */
-#ifdef JP
-               if (!cheat_save || get_check("»à¤ó¤À¥Ç¡¼¥¿¤ò¥»¡¼¥Ö¤·¤Þ¤¹¤«¡© "))
-#else
-               if (!cheat_save || get_check("Save death? "))
-#endif
+               if (!cheat_save || get_check(_("死んだデータをセーブしますか? ", "Save death? ")))
                {
-
-#ifdef JP
-if (!save_player()) msg_print("¥»¡¼¥Ö¼ºÇÔ¡ª");
-#else
-                       if (!save_player()) msg_print("death save failed!");
-#endif
+                       if (!save_player()) msg_print(_("セーブ失敗!", "death save failed!"));
                }
                else do_send = FALSE;
 
@@ -7472,19 +6835,12 @@ if (!save_player()) msg_print("
                {
                        if ((!send_world_score(do_send)))
                        {
-#ifdef JP
-                               if (get_check_strict("¸å¤Ç¥¹¥³¥¢¤òÅÐÏ¿¤¹¤ë¤¿¤á¤ËÂÔµ¡¤·¤Þ¤¹¤«¡©", (CHECK_NO_ESCAPE | CHECK_NO_HISTORY)))
-#else
-                               if (get_check_strict("Stand by for later score registration? ", (CHECK_NO_ESCAPE | CHECK_NO_HISTORY)))
-#endif
+                               if (get_check_strict(_("後でスコアを登録するために待機しますか?", "Stand by for later score registration? "),
+                                                               (CHECK_NO_ESCAPE | CHECK_NO_HISTORY)))
                                {
                                        p_ptr->wait_report_score = TRUE;
                                        p_ptr->is_dead = FALSE;
-#ifdef JP
-                                       if (!save_player()) msg_print("¥»¡¼¥Ö¼ºÇÔ¡ª");
-#else
-                                       if (!save_player()) msg_print("death save failed!");
-#endif
+                                       if (!save_player()) msg_print(_("セーブ失敗!", "death save failed!"));
                                }
                        }
                        if (!p_ptr->wait_report_score)
@@ -7507,12 +6863,8 @@ if (!save_player()) msg_print("
                do_cmd_save_game(FALSE);
 
                /* Prompt for scores XXX XXX XXX */
-#ifdef JP
-prt("¥ê¥¿¡¼¥ó¥­¡¼¤« ESC ¥­¡¼¤ò²¡¤·¤Æ²¼¤µ¤¤¡£", 0, 40);
-#else
-               prt("Press Return (or Escape).", 0, 40);
-#endif
-
+               prt(_("リターンキーか ESC キーを押して下さい。", "Press Return (or Escape)."), 0, 40);
+               play_music(TERM_XTRA_MUSIC_BASIC, MUSIC_BASIC_EXIT);
 
                /* Predict score (or ESCAPE) */
                if (inkey() != ESCAPE) predict_score();
@@ -7533,23 +6885,22 @@ prt("
 }
 
 
-/*
+/*!
+ * @brief 異常発生時のゲーム緊急終了処理 /
  * Handle abrupt death of the visual system
- *
+ * @return なし
+ * @details
+ * <pre>
  * This routine is called only in very rare situations, and only
  * by certain visual systems, when they experience fatal errors.
- *
  * XXX XXX Hack -- clear the death flag when creating a HANGUP
  * save file so that player can see tombstone when restart.
+ * </pre>
  */
 void exit_game_panic(void)
 {
        /* If nothing important has happened, just quit */
-#ifdef JP
-       if (!character_generated || character_saved) quit("¶ÛµÞ»öÂÖ");
-#else
-       if (!character_generated || character_saved) quit("panic");
-#endif
+       if (!character_generated || character_saved) quit(_("緊急事態", "panic"));
 
        /* Mega-Hack -- see "msg_print()" */
        msg_flag = FALSE;
@@ -7570,33 +6921,27 @@ void exit_game_panic(void)
        signals_ignore_tstp();
 
        /* Indicate panic save */
-#ifdef JP
-       (void)strcpy(p_ptr->died_from, "(¶ÛµÞ¥»¡¼¥Ö)");
-#else
-       (void)strcpy(p_ptr->died_from, "(panic save)");
-#endif
-
+       (void)strcpy(p_ptr->died_from, _("(緊急セーブ)", "(panic save)"));
 
        /* Panic save, or get worried */
-#ifdef JP
-       if (!save_player()) quit("¶ÛµÞ¥»¡¼¥Ö¼ºÇÔ¡ª");
-#else
-       if (!save_player()) quit("panic save failed!");
-#endif
-
+       if (!save_player()) quit(_("緊急セーブ失敗!", "panic save failed!"));
 
        /* Successful panic save */
-#ifdef JP
-       quit("¶ÛµÞ¥»¡¼¥ÖÀ®¸ù¡ª");
-#else
-       quit("panic save succeeded!");
-#endif
+       quit(_("緊急セーブ成功!", "panic save succeeded!"));
 }
 
 
-/*
+/*!
+ * @brief ファイルからランダムに行を一つ取得する /
  * Get a random line from a file
+ * @param file_name ファイル名
+ * @param entry 特定条件時のN:タグヘッダID
+ * @param output 出力先の文字列参照ポインタ
+ * @return エラーコード
+ * @details
+ * <pre>
  * Based on the monster speech patch by Matt Graham,
+ * </pre>
  */
 errr get_rnd_line(cptr file_name, int entry, char *output)
 {
@@ -7700,6 +7045,15 @@ errr get_rnd_line(cptr file_name, int entry, char *output)
 
 
 #ifdef JP
+/*!
+ * @brief ファイルからランダムに行を一つ取得する(日本語文字列のみ) /
+ * @param file_name ファイル名
+ * @param entry 特定条件時のN:タグヘッダID
+ * @param output 出力先の文字列参照ポインタ
+ * @param count 試行回数
+ * @return エラーコード
+ * @details
+ */
 errr get_rnd_line_jonly(cptr file_name, int entry, char *output, int count)
 {
        int  i, j, kanji;
@@ -7717,8 +7071,10 @@ errr get_rnd_line_jonly(cptr file_name, int entry, char *output, int count)
 }
 #endif
 
-/*
- * Process file for auto picker/destroyer.
+/*!
+ * @brief 自動拾いファイルを読み込む /
+ * @param name ファイル名
+ * @details
  */
 errr process_autopick_file(cptr name)
 {
@@ -7736,8 +7092,12 @@ errr process_autopick_file(cptr name)
 }
 
 
-/*
+/*!
+ * @brief プレイヤーの生い立ちファイルを読み込む /
  * Process file for player's history editor.
+ * @param name ファイル名
+ * @return エラーコード
+ * @details
  */
 errr process_histpref_file(cptr name)
 {
@@ -7759,7 +7119,14 @@ errr process_histpref_file(cptr name)
        return (err);
 }
 
-
+/*!
+ * @brief ファイル位置をシーク /
+ * @param fd ファイルディスクリプタ
+ * @param where ファイルバイト位置
+ * @param flag FALSEならば現ファイルを超えた位置へシーク時エラー、TRUEなら足りない間を0で埋め尽くす
+ * @return エラーコード
+ * @details
+ */
 static errr counts_seek(int fd, u32b where, bool flag)
 {
        huge seekpoint;
@@ -7800,17 +7167,19 @@ static errr counts_seek(int fd, u32b where, bool flag)
        return fd_seek(fd, seekpoint + where * sizeof(u32b));
 }
 
+/*!
+ * @brief ファイル位置を読み込む
+ * @param where ファイルバイト位置
+ * @return エラーコード
+ * @details
+ */
 u32b counts_read(int where)
 {
        int fd;
        u32b count = 0;
        char buf[1024];
 
-#ifdef JP
-       path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, "z_info_j.raw");
-#else
-       path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, "z_info.raw");
-#endif
+       path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, _("z_info_j.raw", "z_info.raw"));
        fd = fd_open(buf, O_RDONLY);
 
        if (counts_seek(fd, where, FALSE) ||
@@ -7822,17 +7191,20 @@ u32b counts_read(int where)
        return count;
 }
 
+/*!
+ * @brief ファイル位置に書き込む /
+ * @param where ファイルバイト位置
+ * @param count 書き込む値
+ * @return エラーコード
+ * @details
+ */
 errr counts_write(int where, u32b count)
 {
        int fd;
        char buf[1024];
        errr err;
 
-#ifdef JP
-       path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, "z_info_j.raw");
-#else
-       path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, "z_info.raw");
-#endif
+       path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, _("z_info_j.raw", "z_info.raw"));
 
        /* Grab permissions */
        safe_setuid_grab();
@@ -7892,9 +7264,11 @@ errr counts_write(int where, u32b count)
 #include <signal.h>
 
 
-/*
+/*!
+ * @brief OSからのシグナルを受けてサスペンド状態に入る /
  * Handle signals -- suspend
- *
+ * @param sig 受け取ったシグナル
+ * @details
  * Actually suspend the game, and then resume cleanly
  */
 static void handle_signal_suspend(int sig)
@@ -7929,19 +7303,21 @@ static void handle_signal_suspend(int sig)
 }
 
 
-/*
+/*!
+ * @brief OSからのシグナルを受けて中断、終了する /
  * Handle signals -- simple (interrupt and quit)
- *
+ * @param sig 受け取ったシグナル
+ * @details
+ * <pre>
  * This function was causing a *huge* number of problems, so it has
  * been simplified greatly.  We keep a global variable which counts
  * the number of times the user attempts to kill the process, and
  * we commit suicide if the user does this a certain number of times.
- *
  * We attempt to give "feedback" to the user as he approaches the
  * suicide thresh-hold, but without penalizing accidental keypresses.
- *
  * To prevent messy accidents, we should reset this global variable
  * whenever the user enters a keypress, or something like that.
+ * </pre>
  */
 static void handle_signal_simple(int sig)
 {
@@ -7961,11 +7337,7 @@ static void handle_signal_simple(int sig)
        if (p_ptr->is_dead)
        {
                /* Mark the savefile */
-#ifdef JP
-(void)strcpy(p_ptr->died_from, "¶¯À©½ªÎ»");
-#else
-               (void)strcpy(p_ptr->died_from, "Abortion");
-#endif
+               (void)strcpy(p_ptr->died_from, _("強制終了", "Abortion"));
 
                forget_lite();
                forget_view();
@@ -7975,24 +7347,14 @@ static void handle_signal_simple(int sig)
                close_game();
 
                /* Quit */
-#ifdef JP
-quit("¶¯À©½ªÎ»");
-#else
-               quit("interrupt");
-#endif
-
+               quit(_("強制終了", "interrupt"));
        }
 
        /* Allow suicide (after 5) */
        else if (signal_count >= 5)
        {
                /* Cause of "death" */
-#ifdef JP
-(void)strcpy(p_ptr->died_from, "¶¯À©½ªÎ»Ãæ");
-#else
-               (void)strcpy(p_ptr->died_from, "Interrupting");
-#endif
-
+               (void)strcpy(p_ptr->died_from, _("強制終了中", "Interrupting"));
 
                forget_lite();
                forget_view();
@@ -8011,12 +7373,7 @@ quit("
                close_game();
 
                /* Quit */
-#ifdef JP
-quit("¶¯À©½ªÎ»");
-#else
-               quit("interrupt");
-#endif
-
+               quit(_("強制終了", "interrupt"));
        }
 
        /* Give warning (after 4) */
@@ -8029,12 +7386,7 @@ quit("
                Term_erase(0, 0, 255);
 
                /* Display the cause */
-#ifdef JP
-Term_putstr(0, 0, -1, TERM_WHITE, "½Ïθ¤Î¾å¤Î¼«»¦¡ª");
-#else
-               Term_putstr(0, 0, -1, TERM_WHITE, "Contemplating suicide!");
-#endif
-
+               Term_putstr(0, 0, -1, TERM_WHITE, _("熟慮の上の自殺!", "Contemplating suicide!"));
 
                /* Flush */
                Term_fresh();
@@ -8052,8 +7404,22 @@ Term_putstr(0, 0, -1, TERM_WHITE, "
 }
 
 
-/*
+/*!
+ * @brief OSからのシグナルを受けて強制終了する /
  * Handle signal -- abort, kill, etc
+ * @param sig 受け取ったシグナル
+ * @return なし
+ * @details
+ * <pre>
+ * This function was causing a *huge* number of problems, so it has
+ * been simplified greatly.  We keep a global variable which counts
+ * the number of times the user attempts to kill the process, and
+ * we commit suicide if the user does this a certain number of times.
+ * We attempt to give "feedback" to the user as he approaches the
+ * suicide thresh-hold, but without penalizing accidental keypresses.
+ * To prevent messy accidents, we should reset this global variable
+ * whenever the user enters a keypress, or something like that.
+ * </pre>
  */
 static void handle_signal_abort(int sig)
 {
@@ -8078,26 +7444,13 @@ static void handle_signal_abort(int sig)
 
        /* Give a warning */
        Term_putstr(0, hgt - 1, -1, TERM_RED,
-#ifdef JP
-"¶²¤í¤·¤¤¥½¥Õ¥È¤Î¥Ð¥°¤¬Èô¤Ó¤«¤«¤Ã¤Æ¤­¤¿¡ª");
-#else
-                   "A gruesome software bug LEAPS out at you!");
-#endif
+       _("恐ろしいソフトのバグが飛びかかってきた!", "A gruesome software bug LEAPS out at you!"));
 
 
        /* Message */
-#ifdef JP
-Term_putstr(45, hgt - 1, -1, TERM_RED, "¶ÛµÞ¥»¡¼¥Ö...");
-#else
-       Term_putstr(45, hgt - 1, -1, TERM_RED, "Panic save...");
-#endif
+       Term_putstr(45, hgt - 1, -1, TERM_RED, _("緊急セーブ...", "Panic save..."));
 
-
-#ifdef JP
-       do_cmd_write_nikki(NIKKI_GAMESTART, 0, "----¥²¡¼¥à°Û¾ï½ªÎ»----");
-#else
-       do_cmd_write_nikki(NIKKI_GAMESTART, 0, "---- Panic Save and Abort Game ----");
-#endif
+       do_cmd_write_nikki(NIKKI_GAMESTART, 0, _("----ゲーム異常終了----", "---- Panic Save and Abort Game ----"));
 
        /* Flush output */
        Term_fresh();
@@ -8106,12 +7459,7 @@ Term_putstr(45, hgt - 1, -1, TERM_RED, "
        p_ptr->panic_save = 1;
 
        /* Panic save */
-#ifdef JP
-(void)strcpy(p_ptr->died_from, "(¶ÛµÞ¥»¡¼¥Ö)");
-#else
-       (void)strcpy(p_ptr->died_from, "(panic save)");
-#endif
-
+       (void)strcpy(p_ptr->died_from, _("(緊急セーブ)", "(panic save)"));
 
        /* Forbid suspend */
        signals_ignore_tstp();
@@ -8119,42 +7467,27 @@ Term_putstr(45, hgt - 1, -1, TERM_RED, "
        /* Attempt to save */
        if (save_player())
        {
-#ifdef JP
-Term_putstr(45, hgt - 1, -1, TERM_RED, "¶ÛµÞ¥»¡¼¥ÖÀ®¸ù¡ª");
-#else
-               Term_putstr(45, hgt - 1, -1, TERM_RED, "Panic save succeeded!");
-#endif
-
+               Term_putstr(45, hgt - 1, -1, TERM_RED, _("緊急セーブ成功!", "Panic save succeeded!"));
        }
 
        /* Save failed */
        else
        {
-#ifdef JP
-Term_putstr(45, hgt - 1, -1, TERM_RED, "¶ÛµÞ¥»¡¼¥Ö¼ºÇÔ¡ª");
-#else
-               Term_putstr(45, hgt - 1, -1, TERM_RED, "Panic save failed!");
-#endif
-
+               Term_putstr(45, hgt - 1, -1, TERM_RED, _("緊急セーブ失敗!", "Panic save failed!"));
        }
 
        /* Flush output */
        Term_fresh();
 
        /* Quit */
-#ifdef JP
-quit("¥½¥Õ¥È¤Î¥Ð¥°");
-#else
-       quit("software bug");
-#endif
-
+       quit(_("ソフトのバグ", "software bug"));
 }
 
-
-
-
-/*
+/*!
+ * @brief OSからのSIGTSTPシグナルを無視する関数 /
  * Ignore SIGTSTP signals (keyboard suspend)
+ * @return なし
+ * @details
  */
 void signals_ignore_tstp(void)
 {
@@ -8165,8 +7498,11 @@ void signals_ignore_tstp(void)
 
 }
 
-/*
+/*!
+ * @brief OSからのSIGTSTPシグナルハンドラ /
  * Handle SIGTSTP signals (keyboard suspend)
+ * @return なし
+ * @details
  */
 void signals_handle_tstp(void)
 {
@@ -8178,8 +7514,11 @@ void signals_handle_tstp(void)
 }
 
 
-/*
+/*!
+ * @brief OSからのシグナルハンドルを初期化する /
  * Prepare to handle the relevant signals
+ * @return なし
+ * @details
  */
 void signals_init(void)
 {
@@ -8265,21 +7604,24 @@ void signals_init(void)
 #else  /* HANDLE_SIGNALS */
 
 
-/*
+/*!
+ * @brief ダミー /
  * Do nothing
  */
 void signals_ignore_tstp(void)
 {
 }
 
-/*
+/*!
+ * @brief ダミー /
  * Do nothing
  */
 void signals_handle_tstp(void)
 {
 }
 
-/*
+/*!
+ * @brief ダミー /
  * Do nothing
  */
 void signals_init(void)