feat(web): translate combat log, action buttons, and victory/defeat screen to English
Translates formatEvent() and monsterIntentLabel() combat-log templates, default participant-name fallbacks (Du/Der Gegner -> You/The enemy), and every static string in the combat page template: round header, action buttons, outcome headings, rewards panel, post-combat buttons, log panel, and loading/error/aria-label text. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ACkMEDYiwtcfchqKkiUJNX
This commit is contained in:
@@ -196,7 +196,7 @@ export class CombatPageComponent implements OnInit {
|
||||
}
|
||||
|
||||
// The location is the screen a fight resolves back into. It sits beside
|
||||
// "Weiter jagen" rather than replacing it, so the hunt loop keeps its
|
||||
// "Keep Hunting" rather than replacing it, so the hunt loop keeps its
|
||||
// one-click rhythm.
|
||||
protected goToLocation(): void {
|
||||
void this.router.navigate(['/location']);
|
||||
@@ -233,7 +233,7 @@ export class CombatPageComponent implements OnInit {
|
||||
if (!combat || combat.monster.pendingIntent !== 'HEAVY_ATTACK') {
|
||||
return null;
|
||||
}
|
||||
return `${combat.monster.name} bereitet Schweren Hieb vor.`;
|
||||
return `${combat.monster.name} is winding up a Heavy Strike.`;
|
||||
}
|
||||
|
||||
protected logRounds(): CombatLogRound[] {
|
||||
@@ -254,36 +254,36 @@ export class CombatPageComponent implements OnInit {
|
||||
|
||||
protected formatEvent(event: CombatEvent): string {
|
||||
const combat = this.displayed();
|
||||
const playerName = combat?.player.name ?? 'Du';
|
||||
const monsterName = combat?.monster.name ?? 'Der Gegner';
|
||||
const playerName = combat?.player.name ?? 'You';
|
||||
const monsterName = combat?.monster.name ?? 'The enemy';
|
||||
|
||||
if (event.type === 'DAMAGE') {
|
||||
const attacker = event.source === 'PLAYER' ? playerName : monsterName;
|
||||
const defender = event.target === 'PLAYER' ? playerName : monsterName;
|
||||
return `${attacker} trifft ${defender} für ${event.amount} Schaden.`;
|
||||
return `${attacker} hits ${defender} for ${event.amount} damage.`;
|
||||
}
|
||||
|
||||
if (event.type === 'HEAL') {
|
||||
return `${playerName} trinkt einen Trank und heilt ${event.amount} Lebenspunkte.`;
|
||||
return `${playerName} drinks a potion and heals ${event.amount} HP.`;
|
||||
}
|
||||
|
||||
if (event.type === 'DEFEND') {
|
||||
return `${playerName} geht in die Verteidigung.`;
|
||||
return `${playerName} braces to defend.`;
|
||||
}
|
||||
|
||||
if (event.type === 'TELEGRAPH') {
|
||||
return `${monsterName} bereitet Schweren Hieb vor.`;
|
||||
return `${monsterName} is winding up a Heavy Strike.`;
|
||||
}
|
||||
|
||||
if (event.type === 'INTERRUPT') {
|
||||
return `${playerName} unterbricht den vorbereiteten Angriff von ${monsterName}.`;
|
||||
return `${playerName} interrupts ${monsterName}'s attack.`;
|
||||
}
|
||||
|
||||
if (event.type === 'COMBAT_WON') {
|
||||
return `${monsterName} wurde besiegt.`;
|
||||
return `${monsterName} has been defeated.`;
|
||||
}
|
||||
|
||||
return `${playerName} wurde im Kampf besiegt.`;
|
||||
return `${playerName} has been defeated.`;
|
||||
}
|
||||
|
||||
private wait(ms: number): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user