patch投げ用
Revision | b531429b1a7d858730932acf06635226563b20a8 (tree) |
---|---|
Time | 2016-03-16 03:42:06 |
Author | SHIRAKATA Kentaro <argrath@ub32...> |
Commiter | SHIRAKATA Kentaro |
add translation
@@ -90,7 +90,7 @@ struct obj *obj; | ||
90 | 90 | /*JP |
91 | 91 | You("take a picture of the %s.", |
92 | 92 | */ |
93 | - You("take a picture of the %s.", | |
93 | + You("%sの写真を撮った.", | |
94 | 94 | (u.dz > 0) ? surface(u.ux, u.uy) : ceiling(u.ux, u.uy)); |
95 | 95 | } else if (!u.dx && !u.dy) { |
96 | 96 | (void) zapyourself(obj, TRUE); |
@@ -267,7 +267,11 @@ int rx, ry, *resp; | ||
267 | 267 | } else if (Hallucination) { |
268 | 268 | if (!corpse) { |
269 | 269 | /* it's a statue */ |
270 | +/*JP | |
270 | 271 | Strcpy(buf, "You're both stoned"); |
272 | +*/ | |
273 | + Strcpy(buf, "石だ"); | |
274 | +#if 0 /*JP*//*代名詞処理は不要*/ | |
271 | 275 | } else if (corpse->quan == 1L && !more_corpses) { |
272 | 276 | int gndr = 2; /* neuter: "it" */ |
273 | 277 | struct monst *mtmp = get_mtraits(corpse, FALSE); |
@@ -290,14 +294,18 @@ int rx, ry, *resp; | ||
290 | 294 | } |
291 | 295 | Sprintf(buf, "%s's dead", genders[gndr].he); /* "he"/"she"/"it" */ |
292 | 296 | buf[0] = highc(buf[0]); |
297 | +#endif | |
293 | 298 | } else { /* plural */ |
299 | +/*JP | |
294 | 300 | Strcpy(buf, "They're dead"); |
301 | +*/ | |
302 | + Strcpy(buf, "死んでるぜ"); | |
295 | 303 | } |
296 | 304 | /* variations on "He's dead, Jim." (Star Trek's Dr McCoy) */ |
297 | 305 | /*JP |
298 | 306 | You_hear("a voice say, \"%s, Jim.\"", buf); |
299 | 307 | */ |
300 | - You_hear("「そいつは死んでるぜ,ジム」という声が聞こえた."); | |
308 | + You_hear("「そいつは%s,ジム」という声が聞こえた.", buf); | |
301 | 309 | *resp = 1; |
302 | 310 | return TRUE; |
303 | 311 |
@@ -328,6 +336,7 @@ int rx, ry, *resp; | ||
328 | 336 | } else { /* statue */ |
329 | 337 | const char *what, *how; |
330 | 338 | |
339 | +#if 0 /*JP*/ | |
331 | 340 | mptr = &mons[statue->corpsenm]; |
332 | 341 | if (Blind) { /* ignore statue->dknown; it'll always be set */ |
333 | 342 | Sprintf(buf, "%s %s", |
@@ -339,7 +348,17 @@ int rx, ry, *resp; | ||
339 | 348 | if (!type_is_pname(mptr)) |
340 | 349 | what = The(what); |
341 | 350 | } |
351 | +#else /*JP:日本語ではシンプルに*/ | |
352 | + if (Blind) { /* ignore statue->dknown; it'll always be set */ | |
353 | + what = (rx == u.ux && ry == u.uy) ? "これ" : "あれ"; | |
354 | + } else { | |
355 | + what = mons[statue->corpsenm].mname; | |
356 | + } | |
357 | +#endif | |
358 | +/*JP | |
342 | 359 | how = "fine"; |
360 | +*/ | |
361 | + how = "よい"; | |
343 | 362 | if (Role_if(PM_HEALER)) { |
344 | 363 | struct trap *ttmp = t_at(rx, ry); |
345 | 364 |
@@ -347,12 +366,12 @@ int rx, ry, *resp; | ||
347 | 366 | /*JP |
348 | 367 | how = "extraordinary"; |
349 | 368 | */ |
350 | - how = "健康的な"; | |
369 | + how = "並外れた"; | |
351 | 370 | else if (Has_contents(statue)) |
352 | 371 | /*JP |
353 | 372 | how = "remarkable"; |
354 | 373 | */ |
355 | - how = "躍動的な"; | |
374 | + how = "注目すべき"; | |
356 | 375 | } |
357 | 376 | |
358 | 377 | /*JP |
@@ -480,7 +499,10 @@ register struct obj *obj; | ||
480 | 499 | |
481 | 500 | if (mtmp->mundetected) { |
482 | 501 | if (!canspotmon(mtmp)) |
502 | +/*JP | |
483 | 503 | There("is %s hidden there.", mnm); |
504 | +*/ | |
505 | + pline("ここに%sが隠れている.", mnm); | |
484 | 506 | mtmp->mundetected = 0; |
485 | 507 | newsym(mtmp->mx, mtmp->my); |
486 | 508 | } else if (mtmp->mappearance) { |
@@ -498,9 +520,15 @@ register struct obj *obj; | ||
498 | 520 | break; |
499 | 521 | } |
500 | 522 | seemimic(mtmp); |
523 | +/*JP | |
501 | 524 | pline("That %s is really %s", what, mnm); |
525 | +*/ | |
526 | + pline("この%sは実際には%s.", what, mnm); | |
502 | 527 | } else if (flags.verbose && !canspotmon(mtmp)) { |
528 | +/*JP | |
503 | 529 | There("is %s there.", mnm); |
530 | +*/ | |
531 | + pline("ここには%sがいる.", mnm); | |
504 | 532 | } |
505 | 533 | mstatusline(mtmp); |
506 | 534 | if (!canspotmon(mtmp)) |
@@ -563,7 +591,7 @@ struct obj *obj; | ||
563 | 591 | /*JP |
564 | 592 | You("blow bubbles through %s.", yname(obj)); |
565 | 593 | */ |
566 | - You("%sを通して泡を出した.", yname(obj)); | |
594 | + You("%sを通して泡を出した.", xname(obj)); | |
567 | 595 | } else { |
568 | 596 | /*JP |
569 | 597 | You(whistle_str, obj->cursed ? "shrill" : "high"); |
@@ -1522,27 +1550,43 @@ struct obj **optr; | ||
1522 | 1550 | return; |
1523 | 1551 | } |
1524 | 1552 | |
1553 | + /*JP:最終的には「ろうそくを燭台に取りつけますか?」*/ | |
1525 | 1554 | /* first, minimal candelabrum suffix for formatting candles */ |
1555 | +/*JP | |
1526 | 1556 | Sprintf(qsfx, " to\033%s?", thesimpleoname(otmp)); |
1557 | +*/ | |
1558 | + Sprintf(qsfx, "を\033%sに取りつけますか?", thesimpleoname(otmp)); | |
1527 | 1559 | /* next, format the candles as a prefix for the candelabrum */ |
1528 | 1560 | /*JP |
1529 | 1561 | (void) safe_qbuf(qbuf, "Attach ", qsfx, obj, yname, thesimpleoname, s); |
1530 | 1562 | */ |
1531 | - (void) safe_qbuf(qbuf, "Attach ", qsfx, obj, yname, thesimpleoname, s); | |
1563 | + (void) safe_qbuf(qbuf, "", qsfx, obj, xname, thesimpleoname, s); | |
1564 | + /*JP:「(ろうそく)を\033燭台に取りつけますか?」*/ | |
1532 | 1565 | /* strip temporary candelabrum suffix */ |
1566 | +#if 0 /*JP*/ | |
1533 | 1567 | if ((q = strstri(qbuf, " to\033")) != 0) |
1534 | 1568 | Strcpy(q, " to "); |
1569 | +#else | |
1570 | + if ((q = strchr(qbuf, '\033')) != 0) | |
1571 | + *q = '\0'; | |
1572 | + /*JP:「(ろうそく)を」*/ | |
1573 | +#endif | |
1535 | 1574 | /* last, format final "attach candles to candelabrum?" query */ |
1575 | +/*JP | |
1536 | 1576 | if (yn(safe_qbuf(qbuf, qbuf, "?", otmp, yname, thesimpleoname, "it")) |
1577 | +*/ | |
1578 | + if (yn(safe_qbuf(qbuf, qbuf, "に取りつけますか?", otmp, xname, thesimpleoname, "それ")) | |
1537 | 1579 | == 'n') { |
1538 | 1580 | use_lamp(obj); |
1539 | 1581 | return; |
1540 | 1582 | } else { |
1541 | 1583 | if ((long) otmp->spe + obj->quan > 7L) { |
1542 | 1584 | obj = splitobj(obj, 7L - (long) otmp->spe); |
1585 | +#if 0 /*JP:日本語では不要*/ | |
1543 | 1586 | /* avoid a grammatical error if obj->quan gets |
1544 | 1587 | reduced to 1 candle from more than one */ |
1545 | 1588 | s = (obj->quan != 1) ? "candles" : "candle"; |
1589 | +#endif | |
1546 | 1590 | } else |
1547 | 1591 | *optr = 0; |
1548 | 1592 | #if 0 /*JP*/ |
@@ -1687,7 +1731,7 @@ struct obj *obj; | ||
1687 | 1731 | verbalize("That's in addition to the cost of %s %s, of course.", |
1688 | 1732 | yname(obj), obj->quan == 1L ? "itself" : "themselves"); |
1689 | 1733 | #else |
1690 | - verbalize("これはもちろん%sの値段とは別だよ.", Yname2(obj)); | |
1734 | + verbalize("これはもちろん%sの値段とは別だよ.", xname(obj)); | |
1691 | 1735 | #endif |
1692 | 1736 | bill_dummy_object(obj); |
1693 | 1737 | } |
@@ -1706,9 +1750,15 @@ struct obj *obj; | ||
1706 | 1750 | if (obj->lamplit) { |
1707 | 1751 | if (obj->otyp == OIL_LAMP || obj->otyp == MAGIC_LAMP |
1708 | 1752 | || obj->otyp == BRASS_LANTERN) |
1753 | +/*JP | |
1709 | 1754 | pline("%slamp is now off.", Shk_Your(buf, obj)); |
1755 | +*/ | |
1756 | + pline("%sランプの灯は消えた.", Shk_Your(buf, obj)); | |
1710 | 1757 | else |
1758 | +/*JP | |
1711 | 1759 | You("snuff out %s.", yname(obj)); |
1760 | +*/ | |
1761 | + You("%sを吹き消した.", xname(obj)); | |
1712 | 1762 | end_burn(obj, TRUE); |
1713 | 1763 | return; |
1714 | 1764 | } |
@@ -1760,7 +1810,7 @@ struct obj *obj; | ||
1760 | 1810 | otense(obj, "burn"), Blind ? "." : " brightly!"); |
1761 | 1811 | #else |
1762 | 1812 | pline("%sは%s燃えあがった!", |
1763 | - Yname2(obj), Blind ? "" : "明るく"); | |
1813 | + xname(obj), Blind ? "" : "明るく"); | |
1764 | 1814 | #endif |
1765 | 1815 | if (obj->unpaid && costly_spot(u.ux, u.uy) |
1766 | 1816 | && obj->age == 20L * (long) objects[obj->otyp].oc_cost) { |
@@ -2576,6 +2626,7 @@ long timeout; | ||
2576 | 2626 | struct obj *mshelter = level.objects[mtmp->mx][mtmp->my]; |
2577 | 2627 | Sprintf(monnambuf, "%s", an(m_monnam(mtmp))); |
2578 | 2628 | |
2629 | + /*JP:TODO:and_vanishは未処理*/ | |
2579 | 2630 | and_vanish[0] = '\0'; |
2580 | 2631 | if ((mtmp->minvis && !See_invisible) |
2581 | 2632 | || (mtmp->data->mlet == S_MIMIC |
@@ -2616,7 +2667,10 @@ long timeout; | ||
2616 | 2667 | case OBJ_FLOOR: |
2617 | 2668 | if (cansee_spot && !silent) { |
2618 | 2669 | if (suppress_see) |
2670 | +/*JP | |
2619 | 2671 | pline("%s suddenly vanishes!", an(xname(figurine))); |
2672 | +*/ | |
2673 | + pline("%sは突然消えた!", xname(figurine)); | |
2620 | 2674 | else |
2621 | 2675 | #if 0 /*JP*/ |
2622 | 2676 | You_see("a figurine transform into %s%s!", monnambuf, |
@@ -2823,7 +2877,7 @@ struct obj *obj; | ||
2823 | 2877 | /*JP |
2824 | 2878 | You("cover %s with a thick layer of grease.", yname(otmp)); |
2825 | 2879 | */ |
2826 | - You("%sに脂を丹念に塗った.", yname(otmp)); | |
2880 | + You("%sに脂を丹念に塗った.", xname(otmp)); | |
2827 | 2881 | otmp->greased = 1; |
2828 | 2882 | if (obj->cursed && !nohands(youmonst.data)) { |
2829 | 2883 | incr_itimeout(&Glib, rnd(15)); |
@@ -3302,7 +3356,10 @@ struct obj *obj; | ||
3302 | 3356 | rx = u.ux + u.dx; |
3303 | 3357 | ry = u.uy + u.dy; |
3304 | 3358 | if (!isok(rx, ry)) { |
3359 | +/*JP | |
3305 | 3360 | You("miss."); |
3361 | +*/ | |
3362 | + You("はずした."); | |
3306 | 3363 | return res; |
3307 | 3364 | } |
3308 | 3365 | mtmp = m_at(rx, ry); |
@@ -3490,7 +3547,7 @@ struct obj *obj; | ||
3490 | 3547 | /*JP |
3491 | 3548 | You("wrap your bullwhip around %s.", yname(otmp)); |
3492 | 3549 | */ |
3493 | - You("鞭を%sにからませた.", yname(otmp)); | |
3550 | + You("鞭を%sにからませた.", xname(otmp)); | |
3494 | 3551 | if (gotit && mwelded(otmp)) { |
3495 | 3552 | #if 0 /*JP*/ |
3496 | 3553 | pline("%s welded to %s %s%c", |
@@ -3516,7 +3573,7 @@ struct obj *obj; | ||
3516 | 3573 | /*JP |
3517 | 3574 | You("yank %s to the %s!", yname(otmp), |
3518 | 3575 | */ |
3519 | - You("%sを%sに引き落した!", yname(otmp), | |
3576 | + You("%sを%sに引き落した!", xname(otmp), | |
3520 | 3577 | surface(u.ux, u.uy)); |
3521 | 3578 | place_object(otmp, u.ux, u.uy); |
3522 | 3579 | stackobj(otmp); |
@@ -3549,7 +3606,7 @@ struct obj *obj; | ||
3549 | 3606 | /*JP |
3550 | 3607 | You("snatch %s!", yname(otmp)); |
3551 | 3608 | */ |
3552 | - You("%sを奪った!", yname(otmp)); | |
3609 | + You("%sを奪った!", xname(otmp)); | |
3553 | 3610 | if (otmp->otyp == CORPSE |
3554 | 3611 | && touch_petrifies(&mons[otmp->corpsenm]) && !uarmg |
3555 | 3612 | && !Stone_resistance |
@@ -4090,7 +4147,7 @@ struct obj *obj; | ||
4090 | 4147 | /*JP |
4091 | 4148 | boolean is_fragile = (!strcmp(OBJ_DESCR(objects[obj->otyp]), "balsa")); |
4092 | 4149 | */ |
4093 | - boolean is_fragile = (!strcmp(OBJ_DESCR(objects[obj->otyp]), "バルサ")); | |
4150 | + boolean is_fragile = (!strcmp(OBJ_DESCR(objects[obj->otyp]), "バルサの杖")); | |
4094 | 4151 | |
4095 | 4152 | #if 0 /*JP*/ |
4096 | 4153 | if (!paranoid_query(ParanoidBreakwand, |
@@ -4101,7 +4158,7 @@ struct obj *obj; | ||
4101 | 4158 | if (!paranoid_query(ParanoidBreakwand, |
4102 | 4159 | safe_qbuf(confirm, |
4103 | 4160 | "本当に", "を壊すの?", |
4104 | - obj, yname, ysimple_name, "杖"))) | |
4161 | + obj, xname, ysimple_name, "杖"))) | |
4105 | 4162 | #endif |
4106 | 4163 | return 0; |
4107 | 4164 |
@@ -4109,19 +4166,19 @@ struct obj *obj; | ||
4109 | 4166 | /*JP |
4110 | 4167 | You_cant("break %s without hands!", yname(obj)); |
4111 | 4168 | */ |
4112 | - You("手が無いので%sを壊せない!", yname(obj)); | |
4169 | + You("手が無いので%sを壊せない!", xname(obj)); | |
4113 | 4170 | return 0; |
4114 | 4171 | } else if (ACURR(A_STR) < (is_fragile ? 5 : 10)) { |
4115 | 4172 | /*JP |
4116 | 4173 | You("don't have the strength to break %s!", yname(obj)); |
4117 | 4174 | */ |
4118 | - You("%sを壊すだけの力がない!", yname(obj)); | |
4175 | + You("%sを壊すだけの力がない!", xname(obj)); | |
4119 | 4176 | return 0; |
4120 | 4177 | } |
4121 | 4178 | /*JP |
4122 | 4179 | pline("Raising %s high above your %s, you break it in two!", yname(obj), |
4123 | 4180 | */ |
4124 | - pline("%sを%sの上に高く掲げ,二つにへし折った!", yname(obj), | |
4181 | + You("%sを%sの上に高く掲げ,二つにへし折った!", xname(obj), | |
4125 | 4182 | body_part(HEAD)); |
4126 | 4183 | |
4127 | 4184 | /* [ALI] Do this first so that wand is removed from bill. Otherwise, |
@@ -1146,9 +1146,11 @@ char *hittee; /* target's name: "you" or mon_nam(mdef) */ | ||
1146 | 1146 | mdef->mconf = 1; |
1147 | 1147 | } |
1148 | 1148 | |
1149 | +#if 0 /*JP*//*日本語では不要*/ | |
1149 | 1150 | /* now give message(s) describing side-effects; |
1150 | 1151 | don't let vtense() be fooled by assigned name ending in 's' */ |
1151 | 1152 | fakename = youdefend ? "you" : "mon"; |
1153 | +#endif | |
1152 | 1154 | if (youattack || youdefend || vis) { |
1153 | 1155 | (void) upstart(hittee); /* capitalize */ |
1154 | 1156 | if (resisted) { |
@@ -1351,8 +1353,13 @@ int dieroll; /* needed for Magicbane and vorpal blades */ | ||
1351 | 1353 | */ |
1352 | 1354 | You("%sに深く斬りつけた!",mon_nam(mdef)); |
1353 | 1355 | else if (vis) |
1356 | +#if 0 /*JP*/ | |
1354 | 1357 | pline("%s cuts deeply into %s!", Monnam(magr), |
1355 | 1358 | hittee); |
1359 | +#else | |
1360 | + pline("%sは%sに深く斬りつけた!", Monnam(magr), | |
1361 | + hittee); | |
1362 | +#endif | |
1356 | 1363 | *dmgptr *= 2; |
1357 | 1364 | return TRUE; |
1358 | 1365 | } |
@@ -2072,19 +2079,37 @@ int orc_count; /* new count (warn_obj_cnt is old count); -1 is a flag value */ | ||
2072 | 2079 | if (orc_count == -1 && warn_obj_cnt > 0) { |
2073 | 2080 | /* -1 means that blindness has just been toggled; give a |
2074 | 2081 | 'continue' message that eventual 'stop' message will match */ |
2082 | +#if 0 /*JP*/ | |
2075 | 2083 | pline("%s is %s.", bare_artifactname(uwep), |
2076 | 2084 | !Blind ? "glowing" : "quivering"); |
2085 | +#else | |
2086 | + pline("%sは%sている.", bare_artifactname(uwep), | |
2087 | + !Blind ? "輝い" : "震え"); | |
2088 | +#endif | |
2077 | 2089 | } else if (orc_count > 0 && warn_obj_cnt == 0) { |
2078 | 2090 | /* 'start' message */ |
2079 | 2091 | if (!Blind) |
2092 | +#if 0 /*JP*/ | |
2080 | 2093 | pline("%s %s %s!", bare_artifactname(uwep), |
2081 | 2094 | otense(uwep, "glow"), glow_color(uwep->oartifact)); |
2095 | +#else | |
2096 | + pline("%sは%s輝いた!", bare_artifactname(uwep), | |
2097 | + glow_color(uwep->oartifact)); | |
2098 | +#endif | |
2082 | 2099 | else |
2100 | +/*JP | |
2083 | 2101 | pline("%s quivers slightly.", bare_artifactname(uwep)); |
2102 | +*/ | |
2103 | + pline("%sは少し震えた.", bare_artifactname(uwep)); | |
2084 | 2104 | } else if (orc_count == 0 && warn_obj_cnt > 0) { |
2085 | 2105 | /* 'stop' message */ |
2106 | +#if 0 /*JP*/ | |
2086 | 2107 | pline("%s stops %s.", bare_artifactname(uwep), |
2087 | 2108 | !Blind ? "glowing" : "quivering"); |
2109 | +#else | |
2110 | + pline("%sの%sは止まった.", bare_artifactname(uwep), | |
2111 | + !Blind ? "輝き" : "震え"); | |
2112 | +#endif | |
2088 | 2113 | } |
2089 | 2114 | } |
2090 | 2115 | } |
@@ -2112,8 +2137,13 @@ boolean loseit; /* whether to drop it if hero can longer touch it */ | ||
2112 | 2137 | |
2113 | 2138 | /* hero can't handle this object, but didn't get touch_artifact()'s |
2114 | 2139 | "<obj> evades your grasp|control" message; give an alternate one */ |
2140 | +#if 0 /*JP*/ | |
2115 | 2141 | You_cant("handle %s%s!", yname(obj), |
2116 | 2142 | obj->owornmask ? " anymore" : ""); |
2143 | +#else | |
2144 | + You_cant("%s%sを扱えない!", obj->owornmask ? "もう" : "", | |
2145 | + xname(obj)); | |
2146 | +#endif | |
2117 | 2147 | /* also inflict damage unless touch_artifact() already did so */ |
2118 | 2148 | if (!touch_blasted) { |
2119 | 2149 | /* damage is somewhat arbitrary; half the usual 1d20 physical |
@@ -2122,7 +2152,10 @@ boolean loseit; /* whether to drop it if hero can longer touch it */ | ||
2122 | 2152 | tmp = rnd(10), dmg += Maybe_Half_Phys(tmp); |
2123 | 2153 | if (bane) |
2124 | 2154 | dmg += rnd(10); |
2155 | +/*JP | |
2125 | 2156 | Sprintf(buf, "handling %s", killer_xname(obj)); |
2157 | +*/ | |
2158 | + Sprintf(buf, "%sを扱って", killer_xname(obj)); | |
2126 | 2159 | losehp(dmg, buf, KILLED_BY); |
2127 | 2160 | exercise(A_CON, FALSE); |
2128 | 2161 | } |
@@ -2150,8 +2183,13 @@ boolean loseit; /* whether to drop it if hero can longer touch it */ | ||
2150 | 2183 | } else { |
2151 | 2184 | /* dropx gives a message iff item lands on an altar */ |
2152 | 2185 | if (!IS_ALTAR(levl[u.ux][u.uy].typ)) |
2186 | +#if 0 /*JP*/ | |
2153 | 2187 | pline("%s to the %s.", Tobjnam(obj, "fall"), |
2154 | 2188 | surface(u.ux, u.uy)); |
2189 | +#else | |
2190 | + pline("%sは%sに落ちた.", xname(obj), | |
2191 | + surface(u.ux, u.uy)); | |
2192 | +#endif | |
2155 | 2193 | dropx(obj); |
2156 | 2194 | } |
2157 | 2195 | *objp = obj = 0; /* no longer in inventory */ |
@@ -2260,7 +2298,10 @@ int dropflag; /* 0==don't drop, 1==drop all, 2==drop weapon */ | ||
2260 | 2298 | if (had_rings != (!!uleft + !!uright) && uarmg && uarmg->cursed) |
2261 | 2299 | uncurse(uarmg); /* temporary? hack for ring removal plausibility */ |
2262 | 2300 | if (had_gloves && !uarmg) |
2301 | +/*JP | |
2263 | 2302 | selftouch("After losing your gloves, you"); |
2303 | +*/ | |
2304 | + selftouch("小手を失ったあと,あなたは"); | |
2264 | 2305 | |
2265 | 2306 | if (!--nesting) |
2266 | 2307 | clear_bypasses(); /* reset upon final exit */ |
@@ -302,12 +302,36 @@ static const struct poison_effect_message { | ||
302 | 302 | void VDECL((*delivery_func), (const char *, ...)); |
303 | 303 | const char *effect_msg; |
304 | 304 | } poiseff[] = { |
305 | +#if 0 /*JP*/ | |
305 | 306 | { You_feel, "weaker" }, /* A_STR */ |
307 | +#else | |
308 | + { You_feel, "弱くなった" }, /* A_STR */ | |
309 | +#endif | |
310 | +#if 0 /*JP*/ | |
306 | 311 | { Your, "brain is on fire" }, /* A_INT */ |
312 | +#else | |
313 | + { You, "頭に血がのぼった" }, /* A_INT */ | |
314 | +#endif | |
315 | +#if 0 /*JP*/ | |
307 | 316 | { Your, "judgement is impaired" }, /* A_WIS */ |
317 | +#else | |
318 | + { You, "判断力を失った" }, /* A_WIS */ | |
319 | +#endif | |
320 | +#if 0 /*JP*/ | |
308 | 321 | { Your, "muscles won't obey you" }, /* A_DEX */ |
322 | +#else | |
323 | + { You, "思うように動けない" }, /* A_DEX */ | |
324 | +#endif | |
325 | +#if 0 /*JP*/ | |
309 | 326 | { You_feel, "very sick" }, /* A_CON */ |
327 | +#else | |
328 | + { You_feel, "とても気分が悪くなった" }, /* A_CON */ | |
329 | +#endif | |
330 | +#if 0 /*JP*/ | |
310 | 331 | { You, "break out in hives" } /* A_CHA */ |
332 | +#else | |
333 | + { You, "じんましんがあらわれた" } /* A_CHA */ | |
334 | +#endif | |
311 | 335 | }; |
312 | 336 | |
313 | 337 | /* feedback for attribute loss due to poisoning */ |
@@ -318,7 +342,10 @@ boolean exclaim; /* emphasis */ | ||
318 | 342 | { |
319 | 343 | void VDECL((*func), (const char *, ...)) = poiseff[typ].delivery_func; |
320 | 344 | |
345 | +/*JP | |
321 | 346 | (*func)("%s%c", poiseff[typ].effect_msg, exclaim ? '!' : '.'); |
347 | +*/ | |
348 | + (*func)("%s%s", poiseff[typ].effect_msg, exclaim ? "!" : "."); | |
322 | 349 | } |
323 | 350 | |
324 | 351 | /* called when an attack or trap has poisoned the hero (used to be in mon.c) |
@@ -1066,13 +1093,20 @@ int oldlevel, newlevel; | ||
1066 | 1093 | *(abil->ability) |= mask; |
1067 | 1094 | if (!(*(abil->ability) & INTRINSIC & ~mask)) { |
1068 | 1095 | if (*(abil->gainstr)) |
1096 | +/*JP | |
1069 | 1097 | You_feel("%s!", abil->gainstr); |
1098 | +*/ | |
1099 | + You("%sような気がした!", abil->gainstr); | |
1070 | 1100 | } |
1071 | 1101 | } else if (oldlevel >= abil->ulevel && newlevel < abil->ulevel) { |
1072 | 1102 | *(abil->ability) &= ~mask; |
1073 | 1103 | if (!(*(abil->ability) & INTRINSIC)) { |
1074 | 1104 | if (*(abil->losestr)) |
1105 | +/*JP | |
1075 | 1106 | You_feel("%s!", abil->losestr); |
1107 | +*/ | |
1108 | + You("%sような気がした!", abil->losestr); | |
1109 | +/*JP:この条件は満さないはず.*/ | |
1076 | 1110 | else if (*(abil->gainstr)) |
1077 | 1111 | You_feel("less %s!", abil->gainstr); |
1078 | 1112 | } |
@@ -1256,17 +1290,31 @@ int reason; /* 0==conversion, 1==helm-of-OA on, 2==helm-of-OA off */ | ||
1256 | 1290 | /* worn helm of opposite alignment might block change */ |
1257 | 1291 | if (!uarmh || uarmh->otyp != HELM_OF_OPPOSITE_ALIGNMENT) |
1258 | 1292 | u.ualign.type = u.ualignbase[A_CURRENT]; |
1293 | +#if 0 /*JP*/ | |
1259 | 1294 | You("have a %ssense of a new direction.", |
1260 | 1295 | (u.ualign.type != oldalign) ? "sudden " : ""); |
1296 | +#else | |
1297 | + You("%s別の方向性にめざめた.", | |
1298 | + (u.ualign.type != oldalign) ? "突然" : ""); | |
1299 | +#endif | |
1261 | 1300 | } else { |
1262 | 1301 | /* putting on or taking off a helm of opposite alignment */ |
1263 | 1302 | u.ualign.type = (aligntyp) newalign; |
1264 | 1303 | if (reason == 1) |
1304 | +/*JP | |
1265 | 1305 | Your("mind oscillates %s.", Hallucination ? "wildly" : "briefly"); |
1306 | +*/ | |
1307 | + You("%s寝返った.", Hallucination ? "荒っぽく" : "あっさりと"); | |
1266 | 1308 | else if (reason == 2) |
1309 | +#if 0 /*JP*/ | |
1267 | 1310 | Your("mind is %s.", Hallucination |
1268 | 1311 | ? "much of a muchness" |
1269 | 1312 | : "back in sync with your body"); |
1313 | +#else | |
1314 | + Your("心は%s.", Hallucination | |
1315 | + ? "似たり寄ったりになった" | |
1316 | + : "再び体と一致するようになった"); | |
1317 | +#endif | |
1270 | 1318 | } |
1271 | 1319 | |
1272 | 1320 | if (u.ualign.type != oldalign) { |
@@ -2,6 +2,11 @@ | ||
2 | 2 | /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ |
3 | 3 | /* NetHack may be freely redistributed. See license for details. */ |
4 | 4 | |
5 | +/* JNetHack Copyright */ | |
6 | +/* (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-2000 */ | |
7 | +/* For 3.4-, Copyright (c) SHIRAKATA Kentaro, 2002-2016 */ | |
8 | +/* JNetHack may be freely redistributed. See license for details. */ | |
9 | + | |
5 | 10 | /* Ball & Chain |
6 | 11 | * =============================================================*/ |
7 | 12 |
@@ -57,7 +62,7 @@ ballfall() | ||
57 | 62 | /*JP |
58 | 63 | pline("%s does not protect you.", Yname2(uarmh)); |
59 | 64 | */ |
60 | - Your("%sでは守れない.", Yname2(uarmh)); | |
65 | + Your("%sでは守れない.", xname(uarmh)); | |
61 | 66 | } |
62 | 67 | #if 0 /*JP*/ |
63 | 68 | losehp(Maybe_Half_Phys(dmg), "crunched in the head by an iron ball", |
@@ -2,6 +2,11 @@ | ||
2 | 2 | /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985,1993. */ |
3 | 3 | /* NetHack may be freely redistributed. See license for details. */ |
4 | 4 | |
5 | +/* JNetHack Copyright */ | |
6 | +/* (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-2000 */ | |
7 | +/* For 3.4-, Copyright (c) SHIRAKATA Kentaro, 2002-2016 */ | |
8 | +/* JNetHack may be freely redistributed. See license for details. */ | |
9 | + | |
5 | 10 | #include "hack.h" |
6 | 11 | #include "lev.h" |
7 | 12 |
@@ -2,6 +2,11 @@ | ||
2 | 2 | /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ |
3 | 3 | /* NetHack may be freely redistributed. See license for details. */ |
4 | 4 | |
5 | +/* JNetHack Copyright */ | |
6 | +/* (c) Issei Numata, Naoki Hamada, Shigehiro Miyashita, 1994-2000 */ | |
7 | +/* For 3.4-, Copyright (c) SHIRAKATA Kentaro, 2002-2016 */ | |
8 | +/* JNetHack may be freely redistributed. See license for details. */ | |
9 | + | |
5 | 10 | #include "hack.h" |
6 | 11 | #include <limits.h> |
7 | 12 |
@@ -257,7 +262,10 @@ boolean female; | ||
257 | 262 | return role->name.f; |
258 | 263 | else if (role->name.m) |
259 | 264 | return role->name.m; |
265 | +/*JP | |
260 | 266 | return "Player"; |
267 | +*/ | |
268 | + return "プレイヤー"; | |
261 | 269 | } |
262 | 270 | |
263 | 271 | STATIC_OVL const char * |
@@ -326,7 +326,10 @@ doextcmd(VOID_ARGS) | ||
326 | 326 | |
327 | 327 | func = extcmdlist[idx].ef_funct; |
328 | 328 | if (iflags.menu_requested && !accept_menu_prefix(func)) { |
329 | +/*JP | |
329 | 330 | pline("'m' prefix has no effect for this command."); |
331 | +*/ | |
332 | + pline("'m'接頭辞はこのコマンドには無効."); | |
330 | 333 | iflags.menu_requested = FALSE; |
331 | 334 | } |
332 | 335 | retval = (*func)(); |
@@ -1980,7 +1983,7 @@ int final; | ||
1980 | 1983 | : surface(u.ux, u.uy)); /* catchall; shouldn't happen */ |
1981 | 1984 | you_are(buf, from_what(WWALKING)); |
1982 | 1985 | #else |
1983 | - Sprintf(buf, "%の上を歩いて", | |
1986 | + Sprintf(buf, "%sの上を歩いて", | |
1984 | 1987 | is_pool(u.ux, u.uy) ? "水" |
1985 | 1988 | : is_lava(u.ux, u.uy) ? "溶岩" |
1986 | 1989 | : surface(u.ux, u.uy)); /* catchall; shouldn't happen */ |
@@ -379,10 +379,16 @@ register struct obj *sobj; | ||
379 | 379 | return !stale; |
380 | 380 | } else if (!ct) { |
381 | 381 | known = TRUE; |
382 | +/*JP | |
382 | 383 | You("%s %s nearby.", sobj ? "smell" : "sense", what); |
384 | +*/ | |
385 | + You("近くで%s%s.", what, sobj ? "のにおいをかいだ" : "を感知した"); | |
383 | 386 | if (sobj && sobj->blessed) { |
384 | 387 | if (!u.uedibility) |
388 | +/*JP | |
385 | 389 | pline("Your %s starts to tingle.", body_part(NOSE)); |
390 | +*/ | |
391 | + pline("あなたの%sがうずうずしだした.", body_part(NOSE)); | |
386 | 392 | u.uedibility = 1; |
387 | 393 | } |
388 | 394 | } else { |
@@ -686,7 +692,7 @@ int mclass; /* monster class, 0 for all */ | ||
686 | 692 | /*JP |
687 | 693 | : "You feel threatened."); |
688 | 694 | */ |
689 | - : "あなたは恐怖でぞくぞくした."); | |
695 | + : "あなたは恐怖でぞくっとした."); | |
690 | 696 | return 1; |
691 | 697 | } else { |
692 | 698 | boolean woken = FALSE; |
@@ -1587,7 +1593,10 @@ register int aflag; /* intrinsic autosearch vs explicit searching */ | ||
1587 | 1593 | exercise(A_WIS, TRUE); |
1588 | 1594 | nomul(0); |
1589 | 1595 | feel_location(x, y); /* make sure it shows up */ |
1596 | +/*JP | |
1590 | 1597 | You("find a hidden door."); |
1598 | +*/ | |
1599 | + You("隠された扉を見つけた."); | |
1591 | 1600 | } else if (levl[x][y].typ == SCORR) { |
1592 | 1601 | if (rnl(7 - fund)) |
1593 | 1602 | continue; |
@@ -1596,7 +1605,10 @@ register int aflag; /* intrinsic autosearch vs explicit searching */ | ||
1596 | 1605 | exercise(A_WIS, TRUE); |
1597 | 1606 | nomul(0); |
1598 | 1607 | feel_location(x, y); /* make sure it shows up */ |
1608 | +/*JP | |
1599 | 1609 | You("find a hidden passage."); |
1610 | +*/ | |
1611 | + You("隠された通路を見つけた."); | |
1600 | 1612 | } else { |
1601 | 1613 | /* Be careful not to find anything in an SCORR or SDOOR */ |
1602 | 1614 | if ((mtmp = m_at(x, y)) != 0 && !aflag) { |
@@ -1708,7 +1720,10 @@ int full; /* wizard|explore modes allow player to request full map */ | ||
1708 | 1720 | int which_subset; /* when not full, whether to suppress objs and/or traps */ |
1709 | 1721 | { |
1710 | 1722 | if ((Hallucination || Stunned || Confusion) && !full) { |
1723 | +/*JP | |
1711 | 1724 | You("are too disoriented for this."); |
1725 | +*/ | |
1726 | + You("混乱しているのでそれはできない."); | |
1712 | 1727 | } else { |
1713 | 1728 | int x, y, glyph, levl_glyph, default_glyph; |
1714 | 1729 | uchar seenv; |
@@ -1800,21 +1815,42 @@ int which_subset; /* when not full, whether to suppress objs and/or traps */ | ||
1800 | 1815 | u.uswallow = 1; |
1801 | 1816 | flush_screen(1); |
1802 | 1817 | if (full) { |
1818 | +/*JP | |
1803 | 1819 | Strcpy(buf, "underlying terrain"); |
1820 | +*/ | |
1821 | + Strcpy(buf, "下にある地形"); | |
1804 | 1822 | } else { |
1823 | +/*JP | |
1805 | 1824 | Strcpy(buf, "known terrain"); |
1825 | +*/ | |
1826 | + Strcpy(buf, "知っている地形"); | |
1806 | 1827 | if (keep_traps) |
1828 | +#if 0 /*JP*/ | |
1807 | 1829 | Sprintf(eos(buf), "%s traps", |
1808 | 1830 | (keep_objs || keep_mons) ? "," : " and"); |
1831 | +#else | |
1832 | + Strcat(buf, "と罠"); | |
1833 | +#endif | |
1809 | 1834 | if (keep_objs) |
1835 | +#if 0 /*JP*/ | |
1810 | 1836 | Sprintf(eos(buf), "%s%s objects", |
1811 | 1837 | (keep_traps || keep_mons) ? "," : "", |
1812 | 1838 | keep_mons ? "" : " and"); |
1839 | +#else | |
1840 | + Strcat(buf, "と物体"); | |
1841 | +#endif | |
1813 | 1842 | if (keep_mons) |
1843 | +#if 0 /*JP*/ | |
1814 | 1844 | Sprintf(eos(buf), "%s and monsters", |
1815 | 1845 | (keep_traps || keep_objs) ? "," : ""); |
1846 | +#else | |
1847 | + Strcat(buf, "と怪物"); | |
1848 | +#endif | |
1816 | 1849 | } |
1850 | +/*JP | |
1817 | 1851 | pline("Showing %s only...", buf); |
1852 | +*/ | |
1853 | + pline("%sだけを見る...", buf); | |
1818 | 1854 | display_nhwindow(WIN_MAP, TRUE); /* give "--More--" prompt */ |
1819 | 1855 | docrt(); /* redraw the screen, restoring regular map */ |
1820 | 1856 | if (Underwater) |
@@ -400,13 +400,24 @@ dig(VOID_ARGS) | ||
400 | 400 | dmg = 1; |
401 | 401 | else if (uarmf) |
402 | 402 | dmg = (dmg + 1) / 2; |
403 | +/*JP | |
403 | 404 | You("hit yourself in the %s.", body_part(FOOT)); |
405 | +*/ | |
406 | + pline("%sに当たった.", body_part(FOOT)); | |
407 | +#if 0 /*JP*/ | |
404 | 408 | Sprintf(kbuf, "chopping off %s own %s", uhis(), |
405 | 409 | body_part(FOOT)); |
410 | +#else | |
411 | + Sprintf(kbuf, "自分の%sを切り落として", body_part(FOOT)); | |
412 | +#endif | |
406 | 413 | losehp(Maybe_Half_Phys(dmg), kbuf, KILLED_BY); |
407 | 414 | } else { |
415 | +#if 0 /*JP*/ | |
408 | 416 | You("destroy the bear trap with %s.", |
409 | 417 | yobjnam(uwep, (const char *) 0)); |
418 | +#else | |
419 | + You("%sで熊の罠を壊した.", xname(uwep)); | |
420 | +#endif | |
410 | 421 | u.utrap = 0; /* release from trap */ |
411 | 422 | deltrap(ttmp); |
412 | 423 | } |
@@ -1390,14 +1401,24 @@ struct obj *obj; | ||
1390 | 1401 | int adjidx = (idx + 4) % 8; |
1391 | 1402 | trap_with_u->conjoined |= (1 << idx); |
1392 | 1403 | trap->conjoined |= (1 << adjidx); |
1404 | +/*JP | |
1393 | 1405 | pline("You clear some debris from between the pits."); |
1406 | +*/ | |
1407 | + pline("あなたは落し穴の間からごみを取りのぞいた."); | |
1394 | 1408 | } |
1395 | 1409 | } else if (u.utrap && u.utraptype == TT_PIT |
1396 | 1410 | && (trap_with_u = t_at(u.ux, u.uy))) { |
1411 | +#if 0 /*JP*/ | |
1397 | 1412 | You("swing %s, but the rubble has no place to go.", |
1398 | 1413 | yobjnam(obj, (char *) 0)); |
1414 | +#else | |
1415 | + You("%sを振り回したが,破片の行き場所がない.", xname(obj)); | |
1416 | +#endif | |
1399 | 1417 | } else |
1418 | +/*JP | |
1400 | 1419 | You("swing %s through thin air.", yobjnam(obj, (char *) 0)); |
1420 | +*/ | |
1421 | + You("空中で%sを振り回した.", xname(obj)); | |
1401 | 1422 | } else { |
1402 | 1423 | #if 0 /*JP*/ |
1403 | 1424 | static const char *const d_action[6] = { "swinging", "digging", |
@@ -1701,15 +1722,23 @@ boolean unexpected; | ||
1701 | 1722 | /* U.S. classification system uses 1-A for eligible to serve |
1702 | 1723 | and 4-F for ineligible due to physical or mental defect; |
1703 | 1724 | some intermediate values exist but are rarely seen */ |
1725 | +#if 0 /*JP*/ | |
1704 | 1726 | You_feel("like you are %s.", |
1705 | 1727 | (ACURR(A_STR) < 6 || ACURR(A_DEX) < 6 |
1706 | 1728 | || ACURR(A_CON) < 6 || ACURR(A_CHA) < 6 |
1707 | 1729 | || ACURR(A_INT) < 6 || ACURR(A_WIS) < 6) ? "4-F" |
1708 | 1730 | : "1-A"); |
1731 | +#else | |
1732 | + You("突然杉良太郎を思い出した."); | |
1733 | +#endif | |
1709 | 1734 | } else { |
1710 | 1735 | if (!Hallucination) { |
1736 | +/*JP | |
1711 | 1737 | You_feel("a draft."); |
1738 | +*/ | |
1739 | + You_feel("すきま風を感じた."); | |
1712 | 1740 | } else { |
1741 | +#if 0 /*JP*//*"draft"=「徴兵」*/ | |
1713 | 1742 | /* "marching" is deliberately ambiguous; it might mean drills |
1714 | 1743 | after entering military service or mean engaging in protests */ |
1715 | 1744 | static const char *draft_reaction[] = { |
@@ -1723,6 +1752,9 @@ boolean unexpected; | ||
1723 | 1752 | /* L: +(0..2), N: +(-1..1), C: +(-2..0); all: 0..3 */ |
1724 | 1753 | dridx += rn1(3, sgn(u.ualign.type) - 1); |
1725 | 1754 | You_feel("like %s.", draft_reaction[dridx]); |
1755 | +#else /*JP:日本語では凝ったことはしない*/ | |
1756 | + You("杉良太郎を思い出した."); | |
1757 | +#endif | |
1726 | 1758 | } |
1727 | 1759 | } |
1728 | 1760 | } |
@@ -1984,7 +2016,10 @@ char *msg; | ||
1984 | 2016 | int ltyp; |
1985 | 2017 | struct rm *room; |
1986 | 2018 | const char *foundation_msg = |
2019 | +/*JP | |
1987 | 2020 | "The foundation is too hard to dig through from this angle."; |
2021 | +*/ | |
2022 | + "基礎はこの角度から掘るには固すぎる."; | |
1988 | 2023 | |
1989 | 2024 | if (!cc) |
1990 | 2025 | return FALSE; |
@@ -2008,16 +2043,25 @@ char *msg; | ||
2008 | 2043 | return FALSE; |
2009 | 2044 | } else if (IS_TREE(ltyp)) { /* check trees before stone */ |
2010 | 2045 | /* if (room->wall_info & W_NONDIGGABLE) */ |
2046 | +/*JP | |
2011 | 2047 | Strcpy(msg, "The tree's roots glow then fade."); |
2048 | +*/ | |
2049 | + Strcpy(msg, "木の根は一瞬輝いた."); | |
2012 | 2050 | return FALSE; |
2013 | 2051 | } else if (ltyp == STONE || ltyp == SCORR) { |
2014 | 2052 | if (room->wall_info & W_NONDIGGABLE) { |
2053 | +/*JP | |
2015 | 2054 | Strcpy(msg, "The rock glows then fades."); |
2055 | +*/ | |
2056 | + Strcpy(msg, "石は一瞬輝いた."); | |
2016 | 2057 | return FALSE; |
2017 | 2058 | } |
2018 | 2059 | } else if (ltyp == IRONBARS) { |
2019 | 2060 | /* "set of iron bars" */ |
2061 | +/*JP | |
2020 | 2062 | Strcpy(msg, "The bars go much deeper than your pit."); |
2063 | +*/ | |
2064 | + Strcpy(msg, "棒は落し穴より遥かに深いところまで埋まっている."); | |
2021 | 2065 | #if 0 |
2022 | 2066 | } else if (is_lava(cc->x, cc->y)) { |
2023 | 2067 | } else if (is_ice(cc->x, cc->y)) { |
@@ -2025,39 +2069,69 @@ char *msg; | ||
2025 | 2069 | } else if (IS_GRAVE(ltyp)) { |
2026 | 2070 | #endif |
2027 | 2071 | } else if (IS_SINK(ltyp)) { |
2072 | +/*JP | |
2028 | 2073 | Strcpy(msg, "A tangled mass of plumbing remains below the sink."); |
2074 | +*/ | |
2075 | + Strcpy(msg, "入り組んだ配管が流し台の下に残ったままだ."); | |
2029 | 2076 | return FALSE; |
2030 | 2077 | } else if ((cc->x == xupladder && cc->y == yupladder) /* ladder up */ |
2031 | 2078 | || (cc->x == xdnladder && cc->y == ydnladder)) { /* " down */ |
2079 | +/*JP | |
2032 | 2080 | Strcpy(msg, "The ladder is unaffected."); |
2081 | +*/ | |
2082 | + Strcpy(msg, "はしごは影響を受けない."); | |
2033 | 2083 | return FALSE; |
2034 | 2084 | } else { |
2035 | 2085 | const char *supporting = (const char *) 0; |
2036 | 2086 | |
2037 | 2087 | if (IS_FOUNTAIN(ltyp)) |
2088 | +/*JP | |
2038 | 2089 | supporting = "fountain"; |
2090 | +*/ | |
2091 | + supporting = "泉"; | |
2039 | 2092 | else if (IS_THRONE(ltyp)) |
2093 | +/*JP | |
2040 | 2094 | supporting = "throne"; |
2095 | +*/ | |
2096 | + supporting = "玉座"; | |
2041 | 2097 | else if (IS_ALTAR(ltyp)) |
2098 | +/*JP | |
2042 | 2099 | supporting = "altar"; |
2100 | +*/ | |
2101 | + supporting = "祭壇"; | |
2043 | 2102 | else if ((cc->x == xupstair && cc->y == yupstair) |
2044 | 2103 | || (cc->x == sstairs.sx && cc->y == sstairs.sy |
2045 | 2104 | && sstairs.up)) |
2046 | 2105 | /* "staircase up" */ |
2106 | +/*JP | |
2047 | 2107 | supporting = "stairs"; |
2108 | +*/ | |
2109 | + supporting = "階段"; | |
2048 | 2110 | else if ((cc->x == xdnstair && cc->y == ydnstair) |
2049 | 2111 | || (cc->x == sstairs.sx && cc->y == sstairs.sy |
2050 | 2112 | && !sstairs.up)) |
2051 | 2113 | /* "staircase down" */ |
2114 | +/*JP | |
2052 | 2115 | supporting = "stairs"; |
2116 | +*/ | |
2117 | + supporting = "階段"; | |
2053 | 2118 | else if (ltyp == DRAWBRIDGE_DOWN /* "lowered drawbridge" */ |
2054 | 2119 | || ltyp == DBWALL) /* "raised drawbridge" */ |
2120 | +/*JP | |
2055 | 2121 | supporting = "drawbridge"; |
2122 | +*/ | |
2123 | + supporting = "跳ね橋"; | |
2056 | 2124 | |
2057 | 2125 | if (supporting) { |
2126 | +#if 0 /*JP*/ | |
2058 | 2127 | Sprintf(msg, "The %s%ssupporting structures remain intact.", |
2059 | 2128 | supporting ? s_suffix(supporting) : "", |
2060 | 2129 | supporting ? " " : ""); |
2130 | +#else | |
2131 | + Sprintf(msg, "%s%s支えている部分はそのままだ.", | |
2132 | + supporting ? supporting : "", | |
2133 | + supporting ? "を" : ""); | |
2134 | +#endif | |
2061 | 2135 | return FALSE; |
2062 | 2136 | } |
2063 | 2137 | } |
@@ -2081,7 +2155,10 @@ schar filltyp; | ||
2081 | 2155 | levl[trap->tx][trap->ty].typ = filltyp; |
2082 | 2156 | liquid_flow(trap->tx, trap->ty, filltyp, trap, |
2083 | 2157 | (trap->tx == u.ux && trap->ty == u.uy) |
2158 | +/*JP | |
2084 | 2159 | ? "Suddenly %s flows in from the adjacent pit!" |
2160 | +*/ | |
2161 | + ? "突然隣の落し穴から%sが流れ込んできた!" | |
2085 | 2162 | : (char *) 0); |
2086 | 2163 | for (idx = 0; idx < 8; ++idx) { |
2087 | 2164 | if (t.conjoined & (1 << idx)) { |
@@ -2205,7 +2282,10 @@ boolean *dealloced; | ||
2205 | 2282 | unpunish(); |
2206 | 2283 | u.utrap = rn1(50, 20); |
2207 | 2284 | u.utraptype = TT_BURIEDBALL; |
2285 | +/*JP | |
2208 | 2286 | pline_The("iron ball gets buried!"); |
2287 | +*/ | |
2288 | + pline_The("鉄の球は埋まった!"); | |
2209 | 2289 | } |
2210 | 2290 | /* after unpunish(), or might get deallocated chain */ |
2211 | 2291 | otmp2 = otmp->nexthere; |
@@ -382,9 +382,15 @@ polymorph_sink() | ||
382 | 382 | make_grave(u.ux, u.uy, (char *) 0); |
383 | 383 | break; |
384 | 384 | } |
385 | +#if 0 /*JP*/ | |
385 | 386 | pline_The("sink transforms into %s!", (levl[u.ux][u.uy].typ == THRONE) |
386 | 387 | ? "a throne" |
387 | 388 | : an(surface(u.ux, u.uy))); |
389 | +#else | |
390 | + pline_The("流し台は%sに変化した!", (levl[u.ux][u.uy].typ == THRONE) | |
391 | + ? "玉座" | |
392 | + : an(surface(u.ux, u.uy))); | |
393 | +#endif | |
388 | 394 | newsym(u.ux, u.uy); |
389 | 395 | } |
390 | 396 |
@@ -696,10 +702,12 @@ const char *word; | ||
696 | 702 | /* getobj() kludge sets corpsenm to user's specified count |
697 | 703 | when refusing to split a stack of cursed loadstones */ |
698 | 704 | if (*word) { |
705 | +#if 0 /*JP*//*日本語では不要*/ | |
699 | 706 | /* getobj() ignores a count for throwing since that is |
700 | 707 | implicitly forced to be 1; replicate its kludge... */ |
701 | 708 | if (!strcmp(word, "throw") && obj->quan > 1L) |
702 | 709 | obj->corpsenm = 1; |
710 | +#endif | |
703 | 711 | #if 0 /*JP*/ |
704 | 712 | pline("For some reason, you cannot %s%s the stone%s!", word, |
705 | 713 | obj->corpsenm ? " any of" : "", plur(obj->quan)); |
@@ -853,7 +861,7 @@ boolean with_impact; | ||
853 | 861 | /*JP |
854 | 862 | if (!u.uswallow && flooreffects(obj, u.ux, u.uy, "drop")) |
855 | 863 | */ |
856 | - if (!u.uswallow && flooreffects(obj,u.ux,u.uy,"落ちる")) | |
864 | + if (!u.uswallow && flooreffects(obj,u.ux,u.uy, "落ちる")) | |
857 | 865 | return; |
858 | 866 | /* uswallow check done by GAN 01/29/87 */ |
859 | 867 | if (u.uswallow) { |
@@ -1119,7 +1127,10 @@ dodown() | ||
1119 | 1127 | if (float_down(I_SPECIAL | TIMEOUT, W_ARTI)) { |
1120 | 1128 | return 1; /* came down, so moved */ |
1121 | 1129 | } else if (!HLevitation && !ELevitation) { |
1130 | +/*JP | |
1122 | 1131 | Your("latent levitation ceases."); |
1132 | +*/ | |
1133 | + pline("潜在的な浮遊能力が中断した."); | |
1123 | 1134 | return 1; /* did something, effectively moved */ |
1124 | 1135 | } |
1125 | 1136 | } |
@@ -1884,7 +1895,10 @@ boolean at_stairs, falling, portal; | ||
1884 | 1895 | #endif |
1885 | 1896 | |
1886 | 1897 | if ((annotation = get_annotation(&u.uz))) |
1898 | +/*JP | |
1887 | 1899 | You("remember this level as %s.", annotation); |
1900 | +*/ | |
1901 | + You("この階が%sであることを思い出した.", annotation); | |
1888 | 1902 | |
1889 | 1903 | /* assume this will always return TRUE when changing level */ |
1890 | 1904 | (void) in_out_region(u.ux, u.uy); |
@@ -2124,11 +2138,22 @@ long timeout UNUSED; | ||
2124 | 2138 | |
2125 | 2139 | if (rloc(mtmp, TRUE)) { |
2126 | 2140 | if (notice_it && !canseemon(mtmp)) |
2141 | +/*JP | |
2127 | 2142 | pline("%s vanishes.", monname); |
2143 | +*/ | |
2144 | + pline("%sは消えた.", monname); | |
2128 | 2145 | else if (!notice_it && canseemon(mtmp)) |
2146 | +#if 0 /*JP*/ | |
2129 | 2147 | pline("%s appears.", Monnam(mtmp)); /* not pre-rloc monname */ |
2148 | +#else | |
2149 | + pline("%sが現れた.", Monnam(mtmp)); /* not pre-rloc monname */ | |
2150 | +#endif | |
2130 | 2151 | else if (notice_it && dist2(mtmp->mx, mtmp->my, x, y) > 2) |
2152 | +#if 0 /*JP*/ | |
2131 | 2153 | pline("%s teleports.", monname); /* saw it and still see it */ |
2154 | +#else | |
2155 | + pline("%sは瞬間移動した.", monname); /* saw it and still see it */ | |
2156 | +#endif | |
2132 | 2157 | } |
2133 | 2158 | } |
2134 | 2159 |