Compare commits
8 Commits
foundryvtt
...
v10
Author | SHA1 | Date | |
---|---|---|---|
4ee45273b3 | |||
94ca8cb6ea | |||
6af8d03d22 | |||
7afcadfb6f | |||
5801a5270f | |||
f8908617a1 | |||
4b36c52bb1 | |||
7685409a92 |
@@ -2421,6 +2421,18 @@
|
||||
"name": "Sens aiguisé",
|
||||
"tests": "Perception (Sens)"
|
||||
},
|
||||
{
|
||||
"description": "<p>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.</p>",
|
||||
"id": "Acute Sense (Taste)",
|
||||
"name": "Sens aiguisé (Goût)",
|
||||
"tests": "Perception (Goût)"
|
||||
},
|
||||
{
|
||||
"description": "<p>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.</p>",
|
||||
"id": "Acute Sense (Sight)",
|
||||
"name": "Sens aiguisé (Vue)",
|
||||
"tests": "Perception (Vue)"
|
||||
},
|
||||
{
|
||||
"description": "<p>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.</p>",
|
||||
"id": "Aethyric Attunement",
|
||||
@@ -5973,6 +5985,11 @@
|
||||
"id": "Lore (Tilea)",
|
||||
"name": "Savoir (Tilée)"
|
||||
},
|
||||
{
|
||||
"description": "<p>Posséder une Compétence Savoir signifie que vous avez officiellement étudié, ou avez appris d’une façon ou d’une autre, une branche de connaissances avancées. Vous possédez des données approfondies dans une spécialisation et n’avez donc pas besoin d’effectuer de Test pour que le MJ vous donne les éléments d’information utiles. Si vous recherchez des informations spécifiques moins connues, vous aurez besoin d’effectuer un Test de Savoir, modifié selon la nature obscure de l’information, où les DR indiqueront de combien de détails vous vous souvenez.<p>En combat, un Test de Savoir réussi peut éventuellement vous accorder +1 Avantage (avec l’accord de votre MJ). Par exemple, Savoir (Géologie) peut vous donner un Avantage si vous combattez dans une caverne, ou Savoir (Ingénierie) peut vous aider si vous combattez un ennemi armé d’un appareil mécanique complexe. Vous pouvez continuer à renforcer votre Avantage lors des tours ultérieurs, à condition que les circonstances le permettent (déterminé par le MJ) et que vous ne soyez pas interrompu ; de cette façon, vous pouvez gagner un maximum d’Avantages, égal à votre Bonus d’Intelligence.</p>",
|
||||
"id": "Lore (Law)",
|
||||
"name": "Savoir (Loi)"
|
||||
},
|
||||
{
|
||||
"description": "<p>La Compétence Corps à corps représente l'entraînement spécifique que vous avez reçu avec un seul type d'armes de combat rapproché. Chaque Spécialisation de Corps à corps indique un entraînement à une classe d'arme spécifique. Si vous n'avez pas la Spécialisation appropriée pour une arme que vous souhaitez utiliser, référez-vous au <strong>Chapitre 11 : Guide de l'équipement </strong>pour consulter les statistiques de l'arme et savoir quelles pénalités vous subirez. Voir <strong>Chapitre 5 : Règles </strong>pour plus d'informations sur les combats et l'utilisation de la Compétence Corps à corps.<p><strong>Exemples de Spécialisations : </strong>Arme d'hast, Arme à deux mains, Bagarre, Base, Cavalerie, Escrime, Fléau, Parade.</p>",
|
||||
"id": "Melee",
|
||||
|
39
fr.json
39
fr.json
@@ -314,6 +314,10 @@
|
||||
"SHEET.NPCSheetNoTheme":"Fiche de PNJ (sans thème)",
|
||||
"SHEET.VehicleSheet":"Fiche de véhicule",
|
||||
"SHEET.VehicleSheetNoTheme":"Fiche de véhicule (sans thème)",
|
||||
"SHEET.Append":"Ajouter après",
|
||||
"SHEET.Prepend":"Ajouter avant",
|
||||
"SHEET.SkillName":"Nom de la compétence",
|
||||
"SHEET.TalentName":"Nom du Talent",
|
||||
|
||||
"SHEETS.Actor.vehicle":"Fiche de Véhicule",
|
||||
"SHEETS.Item.ammunition":"Fiche de Munitions",
|
||||
@@ -645,6 +649,7 @@
|
||||
"Hide": "Cacher",
|
||||
"Targets": "Cibles",
|
||||
"Melee": "Corps à corps",
|
||||
"Swim":" Natation",
|
||||
"Cost": "Prix",
|
||||
"Length": "Longueur",
|
||||
"Cargo": "Cargaison",
|
||||
@@ -737,7 +742,6 @@
|
||||
"Stat Block Parser":"Parser de fiches de PNJ",
|
||||
"Submit":"Soumettre",
|
||||
"SuccessLevels":"DR",
|
||||
"Swim":"Nager",
|
||||
"TBRed":"BE",
|
||||
"TookDamage":"Encaisse {damage} dommages",
|
||||
"ToughnessDesc":"Endurance",
|
||||
@@ -756,6 +760,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",
|
||||
@@ -1168,6 +1188,7 @@
|
||||
"CHAT.Vital":"Vital",
|
||||
"CHAT.DiseaseRollError":"Une erreur s'est produite lors du jet d'incubation ou de durée de la maladie.",
|
||||
"CHAT.ExpReceivedNoReason":"Vous avez reçu <b>{amount}</b> points d'expérience",
|
||||
"CHAT.CriticalDeflection":"Déviation de Critique",
|
||||
|
||||
"Error.SpeciesSkills" : "Impossible d'ajouter des compétences pour les races",
|
||||
"Error.SpeciesTalents" : "Impossible d'ajouter des talents pour les races",
|
||||
@@ -1481,6 +1502,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.<br><br>Avec le bon médicament, un <b> Test de Guérison Intermédiaire (+0)</b> réussi fait cesser les hallucinations pendant <a class = 'chat-roll'><i class='fas fa-dice'></i> 1d10</a> heures.<br><br>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 <b>Test de Guérison Etendu Difficile (-20)</b> requérant +3 DR réduit le gonflement pendant <b><a class = 'chat-roll'>2d10</a></b> heures. Chaque Test prend une heure. Le patient subit une condition Fatigué +1 pour chaque test effectué au cours du processus.<br><br>Certains médecins saignent plutôt le patient avec une lame ou des sangsues. Un <b>Test de Guérison Etendu</b> réussi nécessitant +4 SR et des Outils (Médecin) réduisent le gonflement pendant (<a class = 'chat-roll'>1d10</a> + le Bonus d'Endurance du patient) heures. Chaque Test a une Difficulté <b>Impossible (-50)</b> 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",
|
||||
|
||||
@@ -2667,6 +2701,9 @@
|
||||
"major":"Majeur",
|
||||
"minor":"Mineur",
|
||||
"moderate":"Modéré",
|
||||
"DurationPlaceholder":"Texte concernant a durée",
|
||||
"ErrorArmourDamagePermission":"Vous n'avez pas les droits pour endommager l'armure de cet acteur.",
|
||||
"IncubationPlaceholder":"Texte concernant l'incubation",
|
||||
|
||||
"WH":{
|
||||
"TransferType":{
|
||||
|
@@ -8,7 +8,7 @@
|
||||
}
|
||||
],
|
||||
"url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr",
|
||||
"version": "9.1.0",
|
||||
"version": "9.2.1",
|
||||
"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-2-1.zip",
|
||||
"id": "wh4-fr-translation",
|
||||
"compatibility": {
|
||||
"minimum": "13",
|
||||
|
@@ -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" &&
|
||||
|
@@ -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 != name_en) {
|
||||
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,9 @@ 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)
|
||||
//console.log(">>>>> Skill FR ?", trait_fr, name_en, special)
|
||||
if (trait_fr?.name && trait_fr?.name != name_en) {
|
||||
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 +453,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 && trait_fr?.name != name_en) {
|
||||
WFRP4FrTranslation.parseSpellContent(trait_en)
|
||||
trait_fr.name = trait_fr.name || name_en
|
||||
trait_en.name = trait_fr.name + special;
|
||||
@@ -466,8 +467,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 && trait_fr?.name != name_en) {
|
||||
WFRP4FrTranslation.parseSpellContent(trait_en)
|
||||
trait_fr.name = trait_fr.name || name_en
|
||||
trait_en.name = trait_fr.name + special;
|
||||
@@ -492,12 +493,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 != name_en) {
|
||||
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 +513,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 && career_fr?.name != name_en) {
|
||||
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 +525,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 && role_fr?.name != name_en) {
|
||||
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 +535,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 && trapping_fr?.name != name_en) {
|
||||
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
|
||||
|
@@ -8,8 +8,11 @@ export class WH4FRPatchConfig {
|
||||
|
||||
let newList = [];
|
||||
for( let compName of skillList) {
|
||||
// Trim compName
|
||||
compName = compName.trim();
|
||||
let special = "";
|
||||
let newName = compName;
|
||||
let baseName = compName
|
||||
if ( compName.includes("(") && compName.includes(")") ) { // Then process specific skills name with (xxxx) inside
|
||||
let re = /(.*) +\((.*)\)/i;
|
||||
let res = re.exec( compName );
|
||||
@@ -20,6 +23,10 @@ export class WH4FRPatchConfig {
|
||||
if (compNameFR.name != compName) { // Translation OK
|
||||
newName = compNameFR.name + special;
|
||||
}
|
||||
// DEBUG console.log("Translating skill ", compName, baseName, " to ", newName, special);
|
||||
if ( !newName || newName == "" || newName === undefined || newName === "undefined" ) { // If no translation, keep the original name
|
||||
newName = baseName; // If no translation, keep the original name
|
||||
}
|
||||
newList.push(newName);
|
||||
}
|
||||
return newList;
|
||||
@@ -119,9 +126,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);
|
||||
}
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
MANIFEST-001102
|
||||
MANIFEST-001210
|
||||
|
@@ -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/10/13-20:51:30.026251 7f189ffff6c0 Recovering log #1208
|
||||
2025/10/13-20:51:30.036172 7f189ffff6c0 Delete type=3 #1206
|
||||
2025/10/13-20:51:30.036225 7f189ffff6c0 Delete type=0 #1208
|
||||
2025/10/13-20:58:55.958283 7f189e7fc6c0 Level-0 table #1213: started
|
||||
2025/10/13-20:58:55.958313 7f189e7fc6c0 Level-0 table #1213: 0 bytes OK
|
||||
2025/10/13-20:58:55.964593 7f189e7fc6c0 Delete type=0 #1211
|
||||
2025/10/13-20:58:55.985538 7f189e7fc6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end)
|
||||
|
@@ -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/10/13-20:40:04.059843 7f189f7fe6c0 Recovering log #1204
|
||||
2025/10/13-20:40:04.069741 7f189f7fe6c0 Delete type=3 #1202
|
||||
2025/10/13-20:40:04.069791 7f189f7fe6c0 Delete type=0 #1204
|
||||
2025/10/13-20:45:59.586645 7f189e7fc6c0 Level-0 table #1209: started
|
||||
2025/10/13-20:45:59.586692 7f189e7fc6c0 Level-0 table #1209: 0 bytes OK
|
||||
2025/10/13-20:45:59.620022 7f189e7fc6c0 Delete type=0 #1207
|
||||
2025/10/13-20:45:59.620203 7f189e7fc6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-001104
|
||||
MANIFEST-001212
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/05/28-21:18:37.839615 7f53e55f96c0 Recovering log #1102
|
||||
2025/05/28-21:18:37.851230 7f53e55f96c0 Delete type=3 #1100
|
||||
2025/05/28-21:18:37.851367 7f53e55f96c0 Delete type=0 #1102
|
||||
2025/05/28-21:28:51.906375 7f53df3ff6c0 Level-0 table #1107: started
|
||||
2025/05/28-21:28:51.906404 7f53df3ff6c0 Level-0 table #1107: 0 bytes OK
|
||||
2025/05/28-21:28:51.913702 7f53df3ff6c0 Delete type=0 #1105
|
||||
2025/05/28-21:28:51.913922 7f53df3ff6c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
|
||||
2025/10/13-20:51:30.039766 7f189ffff6c0 Recovering log #1210
|
||||
2025/10/13-20:51:30.049183 7f189ffff6c0 Delete type=3 #1208
|
||||
2025/10/13-20:51:30.049237 7f189ffff6c0 Delete type=0 #1210
|
||||
2025/10/13-20:58:55.972493 7f189e7fc6c0 Level-0 table #1215: started
|
||||
2025/10/13-20:58:55.972514 7f189e7fc6c0 Level-0 table #1215: 0 bytes OK
|
||||
2025/10/13-20:58:55.978671 7f189e7fc6c0 Delete type=0 #1213
|
||||
2025/10/13-20:58:55.985570 7f189e7fc6c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/05/28-21:03:44.326284 7f53e4df86c0 Recovering log #1098
|
||||
2025/05/28-21:03:44.336533 7f53e4df86c0 Delete type=3 #1096
|
||||
2025/05/28-21:03:44.336600 7f53e4df86c0 Delete type=0 #1098
|
||||
2025/05/28-21:11:25.653977 7f53df3ff6c0 Level-0 table #1103: started
|
||||
2025/05/28-21:11:25.654005 7f53df3ff6c0 Level-0 table #1103: 0 bytes OK
|
||||
2025/05/28-21:11:25.680479 7f53df3ff6c0 Delete type=0 #1101
|
||||
2025/05/28-21:11:25.703960 7f53df3ff6c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
|
||||
2025/10/13-20:40:04.073059 7f189f7fe6c0 Recovering log #1206
|
||||
2025/10/13-20:40:04.082320 7f189f7fe6c0 Delete type=3 #1204
|
||||
2025/10/13-20:40:04.082396 7f189f7fe6c0 Delete type=0 #1206
|
||||
2025/10/13-20:45:59.620883 7f189e7fc6c0 Level-0 table #1211: started
|
||||
2025/10/13-20:45:59.620913 7f189e7fc6c0 Level-0 table #1211: 0 bytes OK
|
||||
2025/10/13-20:45:59.655200 7f189e7fc6c0 Delete type=0 #1209
|
||||
2025/10/13-20:45:59.655399 7f189e7fc6c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-001102
|
||||
MANIFEST-001210
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/05/28-21:18:37.866780 7f53dffff6c0 Recovering log #1100
|
||||
2025/05/28-21:18:37.877487 7f53dffff6c0 Delete type=3 #1098
|
||||
2025/05/28-21:18:37.877575 7f53dffff6c0 Delete type=0 #1100
|
||||
2025/05/28-21:28:51.928101 7f53df3ff6c0 Level-0 table #1105: started
|
||||
2025/05/28-21:28:51.928158 7f53df3ff6c0 Level-0 table #1105: 0 bytes OK
|
||||
2025/05/28-21:28:51.935136 7f53df3ff6c0 Delete type=0 #1103
|
||||
2025/05/28-21:28:51.941551 7f53df3ff6c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)
|
||||
2025/10/13-20:51:30.065149 7f18a4ffa6c0 Recovering log #1208
|
||||
2025/10/13-20:51:30.074202 7f18a4ffa6c0 Delete type=3 #1206
|
||||
2025/10/13-20:51:30.074263 7f18a4ffa6c0 Delete type=0 #1208
|
||||
2025/10/13-20:58:55.985678 7f189e7fc6c0 Level-0 table #1213: started
|
||||
2025/10/13-20:58:55.985714 7f189e7fc6c0 Level-0 table #1213: 0 bytes OK
|
||||
2025/10/13-20:58:55.992909 7f189e7fc6c0 Delete type=0 #1211
|
||||
2025/10/13-20:58:56.016686 7f189e7fc6c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/05/28-21:03:44.352825 7f53e55f96c0 Recovering log #1096
|
||||
2025/05/28-21:03:44.363415 7f53e55f96c0 Delete type=3 #1094
|
||||
2025/05/28-21:03:44.363484 7f53e55f96c0 Delete type=0 #1096
|
||||
2025/05/28-21:11:25.704076 7f53df3ff6c0 Level-0 table #1101: started
|
||||
2025/05/28-21:11:25.704112 7f53df3ff6c0 Level-0 table #1101: 0 bytes OK
|
||||
2025/05/28-21:11:25.729480 7f53df3ff6c0 Delete type=0 #1099
|
||||
2025/05/28-21:11:25.819973 7f53df3ff6c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)
|
||||
2025/10/13-20:40:04.098338 7f18a4ffa6c0 Recovering log #1204
|
||||
2025/10/13-20:40:04.107962 7f18a4ffa6c0 Delete type=3 #1202
|
||||
2025/10/13-20:40:04.108019 7f18a4ffa6c0 Delete type=0 #1204
|
||||
2025/10/13-20:45:59.692466 7f189e7fc6c0 Level-0 table #1209: started
|
||||
2025/10/13-20:45:59.692489 7f189e7fc6c0 Level-0 table #1209: 0 bytes OK
|
||||
2025/10/13-20:45:59.729240 7f189e7fc6c0 Delete type=0 #1207
|
||||
2025/10/13-20:45:59.729423 7f189e7fc6c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-001102
|
||||
MANIFEST-001210
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/05/28-21:18:37.812928 7f53e4df86c0 Recovering log #1100
|
||||
2025/05/28-21:18:37.823073 7f53e4df86c0 Delete type=3 #1098
|
||||
2025/05/28-21:18:37.823147 7f53e4df86c0 Delete type=0 #1100
|
||||
2025/05/28-21:28:51.900122 7f53df3ff6c0 Level-0 table #1105: started
|
||||
2025/05/28-21:28:51.900150 7f53df3ff6c0 Level-0 table #1105: 0 bytes OK
|
||||
2025/05/28-21:28:51.906260 7f53df3ff6c0 Delete type=0 #1103
|
||||
2025/05/28-21:28:51.913909 7f53df3ff6c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)
|
||||
2025/10/13-20:51:30.014097 7f189ffff6c0 Recovering log #1208
|
||||
2025/10/13-20:51:30.023727 7f189ffff6c0 Delete type=3 #1206
|
||||
2025/10/13-20:51:30.023794 7f189ffff6c0 Delete type=0 #1208
|
||||
2025/10/13-20:58:55.964704 7f189e7fc6c0 Level-0 table #1213: started
|
||||
2025/10/13-20:58:55.964734 7f189e7fc6c0 Level-0 table #1213: 0 bytes OK
|
||||
2025/10/13-20:58:55.972375 7f189e7fc6c0 Delete type=0 #1211
|
||||
2025/10/13-20:58:55.985556 7f189e7fc6c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/05/28-21:03:44.298365 7f53e5dfa6c0 Recovering log #1096
|
||||
2025/05/28-21:03:44.308425 7f53e5dfa6c0 Delete type=3 #1094
|
||||
2025/05/28-21:03:44.308489 7f53e5dfa6c0 Delete type=0 #1096
|
||||
2025/05/28-21:11:25.595569 7f53df3ff6c0 Level-0 table #1101: started
|
||||
2025/05/28-21:11:25.595655 7f53df3ff6c0 Level-0 table #1101: 0 bytes OK
|
||||
2025/05/28-21:11:25.624793 7f53df3ff6c0 Delete type=0 #1099
|
||||
2025/05/28-21:11:25.703933 7f53df3ff6c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)
|
||||
2025/10/13-20:40:04.047360 7f189f7fe6c0 Recovering log #1204
|
||||
2025/10/13-20:40:04.057386 7f189f7fe6c0 Delete type=3 #1202
|
||||
2025/10/13-20:40:04.057445 7f189f7fe6c0 Delete type=0 #1204
|
||||
2025/10/13-20:45:59.550286 7f189e7fc6c0 Level-0 table #1209: started
|
||||
2025/10/13-20:45:59.550321 7f189e7fc6c0 Level-0 table #1209: 0 bytes OK
|
||||
2025/10/13-20:45:59.585680 7f189e7fc6c0 Delete type=0 #1207
|
||||
2025/10/13-20:45:59.585866 7f189e7fc6c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-001102
|
||||
MANIFEST-001210
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/05/28-21:18:37.797820 7f53e5dfa6c0 Recovering log #1100
|
||||
2025/05/28-21:18:37.809064 7f53e5dfa6c0 Delete type=3 #1098
|
||||
2025/05/28-21:18:37.809141 7f53e5dfa6c0 Delete type=0 #1100
|
||||
2025/05/28-21:28:51.885497 7f53df3ff6c0 Level-0 table #1105: started
|
||||
2025/05/28-21:28:51.885605 7f53df3ff6c0 Level-0 table #1105: 0 bytes OK
|
||||
2025/05/28-21:28:51.892302 7f53df3ff6c0 Delete type=0 #1103
|
||||
2025/05/28-21:28:51.913882 7f53df3ff6c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
|
||||
2025/10/13-20:51:30.000150 7f18a4ffa6c0 Recovering log #1208
|
||||
2025/10/13-20:51:30.010745 7f18a4ffa6c0 Delete type=3 #1206
|
||||
2025/10/13-20:51:30.010844 7f18a4ffa6c0 Delete type=0 #1208
|
||||
2025/10/13-20:58:55.951435 7f189e7fc6c0 Level-0 table #1213: started
|
||||
2025/10/13-20:58:55.951483 7f189e7fc6c0 Level-0 table #1213: 0 bytes OK
|
||||
2025/10/13-20:58:55.957942 7f189e7fc6c0 Delete type=0 #1211
|
||||
2025/10/13-20:58:55.958168 7f189e7fc6c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/05/28-21:03:44.283375 7f53e55f96c0 Recovering log #1096
|
||||
2025/05/28-21:03:44.294020 7f53e55f96c0 Delete type=3 #1094
|
||||
2025/05/28-21:03:44.294093 7f53e55f96c0 Delete type=0 #1096
|
||||
2025/05/28-21:11:25.625053 7f53df3ff6c0 Level-0 table #1101: started
|
||||
2025/05/28-21:11:25.625118 7f53df3ff6c0 Level-0 table #1101: 0 bytes OK
|
||||
2025/05/28-21:11:25.653818 7f53df3ff6c0 Delete type=0 #1099
|
||||
2025/05/28-21:11:25.703948 7f53df3ff6c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
|
||||
2025/10/13-20:40:04.033243 7f18a4ffa6c0 Recovering log #1204
|
||||
2025/10/13-20:40:04.043812 7f18a4ffa6c0 Delete type=3 #1202
|
||||
2025/10/13-20:40:04.043882 7f18a4ffa6c0 Delete type=0 #1204
|
||||
2025/10/13-20:45:59.516419 7f189e7fc6c0 Level-0 table #1209: started
|
||||
2025/10/13-20:45:59.516460 7f189e7fc6c0 Level-0 table #1209: 0 bytes OK
|
||||
2025/10/13-20:45:59.549549 7f189e7fc6c0 Delete type=0 #1207
|
||||
2025/10/13-20:45:59.549682 7f189e7fc6c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000745
|
||||
MANIFEST-000853
|
||||
|
@@ -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/10/13-20:51:30.051499 7f18a4ffa6c0 Recovering log #851
|
||||
2025/10/13-20:51:30.062133 7f18a4ffa6c0 Delete type=3 #849
|
||||
2025/10/13-20:51:30.062204 7f18a4ffa6c0 Delete type=0 #851
|
||||
2025/10/13-20:58:55.978922 7f189e7fc6c0 Level-0 table #856: started
|
||||
2025/10/13-20:58:55.978979 7f189e7fc6c0 Level-0 table #856: 0 bytes OK
|
||||
2025/10/13-20:58:55.985424 7f189e7fc6c0 Delete type=0 #854
|
||||
2025/10/13-20:58:55.985583 7f189e7fc6c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end)
|
||||
|
@@ -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/10/13-20:40:04.084989 7f18a4ffa6c0 Recovering log #847
|
||||
2025/10/13-20:40:04.095584 7f18a4ffa6c0 Delete type=3 #845
|
||||
2025/10/13-20:40:04.095650 7f18a4ffa6c0 Delete type=0 #847
|
||||
2025/10/13-20:45:59.656500 7f189e7fc6c0 Level-0 table #852: started
|
||||
2025/10/13-20:45:59.656553 7f189e7fc6c0 Level-0 table #852: 0 bytes OK
|
||||
2025/10/13-20:45:59.691824 7f189e7fc6c0 Delete type=0 #850
|
||||
2025/10/13-20:45:59.691954 7f189e7fc6c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@@ -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
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user