From ca3e072807c117851c86df94e91c9423824b6042 Mon Sep 17 00:00:00 2001 From: Bastian Wagner Date: Fri, 21 Aug 2026 21:52:53 +0200 Subject: [PATCH] feat(web): translate inventory and item-detail screen copy to English --- .../inventory-detail-panel.component.html | 12 +++--- .../inventory-detail-panel.component.spec.ts | 10 ++--- .../inventory/inventory-page.component.html | 38 +++++++++---------- .../inventory-page.component.spec.ts | 4 +- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/apps/web/src/app/features/inventory/inventory-detail-panel.component.html b/apps/web/src/app/features/inventory/inventory-detail-panel.component.html index 71b257b..4c912f1 100644 --- a/apps/web/src/app/features/inventory/inventory-detail-panel.component.html +++ b/apps/web/src/app/features/inventory/inventory-detail-panel.component.html @@ -1,5 +1,5 @@ -
-

Gewählter Gegenstand

+
+

Selected Item

@if (item(); as item) {
@if (item.equipped) { - Ausgerüstet + Equipped } @else if (!isEquippable()) { - Nicht ausrüstbar + Not equippable } @else { }
} @else { -

Wähle einen Gegenstand aus deinem Inventar.

+

Select an item from your inventory.

}
diff --git a/apps/web/src/app/features/inventory/inventory-detail-panel.component.spec.ts b/apps/web/src/app/features/inventory/inventory-detail-panel.component.spec.ts index 1efe13f..1c29b49 100644 --- a/apps/web/src/app/features/inventory/inventory-detail-panel.component.spec.ts +++ b/apps/web/src/app/features/inventory/inventory-detail-panel.component.spec.ts @@ -78,11 +78,11 @@ describe('InventoryDetailPanelComponent', () => { expect((fixture.nativeElement as HTMLElement).querySelector('[data-detail-empty]')).not.toBeNull(); }); - it('shows Ausgerüstet for the currently equipped item, with no equip button', async () => { + it('shows Equipped for the currently equipped item, with no equip button', async () => { const fixture = await setup({ item: wornSword }); const element = fixture.nativeElement as HTMLElement; - expect(element.querySelector('[data-detail-equipped]')?.textContent).toContain('Ausgerüstet'); + expect(element.querySelector('[data-detail-equipped]')?.textContent).toContain('Equipped'); expect(element.querySelector('[data-detail-equip]')).toBeNull(); }); @@ -90,7 +90,7 @@ describe('InventoryDetailPanelComponent', () => { const fixture = await setup({ item: ashPelt }); const element = fixture.nativeElement as HTMLElement; - expect(element.textContent).toContain('Nicht ausrüstbar'); + expect(element.textContent).toContain('Not equippable'); expect(element.querySelector('[data-detail-equip]')).toBeNull(); expect(element.querySelector('[data-detail-equipped]')).toBeNull(); }); @@ -123,10 +123,10 @@ describe('InventoryDetailPanelComponent', () => { const button = element.querySelector('[data-detail-equip]'); expect(button?.disabled).toBe(false); - expect(button?.textContent?.trim()).toBe('Ausrüsten'); + expect(button?.textContent?.trim()).toBe('Equip'); }); - it('emits equip with the characterItemId when Ausrüsten is clicked', async () => { + it('emits equip with the characterItemId when Equip is clicked', async () => { const fixture = await setup({ item: banditBlade }); const emitted: string[] = []; fixture.componentInstance.equip.subscribe((id: string) => emitted.push(id)); diff --git a/apps/web/src/app/features/inventory/inventory-page.component.html b/apps/web/src/app/features/inventory/inventory-page.component.html index b82c877..bb2c6e7 100644 --- a/apps/web/src/app/features/inventory/inventory-page.component.html +++ b/apps/web/src/app/features/inventory/inventory-page.component.html @@ -1,14 +1,14 @@ -
-

Inventar

+
+

Inventory

@if (inventoryStore.loading() && !inventoryStore.inventory()) { -

Inventar wird geladen…

+

Loading inventory…

} @else if (inventoryStore.inventory(); as inventory) {
-
-

Ausrüstung

+
+

Equipment

@if (inventoryStore.equipment(); as equipment) {
@@ -20,7 +20,7 @@ }
- +
@for (slot of dollRight; track slot) { @@ -43,23 +43,23 @@
@if (inventoryStore.equipment(); as equipment) { -
-

Werte

+
+

Stats

-
Leben
+
Health
{{ equipment.stats.maxHp }}
-
Angriff
+
Attack
{{ equipment.stats.attack }}
-
Waffenschaden
+
Weapon Damage
{{ equipment.stats.weaponDamage }}
-
Rüstung
+
Armor
{{ equipment.stats.armor }}
@@ -68,8 +68,8 @@
-
-

Beutel

+
+

Bag

@for (entry of bagCells(); track $index) { @@ -90,7 +90,7 @@ } @if (entry.equipped) { - Ausgerüstet + Equipped } @@ -101,9 +101,9 @@
- {{ bagUsed() }} / {{ bagCapacity() }} Plätze belegt + {{ bagUsed() }} / {{ bagCapacity() }} slots used @if (bagUsed() === 0) { - Noch keine Gegenstände gefunden. + No items found yet. }
@@ -122,7 +122,7 @@ @if (inventoryStore.error(); as error) { }
@@ -147,7 +147,7 @@ {{ entry.item.name }} } @else { - Leer + Empty }
diff --git a/apps/web/src/app/features/inventory/inventory-page.component.spec.ts b/apps/web/src/app/features/inventory/inventory-page.component.spec.ts index 0c17d7f..11a2b50 100644 --- a/apps/web/src/app/features/inventory/inventory-page.component.spec.ts +++ b/apps/web/src/app/features/inventory/inventory-page.component.spec.ts @@ -145,14 +145,14 @@ describe('InventoryPageComponent', () => { expect(inventoryStore.selectItem).toHaveBeenCalledWith('item-blade'); }); - it('shows the equipment overview with all seven slots and empty ones as Leer', async () => { + it('shows the equipment overview with all seven slots and empty ones as Empty', async () => { const { fixture } = await setup(); const text = (fixture.nativeElement as HTMLElement).querySelector('.inventory-page__equipment-list')?.textContent ?? ''; expect(text).toContain('Weapon'); expect(text).toContain('Abgenutztes Kurzschwert'); expect(text).toContain('Head'); - expect(text).toContain('Leer'); + expect(text).toContain('Empty'); }); it('shows the effective stats summary from the equipment response', async () => {