forked from public/foundryvtt-wh4-lang-fr-fr
Change for supporting wfrp 9/ Foundry 13
This commit is contained in:
@@ -3,7 +3,7 @@ import loadScripts from "./loadScripts.js";
|
||||
import statParserFR from "./import-stat-2.js";
|
||||
|
||||
/************************************************************************************/
|
||||
var compmod = "wfrp4e-core";
|
||||
let compmod = "wfrp4e-core";
|
||||
const vo_conditions = {
|
||||
"ablaze": "Ablaze",
|
||||
"bleeding": "Bleeding",
|
||||
@@ -52,7 +52,6 @@ export class WFRP4FrTranslation {
|
||||
}
|
||||
|
||||
static processSpellContent(value) {
|
||||
//console.log("Spell duration/range/damage/target :", value);
|
||||
if (value == "") return ""; // Hop !
|
||||
if (value == "Touch") return "Contact"; // Hop !
|
||||
if (value == "You") return "Vous"; // Hop !
|
||||
@@ -60,7 +59,6 @@ export class WFRP4FrTranslation {
|
||||
let translw = value;
|
||||
let re = /(.*)\s+[Bb]onus\s*(\w*)/i;
|
||||
let res = re.exec(value);
|
||||
//console.log("RES1:", res);
|
||||
let unit = "";
|
||||
if (res) { // Test "<charac> Bonus <unit>" pattern
|
||||
if (res[1]) { // We have char name, then convert it
|
||||
@@ -241,11 +239,9 @@ Hooks.once('init', () => {
|
||||
let translItem = game.babele.translate(compData.metadata.id, { name: skills_list[i], type: "skill" }, true)
|
||||
let transl = translItem?.name || undefined
|
||||
if (!transl) transl = skills_list[i]
|
||||
//console.log("List ...", skills_list[i], compData.metadata.id, translItem);
|
||||
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() + " ()";
|
||||
translItem = game.babele.translate(compData.metadata.id, { name: s1, type: "skill" }, true)
|
||||
@@ -308,30 +304,26 @@ Hooks.once('init', () => {
|
||||
if (translated) {
|
||||
for (let data of results) {
|
||||
if (translated[`${data.range[0]}-${data.range[1]}`]) {
|
||||
data.text = translated[`${data.range[0]}-${data.range[1]}`]
|
||||
data.description = translated[`${data.range[0]}-${data.range[1]}`]
|
||||
}
|
||||
}
|
||||
return results
|
||||
}
|
||||
// Auto patch
|
||||
if (results[0].text.includes("wfrp4e-core.career-descriptions")) {
|
||||
if (game.system.version.match("7.")) {
|
||||
results[0].text = "wfrp4e-core.journals"
|
||||
} else {
|
||||
results[0].text = "wfrp4e-core.journal-entries"
|
||||
}
|
||||
if (results[0].description.includes("wfrp4e-core.career-descriptions")) {
|
||||
results[0].description = "wfrp4e-core.journals"
|
||||
}
|
||||
if (results[0].text.includes("wfrp4e-core.journal")) {
|
||||
if (results[0].description.includes("wfrp4e-core.journal")) {
|
||||
for (let data of results) {
|
||||
let career = data.text.match(/{(.*)}/)
|
||||
let career = data.description.match(/{(.*)}/)
|
||||
//console.log(">>>>>", career)
|
||||
if (career?.[1]) {
|
||||
let careerFR = game.babele.converters.career_careergroup(career[1])
|
||||
data.text = data.text.replace(career[1], careerFR)
|
||||
data.description = data.description.replace(career[1], careerFR)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (results[0].documentCollection) {
|
||||
if (results?.[0].documentUuid) {
|
||||
return game.babele.converters.tableResults(results)
|
||||
}
|
||||
return results
|
||||
@@ -364,7 +356,6 @@ Hooks.once('init', () => {
|
||||
if (talents_list[i] === "Inspiring") {
|
||||
translItem = game.babele.translate(compData.metadata.id, { name: "WCXnFSV4WOSmzzc4" }, true);
|
||||
}
|
||||
//console.log("Search talent name:", compData.metadata.id, talents_list[i], translItem);
|
||||
let transl = translItem?.name || undefined
|
||||
if (!transl) transl = talents_list[i]
|
||||
if (transl == talents_list[i]) {
|
||||
@@ -390,7 +381,6 @@ Hooks.once('init', () => {
|
||||
"npc_characteristics": (chars) => { // Auto-convert char names in the sheet
|
||||
for (let key in chars) {
|
||||
let char = chars[key];
|
||||
//console.log("Was here !", key, char );
|
||||
let abrev = char["abrev"];
|
||||
let toTransl = "CHAR." + abrev;
|
||||
if (game.i18n.localize(toTransl) != toTransl) { // Manages unknown language
|
||||
@@ -416,11 +406,10 @@ Hooks.once('init', () => {
|
||||
}
|
||||
//console.log(">>>>>>>> Parsing", trait_en.name)
|
||||
if (trait_en.type == "trait") {
|
||||
//console.log("Trait translation", compmod, trait_en)
|
||||
if (name_en.includes("Tentacles")) { // Process specific Tentacles case
|
||||
let re = /(.d*)x Tentacles/i;
|
||||
let res = re.exec(name_en);
|
||||
if (res && res[1])
|
||||
if (res?.[1])
|
||||
nbt = res[1] + "x ";
|
||||
name_en = "Tentacles";
|
||||
} else if (name_en.includes("(") && name_en.includes(")")) { // Then process specific traits name with (xxxx) inside
|
||||
@@ -454,7 +443,6 @@ Hooks.once('init', () => {
|
||||
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;
|
||||
@@ -466,7 +454,6 @@ Hooks.once('init', () => {
|
||||
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 );
|
||||
WFRP4FrTranslation.parseSpellContent(trait_en)
|
||||
trait_fr.name = trait_fr.name || name_en
|
||||
trait_en.name = trait_fr.name + special;
|
||||
@@ -481,7 +468,6 @@ Hooks.once('init', () => {
|
||||
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(">>>>> Spell ?", name_en, special, trait_fr);
|
||||
WFRP4FrTranslation.parseSpellContent(trait_en)
|
||||
trait_fr.name = trait_fr.name || name_en
|
||||
trait_en.name = trait_fr.name + special;
|
||||
@@ -546,7 +532,6 @@ Hooks.once('init', () => {
|
||||
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
|
||||
@@ -571,7 +556,6 @@ Hooks.once('init', () => {
|
||||
"trapping_qualities_flaws": (value) => {
|
||||
if (value) {
|
||||
let newQF = [];
|
||||
//console.log("ATOUTS", value, typeof(value));
|
||||
let list = value
|
||||
if (typeof (value) == "string") {
|
||||
let myList = value.split(",")
|
||||
@@ -651,15 +635,14 @@ Hooks.once('init', () => {
|
||||
if (!translations) return;
|
||||
for (let i = 0; i < effects.length; i++) {
|
||||
let effect = effects[i];
|
||||
//console.log("EFFECT LABEL1:", effect );
|
||||
effect.label = translations['label' + i];
|
||||
}
|
||||
return effects
|
||||
},
|
||||
"diseases_effects": (effects, translations) => {
|
||||
if (!effects) return;
|
||||
for (let i = 0; i < effects.length; i++) {
|
||||
let effect = effects[i];
|
||||
for (const element of effects) {
|
||||
let effect = element;
|
||||
let label = effect.label;
|
||||
let gravity = "";
|
||||
if (label.includes("(") && label.includes(")")) { // Then process specific skills name with (xxxx) inside
|
||||
|
Reference in New Issue
Block a user