2026-03-11 18:33:10 +01:00
# Bug tracker
Les sujets dans FIXME doivent être corrigé, puis déplacé dans "DONE", puis commit de ce fichier avec le fix.
# FIXME
Fix adventure parsing, add French accents, fix cosmetic translation bug
- Fix Loreline parsing: escape quotes in dialogue, remove [if] bracket
syntax, remove # in text conflicting with tags
- Add French accents to all 9 .fr.lor translation files (hundreds of fixes)
- Fix cosmetic equip display: use item nameKey lookup instead of
constructing key from cosmeticValue (fixes StardustLegendary MISSING)
- Deduplicate cosmetics in appearance menu
- Localize all hardcoded strings (welcome, inventory, adventure, cosmetic)
- Add new tests: Loreline parsing (19), cosmetic slot keys, slot+value
uniqueness (302 total, 0 failures)
2026-03-11 20:40:07 +01:00
# DONE
2026-03-11 18:33:10 +01:00
Fix adventure parsing, add French accents, fix cosmetic translation bug
- Fix Loreline parsing: escape quotes in dialogue, remove [if] bracket
syntax, remove # in text conflicting with tags
- Add French accents to all 9 .fr.lor translation files (hundreds of fixes)
- Fix cosmetic equip display: use item nameKey lookup instead of
constructing key from cosmeticValue (fixes StardustLegendary MISSING)
- Deduplicate cosmetics in appearance menu
- Localize all hardcoded strings (welcome, inventory, adventure, cosmetic)
- Add new tests: Loreline parsing (19), cosmetic slot keys, slot+value
uniqueness (302 total, 0 failures)
2026-03-11 20:40:07 +01:00
## missing translation
2026-03-11 18:33:10 +01:00
```
Fix adventure parsing, add French accents, fix cosmetic translation bug
- Fix Loreline parsing: escape quotes in dialogue, remove [if] bracket
syntax, remove # in text conflicting with tags
- Add French accents to all 9 .fr.lor translation files (hundreds of fixes)
- Fix cosmetic equip display: use item nameKey lookup instead of
constructing key from cosmeticValue (fixes StardustLegendary MISSING)
- Deduplicate cosmetics in appearance menu
- Localize all hardcoded strings (welcome, inventory, adventure, cosmetic)
- Add new tests: Loreline parsing (19), cosmetic slot keys, slot+value
uniqueness (302 total, 0 failures)
2026-03-11 20:40:07 +01:00
Cheveux équipé : [MISSING:cosmetic.hair.stardustlegendary]
2026-03-11 18:33:10 +01:00
```
Fix adventure parsing, add French accents, fix cosmetic translation bug
- Fix Loreline parsing: escape quotes in dialogue, remove [if] bracket
syntax, remove # in text conflicting with tags
- Add French accents to all 9 .fr.lor translation files (hundreds of fixes)
- Fix cosmetic equip display: use item nameKey lookup instead of
constructing key from cosmeticValue (fixes StardustLegendary MISSING)
- Deduplicate cosmetics in appearance menu
- Localize all hardcoded strings (welcome, inventory, adventure, cosmetic)
- Add new tests: Loreline parsing (19), cosmetic slot keys, slot+value
uniqueness (302 total, 0 failures)
2026-03-11 20:40:07 +01:00
=> Cause : le code construisait la clé de trad à partir de `cosmeticValue.ToLower()` (`stardustlegendary` ) au lieu d'utiliser le `nameKey` de l'item (`cosmetic.hair.stardust` ). Les tests existants vérifiaient les `nameKey` (qui existaient bien), mais pas la clé construite dynamiquement par le code.
=> Fix : `ChangeAppearance()` recherche maintenant l'item par `(CosmeticSlot, CosmeticValue)` dans le registre et utilise son `nameKey` pour la traduction.
=> Tests ajoutés : `CosmeticSlots_HaveLocalizationKeys` (vérifie les clés `cosmetic.slot.*` ) et `CosmeticItems_CanBeResolvedBySlotAndValue` (vérifie qu'aucune paire slot+value n'est ambiguë).