Fix: Add missing MNBL i18n keys and show effects tab always
- Added MNBL.details and MNBL.description to lang/fr.json - Removed conditional display of effects tab in partial-item-nav.hbs - Effects tab now always visible in item sheets - Added MNBL i18n keys verification to test script Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
@@ -47,6 +47,8 @@
|
|||||||
"chaos": "Chaos",
|
"chaos": "Chaos",
|
||||||
"difficulty": "Difficulté",
|
"difficulty": "Difficulté",
|
||||||
"duration": "Durée",
|
"duration": "Durée",
|
||||||
|
"details": "Détails",
|
||||||
|
"description": "Description",
|
||||||
"elementslords": "Seigneurs des Éléments",
|
"elementslords": "Seigneurs des Éléments",
|
||||||
"equipment": "Equipement",
|
"equipment": "Equipement",
|
||||||
"examples": "Exemples",
|
"examples": "Exemples",
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
{{!-- Sheet Tab Navigation --}}
|
{{!-- Sheet Tab Navigation --}}
|
||||||
<hr />
|
<hr />
|
||||||
<nav class="sheet-tabs tabs" data-group="primary">
|
<nav class="sheet-tabs tabs" data-group="primary">
|
||||||
<a class="item" data-tab="description">Description</a>
|
<a class="item" data-tab="description" aria-label="{{localize 'MNBL.description'}}">{{localize "MNBL.description"}}</a>
|
||||||
<a class="item" data-tab="details">Details</a>
|
<a class="item" data-tab="details" aria-label="{{localize 'MNBL.details'}}">{{localize "MNBL.details"}}</a>
|
||||||
{{#if item.effects.length}}
|
<a class="item" data-tab="effects" aria-label="{{localize 'MOURNBLADECYD2.EFFECT.activeEffects'}}">{{localize "MOURNBLADECYD2.EFFECT.activeEffects"}}</a>
|
||||||
<a class="item" data-tab="effects">Effets</a>
|
|
||||||
{{/if}}
|
|
||||||
</nav>
|
</nav>
|
||||||
<hr />
|
<hr />
|
||||||
|
|||||||
+32
-3
@@ -222,8 +222,36 @@ if (missingKeys.length === 0) {
|
|||||||
console.log(` ❌ Clés EFFECT manquantes : ${missingKeys.join(', ')}`);
|
console.log(` ❌ Clés EFFECT manquantes : ${missingKeys.join(', ')}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 9. Vérification de l'utilisation du helper subtract
|
// 9. Vérification des clés i18n MNBL dans lang/fr.json
|
||||||
console.log('\n9. Vérification de l\'utilisation du helper subtract :');
|
console.log('\n9. Vérification des clés i18n MNBL :');
|
||||||
|
const mnblKeys = Object.keys(frJson.MNBL || {});
|
||||||
|
|
||||||
|
const requiredMnblKeys = [
|
||||||
|
'all', 'allegiance', 'balance', 'beastslords', 'chaos',
|
||||||
|
'difficulty', 'duration', 'details', 'description',
|
||||||
|
'elementslords', 'equipment', 'examples', 'exercisedskills',
|
||||||
|
'highlanguage', 'initiateTalents', 'law', 'mode', 'mainattribute',
|
||||||
|
'none', 'aguerriTalents', 'prerequisitesAguerri', 'prerequisitesMaitre',
|
||||||
|
'prerequisites', 'maitreTalents', 'pronounced', 'pronouncedrune',
|
||||||
|
'pronouncerune', 'rune', 'soulcost', 'soulpoints', 'traced',
|
||||||
|
'tracedrune', 'tracerune'
|
||||||
|
];
|
||||||
|
|
||||||
|
let missingMnblKeys = [];
|
||||||
|
for (const key of requiredMnblKeys) {
|
||||||
|
if (!mnblKeys.includes(key)) {
|
||||||
|
missingMnblKeys.push(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (missingMnblKeys.length === 0) {
|
||||||
|
console.log(` ✅ Toutes les clés MNBL sont présentes (${mnblKeys.length} clés)`);
|
||||||
|
} else {
|
||||||
|
console.log(` ❌ Clés MNBL manquantes : ${missingMnblKeys.join(', ')}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 10. Vérification de l'utilisation du helper subtract
|
||||||
|
console.log('\n10. 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',
|
||||||
@@ -273,9 +301,10 @@ 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(`Clés i18n EFFECT: ${missingKeys.length === 0 ? 'Complet' : 'Manquantes'}`);
|
||||||
|
console.log(`Clés i18n MNBL: ${missingMnblKeys.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 && missingKeys.length === 0 && (subtractUsed ? subtractRegistered : true)) {
|
if (errors.length === 0 && missingPartials.length === 0 && !deprecatedFound && !effectWebpFound && !durationTypeFound && missingKeys.length === 0 && missingMnblKeys.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