Fix: Add missing i18n EFFECT keys to lang/fr.json

Added missing localization keys for ActiveEffect management:
- createError: Erreur lors de la création de l'effet
- deleteError: Erreur lors de la suppression de l'effet
- applyError: Erreur lors de l'application de l'effet
- applyItemError: Erreur lors de l'application de l'effet sur l'item
- selectActor: Sélectionnez un acteur pour appliquer l'effet
- toggleError: Erreur lors de l'activation/désactivation de l'effet

Added test verification for EFFECT i18n keys

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-06-07 00:51:12 +02:00
parent cd70b70088
commit a8bf356d20
2 changed files with 41 additions and 3 deletions
+35 -3
View File
@@ -191,8 +191,39 @@ if (!durationTypeFound) {
console.log(' ✅ Aucune utilisation de duration.type (utilise duration.units)');
}
// 8. Vérification de l'utilisation du helper subtract
console.log('\n8. Vérification de l\'utilisation du helper subtract :');
// 8. Vérification des clés i18n EFFECT dans lang/fr.json
console.log('\n8. Vérification des clés i18n EFFECT :');
const frJson = require('./lang/fr.json');
const effectKeys = Object.keys(frJson.EFFECT || {});
const requiredEffectKeys = [
'new', 'edit', 'delete', 'deleteConfirm', 'deleteConfirmText',
'deleteError', 'create', 'createError', 'applyError',
'applyItemError', 'selectActor', 'toggleError',
'name', 'icon', 'description', 'changes', 'addChange',
'duration', 'durationType', 'durationValue', 'disabled',
'transfer', 'noDuration', 'rounds', 'turns', 'seconds',
'combat', 'scene', 'attribute', 'value', 'mode',
'modeAdd', 'modeMultiply', 'modeOverride', 'modeUpgrade',
'modeDowngrade', 'activeEffects', 'noActiveEffects',
'effectSummary', 'toggleEffect'
];
let missingKeys = [];
for (const key of requiredEffectKeys) {
if (!effectKeys.includes(key)) {
missingKeys.push(key);
}
}
if (missingKeys.length === 0) {
console.log(` ✅ Toutes les clés EFFECT sont présentes (${effectKeys.length} clés)`);
} else {
console.log(` ❌ Clés EFFECT manquantes : ${missingKeys.join(', ')}`);
}
// 9. Vérification de l'utilisation du helper subtract
console.log('\n9. Vérification de l\'utilisation du helper subtract :');
const subtractPattern = /subtract/g;
const subtractFiles = [
'templates/partial-active-effects.hbs',
@@ -241,9 +272,10 @@ console.log(`Fichier JSON valide: ${errors.length === 0 ? 'Oui' : 'Non'}`);
console.log(`API dépréciée utilisée: ${deprecatedFound ? 'Oui' : 'Non'}`);
console.log(`Référence à effect.webp: ${effectWebpFound ? 'Oui' : 'Non'}`);
console.log(`Utilisation de duration.type: ${durationTypeFound ? 'Oui' : 'Non'}`);
console.log(`Clés i18n EFFECT: ${missingKeys.length === 0 ? 'Complet' : 'Manquantes'}`);
console.log(`Helper subtract: ${(subtractUsed && subtractRegistered) ? 'OK' : (subtractUsed ? 'Manquant' : 'Non utilisé')}`);
if (errors.length === 0 && missingPartials.length === 0 && !deprecatedFound && !effectWebpFound && !durationTypeFound && (subtractUsed ? subtractRegistered : true)) {
if (errors.length === 0 && missingPartials.length === 0 && !deprecatedFound && !effectWebpFound && !durationTypeFound && missingKeys.length === 0 && (subtractUsed ? subtractRegistered : true)) {
console.log('\n✅ Toutes les vérifications ont réussi !');
process.exit(0);
} else {