Chargen-Assistent (Charaktererstellung) und diverse Systemtexte
(Ruestungsarten, Lehren-Beschreibungen fuer Daemonologie/Nekromantie/
Nurgle/Pest/Verderben/Slaanesh/Heimlichkeit/Tzeentch, Waffeneigenschaften,
Krankheitssymptome). Lehren-Bezeichnungen konsistent mit der im Modul
etablierten Terminologie (Lehre des X).
Version auf 8.6.20 angehoben.
Abgleich gegen die aktualisierte fr.json ergab 1166 in de.json fehlende
Schluessel (vermutlich neue wfrp4e-Systemversion seit letztem Sync).
Uebersetzung so nah wie moeglich an etablierter Terminologie aus diesem
Modul (Willenskraft, EG, Ausdauer etc.).
Neue Datei missing_keys_review.json enthaelt alle ergaenzten Keys als
{key: [Original, Uebersetzung]} zur Kontrolle, wird mit jedem weiteren
Batch erweitert.
Version auf 8.6.19 angehoben.
items.json (151), mutations.json (89), spells.json (32), tables.json (31).
actors.json und journals.json waren bereits im richtigen Format.
Gleiches bestaetigt funktionierendes Verfahren wie bei den Core-Dateien.
Reine Strukturumwandlung, keine Eintraege verloren, keine doppelten IDs.
Damit ist die gesamte EIS-Erweiterung umgestellt. Up in Arms war bereits
vollstaendig im richtigen Format (keine Aenderung noetig). Zoo-Items hat
aktuell keine Eintraege (nur Label/Folders/Mapping), daher nichts zu tun.
Version auf 8.6.18 angehoben.
actors.json (62), bestiary.json (62), career-descriptions.json (64),
tables.json (53). Gleiches Verfahren wie bei items.json (8.6.16),
bestaetigt funktionierend. Reine Strukturumwandlung, keine Eintraege
verloren, keine doppelten IDs.
Damit ist das komplette Grundregelwerk-Kompendium (Core) umgestellt.
Version auf 8.6.17 angehoben.
Die aktuelle Babele-Version (2.8+) unterstuetzt das alte Array-Format
('entries': [{id, name, ...}]) laut eigener Dokumentation nur noch als
'deprecated legacy format'. Das bekanntermassen funktionierende
franzoesische Referenzmodul nutzt durchgehend das kanonische
Objekt-Format ('entries': {id: {name, ...}}). Testweise zuerst nur fuer
wfrp4e-core.items.json umgestellt, um die Hypothese zu verifizieren,
bevor die uebrigen Dateien konvertiert werden. Reine Strukturumwandlung,
keine inhaltlichen Aenderungen, keine Eintraege verloren (1631 -> 1631,
keine doppelten IDs).
Version auf 8.6.16 angehoben.
Laut Babele 2.8+ Developer Migration Guide muessen register()/
registerConverters() vor dem Aufbau von Babeles eigener Runtime-Session
erfolgen, ueber einen dedizierten Hook 'babele.init' - nicht in Foundrys
allgemeinem 'init'-Hook. Registrierungen, die zu spaet erfolgen, werden
seit Babele 2.8+ still verworfen ('late calls are rejected'), sobald die
Runtime-Session installiert ist.
Das erklaert das beobachtete Verhalten vollstaendig: Babele las unsere
Uebersetzungsdateien zwar erfolgreich ein (Konsole zeigte 'successfully
loaded'), aber ohne erfolgreiche Registrierung blieb inspectMapping()
fuer betroffene Packs leer (layers: [], effective.mapping: {}), und
isTranslated()/translate() lieferten false/{} zurueck - obwohl die
Match-Daten (id/name) nachweislich korrekt waren. Journals funktionierten
vermutlich ueber eingebaute Babele-Standardmappings, die keine eigene
Registrierung benoetigen.
Fix: game.babele.register(...) und game.babele.registerConverters(...)
laufen jetzt in einem eigenen Hooks.once('babele.init', ...) statt im
bisherigen Hooks.once('init', ...). Ausserdem den fehlerhaften Typ-Check
'game.babele !== "undefined"' (String-Vergleich statt typeof) korrigiert.
Version auf 8.6.15 angehoben.
Portiert aus der aktualisierten, v14-verifizierten franzoesischen
Referenzimplementierung (foundryvtt-wh4-lang-fr-fr). Die aktuelle
Babele-Version liefert im Rueckgabewert von game.babele.translate()
offenbar kein .system-Feld mehr zuverlaessig. Unsere bisherigen Checks
(if (trait_fr?.system)) in der bestiary_traits-Converter-Funktion schlugen
deshalb immer fehl und die Uebersetzung von Traits, Skills, Talenten,
Zaubern, Gebeten, Karrieren, Fahrzeugrollen und Ausruestung auf
NPC-Statblaettern wurde stillschweigend uebersprungen - das Item blieb
englisch.
Fix: Pruefung umgestellt auf if (trait_fr?.name && trait_fr?.name != name_en).
Zusaetzlich uebernommen:
- Gefixte Bonus-Formel-Regex (behebt den 'willpower bonus+4' SyntaxError
bei Zauberformeln, u.a. bei Wolfgang Hollseher aufgetreten)
- \r-Stripping-Bug in Trait-Namen behoben
- Symptom-Namen (Fever, Malaise etc.) werden nicht mehr vom Item-Namen
ueberschrieben
- 'Inspiring'-Sonderfall fuer Talente ergaenzt
Version auf 8.6.14 angehoben.
Letzter Batch. Handcart und Pandora Lostpocket waren in der Batch-Planung
uebersprungen worden und wurden nachtraeglich ergaenzt. Alle 154 Eintraege
in wfrp4e-eis.actors.json sind jetzt vollstaendig ins Deutsche uebersetzt,
0 verbleibende franzoesische Textreste. Version auf 8.6.13 angehoben.
Damit ist die gesamte EIS-Erweiterung (Enemy in Shadows) vollstaendig
uebersetzt: spells.json, mutations.json, tables.json, items.json,
actors.json.
- Remove dead import of babele/script/translated-compendium.js (404,
MIME-type block on load) and its unused TranslatedCompendium usage
- Replace broken game.babele.converters.X() cross-calls (career_skills,
career_careergroup, tableResults) with direct function references,
since Babele 2.8+ wraps converters as objects
- Rename RollTable fields data.text/results[].text -> .description and
documentCollection -> documentUuid to match Babele's current schema
- Migrate ActiveEffect label -> name (Foundry v13 requires name) with
legacy fallback in process_effects, bestiary_traits, effects and
diseases_effects converters
- Fix stray bare duplicate() call and a syntax typo in the infighting
effect script in config-patch.js
- Bump module.json compatibility to minimum 13 / verified 14