feat(web): translate topbar, navigation, context panel, footer, and reputation display to English

Translates the remaining German static copy in the layout/shared components
per the design doc glossary: top-bar (World Renown, Silver, loading text),
side-navigation (nav labels and aria-labels), context-panel (area info,
safety/hunt facts, encounters), game-footer (connection status, Ashen Fields),
and reputation-display (aria-label, highest-rank text). Also fixes stale
German rank-label fixtures in reputation-display.component.spec.ts flagged
by Task 2's reviewer, and updates app.spec.ts assertions that exercised the
now-translated side-navigation/top-bar output via the app shell.
This commit is contained in:
Bastian Wagner
2026-08-21 22:23:20 +02:00
parent 14d26d06a4
commit 846bb7428c
9 changed files with 57 additions and 55 deletions

View File

@@ -17,13 +17,13 @@ describe('ReputationDisplayComponent', () => {
factionName: 'Grenzwacht',
reputation: 320,
rank: 'KNOWN',
rankLabel: 'Bekannt',
rankLabel: 'Known',
nextThreshold: 500,
});
const element = fixture.nativeElement as HTMLElement;
expect(element.textContent).toContain('Grenzwacht');
expect(element.textContent).toContain('Bekannt');
expect(element.textContent).toContain('Known');
});
it('shows current reputation against the next threshold', async () => {
@@ -32,7 +32,7 @@ describe('ReputationDisplayComponent', () => {
factionName: 'Grenzwacht',
reputation: 320,
rank: 'KNOWN',
rankLabel: 'Bekannt',
rankLabel: 'Known',
nextThreshold: 500,
});
const element = fixture.nativeElement as HTMLElement;
@@ -47,7 +47,7 @@ describe('ReputationDisplayComponent', () => {
factionName: 'Grenzwacht',
reputation: 320,
rank: 'KNOWN',
rankLabel: 'Bekannt',
rankLabel: 'Known',
nextThreshold: 500,
});
const element = fixture.nativeElement as HTMLElement;
@@ -64,12 +64,12 @@ describe('ReputationDisplayComponent', () => {
factionName: 'Grenzwacht',
reputation: 1500,
rank: 'ESTEEMED',
rankLabel: 'Geachtet',
rankLabel: 'Esteemed',
nextThreshold: null,
});
const element = fixture.nativeElement as HTMLElement;
expect(element.textContent).toContain('Geachtet');
expect(element.textContent).toContain('Esteemed');
expect(element.querySelector('[data-reputation-max]')).toBeTruthy();
});
@@ -79,13 +79,13 @@ describe('ReputationDisplayComponent', () => {
factionName: 'Der Stille Orden',
reputation: 0,
rank: 'STRANGER',
rankLabel: 'Fremder',
rankLabel: 'Stranger',
nextThreshold: 100,
});
const element = fixture.nativeElement as HTMLElement;
expect(element.textContent).toContain('Der Stille Orden');
expect(element.textContent).toContain('Fremder');
expect(element.textContent).toContain('Stranger');
expect(element.textContent).toContain('0');
const fill = element.querySelector<HTMLElement>('[data-reputation-progress-fill]');