Ficha de personaje: zona/raza/clase multiidioma (ES/EN)

Añade mapa de zonas en inglés (lib/data/zone-names-en.json, 9675 zonas de
FusionCMS wow_zones.php; cobertura 100% de los ids del mapa ES) y nombres de
raza/clase EN (wow_constants.php). getZoneName/getRaceName/getClassName aceptan
locale (EN cae a ES si falta). getAccountDashboard(session, locale) lo propaga y
my-account pasa el idioma. El dinero (oro/plata/cobre) usa iconos, universal.
Verificado: Innadin -> Human/Paladin/Stormwind City en /en.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-14 20:11:30 +00:00
parent 794021f9a3
commit 2e9106f0bf
4 changed files with 42 additions and 12 deletions
+4 -4
View File
@@ -53,7 +53,7 @@ export interface AccountDashboard {
}
/** Datos del panel de cuenta. Resiliente si las BD de AzerothCore no están pobladas. */
export async function getAccountDashboard(session: SessionData): Promise<AccountDashboard> {
export async function getAccountDashboard(session: SessionData, locale = 'es'): Promise<AccountDashboard> {
const accountId = session.accountId ?? 0
let dp = 0
@@ -159,10 +159,10 @@ export async function getAccountDashboard(session: SessionData): Promise<Account
copper: r.money % 100,
race: r.race,
classId: r.class,
className: getClassName(r.class),
raceName: getRaceName(r.race),
className: getClassName(r.class, locale),
raceName: getRaceName(r.race, locale),
classCss: getClassCss(r.class),
zone: getZoneName(r.zone),
zone: getZoneName(r.zone, locale),
imageUrl: getCharacterImage(r.class, r.race, r.gender),
}))
} catch {