diff --git a/src/creport.c b/src/creport.c index 1bc34fa5d..9d4e33728 100644 --- a/src/creport.c +++ b/src/creport.c @@ -848,11 +848,13 @@ void cr_output_unit(stream *out, const faction * f, pzTmp = get_racename(u->attribs); if (pzTmp) { - stream_printf(out, "\"%s\";Typ\n", pzTmp); + const char *pzRace = LOC(lang, mkname("race", pzTmp)); + pzTmp = pzRace ? pzRace : pzTmp; + stream_printf(out, "\"%s\";Typ\n", translate(pzTmp, LOC(lang, pzTmp))); if (u->faction == f && fval(u_race(u), RCF_SHAPESHIFTANY)) { - const char *zRace = rc_name_s(u_race(u), NAME_PLURAL); + pzRace = rc_name_s(u_race(u), NAME_PLURAL); stream_printf(out, "\"%s\";wahrerTyp\n", - translate(zRace, LOC(lang, zRace))); + translate(pzRace, LOC(lang, pzRace))); } } else { diff --git a/src/reports.c b/src/reports.c index 00d6b8bad..93bbb187c 100644 --- a/src/reports.c +++ b/src/reports.c @@ -714,7 +714,8 @@ void bufunit(const faction * f, const unit * u, const faction *fv, pzTmp = get_racename(u->attribs); if (pzTmp) { - sbs_strcat(sbp, pzTmp); + const char *name = LOC(lang, mkname("race", pzTmp)); + sbs_strcat(sbp, name ? name : pzTmp); if (u->faction == f && fval(u_race(u), RCF_SHAPESHIFTANY)) { sbs_strcat(sbp, " ("); sbs_strcat(sbp, racename(lang, u, u_race(u)));