forked from public/foundryvtt-wh4-lang-fr-fr
Few changes
This commit is contained in:
@ -149,39 +149,40 @@ Hooks.once('init', () => {
|
||||
Babele.get().registerConverters({
|
||||
|
||||
"career_skills": (skills_list) => {
|
||||
let compendiumName = 'wfrp4e-core.skills' // Per default
|
||||
if (game.system.version.match("7.")) {
|
||||
compendiumName = 'wfrp4e-core.items'
|
||||
}
|
||||
//console.log( "Thru here ...", compendium, skills_list);
|
||||
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("skill")
|
||||
//DEBUG: console.log( "Thru here ...", compendium, skills_list);
|
||||
if (skills_list) {
|
||||
let i;
|
||||
let len = skills_list.length;
|
||||
let re = /(.*)\((.*)\)/i;
|
||||
for (i = 0; i < len; i++) {
|
||||
skills_list[i] = skills_list[i].trim();
|
||||
let transl = game.babele.translate(compendiumName, { name: skills_list[i] }, true).name;
|
||||
if (!transl) transl = skills_list[i]
|
||||
//console.log("List ...", skills_list[i]);
|
||||
if (transl == skills_list[i]) {
|
||||
let res = re.exec(skills_list[i]);
|
||||
if (res) {
|
||||
//console.log("Matched/split:", res[1], res[2]);
|
||||
let subword = game.i18n.localize(res[2].trim());
|
||||
let s1 = res[1].trim() + " ()";
|
||||
let translw = game.babele.translate(compendiumName, { name: s1 }, true).name;
|
||||
if (translw != s1) {
|
||||
let res2 = re.exec(translw);
|
||||
transl = res2[1] + "(" + subword + ")";
|
||||
} else {
|
||||
s1 = res[1].trim() + " ( )";
|
||||
translw = game.babele.translate(compendiumName, { name: s1 }, true).name;
|
||||
let res2 = re.exec(translw);
|
||||
transl = res2[1] + "(" + subword + ")";
|
||||
for (let compData of validCompendiums) {
|
||||
let transl = game.babele.translate(compData.metadata.id, { name: skills_list[i] }, true).name;
|
||||
if (!transl) transl = skills_list[i]
|
||||
//console.log("List ...", skills_list[i]);
|
||||
if (transl == skills_list[i]) {
|
||||
let res = re.exec(skills_list[i]);
|
||||
if (res) {
|
||||
//console.log("Matched/split:", res[1], res[2]);
|
||||
let subword = game.i18n.localize(res[2].trim());
|
||||
let s1 = res[1].trim() + " ()";
|
||||
let translw = game.babele.translate(compData.metadata.id, { name: s1 }, true).name;
|
||||
if (translw != s1) {
|
||||
let res2 = re.exec(translw);
|
||||
transl = res2[1] + "(" + subword + ")";
|
||||
} else {
|
||||
s1 = res[1].trim() + " ( )";
|
||||
translw = game.babele.translate(compData.metadata.id, { name: s1 }, true).name;
|
||||
let res2 = re.exec(translw);
|
||||
transl = res2[1] + "(" + subword + ")";
|
||||
}
|
||||
}
|
||||
}
|
||||
skills_list[i] = transl;
|
||||
if (transl?.system)
|
||||
break;
|
||||
}
|
||||
skills_list[i] = transl;
|
||||
}
|
||||
}
|
||||
return skills_list;
|
||||
@ -234,39 +235,40 @@ Hooks.once('init', () => {
|
||||
},
|
||||
|
||||
"career_talents": (talents_list) => {
|
||||
let compendiumName = 'wfrp4e-core.talents' // Per default
|
||||
if (game.system.version.match("7.")) {
|
||||
compendiumName = 'wfrp4e-core.items'
|
||||
}
|
||||
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("talent")
|
||||
let i;
|
||||
if (talents_list) {
|
||||
let len = talents_list.length;
|
||||
let re = /(.*)\((.*)\)/i;
|
||||
for (i = 0; i < len; i++) {
|
||||
let transl = game.babele.translate(compendiumName, { name: talents_list[i] }, true).name;
|
||||
if (!transl) transl = talents_list[i]
|
||||
if (transl == talents_list[i]) {
|
||||
let res = re.exec(talents_list[i]);
|
||||
if (res) {
|
||||
//console.log("Matched/split:", res[1], res[2]);
|
||||
let subword = game.i18n.localize(res[2].trim());
|
||||
let s1 = res[1].trim(); // No () in talents table
|
||||
let translw = game.babele.translate(compendiumName, { name: s1 }, true).name;
|
||||
if (translw != s1) {
|
||||
transl = translw + " (" + subword + ")";
|
||||
} else {
|
||||
s1 = res[1].trim() + " ( )";
|
||||
translw = game.babele.translate(compendiumName, { name: s1 }, true).name;
|
||||
let res2 = re.exec(translw);
|
||||
if (res2) {
|
||||
transl = res2[1] + " (" + subword + ")";
|
||||
for (let compData of validCompendiums) {
|
||||
let transl = game.babele.translate(compData.metadata.id, { name: talents_list[i] }, true).name;
|
||||
if (!transl) transl = talents_list[i]
|
||||
if (transl == talents_list[i]) {
|
||||
let res = re.exec(talents_list[i]);
|
||||
if (res) {
|
||||
//console.log("Matched/split:", res[1], res[2]);
|
||||
let subword = game.i18n.localize(res[2].trim());
|
||||
let s1 = res[1].trim(); // No () in talents table
|
||||
let translw = game.babele.translate(compData.metadata.id, { name: s1 }, true).name;
|
||||
if (translw != s1) {
|
||||
transl = translw + " (" + subword + ")";
|
||||
} else {
|
||||
transl = translw
|
||||
s1 = res[1].trim() + " ( )";
|
||||
translw = game.babele.translate(compData.metadata.id, { name: s1 }, true).name;
|
||||
let res2 = re.exec(translw);
|
||||
if (res2) {
|
||||
transl = res2[1] + " (" + subword + ")";
|
||||
} else {
|
||||
transl = translw
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
talents_list[i] = transl;
|
||||
if (transl?.system)
|
||||
break;
|
||||
}
|
||||
talents_list[i] = transl;
|
||||
}
|
||||
}
|
||||
return talents_list;
|
||||
@ -313,30 +315,19 @@ Hooks.once('init', () => {
|
||||
name_en = res[1]; // Get the root traits name
|
||||
special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword
|
||||
}
|
||||
let compendiumName = 'wfrp4e-core.traits' // Per default
|
||||
if (game.system.version.match("7.")) {
|
||||
compendiumName = 'wfrp4e-core.items'
|
||||
}
|
||||
let trait_fr = game.babele.translate(compendiumName, { name: name_en }, true);
|
||||
//console.log(">>>>> Trait ?", name_en, nbt, trait_fr, trait_fr.name, special);
|
||||
if (trait_fr?.name) {
|
||||
trait_fr.name = trait_fr.name || trait_en.name
|
||||
trait_en.name = nbt + trait_fr.name + special;
|
||||
}
|
||||
if (trait_fr.system?.description?.value) {
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
} else if (game.modules.get('wfrp4e-eis')) { // No description in the FR compendium -> test other compendium if presenr
|
||||
trait_fr = game.babele.translate('wfrp4e-eis.items', { name: name_en }, true);
|
||||
if (trait_fr?.name) {
|
||||
trait_en.name = nbt + trait_fr.name + special
|
||||
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("trait")
|
||||
for (let compData of validCompendiums) {
|
||||
let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true)
|
||||
if (trait_fr?.system) {
|
||||
trait_fr.name = trait_fr.name || trait_en.name
|
||||
trait_en.name = nbt + trait_fr.name + special;
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
if (trait_en.system?.specification && isNaN(trait_en.system.specification.value)) { // This is a string, so translate it
|
||||
//console.log("Translating : ", trait_en.system.specification.value);
|
||||
trait_en.system.specification.value = game.i18n.localize(trait_en.system.specification.value.trim());
|
||||
}
|
||||
break // Translation has been found, skip other compendiums
|
||||
}
|
||||
if (trait_fr.system?.description?.value) {
|
||||
trait_en.system.description.value = trait_fr.system.description.value
|
||||
}
|
||||
}
|
||||
if (trait_en.system?.specification && isNaN(trait_en.system.specification.value)) { // This is a string, so translate it
|
||||
//console.log("Translating : ", trait_en.system.specification.value);
|
||||
trait_en.system.specification.value = game.i18n.localize(trait_en.system.specification.value.trim());
|
||||
}
|
||||
} else if (trait_en.type == "skill") {
|
||||
if (name_en.includes("(") && name_en.includes(")")) { // Then process specific skills name with (xxxx) inside
|
||||
@ -345,50 +336,45 @@ Hooks.once('init', () => {
|
||||
name_en = res[1].trim(); // Get the root skill name
|
||||
special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword
|
||||
}
|
||||
let compendiumSkills = 'wfrp4e-core.skills' // Per default
|
||||
if (game.system.version.match("7.")) {
|
||||
compendiumSkills = 'wfrp4e-core.items'
|
||||
}
|
||||
let trait_fr = game.babele.translate(compendiumSkills, { name: name_en }, true);
|
||||
//console.log(">>>>> Skill ?", name_en, special, trait_fr.name, trait_fr);
|
||||
trait_fr.name = trait_fr.name || name_en
|
||||
if (trait_fr.name != name_en) { // Translation OK
|
||||
trait_en.name = trait_fr.name + special;
|
||||
if (trait_fr.system) {
|
||||
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("skill")
|
||||
for (let compData of validCompendiums) {
|
||||
let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true)
|
||||
if (trait_fr?.system) {
|
||||
//console.log(">>>>> Skill ?", name_en, special, trait_fr.name, trait_fr);
|
||||
trait_fr.name = trait_fr.name || name_en
|
||||
trait_en.name = trait_fr.name + special;
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
break; // Translation has been found, skip other compendiums
|
||||
}
|
||||
}
|
||||
|
||||
} else if (trait_en.type == "prayer") {
|
||||
let compendiumPrayers = 'wfrp4e-core.prayers' // Per default
|
||||
if (game.system.version.match("7.")) {
|
||||
compendiumPrayers = 'wfrp4e-core.items'
|
||||
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("prayer")
|
||||
for (let compData of validCompendiums) {
|
||||
let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true)
|
||||
if (trait_fr?.system) {
|
||||
//DEBUG : console.log(">>>>> Prayer ?", name_en, special, trait_fr.name );
|
||||
trait_fr.name = trait_fr.name || name_en
|
||||
trait_en.name = trait_fr.name + special;
|
||||
if (trait_fr.system?.description?.value) {
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
let trait_fr = game.babele.translate(compendiumPrayers, { name: name_en }, true);
|
||||
//console.log(">>>>> Prayer ?", name_en, special, trait_fr.name );
|
||||
trait_fr.name = trait_fr.name || name_en
|
||||
trait_en.name = trait_fr.name + special;
|
||||
if (trait_fr.system?.description?.value)
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
|
||||
} else if (trait_en.type == "spell") {
|
||||
let compendiumSpells = 'wfrp4e-core.spells' // Per default
|
||||
if (game.system.version.match("7.")) {
|
||||
compendiumSpells = 'wfrp4e-core.items'
|
||||
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("spell")
|
||||
for (let compData of validCompendiums) {
|
||||
let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true)
|
||||
if (trait_fr?.system) {
|
||||
trait_fr.name = trait_fr.name || name_en
|
||||
//DEBUG : console.log(">>>>> Spell ?", name_en, special, trait_fr.name );
|
||||
trait_en.name = trait_fr.name + special;
|
||||
if (trait_fr.system?.description?.value) {
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
let trait_fr = game.babele.translate(compendiumSpells, { name: name_en }, true)
|
||||
if (trait_fr.name == name_en) { // If no translation, test eisspells
|
||||
trait_fr = game.babele.translate('wfrp4e-eis.eisspells', { name: name_en }, true);
|
||||
}
|
||||
if (trait_fr.name == name_en) { // If no translation, test unofficial grimoire
|
||||
trait_fr = game.babele.translate('wfrp4e-unofficial-grimoire.ug-spells', { name: name_en }, true);
|
||||
}
|
||||
trait_fr.name = trait_fr.name || name_en
|
||||
//console.log(">>>>> Spell ?", name_en, special, trait_fr.name );
|
||||
trait_en.name = trait_fr.name + special;
|
||||
if (trait_fr.system?.description?.value)
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
|
||||
} else if (trait_en.type == "talent") {
|
||||
if (name_en.includes("(") && name_en.includes(")")) { // Then process specific skills name with (xxxx) inside
|
||||
let re = /(.*) +\((.*)\)/i;
|
||||
@ -396,45 +382,44 @@ Hooks.once('init', () => {
|
||||
name_en = res[1].trim(); // Get the root talent name, no parenthesis this time...
|
||||
special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword
|
||||
}
|
||||
let compendiumTalents = 'wfrp4e-core.talents' // Per default
|
||||
if (game.system.version.match("7.")) {
|
||||
compendiumTalents = 'wfrp4e-core.items'
|
||||
}
|
||||
let trait_fr = game.babele.translate(compendiumTalents, { name: name_en }, true)
|
||||
trait_fr.name = trait_fr.name || name_en // Security since babele v10
|
||||
//console.log(">>>>> Talent ?", trait_fr, name_en, special, trait_fr.name);
|
||||
if (trait_fr.name != "Sprinter" && trait_fr.name == name_en) { // If no translation, test ugtalents
|
||||
trait_fr = game.babele.translate('wfrp4e-unofficial-grimoire.ug-careerstalentstraits', { name: name_en }, true);
|
||||
trait_fr.name = trait_fr.name || name_en // Security since babele v10
|
||||
}
|
||||
if (trait_fr.name && (trait_fr.name == "Sprinter" || trait_fr.name != name_en)) { // Talent translated!
|
||||
trait_en.name = trait_fr.name.trim() + special
|
||||
if (trait_fr.system?.description?.value) { // Why ???
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("talent")
|
||||
for (let compData of validCompendiums) {
|
||||
let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true)
|
||||
if (trait_fr?.system) {
|
||||
trait_fr.name = trait_fr.name || name_en // Security since babele v10
|
||||
//console.log(">>>>> Talent ?", trait_fr, name_en, special, trait_fr.name);
|
||||
if (trait_fr.name && (trait_fr.name == "Sprinter" || trait_fr.name != name_en)) { // Talent translated!
|
||||
trait_en.name = trait_fr.name.trim() + special
|
||||
if (trait_fr.system?.description?.value) { // Why ???
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if (trait_en.type == "career") {
|
||||
let compendiumCareers = 'wfrp4e-core.careers' // Per default
|
||||
if (game.system.version.match("7.")) {
|
||||
compendiumCareers = 'wfrp4e-core.items'
|
||||
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("career")
|
||||
for (let compData of validCompendiums) {
|
||||
let career_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true);
|
||||
if (career_fr?.system) {
|
||||
trait_en.name = career_fr.name || trait_en.name
|
||||
// DEBG: console.log(">>>>> Career ?", career_fr.name );
|
||||
trait_en.system = duplicate(career_fr.system);
|
||||
break;
|
||||
}
|
||||
}
|
||||
let career_fr = game.babele.translate(compendiumCareers, { name: name_en }, true);
|
||||
trait_en.name = career_fr.name || trait_en.name
|
||||
//console.log(">>>>> Career ?", career_fr.name );
|
||||
if (career_fr?.system) {
|
||||
trait_en.system = duplicate(career_fr.system);
|
||||
}
|
||||
|
||||
} else if (trait_en.type == "trapping" || trait_en.type == "weapon" || trait_en.type == "armour" || trait_en.type == "container" || trait_en.type == "money") {
|
||||
let compendiumTrappings = 'wfrp4e-core.trappings' // Per default
|
||||
if (game.system.version.match("7.")) {
|
||||
compendiumTrappings = 'wfrp4e-core.items'
|
||||
}
|
||||
let trapping_fr = game.babele.translate(compendiumTrappings, { name: name_en }, true);
|
||||
//console.log(">>>>> Trapping ?", name_en, trapping_fr.name);
|
||||
trait_en.name = trapping_fr.name || trait_en.name
|
||||
if (trapping_fr.system?.description?.value) {
|
||||
trait_en.system.description.value = trapping_fr.system.description.value
|
||||
let validCompendiums = game.wfrp4e.tags.getPacksWithTag(["trapping"], ["weapon", "armour", "container", "money"])
|
||||
for (let compData of validCompendiums) {
|
||||
let trapping_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true);
|
||||
if (trapping_fr?.system) {
|
||||
//console.log(">>>>> Trapping ?", name_en, trapping_fr.name);
|
||||
trait_en.name = trapping_fr.name || trait_en.name
|
||||
if (trapping_fr.system?.description?.value) {
|
||||
trait_en.system.description.value = trapping_fr.system.description.value
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -486,18 +471,13 @@ Hooks.once('init', () => {
|
||||
}
|
||||
//console.log("Carre groupe : ", value )
|
||||
// Per default
|
||||
let compendiumCareers = 'wfrp4e-core.careers' // Per default
|
||||
if (game.system.version.match("7.")) {
|
||||
compendiumCareers = 'wfrp4e-core.items'
|
||||
}
|
||||
let compendium = game.packs.find(p => p.collection === compendiumCareers);
|
||||
if (compendium) {
|
||||
let newName = game.babele.translate(compendiumCareers, { name: value }).name
|
||||
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("career")
|
||||
for (let compData of validCompendiums) {
|
||||
let newName = game.babele.translate(compData.metadata.id, { name: value }).name
|
||||
if (!newName) newName = value
|
||||
return newName
|
||||
} else {
|
||||
ui.notifications.error("Impossible de trouver la carrière " + value + ". Elle n'est probablement pas traduite.", { permanent: true })
|
||||
}
|
||||
ui.notifications.error("Impossible de trouver la carrière " + value + ". Elle n'est probablement pas traduite.", { permanent: true })
|
||||
return value
|
||||
},
|
||||
|
||||
|
Reference in New Issue
Block a user