swade-fr-content/module/modules/swade-fr-init.js
Cyril 73c7309a35 Correction des traductions des portées et durée
Smarts était traduite "Âme mètres" au lieu de "Intellect" (qui est en cases et non en mètres).
Corrigé les casses et accords pour correspondre au livre officiel.
2021-04-10 17:26:50 +02:00

106 lines
4.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/************************************************************************************/
Hooks.once('init', () => {
if(typeof Babele !== 'undefined') {
console.log("BABELE LOADED !!!");
Babele.get().register({
module: 'swade-fr',
lang: 'fr',
dir: 'compendiums'
});
Babele.get().registerConverters({
"powers_duration": (duration) => {
if ( duration == 'One hour') return '1 heure';
if ( duration == 'Instant (slot); 5 (speed)') return 'Instantanée (apathie), 5 (vitesse)';
if ( duration == '(boost); Instant (lower)') return '5 (augmentation), Instantanée (diminution)';
if ( duration == 'Instant') return 'Instantannée';
if ( duration == 'Until the end of the victim\'s next turn') return 'Jusquà la fin du prochain tour de la victime';
if ( duration == 'A brief conversation of about five minutes') return 'Une brève conversation d\'environ 5 minutes';
if ( duration == '5 (detect), one hour (conceal)') return '5 (détection), 1 heure (dissimulation)';
if ( duration == 'Instant (Sound); 5 (Silence)') return 'Instantanée (son), 5 (silence)';
return duration;
},
"powers_range": (range) => {
if ( range == 'Smarts x5 (Sound); Smarts (Silence)')
return 'Intellect ×5 (son), Intellect (silence)';
if ( range == "Cone Template")
return "Gabarit de cône"
if ( range == "Touch")
return "Toucher"
if ( range == "Sm")
return "Intellect"
if ( range == "Sm x 2" || range == "Sm x2")
return "Intellect x2"
if ( range == "Self")
return "Personnel"
return range;
},
"powers_rank": (rank) => {
if ( rank == 'Novice') return 'Novice';
if ( rank == 'Seasoned') return 'Aguerri';
if ( rank == 'Veteran') return 'Vétéran';
if ( rank == 'Heroic') return 'Héroïque';
return rank;
}
} );
}
});
/************************************************************************************/
const transFolder = { "Actor": "Acteur", "Edges": "Atouts"}
const subFolder = { 'Social Edges': 'Atouts sociaux', 'Background Edges': 'Atouts de Background', 'Combat Edges': 'Atouts de combat',
'Leadership Edges': 'Atouts de commandement', 'Legendary Edges': 'Atouts légendaires', 'Power Edges': 'Atouts de pouvoir',
'Professional Edges': 'Atouts professionnels', 'Weird Edges': 'Atouts étranges', 'Edges': 'Atouts', 'Hindrances': 'Handicaps', 'Skills': 'Compétences',
'Equipment': 'Equipement', 'Ammo': 'Munitions', 'Armor': 'Armure', 'Common Gear': 'Matériel commun', 'Modern Firearms': 'Armes à feu modernes',
'Personal Weapons': 'Armes', 'Special Weapons': 'Armes spéciales', 'Bullet': 'Balles', 'Cannon': 'Canon', 'Laser Battery': 'Batterie Laser',
'Adventuring Gear': 'Matériel d\'aventure', 'Animals and Tack': 'Animaux', 'Clothing': 'Vêtements', 'Computers & Electronics':'Ordinateurs et Electroniques',
'Firearms Accessories': 'Accessoires armes à feu', 'Food': 'Nourriture', 'Personal Defense': 'Auto-défense', 'Futuristic': 'Futuriste',
'Medieval & Ancient': 'Médiévale et Antiquité', 'Modern': 'Moderne', 'Shields': 'Boucliers', 'Laser (Futuristic)': 'Laser (Fururiste)',
'Machine Guns': 'Mitraillettes', 'Pistols': 'Pistolets', 'Rifles': 'Fusils', 'Submachine Guns': 'Semi-automatiques', 'Cannons': 'Canons',
'Catapults': 'Catapultes', 'Flamethrowers': 'Lance-flammes', 'Rocket Launchers & Torpedoes': 'Lance roquettes et torpilles',
'Vehicular Weapons': 'Armes de véhicules' }
/************************************************************************************/
const __translate_sub_folders = async (packName) => {
let pack = game.packs.get(packName)
pack.locked = false;
let folderEntityIds = pack.index.filter(x => x.name === "#[CF_tempEntity]");
for ( let index of folderEntityIds) {
let folderEntity = await pack.getEntity(index._id);
//console.log("Fold1", folderEntity);
let newName = subFolder[folderEntity.data.flags.cf.name];
if ( newName) {
await pack.updateEntity({ _id: index._id, 'flags.cf.name': newName } );
}
}
}
/************************************************************************************/
const __fix_folder_names = async ( ) => {
if ( game.customFolders.compendium.folders ) {
for ( let [key, trans] in transFolder) {
for ( let folder of game.customFolders.compendium.folders.entries) {
folder.name = trans;
folder.save(false);
}
}
}
__translate_sub_folders("swade-core-rules.swade-edges");
__translate_sub_folders("swade-core-rules.swade-hindrances");
__translate_sub_folders("swade-core-rules.swade-equipment");
}
/************************************************************************************/
Hooks.once('ready', () => {
if (game.user.isGM) {
setTimeout( __fix_folder_names, 4000, true, false);
}
});