From 7685409a92143ee05bb3c8492642d938b2d70f5d Mon Sep 17 00:00:00 2001 From: LeRatierBretonnien Date: Wed, 4 Jun 2025 17:46:20 +0200 Subject: [PATCH] Enhance auto-translation --- compendium/wfrp4e-core.items.json | 12 +++++++ fr.json | 29 +++++++++++++++ module.json | 4 +-- modules/addon-register.js | 1 + modules/babele-register.js | 34 ++++++++++-------- modules/config-patch.js | 4 ++- .../{001104.log => 001136.log} | 0 packs/aides-de-jeu-fr/CURRENT | 2 +- packs/aides-de-jeu-fr/LOG | 14 ++++---- packs/aides-de-jeu-fr/LOG.old | 14 ++++---- .../{MANIFEST-001102 => MANIFEST-001134} | Bin 226 -> 226 bytes .../{001106.log => 001138.log} | 0 packs/antidotes-and-remedes/CURRENT | 2 +- packs/antidotes-and-remedes/LOG | 14 ++++---- packs/antidotes-and-remedes/LOG.old | 14 ++++---- .../{MANIFEST-001104 => MANIFEST-001136} | Bin 178 -> 178 bytes packs/apothicarium/{001104.log => 001136.log} | 0 packs/apothicarium/CURRENT | 2 +- packs/apothicarium/LOG | 14 ++++---- packs/apothicarium/LOG.old | 14 ++++---- .../{MANIFEST-001102 => MANIFEST-001134} | Bin 226 -> 226 bytes packs/dons-de-rhya/{001104.log => 001136.log} | 0 packs/dons-de-rhya/CURRENT | 2 +- packs/dons-de-rhya/LOG | 14 ++++---- packs/dons-de-rhya/LOG.old | 14 ++++---- .../{MANIFEST-001102 => MANIFEST-001134} | Bin 226 -> 226 bytes .../{001104.log => 001136.log} | 0 packs/plats-dauberges/CURRENT | 2 +- packs/plats-dauberges/LOG | 14 ++++---- packs/plats-dauberges/LOG.old | 14 ++++---- .../{MANIFEST-001102 => MANIFEST-001134} | Bin 229 -> 229 bytes .../{000747.log => 000779.log} | 0 packs/tables-des-traductions/CURRENT | 2 +- packs/tables-des-traductions/LOG | 14 ++++---- packs/tables-des-traductions/LOG.old | 14 ++++---- .../{MANIFEST-000745 => MANIFEST-000777} | Bin 226 -> 226 bytes tools/detect_missing_strings.lua | 21 ++++++----- 37 files changed, 166 insertions(+), 119 deletions(-) rename packs/aides-de-jeu-fr/{001104.log => 001136.log} (100%) rename packs/aides-de-jeu-fr/{MANIFEST-001102 => MANIFEST-001134} (84%) rename packs/antidotes-and-remedes/{001106.log => 001138.log} (100%) rename packs/antidotes-and-remedes/{MANIFEST-001104 => MANIFEST-001136} (71%) rename packs/apothicarium/{001104.log => 001136.log} (100%) rename packs/apothicarium/{MANIFEST-001102 => MANIFEST-001134} (84%) rename packs/dons-de-rhya/{001104.log => 001136.log} (100%) rename packs/dons-de-rhya/{MANIFEST-001102 => MANIFEST-001134} (84%) rename packs/plats-dauberges/{001104.log => 001136.log} (100%) rename packs/plats-dauberges/{MANIFEST-001102 => MANIFEST-001134} (83%) rename packs/tables-des-traductions/{000747.log => 000779.log} (100%) rename packs/tables-des-traductions/{MANIFEST-000745 => MANIFEST-000777} (84%) diff --git a/compendium/wfrp4e-core.items.json b/compendium/wfrp4e-core.items.json index a39008e..678b2a9 100644 --- a/compendium/wfrp4e-core.items.json +++ b/compendium/wfrp4e-core.items.json @@ -2421,6 +2421,18 @@ "name": "Sens aiguisé", "tests": "Perception (Sens)" }, + { + "description": "

L’un de vos cinq sens principaux est particulièrement développé, vous permettant de repérer ce qui échappe à d’autres. Vous pouvez effectuer des Tests de Perception pour détecter des détails normalement imperceptibles grâce au sens associé, déterminés par le MJ. Cela peut être : voir un aigle au-delà du champ visuel de tout le monde, sentir un poison presque inodore, entendre la respiration d’une souris immobile dans un mur, percevoir une lettre effacée dans une gravure, ou déceler que deux bières d’un même brasseur ont été tirées de deux tonneaux différents.

", + "id": "Acute Sense (Taste)", + "name": "Sens aiguisé (Goût)", + "tests": "Perception (Goût)" + }, + { + "description": "

L’un de vos cinq sens principaux est particulièrement développé, vous permettant de repérer ce qui échappe à d’autres. Vous pouvez effectuer des Tests de Perception pour détecter des détails normalement imperceptibles grâce au sens associé, déterminés par le MJ. Cela peut être : voir un aigle au-delà du champ visuel de tout le monde, sentir un poison presque inodore, entendre la respiration d’une souris immobile dans un mur, percevoir une lettre effacée dans une gravure, ou déceler que deux bières d’un même brasseur ont été tirées de deux tonneaux différents.

", + "id": "Acute Sense (Sight)", + "name": "Sens aiguisé (Vue)", + "tests": "Perception (Vue)" + }, { "description": "

Votre expérience, Talent ou entraînement vous permet de manipuler de façon plus sûre les Vents de la Magie. Vous ne subissez pas d’Incantation Imparfaite si vous obtenez un double à un Test de Focalisation réussi.

", "id": "Aethyric Attunement", diff --git a/fr.json b/fr.json index a338ada..f186d66 100644 --- a/fr.json +++ b/fr.json @@ -756,6 +756,22 @@ "Wood Elf":"Elfe Sylvain", "XP":"XP", "comma separated":"éparé par des virgules", + "Overrides" : "Surcharges", + "Casting Skill" : "Comp. d'Incantation", + "Channelling Skill" : "Comp. de Focalisation", + "Ritual" : "Rituel", + "Random Vortex" : "Vortex aléatoire", + "Area of Effect" : "Zone d'Effet", + "Dice": "Dé", + "Extra Overcast Options": "Options Spéciales de Surincantation", + "Force Advancement": "Surcharge d'Avancement", + "Attack Type": "Types d'Attaque", + "Trapping Type": "Type d'Equipement", + "War Machine": "Machine de Guerre", + "XP Cost Modifier": "Modificateur de Coût en XP", + "Add SL": "DR additionnels", + "Prompt Location": "Demander la localisation", + "Dice Roll": "Lancer de Dé", "TABLE.Column":"Colonne de la Table", "TABLE.Key":"Clé de la Table", @@ -1481,6 +1497,19 @@ "WFRP4E.SymptomTreatment.Delirium" : "Certaines autorités traitent le délire comme faisant partie de la fièvre et prescrivent les mêmes remèdes. Ces derniers coûtent de quelques Sous de Cuivre à quelques Pistoles, et 10% d'entre eux sont efficaces.

Avec le bon médicament, un Test de Guérison Intermédiaire (+0) réussi fait cesser les hallucinations pendant 1d10 heures.

Il est également courant de calmer les patients délirants avec des drogues tranquilisantes, comme la Fleur de Lune ou même de la Belladone, pour garder le patient Inconscient jusqu'à ce que la condition soit passée, en l'envoyant dans un sommeil agité jusqu'à ce qu'il récupère ou meure.", "WFRP4E.SymptomTreatment.Swelling" : "La plupart des traitements consistent à plonger la partie affectée, ou parfois tout le corps, dans un bain d'eau glacée pour réduire la chaleur qui accompagne les gonflements. Un Test de Guérison Etendu Difficile (-20) requérant +3 DR réduit le gonflement pendant 2d10 heures. Chaque Test prend une heure. Le patient subit une condition Fatigué +1 pour chaque test effectué au cours du processus.

Certains médecins saignent plutôt le patient avec une lame ou des sangsues. Un Test de Guérison Etendu réussi nécessitant +4 SR et des Outils (Médecin) réduisent le gonflement pendant (1d10 + le Bonus d'Endurance du patient) heures. Chaque Test a une Difficulté Impossible (-50) et nécessite 30mn.", + "WFRP4E.Symptom.Blight": "Toxine", + "WFRP4E.Symptom.Buboes": "Bubons", + "WFRP4E.Symptom.Convulsions": "Convulsions", + "WFRP4E.Symptom.CoughsSneezes": "Toux et éternuements", + "WFRP4E.Symptom.Fever": "Fièvre", + "WFRP4E.Symptom.Flux": "Intoxication Alimentaire", + "WFRP4E.Symptom.Gangrene": "Gangrène", + "WFRP4E.Symptom.Lingering": "Persistant", + "WFRP4E.Symptom.Malaise": "Malaise", + "WFRP4E.Symptom.Nausea": "Nausée", + "WFRP4E.Symptom.Pox": "Démangeaisons", + "WFRP4E.Symptom.Wounded": "Blessé", + "CONDITION.Apply" : "Appliquer {condition}", "CONDITION.ApplyError" : "Vous ne pouvez pas appliquer d'états à cet acteur", diff --git a/module.json b/module.json index 402111a..288171e 100644 --- a/module.json +++ b/module.json @@ -8,7 +8,7 @@ } ], "url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr", - "version": "9.1.0", + "version": "9.1.2", "esmodules": [ "modules/babele-register.js", "modules/addon-register.js", @@ -119,7 +119,7 @@ } ], "manifest": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/raw/v10/module.json", - "download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-9-1-0.zip", + "download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-9-1-2.zip", "id": "wh4-fr-translation", "compatibility": { "minimum": "13", diff --git a/modules/addon-register.js b/modules/addon-register.js index c6483b5..ec90205 100644 --- a/modules/addon-register.js +++ b/modules/addon-register.js @@ -320,6 +320,7 @@ const __add_actors_translation = () => { const lang = game.settings.get('core', 'language'); if (lang == "fr") { for (let metadata of game.packs) { + console.log("Checking pack", metadata.collection, metadata.documentName, metadata.metadata.id, game.babele.isTranslated(metadata)); if (!game.babele.isTranslated(metadata) && metadata.collection != "wfrp4e-core.actors" && metadata.collection != "wfrp4e-core.bestiary" && diff --git a/modules/babele-register.js b/modules/babele-register.js index 7cf6b2d..2156b6e 100644 --- a/modules/babele-register.js +++ b/modules/babele-register.js @@ -420,8 +420,8 @@ Hooks.once('init', () => { } 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) { + let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en, system:{description:{value: trait_en.system.description.value}} }, true) + if (trait_fr?.name ) { 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; @@ -441,8 +441,8 @@ Hooks.once('init', () => { } 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) { + let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en, system:{description:{value: trait_en.system.description.value}} }, true) + if (trait_fr?.name) { 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; @@ -452,8 +452,8 @@ Hooks.once('init', () => { } else if (trait_en.type == "prayer") { 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) { + let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en, system:{description:{value: trait_en.system.description.value}} }, true) + if (trait_fr?.name) { WFRP4FrTranslation.parseSpellContent(trait_en) trait_fr.name = trait_fr.name || name_en trait_en.name = trait_fr.name + special; @@ -466,8 +466,8 @@ Hooks.once('init', () => { } else if (trait_en.type == "spell") { 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) { + let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en, system:{description:{value: trait_en.system.description.value}} }, true) + if (trait_fr?.name) { WFRP4FrTranslation.parseSpellContent(trait_en) trait_fr.name = trait_fr.name || name_en trait_en.name = trait_fr.name + special; @@ -492,12 +492,16 @@ Hooks.once('init', () => { if (name_en === "Inspiring") { name_en = "WCXnFSV4WOSmzzc4" } - let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true) - if (trait_fr?.system) { + trait_en.name = name_en // Reset the name to the original one + let trait_fr = game.babele.translate(compData.metadata.id, trait_en, true) + if (trait_fr?.name) { 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?.tests?.value) { // Why ??? + trait_en.system.tests.value = trait_fr.system.tests.value; + } if (trait_fr.system?.description?.value) { // Why ??? trait_en.system.description.value = trait_fr.system.description.value; } @@ -508,8 +512,8 @@ Hooks.once('init', () => { } else if (trait_en.type == "career") { 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) { + let career_fr = game.babele.translate(compData.metadata.id, trait_en, true); + if (career_fr?.name) { trait_en.name = career_fr.name || trait_en.name // DEBG: console.log(">>>>> Career ?", career_fr.name ); trait_en.system = foundry.utils.duplicate(career_fr.system); @@ -520,7 +524,7 @@ Hooks.once('init', () => { let validCompendiums = game.wfrp4e.tags.getPacksWithTag("vehicleRole") for (let compData of validCompendiums) { let role_fr = game.babele.translate(compData.metadata.id, trait_en, true); - if (role_fr?.system) { + if (role_fr?.name) { trait_en.name = role_fr.name || trait_en.name // DEBG: console.log(">>>>> Role ?", role_fr.name ); trait_en.system = foundry.utils.duplicate(role_fr.system); @@ -530,8 +534,8 @@ Hooks.once('init', () => { } else if (trait_en.type == "trapping" || trait_en.type == "weapon" || trait_en.type == "armour" || trait_en.type == "container" || trait_en.type == "money") { 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) { + let trapping_fr = game.babele.translate(compData.metadata.id, { name: name_en, system:{description:{value: trait_en.system.description.value}} }, true); + if (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 diff --git a/modules/config-patch.js b/modules/config-patch.js index 3b47871..8815cfc 100644 --- a/modules/config-patch.js +++ b/modules/config-patch.js @@ -119,9 +119,11 @@ export class WH4FRPatchConfig { static fixSpeciesTable() { let speciesTable = game.wfrp4e.tables.findTable("species"); - for (let result of speciesTable.results) { + let newResults = foundry.utils.duplicate(speciesTable.results); + for (let result of newResults) { result.name = game.i18n.localize(result.name); } + speciesTable.update({results: newResults } ) console.log("Species table patched to use 'Humain' instead of 'Human'", speciesTable); } diff --git a/packs/aides-de-jeu-fr/001104.log b/packs/aides-de-jeu-fr/001136.log similarity index 100% rename from packs/aides-de-jeu-fr/001104.log rename to packs/aides-de-jeu-fr/001136.log diff --git a/packs/aides-de-jeu-fr/CURRENT b/packs/aides-de-jeu-fr/CURRENT index 3668bf6..56a8004 100644 --- a/packs/aides-de-jeu-fr/CURRENT +++ b/packs/aides-de-jeu-fr/CURRENT @@ -1 +1 @@ -MANIFEST-001102 +MANIFEST-001134 diff --git a/packs/aides-de-jeu-fr/LOG b/packs/aides-de-jeu-fr/LOG index 5caac2f..13040e1 100644 --- a/packs/aides-de-jeu-fr/LOG +++ b/packs/aides-de-jeu-fr/LOG @@ -1,7 +1,7 @@ -2025/05/28-21:18:37.826014 7f53e5dfa6c0 Recovering log #1100 -2025/05/28-21:18:37.836604 7f53e5dfa6c0 Delete type=3 #1098 -2025/05/28-21:18:37.836673 7f53e5dfa6c0 Delete type=0 #1100 -2025/05/28-21:28:51.892598 7f53df3ff6c0 Level-0 table #1105: started -2025/05/28-21:28:51.892649 7f53df3ff6c0 Level-0 table #1105: 0 bytes OK -2025/05/28-21:28:51.899980 7f53df3ff6c0 Delete type=0 #1103 -2025/05/28-21:28:51.913897 7f53df3ff6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end) +2025/06/04-17:19:09.444091 7ff2609fa6c0 Recovering log #1132 +2025/06/04-17:19:09.455068 7ff2609fa6c0 Delete type=3 #1130 +2025/06/04-17:19:09.455138 7ff2609fa6c0 Delete type=0 #1132 +2025/06/04-17:45:04.305164 7ff25a3ff6c0 Level-0 table #1137: started +2025/06/04-17:45:04.305197 7ff25a3ff6c0 Level-0 table #1137: 0 bytes OK +2025/06/04-17:45:04.311962 7ff25a3ff6c0 Delete type=0 #1135 +2025/06/04-17:45:04.332591 7ff25a3ff6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end) diff --git a/packs/aides-de-jeu-fr/LOG.old b/packs/aides-de-jeu-fr/LOG.old index fa4ff50..68b4213 100644 --- a/packs/aides-de-jeu-fr/LOG.old +++ b/packs/aides-de-jeu-fr/LOG.old @@ -1,7 +1,7 @@ -2025/05/28-21:03:44.312047 7f53e55f96c0 Recovering log #1096 -2025/05/28-21:03:44.322437 7f53e55f96c0 Delete type=3 #1094 -2025/05/28-21:03:44.322507 7f53e55f96c0 Delete type=0 #1096 -2025/05/28-21:11:25.680666 7f53df3ff6c0 Level-0 table #1101: started -2025/05/28-21:11:25.680709 7f53df3ff6c0 Level-0 table #1101: 0 bytes OK -2025/05/28-21:11:25.703756 7f53df3ff6c0 Delete type=0 #1099 -2025/05/28-21:11:25.703972 7f53df3ff6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end) +2025/06/04-15:28:44.957251 7ff25b7fe6c0 Recovering log #1128 +2025/06/04-15:28:44.967265 7ff25b7fe6c0 Delete type=3 #1126 +2025/06/04-15:28:44.967344 7ff25b7fe6c0 Delete type=0 #1128 +2025/06/04-16:03:30.536357 7ff25a3ff6c0 Level-0 table #1133: started +2025/06/04-16:03:30.536423 7ff25a3ff6c0 Level-0 table #1133: 0 bytes OK +2025/06/04-16:03:30.543881 7ff25a3ff6c0 Delete type=0 #1131 +2025/06/04-16:03:30.557944 7ff25a3ff6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end) diff --git a/packs/aides-de-jeu-fr/MANIFEST-001102 b/packs/aides-de-jeu-fr/MANIFEST-001134 similarity index 84% rename from packs/aides-de-jeu-fr/MANIFEST-001102 rename to packs/aides-de-jeu-fr/MANIFEST-001134 index cc8db0fb41f861012a57126ce72e15dc34ef8ae8..6994f04858f0eef3f5efec2dd6268bae83580445 100644 GIT binary patch delta 41 scmaFF_=s`B0VOXjhqGJ^j7;x2I2o8faInayI?TNa68HcT_yiOH01HtIDgXcg delta 41 scmaFF_=s`B0i}2PQSZ4J7@5vpUU}z?>2KYFfx7Q;ACL_#KE$F`HcbRNs!1VkjNL12mnkM4Kn}$ delta 43 tcmdnQxQTH>pGxELTLs(^(NK@|nI!`HYO7@6L4a56A|;9%Lu`lmH(5=i6&NaPbp1OPnQ4Iuyk delta 43 tcmaFL_>^(NL6vvE|MhY+FfyIz;ACLFz`?SQHK-=;GDzeCNaPYo1OR9M4cGtx diff --git a/packs/tables-des-traductions/000747.log b/packs/tables-des-traductions/000779.log similarity index 100% rename from packs/tables-des-traductions/000747.log rename to packs/tables-des-traductions/000779.log diff --git a/packs/tables-des-traductions/CURRENT b/packs/tables-des-traductions/CURRENT index 561a2c1..35ae4ac 100644 --- a/packs/tables-des-traductions/CURRENT +++ b/packs/tables-des-traductions/CURRENT @@ -1 +1 @@ -MANIFEST-000745 +MANIFEST-000777 diff --git a/packs/tables-des-traductions/LOG b/packs/tables-des-traductions/LOG index 79d9447..c900028 100644 --- a/packs/tables-des-traductions/LOG +++ b/packs/tables-des-traductions/LOG @@ -1,7 +1,7 @@ -2025/05/28-21:18:37.854215 7f53e5dfa6c0 Recovering log #743 -2025/05/28-21:18:37.864349 7f53e5dfa6c0 Delete type=3 #741 -2025/05/28-21:18:37.864418 7f53e5dfa6c0 Delete type=0 #743 -2025/05/28-21:28:51.920436 7f53df3ff6c0 Level-0 table #748: started -2025/05/28-21:28:51.920500 7f53df3ff6c0 Level-0 table #748: 0 bytes OK -2025/05/28-21:28:51.927922 7f53df3ff6c0 Delete type=0 #746 -2025/05/28-21:28:51.941532 7f53df3ff6c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end) +2025/06/04-17:19:09.473204 7ff2609fa6c0 Recovering log #775 +2025/06/04-17:19:09.483139 7ff2609fa6c0 Delete type=3 #773 +2025/06/04-17:19:09.483218 7ff2609fa6c0 Delete type=0 #775 +2025/06/04-17:45:04.312115 7ff25a3ff6c0 Level-0 table #780: started +2025/06/04-17:45:04.312145 7ff25a3ff6c0 Level-0 table #780: 0 bytes OK +2025/06/04-17:45:04.318313 7ff25a3ff6c0 Delete type=0 #778 +2025/06/04-17:45:04.332603 7ff25a3ff6c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end) diff --git a/packs/tables-des-traductions/LOG.old b/packs/tables-des-traductions/LOG.old index e2574e2..9aec9dc 100644 --- a/packs/tables-des-traductions/LOG.old +++ b/packs/tables-des-traductions/LOG.old @@ -1,7 +1,7 @@ -2025/05/28-21:03:44.339388 7f53e5dfa6c0 Recovering log #739 -2025/05/28-21:03:44.350115 7f53e5dfa6c0 Delete type=3 #737 -2025/05/28-21:03:44.350180 7f53e5dfa6c0 Delete type=0 #739 -2025/05/28-21:11:25.729707 7f53df3ff6c0 Level-0 table #744: started -2025/05/28-21:11:25.729741 7f53df3ff6c0 Level-0 table #744: 0 bytes OK -2025/05/28-21:11:25.761507 7f53df3ff6c0 Delete type=0 #742 -2025/05/28-21:11:25.819994 7f53df3ff6c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end) +2025/06/04-15:28:44.990819 7ff25b7fe6c0 Recovering log #771 +2025/06/04-15:28:45.002034 7ff25b7fe6c0 Delete type=3 #769 +2025/06/04-15:28:45.002200 7ff25b7fe6c0 Delete type=0 #771 +2025/06/04-16:03:30.550493 7ff25a3ff6c0 Level-0 table #776: started +2025/06/04-16:03:30.550525 7ff25a3ff6c0 Level-0 table #776: 0 bytes OK +2025/06/04-16:03:30.557793 7ff25a3ff6c0 Delete type=0 #774 +2025/06/04-16:03:30.557980 7ff25a3ff6c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end) diff --git a/packs/tables-des-traductions/MANIFEST-000745 b/packs/tables-des-traductions/MANIFEST-000777 similarity index 84% rename from packs/tables-des-traductions/MANIFEST-000745 rename to packs/tables-des-traductions/MANIFEST-000777 index 6458298a9ed7fd8f74486fee8a279690303220b0..ee0b19ccebc749e88bd3aee9d343d335bf144869 100644 GIT binary patch delta 41 rcmaFF_=s`B0i|-|ZTegcj7(i@oD9s}Y%Deo!l#yl1iC>2y+8o~^5_YJ delta 41 scmaFF_=s`B0j2%@Ha=Voj7+asIT@H=v$EK{SQl^vB=8y}@D?Zl03tRFEC2ui diff --git a/tools/detect_missing_strings.lua b/tools/detect_missing_strings.lua index 3846b21..47032d3 100644 --- a/tools/detect_missing_strings.lua +++ b/tools/detect_missing_strings.lua @@ -1,12 +1,13 @@ package.path = package.path .. ";luajson/?.lua" local JSON = require"json" ---local enjsonf = "/home/morr/foundry/foundrydata-dev/Data/modules/wfrp4e-dotr/lang/en.json" ---local enjsonf = "/home/morr/foundry/foundrydata-dev/Data/modules/wfrp4e-core/lang/en.json" ---local enjsonf = "/home/morr/foundry/foundrydata-dev/Data/modules/wfrp4e-middenheim/lang/en.json" ---local enjsonf = "/home/morr/foundry/foundrydata-dev/Data/modules/wfrp4e-eis/lang/en.json" ---local enjsonf = "/home/morr/foundry/foundrydata-dev/Data/modules/wfrp4e-rnhd/lang/en.json" ---local enjsonf = "/home/morr/foundry/foundrydata-dev/Data/modules/wfrp4e-up-in-arms/lang/en.json" +local enjsonf = "/home/morr/foundry/foundrydata-v13/Data/modules/wfrp4e-dotr/lang/en.json" +--local enjsonf = "/home/morr/foundry/foundrydata-v13/Data/modules/wfrp4e-core/lang/en.json" +--local enjsonf = "/home/morr/foundry/foundrydata-v13/Data/modules/wfrp4e-middenheim/lang/en.json" +--local enjsonf = "/home/morr/foundry/foundrydata-v13/Data/modules/wfrp4e-eis/lang/en.json" +--local enjsonf = "/home/morr/foundry/foundrydata-v13/Data/modules/wfrp4e-rnhd/lang/en.json" +--local enjsonf = "/home/morr/foundry/foundrydata-v13/Data/modules/wfrp4e-up-in-arms/lang/en.json" +--local enjsonf = "/home/morr/foundry/foundrydata-v13/Data/modules/wfrp4e-starter-set/lang/en.json" local enjsonf = "../../WFRP4e-FoundryVTT/static/lang/en.json" local frjsonf = "../fr.json" @@ -20,13 +21,13 @@ fp:close() local todisplay = {} for tag, value in pairs(entags) do - if not frtags[tag] then + if not frtags[tag] then todisplay[#todisplay+1] = { tag=tag, value=value } end end -table.sort(todisplay, function (a, b) - return a.tag < b.tag +table.sort(todisplay, function (a, b) + return a.tag < b.tag end ) @@ -49,5 +50,3 @@ for _, tagDef in pairs(todisplay) do print('"'.. tagDef.tag ..'":"'.. tagDef.value..'",') end end - -