Compare commits

..

23 Commits

Author SHA1 Message Date
79ba6a9666 Foundry v13 / wfrp v9 migration 2025-05-09 09:58:46 +02:00
31109ba2ec Foundry v13 / wfrp v9 migration 2025-05-09 09:41:41 +02:00
67b2af882f Minor translations fixes 2025-04-30 13:57:34 +02:00
05b9dab747 Ajout des clés de traduction 8.0.5 2025-03-26 14:32:10 +01:00
243aeda9f7 Ajout des clés de traduction 8.0.5 2025-03-26 14:30:23 +01:00
04947ab145 Fix ouverture de competence 2025-03-09 09:23:31 +01:00
4045d5d07f Sync with wfrp 4, v8.4.0 2025-01-31 13:55:39 +01:00
870e4f6a6c Sync with wfrp 4, v8.4.0 2025-01-30 21:05:33 +01:00
4d0b3ca280 Support v8.3.X 2024-12-06 06:56:45 +01:00
d019c8fe22 Integrate various fixed from Pallando 2024-11-10 22:08:15 +01:00
e3247a5a92 Merge pull request 'Add missing witchcraft spells and common folder names' (#106) from pallando/foundryvtt-wh4-lang-fr-fr:missing into v10
Reviewed-on: #106
2024-11-10 22:02:16 +01:00
42295f71cb Merge pull request 'Additions' (#107) from pallando/foundryvtt-wh4-lang-fr-fr:additions into v10
Reviewed-on: #107
2024-11-10 22:02:07 +01:00
e7722dd222 Add translation converters for Imperial Zoo items 2024-11-10 14:32:30 +01:00
513e41b8f2 Convert disease incubation/duration for Lustria and OWB2 2024-11-10 14:26:37 +01:00
46b47a5b24 Add converter for disease incubation/duration units 2024-11-10 14:25:36 +01:00
e1e52ca2be Add translation converters for Old World Bundle 2 items 2024-11-10 13:41:04 +01:00
a7c848a30d Remove useless necromancy folder from wom items 2024-11-10 13:29:02 +01:00
f0248692cc Add translation converters for Archives vol. 3 items 2024-11-10 13:20:15 +01:00
682b62c2e0 Add translation converters for Lustria items 2024-11-10 13:15:12 +01:00
3978fab79a Add translation converters for Salzenmund items 2024-11-10 13:11:32 +01:00
64be1078e1 Fix babele-register.js for subskills when core is not first compendium checked 2024-11-10 13:00:39 +01:00
925c2721a9 Add folder names from translated compendiums to SoC, WoM and UiA 2024-11-10 12:55:26 +01:00
97d9d5d8fa Add missing witchcraft spells to core items 2024-11-10 12:50:37 +01:00
60 changed files with 910 additions and 215 deletions

View File

@ -0,0 +1,91 @@
{
"label": "Items (Archives Vol. III)",
"folders": {
"Armour": "Armures",
"Careers": "Carrières",
"Skills": "Compétences",
"Spells": "Sorts"
},
"mapping": {
"description": "system.description.value",
"trappings": "system.trappings",
"class": {
"path": "system.class.value",
"converter": "generic_localization"
},
"skills": {
"path": "system.skills",
"converter": "career_skills"
},
"careergroup": {
"path": "system.careergroup.value",
"converter": "career_careergroup"
},
"talents": {
"path": "system.talents",
"converter": "career_talents"
},
"pduration": {
"path": "system.duration.value",
"converter": "spells_duration_range_target_damage"
},
"prange": {
"path": "system.range.value",
"converter": "spells_duration_range_target_damage"
},
"ptarget": {
"path": "system.target.value",
"converter": "spells_duration_range_target_damage"
},
"pdamage": {
"path": "system.damage.value",
"converter": "spells_duration_range_target_damage"
},
"test": {
"path": "system.test",
"converter": "role_skills"
},
"tests": "system.tests.value",
"maxcost": {
"path": "system.cost.max",
"converter": "spells_duration_range_target_damage"
},
"sduration": {
"path": "system.duration.value",
"converter": "spells_duration_range_target_damage"
},
"srange": {
"path": "system.range.value",
"converter": "spells_duration_range_target_damage"
},
"starget": {
"path": "system.target.value",
"converter": "spells_duration_range_target_damage"
},
"sdamage": {
"path": "system.damage.value",
"converter": "spells_duration_range_target_damage"
},
"penalty": "system.penalty.value",
"location": {
"path": "system.location.value",
"converter": "generic_localization"
},
"durationValue": "system.duration.value",
"durationUnit": "system.duration.unit",
"contraction": "system.contraction.value",
"incubationValue": "system.incubation.value",
"incubationUnit": "system.incubation.unit",
"symptoms": "system.symptoms.value",
"permanent": "system.permanent.value",
"special": "system.special.value",
"qualities": {
"path": "system.qualities.value",
"converter": "trapping_qualities_flaws"
},
"flaws": {
"path": "system.flaws.value",
"converter": "trapping_qualities_flaws"
}
}
}

View File

@ -1525,7 +1525,7 @@
},
{
"description": "<p style=\"text-align: justify:\">Votre main est méchamment coupée, ce qui rend votre prise glissante. Recevez 1 État @Condition[Hémorragique]. Tant que vous êtes sous leffet de cet État, effectuez un Test de <strong>Dextérité Accessible (+20)</strong> avant deffectuer une action qui nécessite que vous teniez quoi que ce soit dans cette main ; sur un échec, lobjet vous glisse de la main.</p>",
"id": "Bleeding hand",
"id": "Bleeding Hand",
"name": "Main ensanglantée"
},
{
@ -2548,7 +2548,7 @@
"tests": "Charme quand vous mentez"
},
{
"description": "<p>Vous êtes un lanceur de Sorts autodidacte qui a compris peu à peu comment utiliser la magie, par tâtonnements. Ajoutez Langue (Magick) à nimporte quelle Carrière que vous entamez ; si elle est déjà comprise dans votre Carrière, vous pouvez, à la place, acheter la Compétence pour 5 PX de moins par Augmentation. De plus, vous pouvez dépenser un Point de Résilience pour lancer (et mémoriser) un Sort provenant de nimporte quel Domaine de Magie, pour 0 PX. Vous pouvez le faire un nombre de fois égal à votre Niveau dans ce Talent.</p>",
"description": "<p>Vous êtes agile comme un chat, et capable de tomber de plus grandes hauteurs que les autres sans vous blesser. Chaque fois que vous tombez, effectuez un Test dAthlétisme. Sur un succès, réduisez la distance de chute de 1 mètre, +1 mètre supplémentaire par +1 DR obtenu, pour calculer les Dégâts</p>",
"id": "Catfall",
"name": "Souplesse féline",
"tests": "Athlétisme quand vous tombez"
@ -2825,7 +2825,7 @@
},
{
"description": "<p>Vous êtes entraîné à vous placer très près dun adversaire. Vous ne subissez aucune pénalité pour vous battre contre un adversaire avec une arme plus longue que la vôtre. De plus, si vous utilisez les règles optionnelles de Combat au contact (voir page 297), gagnez un bonus de +10 pour toucher votre adversaire.</p>",
"id": "Infighter",
"id": "InFighter",
"name": "Combattant au contact",
"tests": "Corps à corps quand vous combattez au contact ou que vous allez au contact"
},
@ -3798,6 +3798,11 @@
"id": "Bolt (Shadow)",
"name": "Carreau (Ombres)"
},
{
"description": "<p>Vous concentrez la magie en un carreau destructeur. <em>Carreau</em> est un <em>Projectile magique</em> avec Dégât +4.</p>",
"id": "Bolt (Witchcraft)",
"name": "Carreau (Sorcellerie)"
},
{
"description": "<p>Vous effectuez immédiatement une attaque de Souffle, comme si vous aviez dépensé 2 Avantages pour activer le Trait de créature @Compendium[wfrp4e-core.items.uqGxFOEqeurwkAO3]{Souffle}. Souffle est un <em>Projectile magique</em> dont les Dégâts sont égaux à votre Bonus d'Endurance. Le MJ détermine quel type d'attaque de Souffle correspond le mieux à votre Talent Magie des Arcanes.</p>",
"id": "Breath",
@ -3918,6 +3923,11 @@
"id": "Bridge (Shadow)",
"name": "Pont (Ombres)"
},
{
"description": "<p>Vous créez un pont d'énergie magique, d'une longueur et d'une largeur maximales en mètres égales à votre Bonus de Force Mentale. Pour chaque +2 DR, vous pouvez augmenter la longueur ou la largeur d'un nombre de mètres égal à votre Bonus de Force Mentale.</p>",
"id": "Bridge (Witchcraft)",
"name": "Pont (Sorcellerie)"
},
{
"description": "<p>La magie qui afflue dans vos pieds s'assure que les matières organiques sur lesquelles vous marchez ne soient pas endommagées : les brindilles ne cassent pas, l'herbe revient à sa position d'origine, et même les fleurs délicates ne sont pas abîmées. Ceux qui cherchent à utiliser la Compétence @Compendium[wfrp4e-core.items.rt2rGSwFDCDHPh0A] pour vous suivre à travers un terrain rural subissent une pénalité de -30 à leurs Tests.</p>",
"id": "Careful Step",
@ -4323,6 +4333,11 @@
"id": "Dome (Shadow)",
"name": "Dôme (Ombres)"
},
{
"description": "<p>Vous créez un dôme d'énergie magique au-dessus des têtes, bloquant les attaques de l'extérieur. Quiconque se trouve dans la Zone d'Effet gagne le Trait de créature @Compendium[wfrp4e-core.items.Bvd2aZ0gQUXHfCTh]{Protection(+6)} contre les Attaques magiques ou à distances provenant de l'extérieur du dôme. Les personnes à l'intérieur peuvent attaquer des cibles situées à l'extérieur du dôme normalement, et le dôme ne gêne pas le déplacement",
"id": "Dome (Witchcraft)",
"name": "Dôme (Sorcellerie)"
},
{
"description": "<p>Vous tissez un masque et une cape d'<em>Ulgu</em> autour de votre silhouette, adoptant l'apparence d'une autre créature humanoïde avec laquelle vous êtes familier (comme déterminé par le MJ). Votre apparence trompe quiconque ne possède pas le Talent <em>@Compendium[wfrp4e-core.items.OEjUvJKi0xmBwbS2]</em>, bien que certains puissent le remarquer si vos manières sont incorrectes. Ceux possédant ce Talent doivent réussir un Test de <strong>Perception Complexe (-10)</strong> pour remarquer que vous camouflez votre silhouette. Cela ne leur permet pas de voir à travers le Sort. Pour ce faire, ils doivent le dissiper.</p>",
"id": "Doppelganger",
@ -4783,6 +4798,11 @@
"id": "Magic Shield (Shadow)",
"name": "Bouclier magique (Ombres)"
},
{
"description": "<p>Vous vous entourez d'une bande de magie protectrice. Tant que le Sort est actif, ajoutez +(Bonus de Force Mentale) DR quand vous tentez de dissiper un Sort.</p>",
"id": "Magic Shield (Witchcraft)",
"name": "Bouclier magique (Sorcellerie)"
},
{
"description": "<p>Vous focalisez les relents de <em>Dhar</em>, provoquant une brève déchirure dans la réalité. Un Démon Mineur apparaît immédiatement par cette déchirure (référez-vous à la page 335 pour y trouver deux exemples : @Compendium[wfrp4e-core.bestiary.KZkuwdOYmE3nwB2n] et @Compendium[wfrp4e-core.bestiary.8gG2Wim6wAlJWRax]. Un Démon Mineur apparaît immédiatement par cette déchirure. Effectuez un Test Opposé de <strong>Focalisation (Dhar)/Force Mentale</strong> avec le démon. Sur un succès, ce dernier répondra favorablement à un ordre que vous lui donnerez, littéralement, avant de disparaître (en partant du principe qu'il puisse accomplir ce que vous lui avez demandé avant la fin du Sort). Sur un échec, le démon attaque sur le champ.</p>",
"id": "Manifest Lesser Daemon",
@ -5068,6 +5088,11 @@
"id": "Push (Shadow)",
"name": "Poussée (Ombres)"
},
{
"description": "<p>Toutes les créatures situées à une distance en mètres égale à votre Bonus de Force Mentale sont repoussées d'un nombre de mètres égal à votre Bonus de Force Mentale et gagnent l'État <em>@Condition[A Terre]{À Terre}</em>.Si cela les amène à entrer en contact avec un mur ou un autre grand obstacle, elles subissent un nombre de Dégâts égal à la distance parcourue en mètres. Pour chaque +2 DR, vous pouvez repousser les créatures d'un nombre de mètres supplémentaires égal à votre Bonus de Force Mentale.</p>",
"id": "Push (Witchcraft)",
"name": "Poussée (Sorcellerie)"
},
{
"description": "<p>Vous focalisez un important flux de <em>Dhar</em> directement vers le sol, faisant se rassembler et sortir de vieux os. DR+1 Squelettes sortiront ainsi du sol dans la zone d'effet que vous aurez choisie avant la fin du round. Il subissent tous l'État <em>@Condition[A Terre]{À Terre}</em>. Ces morts-vivants sont sous votre contrôle et sont capables d'exécuter les ordres simples que vous leur donnerez. Si vous êtes tué où que vous subissez l'État <em>@Condition[Inconscient]</em>, le Sort s'achève et les morts-vivants s'écroulent. Pour chaque DR+2 que vous obtenez, vous pouvez invoquer DR Squelettes supplémentaires.</p>",
"id": "Raise Dead",
@ -6665,7 +6690,7 @@
},
{
"description": "<p>Vos prières exaltantes inspirent la discipline et la coordination à l'intérieur de vos rangs. Les cibles affectées gagnent +1 Talent @Compendium[wfrp4e-core.items.J9MK0AIaTbvd5oF6].</p>",
"id": "Inspiring",
"id": "ezVl3vFWTwHfNXL3",
"name": "Inspirant"
},
{
@ -9358,9 +9383,9 @@
"Food and Drink": "Nourriture et Boissons",
"Herbs and Draughts": "Herbes et Décoctions",
"Injuries": "Blessures",
"Lore of Bests": "Domaine des Bêtes",
"Lore of Beasts": "Domaine des Bêtes",
"Lore of Daemonology": "Démonologie",
"Lore of Death": "Domaine de la mort",
"Lore of Death": "Domaine de la Mort",
"Lore of Fire": "Domaine du Feu",
"Lore of Heaven": "Domaine des Cieux",
"Lore of Hedgecraft": "Magie des Haies",

View File

@ -0,0 +1,94 @@
{
"label": "Items (Lustria)",
"folders": {
"Careers": "Carrières",
"Spells": "Sorts",
"Trappings": "Possessions",
"Weapons": "Armes"
},
"mapping": {
"description": "system.description.value",
"trappings": "system.trappings",
"class": {
"path": "system.class.value",
"converter": "generic_localization"
},
"skills": {
"path": "system.skills",
"converter": "career_skills"
},
"modType": "system.modType.value",
"careergroup": {
"path": "system.careergroup.value",
"converter": "career_careergroup"
},
"talents": {
"path": "system.talents",
"converter": "career_talents"
},
"pduration": {
"path": "system.duration.value",
"converter": "spells_duration_range_target_damage"
},
"prange": {
"path": "system.range.value",
"converter": "spells_duration_range_target_damage"
},
"ptarget": {
"path": "system.target.value",
"converter": "spells_duration_range_target_damage"
},
"pdamage": {
"path": "system.damage.value",
"converter": "spells_duration_range_target_damage"
},
"test": {
"path": "system.test",
"converter": "role_skills"
},
"tests": "system.tests.value",
"sduration": {
"path": "system.duration.value",
"converter": "spells_duration_range_target_damage"
},
"srange": {
"path": "system.range.value",
"converter": "spells_duration_range_target_damage"
},
"starget": {
"path": "system.target.value",
"converter": "spells_duration_range_target_damage"
},
"sdamage": {
"path": "system.damage.value",
"converter": "spells_duration_range_target_damage"
},
"penalty": "system.penalty.value",
"location": {
"path": "system.location.value",
"converter": "generic_localization"
},
"durationValue": "system.duration.value",
"durationUnit": {
"path": "system.duration.unit",
"converter": "disease_duration_unit"
},
"contraction": "system.contraction.value",
"incubationValue": "system.incubation.value",
"incubationUnit": {
"path": "system.incubation.unit",
"converter": "disease_duration_unit"
},
"symptoms": "system.symptoms.value",
"permanent": "system.permanent.value",
"special": "system.special.value",
"qualities": {
"path": "system.qualities.value",
"converter": "trapping_qualities_flaws"
},
"flaws": {
"path": "system.flaws.value",
"converter": "trapping_qualities_flaws"
}
}
}

View File

@ -0,0 +1,103 @@
{
"label": "Items (Old World Bundle II)",
"folders": {
"Lore of the Beasts": "Domaine des Bêtes",
"Lore of Death": "Domaine de la Mort",
"Lore of Fire": "Domaine du Feu",
"Lore of Heavens": "Domaine des Cieux",
"Lore of Hedgecraft": "Magie des Haies",
"Lore of Life": "Domaine de la Vie",
"Lore of Light": "Domaine de la Lumière",
"Lore of Metal": "Domaine du Métal",
"Lore of Shadows": "Domaine des Ombres",
"Lore of Witchcraft": "Sorcellerie"
},
"mapping": {
"description": "system.description.value",
"trappings": "system.trappings",
"class": {
"path": "system.class.value",
"converter": "generic_localization"
},
"skills": {
"path": "system.skills",
"converter": "career_skills"
},
"careergroup": {
"path": "system.careergroup.value",
"converter": "career_careergroup"
},
"talents": {
"path": "system.talents",
"converter": "career_talents"
},
"pduration": {
"path": "system.duration.value",
"converter": "spells_duration_range_target_damage"
},
"prange": {
"path": "system.range.value",
"converter": "spells_duration_range_target_damage"
},
"ptarget": {
"path": "system.target.value",
"converter": "spells_duration_range_target_damage"
},
"pdamage": {
"path": "system.damage.value",
"converter": "spells_duration_range_target_damage"
},
"test": {
"path": "system.test",
"converter": "role_skills"
},
"tests": "system.tests.value",
"maxcost": {
"path": "system.cost.max",
"converter": "spells_duration_range_target_damage"
},
"sduration": {
"path": "system.duration.value",
"converter": "spells_duration_range_target_damage"
},
"srange": {
"path": "system.range.value",
"converter": "spells_duration_range_target_damage"
},
"starget": {
"path": "system.target.value",
"converter": "spells_duration_range_target_damage"
},
"sdamage": {
"path": "system.damage.value",
"converter": "spells_duration_range_target_damage"
},
"penalty": "system.penalty.value",
"location": {
"path": "system.location.value",
"converter": "generic_localization"
},
"durationValue": "system.duration.value",
"durationUnit": {
"path": "system.duration.unit",
"converter": "disease_duration_unit"
},
"contraction": "system.contraction.value",
"incubationValue": "system.incubation.value",
"incubationUnit": {
"path": "system.incubation.unit",
"converter": "disease_duration_unit"
},
"symptoms": "system.symptoms.value",
"permanent": "system.permanent.value",
"special": "system.special.value",
"qualities": {
"path": "system.qualities.value",
"converter": "trapping_qualities_flaws"
},
"flaws": {
"path": "system.flaws.value",
"converter": "trapping_qualities_flaws"
}
}
}

View File

@ -0,0 +1,89 @@
{
"label": "Items (Salzenmund)",
"mapping": {
"effects": {
"converter": "process_effects",
"path": "effects"
},
"careergroup": {
"converter": "career_careergroup",
"path": "system.careergroup.value"
},
"class": {
"converter": "generic_localization",
"path": "system.class.value"
},
"contraction": "system.contraction.value",
"description": "system.description.value",
"durationUnit": "system.duration.unit",
"durationValue": "system.duration.value",
"flaws": {
"converter": "trapping_qualities_flaws",
"path": "system.flaws.value"
},
"incubationUnit": "system.incubation.unit",
"incubationValue": "system.incubation.value",
"location": {
"converter": "generic_localization",
"path": "system.location.value"
},
"modifier": {
"converter": "mutations_modifier",
"path": "system.modifier.value"
},
"mutationType": {
"converter": "generic_localization",
"path": "system.mutationType.value"
},
"pdamage": {
"converter": "spells_duration_range_target_damage",
"path": "system.damage.value"
},
"pduration": {
"converter": "spells_duration_range_target_damage",
"path": "system.duration.value"
},
"penalty": "system.penalty.value",
"permanent": "system.permanent.value",
"prange": {
"converter": "spells_duration_range_target_damage",
"path": "system.range.value"
},
"ptarget": {
"converter": "spells_duration_range_target_damage",
"path": "system.target.value"
},
"qualities": {
"converter": "trapping_qualities_flaws",
"path": "system.qualities.value"
},
"sdamage": {
"converter": "spells_duration_range_target_damage",
"path": "system.damage.value"
},
"sduration": {
"converter": "spells_duration_range_target_damage",
"path": "system.duration.value"
},
"skills": {
"converter": "career_skills",
"path": "system.skills"
},
"special": "system.special.value",
"srange": {
"converter": "spells_duration_range_target_damage",
"path": "system.range.value"
},
"starget": {
"converter": "spells_duration_range_target_damage",
"path": "system.target.value"
},
"symptoms": "system.symptoms.value",
"talents": {
"converter": "career_talents",
"path": "system.talents"
},
"tests": "system.tests.value",
"trappings": "system.trappings"
}
}

View File

@ -1,5 +1,15 @@
{
"label": "Items (Sea of Claws)",
"folders": {
"Ammunition": "Munitions",
"Careers": "Carrières",
"Criticals": "Critiques",
"Diseases": "Maladies",
"Skills": "Compétences",
"Spells": "Sorts",
"Trappings": "Possessions",
"Weapons": "Armes"
},
"mapping": {
"description": "system.description.value",
"trappings": "system.trappings",
@ -11,6 +21,7 @@
"path": "system.skills",
"converter": "career_skills"
},
"modType": "system.modType.value",
"careergroup": {
"path": "system.careergroup.value",
"converter": "career_careergroup"
@ -78,4 +89,4 @@
"converter": "trapping_qualities_flaws"
}
}
}
}

View File

@ -1,5 +1,15 @@
{
"label": "Items (Up In Arms)",
"folders": {
"Ammunition": "Munitions",
"Careers": "Carrières",
"Criticals": "Critiques",
"Prayers": "Prières",
"Skills": "Compétences",
"Spells": "Sorts",
"Trappings": "Possessions",
"Weapons": "Armes"
},
"mapping": {
"skills": {
"path": "system.skills",

View File

@ -1,5 +1,22 @@
{
"label": "Items (Winds of Magic)",
"folders": {
"Ammunition": "Munitions",
"Armour": "Armures",
"Careers": "Carrières",
"Lore of Beasts": "Domaine des Bêtes",
"Lore of Death": "Domaine de la Mort",
"Lore of Fire": "Domaine du Feu",
"Lore of Heavens": "Domaine des Cieux",
"Lore of Life": "Domaine de la Vie",
"Lore of Light": "Domaine de la Lumière",
"Lore of Metal": "Domaine du Métal",
"Lore of Shadow": "Domaine des Ombres",
"Skills": "Compétences",
"Spells": "Sorts",
"Trappings": "Possessions",
"Weapons": "Armes"
},
"mapping": {
"description": "system.description.value",
"trappings": "system.trappings",

View File

@ -0,0 +1,95 @@
{
"label": "Items (Imperial Zoo)",
"folders": {
"Ammunition": "Munitions",
"Careers": "Carrières",
"Prayers": "Prières",
"Trappings": "Possessions",
"Weapons": "Armes"
},
"mapping": {
"description": "system.description.value",
"trappings": "system.trappings",
"class": {
"path": "system.class.value",
"converter": "generic_localization"
},
"skills": {
"path": "system.skills",
"converter": "career_skills"
},
"modType": "system.modType.value",
"careergroup": {
"path": "system.careergroup.value",
"converter": "career_careergroup"
},
"talents": {
"path": "system.talents",
"converter": "career_talents"
},
"pduration": {
"path": "system.duration.value",
"converter": "spells_duration_range_target_damage"
},
"prange": {
"path": "system.range.value",
"converter": "spells_duration_range_target_damage"
},
"ptarget": {
"path": "system.target.value",
"converter": "spells_duration_range_target_damage"
},
"pdamage": {
"path": "system.damage.value",
"converter": "spells_duration_range_target_damage"
},
"test": {
"path": "system.test",
"converter": "role_skills"
},
"tests": "system.tests.value",
"sduration": {
"path": "system.duration.value",
"converter": "spells_duration_range_target_damage"
},
"srange": {
"path": "system.range.value",
"converter": "spells_duration_range_target_damage"
},
"starget": {
"path": "system.target.value",
"converter": "spells_duration_range_target_damage"
},
"sdamage": {
"path": "system.damage.value",
"converter": "spells_duration_range_target_damage"
},
"penalty": "system.penalty.value",
"location": {
"path": "system.location.value",
"converter": "generic_localization"
},
"durationValue": "system.duration.value",
"durationUnit": {
"path": "system.duration.unit",
"converter": "disease_duration_unit"
},
"contraction": "system.contraction.value",
"incubationValue": "system.incubation.value",
"incubationUnit": {
"path": "system.incubation.unit",
"converter": "disease_duration_unit"
},
"symptoms": "system.symptoms.value",
"permanent": "system.permanent.value",
"special": "system.special.value",
"qualities": {
"path": "system.qualities.value",
"converter": "trapping_qualities_flaws"
},
"flaws": {
"path": "system.flaws.value",
"converter": "trapping_qualities_flaws"
}
}
}

223
fr.json
View File

@ -97,7 +97,7 @@
"SETTINGS.TestDialogAutoPopulate" : "Remplir automatiquement les dialogues de Test",
"SETTINGS.TestDialogAutoPopulateHint" : "Ce paramètre remplit automatiquement les informations des boîtes de dialogue concernant les Tests. Par exemple : Brandir une arme Défensive remplit automatiquement le champ 'Bonus DR' dans les boîtes de dialogue des armes de mêlée. Cela survient uniquement si ce n'est pas le tour du personnage concerné. Applicable également pour les armes Précises / Imprécises.",
"SETTINGS.TestDialogDefaultDifficulty" : "Difficulté par défaut des tests hors-combat",
"SETTINGS.TestDialogDefaultDifficultyHint" : "Positionne la difficulté par défaut des tests à Accessible si aucun combat n'est activé. En combat ou si cette option n'est pas cochée, la difficulté par défaut reste Intermédiaire. Dans tout les cas, la valeur reste modifiable dans la fenêtre du lancer de dé.",
"SETTINGS.TestDialogDefaultDifficultyHint" : "Positionne la difficulté par défaut des tests à Accessible si aucun combat n'est activé. En combat ou si cette option n'est pas cochée, la difficulté par défaut reste Intermédiaire. Dans tout les cas, la valeur reste modifiable dans la fenêtre du lancer de dé.",
"SETTINGS.NpcAverageChar" : "Régler les caractéristiques moyennes des PNJ",
"SETTINGS.NpcAverageCharHint" : "Saisir une race reconnue pour un PNJ remplit automatiquement ses caractéristiques avec les valeurs moyennes prévues.",
"SETTINGS.PartialChannelling" : "Focalisation partielle",
@ -136,9 +136,9 @@
"SETTINGS.RangeAutoCalculation": "Calcul automatique du modificateur de distance",
"SETTINGS.PlayerExperienceEditing": "Edition de l'Expérience du personnage",
"SETTINGS.PlayerExperienceEditingHint": "Autoriser les joueurs à modifier l'XP des personnages",
"SETTINGS.AdvantageBonusHint": "Configurer le bonus donné par l'avantage",
"SETTINGS.AdvantageBonusHint": "Configurer le bonus donné par l'avantage",
"SETTINGS.AdvantageBonus": "Bonus d'avantage",
"SETTINGS.MooSizeDamageHint":"Les bonus de dommages sont liés à la taille absolue, au lieu des différences de taille relatives (voir la page de Wiki en lien ci-dessus)",
"SETTINGS.MooHomebrewItems":"Modifications d'Items",
"SETTINGS.MooHomebrewItemHint":"Change (avec l'application des règles ci-dessus) différents obejts. Voir la page de Wiki indiquée ci-dessus. **ATTENTION: A n'activer que sur un nouveau monde, et avec la plupart des règles ci-dessus activées**",
@ -207,6 +207,14 @@
"SETTINGS.AutomaticSuccessHint":"Tout les jets inférieurs ou égaux à cette valeur seront considérés comme des réussites",
"SETTINGS.AdvantageMax":"Limite d'avantages",
"SETTINGS.AdvantageMaxHint":"Limite les avantages à un nombre pré-définie, comme 2, 4,etc.",
"SETTINGS.MooCritModifiersHint":"Lorsque vous subissez des dégâts au-delà de 0 blessure, ajoutez ou soustrayez 10 au tableau des coups critiques pour chaque point de différence de dégâts par rapport à votre bonus d'Endurance.<br><br>Ex. Il me reste 4 blessures, Endurance 50. Je subis 12 dégâts. Cela ferait 8 au-delà de 0. Avec un BE de 5, cela donnerait un +30 au coup critique obtenu.<br><br>Ex. Il me reste 4 blessures, Enurance 50, je subis 5 dégâts. Cela ferait 1 au-delà de 0. Avec une BE de 5, cela donnerait un -40 au coup critique obtenu.",
"SETTINGS.SLDOS":"Degrés de Succès",
"SETTINGS.SLDefault":"Défaut",
"SETTINGS.SLFast":"DR Rapide",
"SETTINGS.SLMethod":"Méthode de calcul des DR",
"SETTINGS.SLMethodHint":"Configure la méthode de calcul des DR lors de tests",
"SETTINGS.UIABleeding":"Etat Hémorragique de Up In Arms",
"SETTINGS.UIABleedingHint":"Change l'état Hémorragique comme indiqué dans Up In Arms, page 80",
"ROLL.CatastrophicMis":"Incantations Imparfaites Catastrophiques",
@ -227,7 +235,7 @@
"SHEET.Dodge":"Esquive",
"SHEET.Improvised":"Improvisé",
"SHEET.Stomp":"Piétiner",
"SHEET.NestedWarning" : "Pas possible d'ajouter plus de 4 niveaux de contenants.",
"SHEET.LocationWarning" : "Vider ce contenant avec de le déplacer",
"SHEET.SkillMissingWarning" : "Vous n'avez pas cette compétence",
@ -285,7 +293,56 @@
"SHEET.GenerateName":"Générer un nom",
"SHEET.CannotDeleteItemEffect":"Cet Effet provient d'un Item de cet acteur. Supprimer l'Item lui-même ou l'Effet depuis l'onglet Effet de la fiche de l'Item.",
"SHEET.TemporaryEffectHint":"Ces Effets proviennent de l'acteur qui les possède. Utiliser la fiche de personnage pour interagir avec.",
"SHEET.ItemSheetEditableDisabled":"L'édition de cet Item est désactivé tant que les effets de {effects} sont actifs. Désactivez ou supprimez ces effets sur l'acteur concerné.",
"SHEET.LocationAP":"Localisation des PA",
"SHEET.AlterName":"Autre nom",
"SHEET.AppliedTemplates":"Templates appliqués",
"SHEET.LoadingSkills":"Chargement des compétences",
"SHEET.OtherCost":"Autres couts",
"SHEET.OtherCostPlaceholder":"Formule ou nombre",
"SHEET.SkillSpecialization":"Spécialisation de compétence",
"SHEET.SkillSpecializationEnter":"Saisissez la spécialisation",
"SHEET.SkillSpecializationText":"Sélectionnez la spécialisation, si aucune sélection n'est faite, saisissez le manuellement.",
"SHEET.SpecialisationAbbrev":"Spec.",
"SHEET.TemplateGroupTooltip":"Indiquer un numéro de groupe permettra de choisir parmi tout les autres items ayant le même numéro de groupe.",
"SHEET.TemplateSpecialisationTooltip":"Combien de spécialisation à selectionner (par exemple 'Corps à corps' et '2' correspond à 'Corps à corps (Au choix 2)')",
"SHEET.CharacterSheet":"Fiche de PJ",
"SHEET.CharacterSheetNoTheme":"Fiche de PJ (sans thème)",
"SHEET.CreatureSheet":"Fiche de créature",
"SHEET.CreatureSheetNoTheme":"Fiche de créature (sans thème)",
"SHEET.NPCSheet":"Fiche de PNJ",
"SHEET.NPCSheetNoTheme":"Fiche de PNJ (sans thème)",
"SHEET.VehicleSheet":"Fiche de véhicule",
"SHEET.VehicleSheetNoTheme":"Fiche de véhicule (sans thème)",
"SHEETS.Actor.vehicle":"Fiche de Véhicule",
"SHEETS.Item.ammunition":"Fiche de Munitions",
"SHEETS.Item.armour":"Fiche d'Armure",
"SHEETS.Item.career":"Fiche de Carrière",
"SHEETS.Item.cargo":"Fiche de Cargaison",
"SHEETS.Item.container":"Fiche de Conteneur",
"SHEETS.Item.critical":"Fiche de Critique",
"SHEETS.Item.disease":"Fiche de Maladie",
"SHEETS.Item.extendedTest":"Fiche de Test Etendu",
"SHEETS.Item.injury":"Fiche de Blessure",
"SHEETS.Item.money":"Fiche de Monnaie",
"SHEETS.Item.mutation":"Fiche de Mutation",
"SHEETS.Item.prayer":"Fiche de Prière",
"SHEETS.Item.psychology":"Fiche de Psychologie",
"SHEETS.Item.skill":"Fiche de Compétence",
"SHEETS.Item.spell":"Fiche de Sort",
"SHEETS.Item.talent":"Fiche de Talent",
"SHEETS.Item.template":"Fiche de Template",
"SHEETS.Item.trait":"Fiche de Trait",
"SHEETS.Item.trapping":"Fiche d'Objet",
"SHEETS.Item.vehicleMod":"Fiche de Modif. de Véhicule",
"SHEETS.Item.vehicleRole":"Fiche de Rôle de Véhicule",
"SHEETS.Item.vehicleTest":"Fiche de Test de Véhicule",
"SHEETS.Item.weapon":"Fiche d'Arme",
"SHEETS.Actor.character":"Fiche de PJ",
"SHEETS.Actor.creature":"Fiche de créature",
"SHEETS.Actor.npc":"Fiche de PNJ",
"ACTOR.BasicSkillsTitle" : "Ajouter les compétences de base",
"ACTOR.BasicSkillsPrompt": "Ajouter les compétences de base ?",
"ACTOR.PreparationError" : "Quelque chose s'est mal passé lors de la préparation des données d'Acteurs: ",
@ -301,7 +358,7 @@
"ACTOR.AdvancementError":"Impossible de progresser : {action} {item}, pas assez d'expérience disponible",
"ACTOR.ErrorAdd":"ajouter",
"ACTOR.ErrorImprove":"améliorer",
"ITEM.PenniesValue" : "Valeur (en Sous de Cuivre)",
"ITEM.MeleeDamage" : "Dommages Mêlée",
"ITEM.RangedDamage" : "Dommages Projectiles",
@ -371,6 +428,10 @@
"ITEM.TestSkill":"Test de compétence",
"ITEM.Roles":"Roles",
"ITEM.VitalRoles":"Roles vitaux",
"ITEM.LearningXP":"XP d'Apprentissage",
"TOKEN.MOVEMENT.Status.immobile":"Immobile",
"TOKEN.MOVEMENT.Status.restricted":"Restreint",
"BleedCrit":"L'hémorrage de <b>{name}</b> coagule un peu : 1 Hémorragie peut-être retirée.",
"BleedFail":"<b>{name}</b> meur de sa perte de sang !",
@ -485,7 +546,7 @@
"Ear": "Oreille",
"Nose": "Nez",
"Foot": "Pied",
"Teeth": "Dents",
"Teeth": "Dents",
"Legs" : "Jambes",
"Leg" : "Jambe",
"Spell" : "Sort",
@ -569,7 +630,7 @@
"Protects" : "Protège",
"Overcasts": "Surincantations",
"Extensions": "Extensions",
"Quantity": "Quantité",
"Quantity": "Quantité",
"Weapon": "Arme",
"Default": "Défaut",
"Label": "Label",
@ -716,7 +777,7 @@
"MOO.Simple":"Les armes simples peuvent être utilisées avec Corps à Coprs Simple sans pénalité.",
"MOO.CriticalChanelling":"Focalisation Critique DR Bonus",
"MOO.FailedCast":"Une Echec d'Incantation pendant une Focalisation compte comme une interruption.",
"ErrorMountNotFound": "Erreur lors de la recherche de la monture. Essyez de retirer la monture",
"ErrorDamagePermission": "Vous n'avez pas la permission pour appliquer des dommages à cette cible",
"ErrorMacroItemMissing": "Votre personnage n'a pas d'objet nommé",
@ -740,7 +801,7 @@
"Infinite": "Infini",
"any one": "Au choix",
"Sing": "Chant",
"ENTITY.Actor": "Acteur",
"BROWSER.ItemCategories" : "Catégorie d'items",
@ -870,7 +931,7 @@
"DIFFICULTY.MooFutile":"Futile (-50)",
"DIFFICULTY.MooVHard":"Très Difficile (-40)",
"DIFFICULTY.MooHard":"Difficile (-30)",
"DIFFICULTY.MooEasy":"Facile (+30)",
"DIFFICULTY.MooEasy":"Facile (+30)",
"DIFFICULTY.MooDifficult":"Difficile (-20)",
"DIFFICULTY.MooVEasy":"Très Facile (+40)",
"DIFFICULTY.Impossible":"Impossible (-50)",
@ -939,6 +1000,10 @@
"DIALOG.ErrorMustSelectItem":"Au moins 1 item doit être selectionné",
"DIALOG.ChooseActor":"Choisissez l'Acteur pour réaliser le test",
"DIALOG.ItemDialog":"Fenêtre d'Item",
"DIALOG.LinkCareer":"Relier la carrière",
"DIALOG.LinkCareerContent":"Relier {new} avec {old}? Les compétences de {old} seront ajoutées à {new}, tout en préservant toutes les spécialisations effectuées avec la carrière précédente.",
"DIALOG.ChoosePassenger":"Choisissez un passager",
"DIALOG.PostQuantityContent":"Combien de fois cet item peut être récupéré? Laissez vide pour illimité.",
"CHAT.CareerChoose" : "Choisissez votre carrière",
"CHAT.DamageError" : "Erreur de calcul des dégâts:",
@ -1034,7 +1099,7 @@
"CHAT.CommandLine.Help.Travel.Usage.Note" : "Basé sur le PDF <a href='http://www.gitzmansgallery.com/docs/Travel%20Distances%20in%20the%20Empire.pdf'>Travel Distances in the Empire</a>.",
"CHAT.CommandLine.Help.Exp.Usage.Note": "Utilisez cette commande pour attribuer de l'XP à vos joueurs. Leur journal d'expérience sera automatiquement mis à jour avec les informations indiquées",
"CHAT.CommandLine.Help.Exp.Usage.Example": "<br>/exp 50<br>/exp 100 victoire sur le chef",
"CHAT.ExpReceived": "Vous avez reçu <b>{amount}</b> points d'experience pour <b>{reason}</b>",
"CHAT.ExpReceived": "Vous avez reçu <b>{amount}</b> points d'experience pour <b>{reason}</b>",
"CHAT.CommandLine.Help.Travel.Title": "Voyage",
"CHAT.TestModifiers.WrapDefend": "L'attaquant a une arme à enroulement",
"CHAT.CommandLine.Help.Exp.Title": "Experience",
@ -1044,19 +1109,19 @@
"CHAT.PostQuantityReduced": "Quantité réduite de {num}",
"CHAT.FearReminder": "Ces personnages ont actuellement Peur et peuvent faire un Test pour la surmonter",
"CHAT.TestModifiers.ShootingSizeModifier": "Tir sur une table de taille {size}.",
"CHAT.PostError": "Vous devez spécifier un entier positif",
"CHAT.PostError": "Vous devez spécifier un entier positif",
"CHAT.PostMoreThanHave": "Vous ne pouvez poster plus que vous ne possédez. Quanité réduite à {num}.",
"CHAT.NoGenerator": "Aucun Générateur actif. Utilisez char pour démarrer le processus.",
"CHAT.EditItem": "Editer l'item",
"CHAT.Haggle": "Marchander",
"CHAT.DiseasesRules" : "<br>Référez vous aux maladies pour les règles de Contraction",
"CHAT.DiseasesRules" : "<br>Référez vous aux maladies pour les règles de Contraction",
"CHAT.CorruptionTest": "<br><b>Cliquez sur un lien de Corruption pour lancer un Test de Corruption</b>",
"CHAT.AutoWitchcraftMiscast": "Sorcellerie - Lancer automatique sur la table eds Incantations Imparfaites Mineures",
"CHAT.MalignantInfluence": "Incantation Imparfaites due à une Influence Maléfique",
"CHAT.OverchannellingMiscast": "Incantation Imparfaite due à une Sur-incantation",
"CHAT.FumbleMiscast": "Incantation Imparfaite due à une Maladresse",
"CHAT.TotalPowerMiscast":"Incantation Imparfaite due à Sur-puissance",
"CHAT.CritCastMiscast": "Incantation Imparfaite due à une réussite critique",
"CHAT.CritCastMiscast": "Incantation Imparfaite due à une réussite critique",
"CHAT.CritChannelMiscast": "Incantation Imprafaite suite à une réussite critique en Focalisation",
"CHAT.DiseaseIncubation":"Incubation de {disease} terminée.",
"CHAT.DiseaseDuration":" Le décompte de temps de {duration} {unit} a démarré.",
@ -1102,6 +1167,7 @@
"CHAT.VehicleTBTooltipSubtract":"BE - {number}",
"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",
"Error.SpeciesSkills" : "Impossible d'ajouter des compétences pour les races",
"Error.SpeciesTalents" : "Impossible d'ajouter des talents pour les races",
@ -1311,6 +1377,8 @@
"MARKET.NotifyNoActor": "Aucun acteur n'est selectionné ou associé avec l'utilisateur actuel",
"MARKET.ItemAdded": "{item} ajouté à {actor}",
"MARKET.d":"d",
"MARKET.For":"pour",
"MARKET.PaidFor":"<b>Produit acheté :</b> {product}",
"WFRP4E.TrappingType.Weapon" : "Arme",
"WFRP4E.TrappingType.Armour" : "Armure",
@ -1343,7 +1411,7 @@
"WFRP4E.LoreDescription.Nurgle": "Le Domaine de Nurgle répand dhorribles maladies et immondices, mélangeant les excès boursouflés du Vent de Jade avec toute la corruption disponible, avant de les recracher dans tous les endroits possibles.",
"WFRP4E.LoreDescription.Slaanesh": "Le Domaine de Slaanesh nest que tortures et excès, destinés à être exhibés devant le Prince du Plaisir et de la Souffrance pour son éternel amusement. Il est en général composé du mélange perverti des vents dAméthyste, dOr et de Jade, aussi tordu quoriginal.",
"WFRP4E.LoreDescription.Tzeentch": "Tzeentch est le Maître de la Magie, de la traîtrise et du mensonge. Le Domaine de Tzeentch en est lincarnation, composé en grande partie de Sorts se concentrant sur le changement, ces derniers sappuyant sur les Vents Gris, Améthyste et Blanc.",
"WFRP4E.EncumbrancePenalties.Encumbered" : "1 Mouvement (min=3), 10 Agilité, +1 Fatigue de Voyage",
"WFRP4E.EncumbrancePenalties.VeryEnc" : "2 Mouvement (min=2), 20 Agilité (min: 10), +2 Fatigue de Voyage",
"WFRP4E.EncumbrancePenalties.MaxEnc" : "Vous ne pouvez plus vous déplacer.",
@ -1379,7 +1447,7 @@
"WFRP4E.ConditionName.Grappling" : "Empoigné",
"WFRP4E.ConditionName.Fear" : "Peur",
"WFRP4E.ConditionName.Defeated": "Vaincu",
"WFRP4E.SymptomDescriptions.Blight" : "Vous êtes gravement malade et sans doute plus très loin des Portes de Morr car un poison mortel se répand dans votre corps.\n\nEffectuez un <b>Test de Résistance Très Facile (+60)</b> tous les jours (en général pendant votre sommeil) ou vous mourrez, peut-être dans votre sommeil, ou en délirant de fièvre, ou encore lors d'une atroce agonie. Si Toxine est indiqué (Modéré), le <b>Test est Facile (+40)</b>. Si elle est indiquée (Grave), le <b>Test est Accessible (+20)</b>.",
"WFRP4E.SymptomDescriptions.Buboes" : "Vous êtes victime d'une inflammation des ganglions lymphatiques de l'aîne, du cou ou des aisselles. Outre le fait que c'est extrêmement douloureux, cela peut causer des saignements ou des épanchements de pus. Leur aspect est dégoûtant, l'odeur répugnante et certains vont penser qu'il s'agit là de signes de faveurs de la part du Seigneur des Epidémies et vont supposer qu'ils renferment de minuscules démons en pleine croissance. Pour se défaire de ces horreurs et de ce qui peut s'y nicher, la pratique la plus courante consiste à les percer, même si cela aboutit souvent à une Blessure Purulente.\n\nSubissez une pénalité de 10 à tous vos Tests Physiques ainsi qu'à tous vos Tests de Sociabilité si ces bubons sont apparents (ou peuvent être sentis !).",
"WFRP4E.SymptomDescriptions.Convulsions" : "Votre corps est la proie de spasmes ou de tremblements alors que l'infection vous transforme petit à petit en pantin.\n\nSubissez une pénalité de 10 à tous vos Tests Physiques alors que votre corps convulse sans que vous ne puissiez le contrôler. Si le symptôme est indiqué (Modéré), cette pénalité passe à 20. Si le symptôme est indiqué comme (Grave), vous devez être attaché sous peine de risquer de vous blesser tout seul, ce qui vous laisse dans un état d'incapacité totale.",
@ -1416,7 +1484,7 @@
"CONDITION.ApplyError" : "Vous ne pouvez pas appliquer d'états à cet acteur",
"Blight": "Toxine",
"Buboes": "Bubons",
"Buboes": "Bubons",
"Convulsion": "Convulsion",
"Convulsions": "Convulsions",
"Coughs and Sneezes": "Toux et éternuements",
@ -1430,7 +1498,7 @@
"Wounded": "Blessé",
"Delirium": "Délire",
"Swelling": "Gonflement",
"Treatment": "Traitement",
"Treatment": "Traitement",
"Wounds Healed" : "Blessures soignées",
"BugReport.ErrorForm":"Merci de remplir le formulaire",
@ -1447,7 +1515,7 @@
"ITEM.ValuePerOvercast" : "Valeur/Surincantation",
"ITEM.CastSkillOverride":"Remplacer la compétence d'incantation",
"AllowXPSpending": "Forcer l'indicateur d'avancement",
"AllowXPSpending": "Forcer l'indicateur d'avancement",
"TooltipAllowXPSpending": "Afficher l'indicateur d'avancement indépendamment de la carrière, ce qui vous permet d'automatiser les dépenses de PX",
"Extended Test" : "Test Etendu",
"Extended Tests" : "Tests Etendus",
@ -1459,16 +1527,16 @@
"Failing Decreases Progress" : "Les échecs diminuent la progression",
"Effects" : "Effets",
"Calligraphy": "Calligraphie",
"Storyteller": "Narration",
"Any": "Au choix",
"Brewer": "Brasseur",
"Herbalist": "Herboriste",
"Vintner": "Vigneron",
"Calligraphy": "Calligraphie",
"Storyteller": "Narration",
"Any": "Au choix",
"Brewer": "Brasseur",
"Herbalist": "Herboriste",
"Vintner": "Vigneron",
"Politics": "Politique",
"Riverways": "Voies fluviales",
"Act": "Interprétation",
"Writing": "Ecriture",
"Act": "Interprétation",
"Writing": "Ecriture",
"Printing": "Imprimerie",
"Plants": "Plantes",
"Poisoner": "Empoisonneur",
@ -1476,17 +1544,17 @@
"Any color": "Couleur au choix",
"Any Color": "Couleur au choix",
"Herbs": "Herbes",
"Acting": "Interprétation",
"Acting": "Interprétation",
"Thief": "Voleur",
"Taunt": "Raillerie",
"Gunsmith": "Armurier",
"Gunsmith": "Armurier",
"Farrier": "Maréchal-ferrant",
"Batle": "Guerre",
"Knighty Order": "Ordre chevaleresque",
"Guilder": "Guilde",
"Soldiers": "Soldats",
"Theology": "Théologie",
"Tinker": "Bricoleur",
"Tinker": "Bricoleur",
"Dark Magic": "Magie Noire",
"Warfare": "Guerre",
"Any Arcane Lore": "Au choix",
@ -1546,7 +1614,7 @@
"Woodlands": "Régions boisées",
"Giants": "Géants",
"Thrown": "Lancer",
"RestRecover": "Se Reposer et Guérir",
"RestRecover": "Se Reposer et Guérir",
"Metallurgy": "Métallurgie",
"Geology": "Géologie",
"Local": "Région",
@ -1560,7 +1628,7 @@
"Undead": "Morts-vivants",
"Boatbuilding": "Construction de bateaux",
"Engraver": "Graveur",
"Horse": "Cheval",
"Horse": "Cheval",
"Lecture": "Conférence",
"Cartographer": "Cartographe",
"Cartography": "Cartographie",
@ -1575,7 +1643,7 @@
"SILVER": "Argent",
"GOLD": "Or",
"BRASS": "Bronze",
"Academics": "Lettrés",
"Academic": "Lettré",
"Burghers": "Citadins",
@ -1608,7 +1676,7 @@
"Sling": "Fronde",
"Knives" : "Couteaux",
"Alcohol": "Alcool",
"Classical": "Classique",
"Classical": "Classique",
"Storytelling": "Raconter",
"Seconds":"secondes",
@ -1630,7 +1698,7 @@
"Cast Skill": "Compétence d'incantation",
"Language" : "Langue",
"Magick" : "Magick",
"Dwarfs": "Nains",
"Dwarfs": "Nains",
"Druid": "Druide",
"Drive": "Conduite",
"Entertain": "Divertissement",
@ -1646,16 +1714,16 @@
"Hard (-20)": "Dur (-20)",
"Very Hard (-30)": "Difficile (-30)",
"Difficulty": "Difficulté",
"Very Easy" : "Très facile",
"Easy": "Facile",
"Challenging": "Intermédiaire",
"Difficult": "Complexe",
"Hard": "Dur",
"Very Hard": "Difficile",
"Weapon Skill": "Capacité de Combat",
"Ballistic Skill": "Capacité de Tir",
"Ballistic Skill": "Capacité de Tir",
"Strength": "Force",
"Toughness": "Endurance",
"toughness": "Endurance",
@ -1663,7 +1731,7 @@
"Dexterity": "Dextérité",
"Willpower": "Force Mentale",
"Fellowship": "Sociabilité",
"CHAR.WS": "Capacité de Combat",
"CHAR.BS": "Capacité de Tir",
"CHAR.S": "Force",
@ -1674,7 +1742,7 @@
"CHAR.Int": "Intelligence",
"CHAR.WP": "Force Mentale",
"CHAR.Fel": "Sociabilité",
"CHARAbbrev.WS": "CC",
"CHARAbbrev.BS": "CT",
"CHARAbbrev.S": "F",
@ -1685,7 +1753,7 @@
"CHARAbbrev.Int": "Int",
"CHARAbbrev.WP": "FM",
"CHARAbbrev.Fel": "Soc",
"CHARBonus.WS": "Bonus de Capacité de Combat",
"CHARBonus.BS": "Bonus de Capacité de Tir",
"CHARBonus.S": "Bonus de Force",
@ -1785,6 +1853,8 @@
"NAME.SecondSight":"Seconde vue",
"NAME.WarWizard":"Mage de guerre",
"NAME.Witch":"Sorcier!",
"NAME.Amphibious": "Amphibie",
"NAME.Flight": "Vol",
"SPEC.Tiny" : "Minuscule",
"SPEC.Little" : "Très petite",
@ -1817,7 +1887,7 @@
"Large" : "Grande",
"Enormous" : "Enorme",
"Monstrous" : "Monstrueuse",
"Major": "Majeur",
"Major": "Majeur",
"Minor": "Mineur",
"Living": "Vivant",
"Everything" : "Tout",
@ -1948,7 +2018,7 @@
"TrapBlade": "Piège-Lame",
"Manacled Fists": "Poings Enchaînés",
"Slow": "Lente",
"Sturdy": "Inusable",
"Recoverable": "Récupérable",
"Unrecoverable": "Irrécupérable",
@ -1957,7 +2027,7 @@
"Unbreakable": "Incassable",
"Spring": "Printemps",
"PROPERTY.Accurate": "Précise",
"PROPERTY.Blackpowder": "Poudre noire",
"PROPERTY.Blast": "A explosion",
@ -1996,7 +2066,7 @@
"PROPERTY.Sturdy": "Inusable",
"PROPERTY.Slashing": "Tailladante",
"PROPERTY.Flexible" : "Flexible",
"PROPERTY.Impenetrable" : "Impenetrable",
"PROPERTY.Partial" : "Partial",
@ -2011,10 +2081,10 @@
"ITEM.IsSpec" : "Est une spécialisation",
"ITEM.NoSpec" : "Pas de spécialisation",
"ITEM.Reloading": "Rechargement",
"Instant" : "Immédiat",
"Casting Number": "Niveau d'Incantation",
"ClassTrappings.Academics": "Vêtements, Dague, Bourse, Besace contenant un nécessaire d'écriture et 1d10 feuilles de parchemin",
"ClassTrappings.Burghers": "Cape, Vêtements, Dague, Chapeau, Bourse, Besace contenant 1 repas",
"ClassTrappings.Courtiers": "Vêtements de qualité, Dague, Bourse contenant une pince à épiler, Cures-oreilles et un peigne",
@ -2023,25 +2093,25 @@
"ClassTrappings.Riverfolk": "Cape, Vêtements, Dague, Bourse, Besace contenant 1 flasque d'alcool",
"ClassTrappings.Rogues": "Vêtements, Dague, Bourse, Besace contenant 2 bougies, 1d10 allumettes et une capuche ou un masque",
"ClassTrappings.Warriors": "Vêtements, Arme à 1 main, Dague, Bourse",
"AP" : "PA",
"Scatter" : "Dispersion",
"yard" : "mètre",
"yards" : "mètres",
"Ammo" : "Munition",
"Size": "Taille",
"NAME.CombatReflexes" : "Combat Instinctif",
"character": "PJ",
"character": "PJ",
"npc": "PNJ",
"creature": "Créature",
"OPPOSED.DefenderWins" : "<b>{defender}</b> gagne contre <b>{attacker}</b> par {SL} DR",
"OPPOSED.AttackerWins" : "<b>{attacker}</b> gagne contre <b>{defender}</b> par {SL} DR",
"OPPOSED.DaemonicRoll":"<b>Jet Démoniaque</b>: {roll}",
"OPPOSED.WardRoll":"<b>Jet de Garde</b>: {roll}",
"FORTUNE.Use" : "Point de chance utilisé",
"FORTUNE.UsageRerollText" : "{character} a utilisé un Point de Chance pour relancer un échec.",
"FORTUNE.PointsRemaining" : "Points de Chance restants:",
@ -2050,7 +2120,7 @@
"DARKDEAL.UsageText" : "{character} a réalisé un Sombre Pacte et peut effectuer une relance pour +1 Point de Corruption.",
"ROLL.Misfire" : "<b>Echec Majeur:</b> Votre arme explose ! Subissez {damage} dommages à votre bras principal.",
"OPPOSED.FailedRanged" : "<b>Echec du Test</b>: Echec automatique des tests opposés",
"OPPOSED.FailedRanged" : "<b>Echec du Test</b>: Echec automatique des tests opposés",
"OPPOSED.Daemonic" : "<b>Démoniaque</b>: Touche ignoré (Résultat {roll})",
"OPPOSED.Ward" : "<b>Protection</b>: Touche ignorée (Jet {roll})",
@ -2058,14 +2128,17 @@
"CHATOPT.ApplyDamageNoAP": "Appliquer les dommages (Ignorer les PA)",
"CHATOPT.ApplyDamageNoTB": "Appliquer les dommages (Ignorer le BE)",
"CHATOPT.ApplyDamageNoTBAP": "Appliquer les dommages (Ignorer les BE et PA)",
"CHATOPT.UseFortuneReroll":"Utiliser un Point de Chance pour relancer",
"CHATOPT.UseFortuneSL":"Utiliser un Point de Chance pour ajouter +1 DR",
"CHATOPT.UseFortuneReroll":"Utiliser un Point de Chance pour relancer",
"CHATOPT.UseFortuneSL":"Utiliser un Point de Chance pour ajouter +1 DR",
"CHATOPT.DarkDeal": "Conclure un Sombre Pacte pour relancer (+1 Point de Corruption)",
"CHATOPT.OpposeTarget": "Opposé avec les Cibles",
"CHATOPT.ApplyAllDamage":"Appliquer tout les dommages",
"CHATOPT.CompleteUnopposed":"Finier tout les tests opposés",
"CHATOPT.TotalPower":"Puissance totale",
"CHATOPT.DefendOpposed":"Défendre contre un test opposé",
"CHATOPT.EditTest":"Modifier le test",
"CHATOPT.StartOpposed":"Commencer un test opposé",
"Shipwright": "Constructeur de bateaux",
"Riverways or Sea Lanes": "Rivières ou Voies Maritimes",
"Embalmer": "Embaumeur",
@ -2194,7 +2267,7 @@
"GrudgeError":"Les Longues Barbes gromellent et refusent votre soumission. Vérifier la console (F12) pour de plus amples détails.",
"GrudgePost":"Les Longues Barbes ont reçu votre grief ! Consultez la console (F12) pour le lien.",
"EFFECT.TabWFRP" : "WFRP",
"EFFECT.EffectType" : "Type d'Effet",
"EFFECT.EffectApplication" : "Application de l'Effect",
@ -2255,7 +2328,7 @@
"TABLE.ConvertTable": "Convertir en tables WFRP4e",
"TABLE.Lookup":"Chercher: ",
"TABLE.Cancel":"Jet: {result} - annulé",
"TRADE.ManageCargo": "Gérer le commerce",
"TRADE.Encumbrance": "Encombrement",
"TRADE.Modifier": "Modificateur à appliquer (+/- X%)",
@ -2270,8 +2343,8 @@
"TRADE.MerchantDataBuy": "<h2>Achat de cargaison</h2><b>{cargoName}</b><br><b>Enc:</b> {cargoSize}<br><b>Prix</b>: {cargoPrice} CO",
"TRADE.BuyCargo": "Acheter cette cargaison !",
"TRADE.NotEnoughMoney": "Vous n'avez pas assez d'argent pour acheter cette cargaison !",
"TRADE.CargoBought" : "La cargaison a été achetée par <b>{name}</b>",
"TRADE.CargoItemName" : "Cargaison de {name}",
"TRADE.CargoBought" : "La cargaison a été achetée par <b>{name}</b>",
"TRADE.CargoItemName" : "Cargaison de {name}",
"TRADE.SettlementName" : "Nom du lieu",
"TRADE.SettlementDetails" : "Détail du lieu",
@ -2281,7 +2354,7 @@
"TRADE.Wealth" : "Richesse",
"TRADE.Produces" : "Produit",
"TRADE.Season" : "Saison",
"TRADE.Grain": "Grain",
"TRADE.Wool": "Laine",
"TRADE.Wine": "Vin",
@ -2290,7 +2363,7 @@
"TRADE.Metal": "Métal",
"TRADE.Timber": "Bois",
"TRADE.Brandy": "Liqueurs",
"TRADE.Swill": "Mauvaise",
"TRADE.Passable": "Passable",
"TRADE.Average": "Moyenne",
@ -2335,6 +2408,16 @@
"SETTINGS.UseGroupAdvantageHint":"Grouper les avantages des joueurs et des ennemis ensemble (comme décrit dans Up in Arms). Pour associer un acteur avec le goupe des joeurs, l'acteur doit soit être la propriété d'un joueur ou bien avoir une Token 'Amical'. Sinon, il est considéré dans le groupe 'Ennemi'.",
"SETTINGS.useWoMChannelling":"Utiliser les règles de Focalisation de Vents de Magie",
"SETTINGS.useWoMChannellingHint":"Utiliser les règles de focalisation du supplément Vents de Magie (Winds of Magic), cf. page 22",
"SETTINGS.DisableTheme":"Désactiver le thème",
"SETTINGS.DisableThemeHint":"Désactiver le thème par défaut de Warhammer (le thème de la feuille de document peut être modifié via la configuration de la feuille en haut de la feuille).",
"SETTINGS.Menu":{
"TableSettingsHint":"Configurez les tables sur lesquelles lancer lorsque plusieurs de la même clé existent.",
"HouseRules":"Règles maison",
"TableSettings":"Paramètres de la table",
"HouseRulesHint":"Paramètres des règles maison",
"TableSettingsLabel":"Configurer les tables",
"HouseRulesLabel":"Configurer les règles maison"
},
"Sense":"Sentir",
"SkillTest":"Test de {skill} ",
@ -2428,7 +2511,7 @@
"NAME.Ogre":"Ogre",
"QualitiesOr":"ou",
"SHEET.Or":"OU",
"TYPES.Actor.character":"Personnage joueur",
"TYPES.Actor.creature":"Créature",
"TYPES.Actor.npc":"Personnage Non-Joueur",
@ -2455,6 +2538,7 @@
"TYPES.Item.weapon":"Arme",
"TYPES.Item.vehicleRole":"Role de Véhicule",
"TYPES.Item.vehicleTest":"Test d'équipage de véhicule",
"TYPES.Item.template":"Template",
"Badger": "Blaireau",
"Badgers": "Blaireaux",
@ -2535,7 +2619,7 @@
"Owner": "Propriétaire",
"Smell": "Odorat",
"Hearing": "Ouie",
"Touch": "Toucher",
"Touch": "Toucher",
"SOCKET.SendingSocketRequest":"Envoi d'une requête par Socket",
"UpdaterTitle":"Mise à jour du contenu {title}",
@ -2575,6 +2659,11 @@
"Daemonic Ward": "Barrière démoniaque",
"Relies on two hands": "Nécessite les deux mains",
"Useless": "Inutile",
"Round":"round",
"XP Cost":"Coût XP",
"major":"Majeur",
"minor":"Mineur",
"moderate":"Modéré",
"WH":{
"TransferType":{
@ -2585,6 +2674,8 @@
"CORRUPTION.Major":"Majeur",
"CORRUPTION.Minor":"Mineur",
"CORRUPTION.Moderate":"Modérée",
"CORRUPTION.Exposure":"Exposition",
"EFFECT.CalculationBonusModifier":"CBM",
"EFFECT.CalculationBonusModifiers":"Calcul des modificateurs",
"EFFECT.CharacteristicsInitial":"Caractéristiques (Initiale)",

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View File

@ -8,7 +8,7 @@
}
],
"url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr",
"version": "8.2.2",
"version": "9.0.0",
"esmodules": [
"modules/babele-register.js",
"modules/addon-register.js",
@ -16,7 +16,9 @@
"modules/loadScripts.js"
],
"styles": [
"patch-styles.css"
{
"src": "patch-styles.css"
}
],
"languages": [
{
@ -117,11 +119,11 @@
}
],
"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-8.2.2.zip",
"download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-9.0.0.zip",
"id": "wh4-fr-translation",
"compatibility": {
"minimum": "11",
"verified": "12"
"minimum": "13",
"verified": "13"
},
"relationships": {
"systems": [

View File

@ -222,10 +222,12 @@ const __check_fix_wrong_modules = (chatFlag, patchFinished) => {
WH4FRPatchConfig.perform_patch();
let coreFound = false;
game.modules.forEach((module, name) => {
//console.log("TESTING MODULE", module)
if (module.id == "wfrp4e-core" && module.active) {
coreFound = true
patch_core_tables(__wfrp4e_tables);
}
if (module.id == "wfrp4e-eis" && module.active) {
@ -255,12 +257,21 @@ const __check_fix_wrong_modules = (chatFlag, patchFinished) => {
});
}
});
if (game.user.isGM && patchFinished) {
ChatMessage.create({
content: "<div>Les modules WFRP4E ont été <strong>patchés avec succés</strong>. Vous pouvez y aller et que <strong>Shallya vous garde !</strong></div><div>Derniers changements : Support wfrp4 v8.X, import de personnage OK</div></ul>",
user: game.user.id,
whisper: ChatMessage.getWhisperRecipients("GM")
});
if ( !coreFound) {
if (game.user.isGM && chatFlag) {
ChatMessage.create({
content: "<div><strong>Le module Core WFRP4E n'a pas été trouvé ou activé. Veuillez acheter et/ou activer ce module de base avant de continuer.</strong></div>",
whisper: ChatMessage.getWhisperRecipients("GM")
});
}
} else {
if (game.user.isGM && patchFinished) {
ChatMessage.create({
content: "<div>Les modules WFRP4E ont été <strong>patchés avec succés</strong>. Vous pouvez y aller et que <strong>Shallya vous garde !</strong></div><div>Derniers changements : Support WFRP4E v8.3.X</div></ul>",
user: game.user.id,
whisper: ChatMessage.getWhisperRecipients("GM")
});
}
}
}
@ -355,6 +366,11 @@ const __add_actors_translation = () => {
}
}
}
// Close the warning dialog
if ( game.wfrp4e.warnDialog) {
game.wfrp4e.warnDialog.close();
game.wfrp4e.warnDialog = null;
}
}
@ -373,6 +389,13 @@ Hooks.on("chatMessage", (html, content, msg) => {
Hooks.on('ready', () => {
if (game.user.isGM) {
game.wfrp4e.warnDialog = new Dialog({
title: "Chargement de la traduction FR - Merci d'attendre",
content: `<img src="modules/wh4-fr-translation/images/warhammer-v1-logo.webp"><p class="wfrp4-fr-message">Les moines de l'ordre de l'Enclume, associés aux légistes de Talabaheim, préparent la traduction Bretonnienne de ce monde...</h3><p class="wfrp4-fr-message">Merci d'attendre la disparition de ce message pour vaquer dans l'Empire.</p> <p class="wfrp4-fr-message">Si une bénédiction de Shallya apparait dans le tchat, c'est que tout s'est bien passé.</p>`,
buttons: {
}
})
game.wfrp4e.warnDialog.render(true, {focus: true, left: 20, top: 20});
let chatData = {
user: game.user.id,
rollMode: game.settings.get("core", "rollMode"),
@ -412,11 +435,11 @@ Hooks.on('ready', () => {
"doom": "Maudit (-40)"
}
console.log("WFRP4E-TRANSLATION | Loading timeout");
game.wfrp4e.warnDialog.render(true, {focus: true, left: 20, top: 20});
//setTimeout( __check_fix_wrong_modules, 2000, true, false);
setTimeout(__check_fix_wrong_modules, 20000, true, true);
setTimeout(__add_actors_translation, 21000, false, true);
//__patchStyleSheet()
/* ATTEMPT !!

View File

@ -32,7 +32,7 @@ const __SELECT_BONUS_PREFIX_D = {
/************************************************************************************/
export class WFRP4FrTranslation {
static parseSpellContent(spell) {
if (spell.system.range?.value) {
spell.system.range.value = this.processSpellContent(spell.system.range.value)
@ -55,7 +55,7 @@ export class WFRP4FrTranslation {
//console.log("Spell duration/range/damage/target :", value);
if (value == "") return ""; // Hop !
if (value == "Touch") return "Contact"; // Hop !
if (value == "You") return "Vous"; // Hop !
if (value == "You") return "Vous"; // Hop !
if (value == "Instant") return "Instantané"; // Hop !
let translw = value;
let re = /(.*)\s+[Bb]onus\s*(\w*)/i;
@ -63,7 +63,7 @@ export class WFRP4FrTranslation {
//console.log("RES1:", res);
let unit = "";
if (res) { // Test "<charac> Bonus <unit>" pattern
if (res[1]) { // We have char name, then convert it
if (res[1]) { // We have char name, then convert it
translw = game.i18n.localize(res[1].trim());
let bonusPrefix = (translw.toLowerCase() in __SELECT_BONUS_PREFIX_D) ? "Bonus d'" : "Bonus de ";
translw = bonusPrefix + translw
@ -75,7 +75,7 @@ export class WFRP4FrTranslation {
if (res) { // Test : "<number> <unit>" pattern
translw = res[1];
unit = res[2];
} else { // Test
} else { // Test
re = /(\w+) (\w+)/i;
res = re.exec(value);
if (res) { // Test : "<charac> <unit>" pattern
@ -102,7 +102,7 @@ export class WFRP4FrTranslation {
/************************************************************************************/
Hooks.once('init', () => {
// Check various settings in the installation
// Check various settings in the installation
game.modules.forEach((module, id) => {
if (id == "wfrp4e-core" && module.active) {
compmod = "wfrp4e-core";
@ -116,7 +116,7 @@ Hooks.once('init', () => {
game.wfrp4e.apps.StatBlockParser.parseStatBlock = async function (statString, type = "npc") {
return statParserFR(statString, type);
}
console.log("WFRP4E-FR | Loading Babele translation module ...");
loadScripts();
@ -257,8 +257,12 @@ Hooks.once('init', () => {
s1 = res[1].trim() + " ( )";
translItem = game.babele.translate(compData.metadata.id, { name: s1, type: "skill" }, true)
translw = translItem?.name || undefined
let res2 = re.exec(translw);
transl = res2[1] + "(" + subword + ")";
if(translw) {
let res2 = re.exec(translw);
transl = res2[1] + "(" + subword + ")";
} else {
transl = res[1] + " (" + subword + ")";
}
}
}
}
@ -285,7 +289,7 @@ Hooks.once('init', () => {
if (script?.label) {
// Quand le label du script est strictement identique au nom de l'item concerné
if ( script.label.toLowerCase() == origName.toLowerCase() ) {
script.label = e.name
script.label = e.name
} else if (script.label.toLowerCase().includes("tests to affect")) {
script.label = script.label.replace("Tests to affect", "Tests relatifs à ")
} else if (script.label.toLowerCase().includes("using torn muscle")) {
@ -321,7 +325,7 @@ Hooks.once('init', () => {
for (let data of results) {
let career = data.text.match(/{(.*)}/)
//console.log(">>>>>", career)
if (career && career[1]) {
if (career?.[1]) {
let careerFR = game.babele.converters.career_careergroup(career[1])
data.text = data.text.replace(career[1], careerFR)
}
@ -334,7 +338,6 @@ Hooks.once('init', () => {
},
"npc_details": (details) => {
//console.log("DETAILS: ", details);
let newDetails = foundry.utils.duplicate(details);
if (details.species?.value)
newDetails.species.value = game.i18n.localize(details.species.value);
@ -354,6 +357,13 @@ Hooks.once('init', () => {
for (i = 0; i < len; i++) {
for (let compData of validCompendiums) {
let translItem = game.babele.translate(compData.metadata.id, { name: talents_list[i] }, true);
// Specific case management
if (talents_list[i] === "Trapper") {
translItem = game.babele.translate(compData.metadata.id, { name: "a7v422EZcOUUC20X" }, true);
}
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]
@ -364,7 +374,6 @@ Hooks.once('init', () => {
let s1 = res[1].trim(); // No () in talents table
translItem = game.babele.translate(compData.metadata.id, { name: s1 }, true)
let translw = translItem?.name || undefined
//console.log("Search talent name:", compData.metadata.id, s1, translw);
if (translw && translw != s1) {
transl = translw + " (" + subword + ")";
}
@ -381,7 +390,7 @@ 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 );
//console.log("Was here !", key, char );
let abrev = char["abrev"];
let toTransl = "CHAR." + abrev;
if (game.i18n.localize(toTransl) != toTransl) { // Manages unknown language
@ -428,7 +437,7 @@ Hooks.once('init', () => {
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);
//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
@ -471,7 +480,7 @@ Hooks.once('init', () => {
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) {
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
@ -491,6 +500,12 @@ Hooks.once('init', () => {
}
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("talent")
for (let compData of validCompendiums) {
if (name_en === "Trapper") {
name_en = "a7v422EZcOUUC20X"
}
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_fr.name = trait_fr.name || name_en // Security since babele v10
@ -601,6 +616,7 @@ Hooks.once('init', () => {
"mutations_modifier": (value) => { // This is really UGLYYYY i know, but i started like this and discovered afterward that many strings were not easy to automate... Sorry :)
//console.log("Parsing mutation :", value);
if (!value) return;
value = value.toLowerCase();
value = value.replace("gain a broken condition if you fail a test derived from ", "Gagnez un état Brisé si vous échouez à un test dérivé de ");
value = value.replace("weapon skill", "Capacité de Combat");
@ -658,6 +674,10 @@ Hooks.once('init', () => {
// Auto-translate duration
"spells_duration_range_target_damage": (value) => {
return WFRP4FrTranslation.processSpellContent(value);
},
// Auto-translate disease duration units
"disease_duration_unit": (unit) => {
return game.i18n.localize(unit).capitalize();
}
});
}

View File

@ -1 +1 @@
MANIFEST-000877
MANIFEST-001033

View File

@ -1,7 +1,14 @@
2024/10/25-11:13:31.262428 7f1b816006c0 Recovering log #874
2024/10/25-11:13:31.272351 7f1b816006c0 Delete type=3 #872
2024/10/25-11:13:31.272485 7f1b816006c0 Delete type=0 #874
2024/10/25-11:14:12.961212 7f1b7e4006c0 Level-0 table #880: started
2024/10/25-11:14:12.961246 7f1b7e4006c0 Level-0 table #880: 0 bytes OK
2024/10/25-11:14:12.968824 7f1b7e4006c0 Delete type=0 #878
2024/10/25-11:14:12.982105 7f1b7e4006c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end)
2025/05/09-09:45:36.157097 7fb43a7fc6c0 Recovering log #1031
2025/05/09-09:45:36.166866 7fb43a7fc6c0 Delete type=3 #1029
2025/05/09-09:45:36.166941 7fb43a7fc6c0 Delete type=0 #1031
2025/05/09-09:58:38.142986 7fb438bff6c0 Level-0 table #1036: started
2025/05/09-09:58:38.147008 7fb438bff6c0 Level-0 table #1036: 49760 bytes OK
2025/05/09-09:58:38.153711 7fb438bff6c0 Delete type=0 #1034
2025/05/09-09:58:38.186988 7fb438bff6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 29 : 1
2025/05/09-09:58:38.187004 7fb438bff6c0 Compacting 1@0 + 1@1 files
2025/05/09-09:58:38.191643 7fb438bff6c0 Generated table #1037@0: 13 keys, 49760 bytes
2025/05/09-09:58:38.191677 7fb438bff6c0 Compacted 1@0 + 1@1 files => 49760 bytes
2025/05/09-09:58:38.198040 7fb438bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-09:58:38.198150 7fb438bff6c0 Delete type=2 #876
2025/05/09-09:58:38.198295 7fb438bff6c0 Delete type=2 #1036
2025/05/09-09:58:38.219093 7fb438bff6c0 Manual compaction at level-0 from '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 29 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end)

View File

@ -1,11 +1,7 @@
2024/10/25-11:02:14.613097 7f1b802006c0 Delete type=3 #1
2024/10/25-11:06:53.515546 7f1b7e4006c0 Level-0 table #875: started
2024/10/25-11:06:53.515583 7f1b7e4006c0 Level-0 table #875: 0 bytes OK
2024/10/25-11:06:53.632155 7f1b7e4006c0 Delete type=0 #873
2024/10/25-11:06:53.632384 7f1b7e4006c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 16 : 1
2024/10/25-11:06:53.632399 7f1b7e4006c0 Compacting 1@0 + 0@1 files
2024/10/25-11:06:53.682364 7f1b7e4006c0 Generated table #876@0: 13 keys, 49612 bytes
2024/10/25-11:06:53.682409 7f1b7e4006c0 Compacted 1@0 + 0@1 files => 49612 bytes
2024/10/25-11:06:53.759685 7f1b7e4006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/10/25-11:06:53.759831 7f1b7e4006c0 Delete type=2 #741
2024/10/25-11:06:53.760171 7f1b7e4006c0 Manual compaction at level-0 from '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 16 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end)
2025/05/01-18:51:22.073003 7fc4ed3f96c0 Recovering log #1027
2025/05/01-18:51:22.083744 7fc4ed3f96c0 Delete type=3 #1025
2025/05/01-18:51:22.083858 7fc4ed3f96c0 Delete type=0 #1027
2025/05/01-19:17:37.165784 7fc4e73ff6c0 Level-0 table #1032: started
2025/05/01-19:17:37.165828 7fc4e73ff6c0 Level-0 table #1032: 0 bytes OK
2025/05/01-19:17:37.172045 7fc4e73ff6c0 Delete type=0 #1030
2025/05/01-19:17:37.178895 7fc4e73ff6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000879
MANIFEST-001035

View File

@ -1,7 +1,14 @@
2024/10/25-11:13:31.274940 7f1b80c006c0 Recovering log #876
2024/10/25-11:13:31.284797 7f1b80c006c0 Delete type=3 #874
2024/10/25-11:13:31.284855 7f1b80c006c0 Delete type=0 #876
2024/10/25-11:14:13.007098 7f1b7e4006c0 Level-0 table #882: started
2024/10/25-11:14:13.007123 7f1b7e4006c0 Level-0 table #882: 0 bytes OK
2024/10/25-11:14:13.013389 7f1b7e4006c0 Delete type=0 #880
2024/10/25-11:14:13.013596 7f1b7e4006c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
2025/05/09-09:45:36.168975 7fb43a7fc6c0 Recovering log #1033
2025/05/09-09:45:36.178692 7fb43a7fc6c0 Delete type=3 #1031
2025/05/09-09:45:36.178745 7fb43a7fc6c0 Delete type=0 #1033
2025/05/09-09:58:38.219116 7fb438bff6c0 Level-0 table #1038: started
2025/05/09-09:58:38.223911 7fb438bff6c0 Level-0 table #1038: 113754 bytes OK
2025/05/09-09:58:38.230484 7fb438bff6c0 Delete type=0 #1036
2025/05/09-09:58:38.247503 7fb438bff6c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at '!items!ylFhk7mGZOnAJTUT' @ 416 : 1
2025/05/09-09:58:38.247522 7fb438bff6c0 Compacting 1@0 + 1@1 files
2025/05/09-09:58:38.252525 7fb438bff6c0 Generated table #1039@0: 103 keys, 115060 bytes
2025/05/09-09:58:38.252556 7fb438bff6c0 Compacted 1@0 + 1@1 files => 115060 bytes
2025/05/09-09:58:38.259374 7fb438bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-09:58:38.259664 7fb438bff6c0 Delete type=2 #878
2025/05/09-09:58:38.259902 7fb438bff6c0 Delete type=2 #1038
2025/05/09-09:58:38.266719 7fb438bff6c0 Manual compaction at level-0 from '!items!ylFhk7mGZOnAJTUT' @ 416 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)

View File

@ -1,11 +1,7 @@
2024/10/25-11:02:14.635105 7f1b816006c0 Delete type=3 #1
2024/10/25-11:06:53.761405 7f1b7e4006c0 Level-0 table #877: started
2024/10/25-11:06:53.761445 7f1b7e4006c0 Level-0 table #877: 0 bytes OK
2024/10/25-11:06:53.848549 7f1b7e4006c0 Delete type=0 #875
2024/10/25-11:06:53.848875 7f1b7e4006c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at '!items!ylFhk7mGZOnAJTUT' @ 319 : 1
2024/10/25-11:06:53.848896 7f1b7e4006c0 Compacting 1@0 + 0@1 files
2024/10/25-11:06:53.909256 7f1b7e4006c0 Generated table #878@0: 103 keys, 115139 bytes
2024/10/25-11:06:53.909290 7f1b7e4006c0 Compacted 1@0 + 0@1 files => 115139 bytes
2024/10/25-11:06:53.987532 7f1b7e4006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/10/25-11:06:53.987683 7f1b7e4006c0 Delete type=2 #743
2024/10/25-11:06:53.987868 7f1b7e4006c0 Manual compaction at level-0 from '!items!ylFhk7mGZOnAJTUT' @ 319 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
2025/05/01-18:51:22.086351 7fc4e7fff6c0 Recovering log #1029
2025/05/01-18:51:22.099247 7fc4e7fff6c0 Delete type=3 #1027
2025/05/01-18:51:22.099295 7fc4e7fff6c0 Delete type=0 #1029
2025/05/01-19:17:37.179139 7fc4e73ff6c0 Level-0 table #1034: started
2025/05/01-19:17:37.179221 7fc4e73ff6c0 Level-0 table #1034: 0 bytes OK
2025/05/01-19:17:37.186067 7fc4e73ff6c0 Delete type=0 #1032
2025/05/01-19:17:37.206352 7fc4e73ff6c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000877
MANIFEST-001033

View File

@ -1,7 +1,14 @@
2024/10/25-11:13:31.299705 7f1b80c006c0 Recovering log #874
2024/10/25-11:13:31.310265 7f1b80c006c0 Delete type=3 #872
2024/10/25-11:13:31.310327 7f1b80c006c0 Delete type=0 #874
2024/10/25-11:14:12.992713 7f1b7e4006c0 Level-0 table #880: started
2024/10/25-11:14:12.992746 7f1b7e4006c0 Level-0 table #880: 0 bytes OK
2024/10/25-11:14:12.999857 7f1b7e4006c0 Delete type=0 #878
2024/10/25-11:14:13.013573 7f1b7e4006c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)
2025/05/09-09:45:36.208810 7fb4397fa6c0 Recovering log #1031
2025/05/09-09:45:36.218810 7fb4397fa6c0 Delete type=3 #1029
2025/05/09-09:45:36.218877 7fb4397fa6c0 Delete type=0 #1031
2025/05/09-09:58:38.177198 7fb438bff6c0 Level-0 table #1036: started
2025/05/09-09:58:38.180560 7fb438bff6c0 Level-0 table #1036: 19341 bytes OK
2025/05/09-09:58:38.186749 7fb438bff6c0 Delete type=0 #1034
2025/05/09-09:58:38.209063 7fb438bff6c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 5 : 1
2025/05/09-09:58:38.209070 7fb438bff6c0 Compacting 1@0 + 1@1 files
2025/05/09-09:58:38.212604 7fb438bff6c0 Generated table #1037@0: 3 keys, 19341 bytes
2025/05/09-09:58:38.212640 7fb438bff6c0 Compacted 1@0 + 1@1 files => 19341 bytes
2025/05/09-09:58:38.218746 7fb438bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-09:58:38.218875 7fb438bff6c0 Delete type=2 #876
2025/05/09-09:58:38.219020 7fb438bff6c0 Delete type=2 #1036
2025/05/09-09:58:38.230657 7fb438bff6c0 Manual compaction at level-0 from '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 5 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)

View File

@ -1,11 +1,7 @@
2024/10/25-11:02:14.680878 7f1b80c006c0 Delete type=3 #1
2024/10/25-11:06:54.489608 7f1b7e4006c0 Level-0 table #875: started
2024/10/25-11:06:54.489645 7f1b7e4006c0 Level-0 table #875: 0 bytes OK
2024/10/25-11:06:54.679020 7f1b7e4006c0 Delete type=0 #873
2024/10/25-11:06:54.679237 7f1b7e4006c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 2 : 1
2024/10/25-11:06:54.679254 7f1b7e4006c0 Compacting 1@0 + 0@1 files
2024/10/25-11:06:54.778037 7f1b7e4006c0 Generated table #876@0: 3 keys, 19297 bytes
2024/10/25-11:06:54.778079 7f1b7e4006c0 Compacted 1@0 + 0@1 files => 19297 bytes
2024/10/25-11:06:54.859309 7f1b7e4006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/10/25-11:06:54.859494 7f1b7e4006c0 Delete type=2 #741
2024/10/25-11:06:54.859833 7f1b7e4006c0 Manual compaction at level-0 from '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 2 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)
2025/05/01-18:51:22.114661 7fc4ecbf86c0 Recovering log #1027
2025/05/01-18:51:22.125166 7fc4ecbf86c0 Delete type=3 #1025
2025/05/01-18:51:22.125218 7fc4ecbf86c0 Delete type=0 #1027
2025/05/01-19:17:37.186153 7fc4e73ff6c0 Level-0 table #1032: started
2025/05/01-19:17:37.186174 7fc4e73ff6c0 Level-0 table #1032: 0 bytes OK
2025/05/01-19:17:37.192228 7fc4e73ff6c0 Delete type=0 #1030
2025/05/01-19:17:37.206369 7fc4e73ff6c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000877
MANIFEST-001033

View File

@ -1,7 +1,14 @@
2024/10/25-11:13:31.249309 7f1b80c006c0 Recovering log #874
2024/10/25-11:13:31.259752 7f1b80c006c0 Delete type=3 #872
2024/10/25-11:13:31.259834 7f1b80c006c0 Delete type=0 #874
2024/10/25-11:14:12.968938 7f1b7e4006c0 Level-0 table #880: started
2024/10/25-11:14:12.968964 7f1b7e4006c0 Level-0 table #880: 0 bytes OK
2024/10/25-11:14:12.975187 7f1b7e4006c0 Delete type=0 #878
2024/10/25-11:14:12.982122 7f1b7e4006c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)
2025/05/09-09:45:36.144642 7fb43a7fc6c0 Recovering log #1031
2025/05/09-09:45:36.154528 7fb43a7fc6c0 Delete type=3 #1029
2025/05/09-09:45:36.154660 7fb43a7fc6c0 Delete type=0 #1031
2025/05/09-09:58:38.131574 7fb438bff6c0 Level-0 table #1036: started
2025/05/09-09:58:38.136129 7fb438bff6c0 Level-0 table #1036: 60465 bytes OK
2025/05/09-09:58:38.142691 7fb438bff6c0 Delete type=0 #1034
2025/05/09-09:58:38.165287 7fb438bff6c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 114 : 1
2025/05/09-09:58:38.165299 7fb438bff6c0 Compacting 1@0 + 1@1 files
2025/05/09-09:58:38.169265 7fb438bff6c0 Generated table #1037@0: 46 keys, 60465 bytes
2025/05/09-09:58:38.169309 7fb438bff6c0 Compacted 1@0 + 1@1 files => 60465 bytes
2025/05/09-09:58:38.176699 7fb438bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-09:58:38.176915 7fb438bff6c0 Delete type=2 #876
2025/05/09-09:58:38.177109 7fb438bff6c0 Delete type=2 #1036
2025/05/09-09:58:38.209040 7fb438bff6c0 Manual compaction at level-0 from '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 114 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)

View File

@ -1,11 +1,7 @@
2024/10/25-11:02:14.590539 7f1b80c006c0 Delete type=3 #1
2024/10/25-11:06:52.669208 7f1b7e4006c0 Level-0 table #875: started
2024/10/25-11:06:52.669239 7f1b7e4006c0 Level-0 table #875: 0 bytes OK
2024/10/25-11:06:52.960331 7f1b7e4006c0 Delete type=0 #873
2024/10/25-11:06:52.960532 7f1b7e4006c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 68 : 1
2024/10/25-11:06:52.960542 7f1b7e4006c0 Compacting 1@0 + 0@1 files
2024/10/25-11:06:53.057622 7f1b7e4006c0 Generated table #876@0: 46 keys, 59885 bytes
2024/10/25-11:06:53.057653 7f1b7e4006c0 Compacted 1@0 + 0@1 files => 59885 bytes
2024/10/25-11:06:53.513947 7f1b7e4006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/10/25-11:06:53.514078 7f1b7e4006c0 Delete type=2 #741
2024/10/25-11:06:53.514263 7f1b7e4006c0 Manual compaction at level-0 from '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 68 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)
2025/05/01-18:51:22.060523 7fc4ecbf86c0 Recovering log #1027
2025/05/01-18:51:22.070396 7fc4ecbf86c0 Delete type=3 #1025
2025/05/01-18:51:22.070475 7fc4ecbf86c0 Delete type=0 #1027
2025/05/01-19:17:37.172158 7fc4e73ff6c0 Level-0 table #1032: started
2025/05/01-19:17:37.172182 7fc4e73ff6c0 Level-0 table #1032: 0 bytes OK
2025/05/01-19:17:37.178625 7fc4e73ff6c0 Delete type=0 #1030
2025/05/01-19:17:37.178913 7fc4e73ff6c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000877
MANIFEST-001033

View File

@ -1,7 +1,14 @@
2024/10/25-11:13:31.235665 7f1b816006c0 Recovering log #874
2024/10/25-11:13:31.246253 7f1b816006c0 Delete type=3 #872
2024/10/25-11:13:31.246323 7f1b816006c0 Delete type=0 #874
2024/10/25-11:14:12.975313 7f1b7e4006c0 Level-0 table #880: started
2024/10/25-11:14:12.975344 7f1b7e4006c0 Level-0 table #880: 0 bytes OK
2024/10/25-11:14:12.981863 7f1b7e4006c0 Delete type=0 #878
2024/10/25-11:14:12.982140 7f1b7e4006c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
2025/05/09-09:45:36.130874 7fb4397fa6c0 Recovering log #1031
2025/05/09-09:45:36.141672 7fb4397fa6c0 Delete type=3 #1029
2025/05/09-09:45:36.141884 7fb4397fa6c0 Delete type=0 #1031
2025/05/09-09:58:38.108008 7fb438bff6c0 Level-0 table #1036: started
2025/05/09-09:58:38.114325 7fb438bff6c0 Level-0 table #1036: 27934 bytes OK
2025/05/09-09:58:38.121061 7fb438bff6c0 Delete type=0 #1034
2025/05/09-09:58:38.121307 7fb438bff6c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 695 : 1
2025/05/09-09:58:38.121315 7fb438bff6c0 Compacting 1@0 + 1@1 files
2025/05/09-09:58:38.125179 7fb438bff6c0 Generated table #1037@0: 234 keys, 27934 bytes
2025/05/09-09:58:38.125225 7fb438bff6c0 Compacted 1@0 + 1@1 files => 27934 bytes
2025/05/09-09:58:38.131161 7fb438bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-09:58:38.131314 7fb438bff6c0 Delete type=2 #876
2025/05/09-09:58:38.131486 7fb438bff6c0 Delete type=2 #1036
2025/05/09-09:58:38.142967 7fb438bff6c0 Manual compaction at level-0 from '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 695 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)

View File

@ -1,11 +1,7 @@
2024/10/25-11:02:14.565982 7f1b802006c0 Delete type=3 #1
2024/10/25-11:06:52.438654 7f1b7e4006c0 Level-0 table #875: started
2024/10/25-11:06:52.438743 7f1b7e4006c0 Level-0 table #875: 0 bytes OK
2024/10/25-11:06:52.529229 7f1b7e4006c0 Delete type=0 #873
2024/10/25-11:06:52.529553 7f1b7e4006c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 461 : 1
2024/10/25-11:06:52.529576 7f1b7e4006c0 Compacting 1@0 + 0@1 files
2024/10/25-11:06:52.585202 7f1b7e4006c0 Generated table #876@0: 234 keys, 20231 bytes
2024/10/25-11:06:52.585250 7f1b7e4006c0 Compacted 1@0 + 0@1 files => 20231 bytes
2024/10/25-11:06:52.667658 7f1b7e4006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/10/25-11:06:52.667838 7f1b7e4006c0 Delete type=2 #741
2024/10/25-11:06:52.668122 7f1b7e4006c0 Manual compaction at level-0 from '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 461 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
2025/05/01-18:51:22.047726 7fc4edbfa6c0 Recovering log #1027
2025/05/01-18:51:22.057489 7fc4edbfa6c0 Delete type=3 #1025
2025/05/01-18:51:22.057543 7fc4edbfa6c0 Delete type=0 #1027
2025/05/01-19:17:37.158797 7fc4e73ff6c0 Level-0 table #1032: started
2025/05/01-19:17:37.158820 7fc4e73ff6c0 Level-0 table #1032: 0 bytes OK
2025/05/01-19:17:37.165607 7fc4e73ff6c0 Delete type=0 #1030
2025/05/01-19:17:37.178873 7fc4e73ff6c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000520
MANIFEST-000676

View File

@ -1,7 +1,14 @@
2024/10/25-11:13:31.288238 7f1b816006c0 Recovering log #517
2024/10/25-11:13:31.297752 7f1b816006c0 Delete type=3 #515
2024/10/25-11:13:31.297826 7f1b816006c0 Delete type=0 #517
2024/10/25-11:14:12.999976 7f1b7e4006c0 Level-0 table #523: started
2024/10/25-11:14:13.000000 7f1b7e4006c0 Level-0 table #523: 0 bytes OK
2024/10/25-11:14:13.006975 7f1b7e4006c0 Delete type=0 #521
2024/10/25-11:14:13.013584 7f1b7e4006c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end)
2025/05/09-09:45:36.181250 7fb4397fa6c0 Recovering log #674
2025/05/09-09:45:36.190809 7fb4397fa6c0 Delete type=3 #672
2025/05/09-09:45:36.190876 7fb4397fa6c0 Delete type=0 #674
2025/05/09-09:58:38.153941 7fb438bff6c0 Level-0 table #679: started
2025/05/09-09:58:38.158726 7fb438bff6c0 Level-0 table #679: 67879 bytes OK
2025/05/09-09:58:38.165124 7fb438bff6c0 Delete type=0 #677
2025/05/09-09:58:38.198379 7fb438bff6c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 59 : 1
2025/05/09-09:58:38.198387 7fb438bff6c0 Compacting 1@0 + 1@1 files
2025/05/09-09:58:38.202267 7fb438bff6c0 Generated table #680@0: 24 keys, 67879 bytes
2025/05/09-09:58:38.202298 7fb438bff6c0 Compacted 1@0 + 1@1 files => 67879 bytes
2025/05/09-09:58:38.208681 7fb438bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-09:58:38.208821 7fb438bff6c0 Delete type=2 #519
2025/05/09-09:58:38.208960 7fb438bff6c0 Delete type=2 #679
2025/05/09-09:58:38.219106 7fb438bff6c0 Manual compaction at level-0 from '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 59 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end)

View File

@ -1,11 +1,7 @@
2024/10/25-11:02:14.656712 7f1b802006c0 Delete type=3 #1
2024/10/25-11:06:53.988857 7f1b7e4006c0 Level-0 table #518: started
2024/10/25-11:06:53.988906 7f1b7e4006c0 Level-0 table #518: 0 bytes OK
2024/10/25-11:06:54.197076 7f1b7e4006c0 Delete type=0 #516
2024/10/25-11:06:54.197236 7f1b7e4006c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 35 : 1
2024/10/25-11:06:54.197245 7f1b7e4006c0 Compacting 1@0 + 0@1 files
2024/10/25-11:06:54.299700 7f1b7e4006c0 Generated table #519@0: 24 keys, 67583 bytes
2024/10/25-11:06:54.299719 7f1b7e4006c0 Compacted 1@0 + 0@1 files => 67583 bytes
2024/10/25-11:06:54.488386 7f1b7e4006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/10/25-11:06:54.488518 7f1b7e4006c0 Delete type=2 #384
2024/10/25-11:06:54.488671 7f1b7e4006c0 Manual compaction at level-0 from '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 35 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end)
2025/05/01-18:51:22.102050 7fc4edbfa6c0 Recovering log #670
2025/05/01-18:51:22.111592 7fc4edbfa6c0 Delete type=3 #668
2025/05/01-18:51:22.111698 7fc4edbfa6c0 Delete type=0 #670
2025/05/01-19:17:37.199638 7fc4e73ff6c0 Level-0 table #675: started
2025/05/01-19:17:37.199693 7fc4e73ff6c0 Level-0 table #675: 0 bytes OK
2025/05/01-19:17:37.206189 7fc4e73ff6c0 Delete type=0 #673
2025/05/01-19:17:37.206398 7fc4e73ff6c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@ -2,3 +2,9 @@
:root{
--color-bg-option: #352516;
}
.wfrp4-fr-message {
font-size: 1.4rem;
color: darkolivegreen;
align-self: center;
text-align: center;
}