feat(content): translate seeded items, locations, and reputation faction to English

Converts all German player-facing content in the API's seed files to
English per the English Game Content Foundation glossary: item
name/description, monster name, location name/description, all
local-location POI/action content, and the border-guard reputation
faction. Technical keys are unchanged.
This commit is contained in:
Bastian Wagner
2026-08-21 20:00:04 +02:00
parent 74fc89dfe5
commit b8ee56ca1a
5 changed files with 101 additions and 101 deletions

View File

@@ -181,7 +181,7 @@ describe('seedVisibleVerticalSlice', () => {
expect.arrayContaining([
expect.objectContaining({
key: 'ash-rat',
name: 'Aschenratte',
name: 'Ash Rat',
level: 1,
maxHp: 45,
attack: 5,
@@ -192,7 +192,7 @@ describe('seedVisibleVerticalSlice', () => {
}),
expect.objectContaining({
key: 'road-bandit',
name: 'Straßenräuber',
name: 'Road Bandit',
level: 2,
maxHp: 75,
attack: 9,
@@ -203,7 +203,7 @@ describe('seedVisibleVerticalSlice', () => {
}),
expect.objectContaining({
key: 'wild-road-dog',
name: 'Verwilderter Straßenhund',
name: 'Feral Road Hound',
level: 1,
silverMin: 0,
silverMax: 0,
@@ -212,7 +212,7 @@ describe('seedVisibleVerticalSlice', () => {
}),
expect.objectContaining({
key: 'charred-looter',
name: 'Verkohlter Plünderer',
name: 'Charred Raider',
level: 2,
silverMin: 0,
silverMax: 0,
@@ -268,14 +268,14 @@ describe('seedVisibleVerticalSlice', () => {
expect(burnedRoad).toEqual(
expect.objectContaining({
regionName: 'Aschenfelder',
regionTierLabel: 'Gebiet 1',
regionName: 'Ashen Fields',
regionTierLabel: 'Tier 1',
locationType: 'HUNTING_GROUND',
localArtworkPath: '/images/backgrounds/Aschestrasse.png',
}),
);
expect(burnedRoad.localDescription).toContain(
'Ein alter Handelsweg, der durch Feuer und Krieg in Asche gelegt wurde.',
'An old trade road, burned to ash by fire and war.',
);
const pointsOfInterest = burnedRoad.localPointsOfInterest as {
@@ -299,10 +299,10 @@ describe('seedVisibleVerticalSlice', () => {
label: string;
}[];
expect(primaryActions.map((action) => action.label)).toEqual([
'Jagd beginnen',
'Spuren untersuchen',
'Umgebung durchsuchen',
'Zur Karte',
'Begin Hunt',
'Investigate tracks',
'Search surroundings',
'To Map',
]);
});
@@ -364,7 +364,7 @@ describe('seedVisibleVerticalSlice', () => {
expect.objectContaining({
id: persistedSouthGateId,
key: 'south-gate',
name: 'Südtor von Graufurt',
name: 'Graufurt South Gate',
}),
expect.objectContaining({
id: BURNED_ROAD_ID,
@@ -420,7 +420,7 @@ describe('seedVisibleVerticalSlice', () => {
expect.arrayContaining([
expect.objectContaining({
key: 'bandit-blade',
name: 'Räuberklinge',
name: 'Bandit Blade',
type: 'EQUIPMENT',
equipmentSlot: 'WEAPON',
rarity: 'COMMON',
@@ -431,13 +431,13 @@ describe('seedVisibleVerticalSlice', () => {
}),
expect.objectContaining({
key: 'ash-pelt',
name: 'Aschenfell',
name: 'Ash Pelt',
type: 'TRADE_GOOD',
equipmentSlot: null,
}),
expect.objectContaining({
key: 'bandit-insignia',
name: 'Räuberabzeichen',
name: 'Bandit Insignia',
type: 'TROPHY',
equipmentSlot: null,
}),
@@ -628,7 +628,7 @@ describe('seedVisibleVerticalSlice', () => {
.getRepository(ReputationFaction)
.findOneBy({ key: 'border-guard' });
expect(faction).toMatchObject({ name: 'Grenzwacht', enabled: true });
expect(faction).toMatchObject({ name: 'Border Watch', enabled: true });
});
it('seeds both turn-in definitions', async () => {