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:
@@ -78,7 +78,13 @@
|
|||||||
"delete": "Supprimer l'effet",
|
"delete": "Supprimer l'effet",
|
||||||
"deleteConfirm": "Supprimer l'effet",
|
"deleteConfirm": "Supprimer l'effet",
|
||||||
"deleteConfirmText": "Êtes-vous sûr de vouloir supprimer cet effet ?",
|
"deleteConfirmText": "Êtes-vous sûr de vouloir supprimer cet effet ?",
|
||||||
|
"deleteError": "Erreur lors de la suppression de l'effet",
|
||||||
"create": "Créer un effet",
|
"create": "Créer un effet",
|
||||||
|
"createError": "Erreur lors de la création 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",
|
||||||
"name": "Nom de l'effet",
|
"name": "Nom de l'effet",
|
||||||
"icon": "Icône",
|
"icon": "Icône",
|
||||||
"description": "Description",
|
"description": "Description",
|
||||||
|
|||||||
+35
-3
@@ -191,8 +191,39 @@ if (!durationTypeFound) {
|
|||||||
console.log(' ✅ Aucune utilisation de duration.type (utilise duration.units)');
|
console.log(' ✅ Aucune utilisation de duration.type (utilise duration.units)');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 8. 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 de l\'utilisation du helper subtract :');
|
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 subtractPattern = /subtract/g;
|
||||||
const subtractFiles = [
|
const subtractFiles = [
|
||||||
'templates/partial-active-effects.hbs',
|
'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(`API dépréciée utilisée: ${deprecatedFound ? 'Oui' : 'Non'}`);
|
||||||
console.log(`Référence à effect.webp: ${effectWebpFound ? 'Oui' : 'Non'}`);
|
console.log(`Référence à effect.webp: ${effectWebpFound ? 'Oui' : 'Non'}`);
|
||||||
console.log(`Utilisation de duration.type: ${durationTypeFound ? '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é')}`);
|
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 !');
|
console.log('\n✅ Toutes les vérifications ont réussi !');
|
||||||
process.exit(0);
|
process.exit(0);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user