Fix missing translation + translate requirements + add deadlands compendiums

This commit is contained in:
2022-07-05 20:45:50 +02:00
parent 85b0220af8
commit b2ec6c096e
7 changed files with 557 additions and 67 deletions

View File

@ -43,6 +43,28 @@ Hooks.once('translateCompendiumFolders', () => {
console.log("LOADED !!!!!!")
});
/************************************************************************************/
class swadeFrTranslator {
static getRank( 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';
if ( rank == 'Legendary') return 'Légendaire';
return false
}
static getAttribute( attr) {
console.log("Attr is", attr)
if ( attr == "Agility") return 'Agilité';
if ( attr == "Smarts") return 'Intellect';
if ( attr == "Spirit") return 'Ame';
if ( attr == "Strength") return 'Force';
if ( attr == "Vigor") return 'Vigueur';
return false
}
}
/************************************************************************************/
Hooks.once('init', () => {
@ -57,12 +79,49 @@ Hooks.once('init', () => {
Babele.get().registerConverters({
"gear_skill": (skill) => {
let transl = skill
if (skill) {
if (skill == 'Fighting') return 'Combat';
if (skill == 'Shooting') return 'Tir';
console.log("UNKOWN SKILL", skill);
let translated = game.babele.translate( "swade-core-rules.swade-skills", {name: skill.trim()}, true )
transl = translated.name
}
return skill;
return transl
},
"edge_requirements": (req) => {
let reqTab = req.split(",")
let results = []
for (let item of reqTab) {
let keyName = item.match(/([\w\s\(\)]+) (d[\w\+]*)/)
//console.log("Keyword", item, keyName)
if (keyName && keyName[2]) { // This is a skill or attribute
let toTranslate = keyName[1].trim()
let attr = swadeFrTranslator.getAttribute( toTranslate)
if ( attr) { // Test if attribute
results.push( attr + " " + keyName[2].trim())
} else { // Test if skill
let translated = game.babele.translate( "swade-core-rules.swade-skills", {name: toTranslate}, true )
if ( !translated.name) {
translated = game.babele.translate( "deadlands-core-rules.deadlands-skills", {name: toTranslate }, true )
}
let transResult = translated.name || toTranslate
results.push( transResult + " " + keyName[2].trim() )
}
} else { // Rank or edge
let itemName = item.trim()
let rank = swadeFrTranslator.getRank(itemName)
if (rank) {
results.push( rank )
} else {
let translated = game.babele.translate( "swade-core-rules.swade-edges", {name: itemName }, true )
if ( !translated.name) {
translated = game.babele.translate( "deadlands-core-rules.deadlands-edges", {name: itemName }, true )
}
let transResult = translated.name || itemName
results.push( transResult )
}
}
}
console.log(">>>>>>>>>>>>>>>>>>>>>>>>><REQ !!!!", req, results)
return results.join(", ")
},
"gear_range": (range) => {
if (range) {
@ -110,11 +169,7 @@ Hooks.once('init', () => {
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;
return swadeFrTranslator.getRank( rank)
}
} );
}
@ -143,6 +198,7 @@ function registerUsageCount( registerKey ) {
name: "Unique world key",
scope: "world",
config: false,
default: "",
type: String
});