Khadar-induced translations of mostly combat stuff.

This commit is contained in:
Enno Rehling 2007-02-22 22:53:53 +00:00
parent 3567e3f783
commit 6c74bce4cd
5 changed files with 110 additions and 89 deletions

View File

@ -2725,12 +2725,13 @@ print_header(battle * b)
bfaction * bf; bfaction * bf;
for (bf=b->factions;bf;bf=bf->next) { for (bf=b->factions;bf;bf=bf->next) {
message * m;
faction * f = bf->faction; faction * f = bf->faction;
const char * lastf = NULL; const char * lastf = NULL;
boolean first = false; boolean first = false;
side * s; side * s;
strcpy(buf, "Der Kampf wurde ausgelöst von "); buf[0] = 0;
for (s=b->sides; s; s=s->next) { for (s=b->sides; s; s=s->next) {
fighter *df; fighter *df;
for (df=s->fighters;df;df=df->next) { for (df=s->fighters;df;df=df->next) {
@ -2743,15 +2744,22 @@ print_header(battle * b)
if (seematrix(f, s) == true) if (seematrix(f, s) == true)
lastf = sidename(s, false); lastf = sidename(s, false);
else else
lastf = "einer unbekannten Partei"; lastf = LOC(f->locale, "unknown_faction_dative");
break; break;
} }
} }
} }
if (first) strcat(buf, " und "); if (first) {
strcat(buf, " ");
strcat(buf, LOC(f->locale, "and"));
strcat(buf, " ");
}
if (lastf) strcat(buf, lastf); if (lastf) strcat(buf, lastf);
strcat(buf, "."); strcat(buf, ".");
fbattlerecord(b, f, buf);
m = msg_message("battle::header", "factions", buf);
message_faction(b, f, m);
msg_release(m);
} }
} }

View File

@ -438,7 +438,7 @@ bufunit(const faction * f, const unit * u, int indent, int mode)
} }
} }
if (getguard(u)) { if (getguard(u)) {
rsize = strlcpy(bufp, ", bewacht die Region", size); rsize = strlcpy(bufp, LOC(f->locale, "unit_guards"), size);
if (rsize>size) rsize = size-1; if (rsize>size) rsize = size-1;
size -= rsize; size -= rsize;
bufp += rsize; bufp += rsize;

View File

@ -138,12 +138,9 @@ sp_kampfzauber(fighter * fi, int level, double power, spell * sp)
force = lovar(get_force(power,10)); force = lovar(get_force(power,10));
} }
sprintf(buf, "%s zaubert %s", unitname(fi->unit),
spell_name(sp, default_locale));
enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW-1, SELECT_ADVANCE); enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW-1, SELECT_ADVANCE);
if (enemies==0) { if (enemies==0) {
m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp); message * m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
message_all(b, m); message_all(b, m);
msg_release(m); msg_release(m);
return 0; return 0;
@ -174,18 +171,18 @@ sp_versteinern(fighter * fi, int level, double power, spell * sp)
int force, enemies; int force, enemies;
int stoned = 0; int stoned = 0;
sprintf(buf, "%s zaubert %s", unitname(fi->unit),
spell_name(sp, default_locale));
force = lovar(get_force(power, 0)); force = lovar(get_force(power, 0));
enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE); enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE);
if (!enemies) { if (!enemies) {
scat(", aber niemand war in Reichweite."); message * m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
battlerecord(b, buf); message_all(b, m);
msg_release(m);
return 0; return 0;
} }
scat(":"); sprintf(buf, "%s zaubert %s:", unitname(fi->unit),
spell_name(sp, default_locale));
battlerecord(b, buf); battlerecord(b, buf);
while (force && stoned < enemies) { while (force && stoned < enemies) {
@ -225,9 +222,6 @@ sp_stun(fighter * fi, int level, double power, spell * sp)
if (power <= 0) return 0; if (power <= 0) return 0;
sprintf(buf, "%s zaubert %s", unitname(fi->unit),
spell_name(sp, default_locale));
switch(sp->id) { switch(sp->id) {
case SPL_SHOCKWAVE: case SPL_SHOCKWAVE:
force = lovar(get_force(power,1)); force = lovar(get_force(power,1));
@ -238,11 +232,14 @@ sp_stun(fighter * fi, int level, double power, spell * sp)
enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE); enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE);
if (!enemies) { if (!enemies) {
scat(", aber niemand war in Reichweite."); message * m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
battlerecord(b, buf); message_all(b, m);
msg_release(m);
return 0; return 0;
} }
scat(":"); sprintf(buf, "%s zaubert %s:", unitname(fi->unit),
spell_name(sp, default_locale));
battlerecord(b, buf); battlerecord(b, buf);
stunned = 0; stunned = 0;
@ -370,17 +367,17 @@ sp_sleep(fighter * fi, int level, double power, spell * sp)
int k = 0; int k = 0;
/* Immer aus der ersten Reihe nehmen */ /* Immer aus der ersten Reihe nehmen */
sprintf(buf, "%s zaubert %s", unitname(mage),
spell_name(sp, default_locale));
force = lovar(power * 25); force = lovar(power * 25);
enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE); enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE);
if (!enemies) { if (!enemies) {
scat(", aber niemand war in Reichweite."); message * m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
battlerecord(b, buf); message_all(b, m);
msg_release(m);
return 0; return 0;
} }
scat(":"); sprintf(buf, "%s zaubert %s:", unitname(mage),
spell_name(sp, default_locale));
battlerecord(b, buf); battlerecord(b, buf);
while (force && enemies) { while (force && enemies) {
@ -514,17 +511,17 @@ sp_mindblast(fighter * fi, int level, double power, spell * sp)
int force, enemies; int force, enemies;
int k = 0; int k = 0;
sprintf(buf, "%s zaubert %s", unitname(mage),
spell_name(sp, default_locale));
force = lovar(power * 25); force = lovar(power * 25);
enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE); enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE);
if (!enemies) { if (!enemies) {
scat(", aber niemand war in Reichweite."); message * m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
battlerecord(b, buf); message_all(b, m);
msg_release(m);
return 0; return 0;
} }
scat(":"); sprintf(buf, "%s zaubert %s:", unitname(mage),
spell_name(sp, default_locale));
battlerecord(b, buf); battlerecord(b, buf);
while (force && enemies) { while (force && enemies) {
@ -578,8 +575,6 @@ sp_dragonodem(fighter * fi, int level, double power, spell * sp)
int killed = 0; int killed = 0;
const char *damage; const char *damage;
sprintf(buf, "%s zaubert %s", unitname(fi->unit),
spell_name(sp, default_locale));
/* 11-26 HP */ /* 11-26 HP */
damage = spell_damage(4); damage = spell_damage(4);
/* Jungdrache 3->54, Drache 6->216, Wyrm 12->864 Treffer */ /* Jungdrache 3->54, Drache 6->216, Wyrm 12->864 Treffer */
@ -588,12 +583,12 @@ sp_dragonodem(fighter * fi, int level, double power, spell * sp)
enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW-1, SELECT_ADVANCE); enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW-1, SELECT_ADVANCE);
if (!enemies) { if (!enemies) {
scat(", aber niemand war in Reichweite."); struct message * m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
battlerecord(b, buf); message_all(b, m);
msg_release(m);
return 0; return 0;
} } else {
scat(":"); struct message * m;
battlerecord(b, buf);
at.fighter = fi; at.fighter = fi;
at.index = 0; at.index = 0;
@ -605,11 +600,10 @@ sp_dragonodem(fighter * fi, int level, double power, spell * sp)
killed += terminate(dt, at, AT_COMBATSPELL, damage, false); killed += terminate(dt, at, AT_COMBATSPELL, damage, false);
} }
sprintf(buf, "%d Personen %s getötet", m = msg_message("battle::combatspell", "mage spell dead", fi->unit, sp, killed);
killed, killed == 1 ? "wurde" : "wurden"); message_all(b, m);
msg_release(m);
scat("."); }
battlerecord(b, buf);
return level; return level;
} }
@ -626,19 +620,19 @@ sp_immolation(fighter * fi, int level, double power, spell * sp)
cvector *fgs; cvector *fgs;
void **fig; void **fig;
sprintf(buf, "%s zaubert %s", unitname(fi->unit),
spell_name(sp, default_locale));
/* 2d4 HP */ /* 2d4 HP */
damage = spell_damage(5); damage = spell_damage(5);
/* Betrifft alle Gegner */ /* Betrifft alle Gegner */
force = 99999; force = 99999;
if (!count_enemies(b, fi, FIGHT_ROW, AVOID_ROW, SELECT_ADVANCE|SELECT_FIND)) { if (!count_enemies(b, fi, FIGHT_ROW, AVOID_ROW, SELECT_ADVANCE|SELECT_FIND)) {
scat(", aber niemand war in Reichweite."); message * m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
battlerecord(b, buf); message_all(b, m);
msg_release(m);
return 0; return 0;
} }
scat(":"); sprintf(buf, "%s zaubert %s:", unitname(fi->unit),
spell_name(sp, default_locale));
battlerecord(b, buf); battlerecord(b, buf);
at.fighter = fi; at.fighter = fi;
@ -680,8 +674,6 @@ sp_drainodem(fighter * fi, int level, double power, spell * sp)
int killed = 0; int killed = 0;
const char *damage; const char *damage;
sprintf(buf, "%s zaubert %s", unitname(fi->unit),
spell_name(sp, default_locale));
/* 11-26 HP */ /* 11-26 HP */
damage = spell_damage(4); damage = spell_damage(4);
/* Jungdrache 3->54, Drache 6->216, Wyrm 12->864 Treffer */ /* Jungdrache 3->54, Drache 6->216, Wyrm 12->864 Treffer */
@ -690,11 +682,13 @@ sp_drainodem(fighter * fi, int level, double power, spell * sp)
enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW-1, SELECT_ADVANCE); enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW-1, SELECT_ADVANCE);
if (!enemies) { if (!enemies) {
scat(", aber niemand war in Reichweite."); message * m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
battlerecord(b, buf); message_all(b, m);
msg_release(m);
return 0; return 0;
} }
scat(":"); sprintf(buf, "%s zaubert %s:", unitname(fi->unit),
spell_name(sp, default_locale));
battlerecord(b, buf); battlerecord(b, buf);
at.fighter = fi; at.fighter = fi;
@ -863,25 +857,25 @@ sp_chaosrow(fighter * fi, int level, double power, spell * sp)
void **fig; void **fig;
int k = 0; int k = 0;
if (!count_enemies(b, fi, FIGHT_ROW, NUMROWS, SELECT_ADVANCE|SELECT_FIND)) {
message * m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
message_all(b, m);
msg_release(m);
return 0;
}
switch (sp->id) { switch (sp->id) {
case SPL_CHAOSROW: case SPL_CHAOSROW:
sprintf(buf, "%s murmelt eine düster klingende Formel", unitname(mage)); sprintf(buf, "%s murmelt eine düster klingende Formel. ", unitname(mage));
power *= 40; power *= 40;
break; break;
case SPL_SONG_OF_CONFUSION: case SPL_SONG_OF_CONFUSION:
sprintf(buf, "%s stimmt einen seltsamen Gesang an", unitname(mage)); sprintf(buf, "%s stimmt einen seltsamen Gesang an. ", unitname(mage));
power = get_force(power, 5); power = get_force(power, 5);
break; break;
} }
if (!count_enemies(b, fi, FIGHT_ROW, NUMROWS, SELECT_ADVANCE|SELECT_FIND)) {
scat(", aber niemand war in Reichweite.");
battlerecord(b, buf);
return 0;
}
scat(". ");
fgs = fighters(b, fi->side, FIGHT_ROW, NUMROWS, FS_ENEMY); fgs = fighters(b, fi->side, FIGHT_ROW, NUMROWS, FS_ENEMY);
v_scramble(fgs->begin, fgs->end); v_scramble(fgs->begin, fgs->end);
@ -1140,15 +1134,15 @@ sp_frighten(fighter * fi, int level, double power, spell * sp)
df_malus = 2; df_malus = 2;
force = (int)get_force(power, 2); force = (int)get_force(power, 2);
sprintf(buf, "%s zaubert %s", unitname(mage),
spell_name(sp, default_locale));
enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW-1, SELECT_ADVANCE); enemies = count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW-1, SELECT_ADVANCE);
if (!enemies) { if (!enemies) {
scat(", aber niemand war in Reichweite."); message * m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
battlerecord(b, buf); message_all(b, m);
msg_release(m);
return 0; return 0;
} }
scat(":"); sprintf(buf, "%s zaubert %s:", unitname(mage),
spell_name(sp, default_locale));
battlerecord(b, buf); battlerecord(b, buf);
while (force && enemies) { while (force && enemies) {
@ -1189,11 +1183,10 @@ sp_tiredsoldiers(fighter * fi, int level, double power, spell * sp)
int n = 0; int n = 0;
int force = (int)(power * power * 4); int force = (int)(power * power * 4);
sprintf(buf, "%s zaubert %s", unitname(mage),
spell_name(sp, default_locale));
if (!count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE|SELECT_FIND)) { if (!count_enemies(b, fi, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE|SELECT_FIND)) {
scat(", aber niemand war in Reichweite."); message * m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
battlerecord(b, buf); message_all(b, m);
msg_release(m);
return 0; return 0;
} }
@ -1215,7 +1208,8 @@ sp_tiredsoldiers(fighter * fi, int level, double power, spell * sp)
--force; --force;
} }
scat(": "); sprintf(buf, "%s zaubert %s:", unitname(mage),
spell_name(sp, default_locale));
if (n == 0) { if (n == 0) {
scat("Der Zauber konnte keinen Krieger ermüden."); scat("Der Zauber konnte keinen Krieger ermüden.");
} else if (n == 1) { } else if (n == 1) {
@ -1236,8 +1230,6 @@ sp_windshield(fighter * fi, int level, double power, spell * sp)
int force, at_malus; int force, at_malus;
int enemies; int enemies;
sprintf(buf, "%s zaubert %s", unitname(mage),
spell_name(sp, default_locale));
switch(sp->id) { switch(sp->id) {
case SPL_WINDSHIELD: case SPL_WINDSHIELD:
force = (int)get_force(power,4); force = (int)get_force(power,4);
@ -1250,8 +1242,9 @@ sp_windshield(fighter * fi, int level, double power, spell * sp)
} }
enemies = count_enemies(b, fi, BEHIND_ROW, BEHIND_ROW, SELECT_ADVANCE); enemies = count_enemies(b, fi, BEHIND_ROW, BEHIND_ROW, SELECT_ADVANCE);
if (!enemies) { if (!enemies) {
scat(", aber niemand war in Reichweite."); message * m = msg_message("battle::out_of_range", "mage spell", fi->unit, sp);
battlerecord(b, buf); message_all(b, m);
msg_release(m);
return 0; return 0;
} }
@ -1271,7 +1264,8 @@ sp_windshield(fighter * fi, int level, double power, spell * sp)
} }
} }
scat(": "); sprintf(buf, "%s zaubert %s:", unitname(mage),
spell_name(sp, default_locale));
scat("Ein Sturm kommt auf und die Schützen können kaum noch zielen."); scat("Ein Sturm kommt auf und die Schützen können kaum noch zielen.");
battlerecord(b, buf); battlerecord(b, buf);
return level; return level;

View File

@ -6517,6 +6517,14 @@
<text locale="de">Unbekannte Partei</text> <text locale="de">Unbekannte Partei</text>
<text locale="en">unknown faction</text> <text locale="en">unknown faction</text>
</string> </string>
<string name="unknown_faction_dative">
<text locale="de">einer unbekannten Partei</text>
<text locale="en">an unknown faction</text>
</string>
<string name="and">
<text locale="de">und</text>
<text locale="en">and</text>
</string>
<string name="spinx00"> <string name="spinx00">
<text locale="de">Das Schiff des Elfen hat ein rotes Segel</text> <text locale="de">Das Schiff des Elfen hat ein rotes Segel</text>
@ -6810,4 +6818,8 @@
<text locale="en">stones</text> <text locale="en">stones</text>
</string> </string>
<string name="unit_guards">
<text locale="de">bewacht die Region</text>
<text locale="en">guards the region</text>
</string>
</strings> </strings>

View File

@ -1999,8 +1999,8 @@
<arg name="regions" type="string"/> <arg name="regions" type="string"/>
</type> </type>
<text locale="de">"$unit($unit) $if($eq($mode,1),"reitet", "wandert") von $region($start) nach $region($end).$if($strlen($regions)," Dabei wurde $regions durchquert.","")"</text> <text locale="de">"$unit($unit) $if($eq($mode,1),"reitet", "wandert") von $region($start) nach $region($end).$if($strlen($regions)," Dabei wurde $regions durchquert.","")"</text>
<text locale="fr">"$unit($unit) $if($eq($mode,1),"chevauche", "marche") de $region($start) vers $region($end).$regions"</text> <text locale="fr">"$unit($unit) $if($eq($mode,1),"chevauche", "marche") de $region($start) vers $region($end) trans $regions"</text>
<text locale="en">"$unit($unit) $if($eq($mode,1),"rides", "walks") from $region($start) to $region($end).$regions"</text> <text locale="en">"$unit($unit) $if($eq($mode,1),"rides", "walks") from $region($start) to $region($end)$if($strlen($regions)," by way of $regions","")."</text>
</message> </message>
<message name="detectoceandir" section="movement"> <message name="detectoceandir" section="movement">
<type> <type>
@ -6297,6 +6297,13 @@
<text locale="fr">"The wormhole in $region($region) disappears."</text> <text locale="fr">"The wormhole in $region($region) disappears."</text>
<text locale="en">"The wormhole in $region($region) disappears."</text> <text locale="en">"The wormhole in $region($region) disappears."</text>
</message> </message>
<message name="battle::header" section="battle">
<type>
<arg name="factions" type="string"/>
</type>
<text locale="de">"Der Kampf wurde ausgelöst von $factions."</text>
<text locale="en">"The battle was initiated by $factions."</text>
</message>
<message name="battle::potionsave" section="battle"> <message name="battle::potionsave" section="battle">
<type> <type>
<arg name="unit" type="unit"/> <arg name="unit" type="unit"/>