OSDN Git Service

Refacotr: replace ifdef JP macros
authordis- <dis.rogue@gmail.com>
Thu, 13 Mar 2014 07:56:13 +0000 (16:56 +0900)
committerdis- <dis.rogue@gmail.com>
Thu, 13 Mar 2014 08:07:51 +0000 (17:07 +0900)
28 files changed:
src/hissatsu.c
src/init1.c
src/init2.c
src/load.c
src/main-mac.c
src/main-win.c
src/mane.c
src/melee1.c
src/melee2.c
src/mind.c
src/monster1.c
src/monster2.c
src/mspells3.c
src/mutation.c
src/object1.c
src/object2.c
src/racial.c
src/rooms.c
src/save.c
src/scores.c
src/snipe.c
src/spells2.c
src/spells3.c
src/util.c
src/wizard1.c
src/wizard2.c
src/xtra1.c
src/xtra2.c

index 18ce411..2a7af74 100644 (file)
@@ -43,11 +43,7 @@ static int get_hissatsu_power(int *sn)
        char            choice;
        char            out_val[160];
        char sentaku[32];
-#ifdef JP
-cptr            p = "必殺剣";
-#else
-       cptr            p = "special attack";
-#endif
+       cptr            p = _("必殺剣", "special attack");
 
        magic_type spell;
        bool            flag, redraw;
@@ -88,11 +84,7 @@ cptr            p = "必殺剣";
 
        /* Build a prompt (accept all spells) */
        (void) strnfmt(out_val, 78, 
-#ifdef JP
-                      "(%^s %c-%c, '*'で一覧, ESC) どの%sを使いますか?",
-#else
-                      "(%^ss %c-%c, *=List, ESC=exit) Use which %s? ",
-#endif
+                      _("(%^s %c-%c, '*'で一覧, ESC) どの%sを使いますか?", "(%^ss %c-%c, *=List, ESC=exit) Use which %s? "),
                       p, I2A(0), "abcdefghijklmnopqrstuvwxyz012345"[num-1], p);
 
        if (use_menu) screen_save();
@@ -198,11 +190,8 @@ cptr            p = "必殺剣";
 
                                /* Display a list of spells */
                                prt("", y, x);
-#ifdef JP
-put_str("名前              Lv  MP      名前              Lv  MP ", y, x + 5);
-#else
-put_str("name              Lv  SP      name              Lv  SP ", y, x + 5);
-#endif
+                               put_str(_("名前              Lv  MP      名前              Lv  MP ", 
+                                                 "name              Lv  SP      name              Lv  SP "), y, x + 5);
                                prt("", y+1, x);
                                /* Dump the spells */
                                for (i = 0, line = 0; i < 32; i++)
@@ -219,11 +208,7 @@ put_str("name              Lv  SP      name              Lv  SP ", y, x + 5);
                                        if (use_menu)
                                        {
                                                if (i == (menu_line-1))
-#ifdef JP
-                                                       strcpy(psi_desc, "  》");
-#else
-                                                       strcpy(psi_desc, "  > ");
-#endif
+                                                       strcpy(psi_desc, _("  》", "  > "));
                                                else strcpy(psi_desc, "    ");
                                                
                                        }
@@ -296,12 +281,7 @@ put_str("name              Lv  SP      name              Lv  SP ", y, x + 5);
                        char tmp_val[160];
 
                        /* Prompt */
-#ifdef JP
-                       (void) strnfmt(tmp_val, 78, "%sを使いますか?", do_spell(REALM_HISSATSU, j, SPELL_NAME));
-#else
-                       (void)strnfmt(tmp_val, 78, "Use %s? ", do_spell(REALM_HISSATSU, j, SPELL_NAME));
-#endif
-
+                       (void) strnfmt(tmp_val, 78, _("%sを使いますか?", "Use %s? "), do_spell(REALM_HISSATSU, j, SPELL_NAME));
 
                        /* Belay that order */
                        if (!get_check(tmp_val)) continue;
@@ -351,33 +331,18 @@ void do_cmd_hissatsu(void)
        /* not if confused */
        if (p_ptr->confused)
        {
-#ifdef JP
-msg_print("混乱していて集中できない!");
-#else
-               msg_print("You are too confused!");
-#endif
-
+               msg_print(_("混乱していて集中できない!", "You are too confused!"));
                return;
        }
        if (!buki_motteruka(INVEN_RARM) && !buki_motteruka(INVEN_LARM))
        {
                if (flush_failure) flush();
-#ifdef JP
-msg_print("武器を持たないと必殺技は使えない!");
-#else
-               msg_print("You need to wield a weapon!");
-#endif
-
+               msg_print(_("武器を持たないと必殺技は使えない!", "You need to wield a weapon!"));
                return;
        }
        if (!p_ptr->spell_learned1)
        {
-#ifdef JP
-msg_print("何も技を知らない。");
-#else
-               msg_print("You don't know any special attacks.");
-#endif
-
+               msg_print(_("何も技を知らない。", "You don't know any special attacks."));
                return;
        }
 
@@ -396,11 +361,7 @@ msg_print("何も技を知らない。");
        {
                if (flush_failure) flush();
                /* Warning */
-#ifdef JP
-msg_print("MPが足りません。");
-#else
-               msg_print("You do not have enough mana to use this power.");
-#endif
+               msg_print(_("MPが足りません。", "You do not have enough mana to use this power."));
                msg_print(NULL);
                return;
        }
@@ -448,34 +409,19 @@ void do_cmd_gain_hissatsu(void)
 
        if (p_ptr->blind || no_lite())
        {
-#ifdef JP
-msg_print("目が見えない!");
-#else
-               msg_print("You cannot see!");
-#endif
-
+               msg_print(_("目が見えない!", "You cannot see!"));
                return;
        }
 
        if (p_ptr->confused)
        {
-#ifdef JP
-msg_print("混乱していて読めない!");
-#else
-               msg_print("You are too confused!");
-#endif
-
+               msg_print(_("混乱していて読めない!", "You are too confused!"));
                return;
        }
 
        if (!(p_ptr->new_spells))
        {
-#ifdef JP
-msg_print("新しい必殺技を覚えることはできない!");
-#else
-               msg_print("You cannot learn any new special attacks!");
-#endif
-
+               msg_print(_("新しい必殺技を覚えることはできない!", "You cannot learn any new special attacks!"));
                return;
        }
 
@@ -493,17 +439,8 @@ msg_print("新しい必殺技を覚えることはできない!");
        item_tester_tval = TV_HISSATSU_BOOK;
 
        /* Get an item */
-#ifdef JP
-q = "どの書から学びますか? ";
-#else
-       q = "Study which book? ";
-#endif
-
-#ifdef JP
-s = "読める書がない。";
-#else
-       s = "You have no books that you can read.";
-#endif
+       q = _("どの書から学びますか? ", "Study which book? ");
+       s = _("読める書がない。", "You have no books that you can read.");
 
        if (!get_item(&item, q, s, (USE_INVEN | USE_FLOOR))) return;
 
@@ -526,11 +463,7 @@ s = "読める書がない。";
 
                p_ptr->spell_learned1 |= (1L << i);
                p_ptr->spell_worked1 |= (1L << i);
-#ifdef JP
-               msg_format("%sの技を覚えた。", do_spell(REALM_HISSATSU, i, SPELL_NAME));
-#else
-               msg_format("You have learned the special attack of %s.", do_spell(REALM_HISSATSU, i, SPELL_NAME));
-#endif
+               msg_format(_("%sの技を覚えた。", "You have learned the special attack of %s."), do_spell(REALM_HISSATSU, i, SPELL_NAME));
                for (j = 0; j < 64; j++)
                {
                        /* Stop at the first empty space */
@@ -542,11 +475,7 @@ s = "読める書がない。";
 
        /* No gain ... */
        if (!gain)
-#ifdef JP
-               msg_print("何も覚えられなかった。");
-#else
-               msg_print("You were not able to learn any special attacks.");
-#endif
+               msg_print(_("何も覚えられなかった。", "You were not able to learn any special attacks."));
 
        /* Take a turn */
        else
index 923d6d3..a3d2041 100644 (file)
@@ -1497,11 +1497,7 @@ static errr grab_one_feat_flag(feature_type *f_ptr, cptr what)
        }
 
        /* Oops */
-#ifdef JP
-       msg_format("未知の地形フラグ '%s'。", what);
-#else
-       msg_format("Unknown feature flag '%s'.", what);
-#endif
+       msg_format(_("未知の地形フラグ '%s'。", "Unknown feature flag '%s'."), what);
 
        /* Error */
        return PARSE_ERROR_GENERIC;
@@ -1531,11 +1527,7 @@ static errr grab_one_feat_action(feature_type *f_ptr, cptr what, int count)
        }
 
        /* Oops */
-#ifdef JP
-       msg_format("未知の地形アクション '%s'。", what);
-#else
-       msg_format("Unknown feature action '%s'.", what);
-#endif
+       msg_format(_("未知の地形アクション '%s'。", "Unknown feature action '%s'."), what);
 
        /* Error */
        return PARSE_ERROR_GENERIC;
@@ -1880,11 +1872,7 @@ static void search_real_feat(s16b *feat)
        }
 
        /* Undefined tag */
-#ifdef JP
-       msg_format("未定義のタグ '%s'。", f_tag + (-(*feat)));
-#else
-       msg_format("%s is undefined.", f_tag + (-(*feat)));
-#endif
+       msg_format(_("未定義のタグ '%s'。", "%s is undefined."), f_tag + (-(*feat)));
 }
 
 
@@ -1938,12 +1926,7 @@ static errr grab_one_kind_flag(object_kind *k_ptr, cptr what)
                return 0;
 
        /* Oops */
-#ifdef JP
-       msg_format("未知のアイテム・フラグ '%s'。", what);
-#else
-       msg_format("Unknown object flag '%s'.", what);
-#endif
-
+       msg_format(_("未知のアイテム・フラグ '%s'。", "Unknown object flag '%s'."), what);
 
        /* Error */
        return (1);
@@ -1976,11 +1959,7 @@ static byte grab_one_activation_flag(cptr what)
         }
 
        /* Oops */
-#ifdef JP
-       msg_format("未知の発動・フラグ '%s'。", what);
-#else
-       msg_format("Unknown activation flag '%s'.", what);
-#endif
+       msg_format(_("未知の発動・フラグ '%s'。", "Unknown activation flag '%s'."), what);
 
        /* Error */
        return (0);
@@ -2290,12 +2269,7 @@ static errr grab_one_artifact_flag(artifact_type *a_ptr, cptr what)
                return 0;
 
        /* Oops */
-#ifdef JP
-       msg_format("未知の伝説のアイテム・フラグ '%s'。", what);
-#else
-       msg_format("Unknown artifact flag '%s'.", what);
-#endif
-
+       msg_format(_("未知の伝説のアイテム・フラグ '%s'。", "Unknown artifact flag '%s'."), what);
 
        /* Error */
        return (1);
@@ -2525,12 +2499,7 @@ static bool grab_one_ego_item_flag(ego_item_type *e_ptr, cptr what)
                return 0;
 
        /* Oops */
-#ifdef JP
-       msg_format("未知の名のあるアイテム・フラグ '%s'。", what);
-#else
-       msg_format("Unknown ego-item flag '%s'.", what);
-#endif
-
+       msg_format(_("未知の名のあるアイテム・フラグ '%s'。", "Unknown ego-item flag '%s'."), what);
 
        /* Error */
        return (1);
@@ -2755,12 +2724,7 @@ static errr grab_one_basic_flag(monster_race *r_ptr, cptr what)
                return 0;
 
        /* Oops */
-#ifdef JP
-       msg_format("未知のモンスター・フラグ '%s'。", what);
-#else
-       msg_format("Unknown monster flag '%s'.", what);
-#endif
-
+       msg_format(_("未知のモンスター・フラグ '%s'。", "Unknown monster flag '%s'."), what);
 
        /* Failure */
        return (1);
@@ -2786,12 +2750,7 @@ static errr grab_one_spell_flag(monster_race *r_ptr, cptr what)
                return 0;
 
        /* Oops */
-#ifdef JP
-       msg_format("未知のモンスター・フラグ '%s'。", what);
-#else
-       msg_format("Unknown monster flag '%s'.", what);
-#endif
-
+       msg_format(_("未知のモンスター・フラグ '%s'。", "Unknown monster flag '%s'."), what);
 
        /* Failure */
        return (1);
@@ -3117,11 +3076,7 @@ static errr grab_one_dungeon_flag(dungeon_info_type *d_ptr, cptr what)
                return 0;
 
        /* Oops */
-#ifdef JP
-       msg_format("未知のダンジョン・フラグ '%s'。", what);
-#else
-       msg_format("Unknown dungeon type flag '%s'.", what);
-#endif
+       msg_format(_("未知のダンジョン・フラグ '%s'。", "Unknown dungeon type flag '%s'."), what);
 
        /* Failure */
        return (1);
@@ -3158,11 +3113,7 @@ static errr grab_one_basic_monster_flag(dungeon_info_type *d_ptr, cptr what)
                return 0;
 
        /* Oops */
-#ifdef JP
-       msg_format("未知のモンスター・フラグ '%s'。", what);
-#else
-       msg_format("Unknown monster flag '%s'.", what);
-#endif
+       msg_format(_("未知のモンスター・フラグ '%s'。", "Unknown monster flag '%s'."), what);
        /* Failure */
        return (1);
 }
@@ -3187,11 +3138,7 @@ static errr grab_one_spell_monster_flag(dungeon_info_type *d_ptr, cptr what)
                return 0;
 
        /* Oops */
-#ifdef JP
-       msg_format("未知のモンスター・フラグ '%s'。", what);
-#else
-       msg_format("Unknown monster flag '%s'.", what);
-#endif
+       msg_format(_("未知のモンスター・フラグ '%s'。", "Unknown monster flag '%s'."), what);
 
        /* Failure */
        return (1);
@@ -4593,41 +4540,25 @@ static cptr process_dungeon_file_expr(char **sp, char *fp)
                        /* Race */
                        else if (streq(b+1, "RACE"))
                        {
-#ifdef JP
-                               v = rp_ptr->E_title;
-#else
-                               v = rp_ptr->title;
-#endif
+                               v = _(rp_ptr->E_title, rp_ptr->title);
                        }
 
                        /* Class */
                        else if (streq(b+1, "CLASS"))
                        {
-#ifdef JP
-                               v = cp_ptr->E_title;
-#else
-                               v = cp_ptr->title;
-#endif
+                               v = _(cp_ptr->E_title, cp_ptr->title);
                        }
 
                        /* First realm */
                        else if (streq(b+1, "REALM1"))
                        {
-#ifdef JP
-                               v = E_realm_names[p_ptr->realm1];
-#else
-                               v = realm_names[p_ptr->realm1];
-#endif
+                               v = _(E_realm_names[p_ptr->realm1], realm_names[p_ptr->realm1]);
                        }
 
                        /* Second realm */
                        else if (streq(b+1, "REALM2"))
                        {
-#ifdef JP
-                               v = E_realm_names[p_ptr->realm2];
-#else
-                               v = realm_names[p_ptr->realm2];
-#endif
+                               v = _(E_realm_names[p_ptr->realm2], realm_names[p_ptr->realm2]);
                        }
 
                        /* Player name */
@@ -4832,11 +4763,7 @@ errr process_dungeon_file(cptr name, int ymin, int xmin, int ymax, int xmax)
 
                /* Oops */
                msg_format("Error %d (%s) at line %d of '%s'.", err, oops, num, name);
-#ifdef JP
-msg_format("'%s'を解析中。", buf);
-#else
-               msg_format("Parsing '%s'.", buf);
-#endif
+               msg_format(_("'%s'を解析中。", "Parsing '%s'."), buf);
 
                msg_print(NULL);
        }
index 201b070..86c4133 100644 (file)
@@ -481,11 +481,7 @@ static errr init_info(cptr filename, header *head,
        /*** Load the binary image file ***/
 
        /* Build the filename */
-#ifdef JP
-       path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, format("%s_j.raw", filename));
-#else
-       path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, format("%s.raw", filename));
-#endif
+       path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, format(_("%s_j.raw", "%s.raw"), filename));
 
 
        /* Attempt to open the "raw" file */
@@ -537,12 +533,7 @@ static errr init_info(cptr filename, header *head,
                fp = my_fopen(buf, "r");
 
                /* Parse it */
-#ifdef JP
-               if (!fp) quit(format("'%s.txt'ファイルをオープンできません。", filename));
-#else
-               if (!fp) quit(format("Cannot open '%s.txt' file.", filename));
-#endif
-
+               if (!fp) quit(format(_("'%s.txt'ファイルをオープンできません。", "Cannot open '%s.txt' file."), filename));
 
                /* Parse the file */
                err = init_info_txt(fp, buf, head, head->parse_info_txt);
@@ -598,11 +589,7 @@ static errr init_info(cptr filename, header *head,
                FILE_TYPE(FILE_TYPE_DATA);
 
                /* Build the filename */
-#ifdef JP
-               path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, format("%s_j.raw", filename));
-#else
-               path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, format("%s.raw", filename));
-#endif
+               path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, format(_("%s_j.raw", "%s.raw"), filename));
 
 
                /* Grab permissions */
@@ -656,23 +643,13 @@ static errr init_info(cptr filename, header *head,
                /*** Load the binary image file ***/
 
                /* Build the filename */
-#ifdef JP
-               path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, format("%s_j.raw", filename));
-#else
-               path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, format("%s.raw", filename));
-#endif
-
+               path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, format(_("%s_j.raw", "%s.raw"), filename));
 
                /* Attempt to open the "raw" file */
                fd = fd_open(buf, O_RDONLY);
 
                /* Process existing "raw" file */
-#ifdef JP
-               if (fd < 0) quit(format("'%s_j.raw'ファイルをロードできません。", filename));
-#else
-               if (fd < 0) quit(format("Cannot load '%s.raw' file.", filename));
-#endif
-
+               if (fd < 0) quit(format(_("'%s_j.raw'ファイルをロードできません。", "Cannot load '%s.raw' file."), filename));
 
                /* Attempt to parse the "raw" file */
                err = init_info_raw(fd, head);
@@ -681,11 +658,7 @@ static errr init_info(cptr filename, header *head,
                (void)fd_close(fd);
 
                /* Error */
-#ifdef JP
-               if (err) quit(format("'%s_j.raw'ファイルを解析できません。", filename));
-#else
-               if (err) quit(format("Cannot parse '%s.raw' file.", filename));
-#endif
+               if (err) quit(format(_("'%s_j.raw'ファイルを解析できません。", "Cannot parse '%s.raw' file."), filename));
 
 #ifdef ALLOW_TEMPLATES
        }
@@ -1994,13 +1967,7 @@ static errr init_object_alloc(void)
        }
 
        /* Paranoia */
-#ifdef JP
-if (!num[0]) quit("町のアイテムがない!");
-#else
-       if (!num[0]) quit("No town objects!");
-#endif
-
-
+       if (!num[0]) quit(_("町のアイテムがない!", "No town objects!"));
 
        /*** Initialize object allocation info ***/
 
@@ -2159,13 +2126,7 @@ static errr init_alloc(void)
        }
 
        /* Paranoia */
-#ifdef JP
-       if (!num[0]) quit("町のモンスターがない!");
-#else
-       if (!num[0]) quit("No town monsters!");
-#endif
-
-
+       if (!num[0]) quit(_("町のモンスターがない!", "No town monsters!"));
 
        /*** Initialize monster allocation info ***/
 
@@ -2340,12 +2301,7 @@ void init_angband(void)
        /*** Verify the "news" file ***/
 
        /* Build the filename */
-#ifdef JP
-       path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, "news_j.txt");
-#else
-       path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, "news.txt");
-#endif
-
+       path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, _("news_j.txt", "news.txt"));
 
        /* Attempt to open the file */
        fd = fd_open(buf, O_RDONLY);
@@ -2356,12 +2312,7 @@ void init_angband(void)
                char why[1024];
 
                /* Message */
-#ifdef JP
-       sprintf(why, "'%s'ファイルにアクセスできません!", buf);
-#else
-               sprintf(why, "Cannot access the '%s' file!", buf);
-#endif
-
+               sprintf(why, _("'%s'ファイルにアクセスできません!", "Cannot access the '%s' file!"), buf);
 
                /* Crash and burn */
                init_angband_aux(why);
@@ -2377,12 +2328,7 @@ void init_angband(void)
        Term_clear();
 
        /* Build the filename */
-#ifdef JP
-       path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, "news_j.txt");
-#else
-       path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, "news.txt");
-#endif
-
+       path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, _("news_j.txt", "news.txt"));
 
        /* Open the News file */
        fp = my_fopen(buf, "r");
@@ -2436,12 +2382,7 @@ void init_angband(void)
                        char why[1024];
 
                        /* Message */
-#ifdef JP
-                       sprintf(why, "'%s'ファイルを作成できません!", buf);
-#else
-                       sprintf(why, "Cannot create the '%s' file!", buf);
-#endif
-
+                       sprintf(why, _("'%s'ファイルを作成できません!", "Cannot create the '%s' file!"), buf);
 
                        /* Crash and burn */
                        init_angband_aux(why);
@@ -2455,18 +2396,8 @@ void init_angband(void)
        /*** Initialize some arrays ***/
 
        /* Initialize misc. values */
-#ifdef JP
-note("[変数を初期化しています...(その他)");
-#else
-       note("[Initializing values... (misc)]");
-#endif
-
-#ifdef JP
-if (init_misc()) quit("その他の変数を初期化できません");
-#else
-       if (init_misc()) quit("Cannot initialize misc. values");
-#endif
-
+       note(_("[変数を初期化しています...(その他)", "[Initializing values... (misc)]"));
+       if (init_misc()) quit(_("その他の変数を初期化できません", "Cannot initialize misc. values"));
 
        /* Initialize feature info */
 #ifdef JP
@@ -2481,53 +2412,28 @@ if (init_misc()) quit("その他の変数を初期化できません");
 
 
        /* Initialize object info */
-#ifdef JP
-       note("[データの初期化中... (アイテム)]");
-       if (init_k_info()) quit("アイテム初期化不能");
-#else
-       note("[Initializing arrays... (objects)]");
-       if (init_k_info()) quit("Cannot initialize objects");
-#endif
+       note(_("[データの初期化中... (アイテム)]", "[Initializing arrays... (objects)]"));
+       if (init_k_info()) quit(_("アイテム初期化不能", "Cannot initialize objects"));
 
 
        /* Initialize artifact info */
-#ifdef JP
-       note("[データの初期化中... (伝説のアイテム)]");
-       if (init_a_info()) quit("伝説のアイテム初期化不能");
-#else
-       note("[Initializing arrays... (artifacts)]");
-       if (init_a_info()) quit("Cannot initialize artifacts");
-#endif
+       note(_("[データの初期化中... (伝説のアイテム)]", "[Initializing arrays... (artifacts)]"));
+       if (init_a_info()) quit(_("伝説のアイテム初期化不能", "Cannot initialize artifacts"));
 
 
        /* Initialize ego-item info */
-#ifdef JP
-       note("[データの初期化中... (名のあるアイテム)]");
-       if (init_e_info()) quit("名のあるアイテム初期化不能");
-#else
-       note("[Initializing arrays... (ego-items)]");
-       if (init_e_info()) quit("Cannot initialize ego-items");
-#endif
+       note(_("[データの初期化中... (名のあるアイテム)]", "[Initializing arrays... (ego-items)]"));
+       if (init_e_info()) quit(_("名のあるアイテム初期化不能", "Cannot initialize ego-items"));
 
 
        /* Initialize monster info */
-#ifdef JP
-       note("[データの初期化中... (モンスター)]");
-       if (init_r_info()) quit("モンスター初期化不能");
-#else
-       note("[Initializing arrays... (monsters)]");
-       if (init_r_info()) quit("Cannot initialize monsters");
-#endif
+       note(_("[データの初期化中... (モンスター)]", "[Initializing arrays... (monsters)]"));
+       if (init_r_info()) quit(_("モンスター初期化不能", "Cannot initialize monsters"));
 
 
        /* Initialize dungeon info */
-#ifdef JP
-       note("[データの初期化中... (ダンジョン)]");
-       if (init_d_info()) quit("ダンジョン初期化不能");
-#else
-       note("[Initializing arrays... (dungeon)]");
-       if (init_d_info()) quit("Cannot initialize dungeon");
-#endif
+       note(_("[データの初期化中... (ダンジョン)]", "[Initializing arrays... (dungeon)]"));
+       if (init_d_info()) quit(_("ダンジョン初期化不能", "Cannot initialize dungeon"));
        {
                int i;
                for (i = 1; i < max_d_idx; i++)
@@ -2536,118 +2442,51 @@ if (init_misc()) quit("その他の変数を初期化できません");
        }
 
        /* Initialize magic info */
-#ifdef JP
-       note("[データの初期化中... (魔法)]");
-       if (init_m_info()) quit("魔法初期化不能");
-#else
-       note("[Initializing arrays... (magic)]");
-       if (init_m_info()) quit("Cannot initialize magic");
-#endif
+       note(_("[データの初期化中... (魔法)]", "[Initializing arrays... (magic)]"));
+       if (init_m_info()) quit(_("魔法初期化不能", "Cannot initialize magic"));
 
        /* Initialize weapon_exp info */
-#ifdef JP
-       note("[データの初期化中... (熟練度)]");
-       if (init_s_info()) quit("熟練度初期化不能");
-#else
-       note("[Initializing arrays... (skill)]");
-       if (init_s_info()) quit("Cannot initialize skill");
-#endif
+       note(_("[データの初期化中... (熟練度)]", "[Initializing arrays... (skill)]"));
+       if (init_s_info()) quit(_("熟練度初期化不能", "Cannot initialize skill"));
 
        /* Initialize wilderness array */
-#ifdef JP
-note("[配列を初期化しています... (荒野)]");
-#else
-       note("[Initializing arrays... (wilderness)]");
-#endif
+       note(_("[配列を初期化しています... (荒野)]", "[Initializing arrays... (wilderness)]"));
 
-#ifdef JP
-if (init_wilderness()) quit("荒野を初期化できません");
-#else
-       if (init_wilderness()) quit("Cannot initialize wilderness");
-#endif
+       if (init_wilderness()) quit(_("荒野を初期化できません", "Cannot initialize wilderness"));
 
 
        /* Initialize town array */
-#ifdef JP
-note("[配列を初期化しています... (街)]");
-#else
-       note("[Initializing arrays... (towns)]");
-#endif
-
-#ifdef JP
-if (init_towns()) quit("街を初期化できません");
-#else
-       if (init_towns()) quit("Cannot initialize towns");
-#endif
+       note(_("[配列を初期化しています... (街)]", "[Initializing arrays... (towns)]"));
+       if (init_towns()) quit(_("街を初期化できません", "Cannot initialize towns"));
 
 
        /* Initialize building array */
-#ifdef JP
-note("[配列を初期化しています... (建物)]");
-#else
-       note("[Initializing arrays... (buildings)]");
-#endif
-
-#ifdef JP
-if (init_buildings()) quit("建物を初期化できません");
-#else
-       if (init_buildings()) quit("Cannot initialize buildings");
-#endif
+       note(_("[配列を初期化しています... (建物)]", "[Initializing arrays... (buildings)]"));
+       if (init_buildings()) quit(_("建物を初期化できません", "Cannot initialize buildings"));
 
 
        /* Initialize quest array */
-#ifdef JP
-note("[配列を初期化しています... (クエスト)]");
-#else
-       note("[Initializing arrays... (quests)]");
-#endif
-
-#ifdef JP
-if (init_quests()) quit("クエストを初期化できません");
-#else
-       if (init_quests()) quit("Cannot initialize quests");
-#endif
-
+       note(_("[配列を初期化しています... (クエスト)]", "[Initializing arrays... (quests)]"));
+       if (init_quests()) quit(_("クエストを初期化できません", "Cannot initialize quests"));
 
        /* Initialize vault info */
-#ifdef JP
-       if (init_v_info()) quit("vault 初期化不能");
-#else
-       if (init_v_info()) quit("Cannot initialize vaults");
-#endif
-
+       if (init_v_info()) quit(_("vault 初期化不能", "Cannot initialize vaults"));
 
        /* Initialize some other arrays */
-#ifdef JP
-       note("[データの初期化中... (その他)]");
-       if (init_other()) quit("その他のデータ初期化不能");
-#else
-       note("[Initializing arrays... (other)]");
-       if (init_other()) quit("Cannot initialize other stuff");
-#endif
+       note(_("[データの初期化中... (その他)]", "[Initializing arrays... (other)]"));
+       if (init_other()) quit(_("その他のデータ初期化不能", "Cannot initialize other stuff"));
 
 
        /* Initialize some other arrays */
-#ifdef JP
-       /* translation */
-       note("[データの初期化中... (アロケーション)]");
-       if (init_alloc()) quit("アロケーション・スタッフ初期化不能");
-#else
-       note("[Initializing arrays... (alloc)]");
-       if (init_alloc()) quit("Cannot initialize alloc stuff");
-#endif
+       note(_("[データの初期化中... (アロケーション)]", "[Initializing arrays... (alloc)]"));
+       if (init_alloc()) quit(_("アロケーション・スタッフ初期化不能", "Cannot initialize alloc stuff"));
 
 
 
        /*** Load default user pref files ***/
 
        /* Initialize feature info */
-#ifdef JP
-note("[ユーザー設定ファイルを初期化しています...]");
-#else
-       note("[Initializing user pref files...]");
-#endif
-
+       note(_("[ユーザー設定ファイルを初期化しています...]", "[Initializing user pref files...]"));
 
        /* Access the "basic" pref file */
        strcpy(buf, "pref.prf");
@@ -2662,12 +2501,7 @@ note("[ユーザー設定ファイルを初期化しています...]");
        process_pref_file(buf);
 
        /* Done */
-#ifdef JP
-       note("[初期化終了]");
-#else
-       note("[Initialization complete]");
-#endif
-
+       note(_("[初期化終了]", "[Initialization complete]"));
 }
 
 /*!
index 760524d..04895cb 100644 (file)
@@ -2276,12 +2276,7 @@ static errr rd_inventory(void)
                else if (inven_cnt == INVEN_PACK)
                {
                        /* Oops */
-#ifdef JP
-note("持ち物の中のアイテムが多すぎる!");
-#else
-                       note("Too many items in the inventory!");
-#endif
-
+                       note(_("持ち物の中のアイテムが多すぎる!", "Too many items in the inventory!"));
 
                        /* Fail */
                        return (54);
@@ -2650,12 +2645,7 @@ static errr rd_dungeon_old(void)
        /* Verify maximum */
        if (limit > max_o_idx)
        {
-#ifdef JP
-note(format("アイテムの配列が大きすぎる(%d)!", limit));
-#else
-               note(format("Too many (%d) object entries!", limit));
-#endif
-
+               note(format(_("アイテムの配列が大きすぎる(%d)!", "Too many (%d) object entries!"), limit));
                return (151);
        }
 
@@ -2673,12 +2663,7 @@ note(format("アイテムの配列が大きすぎる(%d)!", limit));
                /* Oops */
                if (i != o_idx)
                {
-#ifdef JP
-note(format("アイテム配置エラー (%d <> %d)", i, o_idx));
-#else
-                       note(format("Object allocation error (%d <> %d)", i, o_idx));
-#endif
-
+                       note(format(_("アイテム配置エラー (%d <> %d)", "Object allocation error (%d <> %d)"), i, o_idx));
                        return (152);
                }
 
@@ -2730,12 +2715,7 @@ note(format("アイテム配置エラー (%d <> %d)", i, o_idx));
        /* Hack -- verify */
        if (limit > max_m_idx)
        {
-#ifdef JP
-note(format("モンスターの配列が大きすぎる(%d)!", limit));
-#else
-               note(format("Too many (%d) monster entries!", limit));
-#endif
-
+               note(format(_("モンスターの配列が大きすぎる(%d)!", "Too many (%d) monster entries!"), limit));
                return (161);
        }
 
@@ -2751,12 +2731,7 @@ note(format("モンスターの配列が大きすぎる(%d)!", limit));
                /* Oops */
                if (i != m_idx)
                {
-#ifdef JP
-note(format("モンスター配置エラー (%d <> %d)", i, m_idx));
-#else
-                       note(format("Monster allocation error (%d <> %d)", i, m_idx));
-#endif
-
+                       note(format(_("モンスター配置エラー (%d <> %d)", "Monster allocation error (%d <> %d)"), i, m_idx));
                        return (162);
                }
 
@@ -3190,59 +3165,31 @@ static errr rd_dungeon(void)
        switch (err)
        {
        case 151:
-#ifdef JP
-               note("アイテムの配列が大きすぎる!");
-#else
-               note("Too many object entries!");
-#endif
+               note(_("アイテムの配列が大きすぎる!", "Too many object entries!"));
                break;
 
        case 152:
-#ifdef JP
-               note("アイテム配置エラー");
-#else
-               note("Object allocation error");
-#endif
+               note(_("アイテム配置エラー", "Object allocation error"));
                break;
 
        case 161:
-#ifdef JP
-               note("モンスターの配列が大きすぎる!");
-#else
-               note("Too many monster entries!");
-#endif
+               note(_("モンスターの配列が大きすぎる!", "Too many monster entries!"));
                break;
 
        case 162:
-#ifdef JP
-               note("モンスター配置エラー");
-#else
-               note("Monster allocation error");
-#endif
+               note(_("モンスター配置エラー", "Monster allocation error"));
                break;
 
        case 171:
-#ifdef JP
-               note("保存されたフロアのダンジョンデータが壊れています!");
-#else
-               note("Dungeon data of saved floors are broken!");
-#endif
+               note(_("保存されたフロアのダンジョンデータが壊れています!", "Dungeon data of saved floors are broken!"));
                break;
 
        case 182:
-#ifdef JP
-               note("テンポラリ・ファイルを作成できません!");
-#else
-               note("Failed to make temporal files!");
-#endif
+               note(_("テンポラリ・ファイルを作成できません!", "Failed to make temporal files!"));
                break;
 
        case 183:
-#ifdef JP
-               note("Error 183");
-#else
-               note("Error 183");
-#endif
+               note(_("Error 183", "Error 183"));
                break;
        }
 
@@ -3277,11 +3224,7 @@ static errr rd_savefile_new_aux(void)
 
        /* Mention the savefile version */
        note(format(
-#ifdef JP
-                    "バージョン %d.%d.%d のセーブ・ファイルをロード中...",
-#else
-                    "Loading a %d.%d.%d savefile...",
-#endif
+                    _("バージョン %d.%d.%d のセーブ・ファイルをロード中...", "Loading a %d.%d.%d savefile..."),
                     (z_major > 9) ? z_major - 10 : z_major, z_minor, z_patch));
 
 
@@ -3330,31 +3273,15 @@ static errr rd_savefile_new_aux(void)
 
        /* Read RNG state */
        rd_randomizer();
-#ifdef JP
-if (arg_fiddle) note("乱数情報をロードしました");
-#else
-       if (arg_fiddle) note("Loaded Randomizer Info");
-#endif
-
-
+       if (arg_fiddle) note(_("乱数情報をロードしました", "Loaded Randomizer Info"));
 
        /* Then the options */
        rd_options();
-#ifdef JP
-if (arg_fiddle) note("オプションをロードしました");
-#else
-       if (arg_fiddle) note("Loaded Option Flags");
-#endif
+       if (arg_fiddle) note(_("オプションをロードしました", "Loaded Option Flags"));
 
        /* Then the "messages" */
        rd_messages();
-#ifdef JP
-if (arg_fiddle) note("メッセージをロードしました");
-#else
-       if (arg_fiddle) note("Loaded Messages");
-#endif
-
-
+       if (arg_fiddle) note(_("メッセージをロードしました", "Loaded Messages"));
 
        for (i = 0; i < max_r_idx; i++)
        {
@@ -3376,12 +3303,7 @@ if (arg_fiddle) note("メッセージをロードしました");
        /* Incompatible save files */
        if (tmp16u > max_r_idx)
        {
-#ifdef JP
-note(format("モンスターの種族が多すぎる(%u)!", tmp16u));
-#else
-               note(format("Too many (%u) monster races!", tmp16u));
-#endif
-
+               note(format(_("モンスターの種族が多すぎる(%u)!", "Too many (%u) monster races!"), tmp16u));
                return (21);
        }
 
@@ -3392,13 +3314,7 @@ note(format("モンスターの種族が多すぎる(%u)!", tmp16u));
                rd_lore(i);
        }
 
-#ifdef JP
-if (arg_fiddle) note("モンスターの思い出をロードしました");
-#else
-       if (arg_fiddle) note("Loaded Monster Memory");
-#endif
-
-
+       if (arg_fiddle) note(_("モンスターの思い出をロードしました", "Loaded Monster Memory"));
 
        /* Object Memory */
        rd_u16b(&tmp16u);
@@ -3406,12 +3322,7 @@ if (arg_fiddle) note("モンスターの思い出をロードしました");
        /* Incompatible save files */
        if (tmp16u > max_k_idx)
        {
-#ifdef JP
-note(format("アイテムの種類が多すぎる(%u)!", tmp16u));
-#else
-               note(format("Too many (%u) object kinds!", tmp16u));
-#endif
-
+               note(format(_("アイテムの種類が多すぎる(%u)!", "Too many (%u) object kinds!"), tmp16u));
                return (22);
        }
 
@@ -3426,11 +3337,7 @@ note(format("アイテムの種類が多すぎる(%u)!", tmp16u));
                k_ptr->aware = (tmp8u & 0x01) ? TRUE: FALSE;
                k_ptr->tried = (tmp8u & 0x02) ? TRUE: FALSE;
        }
-#ifdef JP
-if (arg_fiddle) note("アイテムの記録をロードしました");
-#else
-       if (arg_fiddle) note("Loaded Object Memory");
-#endif
+       if (arg_fiddle) note(_("アイテムの記録をロードしました", "Loaded Object Memory"));
 
        /* 2.1.3 or newer version */
        {
@@ -3445,12 +3352,7 @@ if (arg_fiddle) note("アイテムの記録をロードしました");
                /* Incompatible save files */
                if (max_towns_load > max_towns)
                {
-#ifdef JP
-note(format("町が多すぎる(%u)!", max_towns_load));
-#else
-                       note(format("Too many (%u) towns!", max_towns_load));
-#endif
-
+                       note(format(_("町が多すぎる(%u)!", "Too many (%u) towns!"), max_towns_load));
                        return (23);
                }
 
@@ -3469,12 +3371,7 @@ note(format("町が多すぎる(%u)!", max_towns_load));
                /* Incompatible save files */
                if (max_quests_load > max_quests)
                {
-#ifdef JP
-note(format("クエストが多すぎる(%u)!", max_quests_load));
-#else
-                       note(format("Too many (%u) quests!", max_quests_load));
-#endif
-
+                       note(format(_("クエストが多すぎる(%u)!", "Too many (%u) quests!"), max_quests_load));
                        return (23);
                }
 
@@ -3598,12 +3495,7 @@ note(format("クエストが多すぎる(%u)!", max_quests_load));
                /* Incompatible save files */
                if ((wild_x_size > max_wild_x) || (wild_y_size > max_wild_y))
                {
-#ifdef JP
-note(format("荒野が大きすぎる(%u/%u)!", wild_x_size, wild_y_size));
-#else
-                       note(format("Wilderness is too big (%u/%u)!", wild_x_size, wild_y_size));
-#endif
-
+                       note(format(_("荒野が大きすぎる(%u/%u)!", "Wilderness is too big (%u/%u)!"), wild_x_size, wild_y_size));
                        return (23);
                }
 
@@ -3617,11 +3509,7 @@ note(format("荒野が大きすぎる(%u/%u)!", wild_x_size, wild_y_size));
                }
        }
 
-#ifdef JP
-if (arg_fiddle) note("クエスト情報をロードしました");
-#else
-       if (arg_fiddle) note("Loaded Quests");
-#endif
+       if (arg_fiddle) note(_("クエスト情報をロードしました", "Loaded Quests"));
 
        /* Load the Artifacts */
        rd_u16b(&tmp16u);
@@ -3629,12 +3517,7 @@ if (arg_fiddle) note("クエスト情報をロードしました");
        /* Incompatible save files */
        if (tmp16u > max_a_idx)
        {
-#ifdef JP
-note(format("伝説のアイテムが多すぎる(%u)!", tmp16u));
-#else
-               note(format("Too many (%u) artifacts!", tmp16u));
-#endif
-
+               note(format(_("伝説のアイテムが多すぎる(%u)!", "Too many (%u) artifacts!"), tmp16u));
                return (24);
        }
 
@@ -3659,23 +3542,13 @@ note(format("伝説のアイテムが多すぎる(%u)!", tmp16u));
                        rd_s16b(&a_ptr->floor_id);
                }
        }
-#ifdef JP
-if (arg_fiddle) note("伝説のアイテムをロードしました");
-#else
-       if (arg_fiddle) note("Loaded Artifacts");
-#endif
-
-
+       if (arg_fiddle) note(_("伝説のアイテムをロードしました", "Loaded Artifacts"));
 
        /* Read the extra stuff */
        rd_extra();
        if (p_ptr->energy_need < -999) world_player = TRUE;
 
-#ifdef JP
-if (arg_fiddle) note("特別情報をロードしました");
-#else
-       if (arg_fiddle) note("Loaded extra information");
-#endif
+       if (arg_fiddle) note(_("特別情報をロードしました", "Loaded extra information"));
 
 
        /* Read the player_hp array */
@@ -3684,12 +3557,7 @@ if (arg_fiddle) note("特別情報をロードしました");
        /* Incompatible save files */
        if (tmp16u > PY_MAX_LEVEL)
        {
-#ifdef JP
-note(format("ヒットポイント配列が大きすぎる(%u)!", tmp16u));
-#else
-               note(format("Too many (%u) hitpoint entries!", tmp16u));
-#endif
-
+               note(format(_("ヒットポイント配列が大きすぎる(%u)!", "Too many (%u) hitpoint entries!"), tmp16u));
                return (25);
        }
 
@@ -3772,12 +3640,7 @@ note(format("ヒットポイント配列が大きすぎる(%u)!", tmp16u));
        /* Read the inventory */
        if (rd_inventory())
        {
-#ifdef JP
-note("持ち物情報を読み込むことができません");
-#else
-               note("Unable to read inventory");
-#endif
-
+               note(_("持ち物情報を読み込むことができません", "Unable to read inventory"));
                return (21);
        }
 
@@ -3856,20 +3719,11 @@ note("持ち物情報を読み込むことができません");
        if (!p_ptr->is_dead)
        {
                /* Dead players have no dungeon */
-#ifdef JP
-note("ダンジョン復元中...");
-#else
-               note("Restoring Dungeon...");
-#endif
+               note(_("ダンジョン復元中...", "Restoring Dungeon..."));
 
                if (rd_dungeon())
                {
-#ifdef JP
-note("ダンジョンデータ読み込み失敗");
-#else
-                       note("Error reading dungeon data");
-#endif
-
+                       note(_("ダンジョンデータ読み込み失敗", "Error reading dungeon data"));
                        return (34);
                }
 
@@ -3907,12 +3761,7 @@ note("ダンジョンデータ読み込み失敗");
        /* Verify */
        if (o_v_check != n_v_check)
        {
-#ifdef JP
-note("チェックサムがおかしい");
-#else
-               note("Invalid checksum");
-#endif
-
+               note(_("チェックサムがおかしい", "Invalid checksum"));
                return (11);
        }
 
@@ -3927,12 +3776,7 @@ note("チェックサムがおかしい");
        /* Verify */
        if (o_x_check != n_x_check)
        {
-#ifdef JP
-note("エンコードされたチェックサムがおかしい");
-#else
-               note("Invalid encoded checksum");
-#endif
-
+               note(_("エンコードされたチェックサムがおかしい", "Invalid encoded checksum"));
                return (11);
        }
 
index 2f9da2e..231d217 100644 (file)
 /*
  * Cleaning up a couple of things to make these easier to change --AR
  */
-#ifdef JP
-#define PREF_FILE_NAME "Hengband Preferences"
-#else
-#define PREF_FILE_NAME "Hengband-E Preferences"
-#endif
+#define PREF_FILE_NAME _("Hengband Preferences", "Hengband-E Preferences")
 
 /*
  * Use "malloc()" instead of "NewPtr()"
@@ -1992,11 +1988,7 @@ static void play_sound(int num, SInt16 vol)
                                }
 
                                /* Notify error */
-#ifdef JP
-                               plog("サウンドチャンネルを初期化出来ません!");
-#else
-                               plog("Cannot initialise sound channels!");
-#endif
+                               plog(_("サウンドチャンネルを初期化出来ません!", "Cannot initialise sound channels!"));
 
                                /* Cancel request */
                                use_sound = arg_sound = FALSE;
@@ -2499,11 +2491,7 @@ static errr Term_xtra_mac_react(void)
 
                if ((graf_mode_req != GRAF_MODE_NONE) && !frameP && (globe_init() != 0))
                {
-#ifdef JP
-                       plog("グラフィックの初期化は出来ませんでした.");
-#else
-                       plog("Cannot initialize graphics!");
-#endif
+                       plog(_("グラフィックの初期化は出来ませんでした.", "Cannot initialize graphics!"));
 
                        /* reject request */
                        graf_mode_req = GRAF_MODE_NONE;
@@ -3185,11 +3173,7 @@ static void SetupAppDir(void)
        err = PBGetFCBInfo(&fcbBlock, FALSE);
        if (err != noErr)
        {
-#ifdef JP
-               sprintf(errString, "PBGetFCBInfo エラー #%d.\r 終了します.", err);
-#else
-               sprintf(errString, "Fatal PBGetFCBInfo Error #%d.\r Exiting.", err);
-#endif
+               sprintf(errString, _("PBGetFCBInfo エラー #%d.\r 終了します.", "Fatal PBGetFCBInfo Error #%d.\r Exiting."), err);
                mac_warning(errString);
                ExitToShell();
        }
@@ -3202,11 +3186,7 @@ static void SetupAppDir(void)
        err = HSetVol(NULL, app_vol, app_dir);
        if (err != noErr)
        {
-#ifdef JP
-               sprintf(errString, "HSetVol エラー #%d.\r 終了します.", err);
-#else
-               sprintf(errString, "Fatal HSetVol Error #%d.\r Exiting.", err);
-#endif
+               sprintf(errString, _("HSetVol エラー #%d.\r 終了します.", "Fatal HSetVol Error #%d.\r Exiting."), err);
                mac_warning(errString);
                ExitToShell();
        }
@@ -3396,11 +3376,7 @@ static void cf_load_prefs()
        if (!ok)
        {
                /* This may be the first run */
-#ifdef JP
-               mac_warning("初期設定ファイルが見つかりません。");
-#else
-               mac_warning("Preferences are not found.");
-#endif
+               mac_warning(_("初期設定ファイルが見つかりません。", "Preferences are not found."));
 
                /* Ignore the rest */
                return;
@@ -4655,11 +4631,7 @@ static void init_menubar(void)
        mbar = GetNewMBar(128);
 
        /* Whoops! */
-#ifdef JP
-       if (mbar == nil) quit("メニューバー ID 128を見つける事ができません!");
-#else
-       if (mbar == nil) quit("Cannot find menubar('MBAR') id 128!");
-#endif
+       if (mbar == nil) quit(_("メニューバー ID 128を見つける事ができません!", "Cannot find menubar('MBAR') id 128!"));
 
        /* Insert them into the current menu list */
        SetMenuBar(mbar);
@@ -5763,11 +5735,7 @@ static void menu(long mc)
                                case ITEM_SAVE:
                                {
                                        if (!can_save){
-#ifdef JP
-                                               plog("今はセーブすることは出来ません。");
-#else
-                                               plog("You may not do that right now.");
-#endif
+                                               plog(_("今はセーブすることは出来ません。", "You may not do that right now."));
                                                break;
                                        }
                                        
@@ -5787,11 +5755,7 @@ static void menu(long mc)
                                        if (game_in_progress && character_generated)
                                        {
                                                if (!can_save){
-#ifdef JP
-                                                       plog("今はセーブすることは出来ません。");
-#else
-                                                       plog("You may not do that right now.");
-#endif
+                                                       plog(_("今はセーブすることは出来ません。", "You may not do that right now."));
                                                        break;
                                                }
                                                /* Hack -- Forget messages */
@@ -6215,11 +6179,7 @@ static pascal OSErr AEH_Quit(const AppleEvent *theAppleEvent,
        if (game_in_progress && character_generated)
        {
                        if (!can_save){
-#ifdef JP
-                               plog("今はセーブすることは出来ません。");
-#else
-                               plog("You may not do that right now.");
-#endif
+                               plog(_("今はセーブすることは出来ません。", "You may not do that right now."));
                                return;
                        }
                        /* Hack -- Forget messages */
@@ -7059,35 +7019,19 @@ static void init_stuff(void)
                init_file_paths(path);
 
                /* Build the filename */
-#ifdef JP
-               path_build(path, sizeof(path), ANGBAND_DIR_FILE, "news_j.txt");
-#else
-               path_build(path, sizeof(path), ANGBAND_DIR_FILE, "news.txt");
-#endif
+               path_build(path, sizeof(path), ANGBAND_DIR_FILE, _("news_j.txt", "news.txt"));
 
                /* Attempt to open and close that file */
                if (0 == fd_close(fd_open(path, O_RDONLY))) break;
 
                /* Warning */
-#ifdef JP
-               plog_fmt("'%s' ファイルをオープン出来ません.", path);
-#else
-               plog_fmt("Unable to open the '%s' file.", path);
-#endif
+               plog_fmt(_("'%s' ファイルをオープン出来ません.", "Unable to open the '%s' file."), path);
 
                /* Warning */
-#ifdef JP
-               plog("Hengbandの'lib'フォルダが存在しないか正しく無い可能性があります.");
-#else
-               plog("The Angband 'lib' folder is probably missing or misplaced.");
-#endif
+               plog(_("Hengbandの'lib'フォルダが存在しないか正しく無い可能性があります.", "The Angband 'lib' folder is probably missing or misplaced."));
 
                /* Warning */
-#ifdef JP
-               plog("Please 'open' any file in any sub-folder of the 'lib' folder.");
-#else
-               plog("Please 'open' any file in any sub-folder of the 'lib' folder.");
-#endif
+               plog(_("Please 'open' any file in any sub-folder of the 'lib' folder.", "Please 'open' any file in any sub-folder of the 'lib' folder."));
                
 #if TARGET_API_MAC_CARBON
                /* Ask the user to choose the lib folder */
@@ -7464,11 +7408,7 @@ int main(void)
 #endif
 
        /* Prompt the user */
-#ifdef JP
-       prt("'ファイル'メニューより'新規'または'開く...'を選択してください。", 23, 10);
-#else
-       prt("[Choose 'New' or 'Open' from the 'File' menu]", 23, 15);
-#endif
+       prt(_("'ファイル'メニューより'新規'または'開く...'を選択してください。", "[Choose 'New' or 'Open' from the 'File' menu]"), 23, _(10, 15));
 
        /* Flush the prompt */
        Term_fresh();
index 53ba030..22c263f 100644 (file)
@@ -774,11 +774,7 @@ static int init_bg(void)
 
        hBG = LoadImage(NULL, bmfile,  IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
        if (!hBG) {
-#ifdef JP
-               plog_fmt("壁紙用ビットマップ '%s' を読み込めません。", bmfile);
-#else
-               plog_fmt("Can't load the bitmap file '%s'.", bmfile);
-#endif
+               plog_fmt(_("壁紙用ビットマップ '%s' を読み込めません。", "Can't load the bitmap file '%s'."), bmfile);
                use_bg = 0;
                return 0;
        }
@@ -1021,12 +1017,7 @@ static void validate_file(cptr s)
        /* Verify or fail */
        if (!check_file(s))
        {
-#ifdef JP
-               quit_fmt("必要なファイル[%s]が見あたりません。", s);
-#else
-               quit_fmt("Cannot find required file:\n%s", s);
-#endif
-
+               quit_fmt(_("必要なファイル[%s]が見あたりません。", "Cannot find required file:\n%s"), s);
        }
 }
 
@@ -1042,12 +1033,7 @@ static void validate_dir(cptr s, bool vital)
                /* This directory contains needed data */
                if (vital)
                {
-#ifdef JP
-               quit_fmt("必要なディレクトリ[%s]が見あたりません。", s);
-#else
-                       quit_fmt("Cannot find required directory:\n%s", s);
-#endif
-
+                       quit_fmt(_("必要なディレクトリ[%s]が見あたりません。", "Cannot find required directory:\n%s"), s);
                }
                /* Attempt to create this directory */
                else if (mkdir(s))
@@ -1597,12 +1583,7 @@ static int new_palette(void)
                if ((nEntries == 0) || (nEntries > 220))
                {
                        /* Warn the user */
-#ifdef JP
-                       plog("画面を16ビットか24ビットカラーモードにして下さい。");
-#else
-                       plog("Please switch to high- or true-color mode.");
-#endif
-
+                       plog(_("画面を16ビットか24ビットカラーモードにして下さい。", "Please switch to high- or true-color mode."));
 
                        /* Cleanup */
                        rnfree(lppe, lppeSize);
@@ -1654,12 +1635,7 @@ static int new_palette(void)
 
        /* Create a new palette, or fail */
        hNewPal = CreatePalette(pLogPal);
-#ifdef JP
-       if (!hNewPal) quit("パレットを作成できません!");
-#else
-       if (!hNewPal) quit("Cannot create palette!");
-#endif
-
+       if (!hNewPal) quit(_("パレットを作成できません!", "Cannot create palette!"));
 
        /* Free the palette */
        rnfree(pLogPal, pLogPalSize);
@@ -1672,11 +1648,7 @@ static int new_palette(void)
        SelectPalette(hdc, hNewPal, 0);
        i = RealizePalette(hdc);
        ReleaseDC(td->w, hdc);
-#ifdef JP
-       if (i == 0) quit("パレットをシステムエントリにマップできません!");
-#else
-       if (i == 0) quit("Cannot realize palette!");
-#endif
+       if (i == 0) quit(_("パレットをシステムエントリにマップできません!", "Cannot realize palette!"));
 
 
        /* Sub-windows */
@@ -1765,12 +1737,7 @@ static bool init_graphics(void)
                /* Load the bitmap or quit */
                if (!ReadDIB(data[0].w, buf, &infGraph))
                {
-#ifdef JP
-                       plog_fmt("ビットマップ '%s' を読み込めません。", name);
-#else
-                       plog_fmt("Cannot read bitmap file '%s'", name);
-#endif
-
+                       plog_fmt(_("ビットマップ '%s' を読み込めません。", "Cannot read bitmap file '%s'"), name);
                        return (FALSE);
                }
 
@@ -1813,12 +1780,7 @@ static bool init_graphics(void)
                        /* Free bitmap XXX XXX XXX */
 
                        /* Oops */
-#ifdef JP
-                       plog("パレットを実現できません!");
-#else
-                       plog("Cannot activate palette!");
-#endif
-
+                       plog(_("パレットを実現できません!", "Cannot activate palette!"));
                        return (FALSE);
                }
 
@@ -2269,12 +2231,7 @@ static errr Term_xtra_win_react(void)
                if (arg_sound && !init_sound())
                {
                        /* Warning */
-#ifdef JP
-                       plog("サウンドを初期化できません!");
-#else
-                       plog("Cannot initialize sound!");
-#endif
-
+                       plog(_("サウンドを初期化できません!", "Cannot initialize sound!"));
 
                        /* Cannot enable */
                        arg_sound = FALSE;
@@ -2295,11 +2252,7 @@ static errr Term_xtra_win_react(void)
                if (arg_music && !init_music())
                {
                        /* Warning */
-#ifdef JP
-                       plog("BGMを初期化できません!");
-#else
-                       plog("Cannot initialize BGM!");
-#endif
+                       plog(_("BGMを初期化できません!", "Cannot initialize BGM!"));
                        /* Cannot enable */
                        arg_music = FALSE;
                }
@@ -2324,12 +2277,7 @@ static errr Term_xtra_win_react(void)
                if (arg_graphics && !init_graphics())
                {
                        /* Warning */
-#ifdef JP
-                       plog("グラフィックスを初期化できません!");
-#else
-                       plog("Cannot initialize graphics!");
-#endif
-
+                       plog(_("グラフィックスを初期化できません!", "Cannot initialize graphics!"));
 
                        /* Cannot enable */
                        arg_graphics = GRAPHICS_NONE;
@@ -3473,12 +3421,7 @@ static void init_windows(void)
                                       td->size_wid, td->size_hgt,
                                       HWND_DESKTOP, NULL, hInstance, NULL);
                my_td = NULL;
-#ifdef JP
-               if (!td->w) quit("サブウィンドウに作成に失敗しました");
-#else
-               if (!td->w) quit("Failed to create sub-window");
-#endif
-
+               if (!td->w) quit(_("サブウィンドウに作成に失敗しました", "Failed to create sub-window"));
 
                if (td->visible)
                {
@@ -3518,12 +3461,7 @@ static void init_windows(void)
                               td->size_wid, td->size_hgt,
                               HWND_DESKTOP, NULL, hInstance, NULL);
        my_td = NULL;
-#ifdef JP
-       if (!td->w) quit("メインウィンドウの作成に失敗しました");
-#else
-       if (!td->w) quit("Failed to create Angband window");
-#endif
-
+       if (!td->w) quit(_("メインウィンドウの作成に失敗しました", "Failed to create Angband window"));
 
        term_data_link(td);
        angband_term[0] = &td->t;
@@ -3835,21 +3773,11 @@ static void process_menus(WORD wCmd)
                {
                        if (!initialized)
                        {
-#ifdef JP
-                               plog("まだ初期化中です...");
-#else
-                               plog("You cannot do that yet...");
-#endif
-
+                               plog(_("まだ初期化中です...", "You cannot do that yet..."));
                        }
                        else if (game_in_progress)
                        {
-#ifdef JP
-                               plog("プレイ中は新しいゲームを始めることができません!");
-#else
-                               plog("You can't start a new game while you're still playing!");
-#endif
-
+                               plog(_("プレイ中は新しいゲームを始めることができません!", "You can't start a new game while you're still playing!"));
                        }
                        else
                        {
@@ -3866,21 +3794,11 @@ static void process_menus(WORD wCmd)
                {
                        if (!initialized)
                        {
-#ifdef JP
-                               plog("まだ初期化中です...");
-#else
-                               plog("You cannot do that yet...");
-#endif
-
+                               plog(_("まだ初期化中です...", "You cannot do that yet..."));
                        }
                        else if (game_in_progress)
                        {
-#ifdef JP
-                               plog("プレイ中はゲームをロードすることができません!");
-#else
-                               plog("You can't open a new game while you're still playing!");
-#endif
-
+                               plog(_("プレイ中はゲームをロードすることができません!", "You can't open a new game while you're still playing!"));
                        }
                        else
                        {
@@ -3915,12 +3833,7 @@ static void process_menus(WORD wCmd)
                                /* Paranoia */
                                if (!can_save)
                                {
-#ifdef JP
-                                       plog("今はセーブすることは出来ません。");
-#else
-                                       plog("You may not do that right now.");
-#endif
-
+                                       plog(_("今はセーブすることは出来ません。", "You may not do that right now."));
                                        break;
                                }
 
@@ -3936,12 +3849,7 @@ static void process_menus(WORD wCmd)
                        }
                        else
                        {
-#ifdef JP
-                               plog("今、セーブすることは出来ません。");
-#else
-                               plog("You may not do that right now.");
-#endif
-
+                               plog(_("今、セーブすることは出来ません。", "You may not do that right now."));
                        }
                        break;
                }
@@ -3954,12 +3862,7 @@ static void process_menus(WORD wCmd)
                                /* Paranoia */
                                if (!can_save)
                                {
-#ifdef JP
-                                       plog("今は終了できません。");
-#else
-                                       plog("You may not do that right now.");
-#endif
-
+                                       plog(_("今は終了できません。", "You may not do that right now."));
                                        break;
                                }
 
@@ -4031,19 +3934,11 @@ static void process_menus(WORD wCmd)
                {
                        if (!initialized)
                        {
-#ifdef JP
-                               plog("まだ初期化中です...");
-#else
-                               plog("You cannot do that yet...");
-#endif
+                               plog(_("まだ初期化中です...", "You cannot do that yet..."));
                        }
                        else if (game_in_progress)
                        {
-#ifdef JP
-                               plog("プレイ中はムービーをロードすることができません!");
-#else
-                               plog("You can't open a movie while you're playing!");
-#endif
+                               plog(_("プレイ中はムービーをロードすることができません!", "You can't open a movie while you're playing!"));
                        }
                        else
                        {
@@ -4072,13 +3967,7 @@ static void process_menus(WORD wCmd)
 
                case IDM_WINDOW_VIS_0:
                {
-#ifdef JP
-                       plog("メインウィンドウは非表示にできません!");
-#else
-                       plog("You are not allowed to do that!");
-#endif
-
-
+                       plog(_("メインウィンドウは非表示にできません!", "You are not allowed to do that!"));
                        break;
                }
 
@@ -4495,11 +4384,7 @@ static void process_menus(WORD wCmd)
                                ofn.lpstrFile = bg_bitmap_file;
                                ofn.nMaxFile = 1023;
                                ofn.lpstrInitialDir = NULL;
-#ifdef JP
-                               ofn.lpstrTitle = "壁紙を選んでね。";
-#else
-                               ofn.lpstrTitle = "Choose wall paper.";
-#endif
+                               ofn.lpstrTitle = _("壁紙を選んでね。", "Choose wall paper.");
                                ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
 
                                if (GetOpenFileName(&ofn))
@@ -4530,11 +4415,7 @@ static void process_menus(WORD wCmd)
                        ofn.nMaxFile = 1023;
                        ofn.lpstrDefExt = "html";
                        ofn.lpstrInitialDir = NULL;
-#ifdef JP
-                       ofn.lpstrTitle = "HTMLでスクリーンダンプを保存";
-#else
-                       ofn.lpstrTitle = "Save screen dump as HTML.";
-#endif
+                       ofn.lpstrTitle = _("HTMLでスクリーンダンプを保存", "Save screen dump as HTML.");
                        ofn.Flags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
 
                        if (GetSaveFileName(&ofn))
@@ -4570,12 +4451,7 @@ static void process_menus(WORD wCmd)
                                }
                                else
                                {
-#ifdef JP
-                                       plog("ウィンドウを作成出来ません");
-#else
-                                       plog("Failed to create saver window");
-#endif
-
+                                       plog(_("ウィンドウを作成出来ません", "Failed to create saver window"));
                                }
                        }
                        break;
@@ -4961,11 +4837,7 @@ LRESULT FAR PASCAL AngbandWndProc(HWND hWnd, UINT uMsg,
                        {
                                if (!can_save)
                                {
-#ifdef JP
-                                       plog("今は終了できません。");
-#else
-                                       plog("You may not do that right now.");
-#endif
+                                       plog(_("今は終了できません。", "You may not do that right now."));
                                        return 0;
                                }
 
@@ -4998,12 +4870,7 @@ LRESULT FAR PASCAL AngbandWndProc(HWND hWnd, UINT uMsg,
 
                                /* Mega-Hack -- Delay death */
                                if (p_ptr->chp < 0) p_ptr->is_dead = FALSE;
-
-#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 ----"));
 
                                /* Hardcode panic save */
                                p_ptr->panic_save = 1;
@@ -5012,11 +4879,7 @@ LRESULT FAR PASCAL AngbandWndProc(HWND hWnd, UINT uMsg,
                                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 */
                                (void)save_player();
@@ -5671,12 +5534,7 @@ static void init_stuff(void)
        validate_dir(ANGBAND_DIR_XTRA, TRUE);
 
        /* Build the filename */
-#ifdef JP
-       path_build(path, sizeof(path), ANGBAND_DIR_FILE, "news_j.txt");
-#else
-       path_build(path, sizeof(path), ANGBAND_DIR_FILE, "news.txt");
-#endif
-
+       path_build(path, sizeof(path), ANGBAND_DIR_FILE, _("news_j.txt", "news.txt"));
 
        /* Hack -- Validate the "news.txt" file */
        validate_file(path);
@@ -5962,11 +5820,7 @@ int FAR PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrevInst,
 #endif
 
        /* Prompt the user */
-#ifdef JP
-       prt("[ファイル] メニューの [新規] または [開く] を選択してください。", 23, 8);
-#else
-       prt("[Choose 'New' or 'Open' from the 'File' menu]", 23, 17);
-#endif
+       prt(_("[ファイル] メニューの [新規] または [開く] を選択してください。", "[Choose 'New' or 'Open' from the 'File' menu]"), 23, _(8, 17));
 
        Term_fresh();
 
index 675ed6d..3ba60d5 100644 (file)
@@ -103,11 +103,7 @@ static int get_mane_power(int *sn, bool baigaesi)
        char            choice;
        char            out_val[160];
        char            comment[80];
-#ifdef JP
-cptr            p = "能力";
-#else
-       cptr            p = "power";
-#endif
+       cptr            p = _("能力", "power");
 
        monster_power   spell;
        bool            flag, redraw;
@@ -125,11 +121,7 @@ cptr            p = "能力";
 
        /* Build a prompt (accept all spells) */
        (void)strnfmt(out_val, 78, 
-#ifdef JP
-                     "(%c-%c, '*'で一覧, ESC) どの%sをまねますか?",
-#else
-                     "(%c-%c, *=List, ESC=exit) Use which %s? ",
-#endif
+                     _("(%c-%c, '*'で一覧, ESC) どの%sをまねますか?", "(%c-%c, *=List, ESC=exit) Use which %s? "),
                      I2A(0), I2A(num - 1), p);
 
        /* Get a spell from the user */
@@ -156,17 +148,8 @@ cptr            p = "能力";
 
                                /* Display a list of spells */
                                prt("", y, x);
-#ifdef JP
-put_str("名前", y, x + 5);
-#else
-                               put_str("Name", y, x + 5);
-#endif
-
-#ifdef JP
-put_str("失率 効果", y, x + 36);
-#else
-                               put_str("Fail Info", y, x + 35);
-#endif
+                               put_str(_("名前", "Name"), y, x + 5);
+                               put_str(_("失率 効果", "Fail Info"), y, x + 36);
 
 
                                /* Dump the spells */
@@ -253,12 +236,7 @@ put_str("失率 効果", y, x + 36);
                        char tmp_val[160];
 
                        /* Prompt */
-#ifdef JP
-                       (void) strnfmt(tmp_val, 78, "%sをまねますか?", monster_powers[p_ptr->mane_spell[i]].name);
-#else
-                       (void)strnfmt(tmp_val, 78, "Use %s? ", monster_powers[p_ptr->mane_spell[i]].name);
-#endif
-
+                       (void) strnfmt(tmp_val, 78, _("%sをまねますか?", "Use %s? "), monster_powers[p_ptr->mane_spell[i]].name);
 
                        /* Belay that order */
                        if (!get_check(tmp_val)) continue;
@@ -310,12 +288,7 @@ static bool use_mane(int spell)
        switch (spell)
        {
        case MS_SHRIEK:
-#ifdef JP
-msg_print("かん高い金切り声をあげた。");
-#else
-               msg_print("You make a high pitched shriek.");
-#endif
-
+               msg_print(_("かん高い金切り声をあげた。", "You make a high pitched shriek."));
                aggravate_monsters(0);
                break;
        case MS_XXX1:
@@ -334,21 +307,13 @@ msg_print("かん高い金切り声をあげた。");
        }
        case MS_ROCKET:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("ロケットを発射した。");
-#else
-                       else msg_print("You fire a rocket.");
-#endif
+               else msg_print(_("ロケットを発射した。", "You fire a rocket."));
                
                        fire_rocket(GF_ROCKET, dir, damage, 2);
                break;
        case MS_SHOOT:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("矢を放った。");
-#else
-                       else msg_print("You fire an arrow.");
-#endif
+               else msg_print(_("矢を放った。", "You fire an arrow."));
                
                        fire_bolt(GF_ARROW, dir, damage);
                break;
@@ -360,331 +325,199 @@ else msg_print("矢を放った。");
                break;
        case MS_BR_ACID:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("酸のブレスを吐いた。");
-#else
-                       else msg_print("You breathe acid.");
-#endif
+               else msg_print(_("酸のブレスを吐いた。", "You breathe acid."));
                
                        fire_ball(GF_ACID, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_ELEC:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("稲妻のブレスを吐いた。");
-#else
-                       else msg_print("You breathe lightning.");
-#endif
+               else msg_print(_("稲妻のブレスを吐いた。", "You breathe lightning."));
                
                        fire_ball(GF_ELEC, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_FIRE:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("火炎のブレスを吐いた。");
-#else
-                       else msg_print("You breathe fire.");
-#endif
+               else msg_print(_("火炎のブレスを吐いた。", "You breathe fire."));
                
                        fire_ball(GF_FIRE, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_COLD:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("冷気のブレスを吐いた。");
-#else
-                       else msg_print("You breathe frost.");
-#endif
+               else msg_print(_("冷気のブレスを吐いた。", "You breathe frost."));
                
                        fire_ball(GF_COLD, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_POIS:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("ガスのブレスを吐いた。");
-#else
-                       else msg_print("You breathe gas.");
-#endif
+               else msg_print(_("ガスのブレスを吐いた。", "You breathe gas."));
                
                        fire_ball(GF_POIS, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_NETHER:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("地獄のブレスを吐いた。");
-#else
-                       else msg_print("You breathe nether.");
-#endif
+               else msg_print(_("地獄のブレスを吐いた。", "You breathe nether."));
                
                        fire_ball(GF_NETHER, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_LITE:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("閃光のブレスを吐いた。");
-#else
-                       else msg_print("You breathe light.");
-#endif
+               else msg_print(_("閃光のブレスを吐いた。", "You breathe light."));
                
                        fire_ball(GF_LITE, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_DARK:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("暗黒のブレスを吐いた。");
-#else
-                       else msg_print("You breathe darkness.");
-#endif
+               else msg_print(_("暗黒のブレスを吐いた。", "You breathe darkness."));
                
                        fire_ball(GF_DARK, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_CONF:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("混乱のブレスを吐いた。");
-#else
-                       else msg_print("You breathe confusion.");
-#endif
+               else msg_print(_("混乱のブレスを吐いた。", "You breathe confusion."));
                
                        fire_ball(GF_CONFUSION, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_SOUND:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("轟音のブレスを吐いた。");
-#else
-                       else msg_print("You breathe sound.");
-#endif
+               else msg_print(_("轟音のブレスを吐いた。", "You breathe sound."));
                
                        fire_ball(GF_SOUND, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_CHAOS:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("カオスのブレスを吐いた。");
-#else
-                       else msg_print("You breathe chaos.");
-#endif
+               else msg_print(_("カオスのブレスを吐いた。", "You breathe chaos."));
                
                        fire_ball(GF_CHAOS, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_DISEN:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("劣化のブレスを吐いた。");
-#else
-                       else msg_print("You breathe disenchantment.");
-#endif
+               else msg_print(_("劣化のブレスを吐いた。", "You breathe disenchantment."));
                
                        fire_ball(GF_DISENCHANT, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_NEXUS:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("因果混乱のブレスを吐いた。");
-#else
-                       else msg_print("You breathe nexus.");
-#endif
+               else msg_print(_("因果混乱のブレスを吐いた。", "You breathe nexus."));
                
                        fire_ball(GF_NEXUS, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_TIME:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("時間逆転のブレスを吐いた。");
-#else
-                       else msg_print("You breathe time.");
-#endif
+               else msg_print(_("時間逆転のブレスを吐いた。", "You breathe time."));
                
                        fire_ball(GF_TIME, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_INERTIA:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("遅鈍のブレスを吐いた。");
-#else
-                       else msg_print("You breathe inertia.");
-#endif
+               else msg_print(_("遅鈍のブレスを吐いた。", "You breathe inertia."));
                
                        fire_ball(GF_INERTIA, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_GRAVITY:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("重力のブレスを吐いた。");
-#else
-                       else msg_print("You breathe gravity.");
-#endif
+               else msg_print(_("重力のブレスを吐いた。", "You breathe gravity."));
                
                        fire_ball(GF_GRAVITY, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_SHARDS:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("破片のブレスを吐いた。");
-#else
-                       else msg_print("You breathe shards.");
-#endif
+               else msg_print(_("破片のブレスを吐いた。", "You breathe shards."));
                
                        fire_ball(GF_SHARDS, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_PLASMA:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("プラズマのブレスを吐いた。");
-#else
-                       else msg_print("You breathe plasma.");
-#endif
+               else msg_print(_("プラズマのブレスを吐いた。", "You breathe plasma."));
                
                        fire_ball(GF_PLASMA, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_FORCE:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("フォースのブレスを吐いた。");
-#else
-                       else msg_print("You breathe force.");
-#endif
+               else msg_print(_("フォースのブレスを吐いた。", "You breathe force."));
                
                        fire_ball(GF_FORCE, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BR_MANA:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("魔力のブレスを吐いた。");
-#else
-                       else msg_print("You breathe mana.");
-#endif
+               else msg_print(_("魔力のブレスを吐いた。", "You breathe mana."));
                
                        fire_ball(GF_MANA, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BALL_NUKE:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("放射能球を放った。");
-#else
-                       else msg_print("You cast a ball of radiation.");
-#endif
+               else msg_print(_("放射能球を放った。", "You cast a ball of radiation."));
                
                        fire_ball(GF_NUKE, dir, damage, 2);
                break;
        case MS_BR_NUKE:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("放射性廃棄物のブレスを吐いた。");
-#else
-                       else msg_print("You breathe toxic waste.");
-#endif
+               else msg_print(_("放射性廃棄物のブレスを吐いた。", "You breathe toxic waste."));
                
                        fire_ball(GF_NUKE, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BALL_CHAOS:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("純ログルスを放った。");
-#else
-                       else msg_print("You invoke a raw Logrus.");
-#endif
+               else msg_print(_("純ログルスを放った。", "You invoke a raw Logrus."));
                
                        fire_ball(GF_CHAOS, dir, damage, 4);
                break;
        case MS_BR_DISI:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("分解のブレスを吐いた。");
-#else
-                       else msg_print("You breathe disintegration.");
-#endif
+               else msg_print(_("分解のブレスを吐いた。", "You breathe disintegration."));
                
                        fire_ball(GF_DISINTEGRATE, dir, damage, (plev > 35 ? -3 : -2));
                break;
        case MS_BALL_ACID:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("アシッド・ボールの呪文を唱えた。");
-#else
-                       else msg_print("You cast an acid ball.");
-#endif
+               else msg_print(_("アシッド・ボールの呪文を唱えた。", "You cast an acid ball."));
                
                        fire_ball(GF_ACID, dir, damage, 2);
                break;
        case MS_BALL_ELEC:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("サンダー・ボールの呪文を唱えた。");
-#else
-                       else msg_print("You cast a lightning ball.");
-#endif
+               else msg_print(_("サンダー・ボールの呪文を唱えた。", "You cast a lightning ball."));
                
                        fire_ball(GF_ELEC, dir, damage, 2);
                break;
        case MS_BALL_FIRE:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("ファイア・ボールの呪文を唱えた。");
-#else
-                       else msg_print("You cast a fire ball.");
-#endif
+               else msg_print(_("ファイア・ボールの呪文を唱えた。", "You cast a fire ball."));
                
                        fire_ball(GF_FIRE, dir, damage, 2);
                break;
        case MS_BALL_COLD:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("アイス・ボールの呪文を唱えた。");
-#else
-                       else msg_print("You cast a frost ball.");
-#endif
+               else msg_print(_("アイス・ボールの呪文を唱えた。", "You cast a frost ball."));
                
                        fire_ball(GF_COLD, dir, damage, 2);
                break;
        case MS_BALL_POIS:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("悪臭雲の呪文を唱えた。");
-#else
-                       else msg_print("You cast a stinking cloud.");
-#endif
+               else msg_print(_("悪臭雲の呪文を唱えた。", "You cast a stinking cloud."));
                
                        fire_ball(GF_POIS, dir, damage, 2);
                break;
        case MS_BALL_NETHER:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("地獄球の呪文を唱えた。");
-#else
-                       else msg_print("You cast a nether ball.");
-#endif
+               else msg_print(_("地獄球の呪文を唱えた。", "You cast a nether ball."));
                
                        fire_ball(GF_NETHER, dir, damage, 2);
                break;
        case MS_BALL_WATER:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("流れるような身振りをした。");
-#else
-                       else msg_print("You gesture fluidly.");
-#endif
+               else msg_print(_("流れるような身振りをした。", "You gesture fluidly."));
                
                        fire_ball(GF_WATER, dir, damage, 4);
                break;
        case MS_BALL_MANA:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("魔力の嵐の呪文を念じた。");
-#else
-                       else msg_print("You invoke a mana storm.");
-#endif
+               else msg_print(_("魔力の嵐の呪文を念じた。", "You invoke a mana storm."));
                
                        fire_ball(GF_MANA, dir, damage, 4);
                break;
        case MS_BALL_DARK:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("暗黒の嵐の呪文を念じた。");
-#else
-                       else msg_print("You invoke a darkness storm.");
-#endif
+               else msg_print(_("暗黒の嵐の呪文を念じた。", "You invoke a darkness storm."));
                
                        fire_ball(GF_DARK, dir, damage, 4);
                break;
@@ -718,121 +551,73 @@ else msg_print("暗黒の嵐の呪文を念じた。");
                break;
        case MS_BOLT_ACID:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("アシッド・ボルトの呪文を唱えた。");
-#else
-                       else msg_print("You cast an acid bolt.");
-#endif
+               else msg_print(_("アシッド・ボルトの呪文を唱えた。", "You cast an acid bolt."));
                
                        fire_bolt(GF_ACID, dir, damage);
                break;
        case MS_BOLT_ELEC:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("サンダー・ボルトの呪文を唱えた。");
-#else
-                       else msg_print("You cast a lightning bolt.");
-#endif
+               else msg_print(_("サンダー・ボルトの呪文を唱えた。", "You cast a lightning bolt."));
                
                        fire_bolt(GF_ELEC, dir, damage);
                break;
        case MS_BOLT_FIRE:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("ファイア・ボルトの呪文を唱えた。");
-#else
-                       else msg_print("You cast a fire bolt.");
-#endif
+               else msg_print(_("ファイア・ボルトの呪文を唱えた。", "You cast a fire bolt."));
                
                        fire_bolt(GF_FIRE, dir, damage);
                break;
        case MS_BOLT_COLD:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("アイス・ボルトの呪文を唱えた。");
-#else
-                       else msg_print("You cast a frost bolt.");
-#endif
+               else msg_print(_("アイス・ボルトの呪文を唱えた。", "You cast a frost bolt."));
                
                        fire_bolt(GF_COLD, dir, damage);
                break;
        case MS_STARBURST:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("スターバーストの呪文を念じた。");
-#else
-                       else msg_print("You invoke a starburst.");
-#endif
+               else msg_print(_("スターバーストの呪文を念じた。", "You invoke a starburst."));
                
                        fire_ball(GF_LITE, dir, damage, 4);
                break;
        case MS_BOLT_NETHER:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("地獄の矢の呪文を唱えた。");
-#else
-                       else msg_print("You cast a nether bolt.");
-#endif
+               else msg_print(_("地獄の矢の呪文を唱えた。", "You cast a nether bolt."));
                
                        fire_bolt(GF_NETHER, dir, damage);
                break;
        case MS_BOLT_WATER:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("ウォーター・ボルトの呪文を唱えた。");
-#else
-                       else msg_print("You cast a water bolt.");
-#endif
+               else msg_print(_("ウォーター・ボルトの呪文を唱えた。", "You cast a water bolt."));
                
                        fire_bolt(GF_WATER, dir, damage);
                break;
        case MS_BOLT_MANA:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("魔力の矢の呪文を唱えた。");
-#else
-                       else msg_print("You cast a mana bolt.");
-#endif
+               else msg_print(_("魔力の矢の呪文を唱えた。", "You cast a mana bolt."));
                
                        fire_bolt(GF_MANA, dir, damage);
                break;
        case MS_BOLT_PLASMA:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("プラズマ・ボルトの呪文を唱えた。");
-#else
-                       else msg_print("You cast a plasma bolt.");
-#endif
+               else msg_print(_("プラズマ・ボルトの呪文を唱えた。", "You cast a plasma bolt."));
                
                        fire_bolt(GF_PLASMA, dir, damage);
                break;
        case MS_BOLT_ICE:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("極寒の矢の呪文を唱えた。");
-#else
-                       else msg_print("You cast a ice bolt.");
-#endif
+               else msg_print(_("極寒の矢の呪文を唱えた。", "You cast a ice bolt."));
                
                        fire_bolt(GF_ICE, dir, damage);
                break;
        case MS_MAGIC_MISSILE:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("マジック・ミサイルの呪文を唱えた。");
-#else
-                       else msg_print("You cast a magic missile.");
-#endif
+               else msg_print(_("マジック・ミサイルの呪文を唱えた。", "You cast a magic missile."));
                
                        fire_bolt(GF_MISSILE, dir, damage);
                break;
        case MS_SCARE:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("恐ろしげな幻覚を作り出した。");
-#else
-                       else msg_print("You cast a fearful illusion.");
-#endif
+               else msg_print(_("恐ろしげな幻覚を作り出した。", "You cast a fearful illusion."));
                
                        fear_monster(dir, plev+10);
                break;
@@ -842,11 +627,7 @@ else msg_print("恐ろしげな幻覚を作り出した。");
                break;
        case MS_CONF:
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("誘惑的な幻覚をつくり出した。");
-#else
-                       else msg_print("You cast a mesmerizing illusion.");
-#endif
+               else msg_print(_("誘惑的な幻覚をつくり出した。", "You cast a mesmerizing illusion."));
                
                        confuse_monster(dir, plev * 2);
                break;
@@ -864,31 +645,19 @@ else msg_print("誘惑的な幻覚をつくり出した。");
        case MS_HAND_DOOM:
        {
                if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-else msg_print("<破滅の手>を放った!");
-#else
-               else msg_print("You invoke the Hand of Doom!");
-#endif
+               else msg_print(_("<破滅の手>を放った!", "You invoke the Hand of Doom!"));
 
                fire_ball_hide(GF_HAND_DOOM, dir, 200, 0);
                break;
        }
        case MS_HEAL:
-#ifdef JP
-msg_print("自分の傷に念を集中した。");
-#else
-                       msg_print("You concentrate on your wounds!");
-#endif
+               msg_print(_("自分の傷に念を集中した。", "You concentrate on your wounds!"));
                (void)hp_player(plev*6);
                (void)set_stun(0);
                (void)set_cut(0);
                break;
        case MS_INVULNER:
-#ifdef JP
-msg_print("無傷の球の呪文を唱えた。");
-#else
-                       msg_print("You cast a Globe of Invulnerability.");
-#endif
+               msg_print(_("無傷の球の呪文を唱えた。", "You cast a Globe of Invulnerability."));
                (void)set_invuln(randint1(7) + 7, FALSE);
                break;
        case MS_BLINK:
@@ -900,17 +669,9 @@ msg_print("無傷の球の呪文を唱えた。");
        case MS_WORLD:
                world_player = TRUE;
                if (damage == 1 || damage == 2)
-#ifdef JP
-                       msg_print("「『ザ・ワールド』!時は止まった!」");
-#else
-                       msg_print("You yell 'The World! Time has stopped!'");
-#endif
+                       msg_print(_("「『ザ・ワールド』!時は止まった!」", "You yell 'The World! Time has stopped!'"));
                else if (damage == 3 || damage == 6)
-#ifdef JP
-                       msg_print("「時よ!」");
-#else
-                       msg_print("You yell 'Time!'");
-#endif
+                       msg_print(_("「時よ!」", "You yell 'Time!'"));
                else
                        msg_print("hek!");
                msg_print(NULL);
@@ -949,31 +710,19 @@ msg_print("無傷の球の呪文を唱えた。");
                        if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flagsr & RFR_RES_ALL))
                        {
                                if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
-#ifdef JP
-                               msg_format("%sには効果がなかった!", m_name);
-#else
-                               msg_format("%s is unaffected!", m_name);
-#endif
+                               msg_format(_("%sには効果がなかった!", "%s is unaffected!"), m_name);
 
                                break;
                        }
                        else if (r_ptr->level > randint1(100))
                        {
                                if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
-#ifdef JP
-                               msg_format("%sには耐性がある!", m_name);
-#else
-                               msg_format("%s resists!", m_name);
-#endif
+                               msg_format(_("%sには耐性がある!", "%s resists!"), m_name);
 
                                break;
                        }
                }
-#ifdef JP
-msg_format("%sを引き戻した。", m_name);
-#else
-               msg_format("You command %s to return.", m_name);
-#endif
+               msg_format(_("%sを引き戻した。", "You command %s to return."), m_name);
 
                teleport_monster_to(cave[target_row][target_col].m_idx, py, px, 100, TELEPORT_PASSIVE);
                break;
@@ -998,64 +747,35 @@ msg_format("%sを引き戻した。", m_name);
                m_ptr = &m_list[target_m_idx];
                r_ptr = &r_info[m_ptr->r_idx];
                monster_desc(m_name, m_ptr, 0);
-#ifdef JP
-               msg_format("%^sの足を指さした。", m_name);
-#else
-               msg_format("You gesture at %^s's feet.", m_name);
-#endif
+               msg_format(_("%^sの足を指さした。", "You gesture at %^s's feet."), m_name);
 
                if ((r_ptr->flagsr & (RFR_EFF_RES_NEXU_MASK | RFR_RES_TELE)) ||
                        (r_ptr->flags1 & RF1_QUESTOR) || (r_ptr->level + randint1(50) > plev + randint1(60)))
                {
-#ifdef JP
-                       msg_print("しかし効果がなかった!");
-#else
-                       msg_format("%^s is unaffected!", m_name);
-#endif
+                       msg_print(_("しかし効果がなかった!", "%^s is unaffected!"));
                }
                else teleport_level(target_m_idx);
                break;
        }
        case MS_PSY_SPEAR:
                if (!get_aim_dir(&dir)) return FALSE;
-
-#ifdef JP
-else msg_print("光の剣を放った。");
-#else
-                       else msg_print("You throw a psycho-spear.");
-#endif
+               else msg_print(_("光の剣を放った。", "You throw a psycho-spear."));
                (void)fire_beam(GF_PSY_SPEAR, dir, damage);
                break;
        case MS_DARKNESS:
-#ifdef JP
-msg_print("暗闇の中で手を振った。");
-#else
-                       msg_print("You gesture in shadow.");
-#endif
+               msg_print(_("暗闇の中で手を振った。", "You gesture in shadow."));
                (void)unlite_area(10, 3);
                break;
        case MS_MAKE_TRAP:
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("呪文を唱えて邪悪に微笑んだ。");
-#else
-                       msg_print("You cast a spell and cackles evilly.");
-#endif
+               msg_print(_("呪文を唱えて邪悪に微笑んだ。", "You cast a spell and cackles evilly."));
                trap_creation(target_row, target_col);
                break;
        case MS_FORGET:
-#ifdef JP
-msg_print("しかし何も起きなかった。");
-#else
-                       msg_print("Nothing happen.");
-#endif
+               msg_print(_("しかし何も起きなかった。", "Nothing happen."));
                break;
        case MS_RAISE_DEAD:
-#ifdef JP
-msg_print("死者復活の呪文を唱えた。");
-#else
-               msg_print("You cast a animate dead.");
-#endif
+               msg_print(_("死者復活の呪文を唱えた。", "You cast a animate dead."));
                (void)animate_dead(0, py, px);
                break;
        case MS_S_KIN:
@@ -1063,11 +783,7 @@ msg_print("死者復活の呪文を唱えた。");
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
 
-#ifdef JP
-msg_print("援軍を召喚した。");
-#else
-                       msg_print("You summon minions.");
-#endif
+               msg_print(_("援軍を召喚した。", "You summon minions."));
                for (k = 0;k < 4; k++)
                {
                        (void)summon_kin_player(plev, target_row, target_col, (PM_FORCE_PET | PM_ALLOW_GROUP));
@@ -1079,11 +795,7 @@ msg_print("援軍を召喚した。");
                int k;
                int max_cyber = (dun_level / 50) + randint1(3);
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("サイバーデーモンを召喚した!");
-#else
-                       msg_print("You summon Cyberdemons!");
-#endif
+               msg_print(_("サイバーデーモンを召喚した!", "You summon Cyberdemons!"));
                if (max_cyber > 4) max_cyber = 4;
                for (k = 0;k < max_cyber; k++)
                        summon_specific(-1, target_row, target_col, plev, SUMMON_CYBER, mode);
@@ -1093,11 +805,7 @@ msg_print("サイバーデーモンを召喚した!");
        {
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("仲間を召喚した。");
-#else
-                       msg_print("You summon help.");
-#endif
+               msg_print(_("仲間を召喚した。", "You summon help."));
                for (k = 0;k < 1; k++)
                        summon_specific(-1, target_row, target_col, plev, 0, (mode | u_mode));
                break;
@@ -1106,11 +814,7 @@ msg_print("仲間を召喚した。");
        {
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("モンスターを召喚した!");
-#else
-                       msg_print("You summon monsters!");
-#endif
+               msg_print(_("モンスターを召喚した!", "You summon monsters!"));
                for (k = 0;k < 6; k++)
                        summon_specific(-1, target_row, target_col, plev, 0, (mode | u_mode));
                break;
@@ -1119,11 +823,7 @@ msg_print("モンスターを召喚した!");
        {
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("アリを召喚した。");
-#else
-                       msg_print("You summon ants.");
-#endif
+               msg_print(_("アリを召喚した。", "You summon ants."));
                for (k = 0;k < 6; k++)
                        summon_specific(-1, target_row, target_col, plev, SUMMON_ANT, mode);
                break;
@@ -1132,11 +832,7 @@ msg_print("アリを召喚した。");
        {
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("蜘蛛を召喚した。");
-#else
-                       msg_print("You summon spiders.");
-#endif
+               msg_print(_("蜘蛛を召喚した。", "You summon spiders."));
                for (k = 0;k < 6; k++)
                        summon_specific(-1, target_row, target_col, plev, SUMMON_SPIDER, mode);
                break;
@@ -1145,11 +841,7 @@ msg_print("蜘蛛を召喚した。");
        {
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("ハウンドを召喚した。");
-#else
-                       msg_print("You summon hounds.");
-#endif
+               msg_print(_("ハウンドを召喚した。", "You summon hounds."));
                for (k = 0;k < 4; k++)
                        summon_specific(-1, target_row, target_col, plev, SUMMON_HOUND, mode);
                break;
@@ -1158,11 +850,7 @@ msg_print("ハウンドを召喚した。");
        {
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("ヒドラを召喚した。");
-#else
-                       msg_print("You summon hydras.");
-#endif
+               msg_print(_("ヒドラを召喚した。", "You summon hydras."));
                for (k = 0;k < 4; k++)
                        summon_specific(-1, target_row, target_col, plev, SUMMON_HYDRA, mode);
                break;
@@ -1171,11 +859,7 @@ msg_print("ヒドラを召喚した。");
        {
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("天使を召喚した!");
-#else
-                       msg_print("You summon angel!");
-#endif
+               msg_print(_("天使を召喚した!", "You summon angel!"));
                for (k = 0;k < 1; k++)
                        summon_specific(-1, target_row, target_col, plev, SUMMON_ANGEL, mode);
                break;
@@ -1184,11 +868,7 @@ msg_print("天使を召喚した!");
        {
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("混沌の宮廷から悪魔を召喚した!");
-#else
-                       msg_print("You summon a demon from the Courts of Chaos!");
-#endif
+               msg_print(_("混沌の宮廷から悪魔を召喚した!", "You summon a demon from the Courts of Chaos!"));
                for (k = 0;k < 1; k++)
                        summon_specific(-1, target_row, target_col, plev, SUMMON_DEMON, (mode | u_mode));
                break;
@@ -1197,11 +877,7 @@ msg_print("混沌の宮廷から悪魔を召喚した!");
        {
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("アンデッドの強敵を召喚した!");
-#else
-                       msg_print("You summon an undead adversary!");
-#endif
+               msg_print(_("アンデッドの強敵を召喚した!", "You summon an undead adversary!"));
                for (k = 0;k < 1; k++)
                        summon_specific(-1, target_row, target_col, plev, SUMMON_UNDEAD, (mode | u_mode));
                break;
@@ -1210,11 +886,7 @@ msg_print("アンデッドの強敵を召喚した!");
        {
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("ドラゴンを召喚した!");
-#else
-                       msg_print("You summon dragon!");
-#endif
+               msg_print(_("ドラゴンを召喚した!", "You summon dragon!"));
                for (k = 0;k < 1; k++)
                        summon_specific(-1, target_row, target_col, plev, SUMMON_DRAGON, (mode | u_mode));
                break;
@@ -1223,11 +895,7 @@ msg_print("ドラゴンを召喚した!");
        {
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("強力なアンデッドを召喚した!");
-#else
-                       msg_print("You summon greater undead!");
-#endif
+               msg_print(_("強力なアンデッドを召喚した!", "You summon greater undead!"));
                for (k = 0;k < 6; k++)
                        summon_specific(-1, target_row, target_col, plev, SUMMON_HI_UNDEAD, (mode | u_mode));
                break;
@@ -1236,11 +904,7 @@ msg_print("強力なアンデッドを召喚した!");
        {
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("古代ドラゴンを召喚した!");
-#else
-                       msg_print("You summon ancient dragons!");
-#endif
+               msg_print(_("古代ドラゴンを召喚した!", "You summon ancient dragons!"));
                for (k = 0;k < 4; k++)
                        summon_specific(-1, target_row, target_col, plev, SUMMON_HI_DRAGON, (mode | u_mode));
                break;
@@ -1249,11 +913,7 @@ msg_print("古代ドラゴンを召喚した!");
        {
                int k;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("アンバーの王族を召喚した!");
-#else
-                       msg_print("You summon Lords of Amber!");
-#endif
+               msg_print(_("アンバーの王族を召喚した!", "You summon Lords of Amber!"));
                for (k = 0;k < 4; k++)
                        summon_specific(-1, target_row, target_col, plev, SUMMON_AMBERITES, (mode | PM_ALLOW_UNIQUE));
                break;
@@ -1262,11 +922,7 @@ msg_print("アンバーの王族を召喚した!");
        {
                int k, count = 0;
                if (!target_set(TARGET_KILL)) return FALSE;
-#ifdef JP
-msg_print("特別な強敵を召喚した!");
-#else
-                       msg_print("You summon special opponents!");
-#endif
+               msg_print(_("特別な強敵を召喚した!", "You summon special opponents!"));
                for (k = 0;k < 4; k++)
                        if (summon_specific(-1, target_row, target_col, plev, SUMMON_UNIQUE, (mode | PM_ALLOW_UNIQUE))) count++;
                for (k = count;k < 4; k++)
@@ -1311,23 +967,13 @@ bool do_cmd_mane(bool baigaesi)
        /* not if confused */
        if (p_ptr->confused)
        {
-#ifdef JP
-msg_print("混乱していて集中できない!");
-#else
-               msg_print("You are too confused!");
-#endif
-
+               msg_print(_("混乱していて集中できない!", "You are too confused!"));
                return TRUE;
        }
 
        if (!p_ptr->mane_num)
        {
-#ifdef JP
-msg_print("まねられるものが何もない!");
-#else
-               msg_print("You don't remember any action!");
-#endif
-
+               msg_print(_("まねられるものが何もない!", "You don't remember any action!"));
                return FALSE;
        }
 
@@ -1366,12 +1012,7 @@ msg_print("まねられるものが何もない!");
        if (randint0(100) < chance)
        {
                if (flush_failure) flush();
-#ifdef JP
-msg_print("ものまねに失敗した!");
-#else
-               msg_print("You failed to concentrate hard enough!");
-#endif
-
+               msg_print(_("ものまねに失敗した!", "You failed to concentrate hard enough!"));
                sound(SOUND_FAIL);
        }
        else
index 323e03f..5adbd40 100644 (file)
@@ -195,11 +195,7 @@ bool make_attack_normal(int m_idx)
 
        if (p_ptr->special_defense & KATA_IAI)
        {
-#ifdef JP
-               msg_print("相手が襲いかかる前に素早く武器を振るった。");
-#else
-               msg_format("You took sen, draw and cut in one motion before %s move.", m_name);
-#endif
+               msg_format(_("相手が襲いかかる前に素早く武器を振るった。", "You took sen, draw and cut in one motion before %s move."), m_name);
                if (py_attack(m_ptr->fy, m_ptr->fx, HISSATSU_IAI)) return TRUE;
        }
 
@@ -295,12 +291,7 @@ bool make_attack_normal(int m_idx)
                        {
                                case RBM_HIT:
                                {
-#ifdef JP
-                                       act = "殴られた。";
-#else
-                                       act = "hits you.";
-#endif
-
+                                       act = _("殴られた。", "hits you.");
                                        do_cut = do_stun = 1;
                                        touched = TRUE;
                                        sound(SOUND_HIT);
@@ -309,12 +300,7 @@ bool make_attack_normal(int m_idx)
 
                                case RBM_TOUCH:
                                {
-#ifdef JP
-                                       act = "触られた。";
-#else
-                                       act = "touches you.";
-#endif
-
+                                       act = _("触られた。", "touches you.");
                                        touched = TRUE;
                                        sound(SOUND_TOUCH);
                                        break;
@@ -322,12 +308,7 @@ bool make_attack_normal(int m_idx)
 
                                case RBM_PUNCH:
                                {
-#ifdef JP
-                                       act = "パンチされた。";
-#else
-                                       act = "punches you.";
-#endif
-
+                                       act = _("パンチされた。", "punches you.");
                                        touched = TRUE;
                                        do_stun = 1;
                                        sound(SOUND_HIT);
@@ -336,12 +317,7 @@ bool make_attack_normal(int m_idx)
 
                                case RBM_KICK:
                                {
-#ifdef JP
-                                       act = "蹴られた。";
-#else
-                                       act = "kicks you.";
-#endif
-
+                                       act = _("蹴られた。", "kicks you.");
                                        touched = TRUE;
                                        do_stun = 1;
                                        sound(SOUND_HIT);
@@ -350,12 +326,7 @@ bool make_attack_normal(int m_idx)
 
                                case RBM_CLAW:
                                {
-#ifdef JP
-                                       act = "ひっかかれた。";
-#else
-                                       act = "claws you.";
-#endif
-
+                                       act = _("ひっかかれた。", "claws you.");
                                        touched = TRUE;
                                        do_cut = 1;
                                        sound(SOUND_CLAW);
@@ -364,12 +335,7 @@ bool make_attack_normal(int m_idx)
 
                                case RBM_BITE:
                                {
-#ifdef JP
-                                       act = "噛まれた。";
-#else
-                                       act = "bites you.";
-#endif
-
+                                       act = _("噛まれた。", "bites you.");
                                        do_cut = 1;
                                        touched = TRUE;
                                        sound(SOUND_BITE);
@@ -378,12 +344,7 @@ bool make_attack_normal(int m_idx)
 
                                case RBM_STING:
                                {
-#ifdef JP
-                                       act = "刺された。";
-#else
-                                       act = "stings you.";
-#endif
-
+                                       act = _("刺された。", "stings you.");
                                        touched = TRUE;
                                        sound(SOUND_STING);
                                        break;
@@ -391,12 +352,7 @@ bool make_attack_normal(int m_idx)
 
                                case RBM_SLASH:
                                {
-#ifdef JP
-                                       act = "斬られた。";
-#else
-                                       act = "slashes you.";
-#endif
-
+                                       act = _("斬られた。", "slashes you.");
                                        touched = TRUE;
                                        do_cut = 1;
                                        sound(SOUND_CLAW);
@@ -405,12 +361,7 @@ bool make_attack_normal(int m_idx)
 
                                case RBM_BUTT:
                                {
-#ifdef JP
-                                       act = "角で突かれた。";
-#else
-                                       act = "butts you.";
-#endif
-
+                                       act = _("角で突かれた。", "butts you.");
                                        do_stun = 1;
                                        touched = TRUE;
                                        sound(SOUND_HIT);
@@ -419,12 +370,7 @@ bool make_attack_normal(int m_idx)
 
                                case RBM_CRUSH:
                                {
-#ifdef JP
-                                       act = "体当たりされた。";
-#else
-                                       act = "crushes you.";
-#endif
-
+                                       act = _("体当たりされた。", "crushes you.");
                                        do_stun = 1;
                                        touched = TRUE;
                                        sound(SOUND_CRUSH);
@@ -433,12 +379,7 @@ bool make_attack_normal(int m_idx)
 
                                case RBM_ENGULF:
                                {
-#ifdef JP
-                                       act = "飲み込まれた。";
-#else
-                                       act = "engulfs you.";
-#endif
-
+                                       act = _("飲み込まれた。", "engulfs you.");
                                        touched = TRUE;
                                        sound(SOUND_CRUSH);
                                        break;
@@ -460,13 +401,8 @@ bool make_attack_normal(int m_idx)
 
                                case RBM_CRAWL:
                                {
-#ifdef JP
                                        abbreviate = -1;
-                                       act = "が体の上を這い回った。";
-#else
-                                       act = "crawls on you.";
-#endif
-
+                                       act = _("が体の上を這い回った。", "crawls on you.");
                                        touched = TRUE;
                                        sound(SOUND_SLIME);
                                        break;
@@ -474,96 +410,56 @@ bool make_attack_normal(int m_idx)
 
                                case RBM_DROOL:
                                {
-#ifdef JP
-                                       act = "よだれをたらされた。";
-#else
-                                       act = "drools on you.";
-#endif
-
+                                       act = _("よだれをたらされた。", "drools on you.");
                                        sound(SOUND_SLIME);
                                        break;
                                }
 
                                case RBM_SPIT:
                                {
-#ifdef JP
-                                       act = "唾を吐かれた。";
-#else
-                                       act = "spits on you.";
-#endif
-
+                                       act = _("唾を吐かれた。", "spits on you.");
                                        sound(SOUND_SLIME);
                                        break;
                                }
 
                                case RBM_EXPLODE:
                                {
-#ifdef JP
                                        abbreviate = -1;
-                                       act = "は爆発した。";
-#else
-                                       act = "explodes.";
-#endif
-
+                                       act = _("は爆発した。", "explodes.");
                                        explode = TRUE;
                                        break;
                                }
 
                                case RBM_GAZE:
                                {
-#ifdef JP
-                                       act = "にらまれた。";
-#else
-                                       act = "gazes at you.";
-#endif
-
+                                       act = _("にらまれた。", "gazes at you.");
                                        break;
                                }
 
                                case RBM_WAIL:
                                {
-#ifdef JP
-                                       act = "泣き叫ばれた。";
-#else
-                                       act = "wails at you.";
-#endif
-
+                                       act = _("泣き叫ばれた。", "wails at you.");
                                        sound(SOUND_WAIL);
                                        break;
                                }
 
                                case RBM_SPORE:
                                {
-#ifdef JP
-                                       act = "胞子を飛ばされた。";
-#else
-                                       act = "releases spores at you.";
-#endif
-
+                                       act = _("胞子を飛ばされた。", "releases spores at you.");
                                        sound(SOUND_SLIME);
                                        break;
                                }
 
                                case RBM_XXX4:
                                {
-#ifdef JP
                                        abbreviate = -1;
-                                       act = "が XXX4 を発射した。";
-#else
-                                       act = "projects XXX4's at you.";
-#endif
-
+                                       act = _("が XXX4 を発射した。", "projects XXX4's at you.");
                                        break;
                                }
 
                                case RBM_BEG:
                                {
-#ifdef JP
-                                       act = "金をせがまれた。";
-#else
-                                       act = "begs you for money.";
-#endif
-
+                                       act = _("金をせがまれた。", "begs you for money.");
                                        sound(SOUND_MOAN);
                                        break;
                                }
@@ -717,12 +613,7 @@ bool make_attack_normal(int m_idx)
                                        if (((randint1(rlev*2+300) > (ac+200)) || one_in_(13)) && !CHECK_MULTISHADOW())
                                        {
                                                int tmp_damage = damage - (damage * ((ac < 150) ? ac : 150) / 250);
-#ifdef JP
-                                               msg_print("痛恨の一撃!");
-#else
-                                               msg_print("It was a critical hit!");
-#endif
-
+                                               msg_print(_("痛恨の一撃!", "It was a critical hit!"));
                                                tmp_damage = MAX(damage, tmp_damage*2);
 
                                                /* Take damage */
@@ -824,12 +715,7 @@ bool make_attack_normal(int m_idx)
                                                        heal = MIN(heal, m_ptr->maxhp - m_ptr->hp);
 
                                                        /* Message */
-#ifdef JP
-                                                       msg_print("ザックからエネルギーが吸い取られた!");
-#else
-                                                       msg_print("Energy drains from your pack!");
-#endif
-
+                                                       msg_print(_("ザックからエネルギーが吸い取られた!", "Energy drains from your pack!"));
 
                                                        /* Obvious */
                                                        obvious = TRUE;
@@ -877,12 +763,7 @@ bool make_attack_normal(int m_idx)
                                                              p_ptr->lev)))
                                        {
                                                /* Saving throw message */
-#ifdef JP
-                                               msg_print("しかし素早く財布を守った!");
-#else
-                                               msg_print("You quickly protect your money pouch!");
-#endif
-
+                                               msg_print(_("しかし素早く財布を守った!", "You quickly protect your money pouch!"));
 
                                                /* Occasional blink anyway */
                                                if (randint0(3)) blinked = TRUE;
@@ -898,34 +779,18 @@ bool make_attack_normal(int m_idx)
                                                p_ptr->au -= gold;
                                                if (gold <= 0)
                                                {
-#ifdef JP
-                                                       msg_print("しかし何も盗まれなかった。");
-#else
-                                                       msg_print("Nothing was stolen.");
-#endif
-
+                                                       msg_print(_("しかし何も盗まれなかった。", "Nothing was stolen."));
                                                }
                                                else if (p_ptr->au)
                                                {
-#ifdef JP
-                                                       msg_print("財布が軽くなった気がする。");
-                                                       msg_format("$%ld のお金が盗まれた!", (long)gold);
-#else
-                                                       msg_print("Your purse feels lighter.");
-                                                       msg_format("%ld coins were stolen!", (long)gold);
-#endif
+                                                       msg_print(_("財布が軽くなった気がする。", "Your purse feels lighter."));
+                                                       msg_format(_("$%ld のお金が盗まれた!", "%ld coins were stolen!"), (long)gold);
                                                        chg_virtue(V_SACRIFICE, 1);
                                                }
                                                else
                                                {
-#ifdef JP
-                                                       msg_print("財布が軽くなった気がする。");
-                                                       msg_print("お金が全部盗まれた!");
-#else
-                                                       msg_print("Your purse feels lighter.");
-                                                       msg_print("All of your coins were stolen!");
-#endif
-
+                                                       msg_print(_("財布が軽くなった気がする。", "Your purse feels lighter."));
+                                                       msg_print(_("お金が全部盗まれた!", "All of your coins were stolen!"));
                                                        chg_virtue(V_SACRIFICE, 2);
                                                }
 
@@ -958,12 +823,7 @@ bool make_attack_normal(int m_idx)
                                                              p_ptr->lev)))
                                        {
                                                /* Saving throw message */
-#ifdef JP
-                                               msg_print("しかしあわててザックを取り返した!");
-#else
-                                               msg_print("You grab hold of your backpack!");
-#endif
-
+                                               msg_print(_("しかしあわててザックを取り返した!", "You grab hold of your backpack!"));
 
                                                /* Occasional "blink" anyway */
                                                blinked = TRUE;
@@ -1137,12 +997,7 @@ bool make_attack_normal(int m_idx)
                                                /* Notice */
                                                if (!p_ptr->blind)
                                                {
-#ifdef JP
-                                                       msg_print("明かりが暗くなってしまった。");
-#else
-                                                       msg_print("Your light dims.");
-#endif
-
+                                                       msg_print(_("明かりが暗くなってしまった。", "Your light dims."));
                                                        obvious = TRUE;
                                                }
 
@@ -1160,12 +1015,7 @@ bool make_attack_normal(int m_idx)
                                        obvious = TRUE;
 
                                        /* Message */
-#ifdef JP
-                                       msg_print("酸を浴びせられた!");
-#else
-                                       msg_print("You are covered in acid!");
-#endif
-
+                                       msg_print(_("酸を浴びせられた!", "You are covered in acid!"));
 
                                        /* Special damage */
                                        get_damage += acid_dam(damage, ddesc, -1, FALSE);
@@ -1186,12 +1036,7 @@ bool make_attack_normal(int m_idx)
                                        obvious = TRUE;
 
                                        /* Message */
-#ifdef JP
-                                       msg_print("電撃を浴びせられた!");
-#else
-                                       msg_print("You are struck by electricity!");
-#endif
-
+                                       msg_print(_("電撃を浴びせられた!", "You are struck by electricity!"));
 
                                        /* Special damage */
                                        get_damage += elec_dam(damage, ddesc, -1, FALSE);
@@ -1209,12 +1054,7 @@ bool make_attack_normal(int m_idx)
                                        obvious = TRUE;
 
                                        /* Message */
-#ifdef JP
-                                       msg_print("全身が炎に包まれた!");
-#else
-                                       msg_print("You are enveloped in flames!");
-#endif
-
+                                       msg_print(_("全身が炎に包まれた!", "You are enveloped in flames!"));
 
                                        /* Special damage */
                                        get_damage += fire_dam(damage, ddesc, -1, FALSE);
@@ -1232,12 +1072,7 @@ bool make_attack_normal(int m_idx)
                                        obvious = TRUE;
 
                                        /* Message */
-#ifdef JP
-                                       msg_print("全身が冷気で覆われた!");
-#else
-                                       msg_print("You are covered with frost!");
-#endif
-
+                                       msg_print(_("全身が冷気で覆われた!", "You are covered with frost!"));
 
                                        /* Special damage */
                                        get_damage += cold_dam(damage, ddesc, -1, FALSE);
@@ -1312,22 +1147,12 @@ bool make_attack_normal(int m_idx)
                                        }
                                        else if (p_ptr->resist_fear)
                                        {
-#ifdef JP
-                                               msg_print("しかし恐怖に侵されなかった!");
-#else
-                                               msg_print("You stand your ground!");
-#endif
-
+                                               msg_print(_("しかし恐怖に侵されなかった!", "You stand your ground!"));
                                                obvious = TRUE;
                                        }
                                        else if (randint0(100 + r_ptr->level/2) < p_ptr->skill_sav)
                                        {
-#ifdef JP
-                                               msg_print("しかし恐怖に侵されなかった!");
-#else
-                                               msg_print("You stand your ground!");
-#endif
-
+                                               msg_print(_("しかし恐怖に侵されなかった!", "You stand your ground!"));
                                                obvious = TRUE;
                                        }
                                        else
@@ -1358,22 +1183,12 @@ bool make_attack_normal(int m_idx)
                                        }
                                        else if (p_ptr->free_act)
                                        {
-#ifdef JP
-                                               msg_print("しかし効果がなかった!");
-#else
-                                               msg_print("You are unaffected!");
-#endif
-
+                                               msg_print(_("しかし効果がなかった!", "You are unaffected!"));
                                                obvious = TRUE;
                                        }
                                        else if (randint0(100 + r_ptr->level/2) < p_ptr->skill_sav)
                                        {
-#ifdef JP
-                                               msg_print("しかし効力を跳ね返した!");
-#else
-                                               msg_print("You resist the effects!");
-#endif
-
+                                               msg_print(_("しかし効力を跳ね返した!", "You resist the effects!"));
                                                obvious = TRUE;
                                        }
                                        else
@@ -1596,12 +1411,7 @@ bool make_attack_normal(int m_idx)
                                                bool perm = one_in_(10);
                                                if (dec_stat(A_CON, randint1(10), perm))
                                                {
-#ifdef JP
-                                                       msg_print("病があなたを蝕んでいる気がする。");
-#else
-                                                       msg_print("You feel strange sickness.");
-#endif
-
+                                                       msg_print(_("病があなたを蝕んでいる気がする。", "You feel strange sickness."));
                                                        obvious = TRUE;
                                                }
                                        }
@@ -1618,12 +1428,7 @@ bool make_attack_normal(int m_idx)
                                                        case 1: case 2: case 3: case 4: case 5:
                                                        {
                                                                if (p_ptr->prace == RACE_ANDROID) break;
-#ifdef JP
-                                                               msg_print("人生が逆戻りした気がする。");
-#else
-                                                               msg_print("You feel life has clocked back.");
-#endif
-
+                                                               msg_print(_("人生が逆戻りした気がする。", "You feel life has clocked back."));
                                                                lose_exp(100 + (p_ptr->exp / 100) * MON_DRAIN_LIFE);
                                                                break;
                                                        }
@@ -1652,13 +1457,7 @@ bool make_attack_normal(int m_idx)
 
                                                                }
 
-#ifdef JP
-                                                               msg_format("あなたは以前ほど%sなくなってしまった...。", act);
-#else
-                                                               msg_format("You're not as %s as you used to be...", act);
-#endif
-
-
+                                                               msg_format(_("あなたは以前ほど%sなくなってしまった...。", "You're not as %s as you used to be..."), act);
                                                                p_ptr->stat_cur[stat] = (p_ptr->stat_cur[stat] * 3) / 4;
                                                                if (p_ptr->stat_cur[stat] < 3) p_ptr->stat_cur[stat] = 3;
                                                                p_ptr->update |= (PU_BONUS);
@@ -1667,12 +1466,7 @@ bool make_attack_normal(int m_idx)
 
                                                        case 10:
                                                        {
-#ifdef JP
-                                               msg_print("あなたは以前ほど力強くなくなってしまった...。");
-#else
-                                                               msg_print("You're not as powerful as you used to be...");
-#endif
-
+                                                               msg_print(_("あなたは以前ほど力強くなくなってしまった...。", "You're not as powerful as you used to be..."));
 
                                                                for (k = 0; k < 6; k++)
                                                                {
@@ -1742,12 +1536,7 @@ bool make_attack_normal(int m_idx)
                                                /* Special message */
                                                if (m_ptr->ml && did_heal)
                                                {
-#ifdef JP
-msg_format("%sは体力を回復したようだ。", m_name);
-#else
-                                                       msg_format("%^s appears healthier.", m_name);
-#endif
-
+                                                       msg_format(_("%sは体力を回復したようだ。", "%^s appears healthier."), m_name);
                                                }
                                        }
 
@@ -1760,11 +1549,7 @@ msg_format("%sは体力を回復したようだ。", m_name);
 
                                        if (CHECK_MULTISHADOW())
                                        {
-#ifdef JP
-                                               msg_print("攻撃は幻影に命中し、あなたには届かなかった。");
-#else
-                                               msg_print("The attack hits Shadow, you are unharmed!");
-#endif
+                                               msg_print(_("攻撃は幻影に命中し、あなたには届かなかった。", "The attack hits Shadow, you are unharmed!"));
                                        }
                                        else
                                        {
@@ -2237,11 +2022,7 @@ msg_format("%sは体力を回復したようだ。", m_name);
                        monster_desc(m_name, &m_list[p_ptr->riding], 0);
                        if (rakuba((damage > 200) ? 200 : damage, FALSE))
                        {
-#ifdef JP
-msg_format("%^sから落ちてしまった!", m_name);
-#else
-                               msg_format("You have fallen from %s.", m_name);
-#endif
+                               msg_format(_("%^sから落ちてしまった!", "You have fallen from %s."), m_name);
                        }
                }
 
@@ -2277,11 +2058,7 @@ msg_format("%^sから落ちてしまった!", m_name);
                monster_desc(m_name, m_ptr, 0);
 
                p_ptr->csp -= 7;
-#ifdef JP
-               msg_format("%^sに反撃した!", m_name);
-#else
-               msg_format("Your counterattack to %s!", m_name);
-#endif
+               msg_format(_("%^sに反撃した!", "Your counterattack to %s!"), m_name);
                py_attack(m_ptr->fy, m_ptr->fx, HISSATSU_COUNTER);
                fear = FALSE;
 
@@ -2294,19 +2071,11 @@ msg_format("%^sから落ちてしまった!", m_name);
        {
                if (teleport_barrier(m_idx))
                {
-#ifdef JP
-                       msg_print("泥棒は笑って逃げ...ようとしたがバリアに防がれた。");
-#else
-                       msg_print("The thief flees laughing...? But magic barrier obstructs it.");
-#endif
+                       msg_print(_("泥棒は笑って逃げ...ようとしたがバリアに防がれた。", "The thief flees laughing...? But magic barrier obstructs it."));
                }
                else
                {
-#ifdef JP
-                       msg_print("泥棒は笑って逃げた!");
-#else
-                       msg_print("The thief flees laughing!");
-#endif
+                       msg_print(_("泥棒は笑って逃げた!", "The thief flees laughing!"));
                        teleport_away(m_idx, MAX_SIGHT * 2 + 5, 0L);
                }
        }
@@ -2321,12 +2090,7 @@ msg_format("%^sから落ちてしまった!", m_name);
        if (m_ptr->ml && fear && alive && !p_ptr->is_dead)
        {
                sound(SOUND_FLEE);
-#ifdef JP
-               msg_format("%^sは恐怖で逃げ出した!", m_name);
-#else
-               msg_format("%^s flees in terror!", m_name);
-#endif
-
+               msg_format(_("%^sは恐怖で逃げ出した!", "%^s flees in terror!"), m_name);
        }
 
        if (p_ptr->special_defense & KATA_IAI)
index 679532a..d54bf08 100644 (file)
@@ -226,12 +226,7 @@ void mon_take_hit_mon(int m_idx, int dam, bool *fear, cptr note, int who)
        {
                if (seen)
                {
-#ifdef JP
-msg_format("%^sはダメージを受けない。", m_name);
-#else
-                       msg_format("%^s is unharmed.", m_name);
-#endif
-
+                       msg_format(_("%^sはダメージを受けない。", "%^s is unharmed."), m_name);
                }
 
                return;
@@ -248,12 +243,7 @@ msg_format("%^sはダメージを受けない。", m_name);
                {
                        if (seen)
                        {
-#ifdef JP
-msg_format("%^sはダメージを受けない。", m_name);
-#else
-                               msg_format("%^s is unharmed.", m_name);
-#endif
-
+                               msg_format(_("%^sはダメージを受けない。", "%^s is unharmed."), m_name);
                        }
                        return;
                }
@@ -294,32 +284,17 @@ msg_format("%^sはダメージを受けない。", m_name);
                                /* Death by special attack */
                                else if (note)
                                {
-#ifdef JP
-msg_format("%^s%s", m_name, note);
-#else
-                                       msg_format("%^s%s", m_name, note);
-#endif
-
+                                       msg_format(_("%^s%s", "%^s%s"), m_name, note);
                                }
                                /* Death by normal attack -- nonliving monster */
                                else if (!monster_living(r_ptr))
                                {
-#ifdef JP
-msg_format("%^sは破壊された。", m_name);
-#else
-                                       msg_format("%^s is destroyed.", m_name);
-#endif
-
+                                       msg_format(_("%^sは破壊された。", "%^s is destroyed."), m_name);
                                }
                                /* Death by normal attack -- living monster */
                                else
                                {
-#ifdef JP
-msg_format("%^sは殺された。", m_name);
-#else
-                                       msg_format("%^s is killed.", m_name);
-#endif
-
+                                       msg_format(_("%^sは殺された。", "%^s is killed."), m_name);
                                }
                        }
 
@@ -395,11 +370,7 @@ msg_format("%^sは殺された。", m_name);
                if (m_ptr->hp > m_ptr->maxhp/3) dam = (dam + 1) / 2;
                if (rakuba((dam > 200) ? 200 : dam, FALSE))
                {
-#ifdef JP
-msg_format("%^sに振り落とされた!", m_name);
-#else
-                               msg_format("You have thrown off from %s!", m_name);
-#endif
+                       msg_format(_("%^sに振り落とされた!", "You have thrown off from %s!"), m_name);
                }
        }
 
@@ -1579,179 +1550,104 @@ static bool monst_attack_monst(int m_idx, int t_idx)
                        {
                        case RBM_HIT:
                                {
-#ifdef JP
-act = "%sを殴った。";
-#else
-                                       act = "hits %s.";
-#endif
-
+                                       act = _("%sを殴った。", "hits %s.");
                                        touched = TRUE;
                                        break;
                                }
 
                        case RBM_TOUCH:
                                {
-#ifdef JP
-act = "%sを触った。";
-#else
-                                       act = "touches %s.";
-#endif
-
+                                       act = _("%sを触った。", "touches %s.");
                                        touched = TRUE;
                                        break;
                                }
 
                        case RBM_PUNCH:
                                {
-#ifdef JP
-act = "%sをパンチした。";
-#else
-                                       act = "punches %s.";
-#endif
-
+                                       act = _("%sをパンチした。", "punches %s.");
                                        touched = TRUE;
                                        break;
                                }
 
                        case RBM_KICK:
                                {
-#ifdef JP
-act = "%sを蹴った。";
-#else
-                                       act = "kicks %s.";
-#endif
-
+                                       act = _("%sを蹴った。", "kicks %s.");
                                        touched = TRUE;
                                        break;
                                }
 
                        case RBM_CLAW:
                                {
-#ifdef JP
-act = "%sをひっかいた。";
-#else
-                                       act = "claws %s.";
-#endif
-
+                                       act = _("%sをひっかいた。", "claws %s.");
                                        touched = TRUE;
                                        break;
                                }
 
                        case RBM_BITE:
                                {
-#ifdef JP
-act = "%sを噛んだ。";
-#else
-                                       act = "bites %s.";
-#endif
-
+                                       act = _("%sを噛んだ。", "bites %s.");
                                        touched = TRUE;
                                        break;
                                }
 
                        case RBM_STING:
                                {
-#ifdef JP
-act = "%sを刺した。";
-#else
-                                       act = "stings %s.";
-#endif
-
+                                       act = _("%sを刺した。", "stings %s.");
                                        touched = TRUE;
                                        break;
                                }
 
                        case RBM_SLASH:
                                {
-#ifdef JP
-act = "%sを斬った。";
-#else
-                                       act = "slashes %s.";
-#endif
-
+                                       act = _("%sを斬った。", "slashes %s.");
                                        break;
                                }
 
                        case RBM_BUTT:
                                {
-#ifdef JP
-act = "%sを角で突いた。";
-#else
-                                       act = "butts %s.";
-#endif
-
+                                       act = _("%sを角で突いた。", "butts %s.");
                                        touched = TRUE;
                                        break;
                                }
 
                        case RBM_CRUSH:
                                {
-#ifdef JP
-act = "%sに体当りした。";
-#else
-                                       act = "crushes %s.";
-#endif
-
+                                       act = _("%sに体当りした。", "crushes %s.");
                                        touched = TRUE;
                                        break;
                                }
 
                        case RBM_ENGULF:
                                {
-#ifdef JP
-act = "%sを飲み込んだ。";
-#else
-                                       act = "engulfs %s.";
-#endif
-
+                                       act = _("%sを飲み込んだ。", "engulfs %s.");
                                        touched = TRUE;
                                        break;
                                }
 
                        case RBM_CHARGE:
                                {
-#ifdef JP
-act = "%sに請求書をよこした。";
-#else
-                                       act = "charges %s.";
-#endif
-
+                                       act = _("%sに請求書をよこした。", "charges %s.");
                                        touched = TRUE;
                                        break;
                                }
 
                        case RBM_CRAWL:
                                {
-#ifdef JP
-act = "%sの体の上を這い回った。";
-#else
-                                       act = "crawls on %s.";
-#endif
-
+                                       act = _("%sの体の上を這い回った。", "crawls on %s.");
                                        touched = TRUE;
                                        break;
                                }
 
                        case RBM_DROOL:
                                {
-#ifdef JP
-act = "%sによだれをたらした。";
-#else
-                                       act = "drools on %s.";
-#endif
-
+                                       act = _("%sによだれをたらした。", "drools on %s.");
                                        touched = FALSE;
                                        break;
                                }
 
                        case RBM_SPIT:
                                {
-#ifdef JP
-act = "%sに唾を吐いた。";
-#else
-                                       act = "spits on %s.";
-#endif
-
+                                       act = _("%sに唾を吐いた。", "spits on %s.");
                                        touched = FALSE;
                                        break;
                                }
@@ -1759,12 +1655,7 @@ act = "%sに唾を吐いた。";
                        case RBM_EXPLODE:
                                {
                                        if (see_either) disturb(1, 1);
-#ifdef JP
-act = "爆発した。";
-#else
-                                       act = "explodes.";
-#endif
-
+                                       act = _("爆発した。", "explodes.");
                                        explode = TRUE;
                                        touched = FALSE;
                                        break;
@@ -1772,96 +1663,56 @@ act = "爆発した。";
 
                        case RBM_GAZE:
                                {
-#ifdef JP
-act = "%sをにらんだ。";
-#else
-                                       act = "gazes at %s.";
-#endif
-
+                                       act = _("%sをにらんだ。", "gazes at %s.");
                                        touched = FALSE;
                                        break;
                                }
 
                        case RBM_WAIL:
                                {
-#ifdef JP
-act = "%sに泣きついた。";
-#else
-                                       act = "wails at %s.";
-#endif
-
+                                       act = _("%sに泣きついた。", "wails at %s.");
                                        touched = FALSE;
                                        break;
                                }
 
                        case RBM_SPORE:
                                {
-#ifdef JP
-act = "%sに胞子を飛ばした。";
-#else
-                                       act = "releases spores at %s.";
-#endif
-
+                                       act = _("%sに胞子を飛ばした。", "releases spores at %s.");
                                        touched = FALSE;
                                        break;
                                }
 
                        case RBM_XXX4:
                                {
-#ifdef JP
-act = "%sにXXX4を飛ばした。";
-#else
-                                       act = "projects XXX4's at %s.";
-#endif
-
+                                       act = _("%sにXXX4を飛ばした。", "projects XXX4's at %s.");
                                        touched = FALSE;
                                        break;
                                }
 
                        case RBM_BEG:
                                {
-#ifdef JP
-act = "%sに金をせがんだ。";
-#else
-                                       act = "begs %s for money.";
-#endif
-
+                                       act = _("%sに金をせがんだ。", "begs %s for money.");
                                        touched = FALSE;
                                        break;
                                }
 
                        case RBM_INSULT:
                                {
-#ifdef JP
-act = "%sを侮辱した。";
-#else
-                                       act = "insults %s.";
-#endif
-
+                                       act = _("%sを侮辱した。", "insults %s.");
                                        touched = FALSE;
                                        break;
                                }
 
                        case RBM_MOAN:
                                {
-#ifdef JP
-act = "%sにむかってうめいた。";
-#else
-                                       act = "moans at %s.";
-#endif
-
+                                       act = _("%sにむかってうめいた。", "moans at %s.");
                                        touched = FALSE;
                                        break;
                                }
 
                        case RBM_SHOW:
                                {
-#ifdef JP
-act = "%sにむかって歌った。";
-#else
-                                       act = "sings to %s.";
-#endif
-
+                                       act = _("%sにむかって歌った。", "sings to %s.");
                                        touched = FALSE;
                                        break;
                                }
@@ -2046,11 +1897,7 @@ act = "%sにむかって歌った。";
                                                /* Special message */
                                                if (see_m && did_heal)
                                                {
-#ifdef JP
-                                                       msg_format("%sは体力を回復したようだ。", m_name);
-#else
-                                                       msg_format("%^s appears healthier.", m_name);
-#endif
+                                                       msg_format(_("%sは体力を回復したようだ。", "%^s appears healthier."), m_name);
                                                }
                                        }
                                        break;
@@ -2065,11 +1912,7 @@ act = "%sにむかって歌った。";
                                                {
                                                        if (see_either)
                                                        {
-#ifdef JP
-                                                               msg_format("%^sは突然熱くなった!", m_name);
-#else
-                                                               msg_format("%^s is suddenly very hot!", m_name);
-#endif
+                                                               msg_format(_("%^sは突然熱くなった!", "%^s is suddenly very hot!"), m_name);
                                                        }
                                                        if (m_ptr->ml && is_original_ap_and_seen(t_ptr)) tr_ptr->r_flags2 |= RF2_AURA_FIRE;
                                                        project(t_idx, 0, m_ptr->fy, m_ptr->fx,
@@ -2090,11 +1933,7 @@ act = "%sにむかって歌った。";
                                                {
                                                        if (see_either)
                                                        {
-#ifdef JP
-                                                               msg_format("%^sは突然寒くなった!", m_name);
-#else
-                                                               msg_format("%^s is suddenly very cold!", m_name);
-#endif
+                                                               msg_format(_("%^sは突然寒くなった!", "%^s is suddenly very cold!"), m_name);
                                                        }
                                                        if (m_ptr->ml && is_original_ap_and_seen(t_ptr)) tr_ptr->r_flags3 |= RF3_AURA_COLD;
                                                        project(t_idx, 0, m_ptr->fy, m_ptr->fx,
@@ -2115,11 +1954,7 @@ act = "%sにむかって歌った。";
                                                {
                                                        if (see_either)
                                                        {
-#ifdef JP
-                                                               msg_format("%^sは電撃を食らった!", m_name);
-#else
-                                                               msg_format("%^s gets zapped!", m_name);
-#endif
+                                                               msg_format(_("%^sは電撃を食らった!", "%^s gets zapped!"), m_name);
                                                        }
                                                        if (m_ptr->ml && is_original_ap_and_seen(t_ptr)) tr_ptr->r_flags2 |= RF2_AURA_ELEC;
                                                        project(t_idx, 0, m_ptr->fy, m_ptr->fx,
@@ -2196,13 +2031,7 @@ act = "%sにむかって歌った。";
 
                /* Cancel Invulnerability */
                (void)set_monster_invulner(m_idx, 0, FALSE);
-
-#ifdef JP
-               mon_take_hit_mon(m_idx, m_ptr->hp + 1, &fear, "は爆発して粉々になった。", m_idx);
-#else
-               mon_take_hit_mon(m_idx, m_ptr->hp + 1, &fear, " explodes into tiny shreds.", m_idx);
-#endif
-
+               mon_take_hit_mon(m_idx, m_ptr->hp + 1, &fear, _("は爆発して粉々になった。", " explodes into tiny shreds."), m_idx);
                blinked = FALSE;
        }
 
@@ -2213,11 +2042,7 @@ act = "%sにむかって歌った。";
                {
                        if (see_m)
                        {
-#ifdef JP
-                               msg_print("泥棒は笑って逃げ...ようとしたがバリアに防がれた。");
-#else
-                               msg_print("The thief flees laughing...? But magic barrier obstructs it.");
-#endif
+                               msg_print(_("泥棒は笑って逃げ...ようとしたがバリアに防がれた。", "The thief flees laughing...? But magic barrier obstructs it."));
                        }
                        else if (known)
                        {
@@ -2228,11 +2053,7 @@ act = "%sにむかって歌った。";
                {
                        if (see_m)
                        {
-#ifdef JP
-                               msg_print("泥棒は笑って逃げた!");
-#else
-                               msg_print("The thief flees laughing!");
-#endif
+                               msg_print(_("泥棒は笑って逃げた!", "The thief flees laughing!"));
                        }
                        else if (known)
                        {
@@ -2363,12 +2184,7 @@ static void process_monster(int m_idx)
 
                        /* Acquire the monster name */
                        monster_desc(m_name, m_ptr, 0);
-
-#ifdef JP
-                       msg_format("%sは消え去った!", m_name);
-#else
-                       msg_format("%^s disappears!", m_name);
-#endif
+                       msg_format(_("%sは消え去った!", "%^s disappears!"), m_name);
                }
 
                if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
@@ -2407,11 +2223,7 @@ static void process_monster(int m_idx)
                                monster_desc(m_name, m_ptr, 0);
 
                                /* Oops */
-#ifdef JP
-                               msg_format("%sは消え去った!", m_name);
-#else
-                               msg_format("%^s disappears!", m_name);
-#endif
+                               msg_format(_("%sは消え去った!", "%^s disappears!"), m_name);
                        }
 
                        /* Generate treasure, etc */
@@ -2422,11 +2234,7 @@ static void process_monster(int m_idx)
 
                        if (sad)
                        {
-#ifdef JP
-                               msg_print("少しの間悲しい気分になった。");
-#else
-                               msg_print("You feel sad for a moment.");
-#endif
+                               msg_print(_("少しの間悲しい気分になった。", "You feel sad for a moment."));
                        }
 
                        return;
@@ -2434,11 +2242,7 @@ static void process_monster(int m_idx)
        }
 
        if (m_ptr->r_idx == MON_SHURYUUDAN)
-#ifdef JP
-               mon_take_hit_mon(m_idx, 1, &fear, "は爆発して粉々になった。", m_idx);
-#else
-               mon_take_hit_mon(m_idx, 1, &fear, " explodes into tiny shreds.", m_idx);
-#endif
+               mon_take_hit_mon(m_idx, 1, &fear, _("は爆発して粉々になった。", " explodes into tiny shreds."), m_idx);
 
        if ((is_pet(m_ptr) || is_friendly(m_ptr)) && ((r_ptr->flags1 & RF1_UNIQUE) || (r_ptr->flags7 & RF7_NAZGUL)) && !p_ptr->inside_battle)
        {
@@ -2451,11 +2255,8 @@ static void process_monster(int m_idx)
 
                        if (is_riding_mon && riding_pinch < 2)
                        {
-#ifdef JP
-                               msg_format("%sは傷の痛さの余りあなたの束縛から逃れようとしている。", m_name);
-#else
-                               msg_format("%^s seems to be in so much pain, and trying to escape from your restriction.", m_name);
-#endif
+                               msg_format(_("%sは傷の痛さの余りあなたの束縛から逃れようとしている。",
+                                                        "%^s seems to be in so much pain, and trying to escape from your restriction."), m_name);
                                riding_pinch++;
                                disturb(1, 1);
                        }
@@ -2463,18 +2264,10 @@ static void process_monster(int m_idx)
                        {
                                if (is_riding_mon)
                                {
-#ifdef JP
-                                       msg_format("%sはあなたの束縛から脱出した。", m_name);
-#else
-                                       msg_format("%^s succeeded to escape from your restriction!", m_name);
-#endif
+                                       msg_format(_("%sはあなたの束縛から脱出した。", "%^s succeeded to escape from your restriction!"), m_name);
                                        if (rakuba(-1, FALSE))
                                        {
-#ifdef JP
-                                               msg_print("地面に落とされた。");
-#else
-                                               msg_print("You have fallen from riding pet.");
-#endif
+                                               msg_print(_("地面に落とされた。", "You have fallen from riding pet."));
                                        }
                                }
 
@@ -2483,28 +2276,15 @@ static void process_monster(int m_idx)
                                        if ((r_ptr->flags2 & RF2_CAN_SPEAK) && (m_ptr->r_idx != MON_GRIP) && (m_ptr->r_idx != MON_WOLF) && (m_ptr->r_idx != MON_FANG) &&
                                            player_has_los_bold(m_ptr->fy, m_ptr->fx) && projectable(m_ptr->fy, m_ptr->fx, py, px))
                                        {
-#ifdef JP
-                                               msg_format("%^s「ピンチだ!退却させてもらう!」", m_name);
-#else
-                                               msg_format("%^s says 'It is the pinch! I will retreat'.", m_name);
-#endif
+                                               msg_format(_("%^s「ピンチだ!退却させてもらう!」", "%^s says 'It is the pinch! I will retreat'."), m_name);
                                        }
-#ifdef JP
-                                       msg_format("%^sがテレポート・レベルの巻物を読んだ。", m_name);
-                                       msg_format("%^sが消え去った。", m_name);
-#else
-                                       msg_format("%^s read a scroll of teleport level.", m_name);
-                                       msg_format("%^s disappears.", m_name);
-#endif
+                                       msg_format(_("%^sがテレポート・レベルの巻物を読んだ。", "%^s read a scroll of teleport level."), m_name);
+                                       msg_format(_("%^sが消え去った。", "%^s disappears."), m_name);
                                }
 
                                if (is_riding_mon && rakuba(-1, FALSE))
                                {
-#ifdef JP
-                                       msg_print("地面に落とされた。");
-#else
-                                       msg_print("You have fallen from riding pet.");
-#endif
+                                       msg_print(_("地面に落とされた。", "You have fallen from riding pet."));
                                }
 
                                /* Check for quest completion */
@@ -2542,11 +2322,7 @@ static void process_monster(int m_idx)
                        monster_desc(m_name, m_ptr, 0);
 
                        /* Dump a message */
-#ifdef JP
-                       msg_format("%^sが目を覚ました。", m_name);
-#else
-                       msg_format("%^s wakes up.", m_name);
-#endif
+                       msg_format(_("%^sが目を覚ました。", "%^s wakes up."), m_name);
                }
 
                /* Hack -- Count the wakings */
@@ -2589,11 +2365,7 @@ static void process_monster(int m_idx)
                {
                        char m_name[80];
                        monster_desc(m_name, m_ptr, is_pet(m_ptr) ? MD_ASSUME_VISIBLE : 0);
-#ifdef JP
-                       msg_format("%^sは突然敵にまわった!", m_name);
-#else
-                       msg_format("%^s suddenly becomes hostile!", m_name);
-#endif
+                       msg_format(_("%^sは突然敵にまわった!", "%^s suddenly becomes hostile!"), m_name);
                }
 
                set_hostile(m_ptr);
@@ -2679,11 +2451,7 @@ static void process_monster(int m_idx)
                    !m_ptr->ml && (m_ptr->cdis <= MAX_SIGHT))
                {
                        if (disturb_minor) disturb(FALSE, FALSE);
-#ifdef JP
-                       msg_print("重厚な足音が聞こえた。");
-#else
-                       msg_print("You hear heavy steps.");
-#endif
+                       msg_print(_("重厚な足音が聞こえた。", "You hear heavy steps."));
                }
 
                /* Some monsters can speak */
@@ -2700,47 +2468,22 @@ static void process_monster(int m_idx)
                        if (m_ptr->ml)
                                monster_desc(m_name, m_ptr, 0);
                        else
-#ifdef JP
-                               strcpy(m_name, "それ");
-#else
-                               strcpy(m_name, "It");
-#endif
+                               strcpy(m_name, _("それ", "It"));
 
                        /* Select the file for monster quotes */
                        if (MON_MONFEAR(m_ptr))
-#ifdef JP
-                               filename = "monfear_j.txt";
-#else
-                               filename = "monfear.txt";
-#endif
+                               filename = _("monfear_j.txt", "monfear.txt");
                        else if (is_pet(m_ptr))
-#ifdef JP
-                               filename = "monpet_j.txt";
-#else
-                               filename = "monpet.txt";
-#endif
+                               filename = _("monpet_j.txt", "monpet.txt");
                        else if (is_friendly(m_ptr))
-#ifdef JP
-                               filename = "monfrien_j.txt";
-#else
-                               filename = "monfrien.txt";
-#endif
+                               filename = _("monfrien_j.txt", "monfrien.txt");
                        else
-#ifdef JP
-                               filename = "monspeak_j.txt";
-#else
-                               filename = "monspeak.txt";
-#endif
+                               filename = _("monspeak_j.txt", "monspeak.txt");
                        /* Get the monster line */
                        if (get_rnd_line(filename, m_ptr->ap_r_idx, monmessage) == 0)
                        {
                                /* Say something */
-#ifdef JP
-msg_format("%^s%s", m_name, monmessage);
-#else
-                               msg_format("%^s %s", m_name, monmessage);
-#endif
-
+                               msg_format(_("%^s%s", "%^s %s"), m_name, monmessage);
                        }
                }
        }
@@ -3030,17 +2773,9 @@ msg_format("%^s%s", m_name, monmessage);
                                {
                                        /* Message */
                                        if (have_flag(f_ptr->flags, FF_GLASS))
-#ifdef JP
-                                               msg_print("ガラスが砕ける音がした!");
-#else
-                                               msg_print("You hear a glass was crashed!");
-#endif
+                                               msg_print(_("ガラスが砕ける音がした!", "You hear a glass was crashed!"));
                                        else
-#ifdef JP
-                                               msg_print("ドアを叩き開ける音がした!");
-#else
-                                               msg_print("You hear a door burst open!");
-#endif
+                                               msg_print(_("ドアを叩き開ける音がした!", "You hear a door burst open!"));
 
                                        /* Disturb (sometimes) */
                                        if (disturb_minor) disturb(0, 0);
@@ -3100,11 +2835,7 @@ msg_format("%^s%s", m_name, monmessage);
                                /* Describe observable breakage */
                                if (c_ptr->info & CAVE_MARK)
                                {
-#ifdef JP
-                                       msg_print("守りのルーンが壊れた!");
-#else
-                                       msg_print("The rune of protection is broken!");
-#endif
+                                       msg_print(_("守りのルーンが壊れた!", "The rune of protection is broken!"));
                                }
 
                                /* Forget the rune */
@@ -3136,22 +2867,13 @@ msg_format("%^s%s", m_name, monmessage);
                                        /* Describe observable breakage */
                                        if (c_ptr->info & CAVE_MARK)
                                        {
-#ifdef JP
-                                               msg_print("ルーンが爆発した!");
-#else
-                                               msg_print("The rune explodes!");
-#endif
-
+                                               msg_print(_("ルーンが爆発した!", "The rune explodes!"));
                                                project(0, 2, ny, nx, 2 * (p_ptr->lev + damroll(7, 7)), GF_MANA, (PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL | PROJECT_JUMP | PROJECT_NO_HANGEKI), -1);
                                        }
                                }
                                else
                                {
-#ifdef JP
-                                       msg_print("爆発のルーンは解除された。");
-#else
-                                       msg_print("An explosive rune was disarmed.");
-#endif
+                                       msg_print(_("爆発のルーンは解除された。", "An explosive rune was disarmed."));
                                }
 
                                /* Forget the rune */
@@ -3282,17 +3004,9 @@ msg_format("%^s%s", m_name, monmessage);
                        if (one_in_(GRINDNOISE))
                        {
                                if (have_flag(f_ptr->flags, FF_GLASS))
-#ifdef JP
-                                       msg_print("何かの砕ける音が聞こえる。");
-#else
-                                       msg_print("There is a crashing sound.");
-#endif
+                                       msg_print(_("何かの砕ける音が聞こえる。", "There is a crashing sound."));
                                else
-#ifdef JP
-                                       msg_print("ギシギシいう音が聞こえる。");
-#else
-                                       msg_print("There is a grinding sound.");
-#endif
+                                       msg_print(_("ギシギシいう音が聞こえる。", "There is a grinding sound."));
                        }
 
                        cave_alter_feat(ny, nx, FF_HURT_DISI);
@@ -3494,11 +3208,7 @@ msg_format("%^s%s", m_name, monmessage);
                                                        if (m_ptr->ml && player_can_see_bold(ny, nx))
                                                        {
                                                                /* Dump a message */
-#ifdef JP
-                                                               msg_format("%^sは%sを拾おうとしたが、だめだった。", m_name, o_name);
-#else
-                                                               msg_format("%^s tries to pick up %s, but fails.", m_name, o_name);
-#endif
+                                                               msg_format(_("%^sは%sを拾おうとしたが、だめだった。", "%^s tries to pick up %s, but fails."), m_name, o_name);
                                                        }
                                                }
                                        }
@@ -3513,11 +3223,7 @@ msg_format("%^s%s", m_name, monmessage);
                                                if (player_can_see_bold(ny, nx))
                                                {
                                                        /* Dump a message */
-#ifdef JP
-                                                       msg_format("%^sが%sを拾った。", m_name, o_name);
-#else
-                                                       msg_format("%^s picks up %s.", m_name, o_name);
-#endif
+                                                       msg_format(_("%^sが%sを拾った。", "%^s picks up %s."), m_name, o_name);
                                                }
 
                                                /* Excise the object */
@@ -3549,11 +3255,7 @@ msg_format("%^s%s", m_name, monmessage);
                                                if (player_has_los_bold(ny, nx))
                                                {
                                                        /* Dump a message */
-#ifdef JP
-                                                       msg_format("%^sが%sを破壊した。", m_name, o_name);
-#else
-                                                       msg_format("%^s destroys %s.", m_name, o_name);
-#endif
+                                                       msg_format(_("%^sが%sを破壊した。", "%^s destroys %s."), m_name, o_name);
                                                }
 
                                                /* Delete the object */
@@ -3644,11 +3346,7 @@ msg_format("%^s%s", m_name, monmessage);
                        monster_desc(m_name, m_ptr, 0);
 
                        /* Dump a message */
-#ifdef JP
-                       msg_format("%^sは戦いを決意した!", m_name);
-#else
-                       msg_format("%^s turns to fight!", m_name);
-#endif
+                       msg_format(_("%^sは戦いを決意した!", "%^s turns to fight!"), m_name);
                }
 
                if (m_ptr->ml) chg_virtue(V_COMPASSION, -1);
@@ -4385,11 +4083,7 @@ static void process_monsters_mtimed_aux(int m_idx, int mtimed_idx)
                                                monster_desc(m_name, m_ptr, 0);
 
                                                /* Dump a message */
-#ifdef JP
-                                               msg_format("%^sが目を覚ました。", m_name);
-#else
-                                               msg_format("%^s wakes up.", m_name);
-#endif
+                                               msg_format(_("%^sが目を覚ました。", "%^s wakes up."), m_name);
                                        }
 
                                        if (is_original_ap_and_seen(m_ptr))
@@ -4415,11 +4109,7 @@ static void process_monsters_mtimed_aux(int m_idx, int mtimed_idx)
                                monster_desc(m_name, m_ptr, 0);
 
                                /* Dump a message */
-#ifdef JP
-                               msg_format("%^sはもう加速されていない。", m_name);
-#else
-                               msg_format("%^s is no longer fast.", m_name);
-#endif
+                               msg_format(_("%^sはもう加速されていない。", "%^s is no longer fast."), m_name);
                        }
                }
                break;
@@ -4436,11 +4126,7 @@ static void process_monsters_mtimed_aux(int m_idx, int mtimed_idx)
                                monster_desc(m_name, m_ptr, 0);
 
                                /* Dump a message */
-#ifdef JP
-                               msg_format("%^sはもう減速されていない。", m_name);
-#else
-                               msg_format("%^s is no longer slow.", m_name);
-#endif
+                               msg_format(_("%^sはもう減速されていない。", "%^s is no longer slow."), m_name);
                        }
                }
                break;
@@ -4461,11 +4147,7 @@ static void process_monsters_mtimed_aux(int m_idx, int mtimed_idx)
                                monster_desc(m_name, m_ptr, 0);
 
                                /* Dump a message */
-#ifdef JP
-                               msg_format("%^sは朦朧状態から立ち直った。", m_name);
-#else
-                               msg_format("%^s is no longer stunned.", m_name);
-#endif
+                               msg_format(_("%^sは朦朧状態から立ち直った。", "%^s is no longer stunned."), m_name);
                        }
                }
                break;
@@ -4484,11 +4166,7 @@ static void process_monsters_mtimed_aux(int m_idx, int mtimed_idx)
                                monster_desc(m_name, m_ptr, 0);
 
                                /* Dump a message */
-#ifdef JP
-                               msg_format("%^sは混乱から立ち直った。", m_name);
-#else
-                               msg_format("%^s is no longer confused.", m_name);
-#endif
+                               msg_format(_("%^sは混乱から立ち直った。", "%^s is no longer confused."), m_name);
                        }
                }
                break;
@@ -4533,11 +4211,7 @@ static void process_monsters_mtimed_aux(int m_idx, int mtimed_idx)
                                monster_desc(m_name, m_ptr, 0);
 
                                /* Dump a message */
-#ifdef JP
-                               msg_format("%^sはもう無敵でない。", m_name);
-#else
-                               msg_format("%^s is no longer invulnerable.", m_name);
-#endif
+                               msg_format(_("%^sはもう無敵でない。", "%^s is no longer invulnerable."), m_name);
                        }
                }
                break;
@@ -4582,27 +4256,15 @@ void dispel_monster_status(int m_idx)
        monster_desc(m_name, m_ptr, 0);
        if (set_monster_invulner(m_idx, 0, TRUE))
        {
-#ifdef JP
-               if (m_ptr->ml) msg_format("%sはもう無敵ではない。", m_name);
-#else
-               if (m_ptr->ml) msg_format("%^s is no longer invulnerable.", m_name);
-#endif
+               if (m_ptr->ml) msg_format(_("%sはもう無敵ではない。", "%^s is no longer invulnerable."), m_name);
        }
        if (set_monster_fast(m_idx, 0))
        {
-#ifdef JP
-               if (m_ptr->ml) msg_format("%sはもう加速されていない。", m_name);
-#else
-               if (m_ptr->ml) msg_format("%^s is no longer fast.", m_name);
-#endif
+               if (m_ptr->ml) msg_format(_("%sはもう加速されていない。", "%^s is no longer fast."), m_name);
        }
        if (set_monster_slow(m_idx, 0))
        {
-#ifdef JP
-               if (m_ptr->ml) msg_format("%sはもう減速されていない。", m_name);
-#else
-               if (m_ptr->ml) msg_format("%^s is no longer slow.", m_name);
-#endif
+               if (m_ptr->ml) msg_format(_("%sはもう減速されていない。", "%^s is no longer slow."), m_name);
        }
 }
 
@@ -4625,17 +4287,9 @@ bool process_the_world(int num, int who, bool vs_player)
                monster_desc(m_name, m_ptr, 0);
 
                if (who == 1)
-#ifdef JP
-                       msg_print("「『ザ・ワールド』!時は止まった!」");
-#else
-                       msg_format("%s yells 'The World! Time has stopped!'", m_name);
-#endif
+                       msg_format(_("「『ザ・ワールド』!時は止まった!」", "%s yells 'The World! Time has stopped!'"), m_name);
                else if (who == 3)
-#ifdef JP
-                       msg_print("「時よ!」");
-#else
-                       msg_format("%s yells 'Time!'", m_name);
-#endif
+                       msg_format(_("「時よ!」", "%s yells 'Time!'"), m_name);
                else msg_print("hek!");
 
                msg_print(NULL);
@@ -4681,11 +4335,7 @@ bool process_the_world(int num, int who, bool vs_player)
        world_monster = 0;
        if (vs_player || (player_has_los_bold(m_ptr->fy, m_ptr->fx) && projectable(py, px, m_ptr->fy, m_ptr->fx)))
        {
-#ifdef JP
-               msg_print("「時は動きだす…」");
-#else
-               msg_print("You feel time flowing around you once more.");
-#endif
+               msg_print(_("「時は動きだす…」", "You feel time flowing around you once more."));
                msg_print(NULL);
        }
 
@@ -4796,20 +4446,11 @@ void monster_gain_exp(int m_idx, int s_idx)
                                                hallu_race = &r_info[randint1(max_r_idx - 1)];
                                        }
                                        while (!hallu_race->name || (hallu_race->flags1 & RF1_UNIQUE));
-
-#ifdef JP
-                                       msg_format("%sは%sに進化した。", m_name, r_name + hallu_race->name);
-#else
-                                       msg_format("%^s evolved into %s.", m_name, r_name + hallu_race->name);
-#endif
+                                       msg_format(_("%sは%sに進化した。", "%^s evolved into %s."), m_name, r_name + hallu_race->name);
                                }
                                else
                                {
-#ifdef JP
-                                       msg_format("%sは%sに進化した。", m_name, r_name + r_ptr->name);
-#else
-                                       msg_format("%^s evolved into %s.", m_name, r_name + r_ptr->name);
-#endif
+                                       msg_format(_("%sは%sに進化した。", "%^s evolved into %s."), m_name, r_name + r_ptr->name);
                                }
                        }
 
index 541efea..beeadf7 100644 (file)
@@ -333,11 +333,7 @@ void mindcraft_info(char *p, int use_mind, int power)
 #endif
                case 11: sprintf(p, " %s%dd6", s_dam, plev / 2);  break;
                case 12: sprintf(p, " %sd%d+%d", s_dam, plev * 3, plev * 3); break;
-#ifdef JP
-               case 13: sprintf(p, " 行動:%ld回", (long int)(p_ptr->csp + 100-p_ptr->energy_need - 50)/100); break;
-#else
-               case 13: sprintf(p, " %ld acts.", (p_ptr->csp + 100-p_ptr->energy_need - 50)/100); break;
-#endif
+               case 13: sprintf(p, _(" 行動:%ld回", " %ld acts."), (long int)(p_ptr->csp + 100-p_ptr->energy_need - 50)/100); break;
                }
                break;
        case MIND_KI:
@@ -358,18 +354,10 @@ void mindcraft_info(char *p, int use_mind, int power)
                case 7:  sprintf(p, " %s%dd8", s_dam, 8 + ((plev - 5) / 5) + boost / 12); break;
                case 8:  sprintf(p, " %s10d6+%d", s_dam, plev * 3 / 2 + boost * 3 / 5); break;
                case 9:  break;
-#ifdef JP
-               case 10: sprintf(p, " 最大%d体", 1+boost/100); break;
-#else
-               case 10: sprintf(p, " max %d", 1+boost/100); break;
-#endif
+               case 10: sprintf(p, _(" 最大%d体", " max %d"), 1+boost/100); break;
                case 11: sprintf(p, " %s%d", s_dam, 100 + plev + boost); break;
                case 12: sprintf(p, " %s%dd15", s_dam, 10 + plev / 2 + boost * 3 / 10); break;
-#ifdef JP
-               case 13: sprintf(p, " 行動:%d+d16回", 16+boost/20); break;
-#else
-               case 13: sprintf(p, " %d+d16 acts", 16+boost/20); break;
-#endif
+               case 13: sprintf(p, _(" 行動:%d+d16回", " %d+d16 acts"), 16+boost/20); break;
                }
                break;
        }
@@ -475,61 +463,37 @@ void mindcraft_info(char *p, int use_mind, int power)
        case CLASS_MINDCRAFTER:
          {
            use_mind = MIND_MINDCRAFTER;
-#ifdef JP
-           p = "超能力";
-#else
-           p = "mindcraft";
-#endif
+           p = _("超能力", "mindcraft");
            break;
          }
        case CLASS_FORCETRAINER:
          {
            use_mind = MIND_KI;
-#ifdef JP
-           p = "練気術";
-#else
-           p = "Force";
-#endif
+           p = _("練気術", "Force");
            break;
          }
        case CLASS_BERSERKER:
          {
            use_mind = MIND_BERSERKER;
-#ifdef JP
-           p = "技";
-#else
-           p = "brutal power";
-#endif
+           p = _("技", "brutal power");
            break;
          }
        case CLASS_MIRROR_MASTER:
          {
            use_mind = MIND_MIRROR_MASTER;
-#ifdef JP
-           p = "鏡魔法";
-#else
-           p = "magic";
-#endif
+           p = _("鏡魔法", "magic");
            break;
          }
        case CLASS_NINJA:
          {
            use_mind = MIND_NINJUTSU;
-#ifdef JP
-           p = "忍術";
-#else
-           p = "ninjutsu";
-#endif
+           p = _("忍術", "ninjutsu");
            break;
          }
        default:
          {
            use_mind = 0;
-#ifdef JP
-           p = "超能力";
-#else
-           p = "mindcraft";
-#endif
+           p = _("超能力", "mindcraft");
            break;
          }
        }
@@ -556,13 +520,13 @@ void mindcraft_info(char *p, int use_mind, int power)
 
 #endif /* ALLOW_REPEAT -- TNB */
 
-      /* Nothing chosen yet */
-      flag = FALSE;
+    /* Nothing chosen yet */
+    flag = FALSE;
 
-      /* No redraw yet */
-      redraw = FALSE;
+    /* No redraw yet */
+    redraw = FALSE;
 
-      for (i = 0; i < MAX_MIND_POWERS; i++)
+    for (i = 0; i < MAX_MIND_POWERS; i++)
        {
          if (mind_ptr->info[i].min_lev <= plev)
            {
@@ -570,24 +534,18 @@ void mindcraft_info(char *p, int use_mind, int power)
            }
        }
 
-      /* Build a prompt (accept all spells) */
-      if (only_browse)
+    /* Build a prompt (accept all spells) */
+    if (only_browse)
        {
-#ifdef JP
-         (void) strnfmt(out_val, 78, "(%^s %c-%c, '*'で一覧, ESC) どの%sについて知りますか?",
-#else
-         (void) strnfmt(out_val, 78, "(%^ss %c-%c, *=List, ESC=exit) Use which %s? ",
-#endif
+               (void) strnfmt(out_val, 78, 
+                                       _("(%^s %c-%c, '*'で一覧, ESC) どの%sについて知りますか?", "(%^ss %c-%c, *=List, ESC=exit) Use which %s? "),
                                       p, I2A(0), I2A(num - 1), p);
-         }
+       }
        else
-         {
-#ifdef JP
-(void) strnfmt(out_val, 78, "(%^s %c-%c, '*'で一覧, ESC) どの%sを使いますか?",
-#else
-               (void)strnfmt(out_val, 78, "(%^ss %c-%c, *=List, ESC=exit) Use which %s? ",
-#endif
-               p, I2A(0), I2A(num - 1), p);
+       {
+               (void) strnfmt(out_val, 78, 
+                                       _("(%^s %c-%c, '*'で一覧, ESC) どの%sを使いますか?", "(%^ss %c-%c, *=List, ESC=exit) Use which %s? "),
+                                               p, I2A(0), I2A(num - 1), p);
        }
 
        if (use_menu && !only_browse) screen_save();
@@ -654,11 +612,7 @@ void mindcraft_info(char *p, int use_mind, int power)
 
                                /* Display a list of spells */
                                prt("", y, x);
-#ifdef JP
-put_str("名前", y, x + 5);
-#else
-                               put_str("Name", y, x + 5);
-#endif
+                               put_str(_("名前", "Name"), y, x + 5);
 
 #ifdef JP
 put_str(format("Lv   %s   失率 効果", ((use_mind == MIND_BERSERKER) || (use_mind == MIND_NINJUTSU)) ? "HP" : "MP"), y, x + 35);
@@ -738,11 +692,7 @@ put_str(format("Lv   %s   Fail Info", ((use_mind == MIND_BERSERKER) || (use_mind
 
                                        if (use_menu)
                                        {
-#ifdef JP
-                                               if (i == (menu_line-1)) strcpy(psi_desc, "  》 ");
-#else
-                                               if (i == (menu_line-1)) strcpy(psi_desc, "  >  ");
-#endif
+                                               if (i == (menu_line-1)) strcpy(psi_desc, _("  》 ", "  >  "));
                                                else strcpy(psi_desc, "     ");
                                        }
                                        else
@@ -806,12 +756,7 @@ put_str(format("Lv   %s   Fail Info", ((use_mind == MIND_BERSERKER) || (use_mind
                        char tmp_val[160];
 
                        /* Prompt */
-#ifdef JP
-(void) strnfmt(tmp_val, 78, "%sを使いますか?", spell.name);
-#else
-                       (void)strnfmt(tmp_val, 78, "Use %s? ", spell.name);
-#endif
-
+                       (void) strnfmt(tmp_val, 78, _("%sを使いますか?", "Use %s? "), spell.name);
 
                        /* Belay that order */
                        if (!get_check(tmp_val)) continue;
@@ -888,11 +833,7 @@ static bool cast_mindcrafter_spell(int spell)
                if ((plev > 24) && (plev < 40))
                        set_tim_esp(plev, FALSE);
 
-#ifdef JP
-if (!b) msg_print("安全な気がする。");
-#else
-               if (!b) msg_print("You feel safe.");
-#endif
+               if (!b) msg_print(_("安全な気がする。", "You feel safe."));
 
                break;
        case 1:
@@ -949,11 +890,7 @@ if (!b) msg_print("安全な気がする。");
                        return ident_spell(FALSE);
        case 8:
                /* Mindwave */
-#ifdef JP
-msg_print("精神を捻じ曲げる波動を発生させた!");
-#else
-               msg_print("Mind-warping forces emanate from your brain!");
-#endif
+               msg_print(_("精神を捻じ曲げる波動を発生させた!", "Mind-warping forces emanate from your brain!"));
 
                if (plev < 25)
                        project(0, 2 + plev / 10, py, px,
@@ -1007,19 +944,11 @@ msg_print("精神を捻じ曲げる波動を発生させた!");
        {
                if (world_player)
                {
-#ifdef JP
-                       msg_print("既に時は止まっている。");
-#else
-                       msg_print("Time is already stopped.");
-#endif
+                       msg_print(_("既に時は止まっている。", "Time is already stopped."));
                        return (FALSE);
                }
                world_player = TRUE;
-#ifdef JP
-               msg_print("「時よ!」");
-#else
-               msg_print("You yell 'Time!'");
-#endif
+               msg_print(_("「時よ!」", "You yell 'Time!'"));
                msg_print(NULL);
 
                /* Hack */
@@ -1038,12 +967,7 @@ msg_print("精神を捻じ曲げる波動を発生させた!");
                break;
        }
        default:
-#ifdef JP
-msg_print("なに?");
-#else
-               msg_print("Zap?");
-#endif
-
+               msg_print(_("なに?", "Zap?"));
        }
 
        return TRUE;
@@ -1086,26 +1010,14 @@ static bool cast_force_spell(int spell)
                set_resist_magic(randint1(20) + 20 + boost / 5, FALSE);
                break;
        case 5:
-#ifdef JP
-               msg_print("気を練った。");
-#else
-               msg_print("You improved the Force.");
-#endif
+               msg_print(_("気を練った。", "You improved the Force."));
                p_ptr->magic_num1[0] += (70 + plev);
                p_ptr->update |= (PU_BONUS);
                if (randint1(p_ptr->magic_num1[0]) > (plev * 4 + 120))
                {
-#ifdef JP
-                       msg_print("気が暴走した!");
-#else
-                       msg_print("The Force exploded!");
-#endif
+                       msg_print(_("気が暴走した!", "The Force exploded!"));
                        fire_ball(GF_MANA, 0, p_ptr->magic_num1[0] / 2, 10);
-#ifdef JP
-                       take_hit(DAMAGE_LOSELIFE, p_ptr->magic_num1[0] / 2, "気の暴走", -1);
-#else
-                       take_hit(DAMAGE_LOSELIFE, p_ptr->magic_num1[0] / 2, "Explosion of the Force", -1);
-#endif
+                       take_hit(DAMAGE_LOSELIFE, p_ptr->magic_num1[0] / 2, _("気の暴走", "Explosion of the Force"), -1);
                }
                else return TRUE;
                break;
@@ -1136,11 +1048,7 @@ static bool cast_force_spell(int spell)
 
                        if (randint1(r_ptr->level * 3 / 2) > randint0(dam / 2) + dam/2)
                        {
-#ifdef JP
-                               msg_format("%sは飛ばされなかった。", m_name);
-#else
-                               msg_format("%^s was not blown away.", m_name);
-#endif
+                               msg_format(_("%sは飛ばされなかった。", "%^s was not blown away."), m_name);
                        }
                        else
                        {
@@ -1157,11 +1065,7 @@ static bool cast_force_spell(int spell)
                                }
                                if ((ty != oy) || (tx != ox))
                                {
-#ifdef JP
-                                       msg_format("%sを吹き飛ばした!", m_name);
-#else
-                                       msg_format("You blow %s away!", m_name);
-#endif
+                                       msg_format(_("%sを吹き飛ばした!", "You blow %s away!"), m_name);
                                        cave[oy][ox].m_idx = 0;
                                        cave[ty][tx].m_idx = m_idx;
                                        m_ptr->fy = ty;
@@ -1204,19 +1108,11 @@ static bool cast_force_spell(int spell)
                                success = TRUE;
                if (success)
                {
-#ifdef JP
-msg_print("御用でございますが、御主人様?");
-#else
-                       msg_print("'Your wish, master?'");
-#endif
+                       msg_print(_("御用でございますが、御主人様?", "'Your wish, master?'"));
                }
                else
                {
-#ifdef JP
-                       msg_print("何も現れなかった。");
-#else
-                       msg_print("Nothing happen.");
-#endif
+                       msg_print(_("何も現れなかった。", "Nothing happen."));
                }
                break;
        }
@@ -1232,12 +1128,7 @@ msg_print("御用でございますが、御主人様?");
                set_lightspeed(randint1(16) + 16 + boost / 20, FALSE);
                break;
        default:
-#ifdef JP
-msg_print("なに?");
-#else
-               msg_print("Zap?");
-#endif
-
+               msg_print(_("なに?", "Zap?"));
        }
        p_ptr->magic_num1[0] = 0;
        p_ptr->update |= (PU_BONUS);
@@ -1286,11 +1177,7 @@ static bool cast_mirror_spell(int spell)
          if( plev + tmp > 28 )set_tim_esp(plev,FALSE);
          if( plev + tmp > 38 )map_area(DETECT_RAD_MAP);
          if( tmp == 0 && plev < 5 ){
-#ifdef JP
-           msg_print("鏡がなくて集中できなかった!");
-#else
-           msg_print("You need a mirror to concentrate!");
-#endif
+           msg_print(_("鏡がなくて集中できなかった!", "You need a mirror to concentrate!"));
          }
          break;
        /* drip of light */
@@ -1299,11 +1186,7 @@ static bool cast_mirror_spell(int spell)
            place_mirror();
          }
          else {
-#ifdef JP
-msg_format("これ以上鏡は制御できない!");
-#else
-msg_format("There are too many mirrors to control!");
-#endif
+                       msg_format(_("これ以上鏡は制御できない!", "There are too many mirrors to control!"));
          }
          break;
        case 2:
@@ -1386,22 +1269,14 @@ msg_format("There are too many mirrors to control!");
        /* mirror shift */
        case 15:
          if( !is_mirror_grid(&cave[py][px]) ){
-#ifdef JP
-               msg_print("鏡の国の場所がわからない!");
-#else
-               msg_print("You cannot find out where is the world of mirror!");
-#endif
+               msg_print(_("鏡の国の場所がわからない!", "You cannot find out where is the world of mirror!"));
                break;
          }
          alter_reality();
          break;
        /* mirror tunnel */
        case 16:
-#ifdef JP
-         msg_print("鏡の世界を通り抜け…  ");
-#else
-         msg_print("Go through the world of mirror...");
-#endif
+         msg_print(_("鏡の世界を通り抜け…  ", "Go through the world of mirror..."));
          return mirror_tunnel();
 
        /* mirror of recall */
@@ -1413,22 +1288,14 @@ msg_format("There are too many mirrors to control!");
          break;
        /* binding field */
        case 19:
-#ifdef JP
-         if( !binding_field(plev*11+5) )msg_print("適当な鏡を選べなかった!");
-#else
-         if( !binding_field(plev*11+5) )msg_print("You were not able to choose suitable mirrors!");
-#endif
+         if( !binding_field(plev*11+5) )msg_print(_("適当な鏡を選べなかった!", "You were not able to choose suitable mirrors!"));
          break;
        /* mirror of Ruffnor */
        case 20:
          (void)set_invuln(randint1(4)+4,FALSE);
          break;
        default:
-#ifdef JP
-msg_print("なに?");
-#else
-               msg_print("Zap?");
-#endif
+               msg_print(_("なに?", "Zap?"));
 
        }
        p_ptr->magic_num1[0] = 0;
@@ -1457,11 +1324,7 @@ static bool cast_berserk_spell(int spell)
        {
                if (p_ptr->riding)
                {
-#ifdef JP
-                       msg_print("乗馬中には無理だ。");
-#else
-                       msg_print("You cannot do it when riding.");
-#endif
+                       msg_print(_("乗馬中には無理だ。", "You cannot do it when riding."));
                        return FALSE;
                }
 
@@ -1473,11 +1336,7 @@ static bool cast_berserk_spell(int spell)
 
                if (!cave[y][x].m_idx)
                {
-#ifdef JP
-                       msg_print("その方向にはモンスターはいません。");
-#else
-                       msg_print("There is no monster.");
-#endif
+                       msg_print(_("その方向にはモンスターはいません。", "There is no monster."));
                        return FALSE;
                }
 
@@ -1513,11 +1372,7 @@ static bool cast_berserk_spell(int spell)
                massacre(py, px);
                break;
        default:
-#ifdef JP
-msg_print("なに?");
-#else
-               msg_print("Zap?");
-#endif
+               msg_print(_("なに?", "Zap?"));
 
        }
        return TRUE;
@@ -1567,12 +1422,7 @@ static bool cast_ninja_spell(int spell)
        {
                if (!(p_ptr->special_defense & NINJA_KAWARIMI))
                {
-#ifdef JP
-                       msg_print("敵の攻撃に対して敏感になった。");
-#else
-                       msg_print("You are now prepare to evade any attacks.");
-#endif
-
+                       msg_print(_("敵の攻撃に対して敏感になった。", "You are now prepare to evade any attacks."));
                        p_ptr->special_defense |= NINJA_KAWARIMI;
                        p_ptr->redraw |= (PR_STATUS);
                }
@@ -1592,24 +1442,13 @@ static bool cast_ninja_spell(int spell)
                {
                        py_attack(y, x, 0);
                        if (randint0(p_ptr->skill_dis) < 7)
-#ifdef JP
-msg_print("うまく逃げられなかった。");
-#else
-                               msg_print("You failed to run away.");
-#endif
+                               msg_print(_("うまく逃げられなかった。", "You failed to run away."));
                        else
-                       {
                                teleport_player(30, 0L);
-                       }
                }
                else
                {
-#ifdef JP
-msg_print("その方向にはモンスターはいません。");
-#else
-                       msg_print("You don't see any monster in this direction");
-#endif
-
+                       msg_print(_("その方向にはモンスターはいません。", "You don't see any monster in this direction"));
                        msg_print(NULL);
                }
                break;
@@ -1680,12 +1519,7 @@ msg_print("その方向にはモンスターはいません。");
                if (!projectable(py, px, target_row, target_col)) break;
                m_ptr = &m_list[m_idx];
                monster_desc(m_name, m_ptr, 0);
-#ifdef JP
-               msg_format("%sを引き戻した。", m_name);
-#else
-               msg_format("You pull back %s.", m_name);
-#endif
-
+               msg_format(_("%sを引き戻した。", "You pull back %s."), m_name);
                path_n = project_path(path_g, MAX_RANGE, target_row, target_col, py, px, 0);
                ty = target_row, tx = target_col;
                for (i = 1; i < path_n; i++)
@@ -1791,11 +1625,7 @@ msg_print("その方向にはモンスターはいません。");
                set_multishadow(6+randint1(6), FALSE);
                break;
        default:
-#ifdef JP
-msg_print("なに?");
-#else
-               msg_print("Zap?");
-#endif
+               msg_print(_("なに?", "Zap?"));
 
        }
        return TRUE;
@@ -1823,12 +1653,7 @@ void do_cmd_mind(void)
        /* not if confused */
        if (p_ptr->confused)
        {
-#ifdef JP
-msg_print("混乱していて集中できない!");
-#else
-               msg_print("You are too confused!");
-#endif
-
+               msg_print(_("混乱していて集中できない!", "You are too confused!"));
                return;
        }
 
@@ -1882,32 +1707,19 @@ msg_print("混乱していて集中できない!");
        {
                if (mana_cost > p_ptr->chp)
                {
-#ifdef JP
-msg_print("HPが足りません。");
-#else
-                       msg_print("You do not have enough hp to use this power.");
-#endif
+                       msg_print(_("HPが足りません。", "You do not have enough hp to use this power."));
                        return;
                }
        }
        else if (mana_cost > p_ptr->csp)
        {
                /* Warning */
-#ifdef JP
-msg_print("MPが足りません。");
-#else
-               msg_print("You do not have enough mana to use this power.");
-#endif
-
+               msg_print(_("MPが足りません。", "You do not have enough mana to use this power."));
 
                if (!over_exert) return;
 
                /* Verify */
-#ifdef JP
-if (!get_check("それでも挑戦しますか? ")) return;
-#else
-               if (!get_check("Attempt it anyway? ")) return;
-#endif
+               if (!get_check(_("それでも挑戦しますか? ", "Attempt it anyway? "))) return;
 
        }
 
@@ -1952,11 +1764,7 @@ if (!get_check("それでも挑戦しますか? ")) return;
        if (randint0(100) < chance)
        {
                if (flush_failure) flush();
-#ifdef JP
-msg_format("%sの集中に失敗した!",p);
-#else
-               msg_format("You failed to concentrate hard enough!");
-#endif
+               msg_format(_("%sの集中に失敗した!", "You failed to concentrate hard enough!"),p);
 
                sound(SOUND_FAIL);
 
@@ -1964,11 +1772,7 @@ msg_format("%sの集中に失敗した!",p);
                {
                        if ((use_mind == MIND_KI) && (n != 5) && p_ptr->magic_num1[0])
                        {
-#ifdef JP
-                               msg_print("気が散ってしまった...");
-#else
-                               msg_print("Your improved Force has gone away...");
-#endif
+                               msg_print(_("気が散ってしまった...", "Your improved Force has gone away..."));
                                p_ptr->magic_num1[0] = 0;
                        }
 
@@ -1980,32 +1784,17 @@ msg_format("%sの集中に失敗した!",p);
                          if( use_mind == MIND_MINDCRAFTER ){
                                if (b < 5)
                                {
-#ifdef JP
-msg_print("なんてこった!頭の中が真っ白になった!");
-#else
-                                       msg_print("Oh, no! Your mind has gone blank!");
-#endif
-
+                                       msg_print(_("なんてこった!頭の中が真っ白になった!", "Oh, no! Your mind has gone blank!"));
                                        lose_all_info();
                                }
                                else if (b < 15)
                                {
-#ifdef JP
-msg_print("奇妙な光景が目の前で踊っている...");
-#else
-                                       msg_print("Weird visions seem to dance before your eyes...");
-#endif
-
+                                       msg_print(_("奇妙な光景が目の前で踊っている...", "Weird visions seem to dance before your eyes..."));
                                        set_image(p_ptr->image + 5 + randint1(10));
                                }
                                else if (b < 45)
                                {
-#ifdef JP
-msg_print("あなたの頭は混乱した!");
-#else
-                                       msg_print("Your brain is addled!");
-#endif
-
+                                       msg_print(_("あなたの頭は混乱した!", "Your brain is addled!"));
                                        set_confused(p_ptr->confused + randint1(8));
                                }
                                else if (b < 90)
@@ -2015,11 +1804,7 @@ msg_print("あなたの頭は混乱した!");
                                else
                                {
                                        /* Mana storm */
-#ifdef JP
-msg_format("%sの力が制御できない氾流となって解放された!", p);
-#else
-                                       msg_print("Your mind unleashes its power in an uncontrollable storm!");
-#endif
+                                       msg_format(_("%sの力が制御できない氾流となって解放された!", "Your mind unleashes its power in an uncontrollable storm!"), p);
 
                                        project(PROJECT_WHO_UNCTRL_POWER, 2 + plev / 10, py, px, plev * 2,
                                                GF_MANA, PROJECT_JUMP | PROJECT_KILL | PROJECT_GRID | PROJECT_ITEM, -1);
@@ -2033,31 +1818,18 @@ msg_format("%sの力が制御できない氾流となって解放された!",
                                }
                                else if (b < 81)
                                {
-#ifdef JP
-msg_print("鏡の世界の干渉を受けた!");
-#else
-                                       msg_print("Weird visions seem to dance before your eyes...");
-#endif
+                                       msg_print(_("鏡の世界の干渉を受けた!", "Weird visions seem to dance before your eyes..."));
                                        teleport_player(10, TELEPORT_PASSIVE);
                                }
                                else if (b < 96)
                                {
-#ifdef JP
-msg_print("まわりのものがキラキラ輝いている!");
-#else
-                                       msg_print("Your brain is addled!");
-#endif
-
+                                       msg_print(_("まわりのものがキラキラ輝いている!", "Your brain is addled!"));
                                        set_image(p_ptr->image + 5 + randint1(10));
                                }
                                else
                                {
                                        /* Mana storm */
-#ifdef JP
-msg_format("%sの力が制御できない氾流となって解放された!", p);
-#else
-                                       msg_print("Your mind unleashes its power in an uncontrollable storm!");
-#endif
+                                       msg_format(_("%sの力が制御できない氾流となって解放された!", "Your mind unleashes its power in an uncontrollable storm!"), p);
 
                                        project(PROJECT_WHO_UNCTRL_POWER, 2 + plev / 10, py, px, plev * 2,
                                                GF_MANA, PROJECT_JUMP | PROJECT_KILL | PROJECT_GRID | PROJECT_ITEM, -1);
@@ -2095,11 +1867,7 @@ msg_format("%sの力が制御できない氾流となって解放された!",
                        cast = cast_ninja_spell(n);
                        break;
                default:
-#ifdef JP
-                       msg_format("謎の能力:%d, %d",use_mind, n);
-#else
-                       msg_format("Mystery power:%d, %d",use_mind, n);
-#endif
+                       msg_format(_("謎の能力:%d, %d", "Mystery power:%d, %d"),use_mind, n);
                        return;
                }
 
@@ -2117,11 +1885,7 @@ msg_format("%sの力が制御できない氾流となって解放された!",
 
        if ((use_mind == MIND_BERSERKER) || (use_mind == MIND_NINJUTSU))
        {
-#ifdef JP
-               take_hit(DAMAGE_USELIFE, mana_cost, "過度の集中", -1);
-#else
-               take_hit(DAMAGE_USELIFE, mana_cost, "concentrating too hard", -1);
-#endif
+               take_hit(DAMAGE_USELIFE, mana_cost, _("過度の集中", "concentrating too hard"), -1);
                /* Redraw hp */
                p_ptr->redraw |= (PR_HP);
        }
@@ -2153,12 +1917,7 @@ msg_format("%sの力が制御できない氾流となって解放された!",
                p_ptr->csp = MAX(0, p_ptr->csp - mana_cost);
 
                /* Message */
-#ifdef JP
-msg_format("%sを集中しすぎて気を失ってしまった!",p);
-#else
-               msg_print("You faint from the effort!");
-#endif
-
+               msg_format(_("%sを集中しすぎて気を失ってしまった!", "You faint from the effort!"),p);
 
                /* Hack -- Bypass free action */
                (void)set_paralyzed(p_ptr->paralyzed + randint1(5 * oops + 1));
@@ -2169,12 +1928,7 @@ msg_format("%sを集中しすぎて気を失ってしまった!",p);
                        bool perm = (randint0(100) < 25);
 
                        /* Message */
-#ifdef JP
-msg_print("自分の精神を攻撃してしまった!");
-#else
-                       msg_print("You have damaged your mind!");
-#endif
-
+                       msg_print(_("自分の精神を攻撃してしまった!", "You have damaged your mind!"));
 
                        /* Reduce constitution */
                        (void)dec_stat(A_WIS, 15 + randint1(10), perm);
@@ -2237,11 +1991,7 @@ void do_cmd_mind_browse(void)
                {
                case MIND_MIRROR_MASTER:
                case MIND_NINJUTSU:
-#ifdef JP
-                 prt("何かキーを押して下さい。",0,0);
-#else
-                 prt("Hit any key.",0,0);
-#endif
+                 prt(_("何かキーを押して下さい。", "Hit any key."),0,0);
                  (void)inkey();
                }
        }
index 9dc84d7..685b941 100644 (file)
@@ -2485,11 +2485,7 @@ void anger_monster(monster_type *m_ptr)
                char m_name[80];
 
                monster_desc(m_name, m_ptr, 0);
-#ifdef JP
-msg_format("%^sは怒った!", m_name);
-#else
-               msg_format("%^s gets angry!", m_name);
-#endif
+               msg_format(_("%^sは怒った!", "%^s gets angry!"), m_name);
 
                set_hostile(m_ptr);
 
index 21abd89..5fbcafc 100644 (file)
@@ -400,11 +400,7 @@ void compact_monsters(int size)
        int             cur_lev, cur_dis, chance;
 
        /* Message (only if compacting) */
-#ifdef JP
-       if (size) msg_print("モンスター情報を圧縮しています...");
-#else
-       if (size) msg_print("Compacting monsters...");
-#endif
+       if (size) msg_print(_("モンスター情報を圧縮しています...", "Compacting monsters..."));
 
 
        /* Compact at least 'size' objects */
@@ -604,12 +600,7 @@ s16b m_pop(void)
 
 
        /* Warn the player (except during dungeon creation) */
-#ifdef JP
-       if (character_dungeon) msg_print("モンスターが多すぎる!");
-#else
-       if (character_dungeon) msg_print("Too many monsters!");
-#endif
-
+       if (character_dungeon) msg_print(_("モンスターが多すぎる!", "Too many monsters!"));
 
        /* Try not to crash */
        return (0);
@@ -1486,12 +1477,7 @@ void monster_desc(char *desc, monster_type *m_ptr, int mode)
        {
                if (one_in_(2))
                {
-#ifdef JP
-                       if (!get_rnd_line("silly_j.txt", m_ptr->r_idx, silly_name))
-#else
-                       if (!get_rnd_line("silly.txt", m_ptr->r_idx, silly_name))
-#endif
-
+                       if (!get_rnd_line(_("silly_j.txt", "silly.txt"), m_ptr->r_idx, silly_name))
                                named = TRUE;
                }
 
@@ -1534,12 +1520,7 @@ void monster_desc(char *desc, monster_type *m_ptr, int mode)
 
 
                /* Assume simple result */
-#ifdef JP
-               res = "何か";
-#else
-               res = "it";
-#endif
-
+               res = _("何か", "it");
 
                /* Brute force: split on the possibilities */
                switch (kind + (mode & (MD_INDEF_HIDDEN | MD_POSSESSIVE | MD_OBJECTIVE)))
@@ -1683,11 +1664,7 @@ void monster_desc(char *desc, monster_type *m_ptr, int mode)
                                 !(p_ptr->riding && (&m_list[p_ptr->riding] == m_ptr)))
                        {
                                /* It is a fake unique monster */
-#ifdef JP
-                               (void)sprintf(desc, "%sもどき", name);
-#else
-                               (void)sprintf(desc, "fake %s", name);
-#endif
+                               (void)sprintf(desc, _("%sもどき", "fake %s"), name);
                        }
 
                        else
@@ -1716,58 +1693,33 @@ void monster_desc(char *desc, monster_type *m_ptr, int mode)
                {
                        /* Definite monsters need a definite article */
                        if (is_pet(m_ptr))
-#ifdef JP
-                               (void)strcpy(desc, "あなたの");
-#else
-                               (void)strcpy(desc, "your ");
-#endif
-
+                               (void)strcpy(desc, _("あなたの", "your "));
                        else
-#ifdef JP
-                               (void)strcpy(desc, "");
-#else
-                               (void)strcpy(desc, "the ");
-#endif
+                               (void)strcpy(desc, _("", "the "));
 
                        (void)strcat(desc, name);
                }
 
                if (m_ptr->nickname)
                {
-#ifdef JP
-                       sprintf(buf,"「%s」",quark_str(m_ptr->nickname));
-#else
-                       sprintf(buf," called %s",quark_str(m_ptr->nickname));
-#endif
+                       sprintf(buf,_("「%s」", " called %s"),quark_str(m_ptr->nickname));
                        strcat(desc,buf);
                }
 
                if (p_ptr->riding && (&m_list[p_ptr->riding] == m_ptr))
                {
-#ifdef JP
-                       strcat(desc,"(乗馬中)");
-#else
-                       strcat(desc,"(riding)");
-#endif
+                       strcat(desc,_("(乗馬中)", "(riding)"));
                }
 
                if ((mode & MD_IGNORE_HALLU) && (m_ptr->mflag2 & MFLAG2_CHAMELEON))
                {
                        if (r_ptr->flags1 & RF1_UNIQUE)
                        {
-#ifdef JP
-                               strcat(desc,"(カメレオンの王)");
-#else
-                               strcat(desc,"(Chameleon Lord)");
-#endif
+                               strcat(desc,_("(カメレオンの王)", "(Chameleon Lord)"));
                        }
                        else
                        {
-#ifdef JP
-                               strcat(desc,"(カメレオン)");
-#else
-                               strcat(desc,"(Chameleon)");
-#endif
+                               strcat(desc,_("(カメレオン)", "(Chameleon)"));
                        }
                }
 
@@ -1782,11 +1734,7 @@ void monster_desc(char *desc, monster_type *m_ptr, int mode)
                        /* XXX Check for trailing "s" */
                        
                        /* Simply append "apostrophe" and "s" */
-#ifdef JP
-                       (void)strcat(desc, "の");
-#else
-                       (void)strcat(desc, "'s");
-#endif
+                       (void)strcat(desc, _("の", "'s"));
                }
        }
 }
@@ -2030,12 +1978,7 @@ void sanity_blast(monster_type *m_ptr, bool necro)
        }
        else
        {
-#ifdef JP
-msg_print("ネクロノミコンを読んで正気を失った!");
-#else
-               msg_print("Your sanity is shaken by reading the Necronomicon!");
-#endif
-
+               msg_print(_("ネクロノミコンを読んで正気を失った!", "Your sanity is shaken by reading the Necronomicon!"));
        }
 
        if (!saving_throw(p_ptr->skill_sav - power)) /* Mind blast */
@@ -2083,11 +2026,7 @@ msg_print("ネクロノミコンを読んで正気を失った!");
        {
 
                if (lose_all_info())
-#ifdef JP
-msg_print("あまりの恐怖に全てのことを忘れてしまった!");
-#else
-                       msg_print("You forget everything in your utmost terror!");
-#endif
+                       msg_print(_("あまりの恐怖に全てのことを忘れてしまった!", "You forget everything in your utmost terror!"));
 
                return;
        }
@@ -2115,29 +2054,16 @@ msg_print("あまりの恐怖に全てのことを忘れてしまった!");
                                {
                                        if ((p_ptr->stat_use[A_INT] < 4) && (p_ptr->stat_use[A_WIS] < 4))
                                        {
-#ifdef JP
-msg_print("あなたは完璧な馬鹿になったような気がした。しかしそれは元々だった。");
-#else
-                                               msg_print("You turn into an utter moron!");
-#endif
+                                               msg_print(_("あなたは完璧な馬鹿になったような気がした。しかしそれは元々だった。", "You turn into an utter moron!"));
                                        }
                                        else
                                        {
-#ifdef JP
-msg_print("あなたは完璧な馬鹿になった!");
-#else
-                                               msg_print("You turn into an utter moron!");
-#endif
+                                               msg_print(_("あなたは完璧な馬鹿になった!", "You turn into an utter moron!"));
                                        }
 
                                        if (p_ptr->muta3 & MUT3_HYPER_INT)
                                        {
-#ifdef JP
-msg_print("あなたの脳は生体コンピュータではなくなった。");
-#else
-                                               msg_print("Your brain is no longer a living computer.");
-#endif
-
+                                               msg_print(_("あなたの脳は生体コンピュータではなくなった。", "Your brain is no longer a living computer."));
                                                p_ptr->muta3 &= ~(MUT3_HYPER_INT);
                                        }
                                        p_ptr->muta3 |= MUT3_MORONIC;
@@ -2156,22 +2082,12 @@ msg_print("あなたの脳は生体コンピュータではなくなった。");
                        case 11:
                                if (!(p_ptr->muta2 & MUT2_COWARDICE) && !p_ptr->resist_fear)
                                {
-#ifdef JP
-msg_print("あなたはパラノイアになった!");
-#else
-                                       msg_print("You become paranoid!");
-#endif
-
+                                       msg_print(_("あなたはパラノイアになった!", "You become paranoid!"));
 
                                        /* Duh, the following should never happen, but anyway... */
                                        if (p_ptr->muta3 & MUT3_FEARLESS)
                                        {
-#ifdef JP
-msg_print("あなたはもう恐れ知らずではなくなった。");
-#else
-                                               msg_print("You are no longer fearless.");
-#endif
-
+                                               msg_print(_("あなたはもう恐れ知らずではなくなった。", "You are no longer fearless."));
                                                p_ptr->muta3 &= ~(MUT3_FEARLESS);
                                        }
 
@@ -2191,12 +2107,7 @@ msg_print("あなたはもう恐れ知らずではなくなった。");
                        case 21:
                                if (!(p_ptr->muta2 & MUT2_HALLU) && !p_ptr->resist_chaos)
                                {
-#ifdef JP
-msg_print("幻覚をひき起こす精神錯乱に陥った!");
-#else
-                                       msg_print("You are afflicted by a hallucinatory insanity!");
-#endif
-
+                                       msg_print(_("幻覚をひき起こす精神錯乱に陥った!", "You are afflicted by a hallucinatory insanity!"));
                                        p_ptr->muta2 |= MUT2_HALLU;
                                        happened = TRUE;
                                }
@@ -2204,12 +2115,7 @@ msg_print("幻覚をひき起こす精神錯乱に陥った!");
                        default:
                                if (!(p_ptr->muta2 & MUT2_BERS_RAGE))
                                {
-#ifdef JP
-msg_print("激烈な感情の発作におそわれるようになった!");
-#else
-                                       msg_print("You become subject to fits of berserk rage!");
-#endif
-
+                                       msg_print(_("激烈な感情の発作におそわれるようになった!", "You become subject to fits of berserk rage!"));
                                        p_ptr->muta2 |= MUT2_BERS_RAGE;
                                        happened = TRUE;
                                }
@@ -2830,17 +2736,9 @@ void choose_new_monster(int m_idx, bool born, int r_idx)
        {
                char m_name[80];
                monster_desc(m_name, m_ptr, 0);
-#ifdef JP
-               msg_format("突然%sが変身した。", old_m_name);
-#else
-               msg_format("Suddenly, %s transforms!", old_m_name);
-#endif
+               msg_format(_("突然%sが変身した。", "Suddenly, %s transforms!"), old_m_name);
                if (!(r_ptr->flags7 & RF7_RIDING))
-#ifdef JP
-                       if (rakuba(0, TRUE)) msg_print("地面に落とされた。");
-#else
-                       if (rakuba(0, TRUE)) msg_format("You have fallen from %s.", m_name);
-#endif
+                       if (rakuba(0, TRUE)) msg_format(_("地面に落とされた。", "You have fallen from %s."), m_name);
        }
 
        /* Extract the monster base speed */
@@ -3053,12 +2951,7 @@ static bool place_monster_one(int who, int y, int x, int r_idx, u32b mode)
                        /* Describe observable breakage */
                        if (c_ptr->info & CAVE_MARK)
                        {
-#ifdef JP
-msg_print("守りのルーンが壊れた!");
-#else
-                               msg_print("The rune of protection is broken!");
-#endif
-
+                               msg_print(_("守りのルーンが壊れた!", "The rune of protection is broken!"));
                        }
 
                        /* Forget the rune */
@@ -3081,22 +2974,14 @@ msg_print("守りのルーンが壊れた!");
                if (r_ptr->flags1 & (RF1_UNIQUE))
                {
                        /* Message for cheaters */
-#ifdef JP
-                       if (cheat_hear) msg_format("深層のユニーク・モンスター (%s)。", name);
-#else
-                       if (cheat_hear) msg_format("Deep Unique (%s).", name);
-#endif
+                       if (cheat_hear) msg_format(_("深層のユニーク・モンスター (%s)。", "Deep Unique (%s)."), name);
                }
 
                /* Normal monsters */
                else
                {
                        /* Message for cheaters */
-#ifdef JP
-                       if (cheat_hear) msg_format("深層のモンスター (%s)。", name);
-#else
-                       if (cheat_hear) msg_format("Deep Monster (%s).", name);
-#endif
+                       if (cheat_hear) msg_format(_("深層のモンスター (%s)。", "Deep Monster (%s)."), name);
                }
        }
 
@@ -3104,12 +2989,7 @@ msg_print("守りのルーンが壊れた!");
        else if (r_ptr->flags1 & (RF1_UNIQUE))
        {
                /* Unique monsters induce message */
-#ifdef JP
-               if (cheat_hear) msg_format("ユニーク・モンスター (%s)。", name);
-#else
-               if (cheat_hear) msg_format("Unique (%s).", name);
-#endif
-
+               if (cheat_hear) msg_format(_("ユニーク・モンスター (%s)。", "Unique (%s)."), name);
        }
 
        if ((r_ptr->flags1 & RF1_UNIQUE) || (r_ptr->flags7 & RF7_NAZGUL) || (r_ptr->level < 10)) mode &= ~PM_KAGE;
@@ -3327,59 +3207,27 @@ msg_print("守りのルーンが壊れた!");
                        char o_name[MAX_NLEN];
 
                        if (r_ptr->level > p_ptr->lev + 30)
-#ifdef JP
-                               color = "黒く";
-#else
-                               color = "black";
-#endif
+                               color = _("黒く", "black");
                        else if (r_ptr->level > p_ptr->lev + 15)
-#ifdef JP
-                               color = "紫色に";
-#else
-                               color = "purple";
-#endif
+                               color = _("紫色に", "purple");
                        else if (r_ptr->level > p_ptr->lev + 5)
-#ifdef JP
-                               color = "ルビー色に";
-#else
-                               color = "deep red";
-#endif
+                               color = _("ルビー色に", "deep red");
                        else if (r_ptr->level > p_ptr->lev - 5)
-#ifdef JP
-                               color = "赤く";
-#else
-                               color = "red";
-#endif
+                               color = _("赤く", "red");
                        else if (r_ptr->level > p_ptr->lev - 15)
-#ifdef JP
-                               color = "ピンク色に";
-#else
-                               color = "pink";
-#endif
+                               color = _("ピンク色に", "pink");
                        else
-#ifdef JP
-                               color = "白く";
-#else
-                               color = "white";
-#endif
+                               color = _("白く", "white");
 
                        o_ptr = choose_warning_item();
                        if (o_ptr)
                        {
                                object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
-#ifdef JP
-                               msg_format("%sは%s光った。", o_name, color);
-#else
-                               msg_format("%s glows %s.", o_name, color);
-#endif
+                               msg_format(_("%sは%s光った。", "%s glows %s."), o_name, color);
                        }
                        else
                        {
-#ifdef JP
-                               msg_format("%s光る物が頭に浮かんだ。", color);
-#else
-                               msg_format("An %s image forms in your mind.");
-#endif
+                               msg_format(_("%s光る物が頭に浮かんだ。", "An %s image forms in your mind."), color);
                        }
                }
        }
@@ -3392,22 +3240,13 @@ msg_print("守りのルーンが壊れた!");
                        /* Describe observable breakage */
                        if (c_ptr->info & CAVE_MARK)
                        {
-#ifdef JP
-msg_print("ルーンが爆発した!");
-#else
-                               msg_print("The rune explodes!");
-#endif
-
+                               msg_print(_("ルーンが爆発した!", "The rune explodes!"));
                                project(0, 2, y, x, 2 * (p_ptr->lev + damroll(7, 7)), GF_MANA, (PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL | PROJECT_JUMP | PROJECT_NO_HANGEKI), -1);
                        }
                }
                else
                {
-#ifdef JP
-msg_print("爆発のルーンは解除された。");
-#else
-                       msg_print("An explosive rune was disarmed.");
-#endif
+                       msg_print(_("爆発のルーンは解除された。", "An explosive rune was disarmed."));
                }
 
                /* Forget the rune */
@@ -3906,12 +3745,7 @@ bool alloc_monster(int dis, u32b mode)
        {
                if (cheat_xtra || cheat_hear)
                {
-#ifdef JP
-msg_print("警告!新たなモンスターを配置できません。小さい階ですか?");
-#else
-                       msg_print("Warning! Could not allocate a new monster. Small level?");
-#endif
-
+                       msg_print(_("警告!新たなモンスターを配置できません。小さい階ですか?", "Warning! Could not allocate a new monster. Small level?"));
                }
 
                return (FALSE);
@@ -3923,12 +3757,7 @@ msg_print("警告!新たなモンスターを配置できません。小さい
        {
                if (alloc_horde(y, x))
                {
-#ifdef JP
-                       if (cheat_hear) msg_format("モンスターの大群(%c)", summon_kin_type);
-#else
-                       if (cheat_hear) msg_format("Monster horde (%c).", summon_kin_type);
-#endif
-
+                       if (cheat_hear) msg_format(_("モンスターの大群(%c)", "Monster horde (%c)."), summon_kin_type);
                        return (TRUE);
                }
        }
@@ -4137,11 +3966,7 @@ void message_pain(int m_idx, int dam)
 
        if(dam == 0) // Notice non-damage
        {
-#ifdef JP
-               msg_format("%^sはダメージを受けていない。", m_name);
-#else
-               msg_format("%^s is unharmed.", m_name);
-#endif
+               msg_format(_("%^sはダメージを受けていない。", "%^s is unharmed."), m_name);
                return;
        }
 
index c56fcfd..0ddc8d4 100644 (file)
@@ -216,11 +216,7 @@ static int get_learned_power(int *sn)
        char            out_val[160];
        char            comment[80];
        s32b            f4 = 0, f5 = 0, f6 = 0;
-#ifdef JP
-cptr            p = "魔法";
-#else
-       cptr            p = "magic";
-#endif
+       cptr            p = _("魔法", "magic");
 
        monster_power   spell;
        bool            flag, redraw;
@@ -297,11 +293,7 @@ cptr            p = "魔法";
        }
        else
        {
-#ifdef JP
-       sprintf(comment, "[A]ボルト, [B]ボール, [C]ブレス, [D]召喚, [E]その他:");
-#else
-       sprintf(comment, "[A] bolt, [B] ball, [C] breath, [D] summoning, [E] others:");
-#endif
+       sprintf(comment, _("[A]ボルト, [B]ボール, [C]ブレス, [D]召喚, [E]その他:", "[A] bolt, [B] ball, [C] breath, [D] summoning, [E] others:"));
        while (TRUE)
        {
                if (!get_com(comment, &ch, TRUE))
@@ -360,21 +352,13 @@ cptr            p = "魔法";
        }
        if (i == num)
        {
-#ifdef JP
-               msg_print("その種類の魔法は覚えていない!");
-#else
-               msg_print("You don't know any spell of this type.");
-#endif
+               msg_print(_("その種類の魔法は覚えていない!", "You don't know any spell of this type."));
                return (FALSE);
        }
 
        /* Build a prompt (accept all spells) */
        (void)strnfmt(out_val, 78, 
-#ifdef JP
-                     "(%c-%c, '*'で一覧, ESC) どの%sを唱えますか?",
-#else
-                     "(%c-%c, *=List, ESC=exit) Use which %s? ",
-#endif
+                     _("(%c-%c, '*'で一覧, ESC) どの%sを唱えますか?", "(%c-%c, *=List, ESC=exit) Use which %s? "),
                      I2A(0), I2A(num - 1), p);
 
        if (use_menu) screen_save();
@@ -465,17 +449,8 @@ cptr            p = "魔法";
 
                                /* Display a list of spells */
                                prt("", y, x);
-#ifdef JP
-put_str("名前", y, x + 5);
-#else
-                               put_str("Name", y, x + 5);
-#endif
-
-#ifdef JP
-put_str("MP 失率 効果", y, x + 33);
-#else
-                               put_str("SP Fail Info", y, x + 32);
-#endif
+                               put_str(_("名前", "Name"), y, x + 5);
+                               put_str(_("MP 失率 効果", "SP Fail Info"), y, x + 33);
 
 
                                /* Dump the spells */
@@ -528,11 +503,7 @@ put_str("MP 失率 効果", y, x + 33);
 
                                        if (use_menu)
                                        {
-#ifdef JP
-                                               if (i == (menu_line-1)) strcpy(psi_desc, "  》");
-#else
-                                               if (i == (menu_line-1)) strcpy(psi_desc, "  > ");
-#endif
+                                               if (i == (menu_line-1)) strcpy(psi_desc, _("  》", "  > "));
                                                else strcpy(psi_desc, "    ");
                                        }
                                        else sprintf(psi_desc, "  %c)", I2A(i));
@@ -590,12 +561,7 @@ put_str("MP 失率 効果", y, x + 33);
                        char tmp_val[160];
 
                        /* Prompt */
-#ifdef JP
-                       (void) strnfmt(tmp_val, 78, "%sの魔法を唱えますか?", monster_powers[spellnum[i]].name);
-#else
-                       (void)strnfmt(tmp_val, 78, "Use %s? ", monster_powers[spellnum[i]].name);
-#endif
-
+                       (void) strnfmt(tmp_val, 78, _("%sの魔法を唱えますか?", "Use %s? "), monster_powers[spellnum[i]].name);
 
                        /* Belay that order */
                        if (!get_check(tmp_val)) continue;
@@ -1513,12 +1479,7 @@ bool do_cmd_cast_learned(void)
        /* not if confused */
        if (p_ptr->confused)
        {
-#ifdef JP
-msg_print("混乱していて唱えられない!");
-#else
-               msg_print("You are too confused!");
-#endif
-
+               msg_print(_("混乱していて唱えられない!", "You are too confused!"));
                return TRUE;
        }
 
@@ -1533,22 +1494,12 @@ msg_print("混乱していて唱えられない!");
        if (need_mana > p_ptr->csp)
        {
                /* Warning */
-#ifdef JP
-msg_print("MPが足りません。");
-#else
-               msg_print("You do not have enough mana to use this power.");
-#endif
-
+               msg_print(_("MPが足りません。", "You do not have enough mana to use this power."));
 
                if (!over_exert) return FALSE;
 
                /* Verify */
-#ifdef JP
-if (!get_check("それでも挑戦しますか? ")) return FALSE;
-#else
-               if (!get_check("Attempt it anyway? ")) return FALSE;
-#endif
-
+               if (!get_check(_("それでも挑戦しますか? ", "Attempt it anyway? "))) return FALSE;
        }
 
        /* Spell failure chance */
@@ -1588,11 +1539,7 @@ if (!get_check("それでも挑戦しますか? ")) return FALSE;
        if (randint0(100) < chance)
        {
                if (flush_failure) flush();
-#ifdef JP
-msg_print("魔法をうまく唱えられなかった。");
-#else
-               msg_print("You failed to concentrate hard enough!");
-#endif
+               msg_print(_("魔法をうまく唱えられなかった。", "You failed to concentrate hard enough!"));
 
                sound(SOUND_FAIL);
 
@@ -1625,12 +1572,7 @@ msg_print("魔法をうまく唱えられなかった。");
                p_ptr->csp_frac = 0;
 
                /* Message */
-#ifdef JP
-msg_print("精神を集中しすぎて気を失ってしまった!");
-#else
-               msg_print("You faint from the effort!");
-#endif
-
+               msg_print(_("精神を集中しすぎて気を失ってしまった!", "You faint from the effort!"));
 
                /* Hack -- Bypass free action */
                (void)set_paralyzed(p_ptr->paralyzed + randint1(5 * oops + 1));
@@ -1643,12 +1585,7 @@ msg_print("精神を集中しすぎて気を失ってしまった!");
                        bool perm = (randint0(100) < 25);
 
                        /* Message */
-#ifdef JP
-msg_print("体を悪くしてしまった!");
-#else
-                       msg_print("You have damaged your health!");
-#endif
-
+                       msg_print(_("体を悪くしてしまった!", "You have damaged your health!"));
 
                        /* Reduce constitution */
                        (void)dec_stat(A_CON, 15 + randint1(10), perm);
@@ -1680,11 +1617,7 @@ void learn_spell(int monspell)
        if (randint1(p_ptr->lev + 70) > monster_powers[monspell].level + 40)
        {
                p_ptr->magic_num2[monspell] = 1;
-#ifdef JP
-               msg_format("%sを学習した!", monster_powers[monspell].name);
-#else
-               msg_format("You have learned %s!", monster_powers[monspell].name);
-#endif
+               msg_format(_("%sを学習した!", "You have learned %s!"), monster_powers[monspell].name);
                gain_exp(monster_powers[monspell].level * monster_powers[monspell].smana);
 
                /* Sound */
index 525d94a..84261c7 100644 (file)
@@ -1999,12 +1999,7 @@ void do_cmd_knowledge_mutations(void)
        my_fclose(fff);
 
        /* Display the file contents */
-#ifdef JP
-show_file(TRUE, file_name, "突然変異", 0, 0);
-#else
-       show_file(TRUE, file_name, "Mutations", 0, 0);
-#endif
-
+       show_file(TRUE, file_name, _("突然変異", "Mutations"), 0, 0);
 
        /* Remove the file */
        fd_kill(file_name);
@@ -2230,11 +2225,7 @@ bool mutation_power_aux(u32b power)
                                }
                                else if (have_flag(f_ptr->flags, FF_PERMANENT))
                                {
-#ifdef JP
-                                       msg_format("いてっ!この%sはあなたの歯より硬い!", f_name + mimic_f_ptr->name);
-#else
-                                       msg_format("Ouch!  This %s is harder than your teeth!", f_name + mimic_f_ptr->name);
-#endif
+                                       msg_format(_("いてっ!この%sはあなたの歯より硬い!", "Ouch!  This %s is harder than your teeth!"), f_name + mimic_f_ptr->name);
                                        break;
                                }
                                else if (c_ptr->m_idx)
@@ -2265,11 +2256,7 @@ bool mutation_power_aux(u32b power)
                                }
                                else
                                {
-#ifdef JP
-                                       msg_format("この%sはとてもおいしい!", f_name + mimic_f_ptr->name);
-#else
-                                       msg_format("This %s is very filling!", f_name + mimic_f_ptr->name);
-#endif
+                                       msg_format(_("この%sはとてもおいしい!", "This %s is very filling!"), f_name + mimic_f_ptr->name);
                                        (void)set_food(p_ptr->food + 10000);
                                }
 
@@ -2325,11 +2312,7 @@ bool mutation_power_aux(u32b power)
                        break;
 
                case MUT1_POLYMORPH:
-#ifdef JP
-                       if (!get_check("変身します。よろしいですか?")) return FALSE;
-#else
-                       if (!get_check("You will polymorph your self. Are you sure? ")) return FALSE;
-#endif
+                       if (!get_check(_("変身します。よろしいですか?", "You will polymorph your self. Are you sure? "))) return FALSE;
                        do_poly_self();
                        break;
 
@@ -2523,12 +2506,7 @@ bool mutation_power_aux(u32b power)
 
                default:
                        energy_use = 0;
-#ifdef JP
-                       msg_format("能力 %s は実装されていません。", power);
-#else
-                       msg_format("Power %s not implemented. Oops.", power);
-#endif
-
+                       msg_format(_("能力 %s は実装されていません。", "Power %s not implemented. Oops."), power);
        }
 
        return TRUE;
index 8dd3870..c56c0c5 100644 (file)
@@ -479,11 +479,7 @@ cptr item_activation(object_type *o_ptr)
        object_flags(o_ptr, flgs);
 
        /* Require activation ability */
-#ifdef JP
-       if (!(have_flag(flgs, TR_ACTIVATE))) return ("なし");
-#else
-       if (!(have_flag(flgs, TR_ACTIVATE))) return ("nothing");
-#endif
+       if (!(have_flag(flgs, TR_ACTIVATE))) return (_("なし", "nothing"));
 
        /* Get an explain of an activation */
        if (activation_index(o_ptr))
@@ -494,28 +490,16 @@ cptr item_activation(object_type *o_ptr)
        /* Special items */
        if (o_ptr->tval == TV_WHISTLE)
        {
-#ifdef JP
-return "ペット呼び寄せ : 100+d100ターン毎";
-#else
-               return "call pet every 100+d100 turns";
-#endif
+               return _("ペット呼び寄せ : 100+d100ターン毎", "call pet every 100+d100 turns");
        }
 
        if (o_ptr->tval == TV_CAPTURE)
        {
-#ifdef JP
-return "モンスターを捕える、又は解放する。";
-#else
-               return "captures or releases a monster.";
-#endif
+               return _("モンスターを捕える、又は解放する。", "captures or releases a monster.");
        }
 
        /* Oops */
-#ifdef JP
-       return "何も起きない";
-#else
-       return "Nothing";
-#endif
+       return _("何も起きない", "Nothing");
 }
 
 
@@ -562,112 +546,57 @@ bool screen_object(object_type *o_ptr, u32b mode)
        /* Mega-Hack -- describe activation */
        if (have_flag(flgs, TR_ACTIVATE))
        {
-#ifdef JP
-info[i++] = "始動したときの効果...";
-#else
-               info[i++] = "It can be activated for...";
-#endif
-
+               info[i++] = _("始動したときの効果...", "It can be activated for...");
                info[i++] = item_activation(o_ptr);
-#ifdef JP
-info[i++] = "...ただし装備していなければならない。";
-#else
-               info[i++] = "...if it is being worn.";
-#endif
-
+               info[i++] = _("...ただし装備していなければならない。", "...if it is being worn.");
        }
 
        /* Figurines, a hack */
        if (o_ptr->tval == TV_FIGURINE)
        {
-#ifdef JP
-info[i++] = "それは投げた時ペットに変化する。";
-#else
-               info[i++] = "It will transform into a pet when thrown.";
-#endif
-
+               info[i++] = _("それは投げた時ペットに変化する。", "It will transform into a pet when thrown.");
        }
 
        /* Figurines, a hack */
        if (o_ptr->name1 == ART_STONEMASK)
        {
-#ifdef JP
-info[i++] = "それを装備した者は吸血鬼になる。";
-#else
-               info[i++] = "It makes you turn into a vampire permanently.";
-#endif
-
+               info[i++] = _("それを装備した者は吸血鬼になる。", "It makes you turn into a vampire permanently.");
        }
 
        if ((o_ptr->tval == TV_SWORD) && (o_ptr->sval == SV_DOKUBARI))
        {
-#ifdef JP
-info[i++] = "それは相手を一撃で倒すことがある。";
-#else
-               info[i++] = "It will attempt to kill a monster instantly.";
-#endif
-
+               info[i++] = _("それは相手を一撃で倒すことがある。", "It will attempt to kill a monster instantly.");
        }
 
        if ((o_ptr->tval == TV_POLEARM) && (o_ptr->sval == SV_DEATH_SCYTHE))
        {
-#ifdef JP
-info[i++] = "それは自分自身に攻撃が返ってくることがある。";
-#else
-               info[i++] = "It causes you to strike yourself sometimes.";
-#endif
-
-#ifdef JP
-info[i++] = "それは無敵のバリアを切り裂く。";
-#else
-               info[i++] = "It always penetrates invulnerability barriers.";
-#endif
+               info[i++] = _("それは自分自身に攻撃が返ってくることがある。", "It causes you to strike yourself sometimes.");
+               info[i++] = _("それは無敵のバリアを切り裂く。", "It always penetrates invulnerability barriers.");
        }
 
        if (o_ptr->name2 == EGO_2WEAPON)
        {
-#ifdef JP
-info[i++] = "それは二刀流での命中率を向上させる。";
-#else
-               info[i++] = "It affects your ability to hit when you are wielding two weapons.";
-#endif
-
+               info[i++] = _("それは二刀流での命中率を向上させる。", "It affects your ability to hit when you are wielding two weapons.");
        }
 
        if (have_flag(flgs, TR_EASY_SPELL))
        {
-#ifdef JP
-info[i++] = "それは魔法の難易度を下げる。";
-#else
-               info[i++] = "It affects your ability to cast spells.";
-#endif
+               info[i++] = _("それは魔法の難易度を下げる。", "It affects your ability to cast spells.");
        }
 
        if (o_ptr->name2 == EGO_AMU_FOOL)
        {
-#ifdef JP
-info[i++] = "それは魔法の難易度を上げる。";
-#else
-               info[i++] = "It interferes with casting spells.";
-#endif
+               info[i++] = _("それは魔法の難易度を上げる。", "It interferes with casting spells.");
        }
 
        if (o_ptr->name2 == EGO_RING_THROW)
        {
-#ifdef JP
-info[i++] = "それは物を強く投げることを可能にする。";
-#else
-               info[i++] = "It provides great strength when you throw an item.";
-#endif
+               info[i++] = _("それは物を強く投げることを可能にする。", "It provides great strength when you throw an item.");
        }
 
        if (o_ptr->name2 == EGO_AMU_NAIVETY)
        {
-#ifdef JP
-info[i++] = "それは魔法抵抗力を下げる。";
-#else
-               info[i++] = "It decreases your magic resistance.";
-#endif
+               info[i++] = _("それは魔法抵抗力を下げる。", "It decreases your magic resistance.");
        }
 
        if (o_ptr->tval == TV_STATUE)
@@ -675,23 +604,11 @@ info[i++] = "それは魔法抵抗力を下げる。";
                monster_race *r_ptr = &r_info[o_ptr->pval];
 
                if (o_ptr->pval == MON_BULLGATES)
-#ifdef JP
-                       info[i++] = "それは部屋に飾ると恥ずかしい。";
-#else
-                       info[i++] = "It is shameful.";
-#endif
+                       info[i++] = _("それは部屋に飾ると恥ずかしい。", "It is shameful.");
                else if ( r_ptr->flags2 & (RF2_ELDRITCH_HORROR))
-#ifdef JP
-                       info[i++] = "それは部屋に飾ると恐い。";
-#else
-               info[i++] = "It is fearful.";
-#endif
+                       info[i++] = _("それは部屋に飾ると恐い。", "It is fearful.");
                else
-#ifdef JP
-                       info[i++] = "それは部屋に飾ると楽しい。";
-#else
-               info[i++] = "It is cheerful.";
-#endif
+                       info[i++] = _("それは部屋に飾ると楽しい。", "It is cheerful.");
        }
        
        /* Hack -- describe lite's */
@@ -731,691 +648,326 @@ info[i++] = "それは魔法抵抗力を下げる。";
        if (have_flag(flgs, TR_RIDING))
        {
                if ((o_ptr->tval == TV_POLEARM) && ((o_ptr->sval == SV_LANCE) || (o_ptr->sval == SV_HEAVY_LANCE)))
-#ifdef JP
-info[i++] = "それは乗馬中は非常に使いやすい。";
-#else
-                       info[i++] = "It is made for use while riding.";
-#endif
+                       info[i++] = _("それは乗馬中は非常に使いやすい。", "It is made for use while riding.");
                else
                {
-#ifdef JP
-                       info[i++] = "それは乗馬中でも使いやすい。";
-#else
-                       info[i++] = "It is suitable for use while riding.";
-#endif
+                       info[i++] = _("それは乗馬中でも使いやすい。", "It is suitable for use while riding.");
                        /* This information is not important enough */
                        trivial_info++;
                }
        }
        if (have_flag(flgs, TR_STR))
        {
-#ifdef JP
-info[i++] = "それは腕力に影響を及ぼす。";
-#else
-               info[i++] = "It affects your strength.";
-#endif
-
+               info[i++] = _("それは腕力に影響を及ぼす。", "It affects your strength.");
        }
        if (have_flag(flgs, TR_INT))
        {
-#ifdef JP
-info[i++] = "それは知能に影響を及ぼす。";
-#else
-               info[i++] = "It affects your intelligence.";
-#endif
-
+               info[i++] = _("それは知能に影響を及ぼす。", "It affects your intelligence.");
        }
        if (have_flag(flgs, TR_WIS))
        {
-#ifdef JP
-info[i++] = "それは賢さに影響を及ぼす。";
-#else
-               info[i++] = "It affects your wisdom.";
-#endif
-
+               info[i++] = _("それは賢さに影響を及ぼす。", "It affects your wisdom.");
        }
        if (have_flag(flgs, TR_DEX))
        {
-#ifdef JP
-info[i++] = "それは器用さに影響を及ぼす。";
-#else
-               info[i++] = "It affects your dexterity.";
-#endif
-
+               info[i++] = _("それは器用さに影響を及ぼす。", "It affects your dexterity.");
        }
        if (have_flag(flgs, TR_CON))
        {
-#ifdef JP
-info[i++] = "それは耐久力に影響を及ぼす。";
-#else
-               info[i++] = "It affects your constitution.";
-#endif
-
+               info[i++] = _("それは耐久力に影響を及ぼす。", "It affects your constitution.");
        }
        if (have_flag(flgs, TR_CHR))
        {
-#ifdef JP
-info[i++] = "それは魅力に影響を及ぼす。";
-#else
-               info[i++] = "It affects your charisma.";
-#endif
-
+               info[i++] = _("それは魅力に影響を及ぼす。", "It affects your charisma.");
        }
 
        if (have_flag(flgs, TR_MAGIC_MASTERY))
        {
-#ifdef JP
-info[i++] = "それは魔法道具使用能力に影響を及ぼす。";
-#else
-               info[i++] = "It affects your ability to use magic devices.";
-#endif
+               info[i++] = _("それは魔法道具使用能力に影響を及ぼす。", "It affects your ability to use magic devices.");
 
        }
        if (have_flag(flgs, TR_STEALTH))
        {
-#ifdef JP
-info[i++] = "それは隠密行動能力に影響を及ぼす。";
-#else
-               info[i++] = "It affects your stealth.";
-#endif
-
+               info[i++] = _("それは隠密行動能力に影響を及ぼす。", "It affects your stealth.");
        }
        if (have_flag(flgs, TR_SEARCH))
        {
-#ifdef JP
-info[i++] = "それは探索能力に影響を及ぼす。";
-#else
-               info[i++] = "It affects your searching.";
-#endif
-
+               info[i++] = _("それは探索能力に影響を及ぼす。", "It affects your searching.");
        }
        if (have_flag(flgs, TR_INFRA))
        {
-#ifdef JP
-info[i++] = "それは赤外線視力に影響を及ぼす。";
-#else
-               info[i++] = "It affects your infravision.";
-#endif
-
+               info[i++] = _("それは赤外線視力に影響を及ぼす。", "It affects your infravision.");
        }
        if (have_flag(flgs, TR_TUNNEL))
        {
-#ifdef JP
-info[i++] = "それは採掘能力に影響を及ぼす。";
-#else
-               info[i++] = "It affects your ability to tunnel.";
-#endif
-
+               info[i++] = _("それは採掘能力に影響を及ぼす。", "It affects your ability to tunnel.");
        }
        if (have_flag(flgs, TR_SPEED))
        {
-#ifdef JP
-info[i++] = "それはスピードに影響を及ぼす。";
-#else
-               info[i++] = "It affects your speed.";
-#endif
-
+               info[i++] = _("それはスピードに影響を及ぼす。", "It affects your speed.");
        }
        if (have_flag(flgs, TR_BLOWS))
        {
-#ifdef JP
-info[i++] = "それは打撃回数に影響を及ぼす。";
-#else
-               info[i++] = "It affects your attack speed.";
-#endif
-
+               info[i++] = _("それは打撃回数に影響を及ぼす。", "It affects your attack speed.");
        }
 
        if (have_flag(flgs, TR_BRAND_ACID))
        {
-#ifdef JP
-info[i++] = "それは酸によって大きなダメージを与える。";
-#else
-               info[i++] = "It does extra damage from acid.";
-#endif
-
+               info[i++] = _("それは酸によって大きなダメージを与える。", "It does extra damage from acid.");
        }
        if (have_flag(flgs, TR_BRAND_ELEC))
        {
-#ifdef JP
-info[i++] = "それは電撃によって大きなダメージを与える。";
-#else
-               info[i++] = "It does extra damage from electricity.";
-#endif
-
+               info[i++] = _("それは電撃によって大きなダメージを与える。", "It does extra damage from electricity.");
        }
        if (have_flag(flgs, TR_BRAND_FIRE))
        {
-#ifdef JP
-info[i++] = "それは火炎によって大きなダメージを与える。";
-#else
-               info[i++] = "It does extra damage from fire.";
-#endif
-
+               info[i++] = _("それは火炎によって大きなダメージを与える。", "It does extra damage from fire.");
        }
        if (have_flag(flgs, TR_BRAND_COLD))
        {
-#ifdef JP
-info[i++] = "それは冷気によって大きなダメージを与える。";
-#else
-               info[i++] = "It does extra damage from frost.";
-#endif
-
+               info[i++] = _("それは冷気によって大きなダメージを与える。", "It does extra damage from frost.");
        }
 
        if (have_flag(flgs, TR_BRAND_POIS))
        {
-#ifdef JP
-info[i++] = "それは敵を毒する。";
-#else
-               info[i++] = "It poisons your foes.";
-#endif
-
+               info[i++] = _("それは敵を毒する。", "It poisons your foes.");
        }
 
        if (have_flag(flgs, TR_CHAOTIC))
        {
-#ifdef JP
-info[i++] = "それはカオス的な効果を及ぼす。";
-#else
-               info[i++] = "It produces chaotic effects.";
-#endif
-
+               info[i++] = _("それはカオス的な効果を及ぼす。", "It produces chaotic effects.");
        }
 
        if (have_flag(flgs, TR_VAMPIRIC))
        {
-#ifdef JP
-info[i++] = "それは敵から生命力を吸収する。";
-#else
-               info[i++] = "It drains life from your foes.";
-#endif
-
+               info[i++] = _("それは敵から生命力を吸収する。", "It drains life from your foes.");
        }
 
        if (have_flag(flgs, TR_IMPACT))
        {
-#ifdef JP
-info[i++] = "それは地震を起こすことができる。";
-#else
-               info[i++] = "It can cause earthquakes.";
-#endif
-
+               info[i++] = _("それは地震を起こすことができる。", "It can cause earthquakes.");
        }
 
        if (have_flag(flgs, TR_VORPAL))
        {
-#ifdef JP
-info[i++] = "それは非常に切れ味が鋭く敵を切断することができる。";
-#else
-               info[i++] = "It is very sharp and can cut your foes.";
-#endif
-
+               info[i++] = _("それは非常に切れ味が鋭く敵を切断することができる。", "It is very sharp and can cut your foes.");
        }
 
        if (have_flag(flgs, TR_KILL_DRAGON))
        {
-#ifdef JP
-info[i++] = "それはドラゴンにとっての天敵である。";
-#else
-               info[i++] = "It is a great bane of dragons.";
-#endif
-
+               info[i++] = _("それはドラゴンにとっての天敵である。", "It is a great bane of dragons.");
        }
        else if (have_flag(flgs, TR_SLAY_DRAGON))
        {
-#ifdef JP
-info[i++] = "それはドラゴンに対して特に恐るべき力を発揮する。";
-#else
-               info[i++] = "It is especially deadly against dragons.";
-#endif
-
+               info[i++] = _("それはドラゴンに対して特に恐るべき力を発揮する。", "It is especially deadly against dragons.");
        }
 
        if (have_flag(flgs, TR_KILL_ORC))
        {
-#ifdef JP
-info[i++] = "それはオークにとっての天敵である。";
-#else
-               info[i++] = "It is a great bane of orcs.";
-#endif
-
+               info[i++] = _("それはオークにとっての天敵である。", "It is a great bane of orcs.");
        }
        if (have_flag(flgs, TR_SLAY_ORC))
        {
-#ifdef JP
-info[i++] = "それはオークに対して特に恐るべき力を発揮する。";
-#else
-               info[i++] = "It is especially deadly against orcs.";
-#endif
-
+               info[i++] = _("それはオークに対して特に恐るべき力を発揮する。", "It is especially deadly against orcs.");
        }
 
        if (have_flag(flgs, TR_KILL_TROLL))
        {
-#ifdef JP
-info[i++] = "それはトロルにとっての天敵である。";
-#else
-               info[i++] = "It is a great bane of trolls.";
-#endif
-
+               info[i++] = _("それはトロルにとっての天敵である。", "It is a great bane of trolls.");
        }
        if (have_flag(flgs, TR_SLAY_TROLL))
        {
-#ifdef JP
-info[i++] = "それはトロルに対して特に恐るべき力を発揮する。";
-#else
-               info[i++] = "It is especially deadly against trolls.";
-#endif
-
+               info[i++] = _("それはトロルに対して特に恐るべき力を発揮する。", "It is especially deadly against trolls.");
        }
 
        if (have_flag(flgs, TR_KILL_GIANT))
        {
-#ifdef JP
-info[i++] = "それは巨人にとっての天敵である。";
-#else
-               info[i++] = "It is a great bane of giants.";
-#endif
+               info[i++] = _("それは巨人にとっての天敵である。", "It is a great bane of giants.");
        }
        else if (have_flag(flgs, TR_SLAY_GIANT))
        {
-#ifdef JP
-info[i++] = "それはジャイアントに対して特に恐るべき力を発揮する。";
-#else
-               info[i++] = "It is especially deadly against giants.";
-#endif
-
+               info[i++] = _("それはジャイアントに対して特に恐るべき力を発揮する。", "It is especially deadly against giants.");
        }
 
        if (have_flag(flgs, TR_KILL_DEMON))
        {
-#ifdef JP
-info[i++] = "それはデーモンにとっての天敵である。";
-#else
-               info[i++] = "It is a great bane of demons.";
-#endif
-
+               info[i++] = _("それはデーモンにとっての天敵である。", "It is a great bane of demons.");
        }
        if (have_flag(flgs, TR_SLAY_DEMON))
        {
-#ifdef JP
-info[i++] = "それはデーモンに対して聖なる力を発揮する。";
-#else
-               info[i++] = "It strikes at demons with holy wrath.";
-#endif
-
+               info[i++] = _("それはデーモンに対して聖なる力を発揮する。", "It strikes at demons with holy wrath.");
        }
 
        if (have_flag(flgs, TR_KILL_UNDEAD))
        {
-#ifdef JP
-info[i++] = "それはアンデッドにとっての天敵である。";
-#else
-               info[i++] = "It is a great bane of undead.";
-#endif
-
+               info[i++] = _("それはアンデッドにとっての天敵である。", "It is a great bane of undead.");
        }
        if (have_flag(flgs, TR_SLAY_UNDEAD))
        {
-#ifdef JP
-info[i++] = "それはアンデッドに対して聖なる力を発揮する。";
-#else
-               info[i++] = "It strikes at undead with holy wrath.";
-#endif
-
+               info[i++] = _("それはアンデッドに対して聖なる力を発揮する。", "It strikes at undead with holy wrath.");
        }
 
        if (have_flag(flgs, TR_KILL_EVIL))
        {
-#ifdef JP
-info[i++] = "それは邪悪なる存在にとっての天敵である。";
-#else
-               info[i++] = "It is a great bane of evil monsters.";
-#endif
-
+               info[i++] = _("それは邪悪なる存在にとっての天敵である。", "It is a great bane of evil monsters.");
        }
        if (have_flag(flgs, TR_SLAY_EVIL))
        {
-#ifdef JP
-info[i++] = "それは邪悪なる存在に対して聖なる力で攻撃する。";
-#else
-               info[i++] = "It fights against evil with holy fury.";
-#endif
-
+               info[i++] = _("それは邪悪なる存在に対して聖なる力で攻撃する。", "It fights against evil with holy fury.");
        }
 
        if (have_flag(flgs, TR_KILL_ANIMAL))
        {
-#ifdef JP
-info[i++] = "それは自然界の動物にとっての天敵である。";
-#else
-               info[i++] = "It is a great bane of natural creatures.";
-#endif
-
+               info[i++] = _("それは自然界の動物にとっての天敵である。", "It is a great bane of natural creatures.");
        }
        if (have_flag(flgs, TR_SLAY_ANIMAL))
        {
-#ifdef JP
-info[i++] = "それは自然界の動物に対して特に恐るべき力を発揮する。";
-#else
-               info[i++] = "It is especially deadly against natural creatures.";
-#endif
-
+               info[i++] = _("それは自然界の動物に対して特に恐るべき力を発揮する。", "It is especially deadly against natural creatures.");
        }
 
        if (have_flag(flgs, TR_KILL_HUMAN))
        {
-#ifdef JP
-info[i++] = "それは人間にとっての天敵である。";
-#else
-               info[i++] = "It is a great bane of humans.";
-#endif
-
+               info[i++] = _("それは人間にとっての天敵である。", "It is a great bane of humans.");
        }
        if (have_flag(flgs, TR_SLAY_HUMAN))
        {
-#ifdef JP
-info[i++] = "それは人間に対して特に恐るべき力を発揮する。";
-#else
-               info[i++] = "It is especially deadly against humans.";
-#endif
-
+               info[i++] = _("それは人間に対して特に恐るべき力を発揮する。", "It is especially deadly against humans.");
        }
 
        if (have_flag(flgs, TR_FORCE_WEAPON))
        {
-#ifdef JP
-info[i++] = "それは使用者の魔力を使って攻撃する。";
-#else
-               info[i++] = "It powerfully strikes at a monster using your mana.";
-#endif
-
+               info[i++] = _("それは使用者の魔力を使って攻撃する。", "It powerfully strikes at a monster using your mana.");
        }
        if (have_flag(flgs, TR_DEC_MANA))
        {
-#ifdef JP
-info[i++] = "それは魔力の消費を押さえる。";
-#else
-               info[i++] = "It decreases your mana consumption.";
-#endif
-
+               info[i++] = _("それは魔力の消費を押さえる。", "It decreases your mana consumption.");
        }
        if (have_flag(flgs, TR_SUST_STR))
        {
-#ifdef JP
-info[i++] = "それはあなたの腕力を維持する。";
-#else
-               info[i++] = "It sustains your strength.";
-#endif
-
+               info[i++] = _("それはあなたの腕力を維持する。", "It sustains your strength.");
        }
        if (have_flag(flgs, TR_SUST_INT))
        {
-#ifdef JP
-info[i++] = "それはあなたの知能を維持する。";
-#else
-               info[i++] = "It sustains your intelligence.";
-#endif
-
+               info[i++] = _("それはあなたの知能を維持する。", "It sustains your intelligence.");
        }
        if (have_flag(flgs, TR_SUST_WIS))
        {
-#ifdef JP
-info[i++] = "それはあなたの賢さを維持する。";
-#else
-               info[i++] = "It sustains your wisdom.";
-#endif
-
+               info[i++] = _("それはあなたの賢さを維持する。", "It sustains your wisdom.");
        }
        if (have_flag(flgs, TR_SUST_DEX))
        {
-#ifdef JP
-info[i++] = "それはあなたの器用さを維持する。";
-#else
-               info[i++] = "It sustains your dexterity.";
-#endif
-
+               info[i++] = _("それはあなたの器用さを維持する。", "It sustains your dexterity.");
        }
        if (have_flag(flgs, TR_SUST_CON))
        {
-#ifdef JP
-info[i++] = "それはあなたの耐久力を維持する。";
-#else
-               info[i++] = "It sustains your constitution.";
-#endif
-
+               info[i++] = _("それはあなたの耐久力を維持する。", "It sustains your constitution.");
        }
        if (have_flag(flgs, TR_SUST_CHR))
        {
-#ifdef JP
-info[i++] = "それはあなたの魅力を維持する。";
-#else
-               info[i++] = "It sustains your charisma.";
-#endif
-
+               info[i++] = _("それはあなたの魅力を維持する。", "It sustains your charisma.");
        }
 
        if (have_flag(flgs, TR_IM_ACID))
        {
-#ifdef JP
-info[i++] = "それは酸に対する完全な免疫を授ける。";
-#else
-               info[i++] = "It provides immunity to acid.";
-#endif
-
+               info[i++] = _("それは酸に対する完全な免疫を授ける。", "It provides immunity to acid.");
        }
        if (have_flag(flgs, TR_IM_ELEC))
        {
-#ifdef JP
-info[i++] = "それは電撃に対する完全な免疫を授ける。";
-#else
-               info[i++] = "It provides immunity to electricity.";
-#endif
-
+               info[i++] = _("それは電撃に対する完全な免疫を授ける。", "It provides immunity to electricity.");
        }
        if (have_flag(flgs, TR_IM_FIRE))
        {
-#ifdef JP
-info[i++] = "それは火に対する完全な免疫を授ける。";
-#else
-               info[i++] = "It provides immunity to fire.";
-#endif
-
+               info[i++] = _("それは火に対する完全な免疫を授ける。", "It provides immunity to fire.");
        }
        if (have_flag(flgs, TR_IM_COLD))
        {
-#ifdef JP
-info[i++] = "それは寒さに対する完全な免疫を授ける。";
-#else
-               info[i++] = "It provides immunity to cold.";
-#endif
-
+               info[i++] = _("それは寒さに対する完全な免疫を授ける。", "It provides immunity to cold.");
        }
 
        if (have_flag(flgs, TR_THROW))
        {
-#ifdef JP
-info[i++] = "それは敵に投げて大きなダメージを与えることができる。";
-#else
-               info[i++] = "It is perfectly balanced for throwing.";
-#endif
+               info[i++] = _("それは敵に投げて大きなダメージを与えることができる。", "It is perfectly balanced for throwing.");
        }
 
        if (have_flag(flgs, TR_FREE_ACT))
        {
-#ifdef JP
-info[i++] = "それは麻痺に対する完全な免疫を授ける。";
-#else
-               info[i++] = "It provides immunity to paralysis.";
-#endif
-
+               info[i++] = _("それは麻痺に対する完全な免疫を授ける。", "It provides immunity to paralysis.");
        }
        if (have_flag(flgs, TR_HOLD_EXP))
        {
-#ifdef JP
-info[i++] = "それは経験値吸収に対する耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to experience draining.";
-#endif
-
+               info[i++] = _("それは経験値吸収に対する耐性を授ける。", "It provides resistance to experience draining.");
        }
        if (have_flag(flgs, TR_RES_FEAR))
        {
-#ifdef JP
-info[i++] = "それは恐怖への完全な耐性を授ける。";
-#else
-               info[i++] = "It makes you completely fearless.";
-#endif
-
+               info[i++] = _("それは恐怖への完全な耐性を授ける。", "It makes you completely fearless.");
        }
        if (have_flag(flgs, TR_RES_ACID))
        {
-#ifdef JP
-info[i++] = "それは酸への耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to acid.";
-#endif
-
+               info[i++] = _("それは酸への耐性を授ける。", "It provides resistance to acid.");
        }
        if (have_flag(flgs, TR_RES_ELEC))
        {
-#ifdef JP
-info[i++] = "それは電撃への耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to electricity.";
-#endif
-
+               info[i++] = _("それは電撃への耐性を授ける。", "It provides resistance to electricity.");
        }
        if (have_flag(flgs, TR_RES_FIRE))
        {
-#ifdef JP
-info[i++] = "それは火への耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to fire.";
-#endif
-
+               info[i++] = _("それは火への耐性を授ける。", "It provides resistance to fire.");
        }
        if (have_flag(flgs, TR_RES_COLD))
        {
-#ifdef JP
-info[i++] = "それは寒さへの耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to cold.";
-#endif
-
+               info[i++] = _("それは寒さへの耐性を授ける。", "It provides resistance to cold.");
        }
        if (have_flag(flgs, TR_RES_POIS))
        {
-#ifdef JP
-info[i++] = "それは毒への耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to poison.";
-#endif
-
+               info[i++] = _("それは毒への耐性を授ける。", "It provides resistance to poison.");
        }
 
        if (have_flag(flgs, TR_RES_LITE))
        {
-#ifdef JP
-info[i++] = "それは閃光への耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to light.";
-#endif
-
+               info[i++] = _("それは閃光への耐性を授ける。", "It provides resistance to light.");
        }
        if (have_flag(flgs, TR_RES_DARK))
        {
-#ifdef JP
-info[i++] = "それは暗黒への耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to dark.";
-#endif
-
+               info[i++] = _("それは暗黒への耐性を授ける。", "It provides resistance to dark.");
        }
 
        if (have_flag(flgs, TR_RES_BLIND))
        {
-#ifdef JP
-info[i++] = "それは盲目への耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to blindness.";
-#endif
-
+               info[i++] = _("それは盲目への耐性を授ける。", "It provides resistance to blindness.");
        }
        if (have_flag(flgs, TR_RES_CONF))
        {
-#ifdef JP
-info[i++] = "それは混乱への耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to confusion.";
-#endif
-
+               info[i++] = _("それは混乱への耐性を授ける。", "It provides resistance to confusion.");
        }
        if (have_flag(flgs, TR_RES_SOUND))
        {
-#ifdef JP
-info[i++] = "それは轟音への耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to sound.";
-#endif
-
+               info[i++] = _("それは轟音への耐性を授ける。", "It provides resistance to sound.");
        }
        if (have_flag(flgs, TR_RES_SHARDS))
        {
-#ifdef JP
-info[i++] = "それは破片への耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to shards.";
-#endif
-
+               info[i++] = _("それは破片への耐性を授ける。", "It provides resistance to shards.");
        }
 
        if (have_flag(flgs, TR_RES_NETHER))
        {
-#ifdef JP
-info[i++] = "それは地獄への耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to nether.";
-#endif
-
+               info[i++] = _("それは地獄への耐性を授ける。", "It provides resistance to nether.");
        }
        if (have_flag(flgs, TR_RES_NEXUS))
        {
-#ifdef JP
-info[i++] = "それは因果混乱への耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to nexus.";
-#endif
-
+               info[i++] = _("それは因果混乱への耐性を授ける。", "It provides resistance to nexus.");
        }
        if (have_flag(flgs, TR_RES_CHAOS))
        {
-#ifdef JP
-info[i++] = "それはカオスへの耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to chaos.";
-#endif
-
+               info[i++] = _("それはカオスへの耐性を授ける。", "It provides resistance to chaos.");
        }
        if (have_flag(flgs, TR_RES_DISEN))
        {
-#ifdef JP
-info[i++] = "それは劣化への耐性を授ける。";
-#else
-               info[i++] = "It provides resistance to disenchantment.";
-#endif
-
+               info[i++] = _("それは劣化への耐性を授ける。", "It provides resistance to disenchantment.");
        }
 
        if (have_flag(flgs, TR_LEVITATION))
        {
-#ifdef JP
-info[i++] = "それは宙に浮くことを可能にする。";
-#else
-               info[i++] = "It allows you to levitate.";
-#endif
-
+               info[i++] = _("それは宙に浮くことを可能にする。", "It allows you to levitate.");
        }
                
        if (have_flag(flgs, TR_SEE_INVIS))
@@ -1424,147 +976,67 @@ info[i++] = "それは宙に浮くことを可能にする。";
        }
        if (have_flag(flgs, TR_TELEPATHY))
        {
-#ifdef JP
-info[i++] = "それはテレパシー能力を授ける。";
-#else
-               info[i++] = "It gives telepathic powers.";
-#endif
-
+               info[i++] = _("それはテレパシー能力を授ける。", "It gives telepathic powers.");
        }
        if (have_flag(flgs, TR_ESP_ANIMAL))
        {
-#ifdef JP
-info[i++] = "それは自然界の生物を感知する。";
-#else
-               info[i++] = "It senses natural creatures.";
-#endif
-
+               info[i++] = _("それは自然界の生物を感知する。", "It senses natural creatures.");
        }
        if (have_flag(flgs, TR_ESP_UNDEAD))
        {
-#ifdef JP
-info[i++] = "それはアンデッドを感知する。";
-#else
-               info[i++] = "It senses undead.";
-#endif
-
+               info[i++] = _("それはアンデッドを感知する。", "It senses undead.");
        }
        if (have_flag(flgs, TR_ESP_DEMON))
        {
-#ifdef JP
-info[i++] = "それは悪魔を感知する。";
-#else
-               info[i++] = "It senses demons.";
-#endif
-
+               info[i++] = _("それは悪魔を感知する。", "It senses demons.");
        }
        if (have_flag(flgs, TR_ESP_ORC))
        {
-#ifdef JP
-info[i++] = "それはオークを感知する。";
-#else
-               info[i++] = "It senses orcs.";
-#endif
-
+               info[i++] = _("それはオークを感知する。", "It senses orcs.");
        }
        if (have_flag(flgs, TR_ESP_TROLL))
        {
-#ifdef JP
-info[i++] = "それはトロルを感知する。";
-#else
-               info[i++] = "It senses trolls.";
-#endif
-
+               info[i++] = _("それはトロルを感知する。", "It senses trolls.");
        }
        if (have_flag(flgs, TR_ESP_GIANT))
        {
-#ifdef JP
-info[i++] = "それは巨人を感知する。";
-#else
-               info[i++] = "It senses giants.";
-#endif
-
+               info[i++] = _("それは巨人を感知する。", "It senses giants.");
        }
        if (have_flag(flgs, TR_ESP_DRAGON))
        {
-#ifdef JP
-info[i++] = "それはドラゴンを感知する。";
-#else
-               info[i++] = "It senses dragons.";
-#endif
-
+               info[i++] = _("それはドラゴンを感知する。", "It senses dragons.");
        }
        if (have_flag(flgs, TR_ESP_HUMAN))
        {
-#ifdef JP
-info[i++] = "それは人間を感知する。";
-#else
-               info[i++] = "It senses humans.";
-#endif
-
+               info[i++] = _("それは人間を感知する。", "It senses humans.");
        }
        if (have_flag(flgs, TR_ESP_EVIL))
        {
-#ifdef JP
-info[i++] = "それは邪悪な存在を感知する。";
-#else
-               info[i++] = "It senses evil creatures.";
-#endif
-
+               info[i++] = _("それは邪悪な存在を感知する。", "It senses evil creatures.");
        }
        if (have_flag(flgs, TR_ESP_GOOD))
        {
-#ifdef JP
-info[i++] = "それは善良な存在を感知する。";
-#else
-               info[i++] = "It senses good creatures.";
-#endif
-
+               info[i++] = _("それは善良な存在を感知する。", "It senses good creatures.");
        }
        if (have_flag(flgs, TR_ESP_NONLIVING))
        {
-#ifdef JP
-info[i++] = "それは活動する無生物体を感知する。";
-#else
-               info[i++] = "It senses non-living creatures.";
-#endif
-
+               info[i++] = _("それは活動する無生物体を感知する。", "It senses non-living creatures.");
        }
        if (have_flag(flgs, TR_ESP_UNIQUE))
        {
-#ifdef JP
-info[i++] = "それは特別な強敵を感知する。";
-#else
-               info[i++] = "It senses unique monsters.";
-#endif
-
+               info[i++] = _("それは特別な強敵を感知する。", "It senses unique monsters.");
        }
        if (have_flag(flgs, TR_SLOW_DIGEST))
        {
-#ifdef JP
-info[i++] = "それはあなたの新陳代謝を遅くする。";
-#else
-               info[i++] = "It slows your metabolism.";
-#endif
-
+               info[i++] = _("それはあなたの新陳代謝を遅くする。", "It slows your metabolism.");
        }
        if (have_flag(flgs, TR_REGEN))
        {
-#ifdef JP
-info[i++] = "それは体力回復力を強化する。";
-#else
-               info[i++] = "It speeds your regenerative powers.";
-#endif
-
+               info[i++] = _("それは体力回復力を強化する。", "It speeds your regenerative powers.");
        }
        if (have_flag(flgs, TR_WARNING))
        {
-#ifdef JP
-info[i++] = "それは危険に対して警告を発する。";
-#else
-               info[i++] = "It warns you of danger";
-#endif
-
+               info[i++] = _("それは危険に対して警告を発する。", "It warns you of danger");
        }
        if (have_flag(flgs, TR_REFLECT))
        {
@@ -1580,87 +1052,43 @@ info[i++] = "それは危険に対して警告を発する。";
        }
        if (have_flag(flgs, TR_SH_COLD))
        {
-#ifdef JP
-info[i++] = "それは冷気のバリアを張る。";
-#else
-               info[i++] = "It produces a sheath of coldness.";
-#endif
-
+               info[i++] = _("それは冷気のバリアを張る。", "It produces a sheath of coldness.");
        }
        if (have_flag(flgs, TR_NO_MAGIC))
        {
-#ifdef JP
-info[i++] = "それは反魔法バリアを張る。";
-#else
-               info[i++] = "It produces an anti-magic shell.";
-#endif
-
+               info[i++] = _("それは反魔法バリアを張る。", "It produces an anti-magic shell.");
        }
        if (have_flag(flgs, TR_NO_TELE))
        {
-#ifdef JP
-info[i++] = "それはテレポートを邪魔する。";
-#else
-               info[i++] = "It prevents teleportation.";
-#endif
-
+               info[i++] = _("それはテレポートを邪魔する。", "It prevents teleportation.");
        }
        if (have_flag(flgs, TR_XTRA_MIGHT))
-       {
-#ifdef JP
-info[i++] = "それは矢/ボルト/弾をより強力に発射することができる。";
-#else
-               info[i++] = "It fires missiles with extra might.";
-#endif
-
+       {
+               info[i++] = _("それは矢/ボルト/弾をより強力に発射することができる。", "It fires missiles with extra might.");
        }
        if (have_flag(flgs, TR_XTRA_SHOTS))
        {
-#ifdef JP
-info[i++] = "それは矢/ボルト/弾を非常に早く発射することができる。";
-#else
-               info[i++] = "It fires missiles excessively fast.";
-#endif
-
+               info[i++] = _("それは矢/ボルト/弾を非常に早く発射することができる。", "It fires missiles excessively fast.");
        }
 
        if (have_flag(flgs, TR_BLESSED))
        {
-#ifdef JP
-info[i++] = "それは神に祝福されている。";
-#else
-               info[i++] = "It has been blessed by the gods.";
-#endif
-
+               info[i++] = _("それは神に祝福されている。", "It has been blessed by the gods.");
        }
 
        if (object_is_cursed(o_ptr))
        {
                if (o_ptr->curse_flags & TRC_PERMA_CURSE)
                {
-#ifdef JP
-info[i++] = "それは永遠の呪いがかけられている。";
-#else
-                       info[i++] = "It is permanently cursed.";
-#endif
-
+                       info[i++] = _("それは永遠の呪いがかけられている。", "It is permanently cursed.");
                }
                else if (o_ptr->curse_flags & TRC_HEAVY_CURSE)
                {
-#ifdef JP
-info[i++] = "それは強力な呪いがかけられている。";
-#else
-                       info[i++] = "It is heavily cursed.";
-#endif
-
+                       info[i++] = _("それは強力な呪いがかけられている。", "It is heavily cursed.");
                }
                else
                {
-#ifdef JP
-info[i++] = "それは呪われている。";
-#else
-                       info[i++] = "It is cursed.";
-#endif
+                       info[i++] = _("それは呪われている。", "It is cursed.");
 
                        /*
                         * It's a trivial infomation since there is
@@ -1752,18 +1180,10 @@ info[i++] = "それは呪われている。";
                        switch (o_ptr->sval)
                        {
                        case SV_RING_LORDLY:
-#ifdef JP
-                               info[i++] = "それは幾つかのランダムな耐性を授ける。";
-#else
-                               info[i++] = "It provides some random resistances.";
-#endif
+                               info[i++] = _("それは幾つかのランダムな耐性を授ける。", "It provides some random resistances.");
                                break;
                        case SV_RING_WARNING:
-#ifdef JP
-                               info[i++] = "それはひとつの低級なESPを授ける事がある。";
-#else
-                               info[i++] = "It may provide a low rank ESP.";
-#endif
+                               info[i++] = _("それはひとつの低級なESPを授ける事がある。", "It may provide a low rank ESP.");
                                break;
                        }
                        break;
@@ -1772,23 +1192,11 @@ info[i++] = "それは呪われている。";
                        switch (o_ptr->sval)
                        {
                        case SV_AMULET_RESISTANCE:
-#ifdef JP
-                               info[i++] = "それは毒への耐性を授ける事がある。";
-#else
-                               info[i++] = "It may provides resistance to poison.";
-#endif
-#ifdef JP
-                               info[i++] = "それはランダムな耐性を授ける事がある。";
-#else
-                               info[i++] = "It may provide a random resistances.";
-#endif
+                               info[i++] = _("それは毒への耐性を授ける事がある。", "It may provides resistance to poison.");
+                               info[i++] = _("それはランダムな耐性を授ける事がある。", "It may provide a random resistances.");
                                break;
                        case SV_AMULET_THE_MAGI:
-#ifdef JP
-                               info[i++] = "それは最大で3つまでの低級なESPを授ける。";
-#else
-                               info[i++] = "It provides up to three low rank ESPs.";
-#endif
+                               info[i++] = _("それは最大で3つまでの低級なESPを授ける。", "It provides up to three low rank ESPs.");
                                break;
                        }
                        break;
@@ -1800,45 +1208,25 @@ info[i++] = "それは呪われている。";
            have_flag(flgs, TR_IGNORE_FIRE) &&
            have_flag(flgs, TR_IGNORE_COLD))
        {
-#ifdef JP
-               info[i++] = "それは酸・電撃・火炎・冷気では傷つかない。";
-#else
-               info[i++] = "It cannot be harmed by the elements.";
-#endif
+               info[i++] = _("それは酸・電撃・火炎・冷気では傷つかない。", "It cannot be harmed by the elements.");
        }
        else
        {
                if (have_flag(flgs, TR_IGNORE_ACID))
                {
-#ifdef JP
-                       info[i++] = "それは酸では傷つかない。";
-#else
-                       info[i++] = "It cannot be harmed by acid.";
-#endif
+                       info[i++] = _("それは酸では傷つかない。", "It cannot be harmed by acid.");
                }
                if (have_flag(flgs, TR_IGNORE_ELEC))
                {
-#ifdef JP
-                       info[i++] = "それは電撃では傷つかない。";
-#else
-                       info[i++] = "It cannot be harmed by electricity.";
-#endif
+                       info[i++] = _("それは電撃では傷つかない。", "It cannot be harmed by electricity.");
                }
                if (have_flag(flgs, TR_IGNORE_FIRE))
                {
-#ifdef JP
-                       info[i++] = "それは火炎では傷つかない。";
-#else
-                       info[i++] = "It cannot be harmed by fire.";
-#endif
+                       info[i++] = _("それは火炎では傷つかない。", "It cannot be harmed by fire.");
                }
                if (have_flag(flgs, TR_IGNORE_COLD))
                {
-#ifdef JP
-                       info[i++] = "それは冷気では傷つかない。";
-#else
-                       info[i++] = "It cannot be harmed by cold.";
-#endif
+                       info[i++] = _("それは冷気では傷つかない。", "It cannot be harmed by cold.");
                }
        }
 
@@ -1874,11 +1262,9 @@ info[i++] = "それは呪われている。";
                prt("'", 1, (use_bigtile ? 20 : 19) + namelen);
        }
        else
-#ifdef JP
-prt("     アイテムの能力:", 1, 15);
-#else
-       prt("     Item Attributes:", 1, 15);
-#endif
+       {
+               prt(_("     アイテムの能力:", "     Item Attributes:"), 1, 15);
+       }
 
        /* We will print on top of the map (column 13) */
        for (k = 2, j = 0; j < i; j++)
@@ -1889,22 +1275,14 @@ prt("     アイテムの能力:", 1, 15);
                /* Every 20 entries (lines 2 to 21), start over */
                if ((k == hgt - 2) && (j+1 < i))
                {
-#ifdef JP
-prt("-- 続く --", k, 15);
-#else
-                       prt("-- more --", k, 15);
-#endif
+                       prt(_("-- 続く --", "-- more --"), k, 15);
                        inkey();
                        for (; k > 2; k--) prt("", k, 15);
                }
        }
 
        /* Wait for it */
-#ifdef JP
-prt("[何かキーを押すとゲームに戻ります]", k, 15);
-#else
-       prt("[Press any key to continue]", k, 15);
-#endif
+       prt(_("[何かキーを押すとゲームに戻ります]", "[Press any key to continue]"), k, 15);
 
        inkey();
 
@@ -2129,53 +1507,14 @@ cptr mention_use(int i)
                case INVEN_LEFT:  p = (left_hander ? "On right hand" : "On left hand"); break;
 #endif
 
-#ifdef JP
-               case INVEN_NECK:  p = "  首"; break;
-#else
-               case INVEN_NECK:  p = "Around neck"; break;
-#endif
-
-#ifdef JP
-               case INVEN_LITE:  p = " 光源"; break;
-#else
-               case INVEN_LITE:  p = "Light source"; break;
-#endif
-
-#ifdef JP
-               case INVEN_BODY:  p = "  体"; break;
-#else
-               case INVEN_BODY:  p = "On body"; break;
-#endif
-
-#ifdef JP
-               case INVEN_OUTER: p = "体の上"; break;
-#else
-               case INVEN_OUTER: p = "About body"; break;
-#endif
-
-#ifdef JP
-               case INVEN_HEAD:  p = "  頭"; break;
-#else
-               case INVEN_HEAD:  p = "On head"; break;
-#endif
-
-#ifdef JP
-               case INVEN_HANDS: p = "  手"; break;
-#else
-               case INVEN_HANDS: p = "On hands"; break;
-#endif
-
-#ifdef JP
-               case INVEN_FEET:  p = "  足"; break;
-#else
-               case INVEN_FEET:  p = "On feet"; break;
-#endif
-
-#ifdef JP
-               default:          p = "ザック"; break;
-#else
-               default:          p = "In pack"; break;
-#endif
+               case INVEN_NECK:  p = _("  首", "Around neck"); break;
+               case INVEN_LITE:  p = _(" 光源", "Light source"); break;
+               case INVEN_BODY:  p = _("  体", "On body"); break;
+               case INVEN_OUTER: p = _("体の上", "About body"); break;
+               case INVEN_HEAD:  p = _("  頭", "On head"); break;
+               case INVEN_HANDS: p = _("  手", "On hands"); break;
+               case INVEN_FEET:  p = _("  足", "On feet"); break;
+               default:          p = _("ザック", "In pack"); break;
        }
 
        /* Return the result */
@@ -2227,53 +1566,14 @@ cptr describe_use(int i)
                case INVEN_LEFT:  p = (left_hander ? "wearing on your right hand" : "wearing on your left hand"); break;
 #endif
 
-#ifdef JP
-               case INVEN_NECK:  p = "首にかけている"; break;
-#else
-               case INVEN_NECK:  p = "wearing around your neck"; break;
-#endif
-
-#ifdef JP
-               case INVEN_LITE:  p = "光源にしている"; break;
-#else
-               case INVEN_LITE:  p = "using to light the way"; break;
-#endif
-
-#ifdef JP
-               case INVEN_BODY:  p = "体に着ている"; break;
-#else
-               case INVEN_BODY:  p = "wearing on your body"; break;
-#endif
-
-#ifdef JP
-               case INVEN_OUTER: p = "身にまとっている"; break;
-#else
-               case INVEN_OUTER: p = "wearing on your back"; break;
-#endif
-
-#ifdef JP
-               case INVEN_HEAD:  p = "頭にかぶっている"; break;
-#else
-               case INVEN_HEAD:  p = "wearing on your head"; break;
-#endif
-
-#ifdef JP
-               case INVEN_HANDS: p = "手につけている"; break;
-#else
-               case INVEN_HANDS: p = "wearing on your hands"; break;
-#endif
-
-#ifdef JP
-               case INVEN_FEET:  p = "足にはいている"; break;
-#else
-               case INVEN_FEET:  p = "wearing on your feet"; break;
-#endif
-
-#ifdef JP
-               default:          p = "ザックに入っている"; break;
-#else
-               default:          p = "carrying in your pack"; break;
-#endif
+               case INVEN_NECK:  p = _("首にかけている", "wearing around your neck"); break;
+               case INVEN_LITE:  p = _("光源にしている", "using to light the way"); break;
+               case INVEN_BODY:  p = _("体に着ている", "wearing on your body"); break;
+               case INVEN_OUTER: p = _("身にまとっている", "wearing on your back"); break;
+               case INVEN_HEAD:  p = _("頭にかぶっている", "wearing on your head"); break;
+               case INVEN_HANDS: p = _("手につけている", "wearing on your hands"); break;
+               case INVEN_FEET:  p = _("足にはいている", "wearing on your feet"); break;
+               default:          p = _("ザックに入っている", "carrying in your pack"); break;
        }
 
        /* Return the result */
@@ -2487,11 +1787,7 @@ void display_equip(void)
                /* Obtain an item description */
                if ((((i == INVEN_RARM) && p_ptr->hidarite) || ((i == INVEN_LARM) && p_ptr->migite)) && p_ptr->ryoute)
                {
-#ifdef JP
-                       strcpy(o_name, "(武器を両手持ち)");
-#else
-                       strcpy(o_name, "(wielding with two-hands)");
-#endif
+                       strcpy(o_name, _("(武器を両手持ち)", "(wielding with two-hands)"));
                        attr = TERM_WHITE;
                }
                else
@@ -2945,11 +2241,7 @@ int show_inven(int target_item)
                {
                        if (j == (target_item-1))
                        {
-#ifdef JP
-                               strcpy(tmp_val, "》");
-#else
-                               strcpy(tmp_val, "> ");
-#endif
+                               strcpy(tmp_val, _("》", "> "));
                                target_item_label = i;
                        }
                        else strcpy(tmp_val, "  ");
@@ -3132,11 +2424,7 @@ int show_equip(int target_item)
                {
                        if (j == (target_item-1))
                        {
-#ifdef JP
-                               strcpy(tmp_val, "》");
-#else
-                               strcpy(tmp_val, "> ");
-#endif
+                               strcpy(tmp_val, _("》", "> "));
                                target_item_label = i;
                        }
                        else strcpy(tmp_val, "  ");
@@ -3177,20 +2465,12 @@ int show_equip(int target_item)
                if (show_labels)
                {
                        /* Mention the use */
-#ifdef JP
-                       (void)sprintf(tmp_val, "%-7s: ", mention_use(i));
-#else
-                       (void)sprintf(tmp_val, "%-14s: ", mention_use(i));
-#endif
+                       (void)sprintf(tmp_val, _("%-7s: ", "%-14s: "), mention_use(i));
 
                        put_str(tmp_val, j+1, cur_col);
 
                        /* Display the entry itself */
-#ifdef JP
-                       c_put_str(out_color[j], out_desc[j], j+1, cur_col + 9);
-#else
-                       c_put_str(out_color[j], out_desc[j], j+1, cur_col + 16);
-#endif
+                       c_put_str(out_color[j], out_desc[j], j+1, _(cur_col + 9, cur_col + 16));
                }
 
                /* No labels */
@@ -3293,12 +2573,7 @@ static bool verify(cptr prompt, int item)
        object_desc(o_name, o_ptr, 0);
 
        /* Prompt */
-#ifdef JP
-(void)sprintf(out_val, "%s%sですか? ", prompt, o_name);
-#else
-       (void)sprintf(out_val, "%s %s? ", prompt, o_name);
-#endif
-
+       (void)sprintf(out_val, _("%s%sですか? ", "%s %s? "), prompt, o_name);
 
        /* Query */
        return (get_check(out_val));
@@ -3345,12 +2620,7 @@ static bool get_item_allow(int item)
                if ((s[1] == command_cmd) || (s[1] == '*'))
                {
                        /* Verify the choice */
-#ifdef JP
-if (!verify("本当に", item)) return (FALSE);
-#else
-                       if (!verify("Really try", item)) return (FALSE);
-#endif
-
+                       if (!verify(_("本当に", "Really try"), item)) return (FALSE);
                }
 
                /* Find another '!' */
@@ -3779,21 +3049,13 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode)
                if (!command_wrk)
                {
                        /* Begin the prompt */
-#ifdef JP
-                       sprintf(out_val, "持ち物:");
-#else
-                       sprintf(out_val, "Inven:");
-#endif
+                       sprintf(out_val, _("持ち物:", "Inven:"));
 
                        /* Some legal items */
                        if ((i1 <= i2) && !use_menu)
                        {
                                /* Build the prompt */
-#ifdef JP
-                               sprintf(tmp_val, "%c-%c,'(',')',",
-#else
-                               sprintf(tmp_val, " %c-%c,'(',')',",
-#endif
+                               sprintf(tmp_val, _("%c-%c,'(',')',", " %c-%c,'(',')',"),
                                        index_to_label(i1), index_to_label(i2));
 
                                /* Append */
@@ -3801,11 +3063,7 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode)
                        }
 
                        /* Indicate ability to "view" */
-#ifdef JP
-                       if (!command_see && !use_menu) strcat(out_val, " '*'一覧,");
-#else
-                       if (!command_see && !use_menu) strcat(out_val, " * to see,");
-#endif
+                       if (!command_see && !use_menu) strcat(out_val, _(" '*'一覧,", " * to see,"));
 
                        /* Append */
 #ifdef JP
@@ -3819,21 +3077,13 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode)
                else
                {
                        /* Begin the prompt */
-#ifdef JP
-                       sprintf(out_val, "装備品:");
-#else
-                       sprintf(out_val, "Equip:");
-#endif
+                       sprintf(out_val, _("装備品:", "Equip:"));
 
                        /* Some legal items */
                        if ((e1 <= e2) && !use_menu)
                        {
                                /* Build the prompt */
-#ifdef JP
-                               sprintf(tmp_val, "%c-%c,'(',')',",
-#else
-                               sprintf(tmp_val, " %c-%c,'(',')',",
-#endif
+                               sprintf(tmp_val, _("%c-%c,'(',')',", " %c-%c,'(',')',"),
                                        index_to_label(e1), index_to_label(e2));
 
                                /* Append */
@@ -3841,11 +3091,7 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode)
                        }
 
                        /* Indicate ability to "view" */
-#ifdef JP
-                       if (!command_see && !use_menu) strcat(out_val, " '*'一覧,");
-#else
-                       if (!command_see) strcat(out_val, " * to see,");
-#endif
+                       if (!command_see && !use_menu) strcat(out_val, _(" '*'一覧,", " * to see,"));
 
                        /* Append */
 #ifdef JP
@@ -3856,13 +3102,8 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode)
                }
 
                /* Indicate legality of the "floor" item */
-#ifdef JP
-               if (allow_floor) strcat(out_val, " '-'床上,");
-               if (select_the_force) strcat(out_val, " 'w'練気術,");
-#else
-               if (allow_floor) strcat(out_val, " - for floor,");
-               if (select_the_force) strcat(out_val, " w for the Force,");
-#endif
+               if (allow_floor) strcat(out_val, _(" '-'床上,", " - for floor,"));
+               if (select_the_force) strcat(out_val, _(" 'w'練気術,", " w for the Force,"));
 
                /* Finish the prompt */
                strcat(out_val, " ESC");
@@ -4071,12 +3312,7 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode)
                                                k = 0 - this_o_idx;
 
                                                /* Verify the item (if required) */
-#ifdef JP
-if (other_query_flag && !verify("本当に", k)) continue;
-#else
-                                               if (other_query_flag && !verify("Try", k)) continue;
-#endif
-
+                                               if (other_query_flag && !verify(_("本当に", "Try"), k)) continue;
 
                                                /* Allow player to "refuse" certain actions */
                                                if (!get_item_allow(k)) continue;
@@ -4253,12 +3489,7 @@ if (other_query_flag && !verify("本当に", k)) continue;
                                }
 
                                /* Verify the item */
-#ifdef JP
-if (ver && !verify("本当に", k))
-#else
-                               if (ver && !verify("Try", k))
-#endif
-
+                               if (ver && !verify(_("本当に", "Try"), k))
                                {
                                        done = TRUE;
                                        break;
@@ -4492,11 +3723,7 @@ int show_floor(int target_item, int y, int x, int *min_width)
                {
                        if (j == (target_item-1))
                        {
-#ifdef JP
-                               strcpy(tmp_val, "》");
-#else
-                               strcpy(tmp_val, "> ");
-#endif
+                               strcpy(tmp_val, _("》", "> "));
                                target_item_label = i;
                        }
                        else strcpy(tmp_val, "   ");
@@ -4886,20 +4113,12 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode)
                if (command_wrk == (USE_INVEN))
                {
                        /* Begin the prompt */
-#ifdef JP
-                       sprintf(out_val, "持ち物:");
-#else
-                       sprintf(out_val, "Inven:");
-#endif
+                       sprintf(out_val, _("持ち物:", "Inven:"));
 
                        if (!use_menu)
                        {
                                /* Build the prompt */
-#ifdef JP
-                               sprintf(tmp_val, "%c-%c,'(',')',",
-#else
-                               sprintf(tmp_val, " %c-%c,'(',')',",
-#endif
+                               sprintf(tmp_val, _("%c-%c,'(',')',", " %c-%c,'(',')',"),
                                        index_to_label(i1), index_to_label(i2));
 
                                /* Append */
@@ -4907,11 +4126,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode)
                        }
 
                        /* Indicate ability to "view" */
-#ifdef JP
-                       if (!command_see && !use_menu) strcat(out_val, " '*'一覧,");
-#else
-                       if (!command_see && !use_menu) strcat(out_val, " * to see,");
-#endif
+                       if (!command_see && !use_menu) strcat(out_val, _(" '*'一覧,", " * to see,"));
 
                        /* Append */
                        if (allow_equip)
@@ -4958,20 +4173,12 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode)
                else if (command_wrk == (USE_EQUIP))
                {
                        /* Begin the prompt */
-#ifdef JP
-                       sprintf(out_val, "装備品:");
-#else
-                       sprintf(out_val, "Equip:");
-#endif
+                       sprintf(out_val, _("装備品:", "Equip:"));
 
                        if (!use_menu)
                        {
                                /* Build the prompt */
-#ifdef JP
-                               sprintf(tmp_val, "%c-%c,'(',')',",
-#else
-                               sprintf(tmp_val, " %c-%c,'(',')',",
-#endif
+                               sprintf(tmp_val, _("%c-%c,'(',')',", " %c-%c,'(',')',"),
                                        index_to_label(e1), index_to_label(e2));
 
                                /* Append */
@@ -4979,11 +4186,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode)
                        }
 
                        /* Indicate ability to "view" */
-#ifdef JP
-                       if (!command_see && !use_menu) strcat(out_val, " '*'一覧,");
-#else
-                       if (!command_see && !use_menu) strcat(out_val, " * to see,");
-#endif
+                       if (!command_see && !use_menu) strcat(out_val, _(" '*'一覧,", " * to see,"));
 
                        /* Append */
                        if (allow_inven)
@@ -5030,94 +4233,54 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode)
                else if (command_wrk == (USE_FLOOR))
                {
                        /* Begin the prompt */
-#ifdef JP
-                       sprintf(out_val, "床上:");
-#else
-                       sprintf(out_val, "Floor:");
-#endif
+                       sprintf(out_val, _("床上:", "Floor:"));
 
                        if (!use_menu)
                        {
                                /* Build the prompt */
-#ifdef JP
-                               sprintf(tmp_val, "%c-%c,'(',')',", n1, n2);
-#else
-                               sprintf(tmp_val, " %c-%c,'(',')',", n1, n2);
-#endif
+                               sprintf(tmp_val, _("%c-%c,'(',')',", " %c-%c,'(',')',"), n1, n2);
 
                                /* Append */
                                strcat(out_val, tmp_val);
                        }
 
                        /* Indicate ability to "view" */
-#ifdef JP
-                       if (!command_see && !use_menu) strcat(out_val, " '*'一覧,");
-#else
-                       if (!command_see && !use_menu) strcat(out_val, " * to see,");
-#endif
+                       if (!command_see && !use_menu) strcat(out_val, _(" '*'一覧,", " * to see,"));
 
                        if (use_menu)
                        {
                                if (allow_inven && allow_equip)
                                {
-#ifdef JP
-                                       strcat(out_val, " '4' 装備品, '6' 持ち物,");
-#else
-                                       strcat(out_val, " 4 for Equip, 6 for Inven,");
-#endif
+                                       strcat(out_val, _(" '4' 装備品, '6' 持ち物,", " 4 for Equip, 6 for Inven,"));
                                }
                                else if (allow_inven)
                                {
-#ifdef JP
-                                       strcat(out_val, " '4'or'6' 持ち物,");
-#else
-                                       strcat(out_val, " 4 or 6 for Inven,");
-#endif
+                                       strcat(out_val, _(" '4'or'6' 持ち物,", " 4 or 6 for Inven,"));
                                }
                                else if (allow_equip)
                                {
-#ifdef JP
-                                       strcat(out_val, " '4'or'6' 装備品,");
-#else
-                                       strcat(out_val, " 4 or 6 for Equip,");
-#endif
+                                       strcat(out_val, _(" '4'or'6' 装備品,", " 4 or 6 for Equip,"));
                                }
                        }
                        /* Append */
                        else if (allow_inven)
                        {
-#ifdef JP
-                               strcat(out_val, " '/' 持ち物,");
-#else
-                               strcat(out_val, " / for Inven,");
-#endif
+                               strcat(out_val, _(" '/' 持ち物,", " / for Inven,"));
                        }
                        else if (allow_equip)
                        {
-#ifdef JP
-                               strcat(out_val, " '/'装備品,");
-#else
-                               strcat(out_val, " / for Equip,");
-#endif
+                               strcat(out_val, _(" '/'装備品,", " / for Equip,"));
                        }
 
                        /* Append */
                        if (command_see && !use_menu)
                        {
-#ifdef JP
-                               strcat(out_val, " Enter 次,");
-#else
-                               strcat(out_val, " Enter for scroll down,");
-#endif
+                               strcat(out_val, _(" Enter 次,", " Enter for scroll down,"));
                        }
                }
 
                /* Append */
-#ifdef JP
-               if (select_the_force) strcat(out_val, " 'w'練気術,");
-#else
-               if (select_the_force) strcat(out_val, " w for the Force,");
-#endif
+               if (select_the_force) strcat(out_val, _(" 'w'練気術,", " w for the Force,"));
 
                /* Finish the prompt */
                strcat(out_val, " ESC");
@@ -5749,12 +4912,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode)
                                }
 
                                /* Verify the item */
-#ifdef JP
-if (ver && !verify("本当に", k))
-#else
-                               if (ver && !verify("Try", k))
-#endif
-
+                               if (ver && !verify(_("本当に", "Try"), k))
                                {
                                        done = TRUE;
                                        break;
@@ -5842,13 +5000,8 @@ static bool py_pickup_floor_aux(void)
        item_tester_hook = inven_carry_okay;
 
        /* Get an object */
-#ifdef JP
-       q = "どれを拾いますか?";
-       s = "もうザックには床にあるどのアイテムも入らない。";
-#else
-       q = "Get which item? ";
-       s = "You no longer have any room for the objects on the floor.";
-#endif
+       q = _("どれを拾いますか?", "Get which item? ");
+       s = _("もうザックには床にあるどのアイテムも入らない。", "You no longer have any room for the objects on the floor.");
 
        if (get_item(&item, q, s, (USE_FLOOR)))
        {
@@ -5977,24 +5130,14 @@ void py_pickup_floor(bool pickup)
                        object_desc(o_name, o_ptr, 0);
 
                        /* Message */
-#ifdef JP
-                               msg_format("%sがある。", o_name);
-#else
-                       msg_format("You see %s.", o_name);
-#endif
-
+                       msg_format(_("%sがある。", "You see %s."), o_name);
                }
 
                /* Multiple objects */
                else
                {
                        /* Message */
-#ifdef JP
-                       msg_format("%d 個のアイテムの山がある。", floor_num);
-#else
-                       msg_format("You see a pile of %d items.", floor_num);
-#endif
-
+                       msg_format(_("%d 個のアイテムの山がある。", "You see a pile of %d items."), floor_num);
                }
 
                /* Done */
@@ -6025,23 +5168,14 @@ void py_pickup_floor(bool pickup)
                        object_desc(o_name, o_ptr, 0);
 
                        /* Message */
-#ifdef JP
-                               msg_format("ザックには%sを入れる隙間がない。", o_name);
-#else
-                       msg_format("You have no room for %s.", o_name);
-#endif
-
+                       msg_format(_("ザックには%sを入れる隙間がない。", "You have no room for %s."), o_name);
                }
 
                /* Multiple objects */
                else
                {
                        /* Message */
-#ifdef JP
-                       msg_format("ザックには床にあるどのアイテムも入らない。", o_name);
-#else
-                       msg_print("You have no room for any of the objects on the floor.");
-#endif
+                       msg_print(_("ザックには床にあるどのアイテムも入らない。", "You have no room for any of the objects on the floor."));
 
                }
 
@@ -6075,12 +5209,7 @@ void py_pickup_floor(bool pickup)
                        object_desc(o_name, o_ptr, 0);
 
                        /* Build a prompt */
-#ifdef JP
-                       (void) sprintf(out_val, "%sを拾いますか? ", o_name);
-#else
-                       (void) sprintf(out_val, "Pick up %s? ", o_name);
-#endif
-
+                       (void) sprintf(out_val, _("%sを拾いますか? ", "Pick up %s? "), o_name);
 
                        /* Ask the user to confirm */
                        if (!get_check(out_val))
index 65b687f..f9ccc6b 100644 (file)
@@ -342,12 +342,7 @@ void compact_objects(int size)
        if (size)
        {
                /* Message */
-#ifdef JP
-               msg_print("アイテム情報を圧縮しています...");
-#else
-               msg_print("Compacting objects...");
-#endif
-
+               msg_print(_("アイテム情報を圧縮しています...", "Compacting objects..."));
 
                /* Redraw map */
                p_ptr->redraw |= (PR_MAP);
@@ -565,12 +560,7 @@ s16b o_pop(void)
 
 
        /* Warn the player (except during dungeon creation) */
-#ifdef JP
-       if (character_dungeon) msg_print("アイテムが多すぎる!");
-#else
-       if (character_dungeon) msg_print("Too many objects!");
-#endif
-
+       if (character_dungeon) msg_print(_("アイテムが多すぎる!", "Too many objects!"));
 
        /* Oops */
        return (0);
@@ -1887,11 +1877,7 @@ s16b lookup_kind(int tval, int sval)
 
 #if 0
        /* Oops */
-#ifdef JP
-       msg_format("アイテムがない (%d,%d)", tval, sval);
-#else
-       msg_format("No object (%d,%d)", tval, sval);
-#endif
+       msg_format(_("アイテムがない (%d,%d)", "No object (%d,%d)"), tval, sval);
 #endif
 
 
@@ -2085,47 +2071,27 @@ static void object_mention(object_type *o_ptr)
        if (object_is_fixed_artifact(o_ptr))
        {
                /* Silly message */
-#ifdef JP
-               msg_format("伝説のアイテム (%s)", o_name);
-#else
-               msg_format("Artifact (%s)", o_name);
-#endif
-
+               msg_format(_("伝説のアイテム (%s)", "Artifact (%s)"), o_name);
        }
 
        /* Random Artifact */
        else if (o_ptr->art_name)
        {
-#ifdef JP
-               msg_print("ランダム・アーティファクト");
-#else
-               msg_print("Random artifact");
-#endif
-
+               msg_print(_("ランダム・アーティファクト", "Random artifact"));
        }
 
        /* Ego-item */
        else if (object_is_ego(o_ptr))
        {
                /* Silly message */
-#ifdef JP
-               msg_format("名のあるアイテム (%s)", o_name);
-#else
-               msg_format("Ego-item (%s)", o_name);
-#endif
-
+               msg_format(_("名のあるアイテム (%s)", "Ego-item (%s)"), o_name);
        }
 
        /* Normal item */
        else
        {
                /* Silly message */
-#ifdef JP
-               msg_format("アイテム (%s)", o_name);
-#else
-               msg_format("Object (%s)", o_name);
-#endif
-
+               msg_format(_("アイテム (%s)", "Object (%s)"), o_name);
        }
 }
 
@@ -4182,12 +4148,7 @@ static void a_m_aux_4(object_type *o_ptr, int level, int power)
 
                        if (cheat_peek)
                        {
-#ifdef JP
-                               msg_format("%sの人形, 深さ +%d%s",
-#else
-                               msg_format("Figurine of %s, depth +%d%s",
-#endif
-
+                               msg_format(_("%sの人形, 深さ +%d%s", "Figurine of %s, depth +%d%s"),
                                                          r_name + r_ptr->name, check - 1,
                                                          !object_is_cursed(o_ptr) ? "" : " {cursed}");
                        }
@@ -4241,12 +4202,7 @@ static void a_m_aux_4(object_type *o_ptr, int level, int power)
 
                        if (cheat_peek)
                        {
-#ifdef JP
-                               msg_format("%sの死体, 深さ +%d",
-#else
-                               msg_format("Corpse of %s, depth +%d",
-#endif
-
+                               msg_format(_("%sの死体, 深さ +%d", "Corpse of %s, depth +%d"),
                                                          r_name + r_ptr->name, check - 1);
                        }
 
@@ -4278,12 +4234,7 @@ static void a_m_aux_4(object_type *o_ptr, int level, int power)
 
                        if (cheat_peek)
                        {
-#ifdef JP
-                               msg_format("%sの像", r_name + r_ptr->name);
-#else
-                               msg_format("Statue of %s", r_name + r_ptr->name);
-#endif
-
+                               msg_format(_("%sの像", "Statue of %s"), r_name + r_ptr->name);
                        }
                        object_aware(o_ptr);
                        object_known(o_ptr);
@@ -5201,12 +5152,7 @@ s16b drop_near(object_type *j_ptr, int chance, int y, int x)
 
 
                /* Debug */
-#ifdef JP
-               if (p_ptr->wizard) msg_print("(破損)");
-#else
-               if (p_ptr->wizard) msg_print("(breakage)");
-#endif
-
+               if (p_ptr->wizard) msg_print(_("(破損)", "(breakage)"));
 
                /* Failure */
                return (0);
@@ -5318,12 +5264,7 @@ s16b drop_near(object_type *j_ptr, int chance, int y, int x)
 
 
                /* Debug */
-#ifdef JP
-               if (p_ptr->wizard) msg_print("(床スペースがない)");
-#else
-               if (p_ptr->wizard) msg_print("(no floor space)");
-#endif
-
+               if (p_ptr->wizard) msg_print(_("(床スペースがない)", "(no floor space)"));
 
                /* Failure */
                return (0);
@@ -5376,11 +5317,7 @@ s16b drop_near(object_type *j_ptr, int chance, int y, int x)
 #endif
 
                        /* Debug */
-#ifdef JP
-                       if (p_ptr->wizard) msg_print("(床スペースがない)");
-#else
-                       if (p_ptr->wizard) msg_print("(no floor space)");
-#endif
+                       if (p_ptr->wizard) msg_print(_("(床スペースがない)", "(no floor space)"));
 
                        /* Mega-Hack -- preserve artifacts */
                        if (preserve_mode)
@@ -5465,12 +5402,7 @@ s16b drop_near(object_type *j_ptr, int chance, int y, int x)
 
 
                /* Debug */
-#ifdef JP
-               if (p_ptr->wizard) msg_print("(アイテムが多過ぎる)");
-#else
-               if (p_ptr->wizard) msg_print("(too many objects)");
-#endif
-
+               if (p_ptr->wizard) msg_print(_("(アイテムが多過ぎる)", "(too many objects)"));
 
                /* Hack -- Preserve artifacts */
                if (object_is_fixed_artifact(j_ptr))
@@ -5521,12 +5453,7 @@ s16b drop_near(object_type *j_ptr, int chance, int y, int x)
        /* Message when an object falls under the player */
        if (chance && player_bold(by, bx))
        {
-#ifdef JP
-               msg_print("何かが足下に転がってきた。");
-#else
-               msg_print("You feel something roll beneath your feet.");
-#endif
-
+               msg_print(_("何かが足下に転がってきた。", "You feel something roll beneath your feet."));
        }
 
        /* XXX XXX XXX */
@@ -6456,45 +6383,25 @@ s16b inven_takeoff(int item, int amt)
        if (((item == INVEN_RARM) || (item == INVEN_LARM)) &&
            object_is_melee_weapon(o_ptr))
        {
-#ifdef JP
-               act = "を装備からはずした";
-#else
-               act = "You were wielding";
-#endif
-
+               act = _("を装備からはずした", "You were wielding");
        }
 
        /* Took off bow */
        else if (item == INVEN_BOW)
        {
-#ifdef JP
-               act = "を装備からはずした";
-#else
-               act = "You were holding";
-#endif
-
+               act = _("を装備からはずした", "You were holding");
        }
 
        /* Took off light */
        else if (item == INVEN_LITE)
        {
-#ifdef JP
-               act = "を光源からはずした";
-#else
-               act = "You were holding";
-#endif
-
+               act = _("を光源からはずした", "You were holding");
        }
 
        /* Took off something */
        else
        {
-#ifdef JP
-               act = "を装備からはずした";
-#else
-               act = "You were wearing";
-#endif
-
+               act = _("を装備からはずした", "You were wearing");
        }
 
        /* Modify, Optimize */
@@ -6573,12 +6480,7 @@ void inven_drop(int item, int amt)
        object_desc(o_name, q_ptr, 0);
 
        /* Message */
-#ifdef JP
-       msg_format("%s(%c)を落とした。", o_name, index_to_label(item));
-#else
-       msg_format("You drop %s (%c).", o_name, index_to_label(item));
-#endif
-
+       msg_format(_("%s(%c)を落とした。", "You drop %s (%c)."), o_name, index_to_label(item));
 
        /* Drop it near the player */
        (void)drop_near(q_ptr, 0, py, px);
@@ -6699,11 +6601,7 @@ void combine_pack(void)
        while (combined);
 
        /* Message */
-#ifdef JP
-       if (flag) msg_print("ザックの中のアイテムをまとめ直した。");
-#else
-       if (flag) msg_print("You combine some items in your pack.");
-#endif
+       if (flag) msg_print(_("ザックの中のアイテムをまとめ直した。", "You combine some items in your pack."));
 }
 
 /*!
@@ -6771,12 +6669,7 @@ void reorder_pack(void)
        }
 
        /* Message */
-#ifdef JP
-       if (flag) msg_print("ザックの中のアイテムを並べ直した。");
-#else
-       if (flag) msg_print("You reorder some items in your pack.");
-#endif
-
+       if (flag) msg_print(_("ザックの中のアイテムを並べ直した。", "You reorder some items in your pack."));
 }
 
 /*!
@@ -7864,22 +7757,15 @@ static void display_essence(void)
        {
                prt("",i,0);
        }
-#ifdef JP
-       prt("エッセンス   個数     エッセンス   個数     エッセンス   個数", 1, 8);
-#else
-       prt("Essence      Num      Essence      Num      Essence      Num ", 1, 8);
-#endif
+       prt(_("エッセンス   個数     エッセンス   個数     エッセンス   個数", 
+                 "Essence      Num      Essence      Num      Essence      Num "), 1, 8);
        for (i = 0; essence_name[i]; i++)
        {
                if (!essence_name[i][0]) continue;
                prt(format("%-11s %5d", essence_name[i], p_ptr->magic_num1[i]), 2+num%21, 8+num/21*22);
                num++;
        }
-#ifdef JP
-       prt("現在所持しているエッセンス", 0, 0);
-#else
-       prt("List of all essences you have.", 0, 0);
-#endif
+       prt(_("現在所持しているエッセンス", "List of all essences you have."), 0, 0);
        (void)inkey();
        screen_load();
        return;
@@ -7909,13 +7795,8 @@ static void drain_essence(void)
        item_tester_no_ryoute = TRUE;
 
        /* Get an item */
-#ifdef JP
-       q = "どのアイテムから抽出しますか?";
-       s = "抽出できるアイテムがありません。";
-#else
-       q = "Extract from which item? ";
-       s = "You have nothing you can extract from.";
-#endif
+       q = _("どのアイテムから抽出しますか?", "Extract from which item? ");
+       s = _("抽出できるアイテムがありません。", "You have nothing you can extract from.");
 
        if (!get_item(&item, q, s, (USE_INVEN | USE_FLOOR))) return;
 
@@ -7935,11 +7816,7 @@ static void drain_essence(void)
        {
                char o_name[MAX_NLEN];
                object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
-#ifdef JP
-               if (!get_check(format("本当に%sから抽出してよろしいですか?", o_name))) return;
-#else
-               if (!get_check(format("Really extract from %s? ", o_name))) return;
-#endif
+               if (!get_check(format(_("本当に%sから抽出してよろしいですか?", "Really extract from %s? "), o_name))) return;
        }
 
        energy_use = 100;
@@ -8227,11 +8104,7 @@ static int choose_essence(void)
                        for (i = 0; i < mode_max; i++)
                                prt(format("  %c) %s", 'a' + i, menu_name[i]), 2 + i, 14);
 
-#ifdef JP
-                       if (!get_com("何を付加しますか:", &choice, TRUE))
-#else
-                       if (!get_com("Command :", &choice, TRUE))
-#endif
+                       if (!get_com(_("何を付加しますか:", "Command :"), &choice, TRUE))
                        {
                                screen_load();
                                return 0;
@@ -8294,11 +8167,7 @@ static void add_essence(int mode)
        redraw = FALSE;
 
        /* Build a prompt */
-#ifdef JP
-       (void) strnfmt(out_val, 78, "('*'で一覧, ESCで中断) どの能力を付加しますか?");
-#else
-       (void)strnfmt(out_val, 78, "(*=List, ESC=exit) Add which ability? ");
-#endif
+       (void) strnfmt(out_val, 78, _("('*'で一覧, ESCで中断) どの能力を付加しますか?", "(*=List, ESC=exit) Add which ability? "));
        if (use_menu) screen_save();
 
        /* Get a spell from the user */
@@ -8400,11 +8269,7 @@ static void add_essence(int mode)
                                        if (use_menu)
                                        {
                                                if (ctr == (menu_line-1))
-#ifdef JP
-                                                       strcpy(dummy, "》 ");
-#else
-                                                       strcpy(dummy, ">  ");
-#endif
+                                                       strcpy(dummy, _("》 ", ">  "));
                                                else strcpy(dummy, "   ");
                                                
                                        }
@@ -8429,49 +8294,29 @@ static void add_essence(int mode)
                                                switch(es_ptr->add)
                                                {
                                                case ESSENCE_SH_FIRE:
-#ifdef JP
-                                                       strcat(dummy, "(焼棄+耐火炎)");
-#else
-                                                       strcat(dummy, "(brand fire + res.fire)");
-#endif
+                                                       strcat(dummy, _("(焼棄+耐火炎)", "(brand fire + res.fire)"));
                                                        if (p_ptr->magic_num1[TR_BRAND_FIRE] < es_ptr->value) able[ctr] = FALSE;
                                                        if (p_ptr->magic_num1[TR_RES_FIRE] < es_ptr->value) able[ctr] = FALSE;
                                                        break;
                                                case ESSENCE_SH_ELEC:
-#ifdef JP
-                                                       strcat(dummy, "(電撃+耐電撃)");
-#else
-                                                       strcat(dummy, "(brand elec. + res. elec.)");
-#endif
+                                                       strcat(dummy, _("(電撃+耐電撃)", "(brand elec. + res. elec.)"));
                                                        if (p_ptr->magic_num1[TR_BRAND_ELEC] < es_ptr->value) able[ctr] = FALSE;
                                                        if (p_ptr->magic_num1[TR_RES_ELEC] < es_ptr->value) able[ctr] = FALSE;
                                                        break;
                                                case ESSENCE_SH_COLD:
-#ifdef JP
-                                                       strcat(dummy, "(凍結+耐冷気)");
-#else
-                                                       strcat(dummy, "(brand cold + res. cold)");
-#endif
+                                                       strcat(dummy, _("(凍結+耐冷気)", "(brand cold + res. cold)"));
                                                        if (p_ptr->magic_num1[TR_BRAND_COLD] < es_ptr->value) able[ctr] = FALSE;
                                                        if (p_ptr->magic_num1[TR_RES_COLD] < es_ptr->value) able[ctr] = FALSE;
                                                        break;
                                                case ESSENCE_RESISTANCE:
-#ifdef JP
-                                                       strcat(dummy, "(耐火炎+耐冷気+耐電撃+耐酸)");
-#else
-                                                       strcat(dummy, "(r.fire+r.cold+r.elec+r.acid)");
-#endif
+                                                       strcat(dummy, _("(耐火炎+耐冷気+耐電撃+耐酸)", "(r.fire+r.cold+r.elec+r.acid)"));
                                                        if (p_ptr->magic_num1[TR_RES_FIRE] < es_ptr->value) able[ctr] = FALSE;
                                                        if (p_ptr->magic_num1[TR_RES_COLD] < es_ptr->value) able[ctr] = FALSE;
                                                        if (p_ptr->magic_num1[TR_RES_ELEC] < es_ptr->value) able[ctr] = FALSE;
                                                        if (p_ptr->magic_num1[TR_RES_ACID] < es_ptr->value) able[ctr] = FALSE;
                                                        break;
                                                case ESSENCE_SUSTAIN:
-#ifdef JP
-                                                       strcat(dummy, "(耐火炎+耐冷気+耐電撃+耐酸)");
-#else
-                                                       strcat(dummy, "(r.fire+r.cold+r.elec+r.acid)");
-#endif
+                                                       strcat(dummy, _("(耐火炎+耐冷気+耐電撃+耐酸)", "(r.fire+r.cold+r.elec+r.acid)"));
                                                        if (p_ptr->magic_num1[TR_RES_FIRE] < es_ptr->value) able[ctr] = FALSE;
                                                        if (p_ptr->magic_num1[TR_RES_COLD] < es_ptr->value) able[ctr] = FALSE;
                                                        if (p_ptr->magic_num1[TR_RES_ELEC] < es_ptr->value) able[ctr] = FALSE;
@@ -8534,11 +8379,7 @@ static void add_essence(int mode)
                        char tmp_val[160];
 
                        /* Prompt */
-#ifdef JP
-                       (void) strnfmt(tmp_val, 78, "%sを付加しますか? ", essence_info[num[i]].add_name);
-#else
-                       (void) strnfmt(tmp_val, 78, "Add the abilitiy of %s? ", essence_info[num[i]].add_name);
-#endif
+                       (void) strnfmt(tmp_val, 78, _("%sを付加しますか? ", "Add the abilitiy of %s? "), essence_info[num[i]].add_name);
 
                        /* Belay that order */
                        if (!get_check(tmp_val)) continue;
@@ -8573,13 +8414,8 @@ static void add_essence(int mode)
        item_tester_no_ryoute = TRUE;
 
        /* Get an item */
-#ifdef JP
-       q = "どのアイテムを改良しますか?";
-       s = "改良できるアイテムがありません。";
-#else
-       q = "Improve which item? ";
-       s = "You have nothing to improve.";
-#endif
+       q = _("どのアイテムを改良しますか?", "Improve which item? ");
+       s = _("改良できるアイテムがありません。", "You have nothing to improve.");
 
        if (!get_item(&item, q, s, (USE_INVEN | USE_FLOOR))) return;
 
@@ -8597,11 +8433,7 @@ static void add_essence(int mode)
 
        if ((mode != 10) && (object_is_artifact(o_ptr) || object_is_smith(o_ptr)))
        {
-#ifdef JP
-               msg_print("そのアイテムはこれ以上改良できない。");
-#else
-               msg_print("This item is no more able to be improved.");
-#endif
+               msg_print(_("そのアイテムはこれ以上改良できない。", "This item is no more able to be improved."));
                return;
        }
 
@@ -8612,62 +8444,37 @@ static void add_essence(int mode)
        if (o_ptr->number > 1)
        {
                use_essence *= o_ptr->number;
-#ifdef JP
-               msg_format("%d個あるのでエッセンスは%d必要です。", o_ptr->number, use_essence);
-#else
-               msg_format("It will take %d essences.",use_essence);
-#endif
-
+               msg_format(_("%d個あるのでエッセンスは%d必要です。", "It will take %d essences."), o_ptr->number, use_essence);
        }
 
        if (es_ptr->essence != -1)
        {
                if (p_ptr->magic_num1[es_ptr->essence] < use_essence)
                {
-#ifdef JP
-                       msg_print("エッセンスが足りない。");
-#else
-                       msg_print("You don't have enough essences.");
-#endif
+                       msg_print(_("エッセンスが足りない。", "You don't have enough essences."));
                        return;
                }
                if (is_pval_flag(es_ptr->add))
                {
                        if (o_ptr->pval < 0)
                        {
-#ifdef JP
-                               msg_print("このアイテムの能力修正を強化することはできない。");
-#else
-                               msg_print("You cannot increase magic number of this item.");
-#endif
+                               msg_print(_("このアイテムの能力修正を強化することはできない。", "You cannot increase magic number of this item."));
                                return;
                        }
                        else if (es_ptr->add == TR_BLOWS)
                        {
                                if (o_ptr->pval > 1)
                                {
-#ifdef JP
-                                       if (!get_check("修正値は1になります。よろしいですか?")) return;
-#else
-                                       if (!get_check("The magic number of this weapon will become 1. Are you sure? ")) return;
-#endif
+                                       if (!get_check(_("修正値は1になります。よろしいですか?", "The magic number of this weapon will become 1. Are you sure? "))) return;
                                }
 
                                o_ptr->pval = 1;
-#ifdef JP
-                               msg_format("エッセンスを%d個使用します。", use_essence);
-#else
-                               msg_format("It will take %d essences.", use_essence);
-#endif
+                               msg_format(_("エッセンスを%d個使用します。", "It will take %d essences."), use_essence);
                        }
                        else if (o_ptr->pval > 0)
                        {
                                use_essence *= o_ptr->pval;
-#ifdef JP
-                               msg_format("エッセンスを%d個使用します。", use_essence);
-#else
-                               msg_format("It will take %d essences.", use_essence);
-#endif
+                               msg_format(_("エッセンスを%d個使用します。", "It will take %d essences."), use_essence);
                        }
                        else
                        {
@@ -8676,11 +8483,7 @@ static void add_essence(int mode)
                                int pval;
                                int limit = MIN(5, p_ptr->magic_num1[es_ptr->essence]/es_ptr->value);
 
-#ifdef JP
-                               sprintf(tmp, "いくつ付加しますか? (1-%d): ", limit);
-#else
-                               sprintf(tmp, "Enchant how many? (1-%d): ", limit);
-#endif
+                               sprintf(tmp, _("いくつ付加しますか? (1-%d): ", "Enchant how many? (1-%d): "), limit);
                                strcpy(tmp_val, "1");
 
                                if (!get_string(tmp, tmp_val, 1)) return;
@@ -8689,20 +8492,12 @@ static void add_essence(int mode)
                                else if (pval < 1) pval = 1;
                                o_ptr->pval += pval;
                                use_essence *= pval;
-#ifdef JP
-                               msg_format("エッセンスを%d個使用します。", use_essence);
-#else
-                               msg_format("It will take %d essences.", use_essence);
-#endif
+                               msg_format(_("エッセンスを%d個使用します。", "It will take %d essences."), use_essence);
                        }
 
                        if (p_ptr->magic_num1[es_ptr->essence] < use_essence)
                        {
-#ifdef JP
-                               msg_print("エッセンスが足りない。");
-#else
-                               msg_print("You don't have enough essences.");
-#endif
+                               msg_print(_("エッセンスが足りない。", "You don't have enough essences."));
                                return;
                        }
                }
@@ -8713,27 +8508,15 @@ static void add_essence(int mode)
                        int get_to_h, get_to_d;
 
                        strcpy(tmp_val, "1");
-#ifdef JP
-                       if (!get_string(format("いくつ付加しますか? (1-%d):", p_ptr->lev/7+3), tmp_val, 2)) return;
-#else
-                       if (!get_string(format("Enchant how many? (1-%d):", p_ptr->lev/7+3), tmp_val, 2)) return;
-#endif
+                       if (!get_string(format(_("いくつ付加しますか? (1-%d):", "Enchant how many? (1-%d):"), p_ptr->lev/7+3), tmp_val, 2)) return;
                        val = atoi(tmp_val);
                        if (val > p_ptr->lev/7+3) val = p_ptr->lev/7+3;
                        else if (val < 1) val = 1;
                        use_essence *= val;
-#ifdef JP
-                       msg_format("エッセンスを%d個使用します。", use_essence);
-#else
-                       msg_format("It will take %d essences.", use_essence);
-#endif
+                       msg_format(_("エッセンスを%d個使用します。", "It will take %d essences."), use_essence);
                        if (p_ptr->magic_num1[es_ptr->essence] < use_essence)
                        {
-#ifdef JP
-                               msg_print("エッセンスが足りない。");
-#else
-                               msg_print("You don't have enough essences.");
-#endif
+                               msg_print(_("エッセンスが足りない。", "You don't have enough essences."));
                                return;
                        }
                        get_to_h = ((val+1)/2+randint0(val/2+1));
@@ -8747,11 +8530,7 @@ static void add_essence(int mode)
                {
                        if ((o_ptr->to_h >= p_ptr->lev/5+5) && (o_ptr->to_d >= p_ptr->lev/5+5))
                        {
-#ifdef JP
-                               msg_print("改良に失敗した。");
-#else
-                               msg_print("You failed to enchant.");
-#endif
+                               msg_print(_("改良に失敗した。", "You failed to enchant."));
                                energy_use = 100;
                                return;
                        }
@@ -8765,11 +8544,7 @@ static void add_essence(int mode)
                {
                        if (o_ptr->to_a >= p_ptr->lev/5+5)
                        {
-#ifdef JP
-                               msg_print("改良に失敗した。");
-#else
-                               msg_print("You failed to enchant.");
-#endif
+                               msg_print(_("改良に失敗した。", "You failed to enchant."));
                                energy_use = 100;
                                return;
                        }
@@ -8831,11 +8606,7 @@ static void add_essence(int mode)
                }
                if (!success)
                {
-#ifdef JP
-                       msg_print("エッセンスが足りない。");
-#else
-                       msg_print("You don't have enough essences.");
-#endif
+                       msg_print(_("エッセンスが足りない。", "You don't have enough essences."));
                        return;
                }
                if (es_ptr->add == ESSENCE_SUSTAIN)
@@ -8881,13 +8652,8 @@ static void erase_essence(void)
        item_tester_hook = object_is_smith;
 
        /* Get an item */
-#ifdef JP
-       q = "どのアイテムのエッセンスを消去しますか?";
-       s = "エッセンスを付加したアイテムがありません。";
-#else
-       q = "Remove from which item? ";
-       s = "You have nothing to remove essence.";
-#endif
+       q = _("どのアイテムのエッセンスを消去しますか?", "Remove from which item? ");
+       s = _("エッセンスを付加したアイテムがありません。", "You have nothing to remove essence.");
 
        if (!get_item(&item, q, s, (USE_INVEN | USE_FLOOR))) return;
 
@@ -8904,11 +8670,7 @@ static void erase_essence(void)
        }
 
        object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
-#ifdef JP
-       if (!get_check(format("よろしいですか? [%s]", o_name))) return;
-#else
-       if (!get_check(format("Are you sure? [%s]", o_name))) return;
-#endif
+       if (!get_check(format(_("よろしいですか? [%s]", "Are you sure? [%s]"), o_name))) return;
 
        energy_use = 100;
 
@@ -8923,11 +8685,7 @@ static void erase_essence(void)
        o_ptr->xtra3 = 0;
        object_flags(o_ptr, flgs);
        if (!(have_pval_flags(flgs))) o_ptr->pval = 0;
-#ifdef JP
-       msg_print("エッセンスを取り去った。");
-#else
-       msg_print("You removed all essence you have added.");
-#endif
+       msg_print(_("エッセンスを取り去った。", "You removed all essence you have added."));
 
        /* Combine the pack */
        p_ptr->notice |= (PN_COMBINE | PN_REORDER);
@@ -8952,32 +8710,17 @@ void do_cmd_kaji(bool only_browse)
        {
                if (p_ptr->confused)
                {
-#ifdef JP
-                       msg_print("混乱していて作業できない!");
-#else
-                       msg_print("You are too confused!");
-#endif
-
+                       msg_print(_("混乱していて作業できない!", "You are too confused!"));
                        return;
                }
                if (p_ptr->blind)
                {
-#ifdef JP
-                       msg_print("目が見えなくて作業できない!");
-#else
-                       msg_print("You are blind!");
-#endif
-
+                       msg_print(_("目が見えなくて作業できない!", "You are blind!"));
                        return;
                }
                if (p_ptr->image)
                {
-#ifdef JP
-                       msg_print("うまく見えなくて作業できない!");
-#else
-                       msg_print("You are hallucinating!");
-#endif
-
+                       msg_print(_("うまく見えなくて作業できない!", "You are hallucinating!"));
                        return;
                }
        }
index 2b52e05..9e10467 100644 (file)
@@ -46,41 +46,21 @@ static bool do_cmd_archer(void)
        q_ptr = &forge;
 
        if(p_ptr->lev >= 20)
-#ifdef JP
-               sprintf(com, "[S]弾, [A]矢, [B]クロスボウの矢 :");
-#else
-               sprintf(com, "Create [S]hots, Create [A]rrow or Create [B]olt ?");
-#endif
+               sprintf(com, _("[S]弾, [A]矢, [B]クロスボウの矢 :", "Create [S]hots, Create [A]rrow or Create [B]olt ?"));
        else if(p_ptr->lev >= 10)
-#ifdef JP
-               sprintf(com, "[S]弾, [A]矢:");
-#else
-               sprintf(com, "Create [S]hots or Create [A]rrow ?");
-#endif
+               sprintf(com, _("[S]弾, [A]矢:", "Create [S]hots or Create [A]rrow ?"));
        else
-#ifdef JP
-               sprintf(com, "[S]弾:");
-#else
-               sprintf(com, "Create [S]hots ?");
-#endif
+               sprintf(com, _("[S]弾:", "Create [S]hots ?"));
 
        if (p_ptr->confused)
        {
-#ifdef JP
-               msg_print("混乱してる!");
-#else
-               msg_print("You are too confused!");
-#endif
+               msg_print(_("混乱してる!", "You are too confused!"));
                return FALSE;
        }
 
        if (p_ptr->blind)
        {
-#ifdef JP
-               msg_print("目が見えない!");
-#else
-               msg_print("You are blind!");
-#endif
+               msg_print(_("目が見えない!", "You are blind!"));
                return FALSE;
        }
 
@@ -120,20 +100,12 @@ static bool do_cmd_archer(void)
 
                if (!have_flag(f_info[get_feat_mimic(c_ptr)].flags, FF_CAN_DIG))
                {
-#ifdef JP
-                       msg_print("そこには岩石がない。");
-#else
-                       msg_print("You need pile of rubble.");
-#endif
+                       msg_print(_("そこには岩石がない。", "You need pile of rubble."));
                        return FALSE;
                }
                else if (!cave_have_flag_grid(c_ptr, FF_CAN_DIG) || !cave_have_flag_grid(c_ptr, FF_HURT_ROCK))
                {
-#ifdef JP
-                       msg_print("硬すぎて崩せなかった。");
-#else
-                       msg_print("You failed to make ammo.");
-#endif
+                       msg_print(_("硬すぎて崩せなかった。", "You failed to make ammo."));
                }
                else
                {
@@ -153,11 +125,7 @@ static bool do_cmd_archer(void)
                        slot = inven_carry(q_ptr);
 
                        object_desc(o_name, q_ptr, 0);
-#ifdef JP
-                       msg_format("%sを作った。", o_name);
-#else
-                       msg_print("You make some ammo.");
-#endif
+                       msg_format(_("%sを作った。", "You make some ammo."), o_name);
 
                        /* Auto-inscription */
                        if (slot >= 0) autopick_alter_item(slot, FALSE);
@@ -178,13 +146,8 @@ static bool do_cmd_archer(void)
                item_tester_hook = item_tester_hook_convertible;
 
                /* Get an item */
-#ifdef JP
-               q = "どのアイテムから作りますか? ";
-               s = "材料を持っていない。";
-#else
-               q = "Convert which item? ";
-               s = "You have no item to convert.";
-#endif
+               q = _("どのアイテムから作りますか? ", "Convert which item? ");
+               s = _("材料を持っていない。", "You have no item to convert.");
                if (!get_item(&item, q, s, (USE_INVEN | USE_FLOOR))) return FALSE;
 
                /* Get the item (in the pack) */
@@ -212,11 +175,7 @@ static bool do_cmd_archer(void)
                q_ptr->discount = 99;
 
                object_desc(o_name, q_ptr, 0);
-#ifdef JP
-               msg_format("%sを作った。", o_name);
-#else
-               msg_print("You make some ammo.");
-#endif
+               msg_format(_("%sを作った。", "You make some ammo."), o_name);
 
                if (item >= 0)
                {
@@ -246,13 +205,8 @@ static bool do_cmd_archer(void)
                item_tester_hook = item_tester_hook_convertible;
 
                /* Get an item */
-#ifdef JP
-               q = "どのアイテムから作りますか? ";
-               s = "材料を持っていない。";
-#else
-               q = "Convert which item? ";
-               s = "You have no item to convert.";
-#endif
+               q = _("どのアイテムから作りますか? ", "Convert which item? ");
+               s = _("材料を持っていない。", "You have no item to convert.");
                if (!get_item(&item, q, s, (USE_INVEN | USE_FLOOR))) return FALSE;
 
                /* Get the item (in the pack) */
@@ -280,11 +234,7 @@ static bool do_cmd_archer(void)
                q_ptr->discount = 99;
 
                object_desc(o_name, q_ptr, 0);
-#ifdef JP
-               msg_format("%sを作った。", o_name);
-#else
-               msg_print("You make some ammo.");
-#endif
+               msg_format(_("%sを作った。", "You make some ammo."), o_name);
 
                if (item >= 0)
                {
@@ -324,13 +274,8 @@ bool gain_magic(void)
        item_tester_hook = item_tester_hook_recharge;
 
        /* Get an item */
-#ifdef JP
-q = "どのアイテムの魔力を取り込みますか? ";
-s = "魔力を取り込めるアイテムがない。";
-#else
-       q = "Gain power of which item? ";
-       s = "You have nothing to gain power.";
-#endif
+       q = _("どのアイテムの魔力を取り込みますか? ", "Gain power of which item? ");
+       s = _("魔力を取り込めるアイテムがない。", "You have nothing to gain power.");
 
        if (!get_item(&item, q, s, (USE_INVEN | USE_FLOOR))) return (FALSE);
 
@@ -348,32 +293,20 @@ s = "魔力を取り込めるアイテムがない。";
 
        if (o_ptr->tval == TV_STAFF && o_ptr->sval == SV_STAFF_NOTHING)
        {
-#ifdef JP
-               msg_print("この杖には発動の為の能力は何も備わっていないようだ。");
-#else
-               msg_print("This staff doesn't have any magical ability.");
-#endif
+               msg_print(_("この杖には発動の為の能力は何も備わっていないようだ。", "This staff doesn't have any magical ability."));
                return FALSE;
        }
 
 
        if (!object_is_known(o_ptr))
        {
-#ifdef JP
-               msg_print("鑑定されていないと取り込めない。");
-#else
-               msg_print("You need to identify before absorbing.");
-#endif
+               msg_print(_("鑑定されていないと取り込めない。", "You need to identify before absorbing."));
                return FALSE;
        }
 
        if (o_ptr->timeout)
        {
-#ifdef JP
-               msg_print("充填中のアイテムは取り込めない。");
-#else
-               msg_print("This item is still charging.");
-#endif
+               msg_print(_("充填中のアイテムは取り込めない。", "This item is still charging."));
                return FALSE;
        }
 
@@ -412,11 +345,7 @@ s = "魔力を取り込めるアイテムがない。";
 
        object_desc(o_name, o_ptr, 0);
        /* Message */
-#ifdef JP
-       msg_format("%sの魔力を取り込んだ。", o_name);
-#else
-       msg_format("You absorb magic of %s.", o_name);
-#endif
+       msg_format(_("%sの魔力を取り込んだ。", "You absorb magic of %s."), o_name);
 
        /* Eliminate the item (from the pack) */
        if (item >= 0)
@@ -445,30 +374,18 @@ static bool can_do_cmd_cast(void)
 {
        if (dun_level && (d_info[dungeon_type].flags1 & DF1_NO_MAGIC))
        {
-#ifdef JP
-               msg_print("ダンジョンが魔法を吸収した!");
-#else
-               msg_print("The dungeon absorbs all attempted magic!");
-#endif
+               msg_print(_("ダンジョンが魔法を吸収した!", "The dungeon absorbs all attempted magic!"));
                msg_print(NULL);
                return FALSE;
        }
        else if (p_ptr->anti_magic)
        {
-#ifdef JP
-               msg_print("反魔法バリアが魔法を邪魔した!");
-#else
-               msg_print("An anti-magic shell disrupts your magic!");
-#endif
+               msg_print(_("反魔法バリアが魔法を邪魔した!", "An anti-magic shell disrupts your magic!"));
                return FALSE;
        }
        else if (p_ptr->shero)
        {
-#ifdef JP
-               msg_format("狂戦士化していて頭が回らない!");
-#else
-               msg_format("You cannot think directly!");
-#endif
+               msg_format(_("狂戦士化していて頭が回らない!", "You cannot think directly!"));
                return FALSE;
        }
        else
@@ -488,22 +405,13 @@ static bool choose_kamae(void)
 
        if (p_ptr->confused)
        {
-#ifdef JP
-               msg_print("混乱していて構えられない!");
-#else
-               msg_print("Too confused.");
-#endif
+               msg_print(_("混乱していて構えられない!", "Too confused."));
                return FALSE;
        }
 
        /* Save screen */
        screen_save();
-
-#ifdef JP
-       prt(" a) 構えをとく", 2, 20);
-#else
-       prt(" a) No form", 2, 20);
-#endif
+       prt(_(" a) 構えをとく", " a) No form"), 2, 20);
 
        for (i = 0; i < MAX_KAMAE; i++)
        {
@@ -515,11 +423,7 @@ static bool choose_kamae(void)
        }
 
        prt("", 1, 0);
-#ifdef JP
-       prt("        どの構えをとりますか?", 1, 14);
-#else
-       prt("        Choose Form: ", 1, 14);
-#endif
+       prt(_("        どの構えをとりますか?", "        Choose Form: "), 1, 14);
 
        while(1)
        {
@@ -537,11 +441,7 @@ static bool choose_kamae(void)
                                set_action(ACTION_NONE);
                        }
                        else
-#ifdef JP
-                               msg_print("もともと構えていない。");
-#else
-                               msg_print("You are not assuming a posture.");
-#endif
+                               msg_print(_("もともと構えていない。", "You are not assuming a posture."));
                        screen_load();
                        return TRUE;
                }
@@ -570,22 +470,14 @@ static bool choose_kamae(void)
 
        if (p_ptr->special_defense & (KAMAE_GENBU << new_kamae))
        {
-#ifdef JP
-               msg_print("構え直した。");
-#else
-               msg_print("You reassume a posture.");
-#endif
+               msg_print(_("構え直した。", "You reassume a posture."));
        }
        else
        {
                p_ptr->special_defense &= ~(KAMAE_MASK);
                p_ptr->update |= (PU_BONUS);
                p_ptr->redraw |= (PR_STATE);
-#ifdef JP
-               msg_format("%sの構えをとった。",kamae_shurui[new_kamae].desc);
-#else
-               msg_format("You assume a posture of %s form.",kamae_shurui[new_kamae].desc);
-#endif
+               msg_format(_("%sの構えをとった。", "You assume a posture of %s form."),kamae_shurui[new_kamae].desc);
                p_ptr->special_defense |= (KAMAE_GENBU << new_kamae);
        }
        p_ptr->redraw |= PR_STATE;
@@ -606,62 +498,37 @@ static bool choose_kata(void)
 
        if (p_ptr->confused)
        {
-#ifdef JP
-               msg_print("混乱していて構えられない!");
-#else
-               msg_print("Too confused.");
-#endif
+               msg_print(_("混乱していて構えられない!", "Too confused."));
                return FALSE;
        }
 
        if (p_ptr->stun)
        {
-#ifdef JP
-               msg_print("意識がはっきりとしない。");
-#else
-               msg_print("You are not clear headed");
-#endif
+               msg_print(_("意識がはっきりとしない。", "You are not clear headed"));
                return FALSE;
        }
 
        if (p_ptr->afraid)
        {
-#ifdef JP
-               msg_print("体が震えて構えられない!");
-#else
-               msg_print("You are trembling with fear!");
-#endif
+               msg_print(_("体が震えて構えられない!", "You are trembling with fear!"));
                return FALSE;
        }
 
        /* Save screen */
        screen_save();
-
-#ifdef JP
-       prt(" a) 型を崩す", 2, 20);
-#else
-       prt(" a) No Form", 2, 20);
-#endif
+       prt(_(" a) 型を崩す", " a) No Form"), 2, 20);
 
        for (i = 0; i < MAX_KATA; i++)
        {
                if (p_ptr->lev >= kata_shurui[i].min_level)
                {
-#ifdef JP
-                       sprintf(buf," %c) %sの型    %s",I2A(i+1), kata_shurui[i].desc, kata_shurui[i].info);
-#else
-                       sprintf(buf," %c) Form of %-12s  %s",I2A(i+1), kata_shurui[i].desc, kata_shurui[i].info);
-#endif
+                       sprintf(buf,_(" %c) %sの型    %s", " %c) Form of %-12s  %s"),I2A(i+1), kata_shurui[i].desc, kata_shurui[i].info);
                        prt(buf, 3+i, 20);
                }
        }
 
        prt("", 1, 0);
-#ifdef JP
-       prt("        どの型で構えますか?", 1, 14);
-#else
-       prt("        Choose Form: ", 1, 14);
-#endif
+       prt(_("        どの型で構えますか?", "        Choose Form: "), 1, 14);
 
        while(1)
        {
@@ -679,11 +546,7 @@ static bool choose_kata(void)
                                set_action(ACTION_NONE);
                        }
                        else
-#ifdef JP
-                               msg_print("もともと構えていない。");
-#else
-                               msg_print("You are not assuming posture.");
-#endif
+                               msg_print(_("もともと構えていない。", "You are not assuming posture."));
                        screen_load();
                        return TRUE;
                }
@@ -712,22 +575,14 @@ static bool choose_kata(void)
 
        if (p_ptr->special_defense & (KATA_IAI << new_kata))
        {
-#ifdef JP
-               msg_print("構え直した。");
-#else
-               msg_print("You reassume a posture.");
-#endif
+               msg_print(_("構え直した。", "You reassume a posture."));
        }
        else
        {
                p_ptr->special_defense &= ~(KATA_MASK);
                p_ptr->update |= (PU_BONUS);
                p_ptr->update |= (PU_MONSTERS);
-#ifdef JP
-               msg_format("%sの型で構えた。",kata_shurui[new_kata].desc);
-#else
-               msg_format("You assume a posture of %s form.",kata_shurui[new_kata].desc);
-#endif
+               msg_format(_("%sの型で構えた。", "You assume a posture of %s form."),kata_shurui[new_kata].desc);
                p_ptr->special_defense |= (KATA_IAI << new_kata);
        }
        p_ptr->redraw |= (PR_STATE);
@@ -834,11 +689,8 @@ static int racial_aux(power_desc_type *pd_ptr)
        /* Power is not available yet */
        if (p_ptr->lev < min_level)
        {
-#ifdef JP
-               msg_format("この能力を使用するにはレベル %d に達していなければなりません。", min_level);
-#else
-               msg_format("You need to attain level %d to use this power.", min_level);
-#endif
+               msg_format(_("この能力を使用するにはレベル %d に達していなければなりません。", 
+                                        "You need to attain level %d to use this power."), min_level);
 
                energy_use = 0;
                return 0;
@@ -847,12 +699,7 @@ static int racial_aux(power_desc_type *pd_ptr)
        /* Too confused */
        else if (p_ptr->confused)
        {
-#ifdef JP
-               msg_print("混乱していてその能力は使えない。");
-#else
-               msg_print("You are too confused to use this power.");
-#endif
-
+               msg_print(_("混乱していてその能力は使えない。", "You are too confused to use this power."));
                energy_use = 0;
                return 0;
        }
@@ -860,11 +707,7 @@ static int racial_aux(power_desc_type *pd_ptr)
        /* Risk death? */
        else if (p_ptr->chp < use_hp)
        {
-#ifdef JP
-               if (!get_check("本当に今の衰弱した状態でこの能力を使いますか?"))
-#else
-               if (!get_check("Really use the power in your weakened state? "))
-#endif
+               if (!get_check(_("本当に今の衰弱した状態でこの能力を使いますか?", "Really use the power in your weakened state? ")))
                {
                        energy_use = 0;
                        return 0;
@@ -900,11 +743,7 @@ static int racial_aux(power_desc_type *pd_ptr)
        }
 
        if (flush_failure) flush();
-#ifdef JP
-       msg_print("充分に集中できなかった。");
-#else
-       msg_print("You've failed to concentrate hard enough.");
-#endif
+       msg_print(_("充分に集中できなかった。", "You've failed to concentrate hard enough."));
 
        return -1;
 }
@@ -950,11 +789,7 @@ static bool cmd_racial_power_aux(s32b command)
                                        py_attack(y, x, 0);
                                else
                                {
-#ifdef JP
-                                       msg_print("攻撃が空をきった。");
-#else
-                                       msg_print("You attack the empty air.");
-#endif
+                                       msg_print(_("攻撃が空をきった。", "You attack the empty air."));
                                }
                        }
                        break;
@@ -998,21 +833,12 @@ static bool cmd_racial_power_aux(s32b command)
                        {
                                py_attack(y, x, 0);
                                if (randint0(p_ptr->skill_dis) < 7)
-#ifdef JP
-                                       msg_print("うまく逃げられなかった。");
-#else
-                                       msg_print("You are failed to run away.");
-#endif
+                                       msg_print(_("うまく逃げられなかった。", "You are failed to run away."));
                                else teleport_player(30, 0L);
                        }
                        else
                        {
-#ifdef JP
-                               msg_print("その方向にはモンスターはいません。");
-#else
-                               msg_print("You don't see any monster in this direction");
-#endif
-
+                               msg_print(_("その方向にはモンスターはいません。", "You don't see any monster in this direction"));
                                msg_print(NULL);
                        }
                        break;
@@ -1020,12 +846,7 @@ static bool cmd_racial_power_aux(s32b command)
                case CLASS_RANGER:
                case CLASS_SNIPER:
                {
-#ifdef JP
-                       msg_print("敵を調査した...");
-#else
-                       msg_print("You examine your foes...");
-#endif
-
+                       msg_print(_("敵を調査した...", "You examine your foes..."));
                        probing();
                        break;
                }
@@ -1040,11 +861,8 @@ static bool cmd_racial_power_aux(s32b command)
                {
                        if (command == -3)
                        {
-#ifdef JP
-                               int gain_sp = take_hit(DAMAGE_USELIFE, p_ptr->lev, "HPからMPへの無謀な変換", -1) / 5;
-#else
-                               int gain_sp = take_hit(DAMAGE_USELIFE, p_ptr->lev, "thoughtless convertion from HP to SP", -1) / 5;
-#endif
+                               int gain_sp = take_hit(DAMAGE_USELIFE, p_ptr->lev, 
+                                                               _("HPからMPへの無謀な変換", "thoughtless convertion from HP to SP"), -1) / 5;
                                if (gain_sp)
                                {
                                        p_ptr->csp += gain_sp;
@@ -1055,11 +873,9 @@ static bool cmd_racial_power_aux(s32b command)
                                        }
                                }
                                else
-#ifdef JP
-                                       msg_print("変換に失敗した。");
-#else
-                                       msg_print("You failed to convert.");
-#endif
+                               {
+                                       msg_print(_("変換に失敗した。", "You failed to convert."));
+                               }
                        }
                        else if (command == -4)
                        {
@@ -1069,11 +885,9 @@ static bool cmd_racial_power_aux(s32b command)
                                        hp_player(p_ptr->lev);
                                }
                                else
-#ifdef JP
-                                       msg_print("変換に失敗した。");
-#else
-                                       msg_print("You failed to convert.");
-#endif
+                               {
+                                       msg_print(_("変換に失敗した。", "You failed to convert."));
+                               }
                        }
 
                        /* Redraw mana and hp */
@@ -1083,11 +897,7 @@ static bool cmd_racial_power_aux(s32b command)
                }
                case CLASS_CHAOS_WARRIOR:
                {
-#ifdef JP
-                       msg_print("辺りを睨んだ...");
-#else
-                       msg_print("You glare nearby monsters...");
-#endif
+                       msg_print(_("辺りを睨んだ...", "You glare nearby monsters..."));
                        slow_monsters(p_ptr->lev);
                        stun_monsters(p_ptr->lev * 4);
                        confuse_monsters(p_ptr->lev * 4);
@@ -1099,20 +909,12 @@ static bool cmd_racial_power_aux(s32b command)
                {
                        if (!(empty_hands(TRUE) & EMPTY_HAND_RARM))
                        {
-#ifdef JP
-                               msg_print("素手じゃないとできません。");
-#else
-                               msg_print("You need to be bare hand.");
-#endif
+                               msg_print(_("素手じゃないとできません。", "You need to be bare hand."));
                                return FALSE;
                        }
                        if (p_ptr->riding)
                        {
-#ifdef JP
-                               msg_print("乗馬中はできません。");
-#else
-                               msg_print("You need to get off a pet.");
-#endif
+                               msg_print(_("乗馬中はできません。", "You need to get off a pet."));
                                return FALSE;
                        }
 
@@ -1130,13 +932,12 @@ static bool cmd_racial_power_aux(s32b command)
                                x = px + ddx[dir];
                                if (cave[y][x].m_idx)
                                {
-#ifdef JP
-                                       if (one_in_(2)) msg_print("あーたたたたたたたたたたたたたたたたたたたたたた!!!");
-                                       else msg_print("オラオラオラオラオラオラオラオラオラオラオラオラ!!!");
-#else
-                                       if (one_in_(2)) msg_print("Ahhhtatatatatatatatatatatatatatataatatatatattaaaaa!!!!");
-                                       else msg_print("Oraoraoraoraoraoraoraoraoraoraoraoraoraoraoraoraora!!!!");
-#endif
+                                       if (one_in_(2)) 
+                                               msg_print(_("あーたたたたたたたたたたたたたたたたたたたたたた!!!", 
+                                                                       "Ahhhtatatatatatatatatatatatatatataatatatatattaaaaa!!!!"));
+                                       else
+                                               msg_print(_("オラオラオラオラオラオラオラオラオラオラオラオラ!!!",
+                                                                       "Oraoraoraoraoraoraoraoraoraoraoraoraoraoraoraoraora!!!!"));
 
                                        py_attack(y, x, 0);
                                        if (cave[y][x].m_idx)
@@ -1148,12 +949,7 @@ static bool cmd_racial_power_aux(s32b command)
                                }
                                else
                                {
-#ifdef JP
-                                       msg_print("その方向にはモンスターはいません。");
-#else
-                                       msg_print("You don't see any monster in this direction");
-#endif
-
+                                       msg_print(_("その方向にはモンスターはいません。", "You don't see any monster in this direction"));
                                        msg_print(NULL);
                                }
                        }
@@ -1164,18 +960,10 @@ static bool cmd_racial_power_aux(s32b command)
                {
                        if (total_friends)
                        {
-#ifdef JP
-                               msg_print("今はペットを操ることに集中していないと。");
-#else
-                               msg_print("You need concentration on the pets now.");
-#endif
+                               msg_print(_("今はペットを操ることに集中していないと。", "You need concentration on the pets now."));
                                return FALSE;
                        }
-#ifdef JP
-                       msg_print("少し頭がハッキリした。");
-#else
-                       msg_print("You feel your head clear a little.");
-#endif
+                       msg_print(_("少し頭がハッキリした。", "You feel your head clear a little."));
 
                        p_ptr->csp += (3 + p_ptr->lev/20);
                        if (p_ptr->csp >= p_ptr->msp)
@@ -1263,27 +1051,15 @@ static bool cmd_racial_power_aux(s32b command)
 
                                if (total_friends)
                                {
-#ifdef JP
-                                       msg_print("今はペットを操ることに集中していないと。");
-#else
-                                       msg_print("You need concentration on the pets now.");
-#endif
+                                       msg_print(_("今はペットを操ることに集中していないと。", "You need concentration on the pets now."));
                                        return FALSE;
                                }
                                if (p_ptr->special_defense & KATA_MASK)
                                {
-#ifdef JP
-                                       msg_print("今は構えに集中している。");
-#else
-                                       msg_print("You need concentration on your form.");
-#endif
+                                       msg_print(_("今は構えに集中している。", "You need concentration on your form."));
                                        return FALSE;
                                }
-#ifdef JP
-                               msg_print("精神を集中して気合いを溜めた。");
-#else
-                               msg_print("You concentrate to charge your power.");
-#endif
+                               msg_print(_("精神を集中して気合いを溜めた。", "You concentrate to charge your power."));
 
                                p_ptr->csp += p_ptr->msp / 2;
                                if (p_ptr->csp >= max_csp)
@@ -1299,11 +1075,7 @@ static bool cmd_racial_power_aux(s32b command)
                        {
                                if (!buki_motteruka(INVEN_RARM) && !buki_motteruka(INVEN_LARM))
                                {
-#ifdef JP
-                                       msg_print("武器を持たないといけません。");
-#else
-                                       msg_print("You need to wield a weapon.");
-#endif
+                                       msg_print(_("武器を持たないといけません。", "You need to wield a weapon."));
                                        return FALSE;
                                }
                                if (!choose_kata()) return FALSE;
@@ -1333,22 +1105,14 @@ static bool cmd_racial_power_aux(s32b command)
 
                        if (p_ptr->riding)
                        {
-#ifdef JP
-                               msg_print("今は乗馬中だ。");
-#else
-                               msg_print("You ARE riding.");
-#endif
+                               msg_print(_("今は乗馬中だ。", "You ARE riding."));
                                return FALSE;
                        }
                        if (!do_riding(TRUE)) return TRUE;
                        m_ptr = &m_list[p_ptr->riding];
                        r_ptr = &r_info[m_ptr->r_idx];
                        monster_desc(m_name, m_ptr, 0);
-#ifdef JP
-                       msg_format("%sに乗った。",m_name);
-#else
-                       msg_format("You ride on %s.",m_name);
-#endif
+                       msg_format(_("%sに乗った。", "You ride on %s."),m_name);
                        if (is_pet(m_ptr)) break;
                        rlev = r_ptr->level;
                        if (r_ptr->flags1 & RF1_UNIQUE) rlev = rlev * 3 / 2;
@@ -1358,20 +1122,12 @@ static bool cmd_racial_power_aux(s32b command)
                            && !(r_ptr->flags7 & (RF7_GUARDIAN)) && !(r_ptr->flags1 & (RF1_QUESTOR))
                            && (rlev < p_ptr->lev * 3 / 2 + randint0(p_ptr->lev / 5)))
                        {
-#ifdef JP
-                               msg_format("%sを手なずけた。",m_name);
-#else
-                               msg_format("You tame %s.",m_name);
-#endif
+                               msg_format(_("%sを手なずけた。", "You tame %s."),m_name);
                                set_pet(m_ptr);
                        }
                        else
                        {
-#ifdef JP
-                               msg_format("%sに振り落とされた!",m_name);
-#else
-                               msg_format("You have thrown off by %s.",m_name);
-#endif
+                               msg_format(_("%sに振り落とされた!", "You have thrown off by %s."),m_name);
                                rakuba(1,TRUE);
 
                                /* Paranoia */
@@ -1408,20 +1164,12 @@ static bool cmd_racial_power_aux(s32b command)
                        {
                                if (total_friends)
                                {
-#ifdef JP
-                                       msg_print("今はペットを操ることに集中していないと。");
-#else
-                                       msg_print("You need concentration on the pets now.");
-#endif
+                                       msg_print(_("今はペットを操ることに集中していないと。", "You need concentration on the pets now."));
                                        return FALSE;
                                }
                                if (is_mirror_grid(&cave[py][px]))
                                {
-#ifdef JP
-                                       msg_print("少し頭がハッキリした。");
-#else
-                                       msg_print("You feel your head clear a little.");
-#endif
+                                       msg_print(_("少し頭がハッキリした。", "You feel your head clear a little."));
 
                                        p_ptr->csp += (5 + p_ptr->lev * p_ptr->lev / 100);
                                        if (p_ptr->csp >= p_ptr->msp)
@@ -1435,11 +1183,7 @@ static bool cmd_racial_power_aux(s32b command)
                                }
                                else
                                {
-#ifdef JP
-                                       msg_print("鏡の上でないと集中できない!");
-#else
-                                       msg_print("Here are not any mirrors!");
-#endif
+                                       msg_print(_("鏡の上でないと集中できない!", "Here are not any mirrors!"));
                                }
                        }
                        break;
@@ -1458,11 +1202,7 @@ static bool cmd_racial_power_aux(s32b command)
                                if (!have_flag(f_ptr->flags, FF_PROJECT) ||
                                    (!p_ptr->levitation && have_flag(f_ptr->flags, FF_DEEP)))
                                {
-#ifdef JP
-                                       msg_print("ここでは素早く動けない。");
-#else
-                                       msg_print("You cannot run in here.");
-#endif
+                                       msg_print(_("ここでは素早く動けない。", "You cannot run in here."));
                                }
                                else
                                {
@@ -1499,11 +1239,7 @@ static bool cmd_racial_power_aux(s32b command)
                case MIMIC_VAMPIRE:
                        if (d_info[dungeon_type].flags1 & DF1_NO_MELEE)
                        {
-#ifdef JP
-                               msg_print("なぜか攻撃することができない。");
-#else
-                               msg_print("Something prevent you from attacking.");
-#endif
+                               msg_print(_("なぜか攻撃することができない。", "Something prevent you from attacking."));
                                return FALSE;
                        }
                        else
@@ -1521,21 +1257,11 @@ static bool cmd_racial_power_aux(s32b command)
 
                                if (!c_ptr->m_idx)
                                {
-#ifdef JP
-                                       msg_print("何もない場所に噛みついた!");
-#else
-                                       msg_print("You bite into thin air!");
-#endif
-
+                                       msg_print(_("何もない場所に噛みついた!", "You bite into thin air!"));
                                        break;
                                }
 
-#ifdef JP
-                               msg_print("あなたはニヤリとして牙をむいた...");
-#else
-                               msg_print("You grin and bare your fangs...");
-#endif
-
+                               msg_print(_("あなたはニヤリとして牙をむいた...", "You grin and bare your fangs..."));
                                dummy = plev + randint1(plev) * MAX(1, plev / 10);   /* Dmg */
                                if (drain_life(dir, dummy))
                                {
@@ -1543,11 +1269,7 @@ static bool cmd_racial_power_aux(s32b command)
                                                /* No heal if we are "full" */
                                                (void)hp_player(dummy);
                                        else
-#ifdef JP
-                                               msg_print("あなたは空腹ではありません。");
-#else
-                                               msg_print("You were not hungry.");
-#endif
+                                               msg_print(_("あなたは空腹ではありません。", "You were not hungry."));
 
                                        /* Gain nutritional sustenance: 150/hp drained */
                                        /* A Food ration gives 5000 food points (by contrast) */
@@ -1558,12 +1280,7 @@ static bool cmd_racial_power_aux(s32b command)
                                                (void)set_food(dummy >= PY_FOOD_MAX ? PY_FOOD_MAX - 1 : dummy);
                                }
                                else
-#ifdef JP
-                                       msg_print("げぇ。ひどい味だ。");
-#else
-                                       msg_print("Yechh. That tastes foul.");
-#endif
-
+                                       msg_print(_("げぇ。ひどい味だ。", "Yechh. That tastes foul."));
                        }
                        break;
                }
@@ -1575,12 +1292,7 @@ static bool cmd_racial_power_aux(s32b command)
        switch (p_ptr->prace)
        {
                case RACE_DWARF:
-#ifdef JP
-                       msg_print("周囲を調べた。");
-#else
-                       msg_print("You examine your surroundings.");
-#endif
-
+                       msg_print(_("周囲を調べた。", "You examine your surroundings."));
                        (void)detect_traps(DETECT_RAD_DEFAULT, TRUE);
                        (void)detect_doors(DETECT_RAD_DEFAULT);
                        (void)detect_stairs(DETECT_RAD_DEFAULT);
@@ -1599,42 +1311,22 @@ static bool cmd_racial_power_aux(s32b command)
 
                                /* Drop the object from heaven */
                                (void)drop_near(q_ptr, -1, py, px);
-#ifdef JP
-                               msg_print("食事を料理して作った。");
-#else
-                               msg_print("You cook some food.");
-#endif
-
+                               msg_print(_("食事を料理して作った。", "You cook some food."));
                        }
                        break;
 
                case RACE_GNOME:
-#ifdef JP
-                       msg_print("パッ!");
-#else
-                       msg_print("Blink!");
-#endif
-
+                       msg_print(_("パッ!", "Blink!"));
                        teleport_player(10, 0L);
                        break;
 
                case RACE_HALF_ORC:
-#ifdef JP
-                       msg_print("勇気を出した。");
-#else
-                       msg_print("You play tough.");
-#endif
-
+                       msg_print(_("勇気を出した。", "You play tough."));
                        (void)set_afraid(0);
                        break;
 
                case RACE_HALF_TROLL:
-#ifdef JP
-                       msg_print("うがぁぁ!");
-#else
-                       msg_print("RAAAGH!");
-#endif
-
+                       msg_print(_("うがぁぁ!", "RAAAGH!"));
                        (void)set_afraid(0);
                        (void)set_shero(10 + randint1(plev), FALSE);
                        (void)hp_player(30);
@@ -1643,20 +1335,12 @@ static bool cmd_racial_power_aux(s32b command)
                case RACE_AMBERITE:
                        if (command == -1)
                        {
-#ifdef JP
-                               msg_print("あなたは歩き周り始めた。");
-#else
-                               msg_print("You start walking around. ");
-#endif
+                               msg_print(_("あなたは歩き周り始めた。", "You start walking around. "));
                                alter_reality();
                        }
                        else if (command == -2)
                        {
-#ifdef JP
-                               msg_print("あなたは「パターン」を心に描いてその上を歩いた...");
-#else
-                               msg_print("You picture the Pattern in your mind and walk it...");
-#endif
+                               msg_print(_("あなたは「パターン」を心に描いてその上を歩いた...", "You picture the Pattern in your mind and walk it..."));
 
                                (void)set_poisoned(0);
                                (void)set_image(0);
@@ -1675,24 +1359,14 @@ static bool cmd_racial_power_aux(s32b command)
                        break;
 
                case RACE_BARBARIAN:
-#ifdef JP
-                       msg_print("うぉぉおお!");
-#else
-                       msg_print("Raaagh!");
-#endif
-
+                       msg_print(_("うぉぉおお!", "Raaagh!"));
                        (void)set_afraid(0);
                        (void)set_shero(10 + randint1(plev), FALSE);
                        (void)hp_player(30);
                        break;
 
                case RACE_HALF_OGRE:
-#ifdef JP
-                       msg_print("爆発のルーンを慎重に仕掛けた...");
-#else
-                       msg_print("You carefully set an explosive rune...");
-#endif
-
+                       msg_print(_("爆発のルーンを慎重に仕掛けた...", "You carefully set an explosive rune..."));
                        explosive_rune();
                        break;
 
@@ -1702,69 +1376,39 @@ static bool cmd_racial_power_aux(s32b command)
                        break;
 
                case RACE_HALF_TITAN:
-#ifdef JP
-                       msg_print("敵を調査した...");
-#else
-                       msg_print("You examine your foes...");
-#endif
-
+                       msg_print(_("敵を調査した...", "You examine your foes..."));
                        probing();
                        break;
 
                case RACE_CYCLOPS:
                        if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-                       msg_print("巨大な岩を投げた。");
-#else
-                       msg_print("You throw a huge boulder.");
-#endif
-
+                       msg_print(_("巨大な岩を投げた。", "You throw a huge boulder."));
                        fire_bolt(GF_MISSILE, dir, (3 * plev) / 2);
                        break;
 
                case RACE_YEEK:
                        if (!get_aim_dir(&dir)) return FALSE;
                        ratial_stop_mouth();
-#ifdef JP
-                       msg_print("身の毛もよだつ叫び声を上げた!");
-#else
-                       msg_print("You make a horrible scream!");
-#endif
-
+                       msg_print(_("身の毛もよだつ叫び声を上げた!", "You make a horrible scream!"));
                        (void)fear_monster(dir, plev);
                        break;
 
                case RACE_KLACKON:
                        if (!get_aim_dir(&dir)) return FALSE;
                        ratial_stop_mouth();
-#ifdef JP
-                       msg_print("酸を吐いた。");
-#else
-                       msg_print("You spit acid.");
-#endif
-
+                       msg_print(_("酸を吐いた。", "You spit acid."));
                        if (plev < 25) fire_bolt(GF_ACID, dir, plev);
                        else fire_ball(GF_ACID, dir, plev, 2);
                        break;
 
                case RACE_KOBOLD:
                        if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-                       msg_print("毒のダーツを投げた。");
-#else
-                       msg_print("You throw a dart of poison.");
-#endif
-
+                       msg_print(_("毒のダーツを投げた。", "You throw a dart of poison."));
                        fire_bolt(GF_POIS, dir, plev);
                        break;
 
                case RACE_NIBELUNG:
-#ifdef JP
-                       msg_print("周囲を調査した。");
-#else
-                       msg_print("You examine your surroundings.");
-#endif
-
+                       msg_print(_("周囲を調査した。", "You examine your surroundings."));
                        (void)detect_traps(DETECT_RAD_DEFAULT, TRUE);
                        (void)detect_doors(DETECT_RAD_DEFAULT);
                        (void)detect_stairs(DETECT_RAD_DEFAULT);
@@ -1772,12 +1416,7 @@ static bool cmd_racial_power_aux(s32b command)
 
                case RACE_DARK_ELF:
                        if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-                       msg_print("マジック・ミサイルを放った。");
-#else
-                       msg_print("You cast a magic missile.");
-#endif
-
+                       msg_print(_("マジック・ミサイルを放った。", "You cast a magic missile."));
                        fire_bolt_or_beam(10, GF_MISSILE, dir,
                            damroll(3 + ((plev - 1) / 5), 4));
                        break;
@@ -1807,20 +1446,12 @@ static bool cmd_racial_power_aux(s32b command)
                                                        if (one_in_(3))
                                                        {
                                                                Type = GF_MISSILE;
-#ifdef JP
-                                                               Type_desc = "エレメント";
-#else
-                                                               Type_desc = "the elements";
-#endif
+                                                               Type_desc = _("エレメント", "the elements");
                                                        }
                                                        else
                                                        {
                                                                Type = GF_SHARDS;
-#ifdef JP
-                                                               Type_desc = "破片";
-#else
-                                                               Type_desc = "shards";
-#endif
+                                                               Type_desc = _("破片", "shards");
                                                        }
                                                        break;
                                                case CLASS_MAGE:
@@ -1834,40 +1465,24 @@ static bool cmd_racial_power_aux(s32b command)
                                                        if (one_in_(3))
                                                        {
                                                                Type = GF_MANA;
-#ifdef JP
-                                                               Type_desc = "魔力";
-#else
-                                                               Type_desc = "mana";
-#endif
+                                                               Type_desc = _("魔力", "mana");
                                                        }
                                                        else
                                                        {
                                                                Type = GF_DISENCHANT;
-#ifdef JP
-                                                               Type_desc = "劣化";
-#else
-                                                               Type_desc = "disenchantment";
-#endif
+                                                               Type_desc = _("劣化", "disenchantment");
                                                        }
                                                        break;
                                                case CLASS_CHAOS_WARRIOR:
                                                        if (!one_in_(3))
                                                        {
                                                                Type = GF_CONFUSION;
-#ifdef JP
-                                                               Type_desc = "混乱";
-#else
-                                                               Type_desc = "confusion";
-#endif
+                                                               Type_desc = _("混乱", "confusion");
                                                        }
                                                        else
                                                        {
                                                                Type = GF_CHAOS;
-#ifdef JP
-                                                               Type_desc = "カオス";
-#else
-                                                               Type_desc = "chaos";
-#endif
+                                                               Type_desc = _("カオス", "chaos");
                                                        }
                                                        break;
                                                case CLASS_MONK:
@@ -1876,40 +1491,24 @@ static bool cmd_racial_power_aux(s32b command)
                                                        if (!one_in_(3))
                                                        {
                                                                Type = GF_CONFUSION;
-#ifdef JP
-                                                               Type_desc = "混乱";
-#else
-                                                               Type_desc = "confusion";
-#endif
+                                                               Type_desc = _("混乱", "confusion");
                                                        }
                                                        else
                                                        {
                                                                Type = GF_SOUND;
-#ifdef JP
-                                                               Type_desc = "轟音";
-#else
-                                                               Type_desc = "sound";
-#endif
+                                                               Type_desc = _("轟音", "sound");
                                                        }
                                                        break;
                                                case CLASS_MINDCRAFTER:
                                                        if (!one_in_(3))
                                                        {
                                                                Type = GF_CONFUSION;
-#ifdef JP
-                                                               Type_desc = "混乱";
-#else
-                                                               Type_desc = "confusion";
-#endif
+                                                               Type_desc = _("混乱", "confusion");
                                                        }
                                                        else
                                                        {
                                                                Type = GF_PSI;
-#ifdef JP
-                                                               Type_desc = "精神エネルギー";
-#else
-                                                               Type_desc = "mental energy";
-#endif
+                                                               Type_desc = _("精神エネルギー", "mental energy");
                                                        }
                                                        break;
                                                case CLASS_PRIEST:
@@ -1917,20 +1516,12 @@ static bool cmd_racial_power_aux(s32b command)
                                                        if (one_in_(3))
                                                        {
                                                                Type = GF_HELL_FIRE;
-#ifdef JP
-                                                               Type_desc = "地獄の劫火";
-#else
-                                                               Type_desc = "hellfire";
-#endif
+                                                               Type_desc = _("地獄の劫火", "hellfire");
                                                        }
                                                        else
                                                        {
                                                                Type = GF_HOLY_FIRE;
-#ifdef JP
-                                                               Type_desc = "聖なる炎";
-#else
-                                                               Type_desc = "holy fire";
-#endif
+                                                               Type_desc = _("聖なる炎", "holy fire");
                                                        }
                                                        break;
                                                case CLASS_ROGUE:
@@ -1938,52 +1529,31 @@ static bool cmd_racial_power_aux(s32b command)
                                                        if (one_in_(3))
                                                        {
                                                                Type = GF_DARK;
-#ifdef JP
-                                                               Type_desc = "暗黒";
-#else
-                                                               Type_desc = "darkness";
-#endif
+                                                               Type_desc = _("暗黒", "darkness");
                                                        }
                                                        else
                                                        {
                                                                Type = GF_POIS;
-#ifdef JP
-                                                               Type_desc = "毒";
-#else
-                                                               Type_desc = "poison";
-#endif
+                                                               Type_desc = _("毒", "poison");
                                                        }
                                                        break;
                                                case CLASS_BARD:
                                                        if (!one_in_(3))
                                                        {
                                                                Type = GF_SOUND;
-#ifdef JP
-                                                               Type_desc = "轟音";
-#else
-                                                               Type_desc = "sound";
-#endif
+                                                               Type_desc = _("轟音", "sound");
                                                        }
                                                        else
                                                        {
                                                                Type = GF_CONFUSION;
-#ifdef JP
-                                                               Type_desc = "混乱";
-#else
-                                                               Type_desc = "confusion";
-#endif
+                                                               Type_desc = _("混乱", "confusion");
                                                        }
                                                        break;
                                        }
                                }
 
                                ratial_stop_mouth();
-
-#ifdef JP
-                               msg_format("あなたは%sのブレスを吐いた。", Type_desc);
-#else
-                               msg_format("You breathe %s.", Type_desc);
-#endif
+                               msg_format(_("あなたは%sのブレスを吐いた。", "You breathe %s."), Type_desc);
 
                                fire_ball(Type, dir, plev * 2,
                                    -(plev / 15) - 1);
@@ -1992,12 +1562,7 @@ static bool cmd_racial_power_aux(s32b command)
 
                case RACE_MIND_FLAYER:
                        if (!get_aim_dir(&dir)) return FALSE;
-#ifdef JP
-                       msg_print("あなたは集中し、目が赤く輝いた...");
-#else
-                       msg_print("You concentrate and your eyes glow red...");
-#endif
-
+                       msg_print(_("あなたは集中し、目が赤く輝いた...", "You concentrate and your eyes glow red..."));
                        fire_bolt(GF_PSI, dir, plev);
                        break;
 
@@ -2005,22 +1570,12 @@ static bool cmd_racial_power_aux(s32b command)
                        if (!get_aim_dir(&dir)) return FALSE;
                        if (plev >= 30)
                        {
-#ifdef JP
-                               msg_print("ファイア・ボールを放った。");
-#else
-                               msg_print("You cast a ball of fire.");
-#endif
-
+                               msg_print(_("ファイア・ボールを放った。", "You cast a ball of fire."));
                                fire_ball(GF_FIRE, dir, plev, 2);
                        }
                        else
                        {
-#ifdef JP
-                               msg_print("ファイア・ボルトを放った。");
-#else
-                               msg_print("You cast a bolt of fire.");
-#endif
-
+                               msg_print(_("ファイア・ボルトを放った。", "You cast a bolt of fire."));
                                fire_bolt(GF_FIRE, dir, plev);
                        }
                        break;
@@ -2031,23 +1586,14 @@ static bool cmd_racial_power_aux(s32b command)
 
                case RACE_SKELETON:
                case RACE_ZOMBIE:
-#ifdef JP
-                       msg_print("あなたは失ったエネルギーを取り戻そうと試みた。");
-#else
-                       msg_print("You attempt to restore your lost energies.");
-#endif
-
+                       msg_print(_("あなたは失ったエネルギーを取り戻そうと試みた。", "You attempt to restore your lost energies."));
                        (void)restore_level();
                        break;
 
                case RACE_VAMPIRE:
                        if (d_info[dungeon_type].flags1 & DF1_NO_MELEE)
                        {
-#ifdef JP
-                               msg_print("なぜか攻撃することができない。");
-#else
-                               msg_print("Something prevent you from attacking.");
-#endif
+                               msg_print(_("なぜか攻撃することができない。", "Something prevent you from attacking."));
                                return FALSE;
                        }
                        else
@@ -2065,21 +1611,11 @@ static bool cmd_racial_power_aux(s32b command)
 
                                if (!c_ptr->m_idx)
                                {
-#ifdef JP
-                                       msg_print("何もない場所に噛みついた!");
-#else
-                                       msg_print("You bite into thin air!");
-#endif
-
+                                       msg_print(_("何もない場所に噛みついた!", "You bite into thin air!"));
                                        break;
                                }
 
-#ifdef JP
-                               msg_print("あなたはニヤリとして牙をむいた...");
-#else
-                               msg_print("You grin and bare your fangs...");
-#endif
-
+                               msg_print(_("あなたはニヤリとして牙をむいた...", "You grin and bare your fangs..."));
                                dummy = plev + randint1(plev) * MAX(1, plev / 10);   /* Dmg */
                                if (drain_life(dir, dummy))
                                {
@@ -2087,11 +1623,7 @@ static bool cmd_racial_power_aux(s32b command)
                                                /* No heal if we are "full" */
                                                (void)hp_player(dummy);
                                        else
-#ifdef JP
-                                               msg_print("あなたは空腹ではありません。");
-#else
-                                               msg_print("You were not hungry.");
-#endif
+                                               msg_print(_("あなたは空腹ではありません。", "You were not hungry."));
 
                                        /* Gain nutritional sustenance: 150/hp drained */
                                        /* A Food ration gives 5000 food points (by contrast) */
@@ -2102,34 +1634,19 @@ static bool cmd_racial_power_aux(s32b command)
                                                (void)set_food(dummy >= PY_FOOD_MAX ? PY_FOOD_MAX - 1 : dummy);
                                }
                                else
-#ifdef JP
-                                       msg_print("げぇ。ひどい味だ。");
-#else
-                                       msg_print("Yechh. That tastes foul.");
-#endif
-
+                                       msg_print(_("げぇ。ひどい味だ。", "Yechh. That tastes foul."));
                        }
                        break;
 
                case RACE_SPECTRE:
                        if (!get_aim_dir(&dir)) return FALSE;
                        ratial_stop_mouth();
-#ifdef JP
-                       msg_print("あなたはおどろおどろしい叫び声をあげた!");
-#else
-                       msg_print("You emit an eldritch howl!");
-#endif
-
+                       msg_print(_("あなたはおどろおどろしい叫び声をあげた!", "You emit an eldritch howl!"));
                        (void)fear_monster(dir, plev);
                        break;
 
                case RACE_SPRITE:
-#ifdef JP
-                       msg_print("あなたは魔法の粉を投げつけた...");
-#else
-                       msg_print("You throw some magic dust...");
-#endif
-
+                       msg_print(_("あなたは魔法の粉を投げつけた...", "You throw some magic dust..."));
                        if (plev < 25) sleep_monsters_touch();
                        else (void)sleep_monsters(plev);
                        break;
@@ -2157,58 +1674,33 @@ static bool cmd_racial_power_aux(s32b command)
                        if (!get_aim_dir(&dir)) return FALSE;
                        if (plev < 10)
                        {
-#ifdef JP
-                               msg_print("レイガンを発射した。");
-#else
-                               msg_print("You fire your ray gun.");
-#endif
+                               msg_print(_("レイガンを発射した。", "You fire your ray gun."));
                                fire_bolt(GF_MISSILE, dir, (plev+1) / 2);
                        }
                        else if (plev < 25)
                        {
-#ifdef JP
-                               msg_print("ブラスターを発射した。");
-#else
-                               msg_print("You fire your blaster.");
-#endif
+                               msg_print(_("ブラスターを発射した。", "You fire your blaster."));
                                fire_bolt(GF_MISSILE, dir, plev);
                        }
                        else if (plev < 35)
                        {
-#ifdef JP
-                               msg_print("バズーカを発射した。");
-#else
-                               msg_print("You fire your bazooka.");
-#endif
+                               msg_print(_("バズーカを発射した。", "You fire your bazooka."));
                                fire_ball(GF_MISSILE, dir, plev * 2, 2);
                        }
                        else if (plev < 45)
                        {
-#ifdef JP
-                               msg_print("ビームキャノンを発射した。");
-#else
-                               msg_print("You fire a beam cannon.");
-#endif
+                               msg_print(_("ビームキャノンを発射した。", "You fire a beam cannon."));
                                fire_beam(GF_MISSILE, dir, plev * 2);
                        }
                        else
                        {
-#ifdef JP
-                               msg_print("ロケットを発射した。");
-#else
-                               msg_print("You fire a rocket.");
-#endif
+                               msg_print(_("ロケットを発射した。", "You fire a rocket."));
                                fire_rocket(GF_ROCKET, dir, plev * 5, 2);
                        }
                        break;
 
                default:
-#ifdef JP
-                       msg_print("この種族は特殊な能力を持っていません。");
-#else
-                       msg_print("This race has no bonus power.");
-#endif
-
+                       msg_print(_("この種族は特殊な能力を持っていません。", "This race has no bonus power."));
                        energy_use = 0;
        }
        }
@@ -2242,12 +1734,7 @@ void do_cmd_racial_power(void)
 
        if (p_ptr->confused)
        {
-#ifdef JP
-msg_print("混乱していて特殊能力を使えません!");
-#else
-               msg_print("You are too confused to use any powers!");
-#endif
-
+               msg_print(_("混乱していて特殊能力を使えません!", "You are too confused to use any powers!"));
                energy_use = 0;
                return;
        }
@@ -2261,12 +1748,7 @@ msg_print("混乱していて特殊能力を使えません!");
        {
        case CLASS_WARRIOR:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "剣の舞い");
-#else
-               strcpy(power_desc[num].name, "Sword Dancing");
-#endif
-
+               strcpy(power_desc[num].name, _("剣の舞い", "Sword Dancing"));
                power_desc[num].level = 40;
                power_desc[num].cost = 75;
                power_desc[num].stat = A_DEX;
@@ -2277,11 +1759,7 @@ strcpy(power_desc[num].name, "剣の舞い");
        case CLASS_HIGH_MAGE:
        if (p_ptr->realm1 == REALM_HEX)
        {
-#ifdef JP
-               strcpy(power_desc[num].name, "詠唱をやめる");
-#else
-               strcpy(power_desc[num].name, "Stop spelling");
-#endif
+               strcpy(power_desc[num].name, _("詠唱をやめる", "Stop spelling"));
                power_desc[num].level = 1;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_INT;
@@ -2293,12 +1771,7 @@ strcpy(power_desc[num].name, "剣の舞い");
        /* case CLASS_HIGH_MAGE: */
        case CLASS_SORCERER:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "魔力食い");
-#else
-               strcpy(power_desc[num].name, "Eat Magic");
-#endif
-
+               strcpy(power_desc[num].name, _("魔力食い", "Eat Magic"));
                power_desc[num].level = 25;
                power_desc[num].cost = 1;
                power_desc[num].stat = A_INT;
@@ -2310,12 +1783,7 @@ strcpy(power_desc[num].name, "魔力食い");
        {
                if (is_good_realm(p_ptr->realm1))
                {
-#ifdef JP
-strcpy(power_desc[num].name, "武器祝福");
-#else
-                       strcpy(power_desc[num].name, "Bless Weapon");
-#endif
-
+                       strcpy(power_desc[num].name, _("武器祝福", "Bless Weapon"));
                        power_desc[num].level = 35;
                        power_desc[num].cost = 70;
                        power_desc[num].stat = A_WIS;
@@ -2324,12 +1792,7 @@ strcpy(power_desc[num].name, "武器祝福");
                }
                else
                {
-#ifdef JP
-strcpy(power_desc[num].name, "召魂");
-#else
-                       strcpy(power_desc[num].name, "Evocation");
-#endif
-
+                       strcpy(power_desc[num].name, _("召魂", "Evocation"));
                        power_desc[num].level = 42;
                        power_desc[num].cost = 40;
                        power_desc[num].stat = A_WIS;
@@ -2340,12 +1803,7 @@ strcpy(power_desc[num].name, "召魂");
        }
        case CLASS_ROGUE:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "ヒット&アウェイ");
-#else
-               strcpy(power_desc[num].name, "Hit and Away");
-#endif
-
+               strcpy(power_desc[num].name, _("ヒット&アウェイ", "Hit and Away"));
                power_desc[num].level = 8;
                power_desc[num].cost = 12;
                power_desc[num].stat = A_DEX;
@@ -2356,12 +1814,7 @@ strcpy(power_desc[num].name, "ヒット&アウェイ");
        case CLASS_RANGER:
        case CLASS_SNIPER:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "モンスター調査");
-#else
-               strcpy(power_desc[num].name, "Probe Monster");
-#endif
-
+               strcpy(power_desc[num].name, _("モンスター調査", "Probe Monster"));
                power_desc[num].level = 15;
                power_desc[num].cost = 20;
                power_desc[num].stat = A_INT;
@@ -2373,12 +1826,7 @@ strcpy(power_desc[num].name, "モンスター調査");
        {
                if (is_good_realm(p_ptr->realm1))
                {
-#ifdef JP
-strcpy(power_desc[num].name, "ホーリー・ランス");
-#else
-                       strcpy(power_desc[num].name, "Holy Lance");
-#endif
-
+                       strcpy(power_desc[num].name, _("ホーリー・ランス", "Holy Lance"));
                        power_desc[num].level = 30;
                        power_desc[num].cost = 30;
                        power_desc[num].stat = A_WIS;
@@ -2387,12 +1835,7 @@ strcpy(power_desc[num].name, "ホーリー・ランス");
                }
                else
                {
-#ifdef JP
-strcpy(power_desc[num].name, "ヘル・ランス");
-#else
-                       strcpy(power_desc[num].name, "Hell Lance");
-#endif
-
+                       strcpy(power_desc[num].name, _("ヘル・ランス", "Hell Lance"));
                        power_desc[num].level = 30;
                        power_desc[num].cost = 30;
                        power_desc[num].stat = A_WIS;
@@ -2403,23 +1846,14 @@ strcpy(power_desc[num].name, "ヘル・ランス");
        }
        case CLASS_WARRIOR_MAGE:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "変換: HP→MP");
-#else
-               strcpy(power_desc[num].name, "Convert HP to SP");
-#endif
-
+               strcpy(power_desc[num].name, _("変換: HP→MP", "Convert HP to SP"));
                power_desc[num].level = 25;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_INT;
                power_desc[num].fail = 10;
                power_desc[num++].number = -3;
-#ifdef JP
-strcpy(power_desc[num].name, "変換: MP→HP");
-#else
-               strcpy(power_desc[num].name, "Convert SP to HP");
-#endif
-
+                       
+               strcpy(power_desc[num].name, _("変換: MP→HP", "Convert SP to HP"));
                power_desc[num].level = 25;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_INT;
@@ -2429,12 +1863,7 @@ strcpy(power_desc[num].name, "変換: MP→HP");
        }
        case CLASS_CHAOS_WARRIOR:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "幻惑の光");
-#else
-               strcpy(power_desc[num].name, "Confusing Light");
-#endif
-
+               strcpy(power_desc[num].name, _("幻惑の光", "Confusing Light"));
                power_desc[num].level = 40;
                power_desc[num].cost = 50;
                power_desc[num].stat = A_INT;
@@ -2444,23 +1873,14 @@ strcpy(power_desc[num].name, "幻惑の光");
        }
        case CLASS_MONK:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "構える");
-#else
-               strcpy(power_desc[num].name, "Assume a Posture");
-#endif
-
+               strcpy(power_desc[num].name, _("構える", "Assume a Posture"));
                power_desc[num].level = 25;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_DEX;
                power_desc[num].fail = 0;
                power_desc[num++].number = -3;
-#ifdef JP
-strcpy(power_desc[num].name, "百裂拳");
-#else
-               strcpy(power_desc[num].name, "Double Attack");
-#endif
-
+                       
+               strcpy(power_desc[num].name, _("百裂拳", "Double Attack"));
                power_desc[num].level = 30;
                power_desc[num].cost = 30;
                power_desc[num].stat = A_STR;
@@ -2471,12 +1891,7 @@ strcpy(power_desc[num].name, "百裂拳");
        case CLASS_MINDCRAFTER:
        case CLASS_FORCETRAINER:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "明鏡止水");
-#else
-               strcpy(power_desc[num].name, "Clear Mind");
-#endif
-
+               strcpy(power_desc[num].name, _("明鏡止水", "Clear Mind"));
                power_desc[num].level = 15;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_WIS;
@@ -2486,23 +1901,14 @@ strcpy(power_desc[num].name, "明鏡止水");
        }
        case CLASS_TOURIST:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "写真撮影");
-#else
-               strcpy(power_desc[num].name, "Take a Photograph");
-#endif
-
+               strcpy(power_desc[num].name, _("写真撮影", "Take a Photograph"));
                power_desc[num].level = 1;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_DEX;
                power_desc[num].fail = 0;
                power_desc[num++].number = -3;
-#ifdef JP
-strcpy(power_desc[num].name, "真・鑑定");
-#else
-               strcpy(power_desc[num].name, "Identify True");
-#endif
-
+               
+               strcpy(power_desc[num].name, _("真・鑑定", "Identify True"));
                power_desc[num].level = 25;
                power_desc[num].cost = 20;
                power_desc[num].stat = A_INT;
@@ -2512,12 +1918,7 @@ strcpy(power_desc[num].name, "真・鑑定");
        }
        case CLASS_IMITATOR:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "倍返し");
-#else
-               strcpy(power_desc[num].name, "Double Revenge");
-#endif
-
+               strcpy(power_desc[num].name, _("倍返し", "Double Revenge"));
                power_desc[num].level = 30;
                power_desc[num].cost = 100;
                power_desc[num].stat = A_DEX;
@@ -2527,23 +1928,14 @@ strcpy(power_desc[num].name, "倍返し");
        }
        case CLASS_BEASTMASTER:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "生物支配");
-#else
-               strcpy(power_desc[num].name, "Dominate a Living Thing");
-#endif
-
+               strcpy(power_desc[num].name, _("生物支配", "Dominate a Living Thing"));
                power_desc[num].level = 1;
                power_desc[num].cost = (p_ptr->lev+3)/4;
                power_desc[num].stat = A_CHR;
                power_desc[num].fail = 10;
                power_desc[num++].number = -3;
-#ifdef JP
-strcpy(power_desc[num].name, "真・生物支配");
-#else
-               strcpy(power_desc[num].name, "Dominate Living Things");
-#endif
-
+               
+               strcpy(power_desc[num].name, _("真・生物支配", "Dominate Living Things"));
                power_desc[num].level = 30;
                power_desc[num].cost = (p_ptr->lev+20)/2;
                power_desc[num].stat = A_CHR;
@@ -2553,12 +1945,7 @@ strcpy(power_desc[num].name, "真・生物支配");
        }
        case CLASS_ARCHER:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "弾/矢の製造");
-#else
-               strcpy(power_desc[num].name, "Create Ammo");
-#endif
-
+               strcpy(power_desc[num].name, _("弾/矢の製造", "Create Ammo"));
                power_desc[num].level = 1;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_DEX;
@@ -2568,12 +1955,7 @@ strcpy(power_desc[num].name, "弾/矢の製造");
        }
        case CLASS_MAGIC_EATER:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "魔力の取り込み");
-#else
-               strcpy(power_desc[num].name, "Absorb Magic");
-#endif
-
+               strcpy(power_desc[num].name, _("魔力の取り込み", "Absorb Magic"));
                power_desc[num].level = 1;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_INT;
@@ -2590,12 +1972,7 @@ strcpy(power_desc[num].name, "魔力の取り込み");
        }
        case CLASS_BARD:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "歌を止める");
-#else
-               strcpy(power_desc[num].name, "Stop Singing");
-#endif
-
+               strcpy(power_desc[num].name, _("歌を止める", "Stop Singing"));
                power_desc[num].level = 1;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_CHR;
@@ -2605,12 +1982,7 @@ strcpy(power_desc[num].name, "歌を止める");
        }
        case CLASS_RED_MAGE:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "連続魔");
-#else
-               strcpy(power_desc[num].name, "Double Magic");
-#endif
-
+               strcpy(power_desc[num].name, _("連続魔", "Double Magic"));
                power_desc[num].level = 48;
                power_desc[num].cost = 20;
                power_desc[num].stat = A_INT;
@@ -2620,23 +1992,14 @@ strcpy(power_desc[num].name, "連続魔");
        }
        case CLASS_SAMURAI:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "気合いため");
-#else
-               strcpy(power_desc[num].name, "Concentration");
-#endif
-
+               strcpy(power_desc[num].name, _("気合いため", "Concentration"));
                power_desc[num].level = 1;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_WIS;
                power_desc[num].fail = 0;
                power_desc[num++].number = -3;
-#ifdef JP
-strcpy(power_desc[num].name, "型");
-#else
-               strcpy(power_desc[num].name, "Assume a Posture");
-#endif
-
+               
+               strcpy(power_desc[num].name, _("型", "Assume a Posture"));
                power_desc[num].level = 25;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_DEX;
@@ -2646,12 +2009,7 @@ strcpy(power_desc[num].name, "型");
        }
        case CLASS_BLUE_MAGE:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "ラーニング");
-#else
-               strcpy(power_desc[num].name, "Learning");
-#endif
-
+               strcpy(power_desc[num].name, _("ラーニング", "Learning"));
                power_desc[num].level = 1;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_INT;
@@ -2661,12 +2019,7 @@ strcpy(power_desc[num].name, "ラーニング");
        }
        case CLASS_CAVALRY:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "荒馬ならし");
-#else
-               strcpy(power_desc[num].name, "Rodeo");
-#endif
-
+               strcpy(power_desc[num].name, _("荒馬ならし", "Rodeo"));
                power_desc[num].level = 10;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_STR;
@@ -2676,12 +2029,7 @@ strcpy(power_desc[num].name, "荒馬ならし");
        }
        case CLASS_BERSERKER:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "帰還");
-#else
-               strcpy(power_desc[num].name, "Recall");
-#endif
-
+               strcpy(power_desc[num].name, _("帰還", "Recall"));
                power_desc[num].level = 10;
                power_desc[num].cost = 10;
                power_desc[num].stat = A_DEX;
@@ -2691,23 +2039,14 @@ strcpy(power_desc[num].name, "帰還");
        }
        case CLASS_MIRROR_MASTER:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "鏡割り");
-#else
-               strcpy(power_desc[num].name, "Break Mirrors");
-#endif
-
+               strcpy(power_desc[num].name, _("鏡割り", "Break Mirrors"));
                power_desc[num].level = 1;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_INT;
                power_desc[num].fail = 0;
                power_desc[num++].number = -3;
-#ifdef JP
-strcpy(power_desc[num].name, "静水");
-#else
-               strcpy(power_desc[num].name, "Mirror Concentration");
-#endif
-
+               
+               strcpy(power_desc[num].name, _("静水", "Mirror Concentration"));
                power_desc[num].level = 30;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_INT;
@@ -2717,12 +2056,7 @@ strcpy(power_desc[num].name, "静水");
        }
        case CLASS_SMITH:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "目利き");
-#else
-               strcpy(power_desc[num].name, "Judgment");
-#endif
-
+               strcpy(power_desc[num].name, _("目利き", "Judgment"));
                power_desc[num].level = 5;
                power_desc[num].cost = 15;
                power_desc[num].stat = A_INT;
@@ -2732,12 +2066,7 @@ strcpy(power_desc[num].name, "目利き");
        }
        case CLASS_NINJA:
        {
-#ifdef JP
-strcpy(power_desc[num].name, "速駆け");
-#else
-               strcpy(power_desc[num].name, "Quick Walk");
-#endif
-
+               strcpy(power_desc[num].name, _("速駆け", "Quick Walk"));
                power_desc[num].level = 20;
                power_desc[num].cost = 0;
                power_desc[num].stat = A_DEX;
@@ -2746,12 +2075,7 @@ strcpy(power_desc[num].name, "速駆け");
                break;
        }
        default:
-#ifdef JP
-strcpy(power_desc[0].name, "(なし)");
-#else
-               strcpy(power_desc[0].name, "(none)");
-#endif
-
+               strcpy(power_desc[0].name, _("(なし)", "(none)"));
        }
 
        if (p_ptr->mimic_form)
@@ -2760,12 +2084,7 @@ strcpy(power_desc[0].name, "(なし)");
                {
                case MIMIC_DEMON:
                case MIMIC_DEMON_LORD:
-#ifdef JP
-sprintf(power_desc[num].name, "地獄/火炎のブレス (ダメージ %d)", lvl * 3);
-#else
-                       sprintf(power_desc[num].name, "Nether or Fire Breath (dam %d)", lvl * 3);
-#endif
-
+                       sprintf(power_desc[num].name, _("地獄/火炎のブレス (ダメージ %d)", "Nether or Fire Breath (dam %d)"), lvl * 3);
                        power_desc[num].level = 15;
                        power_desc[num].cost = 10+lvl/3;
                        power_desc[num].stat = A_CON;
@@ -2773,12 +2092,7 @@ sprintf(power_desc[num].name, "地獄/火炎のブレス (ダメージ %d)", lvl
                        power_desc[num++].number = -1;
                        break;
                case MIMIC_VAMPIRE:
-#ifdef JP
-strcpy(power_desc[num].name, "生命力吸収");
-#else
-                       strcpy(power_desc[num].name, "Drain Life");
-#endif
-
+                       strcpy(power_desc[num].name, _("生命力吸収", "Drain Life"));
                        power_desc[num].level = 2;
                        power_desc[num].cost = 1 + (lvl / 3);
                        power_desc[num].stat = A_CON;
@@ -2792,12 +2106,7 @@ strcpy(power_desc[num].name, "生命力吸収");
        switch (p_ptr->prace)
        {
                case RACE_DWARF:
-#ifdef JP
-strcpy(power_desc[num].name, "ドアと罠 感知");
-#else
-                       strcpy(power_desc[num].name, "Detect Doors+Traps");
-#endif
-
+                       strcpy(power_desc[num].name, _("ドアと罠 感知", "Detect Doors+Traps"));
                        power_desc[num].level = 5;
                        power_desc[num].cost = 5;
                        power_desc[num].stat = A_WIS;
@@ -2805,12 +2114,7 @@ strcpy(power_desc[num].name, "ドアと罠 感知");
                        power_desc[num++].number = -1;
                        break;
                case RACE_NIBELUNG:
-#ifdef JP
-strcpy(power_desc[num].name, "ドアと罠 感知");
-#else
-                       strcpy(power_desc[num].name, "Detect Doors+Traps");
-#endif
-
+                       strcpy(power_desc[num].name, _("ドアと罠 感知", "Detect Doors+Traps"));
                        power_desc[num].level = 10;
                        power_desc[num].cost = 5;
                        power_desc[num].stat = A_WIS;
@@ -2818,12 +2122,7 @@ strcpy(power_desc[num].name, "ドアと罠 感知");
                        power_desc[num++].number = -1;
                        break;
                case RACE_HOBBIT:
-#ifdef JP
-strcpy(power_desc[num].name, "食糧生成");
-#else
-                       strcpy(power_desc[num].name, "Create Food");
-#endif
-
+                       strcpy(power_desc[num].name, _("食糧生成", "Create Food"));
                        power_desc[num].level = 15;
                        power_desc[num].cost = 10;
                        power_desc[num].stat = A_INT;
@@ -2831,12 +2130,7 @@ strcpy(power_desc[num].name, "食糧生成");
                        power_desc[num++].number = -1;
                        break;
                case RACE_GNOME:
-#ifdef JP
-sprintf(power_desc[num].name, "ショート・テレポート");
-#else
-                       sprintf(power_desc[num].name, "Blink");
-#endif
-
+                       sprintf(power_desc[num].name, _("ショート・テレポート", "Blink"));
                        power_desc[num].level = 5;
                        power_desc[num].cost = 5;
                        power_desc[num].stat = A_INT;
@@ -2844,25 +2138,15 @@ sprintf(power_desc[num].name, "ショート・テレポート");
                        power_desc[num++].number = -1;
                        break;
                case RACE_HALF_ORC:
-#ifdef JP
-strcpy(power_desc[num].name, "恐怖除去");
-#else
-                       strcpy(power_desc[num].name, "Remove Fear");
-#endif
-
+                       strcpy(power_desc[num].name, _("恐怖除去", "Remove Fear"));
                        power_desc[num].level = 3;
                        power_desc[num].cost = 5;
                        power_desc[num].stat = A_WIS;
                        power_desc[num].fail = warrior ? 5 : 10;
-                       power_desc[num++].number = -1;
-                       break;
-               case RACE_HALF_TROLL:
-#ifdef JP
-strcpy(power_desc[num].name, "狂戦士化");
-#else
-                       strcpy(power_desc[num].name, "Berserk");
-#endif
-
+                       power_desc[num++].number = -1;
+                       break;
+               case RACE_HALF_TROLL:
+                       strcpy(power_desc[num].name, _("狂戦士化", "Berserk"));
                        power_desc[num].level = 10;
                        power_desc[num].cost = 12;
                        power_desc[num].stat = A_STR;
@@ -2870,12 +2154,7 @@ strcpy(power_desc[num].name, "狂戦士化");
                        power_desc[num++].number = -1;
                        break;
                case RACE_BARBARIAN:
-#ifdef JP
-strcpy(power_desc[num].name, "狂戦士化");
-#else
-                       strcpy(power_desc[num].name, "Berserk");
-#endif
-
+                       strcpy(power_desc[num].name, _("狂戦士化", "Berserk"));
                        power_desc[num].level = 8;
                        power_desc[num].cost = 10;
                        power_desc[num].stat = A_STR;
@@ -2883,23 +2162,14 @@ strcpy(power_desc[num].name, "狂戦士化");
                        power_desc[num++].number = -1;
                        break;
                case RACE_AMBERITE:
-#ifdef JP
-strcpy(power_desc[num].name, "シャドウ・シフト");
-#else
-                       strcpy(power_desc[num].name, "Shadow Shifting");
-#endif
-
+                       strcpy(power_desc[num].name, _("シャドウ・シフト", "Shadow Shifting"));
                        power_desc[num].level = 30;
                        power_desc[num].cost = 50;
                        power_desc[num].stat = A_INT;
                        power_desc[num].fail = 50;
                        power_desc[num++].number = -1;
-#ifdef JP
-strcpy(power_desc[num].name, "パターン・ウォーク");
-#else
-                       strcpy(power_desc[num].name, "Pattern Mindwalking");
-#endif
-
+                       
+                       strcpy(power_desc[num].name, _("パターン・ウォーク", "Pattern Mindwalking"));
                        power_desc[num].level = 40;
                        power_desc[num].cost = 75;
                        power_desc[num].stat = A_WIS;
@@ -2907,12 +2177,7 @@ strcpy(power_desc[num].name, "パターン・ウォーク");
                        power_desc[num++].number = -2;
                        break;
                case RACE_HALF_OGRE:
-#ifdef JP
-strcpy(power_desc[num].name, "爆発のルーン");
-#else
-                       strcpy(power_desc[num].name, "Explosive Rune");
-#endif
-
+                       strcpy(power_desc[num].name, _("爆発のルーン", "Explosive Rune"));
                        power_desc[num].level = 25;
                        power_desc[num].cost = 35;
                        power_desc[num].stat = A_INT;
@@ -2920,12 +2185,7 @@ strcpy(power_desc[num].name, "爆発のルーン");
                        power_desc[num++].number = -1;
                        break;
                case RACE_HALF_GIANT:
-#ifdef JP
-strcpy(power_desc[num].name, "岩石溶解");
-#else
-                       strcpy(power_desc[num].name, "Stone to Mud");
-#endif
-
+                       strcpy(power_desc[num].name, _("岩石溶解", "Stone to Mud"));
                        power_desc[num].level = 20;
                        power_desc[num].cost = 10;
                        power_desc[num].stat = A_STR;
@@ -2933,12 +2193,7 @@ strcpy(power_desc[num].name, "岩石溶解");
                        power_desc[num++].number = -1;
                        break;
                case RACE_HALF_TITAN:
-#ifdef JP
-strcpy(power_desc[num].name, "スキャン・モンスター");
-#else
-                       strcpy(power_desc[num].name, "Probing");
-#endif
-
+                       strcpy(power_desc[num].name, _("スキャン・モンスター", "Probing"));
                        power_desc[num].level = 15;
                        power_desc[num].cost = 10;
                        power_desc[num].stat = A_INT;
@@ -2946,12 +2201,7 @@ strcpy(power_desc[num].name, "スキャン・モンスター");
                        power_desc[num++].number = -1;
                        break;
                case RACE_CYCLOPS:
-#ifdef JP
-sprintf(power_desc[num].name, "岩石投げ(ダメージ %d)", (3 * lvl) / 2);
-#else
-                       sprintf(power_desc[num].name, "Throw Boulder (dam %d)", (3 * lvl) / 2);
-#endif
-
+                       sprintf(power_desc[num].name, _("岩石投げ(ダメージ %d)", "Throw Boulder (dam %d)"), (3 * lvl) / 2);
                        power_desc[num].level = 20;
                        power_desc[num].cost = 15;
                        power_desc[num].stat = A_STR;
@@ -2959,12 +2209,7 @@ sprintf(power_desc[num].name, "岩石投げ(ダメージ %d)", (3 * lvl) / 2
                        power_desc[num++].number = -1;
                        break;
                case RACE_YEEK:
-#ifdef JP
-strcpy(power_desc[num].name, "モンスター恐慌");
-#else
-                       strcpy(power_desc[num].name, "Scare Monster");
-#endif
-
+                       strcpy(power_desc[num].name, _("モンスター恐慌", "Scare Monster"));
                        power_desc[num].level = 15;
                        power_desc[num].cost = 15;
                        power_desc[num].stat = A_WIS;
@@ -2972,12 +2217,7 @@ strcpy(power_desc[num].name, "モンスター恐慌");
                        power_desc[num++].number = -1;
                        break;
                case RACE_SPECTRE:
-#ifdef JP
-strcpy(power_desc[num].name, "モンスター恐慌");
-#else
-                       strcpy(power_desc[num].name, "Scare Monster");
-#endif
-
+                       strcpy(power_desc[num].name, _("モンスター恐慌", "Scare Monster"));
                        power_desc[num].level = 4;
                        power_desc[num].cost = 6;
                        power_desc[num].stat = A_INT;
@@ -2985,12 +2225,7 @@ strcpy(power_desc[num].name, "モンスター恐慌");
                        power_desc[num++].number = -1;
                        break;
                case RACE_KLACKON:
-#ifdef JP
-sprintf(power_desc[num].name, "酸の唾 (ダメージ %d)", lvl);
-#else
-                       sprintf(power_desc[num].name, "Spit Acid (dam %d)", lvl);
-#endif
-
+                       sprintf(power_desc[num].name, _("酸の唾 (ダメージ %d)", "Spit Acid (dam %d)"), lvl);
                        power_desc[num].level = 9;
                        power_desc[num].cost = 9;
                        power_desc[num].stat = A_DEX;
@@ -2998,12 +2233,7 @@ sprintf(power_desc[num].name, "酸の唾 (ダメージ %d)", lvl);
                        power_desc[num++].number = -1;
                        break;
                case RACE_KOBOLD:
-#ifdef JP
-sprintf(power_desc[num].name, "毒のダーツ (ダメージ %d)", lvl);
-#else
-                       sprintf(power_desc[num].name, "Poison Dart (dam %d)", lvl);
-#endif
-
+                       sprintf(power_desc[num].name, _("毒のダーツ (ダメージ %d)", "Poison Dart (dam %d)"), lvl);
                        power_desc[num].level = 12;
                        power_desc[num].cost = 8;
                        power_desc[num].stat = A_DEX;
@@ -3011,12 +2241,7 @@ sprintf(power_desc[num].name, "毒のダーツ (ダメージ %d)", lvl);
                        power_desc[num++].number = -1;
                        break;
                case RACE_DARK_ELF:
-#ifdef JP
-sprintf(power_desc[num].name, "マジック・ミサイル (ダメージ %dd%d)", 3 + ((lvl - 1) / 5), 4);
-#else
-                       sprintf(power_desc[num].name, "Magic Missile (dm %dd%d)", 3 + ((lvl - 1) / 5), 4);
-#endif
-
+                       sprintf(power_desc[num].name, _("マジック・ミサイル (ダメージ %dd%d)", "Magic Missile (dm %dd%d)"), 3 + ((lvl - 1) / 5), 4);
                        power_desc[num].level = 2;
                        power_desc[num].cost = 2;
                        power_desc[num].stat = A_INT;
@@ -3024,12 +2249,7 @@ sprintf(power_desc[num].name, "マジック・ミサイル (ダメージ %dd%d)"
                        power_desc[num++].number = -1;
                        break;
                case RACE_DRACONIAN:
-#ifdef JP
-sprintf(power_desc[num].name, "ブレス (ダメージ %d)", lvl * 2);
-#else
-                       sprintf(power_desc[num].name, "Breath Weapon (dam %d)", lvl * 2);
-#endif
-
+                       sprintf(power_desc[num].name, _("ブレス (ダメージ %d)", "Breath Weapon (dam %d)"), lvl * 2);
                        power_desc[num].level = 1;
                        power_desc[num].cost = lvl;
                        power_desc[num].stat = A_CON;
@@ -3037,12 +2257,7 @@ sprintf(power_desc[num].name, "ブレス (ダメージ %d)", lvl * 2);
                        power_desc[num++].number = -1;
                        break;
                case RACE_MIND_FLAYER:
-#ifdef JP
-sprintf(power_desc[num].name, "精神攻撃 (ダメージ %d)", lvl);
-#else
-                       sprintf(power_desc[num].name, "Mind Blast (dam %d)", lvl);
-#endif
-
+                       sprintf(power_desc[num].name, _("精神攻撃 (ダメージ %d)", "Mind Blast (dam %d)"), lvl);
                        power_desc[num].level = 15;
                        power_desc[num].cost = 12;
                        power_desc[num].stat = A_INT;
@@ -3050,12 +2265,7 @@ sprintf(power_desc[num].name, "精神攻撃 (ダメージ %d)", lvl);
                        power_desc[num++].number = -1;
                        break;
                case RACE_IMP:
-#ifdef JP
-sprintf(power_desc[num].name, "ファイア・ボルト/ボール (ダメージ %d)", lvl);
-#else
-                       sprintf(power_desc[num].name, "Fire Bolt/Ball (dam %d)", lvl);
-#endif
-
+                       sprintf(power_desc[num].name, _("ファイア・ボルト/ボール (ダメージ %d)", "Fire Bolt/Ball (dam %d)"), lvl);
                        power_desc[num].level = 9;
                        power_desc[num].cost = 15;
                        power_desc[num].stat = A_WIS;
@@ -3063,12 +2273,7 @@ sprintf(power_desc[num].name, "ファイア・ボルト/ボール (ダメージ
                        power_desc[num++].number = -1;
                        break;
                case RACE_GOLEM:
-#ifdef JP
-strcpy(power_desc[num].name, "肌石化 (期間 1d20+30)");
-#else
-                       strcpy(power_desc[num].name, "Stone Skin (dur 1d20+30)");
-#endif
-
+                       strcpy(power_desc[num].name, _("肌石化 (期間 1d20+30)", "Stone Skin (dur 1d20+30)"));
                        power_desc[num].level = 20;
                        power_desc[num].cost = 15;
                        power_desc[num].stat = A_CON;
@@ -3077,12 +2282,7 @@ strcpy(power_desc[num].name, "肌石化 (期間 1d20+30)");
                        break;
                case RACE_SKELETON:
                case RACE_ZOMBIE:
-#ifdef JP
-strcpy(power_desc[num].name, "経験値復活");
-#else
-                       strcpy(power_desc[num].name, "Restore Experience");
-#endif
-
+                       strcpy(power_desc[num].name, _("経験値復活", "Restore Experience"));
                        power_desc[num].level = 30;
                        power_desc[num].cost = 30;
                        power_desc[num].stat = A_WIS;
@@ -3090,12 +2290,7 @@ strcpy(power_desc[num].name, "経験値復活");
                        power_desc[num++].number = -1;
                        break;
                case RACE_VAMPIRE:
-#ifdef JP
-strcpy(power_desc[num].name, "生命力吸収");
-#else
-                       strcpy(power_desc[num].name, "Drain Life");
-#endif
-
+                       strcpy(power_desc[num].name, _("生命力吸収", "Drain Life"));
                        power_desc[num].level = 2;
                        power_desc[num].cost = 1 + (lvl / 3);
                        power_desc[num].stat = A_CON;
@@ -3103,12 +2298,7 @@ strcpy(power_desc[num].name, "生命力吸収");
                        power_desc[num++].number = -1;
                        break;
                case RACE_SPRITE:
-#ifdef JP
-strcpy(power_desc[num].name, "眠り粉");
-#else
-                       strcpy(power_desc[num].name, "Sleeping Dust");
-#endif
-
+                       strcpy(power_desc[num].name, _("眠り粉", "Sleeping Dust"));
                        power_desc[num].level = 12;
                        power_desc[num].cost = 12;
                        power_desc[num].stat = A_INT;
@@ -3116,12 +2306,7 @@ strcpy(power_desc[num].name, "眠り粉");
                        power_desc[num++].number = -1;
                        break;
                case RACE_DEMON:
-#ifdef JP
-sprintf(power_desc[num].name, "地獄/火炎のブレス (ダメージ %d)", lvl * 3);
-#else
-                       sprintf(power_desc[num].name, "Nether or Fire Breath (dam %d)", lvl * 3);
-#endif
-
+                       sprintf(power_desc[num].name, _("地獄/火炎のブレス (ダメージ %d)", "Nether or Fire Breath (dam %d)"), lvl * 3);
                        power_desc[num].level = 15;
                        power_desc[num].cost = 10+lvl/3;
                        power_desc[num].stat = A_CON;
@@ -3129,12 +2314,7 @@ sprintf(power_desc[num].name, "地獄/火炎のブレス (ダメージ %d)", lvl
                        power_desc[num++].number = -1;
                        break;
                case RACE_KUTAR:
-#ifdef JP
-strcpy(power_desc[num].name, "横に伸びる");
-#else
-                       strcpy(power_desc[num].name, "Expand Horizontally (dur 30+1d20)");
-#endif
-
+                       strcpy(power_desc[num].name, _("横に伸びる", "Expand Horizontally (dur 30+1d20)"));
                        power_desc[num].level = 20;
                        power_desc[num].cost = 15;
                        power_desc[num].stat = A_CHR;
@@ -3144,60 +2324,35 @@ strcpy(power_desc[num].name, "横に伸びる");
                case RACE_ANDROID:
                        if (p_ptr->lev < 10)
                        {
-#ifdef JP
-strcpy(power_desc[num].name, "レイガン");
-#else
-                               strcpy(power_desc[num].name, "Ray Gun");
-#endif
-
+                               strcpy(power_desc[num].name, _("レイガン", "Ray Gun"));
                                power_desc[num].level = 1;
                                power_desc[num].cost = 7;
                                power_desc[num].fail = 8;
                        }
                        else if (p_ptr->lev < 25)
                        {
-#ifdef JP
-strcpy(power_desc[num].name, "ブラスター");
-#else
-                               strcpy(power_desc[num].name, "Blaster");
-#endif
-
+                               strcpy(power_desc[num].name, _("ブラスター", "Blaster"));
                                power_desc[num].level = 10;
                                power_desc[num].cost = 13;
                                power_desc[num].fail = 10;
                        }
                        else if (p_ptr->lev < 35)
                        {
-#ifdef JP
-strcpy(power_desc[num].name, "バズーカ");
-#else
-                               strcpy(power_desc[num].name, "Bazooka");
-#endif
-
+                               strcpy(power_desc[num].name, _("バズーカ", "Bazooka"));
                                power_desc[num].level = 25;
                                power_desc[num].cost = 26;
                                power_desc[num].fail = 12;
                        }
                        else if (p_ptr->lev < 45)
                        {
-#ifdef JP
-strcpy(power_desc[num].name, "ビームキャノン");
-#else
-                               strcpy(power_desc[num].name, "Beam Cannon");
-#endif
-
+                               strcpy(power_desc[num].name, _("ビームキャノン", "Beam Cannon"));
                                power_desc[num].level = 35;
                                power_desc[num].cost = 40;
                                power_desc[num].fail = 15;
                        }
                        else
                        {
-#ifdef JP
-strcpy(power_desc[num].name, "ロケット");
-#else
-                               strcpy(power_desc[num].name, "Rocket");
-#endif
-
+                               strcpy(power_desc[num].name, _("ロケット", "Rocket"));
                                power_desc[num].level = 45;
                                power_desc[num].cost = 60;
                                power_desc[num].fail = 18;
@@ -3216,12 +2371,7 @@ strcpy(power_desc[num].name, "ロケット");
        {
                if (p_ptr->muta1 & MUT1_SPIT_ACID)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "酸の唾");
-#else
-                       strcpy(power_desc[num].name, "Spit Acid");
-#endif
-
+                       strcpy(power_desc[num].name, _("酸の唾", "Spit Acid"));
                        power_desc[num].level = 9;
                        power_desc[num].cost = 9;
                        power_desc[num].stat = A_DEX;
@@ -3231,12 +2381,7 @@ strcpy(power_desc[num].name, "酸の唾");
 
                if (p_ptr->muta1 & MUT1_BR_FIRE)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "炎のブレス");
-#else
-                       strcpy(power_desc[num].name, "Fire Breath");
-#endif
-
+                       strcpy(power_desc[num].name, _("炎のブレス", "Fire Breath"));
                        power_desc[num].level = 20;
                        power_desc[num].cost = lvl;
                        power_desc[num].stat = A_CON;
@@ -3246,12 +2391,7 @@ strcpy(power_desc[num].name, "炎のブレス");
 
                if (p_ptr->muta1 & MUT1_HYPN_GAZE)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "催眠睨み");
-#else
-                       strcpy(power_desc[num].name, "Hypnotic Gaze");
-#endif
-
+                       strcpy(power_desc[num].name, _("催眠睨み", "Hypnotic Gaze"));
                        power_desc[num].level = 12;
                        power_desc[num].cost = 12;
                        power_desc[num].stat = A_CHR;
@@ -3261,12 +2401,7 @@ strcpy(power_desc[num].name, "催眠睨み");
 
                if (p_ptr->muta1 & MUT1_TELEKINES)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "念動力");
-#else
-                       strcpy(power_desc[num].name, "Telekinesis");
-#endif
-
+                       strcpy(power_desc[num].name, _("念動力", "Telekinesis"));
                        power_desc[num].level = 9;
                        power_desc[num].cost = 9;
                        power_desc[num].stat = A_WIS;
@@ -3276,12 +2411,7 @@ strcpy(power_desc[num].name, "念動力");
 
                if (p_ptr->muta1 & MUT1_VTELEPORT)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "テレポート");
-#else
-                       strcpy(power_desc[num].name, "Teleport");
-#endif
-
+                       strcpy(power_desc[num].name, _("テレポート", "Teleport"));
                        power_desc[num].level = 7;
                        power_desc[num].cost = 7;
                        power_desc[num].stat = A_WIS;
@@ -3291,12 +2421,7 @@ strcpy(power_desc[num].name, "テレポート");
 
                if (p_ptr->muta1 & MUT1_MIND_BLST)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "精神攻撃");
-#else
-                       strcpy(power_desc[num].name, "Mind Blast");
-#endif
-
+                       strcpy(power_desc[num].name, _("精神攻撃", "Mind Blast"));
                        power_desc[num].level = 5;
                        power_desc[num].cost = 3;
                        power_desc[num].stat = A_WIS;
@@ -3306,12 +2431,7 @@ strcpy(power_desc[num].name, "精神攻撃");
 
                if (p_ptr->muta1 & MUT1_RADIATION)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "放射能");
-#else
-                       strcpy(power_desc[num].name, "Emit Radiation");
-#endif
-
+                       strcpy(power_desc[num].name, _("放射能", "Emit Radiation"));
                        power_desc[num].level = 15;
                        power_desc[num].cost = 15;
                        power_desc[num].stat = A_CON;
@@ -3321,12 +2441,7 @@ strcpy(power_desc[num].name, "放射能");
 
                if (p_ptr->muta1 & MUT1_VAMPIRISM)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "吸血ドレイン");
-#else
-                       strcpy(power_desc[num].name, "Vampiric Drain");
-#endif
-
+                       strcpy(power_desc[num].name, _("吸血ドレイン", "Vampiric Drain"));
                        power_desc[num].level = 2;
                        power_desc[num].cost = (1 + (lvl / 3));
                        power_desc[num].stat = A_CON;
@@ -3336,12 +2451,7 @@ strcpy(power_desc[num].name, "吸血ドレイン");
 
                if (p_ptr->muta1 & MUT1_SMELL_MET)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "金属嗅覚");
-#else
-                       strcpy(power_desc[num].name, "Smell Metal");
-#endif
-
+                       strcpy(power_desc[num].name, _("金属嗅覚", "Smell Metal"));
                        power_desc[num].level = 3;
                        power_desc[num].cost = 2;
                        power_desc[num].stat = A_INT;
@@ -3351,12 +2461,7 @@ strcpy(power_desc[num].name, "金属嗅覚");
 
                if (p_ptr->muta1 & MUT1_SMELL_MON)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "敵臭嗅覚");
-#else
-                       strcpy(power_desc[num].name, "Smell Monsters");
-#endif
-
+                       strcpy(power_desc[num].name, _("敵臭嗅覚", "Smell Monsters"));
                        power_desc[num].level = 5;
                        power_desc[num].cost = 4;
                        power_desc[num].stat = A_INT;
@@ -3366,12 +2471,7 @@ strcpy(power_desc[num].name, "敵臭嗅覚");
 
                if (p_ptr->muta1 & MUT1_BLINK)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "ショート・テレポート");
-#else
-                       strcpy(power_desc[num].name, "Blink");
-#endif
-
+                       strcpy(power_desc[num].name, _("ショート・テレポート", "Blink"));
                        power_desc[num].level = 3;
                        power_desc[num].cost = 3;
                        power_desc[num].stat = A_WIS;
@@ -3381,12 +2481,7 @@ strcpy(power_desc[num].name, "ショート・テレポート");
 
                if (p_ptr->muta1 & MUT1_EAT_ROCK)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "岩食い");
-#else
-                       strcpy(power_desc[num].name, "Eat Rock");
-#endif
-
+                       strcpy(power_desc[num].name, _("岩食い", "Eat Rock"));
                        power_desc[num].level = 8;
                        power_desc[num].cost = 12;
                        power_desc[num].stat = A_CON;
@@ -3396,12 +2491,7 @@ strcpy(power_desc[num].name, "岩食い");
 
                if (p_ptr->muta1 & MUT1_SWAP_POS)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "位置交換");
-#else
-                       strcpy(power_desc[num].name, "Swap Position");
-#endif
-
+                       strcpy(power_desc[num].name, _("位置交換", "Swap Position"));
                        power_desc[num].level = 15;
                        power_desc[num].cost = 12;
                        power_desc[num].stat = A_DEX;
@@ -3411,12 +2501,7 @@ strcpy(power_desc[num].name, "位置交換");
 
                if (p_ptr->muta1 & MUT1_SHRIEK)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "叫び");
-#else
-                       strcpy(power_desc[num].name, "Shriek");
-#endif
-
+                       strcpy(power_desc[num].name, _("叫び", "Shriek"));
                        power_desc[num].level = 20;
                        power_desc[num].cost = 14;
                        power_desc[num].stat = A_CON;
@@ -3426,12 +2511,7 @@ strcpy(power_desc[num].name, "叫び");
 
                if (p_ptr->muta1 & MUT1_ILLUMINE)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "照明");
-#else
-                       strcpy(power_desc[num].name, "Illuminate");
-#endif
-
+                       strcpy(power_desc[num].name, _("照明", "Illuminate"));
                        power_desc[num].level = 3;
                        power_desc[num].cost = 2;
                        power_desc[num].stat = A_INT;
@@ -3441,12 +2521,7 @@ strcpy(power_desc[num].name, "照明");
 
                if (p_ptr->muta1 & MUT1_DET_CURSE)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "呪い感知");
-#else
-                       strcpy(power_desc[num].name, "Detect Curses");
-#endif
-
+                       strcpy(power_desc[num].name, _("呪い感知", "Detect Curses"));
                        power_desc[num].level = 7;
                        power_desc[num].cost = 14;
                        power_desc[num].stat = A_WIS;
@@ -3456,12 +2531,7 @@ strcpy(power_desc[num].name, "呪い感知");
 
                if (p_ptr->muta1 & MUT1_BERSERK)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "狂戦士化");
-#else
-                       strcpy(power_desc[num].name, "Berserk");
-#endif
-
+                       strcpy(power_desc[num].name, _("狂戦士化", "Berserk"));
                        power_desc[num].level = 8;
                        power_desc[num].cost = 8;
                        power_desc[num].stat = A_STR;
@@ -3471,12 +2541,7 @@ strcpy(power_desc[num].name, "狂戦士化");
 
                if (p_ptr->muta1 & MUT1_POLYMORPH)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "変身");
-#else
-                       strcpy(power_desc[num].name, "Polymorph");
-#endif
-
+                       strcpy(power_desc[num].name, _("変身", "Polymorph"));
                        power_desc[num].level = 18;
                        power_desc[num].cost = 20;
                        power_desc[num].stat = A_CON;
@@ -3486,12 +2551,7 @@ strcpy(power_desc[num].name, "変身");
 
                if (p_ptr->muta1 & MUT1_MIDAS_TCH)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "ミダスの手");
-#else
-                       strcpy(power_desc[num].name, "Midas Touch");
-#endif
-
+                       strcpy(power_desc[num].name, _("ミダスの手", "Midas Touch"));
                        power_desc[num].level = 10;
                        power_desc[num].cost = 5;
                        power_desc[num].stat = A_INT;
@@ -3501,12 +2561,7 @@ strcpy(power_desc[num].name, "ミダスの手");
 
                if (p_ptr->muta1 & MUT1_GROW_MOLD)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "カビ発生");
-#else
-                       strcpy(power_desc[num].name, "Grow Mold");
-#endif
-
+                       strcpy(power_desc[num].name, _("カビ発生", "Grow Mold"));
                        power_desc[num].level = 1;
                        power_desc[num].cost = 6;
                        power_desc[num].stat = A_CON;
@@ -3516,12 +2571,7 @@ strcpy(power_desc[num].name, "カビ発生");
 
                if (p_ptr->muta1 & MUT1_RESIST)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "エレメント耐性");
-#else
-                       strcpy(power_desc[num].name, "Resist Elements");
-#endif
-
+                       strcpy(power_desc[num].name, _("エレメント耐性", "Resist Elements"));
                        power_desc[num].level = 10;
                        power_desc[num].cost = 12;
                        power_desc[num].stat = A_CON;
@@ -3531,12 +2581,7 @@ strcpy(power_desc[num].name, "エレメント耐性");
 
                if (p_ptr->muta1 & MUT1_EARTHQUAKE)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "地震");
-#else
-                       strcpy(power_desc[num].name, "Earthquake");
-#endif
-
+                       strcpy(power_desc[num].name, _("地震", "Earthquake"));
                        power_desc[num].level = 12;
                        power_desc[num].cost = 12;
                        power_desc[num].stat = A_STR;
@@ -3546,12 +2591,7 @@ strcpy(power_desc[num].name, "地震");
 
                if (p_ptr->muta1 & MUT1_EAT_MAGIC)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "魔力食い");
-#else
-                       strcpy(power_desc[num].name, "Eat Magic");
-#endif
-
+                       strcpy(power_desc[num].name, _("魔力食い", "Eat Magic"));
                        power_desc[num].level = 17;
                        power_desc[num].cost = 1;
                        power_desc[num].stat = A_WIS;
@@ -3561,12 +2601,7 @@ strcpy(power_desc[num].name, "魔力食い");
 
                if (p_ptr->muta1 & MUT1_WEIGH_MAG)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "魔力感知");
-#else
-                       strcpy(power_desc[num].name, "Weigh Magic");
-#endif
-
+                       strcpy(power_desc[num].name, _("魔力感知", "Weigh Magic"));
                        power_desc[num].level = 6;
                        power_desc[num].cost = 6;
                        power_desc[num].stat = A_INT;
@@ -3576,12 +2611,7 @@ strcpy(power_desc[num].name, "魔力感知");
 
                if (p_ptr->muta1 & MUT1_STERILITY)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "増殖阻止");
-#else
-                       strcpy(power_desc[num].name, "Sterilize");
-#endif
-
+                       strcpy(power_desc[num].name, _("増殖阻止", "Sterilize"));
                        power_desc[num].level = 12;
                        power_desc[num].cost = 23;
                        power_desc[num].stat = A_CHR;
@@ -3591,12 +2621,7 @@ strcpy(power_desc[num].name, "増殖阻止");
 
                if (p_ptr->muta1 & MUT1_PANIC_HIT)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "ヒット&アウェイ");
-#else
-                       strcpy(power_desc[num].name, "Panic Hit");
-#endif
-
+                       strcpy(power_desc[num].name, _("ヒット&アウェイ", "Panic Hit"));
                        power_desc[num].level = 10;
                        power_desc[num].cost = 12;
                        power_desc[num].stat = A_DEX;
@@ -3606,12 +2631,7 @@ strcpy(power_desc[num].name, "ヒット&アウェイ");
 
                if (p_ptr->muta1 & MUT1_DAZZLE)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "眩惑");
-#else
-                       strcpy(power_desc[num].name, "Dazzle");
-#endif
-
+                       strcpy(power_desc[num].name, _("眩惑", "Dazzle"));
                        power_desc[num].level = 7;
                        power_desc[num].cost = 15;
                        power_desc[num].stat = A_CHR;
@@ -3621,12 +2641,7 @@ strcpy(power_desc[num].name, "眩惑");
 
                if (p_ptr->muta1 & MUT1_LASER_EYE)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "レーザー・アイ");
-#else
-                       strcpy(power_desc[num].name, "Laser Eye");
-#endif
-
+                       strcpy(power_desc[num].name, _("レーザー・アイ", "Laser Eye"));
                        power_desc[num].level = 7;
                        power_desc[num].cost = 10;
                        power_desc[num].stat = A_WIS;
@@ -3636,12 +2651,7 @@ strcpy(power_desc[num].name, "レーザー・アイ");
 
                if (p_ptr->muta1 & MUT1_RECALL)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "帰還");
-#else
-                       strcpy(power_desc[num].name, "Recall");
-#endif
-
+                       strcpy(power_desc[num].name, _("帰還", "Recall"));
                        power_desc[num].level = 17;
                        power_desc[num].cost = 50;
                        power_desc[num].stat = A_INT;
@@ -3651,12 +2661,7 @@ strcpy(power_desc[num].name, "帰還");
 
                if (p_ptr->muta1 & MUT1_BANISH)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "邪悪消滅");
-#else
-                       strcpy(power_desc[num].name, "Banish Evil");
-#endif
-
+                       strcpy(power_desc[num].name, _("邪悪消滅", "Banish Evil"));
                        power_desc[num].level = 25;
                        power_desc[num].cost = 25;
                        power_desc[num].stat = A_WIS;
@@ -3666,12 +2671,7 @@ strcpy(power_desc[num].name, "邪悪消滅");
 
                if (p_ptr->muta1 & MUT1_COLD_TOUCH)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "凍結の手");
-#else
-                       strcpy(power_desc[num].name, "Cold Touch");
-#endif
-
+                       strcpy(power_desc[num].name, _("凍結の手", "Cold Touch"));
                        power_desc[num].level = 2;
                        power_desc[num].cost = 2;
                        power_desc[num].stat = A_CON;
@@ -3681,12 +2681,7 @@ strcpy(power_desc[num].name, "凍結の手");
 
                if (p_ptr->muta1 & MUT1_LAUNCHER)
                {
-#ifdef JP
-strcpy(power_desc[num].name, "アイテム投げ");
-#else
-                       strcpy(power_desc[num].name, "Throw Object");
-#endif
-
+                       strcpy(power_desc[num].name, _("アイテム投げ", "Throw Object"));
                        power_desc[num].level = 1;
                        power_desc[num].cost = lvl;
                        power_desc[num].stat = A_STR;
@@ -3703,13 +2698,9 @@ strcpy(power_desc[num].name, "アイテム投げ");
        redraw = FALSE;
 
        /* Build a prompt */
-#ifdef JP
-(void) strnfmt(out_val, 78, "(特殊能力 %c-%c, *'で一覧, ESCで中断) どの特殊能力を使いますか?",
-#else
-       (void)strnfmt(out_val, 78, "(Powers %c-%c, *=List, ESC=exit) Use which power? ",
-#endif
-
-               I2A(0), (num <= 26) ? I2A(num - 1) : '0' + num - 27);
+       (void) strnfmt(out_val, 78, 
+                               _("(特殊能力 %c-%c, *'で一覧, ESCで中断) どの特殊能力を使いますか?", "(Powers %c-%c, *=List, ESC=exit) Use which power? "),
+                               I2A(0), (num <= 26) ? I2A(num - 1) : '0' + num - 27);
 
 #ifdef ALLOW_REPEAT
 if (!repeat_pull(&i) || i<0 || i>=num) {
@@ -3797,18 +2788,10 @@ if (!repeat_pull(&i) || i<0 || i>=num) {
 
                                /* Print header(s) */
                                if (num < 18)
-#ifdef JP
-prt("                            Lv   MP 失率", y++, x);
-#else
-                                       prt("                            Lv Cost Fail", y++, x);
-#endif
-
+                                       prt(_("                            Lv   MP 失率", "                            Lv Cost Fail"), y++, x);
                                else
-#ifdef JP
-prt("                            Lv   MP 失率                            Lv   MP 失率", y++, x);
-#else
-                                       prt("                            Lv Cost Fail                            Lv Cost Fail", y++, x);
-#endif
+                               prt(_("                            Lv   MP 失率                            Lv   MP 失率", 
+                                         "                            Lv Cost Fail                            Lv Cost Fail"), y++, x);
 
 
                                /* Print list */
@@ -3819,11 +2802,7 @@ prt("                            Lv   MP 失率                            Lv
 
                                        if (use_menu)
                                        {
-#ifdef JP
-                                               if (ctr == (menu_line-1)) strcpy(dummy, " 》 ");
-#else
-                                               if (ctr == (menu_line-1)) strcpy(dummy, " >  ");
-#endif
+                                               if (ctr == (menu_line-1)) strcpy(dummy, _(" 》 ", " >  "));
                                                else strcpy(dummy, "    ");
                                        }
                                        else
@@ -3896,12 +2875,7 @@ prt("                            Lv   MP 失率                            Lv
                        char tmp_val[160];
 
                        /* Prompt */
-#ifdef JP
-(void) strnfmt(tmp_val, 78, "%sを使いますか? ", power_desc[i].name);
-#else
-                       (void)strnfmt(tmp_val, 78, "Use %s? ", power_desc[i].name);
-#endif
-
+                       (void) strnfmt(tmp_val, 78, _("%sを使いますか? ", "Use %s? "), power_desc[i].name);
 
                        /* Belay that order */
                        if (!get_check(tmp_val)) continue;
@@ -3951,11 +2925,7 @@ prt("                            Lv   MP 失率                            Lv
                        {
                                actual_racial_cost -= p_ptr->csp;
                                p_ptr->csp = 0;
-#ifdef JP
-                               take_hit(DAMAGE_USELIFE, actual_racial_cost, "過度の集中", -1);
-#else
-                               take_hit(DAMAGE_USELIFE, actual_racial_cost, "concentrating too hard", -1);
-#endif
+                               take_hit(DAMAGE_USELIFE, actual_racial_cost, _("過度の集中", "concentrating too hard"), -1);
                        }
                        else p_ptr->csp -= actual_racial_cost;
 
index 76c09fd..1dca0c9 100644 (file)
@@ -2394,11 +2394,7 @@ static bool build_type5(void)
        if (cheat_room)
        {
                /* Room type */
-#ifdef JP
-               msg_format("モンスター部屋(nest)(%s%s)", n_ptr->name, pit_subtype_string(cur_nest_type, TRUE));
-#else
-               msg_format("Monster nest (%s%s)", n_ptr->name, pit_subtype_string(cur_nest_type, TRUE));
-#endif
+               msg_format(_("モンスター部屋(nest)(%s%s)", "Monster nest (%s%s)"), n_ptr->name, pit_subtype_string(cur_nest_type, TRUE));
        }
 
        /* Place some monsters */
@@ -2634,11 +2630,7 @@ static bool build_type6(void)
        if (cheat_room)
        {
                /* Room type */
-#ifdef JP
-               msg_format("モンスター部屋(pit)(%s%s)", n_ptr->name, pit_subtype_string(cur_pit_type, FALSE));
-#else
-               msg_format("Monster pit (%s%s)", n_ptr->name, pit_subtype_string(cur_pit_type, FALSE));
-#endif
+               msg_format(_("モンスター部屋(pit)(%s%s)", "Monster pit (%s%s)"), n_ptr->name, pit_subtype_string(cur_pit_type, FALSE));
        }
 
        /* Select the entries */
@@ -3047,11 +3039,7 @@ static bool build_type7(void)
        {
                if (cheat_room)
                {
-#ifdef JP
-                       msg_print("警告!小さな地下室を配置できません!");
-#else
-                       msg_print("Warning! Could not place lesser vault!");
-#endif
+                       msg_print(_("警告!小さな地下室を配置できません!", "Warning! Could not place lesser vault!"));
                }
                return FALSE;
        }
@@ -3098,11 +3086,7 @@ static bool build_type7(void)
 #endif
 
        /* Message */
-#ifdef JP
-       if (cheat_room) msg_format("小さな地下室(%s)", v_name + v_ptr->name);
-#else
-       if (cheat_room) msg_format("Lesser vault (%s)", v_name + v_ptr->name);
-#endif
+       if (cheat_room) msg_format(_("小さな地下室(%s)", "Lesser vault (%s)"), v_name + v_ptr->name);
 
        /* Hack -- Build the vault */
        build_vault(yval, xval, v_ptr->hgt, v_ptr->wid,
@@ -3139,11 +3123,7 @@ static bool build_type8(void)
        {
                if (cheat_room)
                {
-#ifdef JP
-                       msg_print("警告!巨大な地下室を配置できません!");
-#else
-                       msg_print("Warning! Could not place greater vault!");
-#endif
+                       msg_print(_("警告!巨大な地下室を配置できません!", "Warning! Could not place greater vault!"));
                }
                return FALSE;
        }
@@ -3196,11 +3176,7 @@ static bool build_type8(void)
 #endif
 
        /* Message */
-#ifdef JP
-       if (cheat_room) msg_format("巨大な地下室(%s)", v_name + v_ptr->name);
-#else
-       if (cheat_room) msg_format("Greater vault (%s)", v_name + v_ptr->name);
-#endif
+       if (cheat_room) msg_format(_("巨大な地下室(%s)", "Greater vault (%s)"), v_name + v_ptr->name);
 
        /* Hack -- Build the vault */
        build_vault(yval, xval, v_ptr->hgt, v_ptr->wid,
@@ -5977,11 +5953,7 @@ static bool build_type13(void)
        if (cheat_room)
        {
                /* Room type */
-#ifdef JP
-               msg_format("%s%sの罠ピット", n_ptr->name, pit_subtype_string(cur_pit_type, FALSE));
-#else
-               msg_format("Trapped monster pit (%s%s)", n_ptr->name, pit_subtype_string(cur_pit_type, FALSE));
-#endif
+               msg_format(_("%s%sの罠ピット", "Trapped monster pit (%s%s)"), n_ptr->name, pit_subtype_string(cur_pit_type, FALSE));
        }
 
        /* Select the entries */
@@ -6088,11 +6060,7 @@ static bool build_type14(void)
        /* Message */
        if (cheat_room)
        {
-#ifdef JP
-               msg_format("%sの部屋", f_name + f_info[trap].name);
-#else
-               msg_format("Room of %s", f_name + f_info[trap].name);
-#endif
+               msg_format(_("%sの部屋", "Room of %s"), f_name + f_info[trap].name);
        }
 
        return TRUE;
@@ -6382,11 +6350,7 @@ static bool build_type15(void)
        /* Message */
        if (cheat_room)
        {
-#ifdef JP
-               msg_print("ガラスの部屋");
-#else
-               msg_print("Glass room");
-#endif
+               msg_print(_("ガラスの部屋", "Glass room"));
        }
 
        return TRUE;
@@ -6676,11 +6640,7 @@ static bool build_type16(void)
        /* Build stores */
        build_stores(y1, x1, stores, n);
 
-#ifdef JP
-       if (cheat_room) msg_print("地下街");
-#else
-       if (cheat_room) msg_print("Underground Arcade");
-#endif
+       if (cheat_room) msg_print(_("地下街", "Underground Arcade"));
 
        /* Free buildings array */
        C_KILL(ugbldg, n, ugbldg_type);
@@ -6936,11 +6896,7 @@ bool generate_rooms(void)
 
        if (cheat_room)
        {
-#ifdef JP
-               msg_format("部屋数: %d", rooms_built);
-#else
-               msg_format("Number of Rooms: %d", rooms_built);
-#endif
+               msg_format(_("部屋数: %d", "Number of Rooms: %d"), rooms_built);
        }
 
        return TRUE;
index 3e463c4..c3e05a0 100644 (file)
@@ -503,12 +503,7 @@ static void wr_ghost(void)
        int i;
 
        /* Name */
-#ifdef JP
-       wr_string("不正なゴースト");
-#else
-       wr_string("Broken Ghost");
-#endif
-
+       wr_string(_("不正なゴースト", "Broken Ghost"));
 
        /* Hack -- stupid data */
        for (i = 0; i < 60; i++) wr_byte(0);
@@ -1757,11 +1752,7 @@ bool load_player(void)
        if (access(savefile, 0) < 0)
        {
                /* Give a message */
-#ifdef JP
-               msg_print("セーブファイルがありません。");
-#else
-               msg_print("Savefile does not exist.");
-#endif
+               msg_print(_("セーブファイルがありません。", "Savefile does not exist."));
 
                msg_print(NULL);
 
@@ -1795,12 +1786,7 @@ bool load_player(void)
                        my_fclose(fkk);
 
                        /* Message */
-#ifdef JP
-                       msg_print("セーブファイルは現在使用中です。");
-#else
-                       msg_print("Savefile is currently in use.");
-#endif
-
+                       msg_print(_("セーブファイルは現在使用中です。", "Savefile is currently in use."));
                        msg_print(NULL);
 
                        /* Oops */
@@ -1830,12 +1816,7 @@ bool load_player(void)
                if (fd < 0) err = -1;
 
                /* Message (below) */
-#ifdef JP
-               if (err) what = "セーブファイルを開けません。";
-#else
-               if (err) what = "Cannot open savefile";
-#endif
-
+               if (err) what = _("セーブファイルを開けません。", "Cannot open savefile");
        }
 
        /* Process file */
@@ -1851,12 +1832,7 @@ bool load_player(void)
                if (fd_read(fd, (char*)(vvv), 4)) err = -1;
 
                /* What */
-#ifdef JP
-               if (err) what = "セーブファイルを読めません。";
-#else
-               if (err) what = "Cannot read savefile";
-#endif
-
+               if (err) what = _("セーブファイルを読めません。", "Cannot read savefile");
 
                /* Close the file */
                (void)fd_close(fd);
@@ -1880,12 +1856,7 @@ bool load_player(void)
                err = rd_savefile_new();
 
                /* Message (below) */
-#ifdef JP
-               if (err) what = "セーブファイルを解析出来ません。";
-#else
-               if (err) what = "Cannot parse savefile";
-#endif
-
+               if (err) what = _("セーブファイルを解析出来ません。", "Cannot parse savefile");
        }
 
        /* Paranoia */
@@ -1895,12 +1866,7 @@ bool load_player(void)
                if (!turn) err = -1;
 
                /* Message (below) */
-#ifdef JP
-               if (err) what = "セーブファイルが壊れています";
-#else
-               if (err) what = "Broken savefile";
-#endif
-
+               if (err) what = _("セーブファイルが壊れています", "Broken savefile");
        }
 
 #ifdef VERIFY_TIMESTAMP
@@ -1912,12 +1878,7 @@ bool load_player(void)
                    sf_when < (statbuf.st_ctime - 100))
                {
                        /* Message */
-#ifdef JP
-                       what = "無効なタイム・スタンプです";
-#else
-                       what = "Invalid timestamp";
-#endif
-
+                       what = _("無効なタイム・スタンプです", "Invalid timestamp");
 
                        /* Oops */
                        err = -1;
@@ -1936,12 +1897,7 @@ bool load_player(void)
                {
                        if (z_major == 2 && z_minor == 0 && z_patch == 6)
                        {
-#ifdef JP
-                               msg_print("バージョン 2.0.* 用のセーブファイルを変換しました。");
-#else
-                               msg_print("Converted a 2.0.* savefile.");
-#endif
-
+                               msg_print(_("バージョン 2.0.* 用のセーブファイルを変換しました。", "Converted a 2.0.* savefile."));
                        }
                        else
                        {
index 972e141..011bd6f 100644 (file)
@@ -177,22 +177,12 @@ void display_scores_aux(int from, int to, int note, high_score *score)
                Term_clear();
 
                /* Title */
-#ifdef JP
-put_str("                変愚蛮怒: 勇者の殿堂", 0, 0);
-#else
-               put_str("                Hengband Hall of Fame", 0, 0);
-#endif
-
+               put_str(_("                変愚蛮怒: 勇者の殿堂", "                Hengband Hall of Fame"), 0, 0);
 
                /* Indicate non-top scores */
                if (k > 0)
                {
-#ifdef JP
-sprintf(tmp_val, "( %d 位以下 )", k + 1);
-#else
-                       sprintf(tmp_val, "(from position %d)", k + 1);
-#endif
-
+                       sprintf(tmp_val, _("( %d 位以下 )", "(from position %d)"), k + 1);
                        put_str(tmp_val, 0, 40);
                }
 
@@ -271,12 +261,7 @@ sprintf(tmp_val, "( %d 位以下 )", k + 1);
 
 
                        /* Append a "maximum level" */
-#ifdef JP
-if (mlev > clev) strcat(out_val, format(" (最高%d)", mlev));
-#else
-                       if (mlev > clev) strcat(out_val, format(" (Max %d)", mlev));
-#endif
-
+                       if (mlev > clev) strcat(out_val, format(_(" (最高%d)", " (Max %d)"), mlev));
 
                        /* Dump the first line */
                        c_put_str(attr, out_val, n*4 + 2, 0);
@@ -362,11 +347,7 @@ if (mlev > clev) strcat(out_val, format(" (最高%d)", mlev));
 
 
                /* Wait for response */
-#ifdef JP
-prt("[ ESCで中断, その他のキーで続けます ]", hgt - 1, 21);
-#else
-               prt("[Press ESC to quit, any other key to continue.]", hgt - 1, 17);
-#endif
+               prt(_("[ ESCで中断, その他のキーで続けます ]", "[Press ESC to quit, any other key to continue.]"), hgt - 1, _(21, 17));
 
                j = inkey();
                prt("", hgt - 1, 0);
@@ -394,12 +375,7 @@ void display_scores(int from, int to)
        highscore_fd = fd_open(buf, O_RDONLY);
 
        /* Paranoia -- No score file */
-#ifdef JP
-if (highscore_fd < 0) quit("スコア・ファイルが使用できません。");
-#else
-       if (highscore_fd < 0) quit("Score file unavailable.");
-#endif
-
+       if (highscore_fd < 0) quit(_("スコア・ファイルが使用できません。", "Score file unavailable."));
 
        /* Clear screen */
        Term_clear();
@@ -426,25 +402,15 @@ bool send_world_score(bool do_send)
        {
                if(easy_band)
                {
-#ifdef JP
-                       msg_print("初心者モードではワールドスコアに登録できません。");
-#else
-                       msg_print("Since you are in the Easy Mode, you cannot send score to world score server.");
-#endif
+                       msg_print(_("初心者モードではワールドスコアに登録できません。",
+                       "Since you are in the Easy Mode, you cannot send score to world score server."));
                }
-#ifdef JP
-               else if(get_check_strict("スコアをスコア・サーバに登録しますか? ", (CHECK_NO_ESCAPE | CHECK_NO_HISTORY)))
-#else
-               else if(get_check_strict("Do you send score to the world score sever? ", (CHECK_NO_ESCAPE | CHECK_NO_HISTORY)))
-#endif
+               else if(get_check_strict(_("スコアをスコア・サーバに登録しますか? ", "Do you send score to the world score sever? "), 
+                               (CHECK_NO_ESCAPE | CHECK_NO_HISTORY)))
                {
                        errr err;
                        prt("",0,0);
-#ifdef JP
-                       prt("送信中..",0,0);
-#else
-                       prt("Sending...",0,0);
-#endif
+                       prt(_("送信中..", "Sending..."),0,0);
                        Term_fresh();
                        screen_save();
                        err = report_score();
@@ -453,11 +419,7 @@ bool send_world_score(bool do_send)
                        {
                                return FALSE;
                        }
-#ifdef JP
-                       prt("完了。何かキーを押してください。", 0, 0);
-#else
-                       prt("Completed.  Hit any key.", 0, 0);
-#endif
+                       prt(_("完了。何かキーを押してください。", "Completed.  Hit any key."), 0, 0);
                        (void)inkey();
                }
                else return FALSE;
@@ -601,12 +563,7 @@ errr predict_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 (0);
        }
@@ -626,12 +583,7 @@ msg_print("スコア・ファイルが使用できません。");
        sprintf(the_score.turns, "%9lu", (long)turn_real(turn));
 
        /* Hack -- no time needed */
-#ifdef JP
-strcpy(the_score.day, "今日");
-#else
-       strcpy(the_score.day, "TODAY");
-#endif
-
+       strcpy(the_score.day, _("今日", "TODAY"));
 
        /* Save the player name (15 chars) */
        sprintf(the_score.who, "%-.15s", player_name);
@@ -650,14 +602,8 @@ strcpy(the_score.day, "今日");
        sprintf(the_score.max_dun, "%3d", max_dlv[dungeon_type]);
 
        /* Hack -- no cause of death */
-#ifdef JP
        /* まだ死んでいないときの識別文字 */
-       strcpy(the_score.how, "yet");
-#else
-       strcpy(the_score.how, "nobody (yet!)");
-#endif
-
-
+       strcpy(the_score.how, _("yet", "nobody (yet!)"));
 
        /* See where the entry would be placed */
        j = highscore_where(&the_score);
@@ -704,12 +650,7 @@ void show_highclass(void)
 
        if (highscore_fd < 0)
        {
-#ifdef JP
-msg_print("スコア・ファイルが使用できません。");
-#else
-               msg_print("Score file unavailable.");
-#endif
-
+               msg_print(_("スコア・ファイルが使用できません。", "Score file unavailable."));
                msg_print(NULL);
                return;
        }
@@ -755,11 +696,7 @@ msg_print("スコア・ファイルが使用できません。");
 
        (void)fd_close(highscore_fd);
        highscore_fd = -1;
-#ifdef JP
-       prt("何かキーを押すとゲームに戻ります",0,0);
-#else
-       prt("Hit any key to continue",0,0);
-#endif
+       prt(_("何かキーを押すとゲームに戻ります", "Hit any key to continue"),0,0);
 
        (void)inkey();
 
@@ -782,11 +719,7 @@ void race_score(int race_num)
        lastlev = 0;
 
        /* rr9: TODO - pluralize the race */
-#ifdef JP
-sprintf(tmp_str,"最高の%s", race_info[race_num].title);
-#else
-       sprintf(tmp_str,"The Greatest of all the %s", race_info[race_num].title);
-#endif
+       sprintf(tmp_str,_("最高の%s", "The Greatest of all the %s"), race_info[race_num].title);
 
        prt(tmp_str, 5, 15);
 
@@ -797,12 +730,7 @@ sprintf(tmp_str,"最高の%s", race_info[race_num].title);
 
        if (highscore_fd < 0)
        {
-#ifdef JP
-msg_print("スコア・ファイルが使用できません。");
-#else
-               msg_print("Score file unavailable.");
-#endif
-
+               msg_print(_("スコア・ファイルが使用できません。", "Score file unavailable."));
                msg_print(NULL);
                return;
        }
@@ -873,12 +801,7 @@ void race_legends(void)
        for (i = 0; i < MAX_RACES; i++)
        {
                race_score(i);
-#ifdef JP
-msg_print("何かキーを押すとゲームに戻ります");
-#else
-               msg_print("Hit any key to continue");
-#endif
-
+               msg_print(_("何かキーを押すとゲームに戻ります", "Hit any key to continue"));
                msg_print(NULL);
                for (j = 5; j < 19; j++)
                        prt("", j, 0);
@@ -900,13 +823,8 @@ void kingly(void)
 
        /* Fake death */
        if (!seppuku)
-#ifdef JP
                /* 引退したときの識別文字 */
-               (void)strcpy(p_ptr->died_from, "ripe");
-#else
-               (void)strcpy(p_ptr->died_from, "Ripe Old Age");
-#endif
-
+               (void)strcpy(p_ptr->died_from, _("ripe", "Ripe Old Age"));
 
        /* Restore the experience */
        p_ptr->exp = p_ptr->max_exp;
@@ -952,13 +870,8 @@ void kingly(void)
        /* If player did Seppuku, that is already written in playrecord */
        if (!seppuku)
        {
-#ifdef JP
-               do_cmd_write_nikki(NIKKI_BUNSHOU, 0, "ダンジョンの探索から引退した。");
-               do_cmd_write_nikki(NIKKI_GAMESTART, 1, "-------- ゲームオーバー --------");
-#else
-               do_cmd_write_nikki(NIKKI_BUNSHOU, 0, "retired exploring dungeons.");
-               do_cmd_write_nikki(NIKKI_GAMESTART, 1, "--------   Game  Over   --------");
-#endif
+               do_cmd_write_nikki(NIKKI_BUNSHOU, 0, _("ダンジョンの探索から引退した。", "retired exploring dungeons."));
+               do_cmd_write_nikki(NIKKI_GAMESTART, 1, _("-------- ゲームオーバー --------", "--------   Game  Over   --------"));
                do_cmd_write_nikki(NIKKI_BUNSHOU, 1, "\n\n\n\n");
        }
 
index dbae464..1fa3664 100644 (file)
@@ -110,12 +110,7 @@ static bool snipe_concentrate(void)
 {
        if ((int)p_ptr->concent < (2 + (p_ptr->lev + 5) / 10)) p_ptr->concent++;
 
-#ifdef JP
-       msg_format("集中した。(集中度 %d)", p_ptr->concent);
-#else
-       msg_format("You concentrate deeply. (lvl %d)", p_ptr->concent);
-#endif
-
+       msg_format(_("集中した。(集中度 %d)", "You concentrate deeply. (lvl %d)"), p_ptr->concent);
        reset_concent = FALSE;
 
        /* Recalculate bonuses */
@@ -138,11 +133,7 @@ void reset_concentration(bool msg)
 {
        if (msg)
        {
-#ifdef JP
-               msg_print("集中力が途切れてしまった。");
-#else
-               msg_print("Stop concentrating.");
-#endif
+               msg_print(_("集中力が途切れてしまった。", "Stop concentrating."));
        }
 
        p_ptr->concent = 0;
@@ -239,11 +230,7 @@ static int get_snipe_power(int *sn, bool only_browse)
        int             ask;
        char            choice;
        char            out_val[160];
-#ifdef JP
-       cptr            p = "射撃術";
-#else
-       cptr            p = "power";
-#endif
+       cptr            p = _("射撃術", "power");
        snipe_power     spell;
        bool            flag, redraw;
 
@@ -286,21 +273,15 @@ static int get_snipe_power(int *sn, bool only_browse)
        /* Build a prompt (accept all spells) */
        if (only_browse)
        {
-#ifdef JP
-               (void)strnfmt(out_val, 78, "(%^s %c-%c, '*'で一覧, ESC) どの%sについて知りますか?",
-#else
-               (void)strnfmt(out_val, 78, "(%^ss %c-%c, *=List, ESC=exit) Use which %s? ",
-#endif
-                             p, I2A(0), I2A(num), p);
+               (void)strnfmt(out_val, 78, 
+                                       _("(%^s %c-%c, '*'で一覧, ESC) どの%sについて知りますか?", "(%^ss %c-%c, *=List, ESC=exit) Use which %s? "),
+                                       p, I2A(0), I2A(num), p);
        }
        else
        {
-#ifdef JP
-               (void)strnfmt(out_val, 78, "(%^s %c-%c, '*'で一覧, ESC) どの%sを使いますか?",
-#else
-               (void)strnfmt(out_val, 78, "(%^ss %c-%c, *=List, ESC=exit) Use which %s? ",
-#endif
-                         p, I2A(0), I2A(num), p);
+               (void)strnfmt(out_val, 78, 
+                                       _("(%^s %c-%c, '*'で一覧, ESC) どの%sを使いますか?", "(%^ss %c-%c, *=List, ESC=exit) Use which %s? "),
+                                       p, I2A(0), I2A(num), p);
        }
 
        /* Get a spell from the user */
@@ -397,11 +378,7 @@ static int get_snipe_power(int *sn, bool only_browse)
                        char tmp_val[160];
 
                        /* Prompt */
-#ifdef JP
-                       (void) strnfmt(tmp_val, 78, "%sを使いますか?", snipe_powers[i].name);
-#else
-                       (void)strnfmt(tmp_val, 78, "Use %s? ", snipe_powers[i].name);
-#endif
+                       (void) strnfmt(tmp_val, 78, _("%sを使いますか?", "Use %s? "), snipe_powers[i].name);
 
                        /* Belay that order */
                        if (!get_check(tmp_val)) continue;
@@ -547,11 +524,7 @@ static bool cast_sniper_spell(int spell)
 
        if (o_ptr->tval != TV_BOW)
        {
-#ifdef JP
-               msg_print("弓を装備していない!");
-#else
-               msg_print("You wield no bow!");
-#endif
+               msg_print(_("弓を装備していない!", "You wield no bow!"));
                return (FALSE);
        }
 
@@ -578,11 +551,7 @@ static bool cast_sniper_spell(int spell)
        case 14: snipe_type = SP_NEEDLE; break;
        case 15: snipe_type = SP_FINAL; break;
        default:
-#ifdef JP
-               msg_print("なに?");
-#else
-               msg_print("Zap?");
-#endif
+               msg_print(_("なに?", "Zap?"));
        }
 
        command_cmd = 'f';
@@ -605,33 +574,21 @@ void do_cmd_snipe(void)
        /* not if confused */
        if (p_ptr->confused)
        {
-#ifdef JP
-               msg_print("混乱していて集中できない!");
-#else
-               msg_print("You are too confused!");
-#endif
+               msg_print(_("混乱していて集中できない!", "You are too confused!"));
                return;
        }
 
        /* not if hullucinated */
        if (p_ptr->image)
        {
-#ifdef JP
-               msg_print("幻覚が見えて集中できない!");
-#else
-               msg_print("You are too hallucinated!");
-#endif
+               msg_print(_("幻覚が見えて集中できない!", "You are too hallucinated!"));
                return;
        }
 
        /* not if stuned */
        if (p_ptr->stun)
        {
-#ifdef JP
-               msg_print("頭が朦朧としていて集中できない!");
-#else
-               msg_print("You are too stuned!");
-#endif
+               msg_print(_("頭が朦朧としていて集中できない!", "You are too stuned!"));
                return;
        }
 
index 99525e5..8b365ec 100644 (file)
@@ -59,12 +59,7 @@ void self_knowledge(void)
                (2 * p_ptr->hitdie +
                ((PY_MAX_LEVEL - 1+3) * (p_ptr->hitdie + 1))));
 
-#ifdef JP
-sprintf(Dummy, "現在の体力ランク : %d/100", percent);
-#else
-       sprintf(Dummy, "Your current Life Rating is %d/100.", percent);
-#endif
-
+       sprintf(Dummy, _("現在の体力ランク : %d/100", "Your current Life Rating is %d/100."), percent);
        strcpy(buf[0], Dummy);
        info[i++] = buf[0];
        info[i++] = "";
@@ -90,11 +85,7 @@ sprintf(Dummy, "現在の体力ランク : %d/100", percent);
                        flgs[j] |= tflgs[j];
        }
 
-#ifdef JP
-       info[i++] = "能力の最大値";
-#else
-       info[i++] = "Limits of maximum stats";
-#endif
+       info[i++] = _("能力の最大値", "Limits of maximum stats");
 
        for (v_nr = 0; v_nr < 6; v_nr++)
        {
@@ -108,11 +99,7 @@ sprintf(Dummy, "現在の体力ランク : %d/100", percent);
        }
        info[i++] = "";
 
-#ifdef JP
-       sprintf(Dummy, "現在の属性 : %s(%ld)", your_alignment(), (long int)p_ptr->align);
-#else
-       sprintf(Dummy, "Your alighnment : %s(%ld)", your_alignment(), (long int)p_ptr->align);
-#endif
+       sprintf(Dummy, _("現在の属性 : %s(%ld)", "Your alighnment : %s(%ld)"), your_alignment(), (long int)p_ptr->align);
        strcpy(buf[1], Dummy);
        info[i++] = buf[1];
        for (v_nr = 0; v_nr < 8; v_nr++)
@@ -123,101 +110,45 @@ sprintf(Dummy, "現在の体力ランク : %d/100", percent);
        
                strcpy(v_name, virtue[(p_ptr->vir_types[v_nr])-1]);
  
-#ifdef JP
-               sprintf(vir_desc, "おっと。%sの情報なし。", v_name);
-#else
-               sprintf(vir_desc, "Oops. No info about %s.", v_name);
-#endif
+               sprintf(vir_desc, _("おっと。%sの情報なし。", "Oops. No info about %s."), v_name);
                if (tester < -100)
-#ifdef JP
-                       sprintf(vir_desc, "[%s]の対極 (%d)",
-#else
-                       sprintf(vir_desc, "You are the polar opposite of %s (%d).",
-#endif
+                       sprintf(vir_desc, _("[%s]の対極 (%d)", "You are the polar opposite of %s (%d)."),
                                v_name, tester);
                else if (tester < -80)
-#ifdef JP
-                       sprintf(vir_desc, "[%s]の大敵 (%d)",
-#else
-                       sprintf(vir_desc, "You are an arch-enemy of %s (%d).",
-#endif
+                       sprintf(vir_desc, _("[%s]の大敵 (%d)", "You are an arch-enemy of %s (%d)."),
                                v_name, tester);
                else if (tester < -60)
-#ifdef JP
-                       sprintf(vir_desc, "[%s]の強敵 (%d)",
-#else
-                       sprintf(vir_desc, "You are a bitter enemy of %s (%d).",
-#endif
+                       sprintf(vir_desc, _("[%s]の強敵 (%d)", "You are a bitter enemy of %s (%d)."),
                                v_name, tester);
                else if (tester < -40)
-#ifdef JP
-                       sprintf(vir_desc, "[%s]の敵 (%d)",
-#else
-                       sprintf(vir_desc, "You are an enemy of %s (%d).",
-#endif
+                       sprintf(vir_desc, _("[%s]の敵 (%d)", "You are an enemy of %s (%d)."),
                                v_name, tester);
                else if (tester < -20)
-#ifdef JP
-                       sprintf(vir_desc, "[%s]の罪者 (%d)",
-#else
-                       sprintf(vir_desc, "You have sinned against %s (%d).",
-#endif
+                       sprintf(vir_desc, _("[%s]の罪者 (%d)", "You have sinned against %s (%d)."),
                                v_name, tester);
                else if (tester < 0)
-#ifdef JP
-                       sprintf(vir_desc, "[%s]の迷道者 (%d)",
-#else
-                       sprintf(vir_desc, "You have strayed from the path of %s (%d).",
-#endif
+                       sprintf(vir_desc, _("[%s]の迷道者 (%d)", "You have strayed from the path of %s (%d)."),
                                v_name, tester);
-               else if (tester == 0)                   
-#ifdef JP
-                       sprintf(vir_desc, "[%s]の中立者 (%d)",
-#else
-                       sprintf(vir_desc,"You are neutral to %s (%d).",
-#endif
+               else if (tester == 0)
+                       sprintf(vir_desc, _("[%s]の中立者 (%d)", "You are neutral to %s (%d)."),
                                v_name, tester);
                else if (tester < 20)
-#ifdef JP
-                       sprintf(vir_desc, "[%s]の小徳者 (%d)",
-#else
-                       sprintf(vir_desc,"You are somewhat virtuous in %s (%d).",
-#endif
+                       sprintf(vir_desc, _("[%s]の小徳者 (%d)", "You are somewhat virtuous in %s (%d)."),
                                v_name, tester);
                else if (tester < 40)
-#ifdef JP
-                       sprintf(vir_desc, "[%s]の中徳者 (%d)",
-#else
-                       sprintf(vir_desc,"You are virtuous in %s (%d).",
-#endif
+                       sprintf(vir_desc, _("[%s]の中徳者 (%d)", "You are virtuous in %s (%d)."),
                                v_name, tester);
                else if (tester < 60)
-#ifdef JP
-                       sprintf(vir_desc, "[%s]の高徳者 (%d)",
-#else
-                       sprintf(vir_desc,"You are very virtuous in %s (%d).",
-#endif
+                       sprintf(vir_desc, _("[%s]の高徳者 (%d)", "You are very virtuous in %s (%d)."),
                                v_name, tester);
                else if (tester < 80)
-#ifdef JP
-                       sprintf(vir_desc, "[%s]の覇者 (%d)",
-#else
-                       sprintf(vir_desc,"You are a champion of %s (%d).",
-#endif
+                       sprintf(vir_desc, _("[%s]の覇者 (%d)", "You are a champion of %s (%d)."),
                                v_name, tester);
                else if (tester < 100)
-#ifdef JP
-                       sprintf(vir_desc, "[%s]の偉大な覇者 (%d)",
-#else
-                       sprintf(vir_desc,"You are a great champion of %s (%d).",
-#endif
+                       sprintf(vir_desc, _("[%s]の偉大な覇者 (%d)", "You are a great champion of %s (%d)."),
                                v_name, tester);
                else
-#ifdef JP
-                       sprintf(vir_desc, "[%s]の具現者 (%d)",
-#else
-                       sprintf(vir_desc,"You are the living embodiment of %s (%d).",
-#endif
+                       sprintf(vir_desc, _("[%s]の具現者 (%d)", "You are the living embodiment of %s (%d)."),
                v_name, tester);
        
                strcpy(v_string[v_nr], vir_desc);
@@ -233,23 +164,16 @@ sprintf(Dummy, "現在の体力ランク : %d/100", percent);
                {
                        case MIMIC_DEMON:
                        case MIMIC_DEMON_LORD:
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージの地獄か火炎のブレスを吐くことができる。(%d MP)", 3 * plev, 10+plev/3);
-#else
-                               sprintf(Dummy, "You can nether breathe, dam. %d (cost %d).", 3 * plev, 10+plev/3);
-#endif
+                       sprintf(Dummy, _("あなたは %d ダメージの地獄か火炎のブレスを吐くことができる。(%d MP)", 
+                                                       "You can nether breathe, dam. %d (cost %d)."), 3 * plev, 10+plev/3);
 
                                info[i++] = Dummy;
                        break;
                case MIMIC_VAMPIRE:
                        if (plev > 1)
                        {
-#ifdef JP
-sprintf(Dummy, "あなたは敵から %d-%d HP の生命力を吸収できる。(%d MP)",
-#else
-                               sprintf(Dummy, "You can steal life from a foe, dam. %d-%d (cost %d).",
-#endif
-
+                               sprintf(Dummy, _("あなたは敵から %d-%d HP の生命力を吸収できる。(%d MP)", 
+                                                               "You can steal life from a foe, dam. %d-%d (cost %d)."),
                                    plev + MAX(1, plev / 10), plev + plev * MAX(1, plev / 10), 1 + (plev / 3));
                                info[i++] = Dummy;
                        }
@@ -263,138 +187,72 @@ sprintf(Dummy, "あなたは敵から %d-%d HP の生命力を吸収できる。
                case RACE_NIBELUNG:
                case RACE_DWARF:
                        if (plev > 4)
-#ifdef JP
-info[i++] = "あなたは罠とドアと階段を感知できる。(5 MP)";
-#else
-                               info[i++] = "You can find traps, doors and stairs (cost 5).";
-#endif
-
+                       info[i++] = _("あなたは罠とドアと階段を感知できる。(5 MP)", "You can find traps, doors and stairs (cost 5).");
                        break;
                case RACE_HOBBIT:
                        if (plev > 14)
                        {
-#ifdef JP
-info[i++] = "あなたは食料を生成できる。(10 MP)";
-#else
-                               info[i++] = "You can produce food (cost 10).";
-#endif
-
+                               info[i++] = _("あなたは食料を生成できる。(10 MP)", "You can produce food (cost 10).");
                        }
                        break;
                case RACE_GNOME:
                        if (plev > 4)
                        {
-#ifdef JP
-sprintf(Dummy, "あなたは範囲 %d 以内にテレポートできる。(%d MP)",
-#else
-                               sprintf(Dummy, "You can teleport, range %d (cost %d).",
-#endif
-
+                               sprintf(Dummy, _("あなたは範囲 %d 以内にテレポートできる。(%d MP)", "You can teleport, range %d (cost %d)."),
                                    (1 + plev), (5 + (plev / 5)));
                                info[i++] = Dummy;
                        }
                        break;
                case RACE_HALF_ORC:
                        if (plev > 2)
-#ifdef JP
-info[i++] = "あなたは恐怖を除去できる。(5 MP)";
-#else
-                               info[i++] = "You can remove fear (cost 5).";
-#endif
-
+                               info[i++] = _("あなたは恐怖を除去できる。(5 MP)", "You can remove fear (cost 5).");
                        break;
                case RACE_HALF_TROLL:
                        if (plev > 9)
-#ifdef JP
-info[i++] = "あなたは狂暴化することができる。(12 MP) ";
-#else
-                               info[i++] = "You enter berserk fury (cost 12).";
-#endif
-
+                               info[i++] = _("あなたは狂暴化することができる。(12 MP) ", "You enter berserk fury (cost 12).");
                        break;
                case RACE_AMBERITE:
                        if (plev > 29)
-#ifdef JP
-info[i++] = "あなたはシャドウシフトすることができる。(50 MP)";
-#else
-                               info[i++] = "You can Shift Shadows (cost 50).";
-#endif
+                               info[i++] = _("あなたはシャドウシフトすることができる。(50 MP)", "You can Shift Shadows (cost 50).");
 
                        if (plev > 39)
-#ifdef JP
-info[i++] = "あなたは「パターン」を心に描いて歩くことができる。(75 MP)";
-#else
-                               info[i++] = "You can mentally Walk the Pattern (cost 75).";
-#endif
+                               info[i++] = _("あなたは「パターン」を心に描いて歩くことができる。(75 MP)", "You can mentally Walk the Pattern (cost 75).");
 
                        break;
                case RACE_BARBARIAN:
                        if (plev > 7)
-#ifdef JP
-info[i++] = "あなたは狂暴化することができる。(10 MP) ";
-#else
-                               info[i++] = "You can enter berserk fury (cost 10).";
-#endif
+                               info[i++] = _("あなたは狂暴化することができる。(10 MP) ", "You can enter berserk fury (cost 10).");
 
                        break;
                case RACE_HALF_OGRE:
                        if (plev > 24)
-#ifdef JP
-info[i++] = "あなたは爆発のルーンを仕掛けることができる。(35 MP)";
-#else
-                               info[i++] = "You can set an Explosive Rune (cost 35).";
-#endif
+                               info[i++] = _("あなたは爆発のルーンを仕掛けることができる。(35 MP)", "You can set an Explosive Rune (cost 35).");
 
                        break;
                case RACE_HALF_GIANT:
                        if (plev > 19)
-#ifdef JP
-info[i++] = "あなたは石の壁を壊すことができる。(10 MP)";
-#else
-                               info[i++] = "You can break stone walls (cost 10).";
-#endif
-
+                               info[i++] = _("あなたは石の壁を壊すことができる。(10 MP)", "You can break stone walls (cost 10).");
                        break;
                case RACE_HALF_TITAN:
                        if (plev > 34)
-#ifdef JP
-info[i++] = "あなたはモンスターをスキャンすることができる。(20 MP)";
-#else
-                               info[i++] = "You can probe monsters (cost 20).";
-#endif
-
+                               info[i++] = _("あなたはモンスターをスキャンすることができる。(20 MP)", "You can probe monsters (cost 20).");
                        break;
                case RACE_CYCLOPS:
                        if (plev > 19)
                        {
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージの岩石を投げることができる。(15 MP)",
-#else
-                               sprintf(Dummy, "You can throw a boulder, dam. %d (cost 15).",
-#endif
-
-                                   3 * plev);
+                               sprintf(Dummy, _("あなたは %d ダメージの岩石を投げることができる。(15 MP)", 
+                                                        "You can throw a boulder, dam. %d (cost 15)."), 3 * plev);
                                info[i++] = Dummy;
                        }
                        break;
                case RACE_YEEK:
                        if (plev > 14)
-#ifdef JP
-info[i++] = "あなたは恐怖を呼び起こす叫び声を発することができる。(15 MP)";
-#else
-                               info[i++] = "You can make a terrifying scream (cost 15).";
-#endif
-
+                               info[i++] = _("あなたは恐怖を呼び起こす叫び声を発することができる。(15 MP)", "You can make a terrifying scream (cost 15).");
                        break;
                case RACE_KLACKON:
                        if (plev > 8)
                        {
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージの酸を吹きかけることができる。(9 MP)", plev);
-#else
-                               sprintf(Dummy, "You can spit acid, dam. %d (cost 9).", plev);
-#endif
-
+                               sprintf(Dummy, _("あなたは %d ダメージの酸を吹きかけることができる。(9 MP)", "You can spit acid, dam. %d (cost 9)."), plev);
                                info[i++] = Dummy;
                        }
                        break;
@@ -402,97 +260,52 @@ sprintf(Dummy, "あなたは %d ダメージの酸を吹きかけることがで
                        if (plev > 11)
                        {
                                sprintf(Dummy,
-#ifdef JP
-    "あなたは %d ダメージの毒矢を投げることができる。(8 MP)", plev);
-#else
-                                   "You can throw a dart of poison, dam. %d (cost 8).", plev);
-#endif
-
+                                               _("あなたは %d ダメージの毒矢を投げることができる。(8 MP)", "You can throw a dart of poison, dam. %d (cost 8)."), plev);
                                info[i++] = Dummy;
                        }
                        break;
                case RACE_DARK_ELF:
                        if (plev > 1)
                        {
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージのマジック・ミサイルの呪文を使える。(2 MP)",
-#else
-                               sprintf(Dummy, "You can cast a Magic Missile, dam %d (cost 2).",
-#endif
-
+                               sprintf(Dummy, _("あなたは %d ダメージのマジック・ミサイルの呪文を使える。(2 MP)", "You can cast a Magic Missile, dam %d (cost 2)."),
                                    (3 + ((plev-1) / 5)));
                                info[i++] = Dummy;
                        }
                        break;
                case RACE_DRACONIAN:
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージのブレスを吐くことができる。(%d MP)", 2 * plev, plev);
-#else
-                       sprintf(Dummy, "You can breathe, dam. %d (cost %d).", 2 * plev, plev);
-#endif
-
+                       sprintf(Dummy, _("あなたは %d ダメージのブレスを吐くことができる。(%d MP)", "You can breathe, dam. %d (cost %d)."), 2 * plev, plev);
                        info[i++] = Dummy;
                        break;
                case RACE_MIND_FLAYER:
                        if (plev > 14)
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージの精神攻撃をすることができる。(12 MP)", plev);
-#else
-                               sprintf(Dummy, "You can mind blast your enemies, dam %d (cost 12).", plev);
-#endif
-
+                               sprintf(Dummy, _("あなたは %d ダメージの精神攻撃をすることができる。(12 MP)", "You can mind blast your enemies, dam %d (cost 12)."), plev);
                        info[i++] = Dummy;
                        break;
                case RACE_IMP:
                        if (plev > 29)
                        {
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージのファイア・ボールの呪文を使える。(15 MP)", plev);
-#else
-                               sprintf(Dummy, "You can cast a Fire Ball, dam. %d (cost 15).", plev);
-#endif
-
+                               sprintf(Dummy, _("あなたは %d ダメージのファイア・ボールの呪文を使える。(15 MP)", "You can cast a Fire Ball, dam. %d (cost 15)."), plev);
                                info[i++] = Dummy;
                        }
                        else if (plev > 8)
                        {
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージのファイア・ボルトの呪文を使える。(15 MP)", plev);
-#else
-                               sprintf(Dummy, "You can cast a Fire Bolt, dam. %d (cost 15).", plev);
-#endif
-
+                               sprintf(Dummy, _("あなたは %d ダメージのファイア・ボルトの呪文を使える。(15 MP)", "You can cast a Fire Bolt, dam. %d (cost 15)."), plev);
                                info[i++] = Dummy;
                        }
                        break;
                case RACE_GOLEM:
                        if (plev > 19)
-#ifdef JP
-info[i++] = "あなたは d20+30 ターンの間肌を石に変化させられる。(15 MP)";
-#else
-                               info[i++] = "You can turn your skin to stone, dur d20+30 (cost 15).";
-#endif
-
+                               info[i++] = _("あなたは d20+30 ターンの間肌を石に変化させられる。(15 MP)", "You can turn your skin to stone, dur d20+30 (cost 15).");
                        break;
                case RACE_ZOMBIE:
                case RACE_SKELETON:
                        if (plev > 29)
-#ifdef JP
-info[i++] = "あなたは失った経験値を回復することができる。(30 MP)";
-#else
-                               info[i++] = "You can restore lost experience (cost 30).";
-#endif
-
+                               info[i++] = _("あなたは失った経験値を回復することができる。(30 MP)", "You can restore lost experience (cost 30).");
                        break;
                case RACE_VAMPIRE:
                        if (plev > 1)
                        {
-#ifdef JP
-sprintf(Dummy, "あなたは敵から %d-%d HP の生命力を吸収できる。(%d MP)",
-#else
-                               sprintf(Dummy, "You can steal life from a foe, dam. %d-%d (cost %d).",
-#endif
-
+                               sprintf(Dummy, _("あなたは敵から %d-%d HP の生命力を吸収できる。(%d MP)", "You can steal life from a foe, dam. %d-%d (cost %d)."),
                                    plev + MAX(1, plev / 10), plev + plev * MAX(1, plev / 10), 1 + (plev / 3));
                                info[i++] = Dummy;
                        }
@@ -500,74 +313,39 @@ sprintf(Dummy, "あなたは敵から %d-%d HP の生命力を吸収できる。
                case RACE_SPECTRE:
                        if (plev > 3)
                        {
-#ifdef JP
-info[i++] = "あなたは泣き叫んで敵を恐怖させることができる。(3 MP)";
-#else
-                               info[i++] = "You can wail to terrify your enemies (cost 3).";
-#endif
-
+                               info[i++] = _("あなたは泣き叫んで敵を恐怖させることができる。(3 MP)", "You can wail to terrify your enemies (cost 3).");
                        }
                        break;
                case RACE_SPRITE:
                        if (plev > 11)
                        {
-#ifdef JP
-info[i++] = "あなたは敵を眠らせる魔法の粉を投げることができる。(12 MP)";
-#else
-                               info[i++] = "You can throw magical dust which induces sleep (cost 12).";
-#endif
-
+                               info[i++] = _("あなたは敵を眠らせる魔法の粉を投げることができる。(12 MP)", "You can throw magical dust which induces sleep (cost 12).");
                        }
                        break;
                case RACE_DEMON:
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージの地獄か火炎のブレスを吐くことができる。(%d MP)", 3 * plev, 10+plev/3);
-#else
-                       sprintf(Dummy, "You can breathe nether, dam. %d (cost %d).", 3 * plev, 10+plev/3);
-#endif
+                       sprintf(Dummy, _("あなたは %d ダメージの地獄か火炎のブレスを吐くことができる。(%d MP)", 
+                                               "You can breathe nether, dam. %d (cost %d)."), 3 * plev, 10+plev/3);
 
                        info[i++] = Dummy;
                        break;
                case RACE_KUTAR:
                        if (plev > 19)
-#ifdef JP
-info[i++] = "あなたは d20+30 ターンの間横に伸びることができる。(15 MP)";
-#else
-                               info[i++] = "You can expand horizontally, dur d20+30 (cost 15).";
-#endif
-
+                               info[i++] = _("あなたは d20+30 ターンの間横に伸びることができる。(15 MP)", "You can expand horizontally, dur d20+30 (cost 15).");
                        break;
                case RACE_ANDROID:
                        if (plev < 10)
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージのレイガンを撃つことができる。(7 MP)", (plev + 1) / 2);
-#else
-                               sprintf(Dummy, "You can fire a ray gun with damage %d (cost 7).", (plev+1)/2);
-#endif
+                               sprintf(Dummy, _("あなたは %d ダメージのレイガンを撃つことができる。(7 MP)", "You can fire a ray gun with damage %d (cost 7)."), 
+                                       (plev + 1) / 2);
                        else if (plev < 25)
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージのブラスターを撃つことができる。(13 MP)", plev);
-#else
-                               sprintf(Dummy, "You can fire a blaster with damage %d (cost 13).", plev);
-#endif
+                               sprintf(Dummy, _("あなたは %d ダメージのブラスターを撃つことができる。(13 MP)", "You can fire a blaster with damage %d (cost 13)."), plev);
                        else if (plev < 35)
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージのバズーカを撃つことができる。(26 MP)", plev * 2);
-#else
-                               sprintf(Dummy, "You can fire a bazooka with damage %d (cost 26).", plev * 2);
-#endif
+                               sprintf(Dummy, _("あなたは %d ダメージのバズーカを撃つことができる。(26 MP)", "You can fire a bazooka with damage %d (cost 26)."), plev * 2);
                        else if (plev < 45)
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージのビームキャノンを撃つことができる。(40 MP)", plev * 2);
-#else
-                               sprintf(Dummy, "You can fire a beam cannon with damage %d (cost 40).", plev * 2);
-#endif
+                               sprintf(Dummy, _("あなたは %d ダメージのビームキャノンを撃つことができる。(40 MP)", 
+                                               "You can fire a beam cannon with damage %d (cost 40)."), plev * 2);
                        else
-#ifdef JP
-sprintf(Dummy, "あなたは %d ダメージのロケットを撃つことができる。(60 MP)", plev * 5);
-#else
-                               sprintf(Dummy, "You can fire a rocket with damage %d (cost 60).", plev * 5);
-#endif
+                               sprintf(Dummy, _("あなたは %d ダメージのロケットを撃つことができる。(60 MP)", 
+                                               "You can fire a rocket with damage %d (cost 60)."), plev * 5);
 
                        info[i++] = Dummy;
                        break;
@@ -581,11 +359,8 @@ sprintf(Dummy, "あなたは %d ダメージのロケットを撃つことがで
                case CLASS_WARRIOR:
                        if (plev > 39)
                        {
-#ifdef JP
-info[i++] = "あなたはランダムな方向に対して数回攻撃することができる。(75 MP)";
-#else
-                               info[i++] = "You can attack some random directions at a time (cost 75).";
-#endif
+                               info[i++] = _("あなたはランダムな方向に対して数回攻撃することができる。(75 MP)", 
+                                                       "You can attack some random directions at a time (cost 75).");
                        }
                        break;
                case CLASS_HIGH_MAGE:
@@ -594,11 +369,8 @@ info[i++] = "あなたはランダムな方向に対して数回攻撃するこ
                case CLASS_SORCERER:
                        if (plev > 24)
                        {
-#ifdef JP
-info[i++] = "あなたはアイテムの魔力を吸収することができる。(1 MP)";
-#else
-                               info[i++] = "You can absorb charges from an item (cost 1).";
-#endif
+                               info[i++] = _("あなたはアイテムの魔力を吸収することができる。(1 MP)", 
+                                               "You can absorb charges from an item (cost 1).");
                        }
                        break;
                case CLASS_PRIEST:
@@ -606,43 +378,27 @@ info[i++] = "あなたはアイテムの魔力を吸収することができる
                        {
                                if (plev > 34)
                                {
-#ifdef JP
-info[i++] = "あなたは武器を祝福することができる。(70 MP)";
-#else
-                                       info[i++] = "You can bless a weapon (cost 70).";
-#endif
+                                       info[i++] = _("あなたは武器を祝福することができる。(70 MP)", "You can bless a weapon (cost 70).");
                                }
                        }
                        else
                        {
                                if (plev > 41)
                                {
-#ifdef JP
-info[i++] = "あなたは周りのすべてのモンスターを攻撃することができる。(40 MP)";
-#else
-                                       info[i++] = "You can damages all monsters in sight (cost 40).";
-#endif
+                                       info[i++] = _("あなたは周りのすべてのモンスターを攻撃することができる。(40 MP)", "You can damages all monsters in sight (cost 40).");
                                }
                        }
                        break;
                case CLASS_ROGUE:
                        if (plev > 7)
                        {
-#ifdef JP
-info[i++] = "あなたは攻撃して即座に逃げることができる。(12 MP)";
-#else
-                               info[i++] = "You can hit a monster and teleport at a time (cost 12).";
-#endif
+                               info[i++] = _("あなたは攻撃して即座に逃げることができる。(12 MP)", "You can hit a monster and teleport at a time (cost 12).");
                        }
                        break;
                case CLASS_RANGER:
                        if (plev > 14)
                        {
-#ifdef JP
-info[i++] = "あなたは怪物を調査することができる。(20 MP)";
-#else
-                               info[i++] = "You can prove monsters (cost 20).";
-#endif
+                               info[i++] = _("あなたは怪物を調査することができる。(20 MP)", "You can prove monsters (cost 20).");
                        }
                        break;
                case CLASS_PALADIN:
@@ -650,200 +406,111 @@ info[i++] = "あなたは怪物を調査することができる。(20 MP)";
                        {
                                if (plev > 29)
                                {
-#ifdef JP
-info[i++] = "あなたは聖なる槍を放つことができる。(30 MP)";
-#else
-                                       info[i++] = "You can fires a holy spear (cost 30).";
-#endif
+                                       info[i++] = _("あなたは聖なる槍を放つことができる。(30 MP)", "You can fires a holy spear (cost 30).");
                                }
                        }
                        else
                        {
                                if (plev > 29)
                                {
-#ifdef JP
-info[i++] = "あなたは生命力を減少させる槍を放つことができる。(30 MP)";
-#else
-                                       info[i++] = "You can fires a spear which drains vitality (cost 30).";
-#endif
+                                       info[i++] = _("あなたは生命力を減少させる槍を放つことができる。(30 MP)", "You can fires a spear which drains vitality (cost 30).");
                                }
                        }
                        break;
                case CLASS_WARRIOR_MAGE:
                        if (plev > 24)
                        {
-#ifdef JP
-info[i++] = "あなたはHPをMPに変換することができる。(0 MP)";
-#else
-                               info[i++] = "You can convert HP to SP (cost 0).";
-#endif
-#ifdef JP
-info[i++] = "あなたはMPをHPに変換することができる。(0 MP)";
-#else
-                               info[i++] = "You can convert SP to HP (cost 0).";
-#endif
+                               info[i++] = _("あなたはHPをMPに変換することができる。(0 MP)", "You can convert HP to SP (cost 0).");
+                               info[i++] = _("あなたはMPをHPに変換することができる。(0 MP)", "You can convert SP to HP (cost 0).");
                        }
                        break;
                case CLASS_CHAOS_WARRIOR:
                        if (plev > 39)
                        {
-#ifdef JP
-info[i++] = "あなたは周囲に怪物を惑わす光を発生させることができる。(50 MP)";
-#else
-                               info[i++] = "You can radiate light which confuses nearby monsters (cost 50).";
-#endif
+                               info[i++] = _("あなたは周囲に怪物を惑わす光を発生させることができる。(50 MP)",
+                                               "You can radiate light which confuses nearby monsters (cost 50).");
                        }
                        break;
                case CLASS_MONK:
                        if (plev > 24)
                        {
-#ifdef JP
-info[i++] = "あなたは構えることができる。(0 MP)";
-#else
-                               info[i++] = "You can assume a posture of special form (cost 0).";
-#endif
+                               info[i++] = _("あなたは構えることができる。(0 MP)", "You can assume a posture of special form (cost 0).");
                        }
                        if (plev > 29)
                        {
-#ifdef JP
-info[i++] = "あなたは通常の2倍の攻撃を行うことができる。(30 MP)";
-#else
-                               info[i++] = "You can perform double attacks in a time (cost 30).";
-#endif
+                               info[i++] = _("あなたは通常の2倍の攻撃を行うことができる。(30 MP)", "You can perform double attacks in a time (cost 30).");
                        }
                        break;
                case CLASS_MINDCRAFTER:
                case CLASS_FORCETRAINER:
                        if (plev > 14)
                        {
-#ifdef JP
-info[i++] = "あなたは精神を集中してMPを回復させることができる。(0 MP)";
-#else
-                               info[i++] = "You can concentrate to regenerate your mana (cost 0).";
-#endif
+                               info[i++] = _("あなたは精神を集中してMPを回復させることができる。(0 MP)", "You can concentrate to regenerate your mana (cost 0).");
                        }
                        break;
                case CLASS_TOURIST:
-#ifdef JP
-info[i++] = "あなたは写真を撮影することができる。(0 MP)";
-#else
-                               info[i++] = "You can take a photograph (cost 0).";
-#endif
+                       info[i++] = _("あなたは写真を撮影することができる。(0 MP)", "You can take a photograph (cost 0).");
                        if (plev > 24)
                        {
-#ifdef JP
-info[i++] = "あなたはアイテムを完全に鑑定することができる。(20 MP)";
-#else
-                               info[i++] = "You can *identify* items (cost 20).";
-#endif
+                               info[i++] = _("あなたはアイテムを完全に鑑定することができる。(20 MP)", "You can *identify* items (cost 20).");
                        }
                        break;
                case CLASS_IMITATOR:
                        if (plev > 29)
                        {
-#ifdef JP
-info[i++] = "あなたは怪物の特殊攻撃をダメージ2倍でまねることができる。(100 MP)";
-#else
-                               info[i++] = "You can imitate monster's special attacks with double damage (cost 100).";
-#endif
+                               info[i++] = _("あなたは怪物の特殊攻撃をダメージ2倍でまねることができる。(100 MP)", 
+                                               "You can imitate monster's special attacks with double damage (cost 100).");
                        }
                        break;
                case CLASS_BEASTMASTER:
-#ifdef JP
-info[i++] = "あなたは1体の生命のあるモンスターを支配することができる。(レベル/4 MP)";
-#else
-                       info[i++] = "You can dominate a monster (cost level/4).";
-#endif
+                       info[i++] = _("あなたは1体の生命のあるモンスターを支配することができる。(レベル/4 MP)", "You can dominate a monster (cost level/4).");
                        if (plev > 29)
                        {
-#ifdef JP
-info[i++] = "あなたは視界内の生命のあるモンスターを支配することができる。((レベル+20)/2 MP)";
-#else
-                               info[i++] = "You can dominate living monsters in sight (cost (level+20)/4).";
-#endif
+                               info[i++] = _("あなたは視界内の生命のあるモンスターを支配することができる。((レベル+20)/2 MP)", 
+                                               "You can dominate living monsters in sight (cost (level+20)/4).");
                        }
                        break;
                case CLASS_MAGIC_EATER:
-#ifdef JP
-info[i++] = "あなたは杖/魔法棒/ロッドの魔力を自分のものにすることができる。";
-#else
-                       info[i++] = "You can absorb a staff, wand or rod itself.";
-#endif
+                       info[i++] = _("あなたは杖/魔法棒/ロッドの魔力を自分のものにすることができる。", "You can absorb a staff, wand or rod itself.");
                        break;
                case CLASS_RED_MAGE:
                        if (plev > 47)
                        {
-#ifdef JP
-info[i++] = "あなたは1ターンに2回魔法を唱えることができる。(20 MP)";
-#else
-                               info[i++] = "You can cast two spells in one time (cost 20).";
-#endif
+                               info[i++] = _("あなたは1ターンに2回魔法を唱えることができる。(20 MP)", "You can cast two spells in one time (cost 20).");
                        }
                        break;
                case CLASS_SAMURAI:
                        {
-#ifdef JP
-info[i++] = "あなたは精神を集中して気合いを溜めることができる。";
-#else
-                               info[i++] = "You can concentrate to regenerate your mana.";
-#endif
+                               info[i++] = _("あなたは精神を集中して気合いを溜めることができる。", "You can concentrate to regenerate your mana.");
                        }
                        if (plev > 24)
                        {
-#ifdef JP
-info[i++] = "あなたは特殊な型で構えることができる。";
-#else
-                               info[i++] = "You can assume a posture of special form.";
-#endif
+                               info[i++] = _("あなたは特殊な型で構えることができる。", "You can assume a posture of special form.");
                        }
                        break;
                case CLASS_BLUE_MAGE:
-#ifdef JP
-info[i++] = "あなたは相手に使われた魔法を学ぶことができる。";
-#else
-                       info[i++] = "You can study spells which your enemy casts on you.";
-#endif
+                       info[i++] = _("あなたは相手に使われた魔法を学ぶことができる。", "You can study spells which your enemy casts on you.");
                        break;
                case CLASS_CAVALRY:
                        if (plev > 9)
                        {
-#ifdef JP
-info[i++] = "あなたはモンスターに乗って無理矢理ペットにすることができる。";
-#else
-                               info[i++] = "You can ride on a hostile monster forcibly to turn it into pet.";
-#endif
+                               info[i++] = _("あなたはモンスターに乗って無理矢理ペットにすることができる。", "You can ride on a hostile monster forcibly to turn it into pet.");
                        }
                        break;
                case CLASS_BERSERKER:
                        if (plev > 9)
                        {
-#ifdef JP
-info[i++] = "あなたは街とダンジョンの間を行き来することができる。";
-#else
-                       info[i++] = "You can travel between town and the depths.";
-#endif
+                               info[i++] = _("あなたは街とダンジョンの間を行き来することができる。", "You can travel between town and the depths.");
                        }
                        break;
                case CLASS_MIRROR_MASTER:
-#ifdef JP
-info[i++] = "あなたは鏡を作り出すことができる。(2 MP)";
-#else
-                               info[i++] = "You can create a Mirror (cost 2).";
-#endif
-#ifdef JP
-info[i++] = "あなたは鏡を割ることができる。(0 MP)";
-#else
-                               info[i++] = "You can break distant Mirrors (cost 0).";
-#endif
+                       info[i++] = _("あなたは鏡を作り出すことができる。(2 MP)", "You can create a Mirror (cost 2).");
+                       info[i++] = _("あなたは鏡を割ることができる。(0 MP)", "You can break distant Mirrors (cost 0).");
                        break;
                case CLASS_NINJA:
                        if (plev > 19)
                        {
-#ifdef JP
-info[i++] = "あなたは素早く移動することができる。";
-#else
-                               info[i++] = "You can walk extremery fast.";
-#endif
+                               info[i++] = _("あなたは素早く移動することができる。", "You can walk extremery fast.");
                        }
                        break;
        }
@@ -852,291 +519,132 @@ info[i++] = "あなたは素早く移動することができる。";
        {
                if (p_ptr->muta1 & MUT1_SPIT_ACID)
                {
-#ifdef JP
-info[i++] = "あなたは酸を吹きかけることができる。(ダメージ レベルX1)";
-#else
-                       info[i++] = "You can spit acid (dam lvl).";
-#endif
-
+                       info[i++] = _("あなたは酸を吹きかけることができる。(ダメージ レベルX1)", "You can spit acid (dam lvl).");
                }
                if (p_ptr->muta1 & MUT1_BR_FIRE)
                {
-#ifdef JP
-info[i++] = "あなたは炎のブレスを吐くことができる。(ダメージ レベルX2)";
-#else
-                       info[i++] = "You can breathe fire (dam lvl * 2).";
-#endif
-
+                       info[i++] = _("あなたは炎のブレスを吐くことができる。(ダメージ レベルX2)", "You can breathe fire (dam lvl * 2).");
                }
                if (p_ptr->muta1 & MUT1_HYPN_GAZE)
                {
-#ifdef JP
-info[i++] = "あなたの睨みは催眠効果をもつ。";
-#else
-                       info[i++] = "Your gaze is hypnotic.";
-#endif
-
+                       info[i++] = _("あなたの睨みは催眠効果をもつ。", "Your gaze is hypnotic.");
                }
                if (p_ptr->muta1 & MUT1_TELEKINES)
                {
-#ifdef JP
-info[i++] = "あなたは念動力をもっている。";
-#else
-                       info[i++] = "You are telekinetic.";
-#endif
-
+                       info[i++] = _("あなたは念動力をもっている。", "You are telekinetic.");
                }
                if (p_ptr->muta1 & MUT1_VTELEPORT)
                {
-#ifdef JP
-info[i++] = "あなたは自分の意思でテレポートできる。";
-#else
-                       info[i++] = "You can teleport at will.";
-#endif
-
+                       info[i++] = _("あなたは自分の意思でテレポートできる。", "You can teleport at will.");
                }
                if (p_ptr->muta1 & MUT1_MIND_BLST)
                {
-#ifdef JP
-info[i++] = "あなたは精神攻撃を行える。(ダメージ 3~12d3)";
-#else
-                       info[i++] = "You can Mind Blast your enemies (3 to 12d3 dam).";
-#endif
-
+                       info[i++] = _("あなたは精神攻撃を行える。(ダメージ 3~12d3)", "You can Mind Blast your enemies (3 to 12d3 dam).");
                }
                if (p_ptr->muta1 & MUT1_RADIATION)
                {
-#ifdef JP
-info[i++] = "あなたは自分の意思で強い放射線を発生することができる。(ダメージ レベルX2)";
-#else
-                       info[i++] = "You can emit hard radiation at will (dam lvl * 2).";
-#endif
-
+                       info[i++] = _("あなたは自分の意思で強い放射線を発生することができる。(ダメージ レベルX2)", "You can emit hard radiation at will (dam lvl * 2).");
                }
                if (p_ptr->muta1 & MUT1_VAMPIRISM)
                {
-#ifdef JP
-info[i++] = "あなたは吸血鬼のように敵から生命力を吸収することができる。(ダメージ レベルX2)";
-#else
-                       info[i++] = "You can drain life from a foe like a vampire (dam lvl * 2).";
-#endif
-
+                       info[i++] = _("あなたは吸血鬼のように敵から生命力を吸収することができる。(ダメージ レベルX2)", 
+                                               "You can drain life from a foe like a vampire (dam lvl * 2).");
                }
                if (p_ptr->muta1 & MUT1_SMELL_MET)
                {
-#ifdef JP
-info[i++] = "あなたは近くにある貴金属をかぎ分けることができる。";
-#else
-                       info[i++] = "You can smell nearby precious metal.";
-#endif
-
+                       info[i++] = _("あなたは近くにある貴金属をかぎ分けることができる。", "You can smell nearby precious metal.");
                }
                if (p_ptr->muta1 & MUT1_SMELL_MON)
                {
-#ifdef JP
-info[i++] = "あなたは近くのモンスターの存在をかぎ分けることができる。";
-#else
-                       info[i++] = "You can smell nearby monsters.";
-#endif
-
+                       info[i++] = _("あなたは近くのモンスターの存在をかぎ分けることができる。", "You can smell nearby monsters.");
                }
                if (p_ptr->muta1 & MUT1_BLINK)
                {
-#ifdef JP
-info[i++] = "あなたは短い距離をテレポートできる。";
-#else
-                       info[i++] = "You can teleport yourself short distances.";
-#endif
-
+                       info[i++] = _("あなたは短い距離をテレポートできる。", "You can teleport yourself short distances.");
                }
                if (p_ptr->muta1 & MUT1_EAT_ROCK)
                {
-#ifdef JP
-info[i++] = "あなたは硬い岩を食べることができる。";
-#else
-                       info[i++] = "You can consume solid rock.";
-#endif
-
+                       info[i++] = _("あなたは硬い岩を食べることができる。", "You can consume solid rock.");
                }
                if (p_ptr->muta1 & MUT1_SWAP_POS)
                {
-#ifdef JP
-info[i++] = "あなたは他の者と場所を入れ替わることができる。";
-#else
-                       info[i++] = "You can switch locations with another being.";
-#endif
-
+                       info[i++] = _("あなたは他の者と場所を入れ替わることができる。", "You can switch locations with another being.");
                }
                if (p_ptr->muta1 & MUT1_SHRIEK)
                {
-#ifdef JP
-info[i++] = "あなたは身の毛もよだつ叫び声を発することができる。(ダメージ レベルX2)";
-#else
-                       info[i++] = "You can emit a horrible shriek (dam 2 * lvl).";
-#endif
-
+                       info[i++] = _("あなたは身の毛もよだつ叫び声を発することができる。(ダメージ レベルX2)", "You can emit a horrible shriek (dam 2 * lvl).");
                }
                if (p_ptr->muta1 & MUT1_ILLUMINE)
                {
-#ifdef JP
-info[i++] = "あなたは明るい光を放つことができる。";
-#else
-                       info[i++] = "You can emit bright light.";
-#endif
-
+                       info[i++] = _("あなたは明るい光を放つことができる。", "You can emit bright light.");
                }
                if (p_ptr->muta1 & MUT1_DET_CURSE)
                {
-#ifdef JP
-info[i++] = "あなたは邪悪な魔法の危険を感じとることができる。";
-#else
-                       info[i++] = "You can feel the danger of evil magic.";
-#endif
-
+                       info[i++] = _("あなたは邪悪な魔法の危険を感じとることができる。", "You can feel the danger of evil magic.");
                }
                if (p_ptr->muta1 & MUT1_BERSERK)
                {
-#ifdef JP
-info[i++] = "あなたは自分の意思で狂乱戦闘状態になることができる。";
-#else
-                       info[i++] = "You can drive yourself into a berserk frenzy.";
-#endif
-
+                       info[i++] = _("あなたは自分の意思で狂乱戦闘状態になることができる。", "You can drive yourself into a berserk frenzy.");
                }
                if (p_ptr->muta1 & MUT1_POLYMORPH)
                {
-#ifdef JP
-info[i++] = "あなたは自分の意志で変化できる。";
-#else
-                       info[i++] = "You can polymorph yourself at will.";
-#endif
-
+                       info[i++] = _("あなたは自分の意志で変化できる。", "You can polymorph yourself at will.");
                }
                if (p_ptr->muta1 & MUT1_MIDAS_TCH)
                {
-#ifdef JP
-info[i++] = "あなたは通常アイテムを金に変えることができる。";
-#else
-                       info[i++] = "You can turn ordinary items to gold.";
-#endif
-
+                       info[i++] = _("あなたは通常アイテムを金に変えることができる。", "You can turn ordinary items to gold.");
                }
                if (p_ptr->muta1 & MUT1_GROW_MOLD)
                {
-#ifdef JP
-info[i++] = "あなたは周囲にキノコを生やすことができる。";
-#else
-                       info[i++] = "You can cause mold to grow near you.";
-#endif
-
+                       info[i++] = _("あなたは周囲にキノコを生やすことができる。", "You can cause mold to grow near you.");
                }
                if (p_ptr->muta1 & MUT1_RESIST)
                {
-#ifdef JP
-info[i++] = "あなたは元素の攻撃に対して身を硬くすることができる。";
-#else
-                       info[i++] = "You can harden yourself to the ravages of the elements.";
-#endif
-
+                       info[i++] = _("あなたは元素の攻撃に対して身を硬くすることができる。", "You can harden yourself to the ravages of the elements.");
                }
                if (p_ptr->muta1 & MUT1_EARTHQUAKE)
                {
-#ifdef JP
-info[i++] = "あなたは周囲のダンジョンを崩壊させることができる。";
-#else
-                       info[i++] = "You can bring down the dungeon around your ears.";
-#endif
-
+                       info[i++] = _("あなたは周囲のダンジョンを崩壊させることができる。", "You can bring down the dungeon around your ears.");
                }
                if (p_ptr->muta1 & MUT1_EAT_MAGIC)
                {
-#ifdef JP
-info[i++] = "あなたは魔法のエネルギーを自分の物として使用できる。";
-#else
-                       info[i++] = "You can consume magic energy for your own use.";
-#endif
-
+                       info[i++] = _("あなたは魔法のエネルギーを自分の物として使用できる。", "You can consume magic energy for your own use.");
                }
                if (p_ptr->muta1 & MUT1_WEIGH_MAG)
                {
-#ifdef JP
-info[i++] = "あなたは自分に影響を与える魔法の力を感じることができる。";
-#else
-                       info[i++] = "You can feel the strength of the magics affecting you.";
-#endif
-
+                       info[i++] = _("あなたは自分に影響を与える魔法の力を感じることができる。", "You can feel the strength of the magics affecting you.");
                }
                if (p_ptr->muta1 & MUT1_STERILITY)
                {
-#ifdef JP
-info[i++] = "あなたは集団的生殖不能を起こすことができる。";
-#else
-                       info[i++] = "You can cause mass impotence.";
-#endif
-
+                       info[i++] = _("あなたは集団的生殖不能を起こすことができる。", "You can cause mass impotence.");
                }
                if (p_ptr->muta1 & MUT1_PANIC_HIT)
                {
-#ifdef JP
-info[i++] = "あなたは攻撃した後身を守るため逃げることができる。";
-#else
-                       info[i++] = "You can run for your life after hitting something.";
-#endif
-
+                       info[i++] = _("あなたは攻撃した後身を守るため逃げることができる。", "You can run for your life after hitting something.");
                }
                if (p_ptr->muta1 & MUT1_DAZZLE)
                {
-#ifdef JP
-info[i++] = "あなたは混乱と盲目を引き起こす放射能を発生することができる。 ";
-#else
-                       info[i++] = "You can emit confusing, blinding radiation.";
-#endif
-
+                       info[i++] = _("あなたは混乱と盲目を引き起こす放射能を発生することができる。 ", "You can emit confusing, blinding radiation.");
                }
                if (p_ptr->muta1 & MUT1_LASER_EYE)
                {
-#ifdef JP
-info[i++] = "あなたは目からレーザー光線を発することができる。(ダメージ レベルX2)";
-#else
-                       info[i++] = "Your eyes can fire laser beams (dam 2 * lvl).";
-#endif
-
+                       info[i++] = _("あなたは目からレーザー光線を発することができる。(ダメージ レベルX2)", "Your eyes can fire laser beams (dam 2 * lvl).");
                }
                if (p_ptr->muta1 & MUT1_RECALL)
                {
-#ifdef JP
-info[i++] = "あなたは街とダンジョンの間を行き来することができる。";
-#else
-                       info[i++] = "You can travel between town and the depths.";
-#endif
-
+                       info[i++] = _("あなたは街とダンジョンの間を行き来することができる。", "You can travel between town and the depths.");
                }
                if (p_ptr->muta1 & MUT1_BANISH)
                {
-#ifdef JP
-info[i++] = "あなたは邪悪なモンスターを地獄に落とすことができる。";
-#else
-                       info[i++] = "You can send evil creatures directly to Hell.";
-#endif
-
+                       info[i++] = _("あなたは邪悪なモンスターを地獄に落とすことができる。", "You can send evil creatures directly to Hell.");
                }
                if (p_ptr->muta1 & MUT1_COLD_TOUCH)
                {
-#ifdef JP
-info[i++] = "あなたは敵を触って凍らせることができる。(ダメージ レベルX3)";
-#else
-                       info[i++] = "You can freeze things with a touch (dam 3 * lvl).";
-#endif
-
+                       info[i++] = _("あなたは敵を触って凍らせることができる。(ダメージ レベルX3)", "You can freeze things with a touch (dam 3 * lvl).");
                }
                if (p_ptr->muta1 & MUT1_LAUNCHER)
                {
-#ifdef JP
-info[i++] = "あなたはアイテムを力強く投げることができる。";
-#else
-                       info[i++] = "You can hurl objects with great force.";
-#endif
-
+                       info[i++] = _("あなたはアイテムを力強く投げることができる。", "You can hurl objects with great force.");
                }
        }
 
@@ -1144,291 +652,131 @@ info[i++] = "あなたはアイテムを力強く投げることができる。"
        {
                if (p_ptr->muta2 & MUT2_BERS_RAGE)
                {
-#ifdef JP
-info[i++] = "あなたは狂戦士化の発作を起こす。";
-#else
-                       info[i++] = "You are subject to berserker fits.";
-#endif
-
+                       info[i++] = _("あなたは狂戦士化の発作を起こす。", "You are subject to berserker fits.");
                }
                if (p_ptr->muta2 & MUT2_COWARDICE)
                {
-#ifdef JP
-info[i++] = "あなたは時々臆病になる。";
-#else
-                       info[i++] = "You are subject to cowardice.";
-#endif
-
+                       info[i++] = _("あなたは時々臆病になる。", "You are subject to cowardice.");
                }
                if (p_ptr->muta2 & MUT2_RTELEPORT)
                {
-#ifdef JP
-info[i++] = "あなたはランダムにテレポートする。";
-#else
-                       info[i++] = "You are teleporting randomly.";
-#endif
-
+                       info[i++] = _("あなたはランダムにテレポートする。", "You are teleporting randomly.");
                }
                if (p_ptr->muta2 & MUT2_ALCOHOL)
                {
-#ifdef JP
-info[i++] = "あなたの体はアルコールを分泌する。";
-#else
-                       info[i++] = "Your body produces alcohol.";
-#endif
-
+                       info[i++] = _("あなたの体はアルコールを分泌する。", "Your body produces alcohol.");
                }
                if (p_ptr->muta2 & MUT2_HALLU)
                {
-#ifdef JP
-info[i++] = "あなたは幻覚を引き起こす精神錯乱に侵されている。";
-#else
-                       info[i++] = "You have a hallucinatory insanity.";
-#endif
-
+                       info[i++] = _("あなたは幻覚を引き起こす精神錯乱に侵されている。", "You have a hallucinatory insanity.");
                }
                if (p_ptr->muta2 & MUT2_FLATULENT)
                {
-#ifdef JP
-info[i++] = "あなたは制御できない強烈な屁をこく。";
-#else
-                       info[i++] = "You are subject to uncontrollable flatulence.";
-#endif
-
+                       info[i++] = _("あなたは制御できない強烈な屁をこく。", "You are subject to uncontrollable flatulence.");
                }
                if (p_ptr->muta2 & MUT2_PROD_MANA)
                {
-#ifdef JP
-info[i++] = "あなたは制御不能な魔法のエネルギーを発している。";
-#else
-                       info[i++] = "You are producing magical energy uncontrollably.";
-#endif
-
+                       info[i++] = _("あなたは制御不能な魔法のエネルギーを発している。", "You are producing magical energy uncontrollably.");
                }
                if (p_ptr->muta2 & MUT2_ATT_DEMON)
                {
-#ifdef JP
-info[i++] = "あなたはデーモンを引きつける。";
-#else
-                       info[i++] = "You attract demons.";
-#endif
-
+                       info[i++] = _("あなたはデーモンを引きつける。", "You attract demons.");
                }
                if (p_ptr->muta2 & MUT2_SCOR_TAIL)
                {
-#ifdef JP
-info[i++] = "あなたはサソリの尻尾が生えている。(毒、ダメージ 3d7)";
-#else
-                       info[i++] = "You have a scorpion tail (poison, 3d7).";
-#endif
-
+                       info[i++] = _("あなたはサソリの尻尾が生えている。(毒、ダメージ 3d7)", "You have a scorpion tail (poison, 3d7).");
                }
                if (p_ptr->muta2 & MUT2_HORNS)
                {
-#ifdef JP
-info[i++] = "あなたは角が生えている。(ダメージ 2d6)";
-#else
-                       info[i++] = "You have horns (dam. 2d6).";
-#endif
-
+                       info[i++] = _("あなたは角が生えている。(ダメージ 2d6)", "You have horns (dam. 2d6).");
                }
                if (p_ptr->muta2 & MUT2_BEAK)
                {
-#ifdef JP
-info[i++] = "あなたはクチバシが生えている。(ダメージ 2d4)";
-#else
-                       info[i++] = "You have a beak (dam. 2d4).";
-#endif
-
+                       info[i++] = _("あなたはクチバシが生えている。(ダメージ 2d4)", "You have a beak (dam. 2d4).");
                }
                if (p_ptr->muta2 & MUT2_SPEED_FLUX)
                {
-#ifdef JP
-info[i++] = "あなたはランダムに早く動いたり遅く動いたりする。";
-#else
-                       info[i++] = "You move faster or slower randomly.";
-#endif
-
+                       info[i++] = _("あなたはランダムに早く動いたり遅く動いたりする。", "You move faster or slower randomly.");
                }
                if (p_ptr->muta2 & MUT2_BANISH_ALL)
                {
-#ifdef JP
-info[i++] = "あなたは時々近くのモンスターを消滅させる。";
-#else
-                       info[i++] = "You sometimes cause nearby creatures to vanish.";
-#endif
-
+                       info[i++] = _("あなたは時々近くのモンスターを消滅させる。", "You sometimes cause nearby creatures to vanish.");
                }
                if (p_ptr->muta2 & MUT2_EAT_LIGHT)
                {
-#ifdef JP
-info[i++] = "あなたは時々周囲の光を吸収して栄養にする。";
-#else
-                       info[i++] = "You sometimes feed off of the light around you.";
-#endif
-
+                       info[i++] = _("あなたは時々周囲の光を吸収して栄養にする。", "You sometimes feed off of the light around you.");
                }
                if (p_ptr->muta2 & MUT2_TRUNK)
                {
-#ifdef JP
-info[i++] = "あなたは象のような鼻を持っている。(ダメージ 1d4)";
-#else
-                       info[i++] = "You have an elephantine trunk (dam 1d4).";
-#endif
-
+                       info[i++] = _("あなたは象のような鼻を持っている。(ダメージ 1d4)", "You have an elephantine trunk (dam 1d4).");
                }
                if (p_ptr->muta2 & MUT2_ATT_ANIMAL)
                {
-#ifdef JP
-info[i++] = "あなたは動物を引きつける。";
-#else
-                       info[i++] = "You attract animals.";
-#endif
-
+                       info[i++] = _("あなたは動物を引きつける。", "You attract animals.");
                }
                if (p_ptr->muta2 & MUT2_TENTACLES)
                {
-#ifdef JP
-info[i++] = "あなたは邪悪な触手を持っている。(ダメージ 2d5)";
-#else
-                       info[i++] = "You have evil looking tentacles (dam 2d5).";
-#endif
-
+                       info[i++] = _("あなたは邪悪な触手を持っている。(ダメージ 2d5)", "You have evil looking tentacles (dam 2d5).");
                }
                if (p_ptr->muta2 & MUT2_RAW_CHAOS)
                {
-#ifdef JP
-info[i++] = "あなたはしばしば純カオスに包まれる。";
-#else
-                       info[i++] = "You occasionally are surrounded with raw chaos.";
-#endif
-
+                       info[i++] = _("あなたはしばしば純カオスに包まれる。", "You occasionally are surrounded with raw chaos.");
                }
                if (p_ptr->muta2 & MUT2_NORMALITY)
                {
-#ifdef JP
-info[i++] = "あなたは変異していたが、回復してきている。";
-#else
-                       info[i++] = "You may be mutated, but you're recovering.";
-#endif
-
+                       info[i++] = _("あなたは変異していたが、回復してきている。", "You may be mutated, but you're recovering.");
                }
                if (p_ptr->muta2 & MUT2_WRAITH)
                {
-#ifdef JP
-info[i++] = "あなたの肉体は幽体化したり実体化したりする。";
-#else
-                       info[i++] = "You fade in and out of physical reality.";
-#endif
-
+                       info[i++] = _("あなたの肉体は幽体化したり実体化したりする。", "You fade in and out of physical reality.");
                }
                if (p_ptr->muta2 & MUT2_POLY_WOUND)
                {
-#ifdef JP
-info[i++] = "あなたの健康はカオスの力に影響を受ける。";
-#else
-                       info[i++] = "Your health is subject to chaotic forces.";
-#endif
-
+                       info[i++] = _("あなたの健康はカオスの力に影響を受ける。", "Your health is subject to chaotic forces.");
                }
                if (p_ptr->muta2 & MUT2_WASTING)
                {
-#ifdef JP
-info[i++] = "あなたは衰弱する恐ろしい病気にかかっている。";
-#else
-                       info[i++] = "You have a horrible wasting disease.";
-#endif
-
+                       info[i++] = _("あなたは衰弱する恐ろしい病気にかかっている。", "You have a horrible wasting disease.");
                }
                if (p_ptr->muta2 & MUT2_ATT_DRAGON)
                {
-#ifdef JP
-info[i++] = "あなたはドラゴンを引きつける。";
-#else
-                       info[i++] = "You attract dragons.";
-#endif
-
+                       info[i++] = _("あなたはドラゴンを引きつける。", "You attract dragons.");
                }
                if (p_ptr->muta2 & MUT2_WEIRD_MIND)
                {
-#ifdef JP
-info[i++] = "あなたの精神はランダムに拡大したり縮小したりしている。";
-#else
-                       info[i++] = "Your mind randomly expands and contracts.";
-#endif
-
+                       info[i++] = _("あなたの精神はランダムに拡大したり縮小したりしている。", "Your mind randomly expands and contracts.");
                }
                if (p_ptr->muta2 & MUT2_NAUSEA)
                {
-#ifdef JP
-info[i++] = "あなたの胃は非常に落ち着きがない。";
-#else
-                       info[i++] = "You have a seriously upset stomach.";
-#endif
-
+                       info[i++] = _("あなたの胃は非常に落ち着きがない。", "You have a seriously upset stomach.");
                }
                if (p_ptr->muta2 & MUT2_CHAOS_GIFT)
                {
-#ifdef JP
-info[i++] = "あなたはカオスの守護悪魔から褒美をうけとる。";
-#else
-                       info[i++] = "Chaos deities give you gifts.";
-#endif
-
+                       info[i++] = _("あなたはカオスの守護悪魔から褒美をうけとる。", "Chaos deities give you gifts.");
                }
                if (p_ptr->muta2 & MUT2_WALK_SHAD)
                {
-#ifdef JP
-info[i++] = "あなたはしばしば他の「影」に迷い込む。";
-#else
-                       info[i++] = "You occasionally stumble into other shadows.";
-#endif
-
+                       info[i++] = _("あなたはしばしば他の「影」に迷い込む。", "You occasionally stumble into other shadows.");
                }
                if (p_ptr->muta2 & MUT2_WARNING)
                {
-#ifdef JP
-info[i++] = "あなたは敵に関する警告を感じる。";
-#else
-                       info[i++] = "You receive warnings about your foes.";
-#endif
-
+                       info[i++] = _("あなたは敵に関する警告を感じる。", "You receive warnings about your foes.");
                }
                if (p_ptr->muta2 & MUT2_INVULN)
                {
-#ifdef JP
-info[i++] = "あなたは時々負け知らずな気分になる。";
-#else
-                       info[i++] = "You occasionally feel invincible.";
-#endif
-
+                       info[i++] = _("あなたは時々負け知らずな気分になる。", "You occasionally feel invincible.");
                }
                if (p_ptr->muta2 & MUT2_SP_TO_HP)
                {
-#ifdef JP
-info[i++] = "あなたは時々血が筋肉にどっと流れる。";
-#else
-                       info[i++] = "Your blood sometimes rushes to your muscles.";
-#endif
-
+                       info[i++] = _("あなたは時々血が筋肉にどっと流れる。", "Your blood sometimes rushes to your muscles.");
                }
                if (p_ptr->muta2 & MUT2_HP_TO_SP)
                {
-#ifdef JP
-info[i++] = "あなたは時々頭に血がどっと流れる。";
-#else
-                       info[i++] = "Your blood sometimes rushes to your head.";
-#endif
-
+                       info[i++] = _("あなたは時々頭に血がどっと流れる。", "Your blood sometimes rushes to your head.");
                }
                if (p_ptr->muta2 & MUT2_DISARM)
                {
-#ifdef JP
-info[i++] = "あなたはよくつまづいて物を落とす。";
-#else
-                       info[i++] = "You occasionally stumble and drop things.";
-#endif
-
+                       info[i++] = _("あなたはよくつまづいて物を落とす。", "You occasionally stumble and drop things.");
                }
        }
 
@@ -1436,209 +784,95 @@ info[i++] = "あなたはよくつまづいて物を落とす。";
        {
                if (p_ptr->muta3 & MUT3_HYPER_STR)
                {
-#ifdef JP
-info[i++] = "あなたは超人的に強い。(腕力+4)";
-#else
-                       info[i++] = "You are superhumanly strong (+4 STR).";
-#endif
-
+                       info[i++] = _("あなたは超人的に強い。(腕力+4)", "You are superhumanly strong (+4 STR).");
                }
                if (p_ptr->muta3 & MUT3_PUNY)
                {
-#ifdef JP
-info[i++] = "あなたは虚弱だ。(腕力-4)";
-#else
-                       info[i++] = "You are puny (-4 STR).";
-#endif
-
+                       info[i++] = _("あなたは虚弱だ。(腕力-4)", "You are puny (-4 STR).");
                }
                if (p_ptr->muta3 & MUT3_HYPER_INT)
                {
-#ifdef JP
-info[i++] = "あなたの脳は生体コンピュータだ。(知能&賢さ+4)";
-#else
-                       info[i++] = "Your brain is a living computer (+4 INT/WIS).";
-#endif
-
+                       info[i++] = _("あなたの脳は生体コンピュータだ。(知能&賢さ+4)", "Your brain is a living computer (+4 INT/WIS).");
                }
                if (p_ptr->muta3 & MUT3_MORONIC)
                {
-#ifdef JP
-info[i++] = "あなたは精神薄弱だ。(知能&賢さ-4)";
-#else
-                       info[i++] = "You are moronic (-4 INT/WIS).";
-#endif
-
+                       info[i++] = _("あなたは精神薄弱だ。(知能&賢さ-4)", "You are moronic (-4 INT/WIS).");
                }
                if (p_ptr->muta3 & MUT3_RESILIENT)
                {
-#ifdef JP
-info[i++] = "あなたは非常にタフだ。(耐久+4)";
-#else
-                       info[i++] = "You are very resilient (+4 CON).";
-#endif
-
+                       info[i++] = _("あなたは非常にタフだ。(耐久+4)", "You are very resilient (+4 CON).");
                }
                if (p_ptr->muta3 & MUT3_XTRA_FAT)
                {
-#ifdef JP
-info[i++] = "あなたは極端に太っている。(耐久+2,スピード-2)";
-#else
-                       info[i++] = "You are extremely fat (+2 CON, -2 speed).";
-#endif
-
+                       info[i++] = _("あなたは極端に太っている。(耐久+2,スピード-2)", "You are extremely fat (+2 CON, -2 speed).");
                }
                if (p_ptr->muta3 & MUT3_ALBINO)
                {
-#ifdef JP
-info[i++] = "あなたはアルビノだ。(耐久-4)";
-#else
-                       info[i++] = "You are albino (-4 CON).";
-#endif
-
+                       info[i++] = _("あなたはアルビノだ。(耐久-4)", "You are albino (-4 CON).");
                }
                if (p_ptr->muta3 & MUT3_FLESH_ROT)
                {
-#ifdef JP
-info[i++] = "あなたの肉体は腐敗している。(耐久-2,魅力-1)";
-#else
-                       info[i++] = "Your flesh is rotting (-2 CON, -1 CHR).";
-#endif
-
+                       info[i++] = _("あなたの肉体は腐敗している。(耐久-2,魅力-1)", "Your flesh is rotting (-2 CON, -1 CHR).");
                }
                if (p_ptr->muta3 & MUT3_SILLY_VOI)
                {
-#ifdef JP
-info[i++] = "あなたの声は間抜けなキーキー声だ。(魅力-4)";
-#else
-                       info[i++] = "Your voice is a silly squeak (-4 CHR).";
-#endif
-
+                       info[i++] = _("あなたの声は間抜けなキーキー声だ。(魅力-4)", "Your voice is a silly squeak (-4 CHR).");
                }
                if (p_ptr->muta3 & MUT3_BLANK_FAC)
                {
-#ifdef JP
-info[i++] = "あなたはのっぺらぼうだ。(魅力-1)";
-#else
-                       info[i++] = "Your face is featureless (-1 CHR).";
-#endif
-
+                       info[i++] = _("あなたはのっぺらぼうだ。(魅力-1)", "Your face is featureless (-1 CHR).");
                }
                if (p_ptr->muta3 & MUT3_ILL_NORM)
                {
-#ifdef JP
-info[i++] = "あなたは幻影に覆われている。";
-#else
-                       info[i++] = "Your appearance is masked with illusion.";
-#endif
-
+                       info[i++] = _("あなたは幻影に覆われている。", "Your appearance is masked with illusion.");
                }
                if (p_ptr->muta3 & MUT3_XTRA_EYES)
                {
-#ifdef JP
-info[i++] = "あなたは余分に二つの目を持っている。(探索+15)";
-#else
-                       info[i++] = "You have an extra pair of eyes (+15 search).";
-#endif
-
+                       info[i++] = _("あなたは余分に二つの目を持っている。(探索+15)", "You have an extra pair of eyes (+15 search).");
                }
                if (p_ptr->muta3 & MUT3_MAGIC_RES)
                {
-#ifdef JP
-info[i++] = "あなたは魔法への耐性をもっている。";
-#else
-                       info[i++] = "You are resistant to magic.";
-#endif
-
+                       info[i++] = _("あなたは魔法への耐性をもっている。", "You are resistant to magic.");
                }
                if (p_ptr->muta3 & MUT3_XTRA_NOIS)
                {
-#ifdef JP
-info[i++] = "あなたは変な音を発している。(隠密-3)";
-#else
-                       info[i++] = "You make a lot of strange noise (-3 stealth).";
-#endif
-
+                       info[i++] = _("あなたは変な音を発している。(隠密-3)", "You make a lot of strange noise (-3 stealth).");
                }
                if (p_ptr->muta3 & MUT3_INFRAVIS)
                {
-#ifdef JP
-info[i++] = "あなたは素晴らしい赤外線視力を持っている。(+3)";
-#else
-                       info[i++] = "You have remarkable infravision (+3).";
-#endif
-
+                       info[i++] = _("あなたは素晴らしい赤外線視力を持っている。(+3)", "You have remarkable infravision (+3).");
                }
                if (p_ptr->muta3 & MUT3_XTRA_LEGS)
                {
-#ifdef JP
-info[i++] = "あなたは余分に二本の足が生えている。(加速+3)";
-#else
-                       info[i++] = "You have an extra pair of legs (+3 speed).";
-#endif
-
+                       info[i++] = _("あなたは余分に二本の足が生えている。(加速+3)", "You have an extra pair of legs (+3 speed).");
                }
                if (p_ptr->muta3 & MUT3_SHORT_LEG)
                {
-#ifdef JP
-info[i++] = "あなたの足は短い突起だ。(加速-3)";
-#else
-                       info[i++] = "Your legs are short stubs (-3 speed).";
-#endif
-
+                       info[i++] = _("あなたの足は短い突起だ。(加速-3)", "Your legs are short stubs (-3 speed).");
                }
                if (p_ptr->muta3 & MUT3_ELEC_TOUC)
                {
-#ifdef JP
-info[i++] = "あなたの血管には電流が流れている。";
-#else
-                       info[i++] = "Electricity is running through your veins.";
-#endif
-
+                       info[i++] = _("あなたの血管には電流が流れている。", "Electricity is running through your veins.");
                }
                if (p_ptr->muta3 & MUT3_FIRE_BODY)
                {
-#ifdef JP
-info[i++] = "あなたの体は炎につつまれている。";
-#else
-                       info[i++] = "Your body is enveloped in flames.";
-#endif
+                       info[i++] = _("あなたの体は炎につつまれている。", "Your body is enveloped in flames.");
                }
                if (p_ptr->muta3 & MUT3_WART_SKIN)
                {
-#ifdef JP
-info[i++] = "あなたの肌はイボに被われている。(魅力-2, AC+5)";
-#else
-                       info[i++] = "Your skin is covered with warts (-2 CHR, +5 AC).";
-#endif
-
+                       info[i++] = _("あなたの肌はイボに被われている。(魅力-2, AC+5)", "Your skin is covered with warts (-2 CHR, +5 AC).");
                }
                if (p_ptr->muta3 & MUT3_SCALES)
                {
-#ifdef JP
-info[i++] = "あなたの肌は鱗になっている。(魅力-1, AC+10)";
-#else
-                       info[i++] = "Your skin has turned into scales (-1 CHR, +10 AC).";
-#endif
-
+                       info[i++] = _("あなたの肌は鱗になっている。(魅力-1, AC+10)", "Your skin has turned into scales (-1 CHR, +10 AC).");
                }
                if (p_ptr->muta3 & MUT3_IRON_SKIN)
                {
-#ifdef JP
-info[i++] = "あなたの肌は鉄でできている。(器用-1, AC+25)";
-#else
-                       info[i++] = "Your skin is made of steel (-1 DEX, +25 AC).";
-#endif
-
+                       info[i++] = _("あなたの肌は鉄でできている。(器用-1, AC+25)", "Your skin is made of steel (-1 DEX, +25 AC).");
                }
                if (p_ptr->muta3 & MUT3_WINGS)
                {
-#ifdef JP
-info[i++] = "あなたは羽を持っている。";
-#else
-                       info[i++] = "You have wings.";
-#endif
-
+                       info[i++] = _("あなたは羽を持っている。", "You have wings.");
                }
                if (p_ptr->muta3 & MUT3_FEARLESS)
                {
@@ -1654,120 +888,57 @@ info[i++] = "あなたは羽を持っている。";
                }
                if (p_ptr->muta3 & MUT3_LIMBER)
                {
-#ifdef JP
-info[i++] = "あなたの体は非常にしなやかだ。(器用+3)";
-#else
-                       info[i++] = "Your body is very limber (+3 DEX).";
-#endif
-
+                       info[i++] = _("あなたの体は非常にしなやかだ。(器用+3)", "Your body is very limber (+3 DEX).");
                }
                if (p_ptr->muta3 & MUT3_ARTHRITIS)
                {
-#ifdef JP
-info[i++] = "あなたはいつも関節に痛みを感じている。(器用-3)";
-#else
-                       info[i++] = "Your joints ache constantly (-3 DEX).";
-#endif
-
+                       info[i++] = _("あなたはいつも関節に痛みを感じている。(器用-3)", "Your joints ache constantly (-3 DEX).");
                }
                if (p_ptr->muta3 & MUT3_VULN_ELEM)
                {
-#ifdef JP
-info[i++] = "あなたは元素の攻撃に弱い。";
-#else
-                       info[i++] = "You are susceptible to damage from the elements.";
-#endif
-
+                       info[i++] = _("あなたは元素の攻撃に弱い。", "You are susceptible to damage from the elements.");
                }
                if (p_ptr->muta3 & MUT3_MOTION)
                {
-#ifdef JP
-info[i++] = "あなたの動作は正確で力強い。(隠密+1)";
-#else
-                       info[i++] = "Your movements are precise and forceful (+1 STL).";
-#endif
-
+                       info[i++] = _("あなたの動作は正確で力強い。(隠密+1)", "Your movements are precise and forceful (+1 STL).");
                }
                if (p_ptr->muta3 & MUT3_GOOD_LUCK)
                {
-#ifdef JP
-info[i++] = "あなたは白いオーラにつつまれている。";
-#else
-                       info[i++] = "There is a white aura surrounding you.";
-#endif
+                       info[i++] = _("あなたは白いオーラにつつまれている。", "There is a white aura surrounding you.");
                }
                if (p_ptr->muta3 & MUT3_BAD_LUCK)
                {
-#ifdef JP
-info[i++] = "あなたは黒いオーラにつつまれている。";
-#else
-                       info[i++] = "There is a black aura surrounding you.";
-#endif
+                       info[i++] = _("あなたは黒いオーラにつつまれている。", "There is a black aura surrounding you.");
                }
        }
 
        if (p_ptr->blind)
        {
-#ifdef JP
-info[i++] = "あなたは目が見えない。";
-#else
-               info[i++] = "You cannot see.";
-#endif
-
+               info[i++] = _("あなたは目が見えない。", "You cannot see.");
        }
        if (p_ptr->confused)
        {
-#ifdef JP
-info[i++] = "あなたは混乱している。";
-#else
-               info[i++] = "You are confused.";
-#endif
-
+               info[i++] = _("あなたは混乱している。", "You are confused.");
        }
        if (p_ptr->afraid)
        {
-#ifdef JP
-info[i++] = "あなたは恐怖に侵されている。";
-#else
-               info[i++] = "You are terrified.";
-#endif
-
+               info[i++] = _("あなたは恐怖に侵されている。", "You are terrified.");
        }
        if (p_ptr->cut)
        {
-#ifdef JP
-info[i++] = "あなたは出血している。";
-#else
-               info[i++] = "You are bleeding.";
-#endif
-
+               info[i++] = _("あなたは出血している。", "You are bleeding.");
        }
        if (p_ptr->stun)
        {
-#ifdef JP
-info[i++] = "あなたはもうろうとしている。";
-#else
-               info[i++] = "You are stunned.";
-#endif
-
+               info[i++] = _("あなたはもうろうとしている。", "You are stunned.");
        }
        if (p_ptr->poisoned)
        {
-#ifdef JP
-info[i++] = "あなたは毒に侵されている。";
-#else
-               info[i++] = "You are poisoned.";
-#endif
-
+               info[i++] = _("あなたは毒に侵されている。", "You are poisoned.");
        }
        if (p_ptr->image)
        {
-#ifdef JP
-info[i++] = "あなたは幻覚を見ている。";
-#else
-               info[i++] = "You are hallucinating.";
-#endif
-
+               info[i++] = _("あなたは幻覚を見ている。", "You are hallucinating.");
        }
        if (p_ptr->cursed & TRC_TY_CURSE)
        {
@@ -2182,167 +1353,77 @@ info[i++] = "あなたは幻覚を見ている。";
 
        if (p_ptr->sustain_str)
        {
-#ifdef JP
-info[i++] = "あなたの腕力は維持されている。";
-#else
-               info[i++] = "Your strength is sustained.";
-#endif
-
+               info[i++] = _("あなたの腕力は維持されている。", "Your strength is sustained.");
        }
        if (p_ptr->sustain_int)
        {
-#ifdef JP
-info[i++] = "あなたの知能は維持されている。";
-#else
-               info[i++] = "Your intelligence is sustained.";
-#endif
-
+               info[i++] = _("あなたの知能は維持されている。", "Your intelligence is sustained.");
        }
-       if (p_ptr->sustain_wis)
-       {
-#ifdef JP
-info[i++] = "あなたの賢さは維持されている。";
-#else
-               info[i++] = "Your wisdom is sustained.";
-#endif
-
+       if (p_ptr->sustain_wis)
+       {
+               info[i++] = _("あなたの賢さは維持されている。", "Your wisdom is sustained.");
        }
        if (p_ptr->sustain_con)
        {
-#ifdef JP
-info[i++] = "あなたの耐久力は維持されている。";
-#else
-               info[i++] = "Your constitution is sustained.";
-#endif
-
+               info[i++] = _("あなたの耐久力は維持されている。", "Your constitution is sustained.");
        }
        if (p_ptr->sustain_dex)
        {
-#ifdef JP
-info[i++] = "あなたの器用さは維持されている。";
-#else
-               info[i++] = "Your dexterity is sustained.";
-#endif
-
+               info[i++] = _("あなたの器用さは維持されている。", "Your dexterity is sustained.");
        }
        if (p_ptr->sustain_chr)
        {
-#ifdef JP
-info[i++] = "あなたの魅力は維持されている。";
-#else
-               info[i++] = "Your charisma is sustained.";
-#endif
-
+               info[i++] = _("あなたの魅力は維持されている。", "Your charisma is sustained.");
        }
 
        if (have_flag(flgs, TR_STR))
        {
-#ifdef JP
-info[i++] = "あなたの腕力は装備によって影響を受けている。";
-#else
-               info[i++] = "Your strength is affected by your equipment.";
-#endif
-
+               info[i++] = _("あなたの腕力は装備によって影響を受けている。", "Your strength is affected by your equipment.");
        }
        if (have_flag(flgs, TR_INT))
        {
-#ifdef JP
-info[i++] = "あなたの知能は装備によって影響を受けている。";
-#else
-               info[i++] = "Your intelligence is affected by your equipment.";
-#endif
-
+               info[i++] = _("あなたの知能は装備によって影響を受けている。", "Your intelligence is affected by your equipment.");
        }
        if (have_flag(flgs, TR_WIS))
        {
-#ifdef JP
-info[i++] = "あなたの賢さは装備によって影響を受けている。";
-#else
-               info[i++] = "Your wisdom is affected by your equipment.";
-#endif
-
+               info[i++] = _("あなたの賢さは装備によって影響を受けている。", "Your wisdom is affected by your equipment.");
        }
        if (have_flag(flgs, TR_DEX))
        {
-#ifdef JP
-info[i++] = "あなたの器用さは装備によって影響を受けている。";
-#else
-               info[i++] = "Your dexterity is affected by your equipment.";
-#endif
-
+               info[i++] = _("あなたの器用さは装備によって影響を受けている。", "Your dexterity is affected by your equipment.");
        }
        if (have_flag(flgs, TR_CON))
        {
-#ifdef JP
-info[i++] = "あなたの耐久力は装備によって影響を受けている。";
-#else
-               info[i++] = "Your constitution is affected by your equipment.";
-#endif
-
+               info[i++] = _("あなたの耐久力は装備によって影響を受けている。", "Your constitution is affected by your equipment.");
        }
        if (have_flag(flgs, TR_CHR))
        {
-#ifdef JP
-info[i++] = "あなたの魅力は装備によって影響を受けている。";
-#else
-               info[i++] = "Your charisma is affected by your equipment.";
-#endif
-
+               info[i++] = _("あなたの魅力は装備によって影響を受けている。", "Your charisma is affected by your equipment.");
        }
 
        if (have_flag(flgs, TR_STEALTH))
        {
-#ifdef JP
-info[i++] = "あなたの隠密行動能力は装備によって影響を受けている。";
-#else
-               info[i++] = "Your stealth is affected by your equipment.";
-#endif
-
+               info[i++] = _("あなたの隠密行動能力は装備によって影響を受けている。", "Your stealth is affected by your equipment.");
        }
        if (have_flag(flgs, TR_SEARCH))
        {
-#ifdef JP
-info[i++] = "あなたの探索能力は装備によって影響を受けている。";
-#else
-               info[i++] = "Your searching ability is affected by your equipment.";
-#endif
-
+               info[i++] = _("あなたの探索能力は装備によって影響を受けている。", "Your searching ability is affected by your equipment.");
        }
        if (have_flag(flgs, TR_INFRA))
        {
-#ifdef JP
-info[i++] = "あなたの赤外線視力は装備によって影響を受けている。";
-#else
-               info[i++] = "Your infravision is affected by your equipment.";
-#endif
-
+               info[i++] = _("あなたの赤外線視力は装備によって影響を受けている。", "Your infravision is affected by your equipment.");
        }
        if (have_flag(flgs, TR_TUNNEL))
        {
-#ifdef JP
-info[i++] = "あなたの採掘能力は装備によって影響を受けている。";
-#else
-               info[i++] = "Your digging ability is affected by your equipment.";
-#endif
-
+               info[i++] = _("あなたの採掘能力は装備によって影響を受けている。", "Your digging ability is affected by your equipment.");
        }
        if (have_flag(flgs, TR_SPEED))
        {
-#ifdef JP
-info[i++] = "あなたのスピードは装備によって影響を受けている。";
-#else
-               info[i++] = "Your speed is affected by your equipment.";
-#endif
-
+               info[i++] = _("あなたのスピードは装備によって影響を受けている。", "Your speed is affected by your equipment.");
        }
        if (have_flag(flgs, TR_BLOWS))
        {
-#ifdef JP
-info[i++] = "あなたの攻撃速度は装備によって影響を受けている。";
-#else
-               info[i++] = "Your attack speed is affected by your equipment.";
-#endif
-
+               info[i++] = _("あなたの攻撃速度は装備によって影響を受けている。", "Your attack speed is affected by your equipment.");
        }
 
 
@@ -2355,283 +1436,134 @@ info[i++] = "あなたの攻撃速度は装備によって影響を受けてい
                /* Indicate Blessing */
                if (have_flag(flgs, TR_BLESSED))
                {
-#ifdef JP
-info[i++] = "あなたの武器は神の祝福を受けている。";
-#else
-                       info[i++] = "Your weapon has been blessed by the gods.";
-#endif
-
+                       info[i++] = _("あなたの武器は神の祝福を受けている。", "Your weapon has been blessed by the gods.");
                }
 
                if (have_flag(flgs, TR_CHAOTIC))
                {
-#ifdef JP
-info[i++] = "あなたの武器はログルスの徴の属性をもつ。";
-#else
-                       info[i++] = "Your weapon is branded with the Sign of Logrus.";
-#endif
-
+                       info[i++] = _("あなたの武器はログルスの徴の属性をもつ。", "Your weapon is branded with the Sign of Logrus.");
                }
 
                /* Hack */
                if (have_flag(flgs, TR_IMPACT))
                {
-#ifdef JP
-info[i++] = "あなたの武器は打撃で地震を発生することができる。";
-#else
-                       info[i++] = "The impact of your weapon can cause earthquakes.";
-#endif
-
+                       info[i++] = _("あなたの武器は打撃で地震を発生することができる。", "The impact of your weapon can cause earthquakes.");
                }
 
                if (have_flag(flgs, TR_VORPAL))
                {
-#ifdef JP
-info[i++] = "あなたの武器は非常に鋭い。";
-#else
-                       info[i++] = "Your weapon is very sharp.";
-#endif
-
+                       info[i++] = _("あなたの武器は非常に鋭い。", "Your weapon is very sharp.");
                }
 
                if (have_flag(flgs, TR_VAMPIRIC))
                {
-#ifdef JP
-info[i++] = "あなたの武器は敵から生命力を吸収する。";
-#else
-                       info[i++] = "Your weapon drains life from your foes.";
-#endif
-
+                       info[i++] = _("あなたの武器は敵から生命力を吸収する。", "Your weapon drains life from your foes.");
                }
 
                /* Special "Attack Bonuses" */
                if (have_flag(flgs, TR_BRAND_ACID))
                {
-#ifdef JP
-info[i++] = "あなたの武器は敵を溶かす。";
-#else
-                       info[i++] = "Your weapon melts your foes.";
-#endif
-
+                       info[i++] = _("あなたの武器は敵を溶かす。", "Your weapon melts your foes.");
                }
                if (have_flag(flgs, TR_BRAND_ELEC))
                {
-#ifdef JP
-info[i++] = "あなたの武器は敵を感電させる。";
-#else
-                       info[i++] = "Your weapon shocks your foes.";
-#endif
-
+                       info[i++] = _("あなたの武器は敵を感電させる。", "Your weapon shocks your foes.");
                }
                if (have_flag(flgs, TR_BRAND_FIRE))
                {
-#ifdef JP
-info[i++] = "あなたの武器は敵を燃やす。";
-#else
-                       info[i++] = "Your weapon burns your foes.";
-#endif
-
+                       info[i++] = _("あなたの武器は敵を燃やす。", "Your weapon burns your foes.");
                }
                if (have_flag(flgs, TR_BRAND_COLD))
                {
-#ifdef JP
-info[i++] = "あなたの武器は敵を凍らせる。";
-#else
-                       info[i++] = "Your weapon freezes your foes.";
-#endif
-
+                       info[i++] = _("あなたの武器は敵を凍らせる。", "Your weapon freezes your foes.");
                }
                if (have_flag(flgs, TR_BRAND_POIS))
                {
-#ifdef JP
-info[i++] = "あなたの武器は敵を毒で侵す。";
-#else
-                       info[i++] = "Your weapon poisons your foes.";
-#endif
-
+                       info[i++] = _("あなたの武器は敵を毒で侵す。", "Your weapon poisons your foes.");
                }
 
                /* Special "slay" flags */
                if (have_flag(flgs, TR_KILL_ANIMAL))
                {
-#ifdef JP
-info[i++] = "あなたの武器は動物の天敵である。";
-#else
-                       info[i++] = "Your weapon is a great bane of animals.";
-#endif
-
+                       info[i++] = _("あなたの武器は動物の天敵である。", "Your weapon is a great bane of animals.");
                }
                else if (have_flag(flgs, TR_SLAY_ANIMAL))
                {
-#ifdef JP
-info[i++] = "あなたの武器は動物に対して強い力を発揮する。";
-#else
-                       info[i++] = "Your weapon strikes at animals with extra force.";
-#endif
-
+                       info[i++] = _("あなたの武器は動物に対して強い力を発揮する。", "Your weapon strikes at animals with extra force.");
                }
                if (have_flag(flgs, TR_KILL_EVIL))
                {
-#ifdef JP
-info[i++] = "あなたの武器は邪悪なる存在の天敵である。";
-#else
-                       info[i++] = "Your weapon is a great bane of evil.";
-#endif
-
+                       info[i++] = _("あなたの武器は邪悪なる存在の天敵である。", "Your weapon is a great bane of evil.");
                }
                else if (have_flag(flgs, TR_SLAY_EVIL))
                {
-#ifdef JP
-info[i++] = "あなたの武器は邪悪なる存在に対して強い力を発揮する。";
-#else
-                       info[i++] = "Your weapon strikes at evil with extra force.";
-#endif
-
+                       info[i++] = _("あなたの武器は邪悪なる存在に対して強い力を発揮する。", "Your weapon strikes at evil with extra force.");
                }
                if (have_flag(flgs, TR_KILL_HUMAN))
                {
-#ifdef JP
-info[i++] = "あなたの武器は人間の天敵である。";
-#else
-                       info[i++] = "Your weapon is a great bane of humans.";
-#endif
-
+                       info[i++] = _("あなたの武器は人間の天敵である。", "Your weapon is a great bane of humans.");
                }
                else if (have_flag(flgs, TR_SLAY_HUMAN))
                {
-#ifdef JP
-info[i++] = "あなたの武器は人間に対して特に強い力を発揮する。";
-#else
-                       info[i++] = "Your weapon is especially deadly against humans.";
-#endif
-
+                       info[i++] = _("あなたの武器は人間に対して特に強い力を発揮する。", "Your weapon is especially deadly against humans.");
                }
                if (have_flag(flgs, TR_KILL_UNDEAD))
                {
-#ifdef JP
-info[i++] = "あなたの武器はアンデッドの天敵である。";
-#else
-                       info[i++] = "Your weapon is a great bane of undead.";
-#endif
-
+                       info[i++] = _("あなたの武器はアンデッドの天敵である。", "Your weapon is a great bane of undead.");
                }
                else if (have_flag(flgs, TR_SLAY_UNDEAD))
                {
-#ifdef JP
-info[i++] = "あなたの武器はアンデッドに対して神聖なる力を発揮する。";
-#else
-                       info[i++] = "Your weapon strikes at undead with holy wrath.";
-#endif
-
+                       info[i++] = _("あなたの武器はアンデッドに対して神聖なる力を発揮する。", "Your weapon strikes at undead with holy wrath.");
                }
                if (have_flag(flgs, TR_KILL_DEMON))
                {
-#ifdef JP
-info[i++] = "あなたの武器はデーモンの天敵である。";
-#else
-                       info[i++] = "Your weapon is a great bane of demons.";
-#endif
-
+                       info[i++] = _("あなたの武器はデーモンの天敵である。", "Your weapon is a great bane of demons.");
                }
                else if (have_flag(flgs, TR_SLAY_DEMON))
                {
-#ifdef JP
-info[i++] = "あなたの武器はデーモンに対して神聖なる力を発揮する。";
-#else
-                       info[i++] = "Your weapon strikes at demons with holy wrath.";
-#endif
-
+                       info[i++] = _("あなたの武器はデーモンに対して神聖なる力を発揮する。", "Your weapon strikes at demons with holy wrath.");
                }
                if (have_flag(flgs, TR_KILL_ORC))
                {
-#ifdef JP
-info[i++] = "あなたの武器はオークの天敵である。";
-#else
-                       info[i++] = "Your weapon is a great bane of orcs.";
-#endif
-
+                       info[i++] = _("あなたの武器はオークの天敵である。", "Your weapon is a great bane of orcs.");
                }
                else if (have_flag(flgs, TR_SLAY_ORC))
                {
-#ifdef JP
-info[i++] = "あなたの武器はオークに対して特に強い力を発揮する。";
-#else
-                       info[i++] = "Your weapon is especially deadly against orcs.";
-#endif
-
+                       info[i++] = _("あなたの武器はオークに対して特に強い力を発揮する。", "Your weapon is especially deadly against orcs.");
                }
                if (have_flag(flgs, TR_KILL_TROLL))
                {
-#ifdef JP
-info[i++] = "あなたの武器はトロルの天敵である。";
-#else
-                       info[i++] = "Your weapon is a great bane of trolls.";
-#endif
-
+                       info[i++] = _("あなたの武器はトロルの天敵である。", "Your weapon is a great bane of trolls.");
                }
                else if (have_flag(flgs, TR_SLAY_TROLL))
                {
-#ifdef JP
-info[i++] = "あなたの武器はトロルに対して特に強い力を発揮する。";
-#else
-                       info[i++] = "Your weapon is especially deadly against trolls.";
-#endif
-
+                       info[i++] = _("あなたの武器はトロルに対して特に強い力を発揮する。", "Your weapon is especially deadly against trolls.");
                }
                if (have_flag(flgs, TR_KILL_GIANT))
                {
-#ifdef JP
-info[i++] = "あなたの武器はジャイアントの天敵である。";
-#else
-                       info[i++] = "Your weapon is a great bane of giants.";
-#endif
-
+                       info[i++] = _("あなたの武器はジャイアントの天敵である。", "Your weapon is a great bane of giants.");
                }
                else if (have_flag(flgs, TR_SLAY_GIANT))
                {
-#ifdef JP
-info[i++] = "あなたの武器はジャイアントに対して特に強い力を発揮する。";
-#else
-                       info[i++] = "Your weapon is especially deadly against giants.";
-#endif
-
+                       info[i++] = _("あなたの武器はジャイアントに対して特に強い力を発揮する。", "Your weapon is especially deadly against giants.");
                }
                /* Special "kill" flags */
                if (have_flag(flgs, TR_KILL_DRAGON))
                {
-#ifdef JP
-info[i++] = "あなたの武器はドラゴンの天敵である。";
-#else
-                       info[i++] = "Your weapon is a great bane of dragons.";
-#endif
-
+                       info[i++] = _("あなたの武器はドラゴンの天敵である。", "Your weapon is a great bane of dragons.");
                }
                else if (have_flag(flgs, TR_SLAY_DRAGON))
                {
-#ifdef JP
-info[i++] = "あなたの武器はドラゴンに対して特に強い力を発揮する。";
-#else
-                       info[i++] = "Your weapon is especially deadly against dragons.";
-#endif
-
+                       info[i++] = _("あなたの武器はドラゴンに対して特に強い力を発揮する。", "Your weapon is especially deadly against dragons.");
                }
 
                if (have_flag(flgs, TR_FORCE_WEAPON))
                {
-#ifdef JP
-info[i++] = "あなたの武器はMPを使って攻撃する。";
-#else
-                       info[i++] = "Your weapon causes greate damages using your MP.";
-#endif
-
+                       info[i++] = _("あなたの武器はMPを使って攻撃する。", "Your weapon causes greate damages using your MP.");
                }
                if (have_flag(flgs, TR_THROW))
                {
-#ifdef JP
-info[i++] = "あなたの武器は投げやすい。";
-#else
-                       info[i++] = "Your weapon can be thrown well.";
-#endif
+                       info[i++] = _("あなたの武器は投げやすい。", "Your weapon can be thrown well.");
                }
        }
 
@@ -2643,12 +1575,7 @@ info[i++] = "あなたの武器は投げやすい。";
        for (k = 1; k < 24; k++) prt("", k, 13);
 
        /* Label the information */
-#ifdef JP
-prt("        あなたの状態:", 1, 15);
-#else
-       prt("     Your Attributes:", 1, 15);
-#endif
-
+       prt(_("        あなたの状態:", "     Your Attributes:"), 1, 15);
 
        /* We will print on top of the map (column 13) */
        for (k = 2, j = 0; j < i; j++)
@@ -2659,24 +1586,14 @@ prt("        あなたの状態:", 1, 15);
                /* Every 20 entries (lines 2 to 21), start over */
                if ((k == 22) && (j+1 < i))
                {
-#ifdef JP
-prt("-- 続く --", k, 15);
-#else
-                       prt("-- more --", k, 15);
-#endif
-
+                       prt(_("-- 続く --", "-- more --"), k, 15);
                        inkey();
                        for (; k > 2; k--) prt("", k, 15);
                }
        }
 
        /* Pause */
-#ifdef JP
-prt("[何かキーを押すとゲームに戻ります]", k, 13);
-#else
-       prt("[Press any key to continue]", k, 13);
-#endif
-
+       prt(_("[何かキーを押すとゲームに戻ります]", "[Press any key to continue]"), k, 13);
        inkey();
 
        /* Restore the screen */
@@ -2755,202 +1672,102 @@ void report_magics(void)
        if (p_ptr->blind)
        {
                info2[i]  = report_magics_aux(p_ptr->blind);
-#ifdef JP
-info[i++] = "あなたは目が見えない";
-#else
-               info[i++] = "You cannot see";
-#endif
-
+               info[i++] = _("あなたは目が見えない", "You cannot see");
        }
        if (p_ptr->confused)
        {
                info2[i]  = report_magics_aux(p_ptr->confused);
-#ifdef JP
-info[i++] = "あなたは混乱している";
-#else
-               info[i++] = "You are confused";
-#endif
-
+               info[i++] = _("あなたは混乱している", "You are confused");
        }
        if (p_ptr->afraid)
        {
                info2[i]  = report_magics_aux(p_ptr->afraid);
-#ifdef JP
-info[i++] = "あなたは恐怖に侵されている";
-#else
-               info[i++] = "You are terrified";
-#endif
-
+               info[i++] = _("あなたは恐怖に侵されている", "You are terrified");
        }
        if (p_ptr->poisoned)
        {
                info2[i]  = report_magics_aux(p_ptr->poisoned);
-#ifdef JP
-info[i++] = "あなたは毒に侵されている";
-#else
-               info[i++] = "You are poisoned";
-#endif
-
+               info[i++] = _("あなたは毒に侵されている", "You are poisoned");
        }
        if (p_ptr->image)
        {
                info2[i]  = report_magics_aux(p_ptr->image);
-#ifdef JP
-info[i++] = "あなたは幻覚を見ている";
-#else
-               info[i++] = "You are hallucinating";
-#endif
-
+               info[i++] = _("あなたは幻覚を見ている", "You are hallucinating");
        }
        if (p_ptr->blessed)
        {
                info2[i]  = report_magics_aux(p_ptr->blessed);
-#ifdef JP
-info[i++] = "あなたは高潔さを感じている";
-#else
-               info[i++] = "You feel rightous";
-#endif
-
+               info[i++] = _("あなたは高潔さを感じている", "You feel rightous");
        }
        if (p_ptr->hero)
        {
                info2[i]  = report_magics_aux(p_ptr->hero);
-#ifdef JP
-info[i++] = "あなたはヒーロー気分だ";
-#else
-               info[i++] = "You feel heroic";
-#endif
-
+               info[i++] = _("あなたはヒーロー気分だ", "You feel heroic");
        }
        if (p_ptr->shero)
        {
                info2[i]  = report_magics_aux(p_ptr->shero);
-#ifdef JP
-info[i++] = "あなたは戦闘狂だ";
-#else
-               info[i++] = "You are in a battle rage";
-#endif
-
+               info[i++] = _("あなたは戦闘狂だ", "You are in a battle rage");
        }
        if (p_ptr->protevil)
        {
                info2[i]  = report_magics_aux(p_ptr->protevil);
-#ifdef JP
-info[i++] = "あなたは邪悪なる存在から守られている";
-#else
-               info[i++] = "You are protected from evil";
-#endif
-
+               info[i++] = _("あなたは邪悪なる存在から守られている", "You are protected from evil");
        }
        if (p_ptr->shield)
        {
                info2[i]  = report_magics_aux(p_ptr->shield);
-#ifdef JP
-info[i++] = "あなたは神秘のシールドで守られている";
-#else
-               info[i++] = "You are protected by a mystic shield";
-#endif
-
+               info[i++] = _("あなたは神秘のシールドで守られている", "You are protected by a mystic shield");
        }
        if (p_ptr->invuln)
        {
                info2[i]  = report_magics_aux(p_ptr->invuln);
-#ifdef JP
-info[i++] = "あなたは無敵だ";
-#else
-               info[i++] = "You are invulnerable";
-#endif
-
+               info[i++] = _("あなたは無敵だ", "You are invulnerable");
        }
        if (p_ptr->wraith_form)
        {
                info2[i]  = report_magics_aux(p_ptr->wraith_form);
-#ifdef JP
-info[i++] = "あなたは幽体化している";
-#else
-               info[i++] = "You are incorporeal";
-#endif
-
+               info[i++] = _("あなたは幽体化している", "You are incorporeal");
        }
        if (p_ptr->special_attack & ATTACK_CONFUSE)
        {
                info2[i]  = 7;
-#ifdef JP
-info[i++] = "あなたの手は赤く輝いている";
-#else
-               info[i++] = "Your hands are glowing dull red.";
-#endif
-
+               info[i++] = _("あなたの手は赤く輝いている", "Your hands are glowing dull red.");
        }
        if (p_ptr->word_recall)
        {
                info2[i]  = report_magics_aux(p_ptr->word_recall);
-#ifdef JP
-               info[i++] = "この後帰還の詔が発動する";
-#else
-               info[i++] = "You are waiting to be recalled";
-#endif
-
+               info[i++] = _("この後帰還の詔が発動する", "You are waiting to be recalled");
        }
-       if (p_ptr->alter_reality)
-       {
-               info2[i]  = report_magics_aux(p_ptr->alter_reality);
-#ifdef JP
-               info[i++] = "この後現実変容が発動する";
-#else
-               info[i++] = "You waiting to be altered";
-#endif
-
+       if (p_ptr->alter_reality)
+       {
+               info2[i]  = report_magics_aux(p_ptr->alter_reality);
+               info[i++] = _("この後現実変容が発動する", "You waiting to be altered");
        }
        if (p_ptr->oppose_acid)
        {
                info2[i]  = report_magics_aux(p_ptr->oppose_acid);
-#ifdef JP
-info[i++] = "あなたは酸への耐性を持っている";
-#else
-               info[i++] = "You are resistant to acid";
-#endif
-
+               info[i++] = _("あなたは酸への耐性を持っている", "You are resistant to acid");
        }
        if (p_ptr->oppose_elec)
        {
                info2[i]  = report_magics_aux(p_ptr->oppose_elec);
-#ifdef JP
-info[i++] = "あなたは電撃への耐性を持っている";
-#else
-               info[i++] = "You are resistant to lightning";
-#endif
-
+               info[i++] = _("あなたは電撃への耐性を持っている", "You are resistant to lightning");
        }
        if (p_ptr->oppose_fire)
        {
                info2[i]  = report_magics_aux(p_ptr->oppose_fire);
-#ifdef JP
-info[i++] = "あなたは火への耐性を持っている";
-#else
-               info[i++] = "You are resistant to fire";
-#endif
-
+               info[i++] = _("あなたは火への耐性を持っている", "You are resistant to fire");
        }
        if (p_ptr->oppose_cold)
        {
                info2[i]  = report_magics_aux(p_ptr->oppose_cold);
-#ifdef JP
-info[i++] = "あなたは冷気への耐性を持っている";
-#else
-               info[i++] = "You are resistant to cold";
-#endif
-
+               info[i++] = _("あなたは冷気への耐性を持っている", "You are resistant to cold");
        }
        if (p_ptr->oppose_pois)
        {
                info2[i]  = report_magics_aux(p_ptr->oppose_pois);
-#ifdef JP
-info[i++] = "あなたは毒への耐性を持っている";
-#else
-               info[i++] = "You are resistant to poison";
-#endif
-
+               info[i++] = _("あなたは毒への耐性を持っている", "You are resistant to poison");
        }
 
        /* Save the screen */
@@ -2960,47 +1777,28 @@ info[i++] = "あなたは毒への耐性を持っている";
        for (k = 1; k < 24; k++) prt("", k, 13);
 
        /* Label the information */
-#ifdef JP
-prt("    現在かかっている魔法     :", 1, 15);
-#else
-       prt("     Your Current Magic:", 1, 15);
-#endif
+       prt(_("    現在かかっている魔法     :", "     Your Current Magic:"), 1, 15);
 
 
        /* We will print on top of the map (column 13) */
        for (k = 2, j = 0; j < i; j++)
        {
                /* Show the info */
-#ifdef JP
-               sprintf(Dummy, "%-28s : 期間 - %s ", info[j],
-#else
-               sprintf(Dummy, "%s %s.", info[j],
-#endif
-
+               sprintf(Dummy, _("%-28s : 期間 - %s ", "%s %s."), info[j],
                        report_magic_durations[info2[j]]);
                prt(Dummy, k++, 15);
 
                /* Every 20 entries (lines 2 to 21), start over */
                if ((k == 22) && (j + 1 < i))
                {
-#ifdef JP
-prt("-- 続く --", k, 15);
-#else
-                       prt("-- more --", k, 15);
-#endif
-
+                       prt(_("-- 続く --", "-- more --"), k, 15);
                        inkey();
                        for (; k > 2; k--) prt("", k, 15);
                }
        }
 
        /* Pause */
-#ifdef JP
-prt("[何かキーを押すとゲームに戻ります]", k, 13);
-#else
-       prt("[Press any key to continue]", k, 13);
-#endif
-
+       prt(_("[何かキーを押すとゲームに戻ります]", "[Press any key to continue]"), k, 13);
        inkey();
 
        /* Restore the screen */
@@ -3079,11 +1877,7 @@ bool detect_traps(int range, bool known)
        /* Describe */
        if (detect)
        {
-#ifdef JP
-               msg_print("トラップの存在を感じとった!");
-#else
-               msg_print("You sense the presence of traps!");
-#endif
+               msg_print(_("トラップの存在を感じとった!", "You sense the presence of traps!"));
        }
 
        /* Result */
@@ -3103,11 +1897,7 @@ bool detect_doors(int range)
        /* Describe */
        if (detect)
        {
-#ifdef JP
-               msg_print("ドアの存在を感じとった!");
-#else
-               msg_print("You sense the presence of doors!");
-#endif
+               msg_print(_("ドアの存在を感じとった!", "You sense the presence of doors!"));
        }
 
        /* Result */
@@ -3127,11 +1917,7 @@ bool detect_stairs(int range)
        /* Describe */
        if (detect)
        {
-#ifdef JP
-               msg_print("階段の存在を感じとった!");
-#else
-               msg_print("You sense the presence of stairs!");
-#endif
+               msg_print(_("階段の存在を感じとった!", "You sense the presence of stairs!"));
        }
 
        /* Result */
@@ -3151,11 +1937,7 @@ bool detect_treasure(int range)
        /* Describe */
        if (detect)
        {
-#ifdef JP
-               msg_print("埋蔵された財宝の存在を感じとった!");
-#else
-               msg_print("You sense the presence of buried treasure!");
-#endif
+               msg_print(_("埋蔵された財宝の存在を感じとった!", "You sense the presence of buried treasure!"));
        }
 
        /* Result */
@@ -3212,12 +1994,7 @@ bool detect_objects_gold(int range)
        /* Describe */
        if (detect)
        {
-#ifdef JP
-msg_print("財宝の存在を感じとった!");
-#else
-               msg_print("You sense the presence of treasure!");
-#endif
-
+               msg_print(_("財宝の存在を感じとった!", "You sense the presence of treasure!"));
        }
 
        if (detect_monsters_string(range, "$"))
@@ -3279,12 +2056,7 @@ bool detect_objects_normal(int range)
        /* Describe */
        if (detect)
        {
-#ifdef JP
-msg_print("アイテムの存在を感じとった!");
-#else
-               msg_print("You sense the presence of objects!");
-#endif
-
+               msg_print(_("アイテムの存在を感じとった!", "You sense the presence of objects!"));
        }
 
        if (detect_monsters_string(range, "!=?|/`"))
@@ -3375,12 +2147,7 @@ bool detect_objects_magic(int range)
        /* Describe */
        if (detect)
        {
-#ifdef JP
-msg_print("魔法のアイテムの存在を感じとった!");
-#else
-               msg_print("You sense the presence of magic objects!");
-#endif
-
+               msg_print(_("魔法のアイテムの存在を感じとった!", "You sense the presence of magic objects!"));
        }
 
        /* Return result */
@@ -3438,12 +2205,7 @@ bool detect_monsters_normal(int range)
        if (flag)
        {
                /* Describe result */
-#ifdef JP
-msg_print("モンスターの存在を感じとった!");
-#else
-               msg_print("You sense the presence of monsters!");
-#endif
-
+               msg_print(_("モンスターの存在を感じとった!", "You sense the presence of monsters!"));
        }
 
        /* Result */
@@ -3507,12 +2269,7 @@ bool detect_monsters_invis(int range)
        if (flag)
        {
                /* Describe result */
-#ifdef JP
-msg_print("透明な生物の存在を感じとった!");
-#else
-               msg_print("You sense the presence of invisible creatures!");
-#endif
-
+               msg_print(_("透明な生物の存在を感じとった!", "You sense the presence of invisible creatures!"));
        }
 
        /* Result */
@@ -3581,12 +2338,7 @@ bool detect_monsters_evil(int range)
        if (flag)
        {
                /* Describe result */
-#ifdef JP
-msg_print("邪悪なる生物の存在を感じとった!");
-#else
-               msg_print("You sense the presence of evil creatures!");
-#endif
-
+               msg_print(_("邪悪なる生物の存在を感じとった!", "You sense the presence of evil creatures!"));
        }
 
        /* Result */
@@ -3650,12 +2402,7 @@ bool detect_monsters_nonliving(int range)
        if (flag)
        {
                /* Describe result */
-#ifdef JP
-msg_print("自然でないモンスターの存在を感じた!");
-#else
-               msg_print("You sense the presence of unnatural beings!");
-#endif
-
+               msg_print(_("自然でないモンスターの存在を感じた!", "You sense the presence of unnatural beings!"));
        }
 
        /* Result */
@@ -3717,12 +2464,7 @@ bool detect_monsters_mind(int range)
        if (flag)
        {
                /* Describe result */
-#ifdef JP
-msg_print("殺気を感じとった!");
-#else
-               msg_print("You sense the presence of someone's mind!");
-#endif
-
+               msg_print(_("殺気を感じとった!", "You sense the presence of someone's mind!"));
        }
 
        /* Result */
@@ -3786,12 +2528,7 @@ bool detect_monsters_string(int range, cptr Match)
        if (flag)
        {
                /* Describe result */
-#ifdef JP
-msg_print("モンスターの存在を感じとった!");
-#else
-               msg_print("You sense the presence of monsters!");
-#endif
-
+               msg_print(_("モンスターの存在を感じとった!", "You sense the presence of monsters!"));
        }
 
        /* Result */
@@ -3806,11 +2543,7 @@ bool detect_monsters_xxx(int range, u32b match_flag)
 {
        int  i, y, x;
        bool flag = FALSE;
-#ifdef JP
-cptr desc_monsters = "変なモンスター";
-#else
-       cptr desc_monsters = "weird monsters";
-#endif
+       cptr desc_monsters = _("変なモンスター", "weird monsters");
 
        if (d_info[dungeon_type].flags1 & DF1_DARKNESS) range /= 3;
 
@@ -3866,30 +2599,15 @@ cptr desc_monsters = "変なモンスター";
                switch (match_flag)
                {
                        case RF3_DEMON:
-#ifdef JP
-desc_monsters = "デーモン";
-#else
-                               desc_monsters = "demons";
-#endif
-
+                       desc_monsters = _("デーモン", "demons");
                                break;
                        case RF3_UNDEAD:
-#ifdef JP
-desc_monsters = "アンデッド";
-#else
-                               desc_monsters = "the undead";
-#endif
-
+                       desc_monsters = _("アンデッド", "the undead");
                                break;
                }
 
                /* Describe result */
-#ifdef JP
-msg_format("%sの存在を感じとった!", desc_monsters);
-#else
-               msg_format("You sense the presence of %s!", desc_monsters);
-#endif
-
+               msg_format(_("%sの存在を感じとった!", "You sense the presence of %s!"), desc_monsters);
                msg_print(NULL);
        }
 
@@ -4192,33 +2910,21 @@ bool genocide_aux(int m_idx, int power, bool player_cast, int dam_side, cptr spe
                monster_desc(m_name, m_ptr, 0);
                if (see_m)
                {
-#ifdef JP
-                       msg_format("%^sには効果がなかった。", m_name);
-#else
-                       msg_format("%^s is unaffected.", m_name);
-#endif
+                       msg_format(_("%^sには効果がなかった。", "%^s is unaffected."), m_name);
                }
                if (MON_CSLEEP(m_ptr))
                {
                        (void)set_monster_csleep(m_idx, 0);
                        if (m_ptr->ml)
                        {
-#ifdef JP
-                               msg_format("%^sが目を覚ました。", m_name);
-#else
-                               msg_format("%^s wakes up.", m_name);
-#endif
+                               msg_format(_("%^sが目を覚ました。", "%^s wakes up."), m_name);
                        }
                }
                if (is_friendly(m_ptr) && !is_pet(m_ptr))
                {
                        if (see_m)
                        {
-#ifdef JP
-                               msg_format("%sは怒った!", m_name);
-#else
-                               msg_format("%^s gets angry!", m_name);
-#endif
+                               msg_format(_("%sは怒った!", "%^s gets angry!"), m_name);
                        }
                        set_hostile(m_ptr);
                }
@@ -4228,11 +2934,7 @@ bool genocide_aux(int m_idx, int power, bool player_cast, int dam_side, cptr spe
        if (player_cast)
        {
                /* Take damage */
-#ifdef JP
-               take_hit(DAMAGE_GENO, randint1(dam_side), format("%^sの呪文を唱えた疲労", spell_name), -1);
-#else
-               take_hit(DAMAGE_GENO, randint1(dam_side), format("the strain of casting %^s", spell_name), -1);
-#endif
+               take_hit(DAMAGE_GENO, randint1(dam_side), format(_("%^sの呪文を唱えた疲労", "the strain of casting %^s"), spell_name), -1);
        }
 
        /* Visual feedback */
@@ -4273,11 +2975,7 @@ bool symbol_genocide(int power, bool player_cast)
        }
 
        /* Mega-Hack -- Get a monster symbol */
-#ifdef JP
-       while (!get_com("どの種類(文字)のモンスターを抹殺しますか: ", &typ, FALSE)) ;
-#else
-       while (!get_com("Choose a monster race (by symbol) to genocide: ", &typ, FALSE)) ;
-#endif
+       while (!get_com(_("どの種類(文字)のモンスターを抹殺しますか: ", "Choose a monster race (by symbol) to genocide: "), &typ, FALSE)) ;
 
        /* Delete the monsters of that "type" */
        for (i = 1; i < m_max; i++)
@@ -4292,11 +2990,7 @@ bool symbol_genocide(int power, bool player_cast)
                if (r_ptr->d_char != typ) continue;
 
                /* Take note */
-#ifdef JP
-               result |= genocide_aux(i, power, player_cast, 4, "抹殺");
-#else
-               result |= genocide_aux(i, power, player_cast, 4, "Genocide");
-#endif
+               result |= genocide_aux(i, power, player_cast, 4, _("抹殺", "Genocide"));
        }
 
        if (result)
@@ -4335,11 +3029,7 @@ bool mass_genocide(int power, bool player_cast)
                if (m_ptr->cdis > MAX_SIGHT) continue;
 
                /* Note effect */
-#ifdef JP
-               result |= genocide_aux(i, power, player_cast, 3, "周辺抹殺");
-#else
-               result |= genocide_aux(i, power, player_cast, 3, "Mass Genocide");
-#endif
+               result |= genocide_aux(i, power, player_cast, 3, _("周辺抹殺", "Mass Genocide"));
        }
 
        if (result)
@@ -4382,11 +3072,7 @@ bool mass_genocide_undead(int power, bool player_cast)
                if (m_ptr->cdis > MAX_SIGHT) continue;
 
                /* Note effect */
-#ifdef JP
-               result |= genocide_aux(i, power, player_cast, 3, "アンデッド消滅");
-#else
-               result |= genocide_aux(i, power, player_cast, 3, "Annihilate Undead");
-#endif
+               result |= genocide_aux(i, power, player_cast, 3, _("アンデッド消滅", "Annihilate Undead"));
        }
 
        if (result)
@@ -4436,11 +3122,7 @@ bool probing(void)
                        /* Start the message */
                        if (!probe)
                        {
-#ifdef JP
-                               msg_print("調査中...");
-#else
-                               msg_print("Probing...");
-#endif
+                               msg_print(_("調査中...", "Probing..."));
                        }
 
                        msg_print(NULL);
@@ -4555,13 +3237,7 @@ sprintf(buf, "%s ... align:%s HP:%d/%d AC:%d speed:%s%d exp:", m_name, align, m_
        if (probe)
        {
                chg_virtue(V_KNOWLEDGE, 1);
-
-#ifdef JP
-msg_print("これで全部です。");
-#else
-               msg_print("That's all.");
-#endif
-
+               msg_print(_("これで全部です。", "That's all."));
        }
 
        /* Result */
@@ -4694,20 +3370,13 @@ bool destroy_area(int y1, int x1, int r, bool in_generate)
                                                {
                                                        char o_name[MAX_NLEN];
                                                        object_desc(o_name, o_ptr, (OD_NAME_ONLY | OD_STORE));
-#ifdef JP
-                                                       msg_format("伝説のアイテム (%s) は生成中に*破壊*された。", o_name);
-#else
-                                                       msg_format("Artifact (%s) was *destroyed* during generation.", o_name);
-#endif
+                                                       msg_format(_("伝説のアイテム (%s) は生成中に*破壊*された。", "Artifact (%s) was *destroyed* during generation."), o_name);
                                                }
                                        }
                                        else if (in_generate && cheat_peek && o_ptr->art_name)
                                        {
-#ifdef JP
-                                               msg_print("ランダム・アーティファクトの1つは生成中に*破壊*された。");
-#else
-                                               msg_print("One of the random artifacts was *destroyed* during generation.");
-#endif
+                                               msg_print(_("ランダム・アーティファクトの1つは生成中に*破壊*された。", 
+                                                                       "One of the random artifacts was *destroyed* during generation."));
                                        }
                                }
                        }
@@ -4819,11 +3488,7 @@ bool destroy_area(int y1, int x1, int r, bool in_generate)
                if (flag)
                {
                        /* Message */
-#ifdef JP
-                       msg_print("燃えるような閃光が発生した!");
-#else
-                       msg_print("There is a searing blast of light!");
-#endif
+                       msg_print(_("燃えるような閃光が発生した!", "There is a searing blast of light!"));
 
                        /* Blind the player */
                        if (!p_ptr->resist_blind && !p_ptr->resist_lite)
@@ -4975,29 +3640,17 @@ bool earthquake_aux(int cy, int cx, int r, int m_idx)
                {
                        case 1:
                        {
-#ifdef JP
-                               msg_print("ダンジョンの壁が崩れた!");
-#else
-                               msg_print("The cave ceiling collapses!");
-#endif
+                               msg_print(_("ダンジョンの壁が崩れた!", "The cave ceiling collapses!"));
                                break;
                        }
                        case 2:
                        {
-#ifdef JP
-                               msg_print("ダンジョンの床が不自然にねじ曲がった!");
-#else
-                               msg_print("The cave floor twists in an unnatural way!");
-#endif
+                               msg_print(_("ダンジョンの床が不自然にねじ曲がった!", "The cave floor twists in an unnatural way!"));
                                break;
                        }
                        default:
                        {
-#ifdef JP
-                               msg_print("ダンジョンが揺れた!崩れた岩が頭に降ってきた!");
-#else
-                               msg_print("The cave quakes!  You are pummeled with debris!");
-#endif
+                               msg_print(_("ダンジョンが揺れた!崩れた岩が頭に降ってきた!", "The cave quakes!  You are pummeled with debris!"));
                                break;
                        }
                }
@@ -5006,11 +3659,7 @@ bool earthquake_aux(int cy, int cx, int r, int m_idx)
                if (!sn)
                {
                        /* Message and damage */
-#ifdef JP
-                       msg_print("あなたはひどい怪我を負った!");
-#else
-                       msg_print("You are severely crushed!");
-#endif
+                       msg_print(_("あなたはひどい怪我を負った!", "You are severely crushed!"));
                        damage = 200;
                }
 
@@ -5022,32 +3671,20 @@ bool earthquake_aux(int cy, int cx, int r, int m_idx)
                        {
                                case 1:
                                {
-#ifdef JP
-                                       msg_print("降り注ぐ岩をうまく避けた!");
-#else
-                                       msg_print("You nimbly dodge the blast!");
-#endif
+                                       msg_print(_("降り注ぐ岩をうまく避けた!", "You nimbly dodge the blast!"));
                                        damage = 0;
                                        break;
                                }
                                case 2:
                                {
-#ifdef JP
-                                       msg_print("岩石があなたに直撃した!");
-#else
-                                       msg_print("You are bashed by rubble!");
-#endif
+                                       msg_print(_("岩石があなたに直撃した!", "You are bashed by rubble!"));
                                        damage = damroll(10, 4);
                                        (void)set_stun(p_ptr->stun + randint1(50));
                                        break;
                                }
                                case 3:
                                {
-#ifdef JP
-                                       msg_print("あなたは床と壁との間に挟まれてしまった!");
-#else
-                                       msg_print("You are crushed between the floor and ceiling!");
-#endif
+                                       msg_print(_("あなたは床と壁との間に挟まれてしまった!", "You are crushed between the floor and ceiling!"));
                                        damage = damroll(10, 4);
                                        (void)set_stun(p_ptr->stun + randint1(50));
                                        break;
@@ -5074,19 +3711,11 @@ bool earthquake_aux(int cy, int cx, int r, int m_idx)
                                /* Get the monster's real name */
                                monster_desc(m_name, m_ptr, MD_IGNORE_HALLU | MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE);
 
-#ifdef JP
-                               killer = format("%sの起こした地震", m_name);
-#else
-                               killer = format("an earthquake caused by %s", m_name);
-#endif
+                               killer = format(_("%sの起こした地震", "an earthquake caused by %s"), m_name);
                        }
                        else
                        {
-#ifdef JP
-                               killer = "地震";
-#else
-                               killer = "an earthquake";
-#endif
+                               killer = _("地震", "an earthquake");
                        }
 
                        take_hit(DAMAGE_ATTACK, damage, killer, -1);
@@ -5175,11 +3804,7 @@ bool earthquake_aux(int cy, int cx, int r, int m_idx)
                                        monster_desc(m_name, m_ptr, 0);
 
                                        /* Scream in pain */
-#ifdef JP
-                                       if (!ignore_unview || is_seen(m_ptr)) msg_format("%^sは苦痛で泣きわめいた!", m_name);
-#else
-                                       if (!ignore_unview || is_seen(m_ptr)) msg_format("%^s wails out in pain!", m_name);
-#endif
+                                       if (!ignore_unview || is_seen(m_ptr)) msg_format(_("%^sは苦痛で泣きわめいた!", "%^s wails out in pain!"), m_name);
 
                                        /* Take damage from the quake */
                                        damage = (sn ? damroll(4, 8) : (m_ptr->hp + 1));
@@ -5194,11 +3819,8 @@ bool earthquake_aux(int cy, int cx, int r, int m_idx)
                                        if (m_ptr->hp < 0)
                                        {
                                                /* Message */
-#ifdef JP
-                                               if (!ignore_unview || is_seen(m_ptr)) msg_format("%^sは岩石に埋もれてしまった!", m_name);
-#else
-                                               if (!ignore_unview || is_seen(m_ptr)) msg_format("%^s is embedded in the rock!", m_name);
-#endif
+                                               if (!ignore_unview || is_seen(m_ptr)) 
+                                                       msg_format(_("%^sは岩石に埋もれてしまった!", "%^s is embedded in the rock!"), m_name);
 
                                                if (c_ptr->m_idx)
                                                {
@@ -5393,11 +4015,7 @@ void discharge_minion(void)
        }
        if (!okay || p_ptr->riding)
        {
-#ifdef JP
-               if (!get_check("本当に全ペットを爆破しますか?"))
-#else
-               if (!get_check("You will blast all pets. Are you sure? "))
-#endif
+               if (!get_check(_("本当に全ペットを爆破しますか?", "You will blast all pets. Are you sure? ")))
                        return;
        }
        for (i = 1; i < m_max; i++)
@@ -5414,11 +4032,7 @@ void discharge_minion(void)
                {
                        char m_name[80];
                        monster_desc(m_name, m_ptr, 0x00);
-#ifdef JP
-                       msg_format("%sは爆破されるのを嫌がり、勝手に自分の世界へと帰った。", m_name);
-#else
-                       msg_format("%^s resists to be blasted, and run away.", m_name);
-#endif
+                       msg_format(_("%sは爆破されるのを嫌がり、勝手に自分の世界へと帰った。", "%^s resists to be blasted, and run away."), m_name);
                        delete_monster_idx(i);
                        continue;
                }
@@ -5512,11 +4126,7 @@ static void cave_temp_room_lite(void)
                                        monster_desc(m_name, m_ptr, 0);
 
                                        /* Dump a message */
-#ifdef JP
-                                       msg_format("%^sが目を覚ました。", m_name);
-#else
-                                       msg_format("%^s wakes up.", m_name);
-#endif
+                                       msg_format(_("%^sが目を覚ました。", "%^s wakes up."), m_name);
                                }
                        }
                }
@@ -5850,23 +4460,14 @@ bool lite_area(int dam, int rad)
 
        if (d_info[dungeon_type].flags1 & DF1_DARKNESS)
        {
-#ifdef JP
-               msg_print("ダンジョンが光を吸収した。");
-#else
-               msg_print("The darkness of this dungeon absorb your light.");
-#endif
+               msg_print(_("ダンジョンが光を吸収した。", "The darkness of this dungeon absorb your light."));
                return FALSE;
        }
 
        /* Hack -- Message */
        if (!p_ptr->blind)
        {
-#ifdef JP
-msg_print("白い光が辺りを覆った。");
-#else
-               msg_print("You are surrounded by a white light.");
-#endif
-
+               msg_print(_("白い光が辺りを覆った。", "You are surrounded by a white light."));
        }
 
        /* Hook into the "project()" function */
@@ -5891,12 +4492,7 @@ bool unlite_area(int dam, int rad)
        /* Hack -- Message */
        if (!p_ptr->blind)
        {
-#ifdef JP
-msg_print("暗闇が辺りを覆った。");
-#else
-               msg_print("Darkness surrounds you.");
-#endif
-
+               msg_print(_("暗闇が辺りを覆った。", "Darkness surrounds you."));
        }
 
        /* Hook into the "project()" function */
@@ -6092,23 +4688,13 @@ bool teleport_swap(int dir)
 
        if (p_ptr->anti_tele)
        {
-#ifdef JP
-msg_print("不思議な力がテレポートを防いだ!");
-#else
-               msg_print("A mysterious force prevents you from teleporting!");
-#endif
-
+               msg_print(_("不思議な力がテレポートを防いだ!", "A mysterious force prevents you from teleporting!"));
                return FALSE;
        }
 
        if (!c_ptr->m_idx || (c_ptr->m_idx == p_ptr->riding))
        {
-#ifdef JP
-msg_print("それとは場所を交換できません。");
-#else
-               msg_print("You can't trade places with that!");
-#endif
-
+               msg_print(_("それとは場所を交換できません。", "You can't trade places with that!"));
 
                /* Failure */
                return FALSE;
@@ -6116,12 +4702,7 @@ msg_print("それとは場所を交換できません。");
 
        if ((c_ptr->info & CAVE_ICKY) || (distance(ty, tx, py, px) > p_ptr->lev * 3 / 2 + 10))
        {
-#ifdef JP
-msg_print("失敗した。");
-#else
-               msg_print("Failed to swap.");
-#endif
-
+               msg_print(_("失敗した。", "Failed to swap."));
 
                /* Failure */
                return FALSE;
@@ -6134,11 +4715,7 @@ msg_print("失敗した。");
 
        if (r_ptr->flagsr & RFR_RES_TELE)
        {
-#ifdef JP
-               msg_print("テレポートを邪魔された!");
-#else
-               msg_print("Your teleportation is blocked!");
-#endif
+               msg_print(_("テレポートを邪魔された!", "Your teleportation is blocked!"));
 
                if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
 
@@ -6499,12 +5076,7 @@ bool activate_ty_curse(bool stop_ty, int *count)
                case 28: case 29:
                        if (!(*count))
                        {
-#ifdef JP
-msg_print("地面が揺れた...");
-#else
-                               msg_print("The ground trembles...");
-#endif
-
+                               msg_print(_("地面が揺れた...", "The ground trembles..."));
                                earthquake(py, px, 5 + randint0(10));
                                if (!one_in_(6)) break;
                        }
@@ -6512,49 +5084,26 @@ msg_print("地面が揺れた...");
                        if (!(*count))
                        {
                                int dam = damroll(10, 10);
-#ifdef JP
-msg_print("純粋な魔力の次元への扉が開いた!");
-#else
-                               msg_print("A portal opens to a plane of raw mana!");
-#endif
-
+                               msg_print(_("純粋な魔力の次元への扉が開いた!", "A portal opens to a plane of raw mana!"));
                                project(0, 8, py, px, dam, GF_MANA, flg, -1);
-#ifdef JP
-                               take_hit(DAMAGE_NOESCAPE, dam, "純粋な魔力の解放", -1);
-#else
-                               take_hit(DAMAGE_NOESCAPE, dam, "released pure mana", -1);
-#endif
+                               take_hit(DAMAGE_NOESCAPE, dam, _("純粋な魔力の解放", "released pure mana"), -1);
                                if (!one_in_(6)) break;
                        }
                case 32: case 33:
                        if (!(*count))
                        {
-#ifdef JP
-msg_print("周囲の空間が歪んだ!");
-#else
-                               msg_print("Space warps about you!");
-#endif
-
+                               msg_print(_("周囲の空間が歪んだ!", "Space warps about you!"));
                                teleport_player(damroll(10, 10), TELEPORT_PASSIVE);
                                if (randint0(13)) (*count) += activate_hi_summon(py, px, FALSE);
                                if (!one_in_(6)) break;
                        }
                case 34:
-#ifdef JP
-msg_print("エネルギーのうねりを感じた!");
-#else
-                       msg_print("You feel a surge of energy!");
-#endif
-
+                       msg_print(_("エネルギーのうねりを感じた!", "You feel a surge of energy!"));
                        wall_breaker();
                        if (!randint0(7))
                        {
                                project(0, 7, py, px, 50, GF_KILL_WALL, flg, -1);
-#ifdef JP
-                               take_hit(DAMAGE_NOESCAPE, 50, "エネルギーのうねり", -1);
-#else
-                               take_hit(DAMAGE_NOESCAPE, 50, "surge of energy", -1);
-#endif
+                               take_hit(DAMAGE_NOESCAPE, 50, _("エネルギーのうねり", "surge of energy"), -1);
                        }
                        if (!one_in_(6)) break;
                case 1: case 2: case 3: case 16: case 17:
@@ -6567,12 +5116,7 @@ msg_print("エネルギーのうねりを感じた!");
                        (*count) += summon_specific(0, py, px, dun_level, 0, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE | PM_NO_PET));
                        if (!one_in_(6)) break;
                case 10: case 11: case 12:
-#ifdef JP
-msg_print("経験値が体から吸い取られた気がする!");
-#else
-                       msg_print("You feel your experience draining away...");
-#endif
-
+                       msg_print(_("経験値が体から吸い取られた気がする!", "You feel your experience draining away..."));
                        lose_exp(p_ptr->exp / 16);
                        if (!one_in_(6)) break;
                case 13: case 14: case 15: case 19: case 20:
@@ -6582,12 +5126,7 @@ msg_print("経験値が体から吸い取られた気がする!");
                        }
                        else
                        {
-#ifdef JP
-msg_print("彫像になった気分だ!");
-#else
-                               msg_print("You feel like a statue!");
-#endif
-
+                               msg_print(_("彫像になった気分だ!", "You feel like a statue!"));
                                if (p_ptr->free_act)
                                        set_paralyzed(p_ptr->paralyzed + randint1(3));
                                else
@@ -6599,12 +5138,7 @@ msg_print("彫像になった気分だ!");
                        (void)do_dec_stat(randint0(6));
                        if (!one_in_(6)) break;
                case 24:
-#ifdef JP
-msg_print("ほえ?私は誰?ここで何してる?");
-#else
-                       msg_print("Huh? Who am I? What am I doing here?");
-#endif
-
+                       msg_print(_("ほえ?私は誰?ここで何してる?", "Huh? Who am I? What am I doing here?"));
                        lose_all_info();
                        if (!one_in_(6)) break;
                case 25:
@@ -6926,11 +5460,7 @@ bool kawarimi(bool success)
 
        if (!success && one_in_(3))
        {
-#ifdef JP
-               msg_print("失敗!逃げられなかった。");
-#else
-               msg_print("Failed! You couldn't run away.");
-#endif
+               msg_print(_("失敗!逃げられなかった。", "Failed! You couldn't run away."));
                p_ptr->special_defense &= ~(NINJA_KAWARIMI);
                p_ptr->redraw |= (PR_STATUS);
                return FALSE;
@@ -7029,19 +5559,11 @@ bool rush_attack(bool *mdeath)
                {
                        if (tm_idx)
                        {
-#ifdef JP
-                               msg_print("失敗!");
-#else
-                               msg_print("Failed!");
-#endif
+                               msg_print(_("失敗!", "Failed!"));
                        }
                        else
                        {
-#ifdef JP
-                               msg_print("ここには入身では入れない。");
-#else
-                               msg_print("You can't move to that place.");
-#endif
+                               msg_print(_("ここには入身では入れない。", "You can't move to that place."));
                        }
 
                        /* Exit loop */
@@ -7073,11 +5595,7 @@ bool rush_attack(bool *mdeath)
 
                        /* Get the monster name (BEFORE polymorphing) */
                        monster_desc(m_name, m_ptr, 0);
-#ifdef JP
-                       msg_format("素早く%sの懐に入り込んだ!", m_name);
-#else
-                       msg_format("You quickly jump in and attack %s!", m_name);
-#endif
+                       msg_format(_("素早く%sの懐に入り込んだ!", "You quickly jump in and attack %s!"), m_name);
                }
 
                if (!player_bold(ty, tx)) teleport_player_to(ty, tx, TELEPORT_NONMAGICAL);
index c30f3af..e50942c 100644 (file)
@@ -328,12 +328,7 @@ bool teleport_player_aux(int dis, u32b mode)
 
        if (p_ptr->anti_tele && !(mode & TELEPORT_NONMAGICAL))
        {
-#ifdef JP
-               msg_print("不思議な力がテレポートを防いだ!");
-#else
-               msg_print("A mysterious force prevents you from teleporting!");
-#endif
-
+               msg_print(_("不思議な力がテレポートを防いだ!", "A mysterious force prevents you from teleporting!"));
                return FALSE;
        }
 
@@ -516,12 +511,7 @@ void teleport_player_to(int ny, int nx, u32b mode)
 
        if (p_ptr->anti_tele && !(mode & TELEPORT_NONMAGICAL))
        {
-#ifdef JP
-               msg_print("不思議な力がテレポートを防いだ!");
-#else
-               msg_print("A mysterious force prevents you from teleporting!");
-#endif
-
+               msg_print(_("不思議な力がテレポートを防いだ!", "A mysterious force prevents you from teleporting!"));
                return;
        }
 
@@ -596,20 +586,12 @@ void teleport_away_followable(int m_idx)
 
                if (follow)
                {
-#ifdef JP
-                       if (get_check_strict("ついていきますか?", CHECK_OKAY_CANCEL))
-#else
-                       if (get_check_strict("Do you follow it? ", CHECK_OKAY_CANCEL))
-#endif
+                       if (get_check_strict(_("ついていきますか?", "Do you follow it? "), CHECK_OKAY_CANCEL))
                        {
                                if (one_in_(3))
                                {
                                        teleport_player(200, TELEPORT_PASSIVE);
-#ifdef JP
-                                       msg_print("失敗!");
-#else
-                                       msg_print("Failed!");
-#endif
+                                       msg_print(_("失敗!", "Failed!"));
                                }
                                else teleport_player_to(m_ptr->fy, m_ptr->fx, 0L);
                                p_ptr->energy_need += ENERGY_NEED();
@@ -631,11 +613,7 @@ void teleport_level(int m_idx)
 
        if (m_idx <= 0) /* To player */
        {
-#ifdef JP
-               strcpy(m_name, "あなた");
-#else
-               strcpy(m_name, "you");
-#endif
+               strcpy(m_name, _("あなた", "you"));
        }
        else /* To monster */
        {
@@ -650,22 +628,13 @@ void teleport_level(int m_idx)
        /* No effect in some case */
        if (TELE_LEVEL_IS_INEFF(m_idx))
        {
-#ifdef JP
-               if (see_m) msg_print("効果がなかった。");
-#else
-               if (see_m) msg_print("There is no effect.");
-#endif
-
+               if (see_m) msg_print(_("効果がなかった。", "There is no effect."));
                return;
        }
 
        if ((m_idx <= 0) && p_ptr->anti_tele) /* To player */
        {
-#ifdef JP
-               msg_print("不思議な力がテレポートを防いだ!");
-#else
-               msg_print("A mysterious force prevents you from teleporting!");
-#endif
+               msg_print(_("不思議な力がテレポートを防いだ!", "A mysterious force prevents you from teleporting!"));
                return;
        }
 
@@ -822,11 +791,7 @@ int choose_dungeon(cptr note, int y, int x)
                if (max_dlv[DUNGEON_ANGBAND]) return DUNGEON_ANGBAND;
                else
                {
-#ifdef JP
-                       msg_format("まだ%sに入ったことはない。", d_name + d_info[DUNGEON_ANGBAND].name);
-#else
-                       msg_format("You haven't entered %s yet.", d_name + d_info[DUNGEON_ANGBAND].name);
-#endif
+                       msg_format(_("まだ%sに入ったことはない。", "You haven't entered %s yet."), d_name + d_info[DUNGEON_ANGBAND].name);
                        msg_print(NULL);
                        return 0;
                }
@@ -849,29 +814,18 @@ int choose_dungeon(cptr note, int y, int x)
                }
                else if (max_dlv[i] == d_info[i].maxdepth) seiha = TRUE;
 
-#ifdef JP
-               sprintf(buf,"      %c) %c%-12s : 最大 %d 階", 'a'+num, seiha ? '!' : ' ', d_name + d_info[i].name, max_dlv[i]);
-#else
-               sprintf(buf,"      %c) %c%-16s : Max level %d", 'a'+num, seiha ? '!' : ' ', d_name + d_info[i].name, max_dlv[i]);
-#endif
+               sprintf(buf,_("      %c) %c%-12s : 最大 %d 階", "      %c) %c%-16s : Max level %d"), 
+                                       'a'+num, seiha ? '!' : ' ', d_name + d_info[i].name, max_dlv[i]);
                prt(buf, y + num, x);
                dun[num++] = i;
        }
 
        if (!num)
        {
-#ifdef JP
-               prt("      選べるダンジョンがない。", y, x);
-#else
-               prt("      No dungeon is available.", y, x);
-#endif
+               prt(_("      選べるダンジョンがない。", "      No dungeon is available."), y, x);
        }
 
-#ifdef JP
-       prt(format("どのダンジョン%sしますか:", note), 0, 0);
-#else
-       prt(format("Which dungeon do you %s?: ", note), 0, 0);
-#endif
+       prt(format(_("どのダンジョン%sしますか:", "Which dungeon do you %s?: "), note), 0, 0);
        while(1)
        {
                i = inkey();
@@ -912,30 +866,17 @@ bool recall_player(int turns)
        /* Ironman option */
        if (p_ptr->inside_arena || ironman_downward)
        {
-#ifdef JP
-msg_print("何も起こらなかった。");
-#else
-               msg_print("Nothing happens.");
-#endif
-
+               msg_print(_("何も起こらなかった。", "Nothing happens."));
                return TRUE;
        }
 
        if (dun_level && (max_dlv[dungeon_type] > dun_level) && !p_ptr->inside_quest && !p_ptr->word_recall)
        {
-#ifdef JP
-if (get_check("ここは最深到達階より浅い階です。この階に戻って来ますか? "))
-#else
-               if (get_check("Reset recall depth? "))
-#endif
+               if (get_check(_("ここは最深到達階より浅い階です。この階に戻って来ますか? ", "Reset recall depth? ")))
                {
                        max_dlv[dungeon_type] = dun_level;
                        if (record_maxdepth)
-#ifdef JP
-                               do_cmd_write_nikki(NIKKI_TRUMP, dungeon_type, "帰還のときに");
-#else
-                               do_cmd_write_nikki(NIKKI_TRUMP, dungeon_type, "when recall from dungeon");
-#endif
+                               do_cmd_write_nikki(NIKKI_TRUMP, dungeon_type, _("帰還のときに", "when recall from dungeon"));
                }
 
        }
@@ -944,32 +885,18 @@ if (get_check("ここは最深到達階より浅い階です。この階に戻
                if (!dun_level)
                {
                        int select_dungeon;
-#ifdef JP
-                       select_dungeon = choose_dungeon("に帰還", 2, 14);
-#else
-                       select_dungeon = choose_dungeon("recall", 2, 14);
-#endif
+                       select_dungeon = choose_dungeon(_("に帰還", "recall"), 2, 14);
                        if (!select_dungeon) return FALSE;
                        p_ptr->recall_dungeon = select_dungeon;
                }
                p_ptr->word_recall = turns;
-#ifdef JP
-msg_print("回りの大気が張りつめてきた...");
-#else
-               msg_print("The air about you becomes charged...");
-#endif
-
+               msg_print(_("回りの大気が張りつめてきた...", "The air about you becomes charged..."));
                p_ptr->redraw |= (PR_STATUS);
        }
        else
        {
                p_ptr->word_recall = 0;
-#ifdef JP
-msg_print("張りつめた大気が流れ去った...");
-#else
-               msg_print("A tension leaves the air around you...");
-#endif
-
+               msg_print(_("張りつめた大気が流れ去った...", "A tension leaves the air around you..."));
                p_ptr->redraw |= (PR_STATUS);
        }
        return TRUE;
@@ -988,32 +915,18 @@ bool reset_recall(void)
        char ppp[80];
        char tmp_val[160];
 
-#ifdef JP
-       select_dungeon = choose_dungeon("をセット", 2, 14);
-#else
-       select_dungeon = choose_dungeon("reset", 2, 14);
-#endif
+       select_dungeon = choose_dungeon(_("をセット", "reset"), 2, 14);
 
        /* Ironman option */
        if (ironman_downward)
        {
-#ifdef JP
-               msg_print("何も起こらなかった。");
-#else
-               msg_print("Nothing happens.");
-#endif
-
+               msg_print(_("何も起こらなかった。", "Nothing happens."));
                return TRUE;
        }
 
        if (!select_dungeon) return FALSE;
        /* Prompt */
-#ifdef JP
-sprintf(ppp, "何階にセットしますか (%d-%d):", d_info[select_dungeon].mindepth, max_dlv[select_dungeon]);
-#else
-       sprintf(ppp, "Reset to which level (%d-%d): ", d_info[select_dungeon].mindepth, max_dlv[select_dungeon]);
-#endif
-
+       sprintf(ppp, _("何階にセットしますか (%d-%d):", "Reset to which level (%d-%d): "), d_info[select_dungeon].mindepth, max_dlv[select_dungeon]);
 
        /* Default */
        sprintf(tmp_val, "%d", MAX(dun_level, 1));
@@ -1034,11 +947,7 @@ sprintf(ppp, "何階にセットしますか (%d-%d):", d_info[select_dungeon].m
                max_dlv[select_dungeon] = dummy;
 
                if (record_maxdepth)
-#ifdef JP
-                       do_cmd_write_nikki(NIKKI_TRUMP, select_dungeon, "フロア・リセットで");
-#else
-                       do_cmd_write_nikki(NIKKI_TRUMP, select_dungeon, "using a scroll of reset recall");
-#endif
+                       do_cmd_write_nikki(NIKKI_TRUMP, select_dungeon, _("フロア・リセットで", "using a scroll of reset recall"));
                                        /* Accept request */
 #ifdef JP
 msg_format("%sの帰還レベルを %d 階にセット。", d_name+d_info[select_dungeon].name, dummy, dummy * 50);
@@ -1225,12 +1134,7 @@ void apply_nexus(monster_type *m_ptr)
                {
                        if (randint0(100) < p_ptr->skill_sav)
                        {
-#ifdef JP
-msg_print("しかし効力を跳ね返した!");
-#else
-                               msg_print("You resist the effects!");
-#endif
-
+                               msg_print(_("しかし効力を跳ね返した!", "You resist the effects!"));
                                break;
                        }
 
@@ -1243,21 +1147,11 @@ msg_print("しかし効力を跳ね返した!");
                {
                        if (randint0(100) < p_ptr->skill_sav)
                        {
-#ifdef JP
-msg_print("しかし効力を跳ね返した!");
-#else
-                               msg_print("You resist the effects!");
-#endif
-
+                               msg_print(_("しかし効力を跳ね返した!", "You resist the effects!"));
                                break;
                        }
 
-#ifdef JP
-msg_print("体がねじれ始めた...");
-#else
-                       msg_print("Your body starts to scramble...");
-#endif
-
+                       msg_print(_("体がねじれ始めた...", "Your body starts to scramble..."));
                        mutate_player();
                        break;
                }
@@ -1288,23 +1182,13 @@ void phlogiston(void)
        /* No torch to refill */
        else
        {
-#ifdef JP
-msg_print("燃素を消費するアイテムを装備していません。");
-#else
-               msg_print("You are not wielding anything which uses phlogiston.");
-#endif
-
+               msg_print(_("燃素を消費するアイテムを装備していません。", "You are not wielding anything which uses phlogiston."));
                return;
        }
 
        if (o_ptr->xtra4 >= max_flog)
        {
-#ifdef JP
-msg_print("このアイテムにはこれ以上燃素を補充できません。");
-#else
-               msg_print("No more phlogiston can be put in this item.");
-#endif
-
+               msg_print(_("このアイテムにはこれ以上燃素を補充できません。", "No more phlogiston can be put in this item."));
                return;
        }
 
@@ -1312,23 +1196,13 @@ msg_print("このアイテムにはこれ以上燃素を補充できません。
        o_ptr->xtra4 += (max_flog / 2);
 
        /* Message */
-#ifdef JP
-msg_print("照明用アイテムに燃素を補充した。");
-#else
-       msg_print("You add phlogiston to your light item.");
-#endif
-
+       msg_print(_("照明用アイテムに燃素を補充した。", "You add phlogiston to your light item."));
 
        /* Comment */
        if (o_ptr->xtra4 >= max_flog)
        {
                o_ptr->xtra4 = max_flog;
-#ifdef JP
-msg_print("照明用アイテムは満タンになった。");
-#else
-               msg_print("Your light item is full.");
-#endif
-
+               msg_print(_("照明用アイテムは満タンになった。", "Your light item is full."));
        }
 
        /* Recalculate torch */
@@ -1351,13 +1225,8 @@ void brand_weapon(int brand_type)
        item_tester_no_ryoute = TRUE;
 
        /* Get an item */
-#ifdef JP
-q = "どの武器を強化しますか? ";
-s = "強化できる武器がない。";
-#else
-       q = "Enchant which weapon? ";
-       s = "You have nothing to enchant.";
-#endif
+       q = _("どの武器を強化しますか? ", "Enchant which weapon? ");
+       s = _("強化できる武器がない。", "You have nothing to enchant.");
 
        if (!get_item(&item, q, s, (USE_EQUIP))) return;
 
@@ -1394,11 +1263,7 @@ s = "強化できる武器がない。";
                case 17:
                        if (o_ptr->tval == TV_SWORD)
                        {
-#ifdef JP
-act = "は鋭さを増した!";
-#else
-                               act = "becomes very sharp!";
-#endif
+                               act = _("は鋭さを増した!", "becomes very sharp!");
 
                                o_ptr->name2 = EGO_SHARPNESS;
                                o_ptr->pval = m_bonus(5, dun_level) + 1;
@@ -1408,179 +1273,83 @@ act = "は鋭さを増した!";
                        }
                        else
                        {
-#ifdef JP
-act = "は破壊力を増した!";
-#else
-                               act = "seems very powerful.";
-#endif
-
+                               act = _("は破壊力を増した!", "seems very powerful.");
                                o_ptr->name2 = EGO_EARTHQUAKES;
                                o_ptr->pval = m_bonus(3, dun_level);
                        }
                        break;
                case 16:
-#ifdef JP
-act = "は人間の血を求めている!";
-#else
-                       act = "seems to be looking for humans!";
-#endif
-
+                       act = _("は人間の血を求めている!", "seems to be looking for humans!");
                        o_ptr->name2 = EGO_KILL_HUMAN;
                        break;
                case 15:
-#ifdef JP
-act = "は電撃に覆われた!";
-#else
-                       act = "covered with lightning!";
-#endif
-
+                       act = _("は電撃に覆われた!", "covered with lightning!");
                        o_ptr->name2 = EGO_BRAND_ELEC;
                        break;
                case 14:
-#ifdef JP
-act = "は酸に覆われた!";
-#else
-                       act = "coated with acid!";
-#endif
-
+                       act = _("は酸に覆われた!", "coated with acid!");
                        o_ptr->name2 = EGO_BRAND_ACID;
                        break;
                case 13:
-#ifdef JP
-act = "は邪悪なる怪物を求めている!";
-#else
-                       act = "seems to be looking for evil monsters!";
-#endif
-
+                       act = _("は邪悪なる怪物を求めている!", "seems to be looking for evil monsters!");
                        o_ptr->name2 = EGO_KILL_EVIL;
                        break;
                case 12:
-#ifdef JP
-act = "は異世界の住人の肉体を求めている!";
-#else
-                       act = "seems to be looking for demons!";
-#endif
-
+                       act = _("は異世界の住人の肉体を求めている!", "seems to be looking for demons!");
                        o_ptr->name2 = EGO_KILL_DEMON;
                        break;
                case 11:
-#ifdef JP
-act = "は屍を求めている!";
-#else
-                       act = "seems to be looking for undead!";
-#endif
-
+                       act = _("は屍を求めている!", "seems to be looking for undead!");
                        o_ptr->name2 = EGO_KILL_UNDEAD;
                        break;
                case 10:
-#ifdef JP
-act = "は動物の血を求めている!";
-#else
-                       act = "seems to be looking for animals!";
-#endif
-
+                       act = _("は動物の血を求めている!", "seems to be looking for animals!");
                        o_ptr->name2 = EGO_KILL_ANIMAL;
                        break;
                case 9:
-#ifdef JP
-act = "はドラゴンの血を求めている!";
-#else
-                       act = "seems to be looking for dragons!";
-#endif
-
+                       act = _("はドラゴンの血を求めている!", "seems to be looking for dragons!");
                        o_ptr->name2 = EGO_KILL_DRAGON;
                        break;
                case 8:
-#ifdef JP
-act = "はトロルの血を求めている!";
-#else
-                       act = "seems to be looking for troll!s";
-#endif
-
+                       act = _("はトロルの血を求めている!", "seems to be looking for troll!s");
                        o_ptr->name2 = EGO_KILL_TROLL;
                        break;
                case 7:
-#ifdef JP
-act = "はオークの血を求めている!";
-#else
-                       act = "seems to be looking for orcs!";
-#endif
-
+                       act = _("はオークの血を求めている!", "seems to be looking for orcs!");
                        o_ptr->name2 = EGO_KILL_ORC;
                        break;
                case 6:
-#ifdef JP
-act = "は巨人の血を求めている!";
-#else
-                       act = "seems to be looking for giants!";
-#endif
-
+                       act = _("は巨人の血を求めている!", "seems to be looking for giants!");
                        o_ptr->name2 = EGO_KILL_GIANT;
                        break;
                case 5:
-#ifdef JP
-act = "は非常に不安定になったようだ。";
-#else
-                       act = "seems very unstable now.";
-#endif
-
+                       act = _("は非常に不安定になったようだ。", "seems very unstable now.");
                        o_ptr->name2 = EGO_TRUMP;
                        o_ptr->pval = randint1(2);
                        break;
                case 4:
-#ifdef JP
-act = "は血を求めている!";
-#else
-                       act = "thirsts for blood!";
-#endif
-
+                       act = _("は血を求めている!", "thirsts for blood!");
                        o_ptr->name2 = EGO_VAMPIRIC;
                        break;
                case 3:
-#ifdef JP
-act = "は毒に覆われた。";
-#else
-                       act = "is coated with poison.";
-#endif
-
+                       act = _("は毒に覆われた。", "is coated with poison.");
                        o_ptr->name2 = EGO_BRAND_POIS;
                        break;
                case 2:
-#ifdef JP
-act = "は純ログルスに飲み込まれた。";
-#else
-                       act = "is engulfed in raw Logrus!";
-#endif
-
+                       act = _("は純ログルスに飲み込まれた。", "is engulfed in raw Logrus!");
                        o_ptr->name2 = EGO_CHAOTIC;
                        break;
                case 1:
-#ifdef JP
-act = "は炎のシールドに覆われた!";
-#else
-                       act = "is covered in a fiery shield!";
-#endif
-
+                       act = _("は炎のシールドに覆われた!", "is covered in a fiery shield!");
                        o_ptr->name2 = EGO_BRAND_FIRE;
                        break;
                default:
-#ifdef JP
-act = "は深く冷たいブルーに輝いた!";
-#else
-                       act = "glows deep, icy blue!";
-#endif
-
+                       act = _("は深く冷たいブルーに輝いた!", "glows deep, icy blue!");
                        o_ptr->name2 = EGO_BRAND_COLD;
                        break;
                }
 
-#ifdef JP
-msg_format("あなたの%s%s", o_name, act);
-#else
-               msg_format("Your %s %s", o_name, act);
-#endif
-
-
+               msg_format(_("あなたの%s%s", "Your %s %s"), o_name, act);
                enchant(o_ptr, randint0(3) + 4, ENCH_TOHIT | ENCH_TODAM);
 
                o_ptr->discount = 99;
@@ -1590,12 +1359,7 @@ msg_format("あなたの%s%s", o_name, act);
        {
                if (flush_failure) flush();
 
-#ifdef JP
-msg_print("属性付加に失敗した。");
-#else
-               msg_print("The Branding failed.");
-#endif
-
+               msg_print(_("属性付加に失敗した。", "The Branding failed."));
                chg_virtue(V_ENCHANT, -2);
        }
        calc_android_exp();
@@ -1647,11 +1411,7 @@ static bool vanish_dungeon(void)
                                        monster_desc(m_name, m_ptr, 0);
 
                                        /* Dump a message */
-#ifdef JP
-                                       msg_format("%^sが目を覚ました。", m_name);
-#else
-                                       msg_format("%^s wakes up.", m_name);
-#endif
+                                       msg_format(_("%^sが目を覚ました。", "%^s wakes up."), m_name);
                                }
                        }
 
@@ -1789,11 +1549,7 @@ void call_the_(void)
        /* Prevent destruction of quest levels and town */
        else if ((p_ptr->inside_quest && is_fixed_quest_idx(p_ptr->inside_quest)) || !dun_level)
        {
-#ifdef JP
-               msg_print("地面が揺れた。");
-#else
-               msg_print("The ground trembles.");
-#endif
+               msg_print(_("地面が揺れた。", "The ground trembles."));
        }
 
        else
@@ -1811,34 +1567,17 @@ void call_the_(void)
 
                if (one_in_(666))
                {
-#ifdef JP
-                       if (!vanish_dungeon()) msg_print("ダンジョンは一瞬静まり返った。");
-#else
-                       if (!vanish_dungeon()) msg_print("The dungeon silences a moment.");
-#endif
+                       if (!vanish_dungeon()) msg_print(_("ダンジョンは一瞬静まり返った。", "The dungeon silences a moment."));
                }
                else
                {
                        if (destroy_area(py, px, 15 + p_ptr->lev + randint0(11), FALSE))
-#ifdef JP
-                               msg_print("ダンジョンが崩壊した...");
-#else
-                               msg_print("The dungeon collapses...");
-#endif
-
+                               msg_print(_("ダンジョンが崩壊した...", "The dungeon collapses..."));
                        else
-#ifdef JP
-                               msg_print("ダンジョンは大きく揺れた。");
-#else
-                               msg_print("The dungeon trembles.");
-#endif
+                               msg_print(_("ダンジョンは大きく揺れた。", "The dungeon trembles."));
                }
 
-#ifdef JP
-               take_hit(DAMAGE_NOESCAPE, 100 + randint1(150), "自殺的な虚無招来", -1);
-#else
-               take_hit(DAMAGE_NOESCAPE, 100 + randint1(150), "a suicidal Call the Void", -1);
-#endif
+               take_hit(DAMAGE_NOESCAPE, 100 + randint1(150), _("自殺的な虚無招来", "a suicidal Call the Void"), -1);
        }
 }
 
@@ -1856,12 +1595,7 @@ void fetch(int dir, int wgt, bool require_los)
        /* Check to see if an object is already there */
        if (cave[py][px].o_idx)
        {
-#ifdef JP
-msg_print("自分の足の下にある物は取れません。");
-#else
-               msg_print("You can't fetch when you're already standing on something.");
-#endif
-
+               msg_print(_("自分の足の下にある物は取れません。", "You can't fetch when you're already standing on something."));
                return;
        }
 
@@ -1873,12 +1607,7 @@ msg_print("自分の足の下にある物は取れません。");
 
                if (distance(py, px, ty, tx) > MAX_RANGE)
                {
-#ifdef JP
-msg_print("そんなに遠くにある物は取れません!");
-#else
-                       msg_print("You can't fetch something that far away!");
-#endif
-
+                       msg_print(_("そんなに遠くにある物は取れません!", "You can't fetch something that far away!"));
                        return;
                }
 
@@ -1887,24 +1616,14 @@ msg_print("そんなに遠くにある物は取れません!");
                /* We need an item to fetch */
                if (!c_ptr->o_idx)
                {
-#ifdef JP
-msg_print("そこには何もありません。");
-#else
-                       msg_print("There is no object at this place.");
-#endif
-
+                       msg_print(_("そこには何もありません。", "There is no object at this place."));
                        return;
                }
 
                /* No fetching from vault */
                if (c_ptr->info & CAVE_ICKY)
                {
-#ifdef JP
-msg_print("アイテムがコントロールを外れて落ちた。");
-#else
-                       msg_print("The item slips from your control.");
-#endif
-
+                       msg_print(_("アイテムがコントロールを外れて落ちた。", "The item slips from your control."));
                        return;
                }
 
@@ -1913,22 +1632,12 @@ msg_print("アイテムがコントロールを外れて落ちた。");
                {
                        if (!player_has_los_bold(ty, tx))
                        {
-#ifdef JP
-                               msg_print("そこはあなたの視界に入っていません。");
-#else
-                               msg_print("You have no direct line of sight to that location.");
-#endif
-
+                               msg_print(_("そこはあなたの視界に入っていません。", "You have no direct line of sight to that location."));
                                return;
                        }
                        else if (!projectable(py, px, ty, tx))
                        {
-#ifdef JP
-                               msg_print("そこは壁の向こうです。");
-#else
-                               msg_print("You have no direct line of sight to that location.");
-#endif
-
+                               msg_print(_("そこは壁の向こうです。", "You have no direct line of sight to that location."));
                                return;
                        }
                }
@@ -1956,12 +1665,7 @@ msg_print("アイテムがコントロールを外れて落ちた。");
        if (o_ptr->weight > wgt)
        {
                /* Too heavy to 'fetch' */
-#ifdef JP
-msg_print("そのアイテムは重過ぎます。");
-#else
-               msg_print("The object is too heavy.");
-#endif
-
+               msg_print(_("そのアイテムは重過ぎます。", "The object is too heavy."));
                return;
        }
 
@@ -1973,12 +1677,7 @@ msg_print("そのアイテムは重過ぎます。");
        o_ptr->ix = (byte)px;
 
        object_desc(o_name, o_ptr, OD_NAME_ONLY);
-#ifdef JP
-msg_format("%^sがあなたの足元に飛んできた。", o_name);
-#else
-       msg_format("%^s flies through the air to your feet.", o_name);
-#endif
-
+       msg_format(_("%^sがあなたの足元に飛んできた。", "%^s flies through the air to your feet."), o_name);
 
        note_spot(py, px);
        p_ptr->redraw |= PR_MAP;
@@ -1990,11 +1689,7 @@ void alter_reality(void)
        /* Ironman option */
        if (p_ptr->inside_arena || ironman_downward)
        {
-#ifdef JP
-               msg_print("何も起こらなかった。");
-#else
-               msg_print("Nothing happens.");
-#endif
+               msg_print(_("何も起こらなかった。", "Nothing happens."));
                return;
        }
 
@@ -2003,23 +1698,14 @@ void alter_reality(void)
                int turns = randint0(21) + 15;
 
                p_ptr->alter_reality = turns;
-#ifdef JP
-               msg_print("回りの景色が変わり始めた...");
-#else
-               msg_print("The view around you begins to change...");
-#endif
+               msg_print(_("回りの景色が変わり始めた...", "The view around you begins to change..."));
 
                p_ptr->redraw |= (PR_STATUS);
        }
        else
        {
                p_ptr->alter_reality = 0;
-#ifdef JP
-               msg_print("景色が元に戻った...");
-#else
-               msg_print("The view around you got back...");
-#endif
-
+               msg_print(_("景色が元に戻った...", "The view around you got back..."));
                p_ptr->redraw |= (PR_STATUS);
        }
        return;
@@ -2034,12 +1720,7 @@ bool warding_glyph(void)
        /* XXX XXX XXX */
        if (!cave_clean_bold(py, px))
        {
-#ifdef JP
-msg_print("床上のアイテムが呪文を跳ね返した。");
-#else
-               msg_print("The object resists the spell.");
-#endif
-
+               msg_print(_("床上のアイテムが呪文を跳ね返した。", "The object resists the spell."));
                return FALSE;
        }
 
@@ -2061,12 +1742,7 @@ bool place_mirror(void)
        /* XXX XXX XXX */
        if (!cave_clean_bold(py, px))
        {
-#ifdef JP
-msg_print("床上のアイテムが呪文を跳ね返した。");
-#else
-               msg_print("The object resists the spell.");
-#endif
-
+               msg_print(_("床上のアイテムが呪文を跳ね返した。", "The object resists the spell."));
                return FALSE;
        }
 
@@ -2097,12 +1773,7 @@ bool explosive_rune(void)
        /* XXX XXX XXX */
        if (!cave_clean_bold(py, px))
        {
-#ifdef JP
-msg_print("床上のアイテムが呪文を跳ね返した。");
-#else
-               msg_print("The object resists the spell.");
-#endif
-
+               msg_print(_("床上のアイテムが呪文を跳ね返した。", "The object resists the spell."));
                return FALSE;
        }
 
@@ -2254,13 +1925,8 @@ bool alchemy(void)
        if (command_arg > 0) force = TRUE;
 
        /* Get an item */
-#ifdef JP
-q = "どのアイテムを金に変えますか?";
-s = "金に変えられる物がありません。";
-#else
-       q = "Turn which item to gold? ";
-       s = "You have nothing to turn to gold.";
-#endif
+       q = _("どのアイテムを金に変えますか?", "Turn which item to gold? ");
+       s = _("金に変えられる物がありません。", "You have nothing to turn to gold.");
 
        if (!get_item(&item, q, s, (USE_INVEN | USE_FLOOR))) return (FALSE);
 
@@ -2299,13 +1965,8 @@ s = "金に変えられる物がありません。";
        {
                if (confirm_destroy || (object_value(o_ptr) > 0))
                {
-                       /* Make a verification */
-#ifdef JP
-sprintf(out_val, "本当に%sを金に変えますか?", o_name);
-#else
-                       sprintf(out_val, "Really turn %s to gold? ", o_name);
-#endif
-
+                       /* Make a verification */
+                       sprintf(out_val, _("本当に%sを金に変えますか?", "Really turn %s to gold? "), o_name);
                        if (!get_check(out_val)) return FALSE;
                }
        }
@@ -2314,11 +1975,7 @@ sprintf(out_val, "本当に%sを金に変えますか?", o_name);
        if (!can_player_destroy_object(o_ptr))
        {
                /* Message */
-#ifdef JP
-               msg_format("%sを金に変えることに失敗した。", o_name);
-#else
-               msg_format("You fail to turn %s to gold!", o_name);
-#endif
+               msg_format(_("%sを金に変えることに失敗した。", "You fail to turn %s to gold!"), o_name);
 
                /* Done */
                return FALSE;
@@ -2329,12 +1986,7 @@ sprintf(out_val, "本当に%sを金に変えますか?", o_name);
        if (price <= 0)
        {
                /* Message */
-#ifdef JP
-msg_format("%sをニセの金に変えた。", o_name);
-#else
-               msg_format("You turn %s to fool's gold.", o_name);
-#endif
-
+               msg_format(_("%sをニセの金に変えた。", "You turn %s to fool's gold."), o_name);
        }
        else
        {
@@ -2343,11 +1995,7 @@ msg_format("%sをニセの金に変えた。", o_name);
                if (amt > 1) price *= amt;
 
                if (price > 30000) price = 30000;
-#ifdef JP
-msg_format("%sを$%d の金に変えた。", o_name, price);
-#else
-               msg_format("You turn %s to %ld coins worth of gold.", o_name, price);
-#endif
+               msg_format(_("%sを$%d の金に変えた。", "You turn %s to %ld coins worth of gold."), o_name, price);
 
                p_ptr->au += price;
 
@@ -2386,16 +2034,10 @@ static void break_curse(object_type *o_ptr)
 {
        if (object_is_cursed(o_ptr) && !(o_ptr->curse_flags & TRC_PERMA_CURSE) && !(o_ptr->curse_flags & TRC_HEAVY_CURSE) && (randint0(100) < 25))
        {
-#ifdef JP
-msg_print("かけられていた呪いが打ち破られた!");
-#else
-               msg_print("The curse is broken!");
-#endif
+               msg_print(_("かけられていた呪いが打ち破られた!", "The curse is broken!"));
 
                o_ptr->curse_flags = 0L;
-
                o_ptr->ident |= (IDENT_SENSE);
-
                o_ptr->feeling = FEEL_NONE;
        }
 }
@@ -2538,13 +2180,8 @@ bool enchant_spell(int num_hit, int num_dam, int num_ac)
        if (num_ac) item_tester_hook = object_is_armour;
 
        /* Get an item */
-#ifdef JP
-q = "どのアイテムを強化しますか? ";
-s = "強化できるアイテムがない。";
-#else
-       q = "Enchant which item? ";
-       s = "You have nothing to enchant.";
-#endif
+       q = _("どのアイテムを強化しますか? ", "Enchant which item? ");
+       s = _("強化できるアイテムがない。", "You have nothing to enchant.");
 
        if (!get_item(&item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR))) return (FALSE);
 
@@ -2587,11 +2224,7 @@ msg_format("%s は明るく輝いた!",
                if (flush_failure) flush();
 
                /* Message */
-#ifdef JP
-msg_print("強化に失敗した。");
-#else
-               msg_print("The enchantment failed.");
-#endif
+               msg_print(_("強化に失敗した。", "The enchantment failed."));
 
                if (one_in_(3)) chg_virtue(V_ENCHANT, -1);
        }
@@ -2636,13 +2269,8 @@ bool artifact_scroll(void)
        item_tester_hook = item_tester_hook_nameless_weapon_armour;
 
        /* Get an item */
-#ifdef JP
-       q = "どのアイテムを強化しますか? ";
-       s = "強化できるアイテムがない。";
-#else
-       q = "Enchant which item? ";
-       s = "You have nothing to enchant.";
-#endif
+       q = _("どのアイテムを強化しますか? ", "Enchant which item? ");
+       s = _("強化できるアイテムがない。", "You have nothing to enchant.");
 
        if (!get_item(&item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR))) return (FALSE);
 
@@ -2739,11 +2367,7 @@ bool artifact_scroll(void)
                if (flush_failure) flush();
 
                /* Message */
-#ifdef JP
-               msg_print("強化に失敗した。");
-#else
-               msg_print("The enchantment failed.");
-#endif
+               msg_print(_("強化に失敗した。", "The enchantment failed."));
 
                if (one_in_(3)) chg_virtue(V_ENCHANT, -1);
        }
@@ -2842,11 +2466,7 @@ bool ident_spell(bool only_equip)
 
        if (can_get_item())
        {
-#ifdef JP
-               q = "どのアイテムを鑑定しますか? ";
-#else
-               q = "Identify which item? ";
-#endif
+               q = _("どのアイテムを鑑定しますか? ", "Identify which item? ");
        }
        else
        {
@@ -2855,19 +2475,11 @@ bool ident_spell(bool only_equip)
                else
                        item_tester_hook = NULL;
 
-#ifdef JP
-               q = "すべて鑑定済みです。 ";
-#else
-               q = "All items are identified. ";
-#endif
+               q = _("すべて鑑定済みです。 ", "All items are identified. ");
        }
 
        /* Get an item */
-#ifdef JP
-       s = "鑑定するべきアイテムがない。";
-#else
-       s = "You have nothing to identify.";
-#endif
+       s = _("鑑定するべきアイテムがない。", "You have nothing to identify.");
 
        if (!get_item(&item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR))) return (FALSE);
 
@@ -2892,27 +2504,15 @@ bool ident_spell(bool only_equip)
        /* Describe */
        if (item >= INVEN_RARM)
        {
-#ifdef JP
-               msg_format("%^s: %s(%c)。", describe_use(item), o_name, index_to_label(item));
-#else
-               msg_format("%^s: %s (%c).", describe_use(item), o_name, index_to_label(item));
-#endif
+               msg_format(_("%^s: %s(%c)。", "%^s: %s (%c)."), describe_use(item), o_name, index_to_label(item));
        }
        else if (item >= 0)
        {
-#ifdef JP
-               msg_format("ザック中: %s(%c)。", o_name, index_to_label(item));
-#else
-               msg_format("In your pack: %s (%c).", o_name, index_to_label(item));
-#endif
+               msg_format(_("ザック中: %s(%c)。", "In your pack: %s (%c)."), o_name, index_to_label(item));
        }
        else
        {
-#ifdef JP
-               msg_format("床上: %s。", o_name);
-#else
-               msg_format("On the ground: %s.", o_name);
-#endif
+               msg_format(_("床上: %s。", "On the ground: %s."), o_name);
        }
 
        /* Auto-inscription/destroy */
@@ -2938,13 +2538,8 @@ bool mundane_spell(bool only_equip)
        item_tester_no_ryoute = TRUE;
 
        /* Get an item */
-#ifdef JP
-q = "どれを使いますか?";
-s = "使えるものがありません。";
-#else
-       q = "Use which item? ";
-       s = "You have nothing you can use.";
-#endif
+       q = _("どれを使いますか?", "Use which item? ");
+       s = _("使えるものがありません。", "You have nothing you can use.");
 
        if (!get_item(&item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR))) return (FALSE);
 
@@ -2961,11 +2556,7 @@ s = "使えるものがありません。";
        }
 
        /* Oops */
-#ifdef JP
-       msg_print("まばゆい閃光が走った!");
-#else
-       msg_print("There is a bright flash of light!");
-#endif
+       msg_print(_("まばゆい閃光が走った!", "There is a bright flash of light!"));
        {
                byte iy = o_ptr->iy;                 /* Y-position on map, or zero */
                byte ix = o_ptr->ix;                 /* X-position on map, or zero */
@@ -3024,11 +2615,7 @@ bool identify_fully(bool only_equip)
 
        if (can_get_item())
        {
-#ifdef JP
-               q = "どのアイテムを*鑑定*しますか? ";
-#else
-               q = "*Identify* which item? ";
-#endif
+               q = _("どのアイテムを*鑑定*しますか? ", "*Identify* which item? ");
        }
        else
        {
@@ -3037,19 +2624,11 @@ bool identify_fully(bool only_equip)
                else
                        item_tester_hook = NULL;
 
-#ifdef JP
-               q = "すべて*鑑定*済みです。 ";
-#else
-               q = "All items are *identified*. ";
-#endif
+               q = _("すべて*鑑定*済みです。 ", "All items are *identified*. ");
        }
 
        /* Get an item */
-#ifdef JP
-       s = "*鑑定*するべきアイテムがない。";
-#else
-       s = "You have nothing to *identify*.";
-#endif
+       s = _("*鑑定*するべきアイテムがない。", "You have nothing to *identify*.");
 
        if (!get_item(&item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR))) return (FALSE);
 
@@ -3080,29 +2659,15 @@ bool identify_fully(bool only_equip)
        /* Describe */
        if (item >= INVEN_RARM)
        {
-#ifdef JP
-               msg_format("%^s: %s(%c)。", describe_use(item), o_name, index_to_label(item));
-#else
-               msg_format("%^s: %s (%c).", describe_use(item), o_name, index_to_label(item));
-#endif
-
-
+               msg_format(_("%^s: %s(%c)。", "%^s: %s (%c)."), describe_use(item), o_name, index_to_label(item));
        }
        else if (item >= 0)
        {
-#ifdef JP
-               msg_format("ザック中: %s(%c)。", o_name, index_to_label(item));
-#else
-               msg_format("In your pack: %s (%c).", o_name, index_to_label(item));
-#endif
+               msg_format(_("ザック中: %s(%c)。", "In your pack: %s (%c)."), o_name, index_to_label(item));
        }
        else
        {
-#ifdef JP
-               msg_format("床上: %s。", o_name);
-#else
-               msg_format("On the ground: %s.", o_name);
-#endif
+               msg_format(_("床上: %s。", "On the ground: %s."), o_name);
        }
 
        /* Describe it fully */
@@ -3172,13 +2737,8 @@ bool recharge(int power)
        item_tester_hook = item_tester_hook_recharge;
 
        /* Get an item */
-#ifdef JP
-q = "どのアイテムに魔力を充填しますか? ";
-s = "魔力を充填すべきアイテムがない。";
-#else
-       q = "Recharge which item? ";
-       s = "You have nothing to recharge.";
-#endif
+       q = _("どのアイテムに魔力を充填しますか? ", "Recharge which item? ");
+       s = _("魔力を充填すべきアイテムがない。", "You have nothing to recharge.");
 
        if (!get_item(&item, q, s, (USE_INVEN | USE_FLOOR))) return (FALSE);
 
@@ -3298,12 +2858,7 @@ s = "魔力を充填すべきアイテムがない。";
                if (object_is_fixed_artifact(o_ptr))
                {
                        object_desc(o_name, o_ptr, OD_NAME_ONLY);
-#ifdef JP
-msg_format("魔力が逆流した!%sは完全に魔力を失った。", o_name);
-#else
-                       msg_format("The recharging backfires - %s is completely drained!", o_name);
-#endif
-
+                       msg_format(_("魔力が逆流した!%sは完全に魔力を失った。", "The recharging backfires - %s is completely drained!"), o_name);
 
                        /* Artifact rods. */
                        if ((o_ptr->tval == TV_ROD) && (o_ptr->timeout < 10000))
@@ -3372,23 +2927,14 @@ msg_format("魔力が逆流した!%sは完全に魔力を失った。", o_name
                        {
                                if (o_ptr->tval == TV_ROD)
                                {
-#ifdef JP
-msg_print("魔力が逆噴射して、ロッドからさらに魔力を吸い取ってしまった!");
-#else
-                                       msg_print("The recharge backfires, draining the rod further!");
-#endif
+                                       msg_print(_("魔力が逆噴射して、ロッドからさらに魔力を吸い取ってしまった!", "The recharge backfires, draining the rod further!"));
 
                                        if (o_ptr->timeout < 10000)
                                                o_ptr->timeout = (o_ptr->timeout + 100) * 2;
                                }
                                else if (o_ptr->tval == TV_WAND)
                                {
-#ifdef JP
-msg_format("%sは破損を免れたが、魔力が全て失われた。", o_name);
-#else
-                                       msg_format("You save your %s from destruction, but all charges are lost.", o_name);
-#endif
-
+                                       msg_format(_("%sは破損を免れたが、魔力が全て失われた。", "You save your %s from destruction, but all charges are lost."), o_name);
                                        o_ptr->pval = 0;
                                }
                                /* Staffs aren't drained. */
@@ -3398,19 +2944,9 @@ msg_format("%sは破損を免れたが、魔力が全て失われた。", o_name
                        if (fail_type == 2)
                        {
                                if (o_ptr->number > 1)
-#ifdef JP
-msg_format("乱暴な魔法のために%sが一本壊れた!", o_name);
-#else
-                                       msg_format("Wild magic consumes one of your %s!", o_name);
-#endif
-
+                                       msg_format(_("乱暴な魔法のために%sが一本壊れた!", "Wild magic consumes one of your %s!"), o_name);
                                else
-#ifdef JP
-msg_format("乱暴な魔法のために%sが壊れた!", o_name);
-#else
-                                       msg_format("Wild magic consumes your %s!", o_name);
-#endif
-
+                                       msg_format(_("乱暴な魔法のために%sが壊れた!", "Wild magic consumes your %s!"), o_name);
 
                                /* Reduce rod stack maximum timeout, drain wands. */
                                if (o_ptr->tval == TV_ROD) o_ptr->timeout = (o_ptr->number - 1) * k_ptr->pval;
@@ -3437,20 +2973,9 @@ msg_format("乱暴な魔法のために%sが壊れた!", o_name);
                        if (fail_type == 3)
                        {
                                if (o_ptr->number > 1)
-#ifdef JP
-msg_format("乱暴な魔法のために%sが全て壊れた!", o_name);
-#else
-                                       msg_format("Wild magic consumes all your %s!", o_name);
-#endif
-
+                                       msg_format(_("乱暴な魔法のために%sが全て壊れた!", "Wild magic consumes all your %s!"), o_name);
                                else
-#ifdef JP
-msg_format("乱暴な魔法のために%sが壊れた!", o_name);
-#else
-                                       msg_format("Wild magic consumes your %s!", o_name);
-#endif
-
-
+                                       msg_format(_("乱暴な魔法のために%sが壊れた!", "Wild magic consumes your %s!"), o_name);
 
                                /* Reduce and describe inventory */
                                if (item >= 0)
@@ -3499,13 +3024,8 @@ bool bless_weapon(void)
        item_tester_hook = object_is_weapon;
 
        /* Get an item */
-#ifdef JP
-q = "どのアイテムを祝福しますか?";
-s = "祝福できる武器がありません。";
-#else
-       q = "Bless which weapon? ";
-       s = "You have weapon to bless.";
-#endif
+       q = _("どのアイテムを祝福しますか?", "Bless which weapon? ");
+       s = _("祝福できる武器がありません。", "You have weapon to bless.");
 
        if (!get_item(&item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR)))
                return FALSE;
@@ -3612,13 +3132,7 @@ msg_format("%sは輝いた!",
        else
        {
                bool dis_happened = FALSE;
-
-#ifdef JP
-msg_print("その武器は祝福を嫌っている!");
-#else
-               msg_print("The weapon resists your blessing!");
-#endif
-
+               msg_print(_("その武器は祝福を嫌っている!", "The weapon resists your blessing!"));
 
                /* Disenchant tohit */
                if (o_ptr->to_h > 0)
@@ -3649,11 +3163,7 @@ msg_print("その武器は祝福を嫌っている!");
 
                if (dis_happened)
                {
-#ifdef JP
-msg_print("周囲が凡庸な雰囲気で満ちた...");
-#else
-                       msg_print("There is a static feeling in the air...");
-#endif
+                       msg_print(_("周囲が凡庸な雰囲気で満ちた...", "There is a static feeling in the air..."));
 
 #ifdef JP
 msg_format("%s は劣化した!",
@@ -3695,13 +3205,8 @@ bool pulish_shield(void)
        item_tester_tval = TV_SHIELD;
 
        /* Get an item */
-#ifdef JP
-q = "どの盾を磨きますか?";
-s = "磨く盾がありません。";
-#else
-       q = "Pulish which weapon? ";
-       s = "You have weapon to pulish.";
-#endif
+       q = _("どの盾を磨きますか?", "Pulish which weapon? ");
+       s = _("磨く盾がありません。", "You have weapon to pulish.");
 
        if (!get_item(&item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR)))
                return FALSE;
@@ -3747,12 +3252,7 @@ msg_format("%sは輝いた!", o_name);
        {
                if (flush_failure) flush();
 
-#ifdef JP
-msg_print("失敗した。");
-#else
-               msg_print("Failed.");
-#endif
-
+               msg_print(_("失敗した。", "Failed."));
                chg_virtue(V_ENCHANT, -2);
        }
        calc_android_exp();
@@ -3972,13 +3472,8 @@ void display_spell_list(void)
 
                /* Display a list of spells */
                prt("", y, x);
-#ifdef JP
-put_str("名前", y, x + 5);
-put_str("Lv   MP 失率 効果", y, x + 35);
-#else
-               put_str("Name", y, x + 5);
-               put_str("Lv Mana Fail Info", y, x + 35);
-#endif
+               put_str(_("名前", "Name"), y, x + 5);
+               put_str(_("Lv   MP 失率 効果", "Lv Mana Fail Info"), y, x + 35);
 
                switch(p_ptr->pclass)
                {
@@ -4093,12 +3588,7 @@ put_str("Lv   MP 失率 効果", y, x + 35);
                        if (s_ptr->slevel >= 99)
                        {
                                /* Illegible */
-#ifdef JP
-strcpy(name, "(判読不能)");
-#else
-                               strcpy(name, "(illegible)");
-#endif
-
+                               strcpy(name, _("(判読不能)", "(illegible)"));
 
                                /* Unusable */
                                a = TERM_L_DARK;
@@ -4401,35 +3891,17 @@ void print_spells(int target_spell, byte *spells, int num, int y, int x, int use
 
 
        if (((use_realm <= REALM_NONE) || (use_realm > MAX_REALM)) && p_ptr->wizard)
-#ifdef JP
-msg_print("警告! print_spell が領域なしに呼ばれた");
-#else
-               msg_print("Warning! print_spells called with null realm");
-#endif
-
+       msg_print(_("警告! print_spell が領域なしに呼ばれた", "Warning! print_spells called with null realm"));
 
        /* Title the list */
        prt("", y, x);
        if (use_realm == REALM_HISSATSU)
-#ifdef JP
-               strcpy(buf,"  Lv   MP");
-#else
-               strcpy(buf,"  Lv   SP");
-#endif
+               strcpy(buf,_("  Lv   MP", "  Lv   SP"));
        else
-#ifdef JP
-               strcpy(buf,"熟練度 Lv   MP 失率 効果");
-#else
-               strcpy(buf,"Profic Lv   SP Fail Effect");
-#endif
+               strcpy(buf,_("熟練度 Lv   MP 失率 効果", "Profic Lv   SP Fail Effect"));
 
-#ifdef JP
-put_str("名前", y, x + 5);
-put_str(buf, y, x + 29);
-#else
-       put_str("Name", y, x + 5);
+       put_str(_("名前", "Name"), y, x + 5);
        put_str(buf, y, x + 29);
-#endif
 
        if ((p_ptr->pclass == CLASS_SORCERER) || (p_ptr->pclass == CLASS_RED_MAGE)) increment = 0;
        else if (use_realm == p_ptr->realm1) increment = 0;
@@ -4477,11 +3949,7 @@ put_str(buf, y, x + 29);
                if (use_menu && target_spell)
                {
                        if (i == (target_spell-1))
-#ifdef JP
-                               strcpy(out_val, "  》 ");
-#else
-                               strcpy(out_val, "  >  ");
-#endif
+                               strcpy(out_val, _("  》 ", "  >  "));
                        else
                                strcpy(out_val, "     ");
                }
@@ -4489,14 +3957,9 @@ put_str(buf, y, x + 29);
                /* Skip illegible spells */
                if (s_ptr->slevel >= 99)
                {
-#ifdef JP
-strcat(out_val, format("%-30s", "(判読不能)"));
-#else
-                               strcat(out_val, format("%-30s", "(illegible)"));
-#endif
-
-                               c_prt(TERM_L_DARK, out_val, y + i + 1, x);
-                               continue;
+                       strcat(out_val, format("%-30s", _("(判読不能)", "(illegible)")));
+                       c_prt(TERM_L_DARK, out_val, y + i + 1, x);
+                       continue;
                }
 
                /* XXX XXX Could label spells above the players level */
@@ -4515,69 +3978,39 @@ strcat(out_val, format("%-30s", "(判読不能)"));
                {
                        if (s_ptr->slevel > p_ptr->max_plv)
                        {
-#ifdef JP
-comment = "未知";
-#else
-                               comment = "unknown";
-#endif
-
+                               comment = _("未知", "unknown");
                                line_attr = TERM_L_BLUE;
                        }
                        else if (s_ptr->slevel > p_ptr->lev)
                        {
-#ifdef JP
-comment = "忘却";
-#else
-                               comment = "forgotten";
-#endif
-
+                               comment = _("忘却", "forgotten");
                                line_attr = TERM_YELLOW;
                        }
                }
                else if ((use_realm != p_ptr->realm1) && (use_realm != p_ptr->realm2))
                {
-#ifdef JP
-comment = "未知";
-#else
-                       comment = "unknown";
-#endif
-
+                       comment = _("未知", "unknown");
                        line_attr = TERM_L_BLUE;
                }
                else if ((use_realm == p_ptr->realm1) ?
                    ((p_ptr->spell_forgotten1 & (1L << spell))) :
                    ((p_ptr->spell_forgotten2 & (1L << spell))))
                {
-#ifdef JP
-comment = "忘却";
-#else
-                       comment = "forgotten";
-#endif
-
+                       comment = _("忘却", "forgotten");
                        line_attr = TERM_YELLOW;
                }
                else if (!((use_realm == p_ptr->realm1) ?
                    (p_ptr->spell_learned1 & (1L << spell)) :
                    (p_ptr->spell_learned2 & (1L << spell))))
                {
-#ifdef JP
-comment = "未知";
-#else
-                       comment = "unknown";
-#endif
-
+                       comment = _("未知", "unknown");
                        line_attr = TERM_L_BLUE;
                }
                else if (!((use_realm == p_ptr->realm1) ?
                    (p_ptr->spell_worked1 & (1L << spell)) :
                    (p_ptr->spell_worked2 & (1L << spell))))
                {
-#ifdef JP
-comment = "未経験";
-#else
-                       comment = "untried";
-#endif
-
+                       comment = _("未経験", "untried");
                        line_attr = TERM_L_GREEN;
                }
 
@@ -4860,11 +4293,7 @@ int inven_damage(inven_func typ, int perc)
                                object_desc(o_name, o_ptr, OD_OMIT_PREFIX);
 
                                /* Message */
-#ifdef JP
-msg_format("%s(%c)が%s壊れてしまった!",
-#else
-                               msg_format("%sour %s (%c) %s destroyed!",
-#endif
+                               msg_format(_("%s(%c)が%s壊れてしまった!", "%sour %s (%c) %s destroyed!"),
 
 #ifdef JP
 o_name, index_to_label(i),
@@ -4952,23 +4381,12 @@ static int minus_ac(void)
        /* Object resists */
        if (have_flag(flgs, TR_IGNORE_ACID))
        {
-#ifdef JP
-msg_format("しかし%sには効果がなかった!", o_name);
-#else
-               msg_format("Your %s is unaffected!", o_name);
-#endif
-
-
+               msg_format(_("しかし%sには効果がなかった!", "Your %s is unaffected!"), o_name);
                return (TRUE);
        }
 
        /* Message */
-#ifdef JP
-msg_format("%sがダメージを受けた!", o_name);
-#else
-       msg_format("Your %s is damaged!", o_name);
-#endif
-
+       msg_format(_("%sがダメージを受けた!", "Your %s is damaged!"), o_name);
 
        /* Damage the item */
        o_ptr->to_a--;
@@ -5170,13 +4588,8 @@ bool rustproof(void)
        item_tester_hook = object_is_armour;
 
        /* Get an item */
-#ifdef JP
-q = "どの防具に錆止めをしますか?";
-s = "錆止めできるものがありません。";
-#else
-       q = "Rustproof which piece of armour? ";
-       s = "You have nothing to rustproof.";
-#endif
+       q = _("どの防具に錆止めをしますか?", "Rustproof which piece of armour? ");
+       s = _("錆止めできるものがありません。", "You have nothing to rustproof.");
 
        if (!get_item(&item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR))) return FALSE;
 
@@ -5265,12 +4678,7 @@ msg_format("%sが%sを包み込もうとしたが、%sはそれを跳ね返し
        else
        {
                /* Oops */
-#ifdef JP
-msg_format("恐怖の暗黒オーラがあなたの%sを包み込んだ!", o_name);
-#else
-               msg_format("A terrible black aura blasts your %s!", o_name);
-#endif
-
+               msg_format(_("恐怖の暗黒オーラがあなたの%sを包み込んだ!", "A terrible black aura blasts your %s!"), o_name);
                chg_virtue(V_ENCHANT, -5);
 
                /* Blast the armor */
@@ -5337,11 +4745,7 @@ bool curse_weapon_object(bool force, object_type *o_ptr)
        else
        {
                /* Oops */
-#ifdef JP
-               if (!force) msg_format("恐怖の暗黒オーラがあなたの%sを包み込んだ!", o_name);
-#else
-               if (!force) msg_format("A terrible black aura blasts your %s!", o_name);
-#endif
+               if (!force) msg_format(_("恐怖の暗黒オーラがあなたの%sを包み込んだ!", "A terrible black aura blasts your %s!"), o_name);
                chg_virtue(V_ENCHANT, -5);
 
                /* Shatter the weapon */
@@ -5410,12 +4814,7 @@ bool brand_bolts(void)
                if (randint0(100) < 75) continue;
 
                /* Message */
-#ifdef JP
-msg_print("クロスボウの矢が炎のオーラに包まれた!");
-#else
-               msg_print("Your bolts are covered in a fiery aura!");
-#endif
-
+               msg_print(_("クロスボウの矢が炎のオーラに包まれた!", "Your bolts are covered in a fiery aura!"));
 
                /* Ego-item */
                o_ptr->name2 = EGO_FLAME;
@@ -5431,12 +4830,7 @@ msg_print("クロスボウの矢が炎のオーラに包まれた!");
        if (flush_failure) flush();
 
        /* Fail */
-#ifdef JP
-msg_print("炎で強化するのに失敗した。");
-#else
-       msg_print("The fiery enchantment failed.");
-#endif
-
+       msg_print(_("炎で強化するのに失敗した。", "The fiery enchantment failed."));
 
        /* Notice */
        return (TRUE);
@@ -5632,11 +5026,7 @@ bool dimension_door(void)
 
        if (dimension_door_aux(x, y)) return TRUE;
 
-#ifdef JP
-       msg_print("精霊界から物質界に戻る時うまくいかなかった!");
-#else
-       msg_print("You fail to exit the astral plane correctly!");
-#endif
+       msg_print(_("精霊界から物質界に戻る時うまくいかなかった!", "You fail to exit the astral plane correctly!"));
 
        return TRUE;
 }
@@ -5654,11 +5044,7 @@ bool mirror_tunnel(void)
 
        if (dimension_door_aux(x, y)) return TRUE;
 
-#ifdef JP
-       msg_print("鏡の世界をうまく通れなかった!");
-#else
-       msg_print("You fail to pass the mirror plane correctly!");
-#endif
+       msg_print(_("鏡の世界をうまく通れなかった!", "You fail to pass the mirror plane correctly!"));
 
        return TRUE;
 }
@@ -5680,13 +5066,8 @@ bool eat_magic(int power)
        item_tester_hook = item_tester_hook_recharge;
 
        /* Get an item */
-#ifdef JP
-q = "どのアイテムから魔力を吸収しますか?";
-s = "魔力を吸収できるアイテムがありません。";
-#else
-       q = "Drain which item? ";
-       s = "You have nothing to drain.";
-#endif
+       q = _("どのアイテムから魔力を吸収しますか?", "Drain which item? ");
+       s = _("魔力を吸収できるアイテムがありません。", "You have nothing to drain.");
 
        if (!get_item(&item, q, s, (USE_INVEN | USE_FLOOR))) return FALSE;
 
@@ -5716,12 +5097,7 @@ s = "魔力を吸収できるアイテムがありません。";
                {
                        if (o_ptr->timeout > (o_ptr->number - 1) * k_ptr->pval)
                        {
-#ifdef JP
-msg_print("充填中のロッドから魔力を吸収することはできません。");
-#else
-                               msg_print("You can't absorb energy from a discharged rod.");
-#endif
-
+                               msg_print(_("充填中のロッドから魔力を吸収することはできません。", "You can't absorb energy from a discharged rod."));
                        }
                        else
                        {
@@ -5775,22 +5151,12 @@ msg_print("充填中のロッドから魔力を吸収することはできませ
                                        item = inven_carry(q_ptr);
 
                                        /* Message */
-#ifdef JP
-                                       msg_print("杖をまとめなおした。");
-#else
-                                       msg_print("You unstack your staff.");
-#endif
-
+                                       msg_print(_("杖をまとめなおした。", "You unstack your staff."));
                                }
                        }
                        else
                        {
-#ifdef JP
-msg_print("吸収できる魔力がありません!");
-#else
-                               msg_print("There's no energy there to absorb!");
-#endif
-
+                               msg_print(_("吸収できる魔力がありません!", "There's no energy there to absorb!"));
                        }
                        if (!o_ptr->pval) o_ptr->ident |= IDENT_EMPTY;
                }
@@ -5803,12 +5169,7 @@ msg_print("吸収できる魔力がありません!");
                if (object_is_fixed_artifact(o_ptr))
                {
                        object_desc(o_name, o_ptr, OD_NAME_ONLY);
-#ifdef JP
-msg_format("魔力が逆流した!%sは完全に魔力を失った。", o_name);
-#else
-                       msg_format("The recharging backfires - %s is completely drained!", o_name);
-#endif
-
+                       msg_format(_("魔力が逆流した!%sは完全に魔力を失った。", "The recharging backfires - %s is completely drained!"), o_name);
 
                        /* Artifact rods. */
                        if (o_ptr->tval == TV_ROD)
@@ -5877,22 +5238,13 @@ msg_format("魔力が逆流した!%sは完全に魔力を失った。", o_name
                        {
                                if (o_ptr->tval == TV_ROD)
                                {
-#ifdef JP
-msg_print("ロッドは破損を免れたが、魔力は全て失なわれた。");
-#else
-                                       msg_format("You save your rod from destruction, but all charges are lost.", o_name);
-#endif
-
+                                       msg_format(_("ロッドは破損を免れたが、魔力は全て失なわれた。",
+                                                                "You save your rod from destruction, but all charges are lost."), o_name);
                                        o_ptr->timeout = k_ptr->pval * o_ptr->number;
                                }
                                else if (o_ptr->tval == TV_WAND)
                                {
-#ifdef JP
-msg_format("%sは破損を免れたが、魔力が全て失われた。", o_name);
-#else
-                                       msg_format("You save your %s from destruction, but all charges are lost.", o_name);
-#endif
-
+                                       msg_format(_("%sは破損を免れたが、魔力が全て失われた。", "You save your %s from destruction, but all charges are lost."), o_name);
                                        o_ptr->pval = 0;
                                }
                                /* Staffs aren't drained. */
@@ -5903,24 +5255,16 @@ msg_format("%sは破損を免れたが、魔力が全て失われた。", o_name
                        {
                                if (o_ptr->number > 1)
                                {
-#ifdef JP
-msg_format("乱暴な魔法のために%sが一本壊れた!", o_name);
-#else
-                                       msg_format("Wild magic consumes one of your %s!", o_name);
-#endif
-
+                                       msg_format(_("乱暴な魔法のために%sが一本壊れた!", "Wild magic consumes one of your %s!"), o_name);
                                        /* Reduce rod stack maximum timeout, drain wands. */
                                        if (o_ptr->tval == TV_ROD) o_ptr->timeout = MIN(o_ptr->timeout, k_ptr->pval * (o_ptr->number - 1));
                                        else if (o_ptr->tval == TV_WAND) o_ptr->pval = o_ptr->pval * (o_ptr->number - 1) / o_ptr->number;
-
                                }
                                else
-#ifdef JP
-msg_format("乱暴な魔法のために%sが何本か壊れた!", o_name);
-#else
-                                       msg_format("Wild magic consumes your %s!", o_name);
-#endif
-
+                               {
+                                       msg_format(_("乱暴な魔法のために%sが何本か壊れた!", "Wild magic consumes your %s!"), o_name);
+                               }
+                               
                                /* Reduce and describe inventory */
                                if (item >= 0)
                                {
@@ -5942,20 +5286,9 @@ msg_format("乱暴な魔法のために%sが何本か壊れた!", o_name);
                        if (fail_type == 3)
                        {
                                if (o_ptr->number > 1)
-#ifdef JP
-msg_format("乱暴な魔法のために%sが全て壊れた!", o_name);
-#else
-                                       msg_format("Wild magic consumes all your %s!", o_name);
-#endif
-
+                                       msg_format(_("乱暴な魔法のために%sが全て壊れた!", "Wild magic consumes all your %s!"), o_name);
                                else
-#ifdef JP
-msg_format("乱暴な魔法のために%sが壊れた!", o_name);
-#else
-                                       msg_format("Wild magic consumes your %s!", o_name);
-#endif
-
-
+                                       msg_format(_("乱暴な魔法のために%sが壊れた!", "Wild magic consumes your %s!"), o_name);
 
                                /* Reduce and describe inventory */
                                if (item >= 0)
index f3bd05b..69a2f9d 100644 (file)
@@ -72,13 +72,7 @@ int usleep(huge usecs)
 
 
        /* Paranoia -- No excessive sleeping */
-#ifdef JP
-       if (usecs > 4000000L) core("不当な usleep() 呼び出し");
-#else
-       if (usecs > 4000000L) core("Illegal usleep() call");
-#endif
-
-
+       if (usecs > 4000000L) core(_("不当な usleep() 呼び出し", "Illegal usleep() call"));
 
        /* Wait for it */
        Timer.tv_sec = (usecs / 1000000L);
@@ -2773,12 +2767,7 @@ static void msg_flush(int x)
        if (!p_ptr->playing || !nagasu)
        {
                /* Pause for response */
-#ifdef JP
-               Term_putstr(x, 0, -1, a, "-続く-");
-#else
-               Term_putstr(x, 0, -1, a, "-more-");
-#endif
-
+               Term_putstr(x, 0, -1, a, _("-続く-", "-more-"));
 
                /* Get an acceptable keypress */
                while (1)
@@ -3806,12 +3795,7 @@ s16b get_quantity(cptr prompt, int max)
        if (!prompt)
        {
                /* Build a prompt */
-#ifdef JP
-               sprintf(tmp, "いくつですか (1-%d): ", max);
-#else
-               sprintf(tmp, "Quantity (1-%d): ", max);
-#endif
-
+               sprintf(tmp, _("いくつですか (1-%d): ", "Quantity (1-%d): "), max);
 
                /* Use that prompt */
                prompt = tmp;
@@ -3870,11 +3854,7 @@ s16b get_quantity(cptr prompt, int max)
 void pause_line(int row)
 {
        prt("", row, 0);
-#ifdef JP
-       put_str("[ 何かキーを押して下さい ]", row, 26);
-#else
-       put_str("[Press any key to continue]", row, 23);
-#endif
+       put_str(_("[ 何かキーを押して下さい ]", "[Press any key to continue]"), row, _(26, 23));
 
        (void)inkey();
        prt("", row, 0);
@@ -4268,11 +4248,7 @@ static char inkey_from_menu(void)
                }
                max_num = i;
                kisuu = max_num % 2;
-#ifdef JP
-               put_str("》",basey + 1 + num / 2, basex + 2 + (num % 2) * 24);
-#else
-               put_str("> ",basey + 1 + num / 2, basex + 2 + (num % 2) * 24);
-#endif
+               put_str(_("》", "> "),basey + 1 + num / 2, basex + 2 + (num % 2) * 24);
 
                /* Place the cursor on the player */
                move_cursor_relative(py, px);
@@ -4456,12 +4432,7 @@ void request_command(int shopping)
                        command_arg = 0;
 
                        /* Begin the input */
-#ifdef JP
-                       prt("回数: ", 0, 0);
-#else
-                       prt("Count: ", 0, 0);
-#endif
-
+                       prt(_("回数: ", "Count: "), 0, 0);
 
                        /* Get a command count */
                        while (1)
@@ -4476,12 +4447,7 @@ void request_command(int shopping)
                                        command_arg = command_arg / 10;
 
                                        /* Show current count */
-#ifdef JP
-                                       prt(format("回数: %d", command_arg), 0, 0);
-#else
-                                       prt(format("Count: %d", command_arg), 0, 0);
-#endif
-
+                                       prt(format(_("回数: %d", "Count: %d"), command_arg), 0, 0);
                                }
 
                                /* Actual numeric data */
@@ -4505,12 +4471,7 @@ void request_command(int shopping)
                                        }
 
                                        /* Show current count */
-#ifdef JP
-                                       prt(format("回数: %d", command_arg), 0, 0);
-#else
-                                       prt(format("Count: %d", command_arg), 0, 0);
-#endif
-
+                                       prt(format(_("回数: %d", "Count: %d"), command_arg), 0, 0);
                                }
 
                                /* Exit on "unusable" input */
@@ -4527,12 +4488,7 @@ void request_command(int shopping)
                                command_arg = 99;
 
                                /* Show current count */
-#ifdef JP
-                               prt(format("回数: %d", command_arg), 0, 0);
-#else
-                               prt(format("Count: %d", command_arg), 0, 0);
-#endif
-
+                               prt(format(_("回数: %d", "Count: %d"), command_arg), 0, 0);
                        }
 
                        /* Hack -- Handle "old_arg" */
@@ -4542,24 +4498,14 @@ void request_command(int shopping)
                                command_arg = old_arg;
 
                                /* Show current count */
-#ifdef JP
-prt(format("回数: %d", command_arg), 0, 0);
-#else
-                               prt(format("Count: %d", command_arg), 0, 0);
-#endif
-
+                               prt(format(_("回数: %d", "Count: %d"), command_arg), 0, 0);
                        }
 
                        /* Hack -- white-space means "enter command now" */
                        if ((cmd == ' ') || (cmd == '\n') || (cmd == '\r'))
                        {
                                /* Get a real command */
-#ifdef JP
-                               if (!get_com("コマンド: ", (char *)&cmd, FALSE))
-#else
-                               if (!get_com("Command: ", (char *)&cmd, FALSE))
-#endif
-
+                               if (!get_com(_("コマンド: ", "Command: "), (char *)&cmd, FALSE))
                                {
                                        /* Clear count */
                                        command_arg = 0;
@@ -4575,12 +4521,7 @@ prt(format("回数: %d", command_arg), 0, 0);
                if (cmd == '\\')
                {
                        /* Get a real command */
-#ifdef JP
-                       (void)get_com("コマンド: ", (char *)&cmd, FALSE);
-#else
-                       (void)get_com("Command: ", (char *)&cmd, FALSE);
-#endif
-
+                       (void)get_com(_("コマンド: ", "Command: "), (char *)&cmd, FALSE);
 
                        /* Hack -- bypass keymaps */
                        if (!inkey_next) inkey_next = "";
@@ -4591,12 +4532,7 @@ prt(format("回数: %d", command_arg), 0, 0);
                if (cmd == '^')
                {
                        /* Get a new command and controlify it */
-#ifdef JP
-                       if (get_com("CTRL: ", (char *)&cmd, FALSE)) cmd = KTRL(cmd);
-#else
-                       if (get_com("Control: ", (char *)&cmd, FALSE)) cmd = KTRL(cmd);
-#endif
-
+                       if (get_com(_("CTRL: ", "Control: "), (char *)&cmd, FALSE)) cmd = KTRL(cmd);
                }
 
 
@@ -4704,12 +4640,7 @@ prt(format("回数: %d", command_arg), 0, 0);
 
                        {
                                /* Hack -- Verify command */
-#ifdef JP
-                               if (!get_check("本当ですか? "))
-#else
-                               if (!get_check("Are you sure? "))
-#endif
-
+                               if (!get_check(_("本当ですか? ", "Are you sure? ")))
                                {
                                        /* Hack -- Use space */
                                        command_cmd = ' ';
index 21d7bae..7c7657d 100644 (file)
@@ -111,46 +111,18 @@ typedef struct
  */
 static grouper group_item[] =
 {
-#ifdef JP
-       { TV_SHOT,          "射撃物" },
-#else
-       { TV_SHOT,          "Ammo" },
-#endif
-
+       { TV_SHOT,          _("射撃物", "Ammo") },
        { TV_ARROW,         NULL },
        { TV_BOLT,          NULL },
-
-#ifdef JP
-       { TV_BOW,           "弓" },
-#else
-       { TV_BOW,           "Bows" },
-#endif
-
-#ifdef JP
-       { TV_DIGGING,       "武器" },
-#else
-       { TV_DIGGING,       "Weapons" },
-#endif
-
+       { TV_BOW,           _("弓", "Bows") },
+       { TV_DIGGING,       _("武器", "Weapons") },
        { TV_POLEARM,       NULL },
        { TV_HAFTED,        NULL },
        { TV_SWORD,         NULL },
-
-#ifdef JP
-       { TV_SOFT_ARMOR,    "防具 (体)" },
-#else
-       { TV_SOFT_ARMOR,    "Armour (Body)" },
-#endif
-
+       { TV_SOFT_ARMOR,    _("防具 (体)", "Armour (Body)") },
        { TV_HARD_ARMOR,    NULL },
        { TV_DRAG_ARMOR,    NULL },
-
-#ifdef JP
-       { TV_BOOTS,         "防具 (その他)" },
-#else
-       { TV_BOOTS,         "Armour (Misc)" },
-#endif
-
+       { TV_BOOTS,         _("防具 (その他)", "Armour (Misc)") },
        { TV_GLOVES,        NULL },
        { TV_HELM,          NULL },
        { TV_CROWN,         NULL },
@@ -227,11 +199,7 @@ static grouper group_item[] =
        { TV_CARD,          "Express Card" },
 #endif
 
-#ifdef JP
-       { TV_CHEST,         "箱" },
-#else
-       { TV_CHEST,         "Chests" },
-#endif
+       { TV_CHEST,         _("箱", "Chests") },
 
 #ifdef JP
        { TV_FIGURINE,      "人形" },
@@ -243,12 +211,7 @@ static grouper group_item[] =
        { TV_CORPSE,        "Corpses" },
 #endif
 
-#ifdef JP
-       { TV_SKELETON,      "その他" },
-#else
-       { TV_SKELETON,      "Misc" },
-#endif
-
+       { TV_SKELETON,      _("その他", "Misc") },
        { TV_BOTTLE,        NULL },
        { TV_JUNK,          NULL },
        { TV_SPIKE,         NULL },
@@ -1122,11 +1085,7 @@ static void analyze_pval(object_type *o_ptr, pval_info_type *p_ptr)
            have_flag(flgs, TR_WIS) && have_flag(flgs, TR_DEX) &&
            have_flag(flgs, TR_CON) && have_flag(flgs, TR_CHR))
        {
-#ifdef JP
-               *affects_list++ = "全能力";
-#else
-               *affects_list++ = "All stats";
-#endif
+               *affects_list++ = _("全能力", "All stats");
        }
 
        /* Are any stats affected? */
@@ -1250,11 +1209,7 @@ static void analyze_sustains(object_type *o_ptr, cptr *sustain_list)
            have_flag(flgs, TR_SUST_WIS) && have_flag(flgs, TR_SUST_DEX) &&
            have_flag(flgs, TR_SUST_CON) && have_flag(flgs, TR_SUST_CHR))
        {
-#ifdef JP
-               *sustain_list++ = "全能力";
-#else
-               *sustain_list++ = "All stats";
-#endif
+               *sustain_list++ = _("全能力", "All stats");
        }
 
        /* Should we bother? */
@@ -1623,11 +1578,7 @@ static void spoiler_print_art(obj_desc_list *art_ptr)
        if (pval_ptr->pval_desc[0])
        {
                /* Mention the effects of pval */
-#ifdef JP
-               sprintf(buf, "%sの修正:", pval_ptr->pval_desc);
-#else
-               sprintf(buf, "%s to", pval_ptr->pval_desc);
-#endif
+               sprintf(buf, _("%sの修正:", "%s to"), pval_ptr->pval_desc);
                spoiler_outlist(buf, pval_ptr->pval_affects, ITEM_SEP);
        }
 
@@ -1650,21 +1601,13 @@ static void spoiler_print_art(obj_desc_list *art_ptr)
 
        if (art_ptr->addition[0])
        {
-#ifdef JP
-               fprintf(fff, "%s追加: %s\n", INDENT1, art_ptr->addition);
-#else
-               fprintf(fff, "%sAdditional %s\n", INDENT1, art_ptr->addition);
-#endif
+               fprintf(fff, _("%s追加: %s\n", "%sAdditional %s\n"), INDENT1, art_ptr->addition);
        }
 
        /* Write out the possible activation at the primary indention level */
        if (art_ptr->activation)
        {
-#ifdef JP
-               fprintf(fff, "%s発動: %s\n", INDENT1, art_ptr->activation);
-#else
-               fprintf(fff, "%sActivates for %s\n", INDENT1, art_ptr->activation);
-#endif
+               fprintf(fff, _("%s発動: %s\n", "%sActivates for %s\n"), INDENT1, art_ptr->activation);
        }
 
        /* End with the miscellaneous facts */
@@ -1892,11 +1835,7 @@ static void spoil_mon_desc(cptr fname)
                }
                else
                {
-#ifdef JP
-                       sprintf(nam, "    %s", name);
-#else
-                       sprintf(nam, "The %s", name);
-#endif
+                       sprintf(nam, _("    %s", "The %s"), name);
                }
 
 
@@ -2243,11 +2182,7 @@ static void spoil_mon_info(cptr fname)
                }
 
                /* Name */
-#ifdef JP
-               sprintf(buf, "%s/%s  (", (r_name + r_ptr->name),(r_name+r_ptr->E_name));  /* ---)--- */
-#else
-               sprintf(buf, "%s  (", (r_name + r_ptr->name));  /* ---)--- */
-#endif
+               sprintf(buf, _("%s/%s  (", "%s  ("), (r_name + r_ptr->name),(r_name+r_ptr->E_name));  /* ---)--- */
 
                spoil_out(buf);
 
@@ -2617,11 +2552,7 @@ void do_cmd_spoilers(void)
                prt("(5) Monster Evolution Info (mon-evol.spo)", 9, 5);
 
                /* Prompt */
-#ifdef JP
-               prt("コマンド:", 18, 0);
-#else
-               prt("Command: ", 12, 0);
-#endif
+               prt(_("コマンド:", "Command: "), _(18, 12), 0);
 
                /* Get a choice */
                switch (inkey())
@@ -2715,22 +2646,14 @@ static void spoiler_print_randart(object_type *o_ptr, obj_desc_list *art_ptr)
        /* unidentified */
        if (!(o_ptr->ident & (IDENT_MENTAL)))
        {
-#ifdef JP
-               fprintf(fff, "%s不明\n",INDENT1);
-#else
-               fprintf(fff, "%sUnknown\n",INDENT1);
-#endif
+               fprintf(fff, _("%s不明\n", "%sUnknown\n"),INDENT1);
        }
        else {
                /* An "empty" pval description indicates that the pval affects nothing */
                if (pval_ptr->pval_desc[0])
                {
                        /* Mention the effects of pval */
-#ifdef JP
-                       sprintf(buf, "%sの修正:", pval_ptr->pval_desc);
-#else
-                       sprintf(buf, "%s to", pval_ptr->pval_desc);
-#endif
+                       sprintf(buf, _("%sの修正:", "%s to"), pval_ptr->pval_desc);
                        spoiler_outlist(buf, pval_ptr->pval_affects, ITEM_SEP);
                }
 
@@ -2754,11 +2677,7 @@ static void spoiler_print_randart(object_type *o_ptr, obj_desc_list *art_ptr)
                /* Write out the possible activation at the primary indention level */
                if (art_ptr->activation)
                {
-#ifdef JP
-                       fprintf(fff, "%s発動: %s\n", INDENT1, art_ptr->activation);
-#else
-                       fprintf(fff, "%sActivates for %s\n", INDENT1, art_ptr->activation);
-#endif
+                       fprintf(fff, _("%s発動: %s\n", "%sActivates for %s\n"), INDENT1, art_ptr->activation);
                }
        }
        /* End with the miscellaneous facts */
index 11b13d8..2ec862c 100644 (file)
@@ -78,20 +78,12 @@ void do_cmd_rerate(bool display)
        /* Message */
        if (display)
        {
-#ifdef JP
-               msg_format("現在の体力ランクは %d/100 です。", percent);
-#else
-               msg_format("Your life rate is %d/100 now.", percent);
-#endif
+               msg_format(_("現在の体力ランクは %d/100 です。", "Your life rate is %d/100 now."), percent);
                p_ptr->knowledge |= KNOW_HPRATE;
        }
        else
        {
-#ifdef JP
-               msg_print("体力ランクが変わった。");
-#else
-               msg_print("Life rate is changed.");
-#endif
+               msg_print(_("体力ランクが変わった。", "Life rate is changed."));
                p_ptr->knowledge &= ~(KNOW_HPRATE);
        }
 }
@@ -377,11 +369,7 @@ static void do_cmd_wiz_change_aux(void)
        sprintf(tmp_val, "%d", WEAPON_EXP_MASTER);
 
        /* Query */
-#ifdef JP
-       if (!get_string("熟練度: ", tmp_val, 9)) return;
-#else
-       if (!get_string("Proficiency: ", tmp_val, 9)) return;
-#endif
+       if (!get_string(_("熟練度: ", "Proficiency: "), tmp_val, 9)) return;
 
        /* Extract */
        tmp_s16b = atoi(tmp_val);
@@ -1704,11 +1692,7 @@ static void do_cmd_wiz_create_feature(void)
        sprintf(tmp_val, "%d", prev_feat);
 
        /* Query */
-#ifdef JP
-       if (!get_string("地形: ", tmp_val, 3)) return;
-#else
-       if (!get_string("Feature: ", tmp_val, 3)) return;
-#endif
+       if (!get_string(_("地形: ", "Feature: "), tmp_val, 3)) return;
 
        /* Extract */
        tmp_feat = atoi(tmp_val);
@@ -1719,11 +1703,7 @@ static void do_cmd_wiz_create_feature(void)
        sprintf(tmp_val, "%d", prev_mimic);
 
        /* Query */
-#ifdef JP
-       if (!get_string("地形 (mimic): ", tmp_val, 3)) return;
-#else
-       if (!get_string("Feature (mimic): ", tmp_val, 3)) return;
-#endif
+       if (!get_string(_("地形 (mimic): ", "Feature (mimic): "), tmp_val, 3)) return;
 
        /* Extract */
        tmp_mimic = atoi(tmp_val);
@@ -1780,11 +1760,7 @@ static void do_cmd_dump_options(void)
        /* Oops */
        if (!fff)
        {
-#ifdef JP
-               msg_format("ファイル %s を開けませんでした。", buf);
-#else
-               msg_format("Failed to open file %s.", buf);
-#endif
+               msg_format(_("ファイル %s を開けませんでした。", "Failed to open file %s."), buf);
                msg_print(NULL);
                return;
        }
@@ -1832,11 +1808,7 @@ static void do_cmd_dump_options(void)
        /* Close it */
        my_fclose(fff);
 
-#ifdef JP
-       msg_format("オプションbit使用状況をファイル %s に書き出しました。", buf);
-#else
-       msg_format("Option bits usage dump saved to file %s.", buf);
-#endif
+       msg_format(_("オプションbit使用状況をファイル %s に書き出しました。", "Option bits usage dump saved to file %s."), buf);
 }
 
 
index 0273824..afb6d0c 100644 (file)
@@ -161,13 +161,8 @@ void prt_time(void)
        extract_day_hour_min(&day, &hour, &min);
 
        /* Dump the info itself */
-#ifdef JP
-       if (day < 1000) c_put_str(TERM_WHITE, format("%2d日目", day), ROW_DAY, COL_DAY);
-       else c_put_str(TERM_WHITE, "***日目", ROW_DAY, COL_DAY);
-#else
-       if (day < 1000) c_put_str(TERM_WHITE, format("Day%3d", day), ROW_DAY, COL_DAY);
-       else c_put_str(TERM_WHITE, "Day***", ROW_DAY, COL_DAY);
-#endif
+       if (day < 1000) c_put_str(TERM_WHITE, format(_("%2d日目", "Day%3d"), day), ROW_DAY, COL_DAY);
+       else c_put_str(TERM_WHITE, _("***日目", "Day***"), ROW_DAY, COL_DAY);
 
        c_put_str(TERM_WHITE, format("%2d:%02d", hour, min), ROW_DAY, COL_DAY+7);
 }
@@ -177,29 +172,13 @@ cptr map_name(void)
 {
        if (p_ptr->inside_quest && is_fixed_quest_idx(p_ptr->inside_quest)
            && (quest[p_ptr->inside_quest].flags & QUEST_FLAG_PRESET))
-#ifdef JP
-               return "クエスト";
-#else
-               return "Quest";
-#endif
+               return _("クエスト", "Quest");
        else if (p_ptr->wild_mode)
-#ifdef JP
-               return "地上";
-#else
-               return "Surface";
-#endif
+               return _("地上", "Surface");
        else if (p_ptr->inside_arena)
-#ifdef JP
-               return "アリーナ";
-#else
-               return "Arena";
-#endif
+               return _("アリーナ", "Arena");
        else if (p_ptr->inside_battle)
-#ifdef JP
-               return "闘技場";
-#else
-               return "Monster Arena";
-#endif
+               return _("闘技場", "Monster Arena");
        else if (!dun_level && p_ptr->town_num)
                return town[p_ptr->town_num].name;
        else
@@ -787,12 +766,7 @@ static void prt_level(void)
 {
        char tmp[32];
 
-#ifdef JP
-       sprintf(tmp, "%5d", p_ptr->lev);
-#else
-       sprintf(tmp, "%6d", p_ptr->lev);
-#endif
-
+       sprintf(tmp, _("%5d", "%6d"), p_ptr->lev);
 
        if (p_ptr->lev >= p_ptr->max_plv)
        {
@@ -828,11 +802,7 @@ static void prt_exp(void)
 
        if ((!exp_need)||(p_ptr->prace == RACE_ANDROID))
        {
-#ifdef JP
-       (void)sprintf(out_val, "%7ld", (long)p_ptr->exp);
-#else
-       (void)sprintf(out_val, "%8ld", (long)p_ptr->exp);
-#endif
+               (void)sprintf(out_val, _("%7ld", "%8ld"), (long)p_ptr->exp);
        }
        else
        {
@@ -882,13 +852,7 @@ static void prt_exp(void)
 static void prt_gold(void)
 {
        char tmp[32];
-
-#ifdef JP
-       put_str("$ ", ROW_GOLD, COL_GOLD);
-#else
-       put_str("AU ", ROW_GOLD, COL_GOLD);
-#endif
-
+       put_str(_("$ ", "AU "), ROW_GOLD, COL_GOLD);
        sprintf(tmp, "%9ld", (long)p_ptr->au);
        c_put_str(TERM_L_GREEN, tmp, ROW_GOLD, COL_GOLD + 3);
 }
@@ -975,12 +939,7 @@ static void prt_sp(void)
 
        /* タイトル */
 /*     put_str(" MP / 最大", ROW_MAXSP, COL_MAXSP); */
-
-#ifdef JP
-       put_str("MP", ROW_CURSP, COL_CURSP);
-#else
-       put_str("SP", ROW_CURSP, COL_CURSP);
-#endif
+       put_str(_("MP", "SP"), ROW_CURSP, COL_CURSP);
 
        /* 現在のマジックポイント */
        sprintf(tmp, "%4ld", (long int)p_ptr->csp);
@@ -1026,30 +985,16 @@ static void prt_depth(void)
 
        if (!dun_level)
        {
-#ifdef JP
-               strcpy(depths, "地上");
-#else
-               strcpy(depths, "Surf.");
-#endif
+               strcpy(depths, _("地上", "Surf."));
        }
        else if (p_ptr->inside_quest && !dungeon_type)
        {
-#ifdef JP
-               strcpy(depths, "地上");
-#else
-               strcpy(depths, "Quest");
-#endif
+               strcpy(depths, _("地上", "Quest"));
        }
        else
        {
-#ifdef JP
-               if (depth_in_feet) (void)sprintf(depths, "%d ft", dun_level * 50);
-               else (void)sprintf(depths, "%d 階", dun_level);
-#else
-               if (depth_in_feet) (void)sprintf(depths, "%d ft", dun_level * 50);
-               else (void)sprintf(depths, "Lev %d", dun_level);
-#endif
-
+               if (depth_in_feet) (void)sprintf(depths, _("%d ft", "%d ft"), dun_level * 50);
+               else (void)sprintf(depths, _("%d 階", "Lev %d"), dun_level);
 
                /* Get color of level based on feeling  -JSV- */
                switch (p_ptr->feeling)
@@ -1083,34 +1028,19 @@ static void prt_hunger(void)
        /* Fainting / Starving */
        if (p_ptr->food < PY_FOOD_FAINT)
        {
-#ifdef JP
-               c_put_str(TERM_RED, "衰弱  ", ROW_HUNGRY, COL_HUNGRY);
-#else
-               c_put_str(TERM_RED, "Weak  ", ROW_HUNGRY, COL_HUNGRY);
-#endif
-
+               c_put_str(TERM_RED, _("衰弱  ", "Weak  "), ROW_HUNGRY, COL_HUNGRY);
        }
 
        /* Weak */
        else if (p_ptr->food < PY_FOOD_WEAK)
        {
-#ifdef JP
-               c_put_str(TERM_ORANGE, "衰弱  ", ROW_HUNGRY, COL_HUNGRY);
-#else
-               c_put_str(TERM_ORANGE, "Weak  ", ROW_HUNGRY, COL_HUNGRY);
-#endif
-
+               c_put_str(TERM_ORANGE, _("衰弱  ", "Weak  "), ROW_HUNGRY, COL_HUNGRY);
        }
 
        /* Hungry */
        else if (p_ptr->food < PY_FOOD_ALERT)
        {
-#ifdef JP
-               c_put_str(TERM_YELLOW, "空腹  ", ROW_HUNGRY, COL_HUNGRY);
-#else
-               c_put_str(TERM_YELLOW, "Hungry", ROW_HUNGRY, COL_HUNGRY);
-#endif
-
+               c_put_str(TERM_YELLOW, _("空腹  ", "Hungry"), ROW_HUNGRY, COL_HUNGRY);
        }
 
        /* Normal */
@@ -1122,23 +1052,13 @@ static void prt_hunger(void)
        /* Full */
        else if (p_ptr->food < PY_FOOD_MAX)
        {
-#ifdef JP
-               c_put_str(TERM_L_GREEN, "満腹  ", ROW_HUNGRY, COL_HUNGRY);
-#else
-               c_put_str(TERM_L_GREEN, "Full  ", ROW_HUNGRY, COL_HUNGRY);
-#endif
-
+               c_put_str(TERM_L_GREEN, _("満腹  ", "Full  "), ROW_HUNGRY, COL_HUNGRY);
        }
 
        /* Gorged */
        else
        {
-#ifdef JP
-               c_put_str(TERM_GREEN, "食過ぎ", ROW_HUNGRY, COL_HUNGRY);
-#else
-               c_put_str(TERM_GREEN, "Gorged", ROW_HUNGRY, COL_HUNGRY);
-#endif
-
+               c_put_str(TERM_GREEN, _("食過ぎ", "Gorged"), ROW_HUNGRY, COL_HUNGRY);
        }
 }
 
@@ -1161,21 +1081,11 @@ static void prt_state(void)
        {
                if (command_rep > 999)
                {
-#ifdef JP
-sprintf(text, "%2d00", command_rep / 100);
-#else
                        (void)sprintf(text, "%2d00", command_rep / 100);
-#endif
-
                }
                else
                {
-#ifdef JP
-sprintf(text, "  %2d", command_rep);
-#else
                        (void)sprintf(text, "  %2d", command_rep);
-#endif
-
                }
        }
 
@@ -1186,11 +1096,7 @@ sprintf(text, "  %2d", command_rep);
                {
                        case ACTION_SEARCH:
                        {
-#ifdef JP
-                               strcpy(text, "探索");
-#else
-                               strcpy(text, "Sear");
-#endif
+                               strcpy(text, _("探索", "Sear"));
                                break;
                        }
                        case ACTION_REST:
@@ -1198,12 +1104,7 @@ sprintf(text, "  %2d", command_rep);
                                int i;
 
                                /* Start with "Rest" */
-#ifdef JP
-                               strcpy(text, "    ");
-#else
-                               strcpy(text, "    ");
-#endif
-
+                               strcpy(text, _("    ", "    "));
 
                                /* Extensive (timed) rest */
                                if (resting >= 1000)
@@ -1255,21 +1156,13 @@ sprintf(text, "  %2d", command_rep);
                        }
                        case ACTION_LEARN:
                        {
-#ifdef JP
-                               strcpy(text, "学習");
-#else
-                               strcpy(text, "lear");
-#endif
+                               strcpy(text, _("学習", "lear"));
                                if (new_mane) attr = TERM_L_RED;
                                break;
                        }
                        case ACTION_FISH:
                        {
-#ifdef JP
-                               strcpy(text, "釣り");
-#else
-                               strcpy(text, "fish");
-#endif
+                               strcpy(text, _("釣り", "fish"));
                                break;
                        }
                        case ACTION_KAMAE:
@@ -1297,29 +1190,17 @@ sprintf(text, "  %2d", command_rep);
                        }
                        case ACTION_SING:
                        {
-#ifdef JP
-                               strcpy(text, "歌  ");
-#else
-                               strcpy(text, "Sing");
-#endif
+                               strcpy(text, _("歌  ", "Sing"));
                                break;
                        }
                        case ACTION_HAYAGAKE:
                        {
-#ifdef JP
-                               strcpy(text, "速駆");
-#else
-                               strcpy(text, "Fast");
-#endif
+                               strcpy(text, _("速駆", "Fast"));
                                break;
                        }
                        case ACTION_SPELL:
                        {
-#ifdef JP
-                               strcpy(text, "詠唱");
-#else
-                               strcpy(text, "Spel");
-#endif
+                               strcpy(text, _("詠唱", "Spel"));
                                break;
                        }
                        default:
@@ -1397,11 +1278,7 @@ static void prt_speed(void)
        else if (p_ptr->riding)
        {
                attr = TERM_GREEN;
-#ifdef JP
-               strcpy(buf, "乗馬中");
-#else
-               strcpy(buf, "Riding");
-#endif
+               strcpy(buf, _("乗馬中", "Riding"));
        }
 
        /* Display the speed */
@@ -1419,12 +1296,7 @@ static void prt_study(void)
 
        if (p_ptr->new_spells)
        {
-#ifdef JP
-               put_str("学習", row_study, col_study);
-#else
-               put_str("Stud", row_study, col_study);
-#endif
-
+               put_str(_("学習", "Stud"), row_study, col_study);
        }
        else
        {
@@ -1448,11 +1320,7 @@ static void prt_imitation(void)
                        byte attr;
                        if (new_mane) attr = TERM_L_RED;
                        else attr = TERM_WHITE;
-#ifdef JP
-                       c_put_str(attr, "まね", row_study, col_study);
-#else
-                       c_put_str(attr, "Imit", row_study, col_study);
-#endif
+                       c_put_str(attr, _("まね", "Imit"), row_study, col_study);
                }
                else
                {
@@ -1468,66 +1336,31 @@ static void prt_cut(void)
 
        if (c > 1000)
        {
-#ifdef JP
-               c_put_str(TERM_L_RED, "致命傷      ", ROW_CUT, COL_CUT);
-#else
-               c_put_str(TERM_L_RED, "Mortal wound", ROW_CUT, COL_CUT);
-#endif
-
+               c_put_str(TERM_L_RED, _("致命傷      ", "Mortal wound"), ROW_CUT, COL_CUT);
        }
        else if (c > 200)
        {
-#ifdef JP
-               c_put_str(TERM_RED, "ひどい深手  ", ROW_CUT, COL_CUT);
-#else
-               c_put_str(TERM_RED, "Deep gash   ", ROW_CUT, COL_CUT);
-#endif
-
+               c_put_str(TERM_RED, _("ひどい深手  ", "Deep gash   "), ROW_CUT, COL_CUT);
        }
        else if (c > 100)
        {
-#ifdef JP
-               c_put_str(TERM_RED, "重傷        ", ROW_CUT, COL_CUT);
-#else
-               c_put_str(TERM_RED, "Severe cut  ", ROW_CUT, COL_CUT);
-#endif
-
+               c_put_str(TERM_RED, _("重傷        ", "Severe cut  "), ROW_CUT, COL_CUT);
        }
        else if (c > 50)
        {
-#ifdef JP
-               c_put_str(TERM_ORANGE, "大変な傷    ", ROW_CUT, COL_CUT);
-#else
-               c_put_str(TERM_ORANGE, "Nasty cut   ", ROW_CUT, COL_CUT);
-#endif
-
+               c_put_str(TERM_ORANGE, _("大変な傷    ", "Nasty cut   "), ROW_CUT, COL_CUT);
        }
        else if (c > 25)
        {
-#ifdef JP
-               c_put_str(TERM_ORANGE, "ひどい傷    ", ROW_CUT, COL_CUT);
-#else
-               c_put_str(TERM_ORANGE, "Bad cut     ", ROW_CUT, COL_CUT);
-#endif
-
+               c_put_str(TERM_ORANGE, _("ひどい傷    ", "Bad cut     "), ROW_CUT, COL_CUT);
        }
        else if (c > 10)
        {
-#ifdef JP
-               c_put_str(TERM_YELLOW, "軽傷        ", ROW_CUT, COL_CUT);
-#else
-               c_put_str(TERM_YELLOW, "Light cut   ", ROW_CUT, COL_CUT);
-#endif
-
+               c_put_str(TERM_YELLOW, _("軽傷        ", "Light cut   "), ROW_CUT, COL_CUT);
        }
        else if (c)
        {
-#ifdef JP
-               c_put_str(TERM_YELLOW, "かすり傷    ", ROW_CUT, COL_CUT);
-#else
-               c_put_str(TERM_YELLOW, "Graze       ", ROW_CUT, COL_CUT);
-#endif
-
+               c_put_str(TERM_YELLOW, _("かすり傷    ", "Graze       "), ROW_CUT, COL_CUT);
        }
        else
        {
@@ -1543,30 +1376,15 @@ static void prt_stun(void)
 
        if (s > 100)
        {
-#ifdef JP
-               c_put_str(TERM_RED, "意識不明瞭  ", ROW_STUN, COL_STUN);
-#else
-               c_put_str(TERM_RED, "Knocked out ", ROW_STUN, COL_STUN);
-#endif
-
+               c_put_str(TERM_RED, _("意識不明瞭  ", "Knocked out "), ROW_STUN, COL_STUN);
        }
        else if (s > 50)
        {
-#ifdef JP
-               c_put_str(TERM_ORANGE, "ひどく朦朧  ", ROW_STUN, COL_STUN);
-#else
-               c_put_str(TERM_ORANGE, "Heavy stun  ", ROW_STUN, COL_STUN);
-#endif
-
+               c_put_str(TERM_ORANGE, _("ひどく朦朧  ", "Heavy stun  "), ROW_STUN, COL_STUN);
        }
        else if (s)
        {
-#ifdef JP
-               c_put_str(TERM_ORANGE, "朦朧        ", ROW_STUN, COL_STUN);
-#else
-               c_put_str(TERM_ORANGE, "Stun        ", ROW_STUN, COL_STUN);
-#endif
-
+               c_put_str(TERM_ORANGE, _("朦朧        ", "Stun        "), ROW_STUN, COL_STUN);
        }
        else
        {
@@ -2917,21 +2735,11 @@ static void calc_mana(void)
                /* Message */
                if (p_ptr->cumber_glove)
                {
-#ifdef JP
-                       msg_print("手が覆われて呪文が唱えにくい感じがする。");
-#else
-                       msg_print("Your covered hands feel unsuitable for spellcasting.");
-#endif
-
+                       msg_print(_("手が覆われて呪文が唱えにくい感じがする。", "Your covered hands feel unsuitable for spellcasting."));
                }
                else
                {
-#ifdef JP
-                       msg_print("この手の状態なら、ぐっと呪文が唱えやすい感じだ。");
-#else
-                       msg_print("Your hands feel more suitable for spellcasting.");
-#endif
-
+                       msg_print(_("この手の状態なら、ぐっと呪文が唱えやすい感じだ。", "Your hands feel more suitable for spellcasting."));
                }
 
                /* Save it */
@@ -2945,21 +2753,11 @@ static void calc_mana(void)
                /* Message */
                if (p_ptr->cumber_armor)
                {
-#ifdef JP
-                       msg_print("装備の重さで動きが鈍くなってしまっている。");
-#else
-                       msg_print("The weight of your equipment encumbers your movement.");
-#endif
-
+                       msg_print(_("装備の重さで動きが鈍くなってしまっている。", "The weight of your equipment encumbers your movement."));
                }
                else
                {
-#ifdef JP
-                       msg_print("ぐっと楽に体を動かせるようになった。");
-#else
-                       msg_print("You feel able to move more freely.");
-#endif
-
+                       msg_print(_("ぐっと楽に体を動かせるようになった。", "You feel able to move more freely."));
                }
 
                /* Save it */
@@ -5708,30 +5506,15 @@ void calc_bonuses(void)
                /* Message */
                if (p_ptr->heavy_shoot)
                {
-#ifdef JP
-                       msg_print("こんな重い弓を装備しているのは大変だ。");
-#else
-                       msg_print("You have trouble wielding such a heavy bow.");
-#endif
-
+                       msg_print(_("こんな重い弓を装備しているのは大変だ。", "You have trouble wielding such a heavy bow."));
                }
                else if (inventory[INVEN_BOW].k_idx)
                {
-#ifdef JP
-                       msg_print("この弓なら装備していても辛くない。");
-#else
-                       msg_print("You have no trouble wielding your bow.");
-#endif
-
+                       msg_print(_("この弓なら装備していても辛くない。", "You have no trouble wielding your bow."));
                }
                else
                {
-#ifdef JP
-                       msg_print("重い弓を装備からはずして体が楽になった。");
-#else
-                       msg_print("You feel relieved to put down your heavy bow.");
-#endif
-
+                       msg_print(_("重い弓を装備からはずして体が楽になった。", "You feel relieved to put down your heavy bow."));
                }
 
                /* Save it */
@@ -5746,39 +5529,19 @@ void calc_bonuses(void)
                        /* Message */
                        if (p_ptr->heavy_wield[i])
                        {
-#ifdef JP
-                               msg_print("こんな重い武器を装備しているのは大変だ。");
-#else
-                               msg_print("You have trouble wielding such a heavy weapon.");
-#endif
-
+                               msg_print(_("こんな重い武器を装備しているのは大変だ。", "You have trouble wielding such a heavy weapon."));
                        }
                        else if (buki_motteruka(INVEN_RARM+i))
                        {
-#ifdef JP
-                               msg_print("これなら装備していても辛くない。");
-#else
-                               msg_print("You have no trouble wielding your weapon.");
-#endif
-
+                               msg_print(_("これなら装備していても辛くない。", "You have no trouble wielding your weapon."));
                        }
                        else if (p_ptr->heavy_wield[1-i])
                        {
-#ifdef JP
-                               msg_print("まだ武器が重い。");
-#else
-                               msg_print("You have still trouble wielding a heavy weapon.");
-#endif
-
+                               msg_print(_("まだ武器が重い。", "You have still trouble wielding a heavy weapon."));
                        }
                        else
                        {
-#ifdef JP
-                               msg_print("重い武器を装備からはずして体が楽になった。");
-#else
-                               msg_print("You feel relieved to put down your heavy weapon.");
-#endif
-
+                               msg_print(_("重い武器を装備からはずして体が楽になった。", "You feel relieved to put down your heavy weapon."));
                        }
 
                        /* Save it */
@@ -5791,30 +5554,15 @@ void calc_bonuses(void)
                        /* Message */
                        if (p_ptr->riding_wield[i])
                        {
-#ifdef JP
-                               msg_print("この武器は乗馬中に使うにはむかないようだ。");
-#else
-                               msg_print("This weapon is not suitable for use while riding.");
-#endif
-
+                               msg_print(_("この武器は乗馬中に使うにはむかないようだ。", "This weapon is not suitable for use while riding."));
                        }
                        else if (!p_ptr->riding)
                        {
-#ifdef JP
-                               msg_print("この武器は徒歩で使いやすい。");
-#else
-                               msg_print("This weapon was not suitable for use while riding.");
-#endif
-
+                               msg_print(_("この武器は徒歩で使いやすい。", "This weapon was not suitable for use while riding."));
                        }
                        else if (buki_motteruka(INVEN_RARM+i))
                        {
-#ifdef JP
-                               msg_print("これなら乗馬中にぴったりだ。");
-#else
-                               msg_print("This weapon is suitable for use while riding.");
-#endif
-
+                               msg_print(_("これなら乗馬中にぴったりだ。", "This weapon is suitable for use while riding."));
                        }
                        /* Save it */
                        p_ptr->old_riding_wield[i] = p_ptr->riding_wield[i];
@@ -5826,11 +5574,7 @@ void calc_bonuses(void)
                        /* Message */
                        if (p_ptr->icky_wield[i])
                        {
-#ifdef JP
-                               msg_print("今の装備はどうも自分にふさわしくない気がする。");
-#else
-                               msg_print("You do not feel comfortable with your weapon.");
-#endif
+                               msg_print(_("今の装備はどうも自分にふさわしくない気がする。", "You do not feel comfortable with your weapon."));
                                if (hack_mind)
                                {
                                        chg_virtue(V_FAITH, -1);
@@ -5838,21 +5582,11 @@ void calc_bonuses(void)
                        }
                        else if (buki_motteruka(INVEN_RARM+i))
                        {
-#ifdef JP
-                               msg_print("今の装備は自分にふさわしい気がする。");
-#else
-                               msg_print("You feel comfortable with your weapon.");
-#endif
-
+                               msg_print(_("今の装備は自分にふさわしい気がする。", "You feel comfortable with your weapon."));
                        }
                        else
                        {
-#ifdef JP
-                               msg_print("装備をはずしたら随分と気が楽になった。");
-#else
-                               msg_print("You feel more comfortable after removing your weapon.");
-#endif
-
+                               msg_print(_("装備をはずしたら随分と気が楽になった。", "You feel more comfortable after removing your weapon."));
                        }
 
                        /* Save it */
@@ -5887,24 +5621,17 @@ void calc_bonuses(void)
        {
                if (heavy_armor())
                {
-#ifdef JP
-msg_print("装備が重くてバランスを取れない。");
-#else
-                       msg_print("The weight of your armor disrupts your balance.");
-#endif
-
+                       msg_print(_("装備が重くてバランスを取れない。", "The weight of your armor disrupts your balance."));
                        if (hack_mind)
                        {
                                chg_virtue(V_HARMONY, -1);
                        }
                }
                else
-#ifdef JP
-msg_print("バランスがとれるようになった。");
-#else
-                       msg_print("You regain your balance.");
-#endif
-
+               {
+                       msg_print(_("バランスがとれるようになった。", "You regain your balance."));
+               }
+               
                monk_notify_aux = monk_armour_aux;
        }
 
index 8c50514..c397e0c 100644 (file)
@@ -177,11 +177,7 @@ msg_format("レベル %d にようこそ。", p_ptr->lev);
                                        for(n = 0; n < 6; n++)
                                                if (n != choice - 'a')
                                                        prt("",n+2,14);
-#ifdef JP
-                                       if (get_check("よろしいですか?")) break;
-#else
-                                       if (get_check("Are you sure? ")) break;
-#endif
+                                       if (get_check(_("よろしいですか?", "Are you sure? "))) break;
                                }
                                do_inc_stat(choice - 'a');
                                screen_load();
@@ -192,12 +188,7 @@ msg_format("レベル %d にようこそ。", p_ptr->lev);
 
                if (level_mutation)
                {
-#ifdef JP
-msg_print("あなたは変わった気がする...");
-#else
-                       msg_print("You feel different...");
-#endif
-
+                       msg_print(_("あなたは変わった気がする...", "You feel different..."));
                        (void)gain_random_mutation(0);
                        level_mutation = FALSE;
                }
@@ -645,12 +636,7 @@ void check_quest_completion(monster_type *m_ptr)
                }
 
                /* Explain the staircase */
-#ifdef JP
-msg_print("魔法の階段が現れた...");
-#else
-               msg_print("A magical staircase appears...");
-#endif
-
+               msg_print(_("魔法の階段が現れた...", "A magical staircase appears..."));
 
                /* Create stairs down */
                cave_set_feat(y, x, feat_down_stair);
@@ -722,27 +708,14 @@ cptr extract_note_dies(monster_race *r_ptr)
                {
                        if (r_ptr->blow[i].method == RBM_EXPLODE)
                        {
-#ifdef JP
-                               return "は爆発して粉々になった。";
-#else
-                               return " explodes into tiny shreds.";
-#endif
+                               return _("は爆発して粉々になった。", " explodes into tiny shreds.");
                        }
                }
-
-#ifdef JP
-               return "を倒した。";
-#else
-               return " is destroyed.";
-#endif
+               return _("を倒した。", " is destroyed.");
        }
 
        /* Assume a default death */
-#ifdef JP
-       return "は死んだ。";
-#else
-       return " dies.";
-#endif
+       return _("は死んだ。", " dies.");
 }
 
 
@@ -845,19 +818,11 @@ void monster_death(int m_idx, bool drop_item)
 
                if (p_ptr->arena_number > MAX_ARENA_MONS)
                {
-#ifdef JP
-msg_print("素晴らしい!君こそ真の勝利者だ。");
-#else
-                       msg_print("You are a Genuine Champion!");
-#endif
+                       msg_print(_("素晴らしい!君こそ真の勝利者だ。", "You are a Genuine Champion!"));
                }
                else
                {
-#ifdef JP
-msg_print("勝利!チャンピオンへの道を進んでいる。");
-#else
-                       msg_print("Victorious! You're on your way to becoming Champion.");
-#endif
+                       msg_print(_("勝利!チャンピオンへの道を進んでいる。", "Victorious! You're on your way to becoming Champion."));
                }
 
                if (arena_info[p_ptr->arena_number].tval)
@@ -891,11 +856,7 @@ msg_print("勝利!チャンピオンへの道を進んでいる。");
        {
                if (rakuba(-1, FALSE))
                {
-#ifdef JP
-msg_print("地面に落とされた。");
-#else
-                       msg_print("You have fallen from your riding pet.");
-#endif
+                       msg_print(_("地面に落とされた。", "You have fallen from your riding pet."));
                }
        }
 
@@ -974,11 +935,7 @@ msg_print("地面に落とされた。");
                        }
 
                        if (notice)
-#ifdef JP
-                               msg_print("ピンク・ホラーは分裂した!");
-#else
-                               msg_print("The Pink horror divides!");
-#endif
+                               msg_print(_("ピンク・ホラーは分裂した!", "The Pink horror divides!"));
                }
                break;
 
@@ -1049,12 +1006,7 @@ msg_print("地面に落とされた。");
                                        if (summon_specific((pet ? -1 : m_idx), wy, wx, 100, SUMMON_DAWN, mode))
                                        {
                                                if (player_can_see_bold(wy, wx))
-#ifdef JP
-                                                       msg_print("新たな戦士が現れた!");
-#else
-                                                       msg_print("A new warrior steps forth!");
-#endif
-
+                                                       msg_print(_("新たな戦士が現れた!", "A new warrior steps forth!"));
                                        }
                                }
                        }
@@ -1545,11 +1497,7 @@ msg_print("地面に落とされた。");
                                /* Drop it in the dungeon */
                                (void)drop_near(q_ptr, -1, y, x);
                        }
-#ifdef JP
-                       msg_format("あなたは%sを制覇した!",d_name+d_info[dungeon_type].name);
-#else
-                       msg_format("You have conquered %s!",d_name+d_info[dungeon_type].name);
-#endif
+                       msg_format(_("あなたは%sを制覇した!", "You have conquered %s!"),d_name+d_info[dungeon_type].name);
                }
        }
 
@@ -1637,41 +1585,18 @@ msg_print("地面に落とされた。");
                /* Redraw the "title" */
                p_ptr->redraw |= (PR_TITLE);
 
-#ifdef JP
-               do_cmd_write_nikki(NIKKI_BUNSHOU, 0, "見事に変愚蛮怒の勝利者となった!");
-#else
-               do_cmd_write_nikki(NIKKI_BUNSHOU, 0, "become *WINNER* of Hengband finely!");
-#endif
+               do_cmd_write_nikki(NIKKI_BUNSHOU, 0, _("見事に変愚蛮怒の勝利者となった!", "become *WINNER* of Hengband finely!"));
 
                if ((p_ptr->pclass == CLASS_CHAOS_WARRIOR) || (p_ptr->muta2 & MUT2_CHAOS_GIFT))
                {
-#ifdef JP
-                       msg_format("%sからの声が響いた。", chaos_patrons[p_ptr->chaos_patron]);
-                       msg_print("『よくやった、定命の者よ!』");
-#else
-                       msg_format("The voice of %s booms out:", chaos_patrons[p_ptr->chaos_patron]);
-                       msg_print("'Thou art donst well, mortal!'");
-#endif
+                       msg_format(_("%sからの声が響いた。", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
+                       msg_print(_("『よくやった、定命の者よ!』", "'Thou art donst well, mortal!'"));
                }
 
                /* Congratulations */
-#ifdef JP
-               msg_print("*** おめでとう ***");
-#else
-               msg_print("*** CONGRATULATIONS ***");
-#endif
-
-#ifdef JP
-               msg_print("あなたはゲームをコンプリートしました。");
-#else
-               msg_print("You have won the game!");
-#endif
-
-#ifdef JP
-               msg_print("準備が整ったら引退(自殺コマンド)しても結構です。");
-#else
-               msg_print("You may retire (commit suicide) when you are ready.");
-#endif
+               msg_print(_("*** おめでとう ***", "*** CONGRATULATIONS ***"));
+               msg_print(_("あなたはゲームをコンプリートしました。", "You have won the game!"));
+               msg_print(_("準備が整ったら引退(自殺コマンド)しても結構です。", "You may retire (commit suicide) when you are ready."));
        }
 }
 
@@ -1706,11 +1631,7 @@ int mon_damage_mod(monster_type *m_ptr, int dam, bool is_psy_spear)
                {
                        if (!p_ptr->blind && is_seen(m_ptr))
                        {
-#ifdef JP
-                               msg_print("バリアを切り裂いた!");
-#else
-                               msg_print("The barrier is penetrated!");
-#endif
+                               msg_print(_("バリアを切り裂いた!", "The barrier is penetrated!"));
                        }
                }
                else if (!one_in_(PENETRATE_INVULNERABILITY))
@@ -1967,12 +1888,7 @@ bool mon_take_hit(int m_idx, int dam, bool *fear, cptr note)
                        bool stop_ty = FALSE;
                        int count = 0;
 
-#ifdef JP
-msg_format("%^sは恐ろしい血の呪いをあなたにかけた!", m_name);
-#else
-                       msg_format("%^s puts a terrible blood curse on you!", m_name);
-#endif
-
+                       msg_format(_("%^sは恐ろしい血の呪いをあなたにかけた!", "%^s puts a terrible blood curse on you!"), m_name);
                        curse_equipment(100, 50);
 
                        do
@@ -1987,11 +1903,7 @@ msg_format("%^sは恐ろしい血の呪いをあなたにかけた!", m_name);
                        char line_got[1024];
 
                        /* Dump a message */
-#ifdef JP
-                       if (!get_rnd_line("mondeath_j.txt", m_ptr->r_idx, line_got))
-#else
-                       if (!get_rnd_line("mondeath.txt", m_ptr->r_idx, line_got))
-#endif
+                       if (!get_rnd_line(_("mondeath_j.txt", "mondeath.txt"), m_ptr->r_idx, line_got))
 
                                msg_format("%^s %s", m_name, line_got);
 
@@ -2160,11 +2072,7 @@ msg_format("%sを殺した。", m_name);
 
                        /* Special note at death */
                        if (explode)
-#ifdef JP
-                               msg_format("%sは爆発して粉々になった。", m_name);
-#else
-                               msg_format("%^s explodes into tiny shreds.", m_name);
-#endif
+                               msg_format(_("%sは爆発して粉々になった。", "%^s explodes into tiny shreds."), m_name);
                        else
                        {
 #ifdef JP
@@ -2197,11 +2105,7 @@ msg_format("%sを葬り去った。", m_name);
                        {
                                if ((kubi_r_idx[i] == m_ptr->r_idx) && !(m_ptr->mflag2 & MFLAG2_CHAMELEON))
                                {
-#ifdef JP
-msg_format("%sの首には賞金がかかっている。", m_name);
-#else
-                                       msg_format("There is a price on %s's head.", m_name);
-#endif
+                                       msg_format(_("%sの首には賞金がかかっている。", "There is a price on %s's head."), m_name);
                                        break;
                                }
                        }
@@ -2225,11 +2129,7 @@ msg_format("%sの首には賞金がかかっている。", m_name);
 
                        if (summon_named_creature(0, dummy_y, dummy_x, MON_BIKETAL, mode))
                        {
-#ifdef JP
-                               msg_print("「ハァッハッハッハ!!私がバイケタルだ!!」");
-#else
-                               msg_print("Uwa-hahaha!  *I* am Biketal!");
-#endif
+                               msg_print(_("「ハァッハッハッハ!!私がバイケタルだ!!」", "Uwa-hahaha!  *I* am Biketal!"));
                        }
                }
                else
@@ -2297,11 +2197,7 @@ msg_format("%sの首には賞金がかかっている。", m_name);
                if (m_ptr->hp > m_ptr->maxhp/3) dam = (dam + 1) / 2;
                if (rakuba((dam > 200) ? 200 : dam, FALSE))
                {
-#ifdef JP
-msg_format("%^sに振り落とされた!", m_name);
-#else
-                               msg_format("%^s has thrown you off!", m_name);
-#endif
+               msg_format(_("%^sに振り落とされた!", "%^s has thrown you off!"), m_name);
                }
        }
 #endif
@@ -2697,27 +2593,15 @@ cptr look_mon_desc(monster_type *m_ptr, u32b mode)
        }
        else if (is_pet(m_ptr))
        {
-#ifdef JP
-               attitude = ", ペット";
-#else
-               attitude = ", pet";
-#endif
+               attitude = _(", ペット", ", pet");
        }
        else if (is_friendly(m_ptr))
        {
-#ifdef JP
-               attitude = ", 友好的";
-#else
-               attitude = ", friendly";
-#endif
+               attitude = _(", 友好的", ", friendly");
        }
        else
        {
-#ifdef JP
-               attitude = "";
-#else
-               attitude = "";
-#endif
+               attitude = _("", "");
        }
 
 
@@ -2734,19 +2618,11 @@ cptr look_mon_desc(monster_type *m_ptr, u32b mode)
        /* Display monster's level --- idea borrowed from ToME */
        if (ap_r_ptr->r_tkills && !(m_ptr->mflag2 & MFLAG2_KAGE))
        {
-#ifdef JP
-               return format("レベル%d, %s%s%s", ap_r_ptr->level, desc, attitude, clone);
-#else
-               return format("Level %d, %s%s%s", ap_r_ptr->level, desc, attitude, clone);
-#endif
+               return format(_("レベル%d, %s%s%s", "Level %d, %s%s%s"), ap_r_ptr->level, desc, attitude, clone);
        }
        else 
        {
-#ifdef JP
-               return format("レベル???, %s%s%s", desc, attitude, clone);
-#else
-               return format("Level ???, %s%s%s", desc, attitude, clone);
-#endif
+               return format(_("レベル???, %s%s%s", "Level ???, %s%s%s"), desc, attitude, clone);
        }
 }
 
@@ -3322,11 +3198,7 @@ static int target_set_aux(int y, int x, int mode, cptr info)
 
                if (floor_num)
                {
-#ifdef JP
-                       x_info = "x物 ";
-#else
-                       x_info = "x,";
-#endif
+                       x_info = _("x物 ", "x,");
                }
        }
 
@@ -3349,22 +3221,13 @@ static int target_set_aux(int y, int x, int mode, cptr info)
        }
        else
        {
-#ifdef JP
-               s1 = "ターゲット:";
-#else
-               s1 = "Target:";
-#endif
+               s1 = _("ターゲット:", "Target:");
        }
 
        /* Hack -- hallucination */
        if (p_ptr->image)
        {
-#ifdef JP
-               cptr name = "何か奇妙な物";
-#else
-               cptr name = "something strange";
-#endif
-
+               cptr name = _("何か奇妙な物", "something strange");
 
                /* Display a message */
 #ifdef JP
@@ -3423,11 +3286,7 @@ static int target_set_aux(int y, int x, int mode, cptr info)
                                screen_roff(m_ptr->ap_r_idx, 0);
 
                                /* Hack -- Complete the prompt (again) */
-#ifdef JP
-                               Term_addstr(-1, TERM_WHITE, format("  [r思 %s%s]", x_info, info));
-#else
-                               Term_addstr(-1, TERM_WHITE, format("  [r,%s%s]", x_info, info));
-#endif
+                               Term_addstr(-1, TERM_WHITE, format(_("  [r思 %s%s]", "  [r,%s%s]"), x_info, info));
 
                                /* Command */
                                query = inkey();
@@ -3478,26 +3337,11 @@ static int target_set_aux(int y, int x, int mode, cptr info)
                if ((query == ' ') && !(mode & (TARGET_LOOK))) return query;
 
                /* Change the intro */
-#ifdef JP
-               s1 = "それは";
-#else
-               s1 = "It is ";
-#endif
-
+               s1 = _("それは", "It is ");
 
                /* Hack -- take account of gender */
-#ifdef JP
-               if (ap_r_ptr->flags1 & (RF1_FEMALE)) s1 = "彼女は";
-#else
-               if (ap_r_ptr->flags1 & (RF1_FEMALE)) s1 = "She is ";
-#endif
-
-#ifdef JP
-               else if (ap_r_ptr->flags1 & (RF1_MALE)) s1 = "彼は";
-#else
-               else if (ap_r_ptr->flags1 & (RF1_MALE)) s1 = "He is ";
-#endif
-
+               if (ap_r_ptr->flags1 & (RF1_FEMALE)) s1 = _("彼女は", "She is ");
+               else if (ap_r_ptr->flags1 & (RF1_MALE)) s1 = _("彼は", "He is ");
 
                /* Use a preposition */
 #ifdef JP
@@ -3542,11 +3386,7 @@ static int target_set_aux(int y, int x, int mode, cptr info)
                        if ((query == ' ') && !(mode & (TARGET_LOOK))) return query;
 
                        /* Change the intro */
-#ifdef JP
-                       s2 = "をまた";
-#else
-                       s2 = "also carrying ";
-#endif
+                       s2 = _("をまた", "also carrying ");
                }
 
                /* Use a preposition */
@@ -3724,20 +3564,10 @@ static int target_set_aux(int y, int x, int mode, cptr info)
                        if ((query == ' ') && !(mode & TARGET_LOOK)) return query;
 
                        /* Change the intro */
-#ifdef JP
-                       s1 = "それは";
-#else
-                       s1 = "It is ";
-#endif
-
+                       s1 = _("それは", "It is ");
 
                        /* Plurals */
-#ifdef JP
-                       if (o_ptr->number != 1) s1 = "それらは";
-#else
-                       if (o_ptr->number != 1) s1 = "They are ";
-#endif
-
+                       if (o_ptr->number != 1) s1 = _("それらは", "They are ");
 
                        /* Preposition */
 #ifdef JP
@@ -3786,11 +3616,8 @@ static int target_set_aux(int y, int x, int mode, cptr info)
 
                        process_dungeon_file("q_info.txt", 0, 0, 0, 0);
 
-#ifdef JP
-                       name = format("クエスト「%s」(%d階相当)", quest[c_ptr->special].name, quest[c_ptr->special].level);
-#else
-                       name = format("the entrance to the quest '%s'(level %d)", quest[c_ptr->special].name, quest[c_ptr->special].level);
-#endif
+                       name = format(_("クエスト「%s」(%d階相当)", "the entrance to the quest '%s'(level %d)"), 
+                                               quest[c_ptr->special].name, quest[c_ptr->special].level);
 
                        /* Reset the old quest number */
                        p_ptr->inside_quest = old_quest;
@@ -3803,11 +3630,7 @@ static int target_set_aux(int y, int x, int mode, cptr info)
                }
                else if (have_flag(f_ptr->flags, FF_ENTRANCE))
                {
-#ifdef JP
-                       name = format("%s(%d階相当)", d_text + d_info[c_ptr->special].text, d_info[c_ptr->special].mindepth);
-#else
-                       name = format("%s(level %d)", d_text + d_info[c_ptr->special].text, d_info[c_ptr->special].mindepth);
-#endif
+                       name = format(_("%s(%d階相当)", "%s(level %d)"), d_text + d_info[c_ptr->special].text, d_info[c_ptr->special].mindepth);
                }
                else if (have_flag(f_ptr->flags, FF_TOWN))
                {
@@ -3815,11 +3638,7 @@ static int target_set_aux(int y, int x, int mode, cptr info)
                }
                else if (p_ptr->wild_mode && (feat == feat_floor))
                {
-#ifdef JP
-                       name = "道";
-#else
-                       name = "road";
-#endif
+                       name = _("道", "road");
                }
                else
                {
@@ -3833,11 +3652,7 @@ static int target_set_aux(int y, int x, int mode, cptr info)
                     (!have_flag(f_ptr->flags, FF_LOS) && !have_flag(f_ptr->flags, FF_TREE)) ||
                     have_flag(f_ptr->flags, FF_TOWN)))
                {
-#ifdef JP
-                       s2 = "の中";
-#else
-                       s2 = "in ";
-#endif
+                       s2 = _("の中", "in ");
                }
 
                /* Hack -- special introduction for store & building doors -KMW- */
@@ -3998,23 +3813,13 @@ bool target_set(int mode)
                        /* Allow target */
                        if (target_able(c_ptr->m_idx))
                        {
-#ifdef JP
-strcpy(info, "q止 t決 p自 o現 +次 -前");
-#else
-                               strcpy(info, "q,t,p,o,+,-,<dir>");
-#endif
-
+                               strcpy(info, _("q止 t決 p自 o現 +次 -前", "q,t,p,o,+,-,<dir>"));
                        }
 
                        /* Dis-allow target */
                        else
                        {
-#ifdef JP
-strcpy(info, "q止 p自 o現 +次 -前");
-#else
-                               strcpy(info, "q,p,o,+,-,<dir>");
-#endif
-
+                               strcpy(info, _("q止 p自 o現 +次 -前", "q,p,o,+,-,<dir>"));
                        }
                        
                        /* Describe and Prompt */
@@ -4243,12 +4048,7 @@ strcpy(info, "q止 p自 o現 +次 -前");
                        c_ptr = &cave[y][x];
 
                        /* Default prompt */
-#ifdef JP
-strcpy(info, "q止 t決 p自 m近 +次 -前");
-#else
-                       strcpy(info, "q,t,p,m,+,-,<dir>");
-#endif
-
+                       strcpy(info, _("q止 t決 p自 m近 +次 -前", "q,t,p,m,+,-,<dir>"));
 
                        /* Describe and Prompt (enable "TARGET_LOOK") */
                        while (!(query = target_set_aux(y, x, mode | TARGET_LOOK, info)));
@@ -4488,21 +4288,11 @@ bool get_aim_dir(int *dp)
                /* Choose a prompt */
                if (!target_okay())
                {
-#ifdef JP
-p = "方向 ('*'でターゲット選択, ESCで中断)? ";
-#else
-                       p = "Direction ('*' to choose a target, Escape to cancel)? ";
-#endif
-
+                       p = _("方向 ('*'でターゲット選択, ESCで中断)? ", "Direction ('*' to choose a target, Escape to cancel)? ");
                }
                else
                {
-#ifdef JP
-p = "方向 ('5'でターゲットへ, '*'でターゲット再選択, ESCで中断)? ";
-#else
-                       p = "Direction ('5' for target, '*' to re-target, Escape to cancel)? ";
-#endif
-
+                       p = _("方向 ('5'でターゲットへ, '*'でターゲット再選択, ESCで中断)? ", "Direction ('5' for target, '*' to re-target, Escape to cancel)? ");
                }
 
                /* Get a command (or Cancel) */
@@ -4574,12 +4364,7 @@ p = "方向 ('5'でターゲットへ, '*'でターゲット再選択, ESCで中
        if (command_dir != dir)
        {
                /* Warn the user */
-#ifdef JP
-msg_print("あなたは混乱している。");
-#else
-               msg_print("You are confused.");
-#endif
-
+               msg_print(_("あなたは混乱している。", "You are confused."));
        }
 
        /* Save direction */
@@ -4718,11 +4503,7 @@ bool get_rep_dir(int *dp, bool under)
                if (p_ptr->confused)
                {
                        /* Warn the user */
-#ifdef JP
-msg_print("あなたは混乱している。");
-#else
-                       msg_print("You are confused.");
-#endif
+                       msg_print(_("あなたは混乱している。", "You are confused."));
                }
                else
                {
@@ -4732,20 +4513,11 @@ msg_print("あなたは混乱している。");
                        monster_desc(m_name, m_ptr, 0);
                        if (MON_CONFUSED(m_ptr))
                        {
-#ifdef JP
-msg_format("%sは混乱している。", m_name);
-#else
- msg_format("%^s is confusing.", m_name);
-
-#endif
+                               msg_format(_("%sは混乱している。", "%^s is confusing."), m_name);
                        }
                        else
                        {
-#ifdef JP
-msg_format("%sは思い通りに動いてくれない。", m_name);
-#else
-msg_format("You cannot control %s.", m_name);
-#endif
+                               msg_format(_("%sは思い通りに動いてくれない。", "You cannot control %s."), m_name);
                        }
                }
        }
@@ -4791,12 +4563,7 @@ bool get_rep_dir2(int *dp)
                char ch;
 
                /* Get a command (or Cancel) */
-#ifdef JP
-if (!get_com("方向 (ESCで中断)? ", &ch, TRUE)) break;
-#else
-               if (!get_com("Direction (Escape to cancel)? ", &ch, TRUE)) break;
-#endif
-
+               if (!get_com(_("方向 (ESCで中断)? ", "Direction (Escape to cancel)? "), &ch, TRUE)) break;
 
                /* Look up the direction */
                dir = get_keymap_dir(ch);
@@ -4829,12 +4596,7 @@ if (!get_com("方向 (ESCで中断)? ", &ch, TRUE)) break;
        if (command_dir != dir)
        {
                /* Warn the user */
-#ifdef JP
-msg_print("あなたは混乱している。");
-#else
-               msg_print("You are confused.");
-#endif
-
+               msg_print(_("あなたは混乱している。", "You are confused."));
        }
 
        /* Save direction */
@@ -4907,11 +4669,7 @@ msg_format("%^sは褒美としてあなたを突然変異させた。",
 #endif
 
                (void)gain_random_mutation(0);
-#ifdef JP
-               reward = "変異した。";
-#else
-               reward = "mutation";
-#endif
+               reward = _("変異した。", "mutation");
        }
        else
        {
@@ -4926,18 +4684,10 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「汝、新たなる姿を必要とせり!」");
-#else
-                       msg_print("'Thou needst a new form, mortal!'");
-#endif
+                       msg_print(_("「汝、新たなる姿を必要とせり!」", "'Thou needst a new form, mortal!'"));
 
                        do_poly_self();
-#ifdef JP
-                       reward = "変異した。";
-#else
-                       reward = "polymorphing";
-#endif
+                       reward = _("変異した。", "polymorphing");
                        break;
                case REW_GAIN_EXP:
 #ifdef JP
@@ -4948,36 +4698,20 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「汝は良く行いたり!続けよ!」");
-#else
-                       msg_print("'Well done, mortal! Lead on!'");
-#endif
+                       msg_print(_("「汝は良く行いたり!続けよ!」", "'Well done, mortal! Lead on!'"));
 
                        if (p_ptr->prace == RACE_ANDROID)
                        {
-#ifdef JP
-                               msg_print("しかし何も起こらなかった。");
-#else
-                               msg_print("But, nothing happen.");
-#endif
+                               msg_print(_("しかし何も起こらなかった。", "But, nothing happen."));
                        }
                        else if (p_ptr->exp < PY_MAX_EXP)
                        {
                                s32b ee = (p_ptr->exp / 2) + 10;
                                if (ee > 100000L) ee = 100000L;
-#ifdef JP
-msg_print("更に経験を積んだような気がする。");
-#else
-                               msg_print("You feel more experienced.");
-#endif
+                               msg_print(_("更に経験を積んだような気がする。", "You feel more experienced."));
 
                                gain_exp(ee);
-#ifdef JP
-                               reward = "経験値を得た";
-#else
-                               reward = "experience";
-#endif
+                               reward = _("経験値を得た", "experience");
                        }
                        break;
                case REW_LOSE_EXP:
@@ -4989,28 +4723,16 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「下僕よ、汝それに値せず。」");
-#else
-                       msg_print("'Thou didst not deserve that, slave.'");
-#endif
+                       msg_print(_("「下僕よ、汝それに値せず。」", "'Thou didst not deserve that, slave.'"));
 
                        if (p_ptr->prace == RACE_ANDROID)
                        {
-#ifdef JP
-                               msg_print("しかし何も起こらなかった。");
-#else
-                               msg_print("But, nothing happen.");
-#endif
+                               msg_print(_("しかし何も起こらなかった。", "But, nothing happen."));
                        }
                        else
                        {
                                lose_exp(p_ptr->exp / 6);
-#ifdef JP
-                               reward = "経験値を失った。";
-#else
-                               reward = "losing experience";
-#endif
+                               reward = _("経験値を失った。", "losing experience");
                        }
                        break;
                case REW_GOOD_OBJ:
@@ -5022,18 +4744,10 @@ msg_format("%sの声がささやいた:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「我が与えし物を賢明に使うべし。」");
-#else
-                       msg_print("'Use my gift wisely.'");
-#endif
+                       msg_print(_("「我が与えし物を賢明に使うべし。」", "'Use my gift wisely.'"));
 
                        acquirement(py, px, 1, FALSE, FALSE, FALSE);
-#ifdef JP
-                       reward = "上質なアイテムを手に入れた。";
-#else
-                       reward = "a good item";
-#endif
+                       reward = _("上質なアイテムを手に入れた。", "a good item");
                        break;
                case REW_GREA_OBJ:
 #ifdef JP
@@ -5044,18 +4758,10 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「我が与えし物を賢明に使うべし。」");
-#else
-                       msg_print("'Use my gift wisely.'");
-#endif
+                       msg_print(_("「我が与えし物を賢明に使うべし。」", "'Use my gift wisely.'"));
 
                        acquirement(py, px, 1, TRUE, FALSE, FALSE);
-#ifdef JP
-                       reward = "高級品のアイテムを手に入れた。";
-#else
-                       reward = "an excellent item";
-#endif
+                       reward = _("高級品のアイテムを手に入れた。", "an excellent item");
                        break;
                case REW_CHAOS_WP:
 #ifdef JP
@@ -5066,11 +4772,7 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「汝の行いは貴き剣に値せり。」");
-#else
-                       msg_print("'Thy deed hath earned thee a worthy blade.'");
-#endif
+                       msg_print(_("「汝の行いは貴き剣に値せり。」", "'Thy deed hath earned thee a worthy blade.'"));
 
                        /* Get local object */
                        q_ptr = &forge;
@@ -5170,11 +4872,7 @@ msg_print("「汝の行いは貴き剣に値せり。」");
 
                        /* Drop it in the dungeon */
                        (void)drop_near(q_ptr, -1, py, px);
-#ifdef JP
-                       reward = "(混沌)の武器を手に入れた。";
-#else
-                       reward = "chaos weapon";
-#endif
+                       reward = _("(混沌)の武器を手に入れた。", "chaos weapon");
                        break;
                case REW_GOOD_OBS:
 #ifdef JP
@@ -5185,18 +4883,10 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「汝の行いは貴き報いに値せり。」");
-#else
-                       msg_print("'Thy deed hath earned thee a worthy reward.'");
-#endif
+                       msg_print(_("「汝の行いは貴き報いに値せり。」", "'Thy deed hath earned thee a worthy reward.'"));
 
                        acquirement(py, px, randint1(2) + 1, FALSE, FALSE, FALSE);
-#ifdef JP
-                       reward = "上質なアイテムを手に入れた。";
-#else
-                       reward = "good items";
-#endif
+                       reward = _("上質なアイテムを手に入れた。", "good items");
                        break;
                case REW_GREA_OBS:
 #ifdef JP
@@ -5207,18 +4897,10 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「下僕よ、汝の献身への我が惜しみ無き報いを見るがよい。」");
-#else
-                       msg_print("'Behold, mortal, how generously I reward thy loyalty.'");
-#endif
+                       msg_print(_("「下僕よ、汝の献身への我が惜しみ無き報いを見るがよい。」", "'Behold, mortal, how generously I reward thy loyalty.'"));
 
                        acquirement(py, px, randint1(2) + 1, TRUE, FALSE, FALSE);
-#ifdef JP
-                       reward = "高級品のアイテムを手に入れた。";
-#else
-                       reward = "excellent items";
-#endif
+                       reward = _("高級品のアイテムを手に入れた。", "excellent items");
                        break;
                case REW_TY_CURSE:
 #ifdef JP
@@ -5229,18 +4911,10 @@ msg_format("%sの声が轟き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「下僕よ、汝傲慢なり。」");
-#else
-                       msg_print("'Thou art growing arrogant, mortal.'");
-#endif
+                       msg_print(_("「下僕よ、汝傲慢なり。」", "'Thou art growing arrogant, mortal.'"));
 
                        (void)activate_ty_curse(FALSE, &count);
-#ifdef JP
-                       reward = "禍々しい呪いをかけられた。";
-#else
-                       reward = "cursing";
-#endif
+                       reward = _("禍々しい呪いをかけられた。", "cursing");
                        break;
                case REW_SUMMON_M:
 #ifdef JP
@@ -5251,21 +4925,13 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「我が下僕たちよ、かの傲慢なる者を倒すべし!」");
-#else
-                       msg_print("'My pets, destroy the arrogant mortal!'");
-#endif
+                       msg_print(_("「我が下僕たちよ、かの傲慢なる者を倒すべし!」", "'My pets, destroy the arrogant mortal!'"));
 
                        for (dummy = 0; dummy < randint1(5) + 1; dummy++)
                        {
                                (void)summon_specific(0, py, px, dun_level, 0, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE | PM_NO_PET));
                        }
-#ifdef JP
-                       reward = "モンスターを召喚された。";
-#else
-                       reward = "summoning hostile monsters";
-#endif
+                       reward = _("モンスターを召喚された。", "summoning hostile monsters");
                        break;
                case REW_H_SUMMON:
 #ifdef JP
@@ -5276,18 +4942,10 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「汝、より強き敵を必要とせり!」");
-#else
-                       msg_print("'Thou needst worthier opponents!'");
-#endif
+                       msg_print(_("「汝、より強き敵を必要とせり!」", "'Thou needst worthier opponents!'"));
 
                        activate_hi_summon(py, px, FALSE);
-#ifdef JP
-                       reward = "モンスターを召喚された。";
-#else
-                       reward = "summoning many hostile monsters";
-#endif
+                       reward = _("モンスターを召喚された。", "summoning many hostile monsters");
                        break;
                case REW_DO_HAVOC:
 #ifdef JP
@@ -5298,18 +4956,10 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「死と破壊こそ我が喜びなり!」");
-#else
-                       msg_print("'Death and destruction! This pleaseth me!'");
-#endif
+                       msg_print(_("「死と破壊こそ我が喜びなり!」", "'Death and destruction! This pleaseth me!'"));
 
                        call_chaos();
-#ifdef JP
-                       reward = "カオスの力が渦巻いた。";
-#else
-                       reward = "calling chaos";
-#endif
+                       reward = _("カオスの力が渦巻いた。", "calling chaos");
                        break;
                case REW_GAIN_ABL:
 #ifdef JP
@@ -5320,21 +4970,13 @@ msg_format("%sの声が鳴り響いた:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「留まるのだ、下僕よ。余が汝の肉体を鍛えん。」");
-#else
-                       msg_print("'Stay, mortal, and let me mold thee.'");
-#endif
+                       msg_print(_("「留まるのだ、下僕よ。余が汝の肉体を鍛えん。」", "'Stay, mortal, and let me mold thee.'"));
 
                        if (one_in_(3) && !(chaos_stats[p_ptr->chaos_patron] < 0))
                                do_inc_stat(chaos_stats[p_ptr->chaos_patron]);
                        else
                                do_inc_stat(randint0(6));
-#ifdef JP
-                       reward = "能力値が上がった。";
-#else
-                       reward = "increasing a stat";
-#endif
+                       reward = _("能力値が上がった。", "increasing a stat");
                        break;
                case REW_LOSE_ABL:
 #ifdef JP
@@ -5345,21 +4987,13 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「下僕よ、余は汝に飽みたり。」");
-#else
-                       msg_print("'I grow tired of thee, mortal.'");
-#endif
+                       msg_print(_("「下僕よ、余は汝に飽みたり。」", "'I grow tired of thee, mortal.'"));
 
                        if (one_in_(3) && !(chaos_stats[p_ptr->chaos_patron] < 0))
                                do_dec_stat(chaos_stats[p_ptr->chaos_patron]);
                        else
                                (void)do_dec_stat(randint0(6));
-#ifdef JP
-                       reward = "能力値が下がった。";
-#else
-                       reward = "decreasing a stat";
-#endif
+                       reward = _("能力値が下がった。", "decreasing a stat");
                        break;
                case REW_RUIN_ABL:
 #ifdef JP
@@ -5370,38 +5004,21 @@ msg_format("%sの声が轟き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「汝、謙虚たることを学ぶべし!」");
-msg_print("あなたは以前より弱くなった!");
-#else
-                       msg_print("'Thou needst a lesson in humility, mortal!'");
-                       msg_print("You feel less powerful!");
-#endif
+                       msg_print(_("「汝、謙虚たることを学ぶべし!」", "'Thou needst a lesson in humility, mortal!'"));
+                       msg_print(_("あなたは以前より弱くなった!", "You feel less powerful!"));
 
                        for (dummy = 0; dummy < 6; dummy++)
                        {
                                (void)dec_stat(dummy, 10 + randint1(15), TRUE);
                        }
-#ifdef JP
-                       reward = "全能力値が下がった。";
-#else
-                       reward = "decreasing all stats";
-#endif
+                       reward = _("全能力値が下がった。", "decreasing all stats");
                        break;
                case REW_POLY_WND:
-#ifdef JP
-msg_format("%sの力が触れるのを感じた。",
-#else
-                       msg_format("You feel the power of %s touch you.",
-#endif
+                       msg_format(_("%sの力が触れるのを感じた。", "You feel the power of %s touch you."),
 
                                chaos_patrons[p_ptr->chaos_patron]);
                        do_poly_wounds();
-#ifdef JP
-                       reward = "傷が変化した。";
-#else
-                       reward = "polymorphing wounds";
-#endif
+                       reward = _("傷が変化した。", "polymorphing wounds");
                        break;
                case REW_AUGM_ABL:
 #ifdef JP
@@ -5412,21 +5029,13 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「我がささやかなる賜物を受けとるがよい!」");
-#else
-                       msg_print("'Receive this modest gift from me!'");
-#endif
+                       msg_print(_("「我がささやかなる賜物を受けとるがよい!」", "'Receive this modest gift from me!'"));
 
                        for (dummy = 0; dummy < 6; dummy++)
                        {
                                (void)do_inc_stat(dummy);
                        }
-#ifdef JP
-                       reward = "全能力値が上がった。";
-#else
-                       reward = "increasing all stats";
-#endif
+                       reward = _("全能力値が上がった。", "increasing all stats");
                        break;
                case REW_HURT_LOT:
 #ifdef JP
@@ -5437,19 +5046,11 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「苦しむがよい、無能な愚か者よ!」");
-#else
-                       msg_print("'Suffer, pathetic fool!'");
-#endif
+                       msg_print(_("「苦しむがよい、無能な愚か者よ!」", "'Suffer, pathetic fool!'"));
 
                        fire_ball(GF_DISINTEGRATE, 0, p_ptr->lev * 4, 4);
                        take_hit(DAMAGE_NOESCAPE, p_ptr->lev * 4, wrath_reason, -1);
-#ifdef JP
-                       reward = "分解の球が発生した。";
-#else
-                       reward = "generating disintegration ball";
-#endif
+                       reward = _("分解の球が発生した。", "generating disintegration ball");
                        break;
           case REW_HEAL_FUL:
 #ifdef JP
@@ -5460,11 +5061,7 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「甦るがよい、我が下僕よ!」");
-#else
-                       msg_print("'Rise, my servant!'");
-#endif
+                       msg_print(_("「甦るがよい、我が下僕よ!」", "'Rise, my servant!'"));
 
                        restore_level();
                        (void)set_poisoned(0);
@@ -5478,11 +5075,7 @@ msg_print("「甦るがよい、我が下僕よ!」");
                        {
                                (void)do_res_stat(dummy);
                        }
-#ifdef JP
-                       reward = "体力が回復した。";
-#else
-                       reward = "healing";
-#endif
+                       reward = _("体力が回復した。", "healing");
                        break;
                case REW_CURSE_WP:
                        if (!buki_motteruka(INVEN_RARM) && !buki_motteruka(INVEN_LARM)) break;
@@ -5494,11 +5087,7 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「汝、武器に頼ることなかれ。」");
-#else
-                       msg_print("'Thou reliest too much on thy weapon.'");
-#endif
+                       msg_print(_("「汝、武器に頼ることなかれ。」", "'Thou reliest too much on thy weapon.'"));
 
                        dummy = INVEN_RARM;
                        if (buki_motteruka(INVEN_LARM))
@@ -5508,11 +5097,7 @@ msg_print("「汝、武器に頼ることなかれ。」");
                        }
                        object_desc(o_name, &inventory[dummy], OD_NAME_ONLY);
                        (void)curse_weapon(FALSE, dummy);
-#ifdef JP
-                       reward = format("%sが破壊された。", o_name);
-#else
-                       reward = format("destroying %s", o_name);
-#endif
+                       reward = format(_("%sが破壊された。", "destroying %s"), o_name);
                        break;
                case REW_CURSE_AR:
                        if (!inventory[INVEN_BODY].k_idx) break;
@@ -5524,19 +5109,11 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「汝、防具に頼ることなかれ。」");
-#else
-                       msg_print("'Thou reliest too much on thine equipment.'");
-#endif
+                       msg_print(_("「汝、防具に頼ることなかれ。」", "'Thou reliest too much on thine equipment.'"));
 
                        object_desc(o_name, &inventory[INVEN_BODY], OD_NAME_ONLY);
                        (void)curse_armor();
-#ifdef JP
-                       reward = format("%sが破壊された。", o_name);
-#else
-                       reward = format("destroying %s", o_name);
-#endif
+                       reward = format(_("%sが破壊された。", "destroying %s"), o_name);
                        break;
                case REW_PISS_OFF:
 #ifdef JP
@@ -5547,29 +5124,17 @@ msg_format("%sの声がささやいた:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「我を怒りしめた罪を償うべし。」");
-#else
-                       msg_print("'Now thou shalt pay for annoying me.'");
-#endif
+                       msg_print(_("「我を怒りしめた罪を償うべし。」", "'Now thou shalt pay for annoying me.'"));
 
                        switch (randint1(4))
                        {
                                case 1:
                                        (void)activate_ty_curse(FALSE, &count);
-#ifdef JP
-                                       reward = "禍々しい呪いをかけられた。";
-#else
-                                       reward = "cursing";
-#endif
+                                       reward = _("禍々しい呪いをかけられた。", "cursing");
                                        break;
                                case 2:
                                        activate_hi_summon(py, px, FALSE);
-#ifdef JP
-                                       reward = "モンスターを召喚された。";
-#else
-                                       reward = "summoning hostile monsters";
-#endif
+                                       reward = _("モンスターを召喚された。", "summoning hostile monsters");
                                        break;
                                case 3:
                                        if (one_in_(2))
@@ -5583,22 +5148,14 @@ msg_print("「我を怒りしめた罪を償うべし。」");
                                                }
                                                object_desc(o_name, &inventory[dummy], OD_NAME_ONLY);
                                                (void)curse_weapon(FALSE, dummy);
-#ifdef JP
-                                               reward = format("%sが破壊された。", o_name);
-#else
-                                               reward = format("destroying %s", o_name);
-#endif
+                                               reward = format(_("%sが破壊された。", "destroying %s"), o_name);
                                        }
                                        else
                                        {
                                                if (!inventory[INVEN_BODY].k_idx) break;
                                                object_desc(o_name, &inventory[INVEN_BODY], OD_NAME_ONLY);
                                                (void)curse_armor();
-#ifdef JP
-                                               reward = format("%sが破壊された。", o_name);
-#else
-                                               reward = format("destroying %s", o_name);
-#endif
+                                               reward = format(_("%sが破壊された。", "destroying %s"), o_name);
                                        }
                                        break;
                                default:
@@ -5606,27 +5163,15 @@ msg_print("「我を怒りしめた罪を償うべし。」");
                                        {
                                                (void)dec_stat(dummy, 10 + randint1(15), TRUE);
                                        }
-#ifdef JP
-                                       reward = "全能力値が下がった。";
-#else
-                                       reward = "decreasing all stats";
-#endif
+                                       reward = _("全能力値が下がった。", "decreasing all stats");
                                        break;
                        }
                        break;
                case REW_WRATH:
-#ifdef JP
-msg_format("%sの声が轟き渡った:",
-#else
-                       msg_format("The voice of %s thunders:",
-#endif
+                       msg_format(_("%sの声が轟き渡った:", "The voice of %s thunders:"),
 
                                chaos_patrons[p_ptr->chaos_patron]);
-#ifdef JP
-msg_print("「死ぬがよい、下僕よ!」");
-#else
-                       msg_print("'Die, mortal!'");
-#endif
+                       msg_print(_("「死ぬがよい、下僕よ!」", "'Die, mortal!'"));
 
                        take_hit(DAMAGE_LOSELIFE, p_ptr->lev * 4, wrath_reason, -1);
                        for (dummy = 0; dummy < 6; dummy++)
@@ -5659,18 +5204,10 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「死と破壊こそ我が喜びなり!」");
-#else
-                       msg_print("'Death and destruction! This pleaseth me!'");
-#endif
+                       msg_print(_("「死と破壊こそ我が喜びなり!」", "'Death and destruction! This pleaseth me!'"));
 
                        (void)destroy_area(py, px, 25, FALSE);
-#ifdef JP
-                       reward = "ダンジョンが*破壊*された。";
-#else
-                       reward = "*destruct*ing dungeon";
-#endif
+                       reward = _("ダンジョンが*破壊*された。", "*destruct*ing dungeon");
                        break;
                case REW_GENOCIDE:
 #ifdef JP
@@ -5681,18 +5218,10 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「我、汝の敵を抹殺せん!」");
-#else
-                       msg_print("'Let me relieve thee of thine oppressors!'");
-#endif
+                       msg_print(_("「我、汝の敵を抹殺せん!」", "'Let me relieve thee of thine oppressors!'"));
 
                        (void)symbol_genocide(0, FALSE);
-#ifdef JP
-                       reward = "モンスターが抹殺された。";
-#else
-                       reward = "genociding monsters";
-#endif
+                       reward = _("モンスターが抹殺された。", "genociding monsters");
                        break;
                case REW_MASS_GEN:
 #ifdef JP
@@ -5703,18 +5232,10 @@ msg_format("%sの声が響き渡った:",
                                chaos_patrons[p_ptr->chaos_patron]);
 #endif
 
-#ifdef JP
-msg_print("「我、汝の敵を抹殺せん!」");
-#else
-                       msg_print("'Let me relieve thee of thine oppressors!'");
-#endif
+                       msg_print(_("「我、汝の敵を抹殺せん!」", "'Let me relieve thee of thine oppressors!'"));
 
                        (void)mass_genocide(0, FALSE);
-#ifdef JP
-                       reward = "モンスターが抹殺された。";
-#else
-                       reward = "genociding nearby monsters";
-#endif
+                       reward = _("モンスターが抹殺された。", "genociding nearby monsters");
                        break;
                case REW_DISPEL_C:
 #ifdef JP
@@ -5738,91 +5259,43 @@ msg_format("%sはあなたを無視した。",
 
                        break;
                case REW_SER_DEMO:
-#ifdef JP
-msg_format("%sは褒美として悪魔の使いをよこした!",chaos_patrons[p_ptr->chaos_patron]);
-#else
-                       msg_format("%s rewards you with a demonic servant!",chaos_patrons[p_ptr->chaos_patron]);
-#endif
+                       msg_format(_("%sは褒美として悪魔の使いをよこした!", "%s rewards you with a demonic servant!"),chaos_patrons[p_ptr->chaos_patron]);
 
                        if (!summon_specific(-1, py, px, dun_level, SUMMON_DEMON, PM_FORCE_PET))
-#ifdef JP
-msg_print("何も現れなかった...");
-#else
-                               msg_print("Nobody ever turns up...");
-#endif
+                               msg_print(_("何も現れなかった...", "Nobody ever turns up..."));
                        else
-#ifdef JP
-                               reward = "悪魔がペットになった。";
-#else
-                               reward = "a demonic servant";
-#endif
+                               reward = _("悪魔がペットになった。", "a demonic servant");
 
                        break;
                case REW_SER_MONS:
-#ifdef JP
-msg_format("%sは褒美として使いをよこした!",chaos_patrons[p_ptr->chaos_patron]);
-#else
-                       msg_format("%s rewards you with a servant!",chaos_patrons[p_ptr->chaos_patron]);
-#endif
+                       msg_format(_("%sは褒美として使いをよこした!", "%s rewards you with a servant!"),chaos_patrons[p_ptr->chaos_patron]);
 
                        if (!summon_specific(-1, py, px, dun_level, 0, PM_FORCE_PET))
-#ifdef JP
-msg_print("何も現れなかった...");
-#else
-                               msg_print("Nobody ever turns up...");
-#endif
+                               msg_print(_("何も現れなかった...", "Nobody ever turns up..."));
                        else
-#ifdef JP
-                               reward = "モンスターがペットになった。";
-#else
-                               reward = "a servant";
-#endif
+                               reward = _("モンスターがペットになった。", "a servant");
 
                        break;
                case REW_SER_UNDE:
-#ifdef JP
-msg_format("%sは褒美としてアンデッドの使いをよこした。",chaos_patrons[p_ptr->chaos_patron]);
-#else
-                       msg_format("%s rewards you with an undead servant!",chaos_patrons[p_ptr->chaos_patron]);
-#endif
+                       msg_format(_("%sは褒美としてアンデッドの使いをよこした。", "%s rewards you with an undead servant!"),chaos_patrons[p_ptr->chaos_patron]);
 
                        if (!summon_specific(-1, py, px, dun_level, SUMMON_UNDEAD, PM_FORCE_PET))
-#ifdef JP
-msg_print("何も現れなかった...");
-#else
-                               msg_print("Nobody ever turns up...");
-#endif
+                               msg_print(_("何も現れなかった...", "Nobody ever turns up..."));
                        else
-#ifdef JP
-                               reward = "アンデッドがペットになった。";
-#else
-                               reward = "an undead servant";
-#endif
+                               reward = _("アンデッドがペットになった。", "an undead servant");
 
                        break;
                default:
-#ifdef JP
-msg_format("%sの声がどもった:",
-#else
-                       msg_format("The voice of %s stammers:",
-#endif
+                       msg_format(_("%sの声がどもった:", "The voice of %s stammers:"),
 
                                chaos_patrons[p_ptr->chaos_patron]);
-#ifdef JP
-msg_format("「あー、あー、答えは %d/%d。質問は何?」", type, effect);
-#else
-                       msg_format("'Uh... uh... the answer's %d/%d, what's the question?'", type, effect);
-#endif
+                       msg_format(_("「あー、あー、答えは %d/%d。質問は何?」", "'Uh... uh... the answer's %d/%d, what's the question?'"), type, effect);
 
        }
        }
        if (reward)
        {
-#ifdef JP
-               do_cmd_write_nikki(NIKKI_BUNSHOU, 0, format("パトロンの報酬で%s", reward));
-#else
-               do_cmd_write_nikki(NIKKI_BUNSHOU, 0, format("The patron rewards you with %s.", reward));
-#endif
+               do_cmd_write_nikki(NIKKI_BUNSHOU, 0, format(_("パトロンの報酬で%s", "The patron rewards you with %s."), reward));
        }
 }
 
@@ -5923,11 +5396,7 @@ bool tgt_pt(int *x_ptr, int *y_ptr)
                n = 0;
        }
 
-#ifdef JP
-       msg_print("場所を選んでスペースキーを押して下さい。");
-#else
-       msg_print("Select a point and press space.");
-#endif
+       msg_print(_("場所を選んでスペースキーを押して下さい。", "Select a point and press space."));
        msg_flag = FALSE; /* prevents "-more-" message. */
 
        while ((ch != ESCAPE) && !success)
@@ -6114,21 +5583,11 @@ bool get_hack_dir(int *dp)
                /* Choose a prompt */
                if (!target_okay())
                {
-#ifdef JP
-p = "方向 ('*'でターゲット選択, ESCで中断)? ";
-#else
-                       p = "Direction ('*' to choose a target, Escape to cancel)? ";
-#endif
-
+                       p = _("方向 ('*'でターゲット選択, ESCで中断)? ", "Direction ('*' to choose a target, Escape to cancel)? ");
                }
                else
                {
-#ifdef JP
-p = "方向 ('5'でターゲットへ, '*'でターゲット再選択, ESCで中断)? ";
-#else
-                       p = "Direction ('5' for target, '*' to re-target, Escape to cancel)? ";
-#endif
-
+                       p = _("方向 ('5'でターゲットへ, '*'でターゲット再選択, ESCで中断)? ", "Direction ('5' for target, '*' to re-target, Escape to cancel)? ");
                }
 
                /* Get a command (or Cancel) */
@@ -6196,12 +5655,7 @@ p = "方向 ('5'でターゲットへ, '*'でターゲット再選択, ESCで中
        if (command_dir != dir)
        {
                /* Warn the user */
-#ifdef JP
-msg_print("あなたは混乱している。");
-#else
-               msg_print("You are confused.");
-#endif
-
+               msg_print(_("あなたは混乱している。", "You are confused."));
        }
 
        /* Save direction */
@@ -6451,13 +5905,8 @@ void display_rumor(bool ex)
                if (randint0(3) == 0) section = 1;
        }
 
-#ifdef JP
-       err = get_rnd_line_jonly("rumors_j.txt", section, Rumor, 10);
-       if (err) strcpy(Rumor, "嘘の噂もある。");
-#else
-       err = get_rnd_line("rumors.txt", section, Rumor);
-       if (err) strcpy(Rumor, "Some rumors are wrong.");
-#endif
+       err = get_rnd_line_jonly(_("rumors_j.txt", "rumors.txt"), section, Rumor, 10);
+       if (err) strcpy(Rumor, _("嘘の噂もある。", "Some rumors are wrong."));
 
        err = TRUE;
 
@@ -6562,11 +6011,7 @@ void display_rumor(bool ex)
                        err = FALSE;
                }
        /* error */
-#ifdef JP
-               if (err) msg_print("この情報は間違っている。");
-#else
-               if (err) msg_print("This information is wrong.");
-#endif
+       if (err) msg_print(_("この情報は間違っている。", "This information is wrong."));
        }
                        else
        {