Auto-translate skills/talents in careers

This commit is contained in:
LeRatierBretonnien 2020-03-30 23:23:21 +02:00
parent 11149130fd
commit 2804e57914
5 changed files with 102 additions and 5 deletions

View File

@ -8,7 +8,67 @@ Hooks.once('init', () => {
lang: 'fr',
dir: 'compendium'
});
Babele.get().registerConverters({
"career_skills": (skills_list) => {
var compendium = game.packs.find(p => p.collection === 'wfrp4e.skills');
var i;
var len = skills_list.length;
var re = /(.*)\((.*)\)/i;
for (i = 0; i < len; i++) {
var transl = compendium.i18nName( skills_list[i] );
if ( transl == skills_list[i] ) {
var res = re.exec( skills_list[i]);
if (res) {
//console.log("Matched/split:", res[1], res[2]);
var subword = game.i18n.localize(res[2].trim() );
var s1 = res[1].trim() + " ()";
var translw = compendium.i18nName( s1 );
if (translw != transl) {
var res2 = re.exec(translw);
transl = res2[1] + "(" + subword + ")";
} else {
s1 = res[1].trim() + " ( )";
translw = compendium.i18nName( s1 );
var res2 = re.exec(translw);
transl = res2[1] + "(" + subword + ")";
}
}
}
skills_list[i] = transl;
}
return skills_list;
},
"career_talents": (talents_list) => {
var compendium = game.packs.find(p => p.collection === 'wfrp4e.talents');
var i;
var len = talents_list.length;
var re = /(.*)\((.*)\)/i;
for (i = 0; i < len; i++) {
var transl = compendium.i18nName( talents_list[i] );
if ( transl == talents_list[i] ) {
var res = re.exec( talents_list[i]);
if (res) {
//console.log("Matched/split:", res[1], res[2]);
var subword = game.i18n.localize(res[2].trim() );
var s1 = res[1].trim() + " ()";
var translw = compendium.i18nName( s1 );
if (translw != transl) {
var res2 = re.exec(translw);
transl = res2[1] + "(" + subword + ")";
} else {
s1 = res[1].trim() + " ( )";
translw = compendium.i18nName( s1 );
var res2 = re.exec(translw);
transl = res2[1] + "(" + subword + ")";
}
}
}
talents_list[i] = transl;
}
return talents_list;
}
});
}
} );

View File

@ -1,5 +1,15 @@
{
"label": "Carrières",
"mapping": {
"skills": {
"path": "data.skills",
"converter": "career_skills"
},
"talents": {
"path": "data.talents",
"converter": "career_talents"
}
},
"entries": [
{
"id": "Abbess",

View File

@ -757,4 +757,4 @@
"description": "<p>Most folk of the Reikland follow a trade; even adventurers often have a more reliable, or respectable career to fall back on, between bouts of hair-raising, bowel-loosening excitement. The Trade Skill represents your ability to create something or provide a service, as well as your knowledge of the relevant lore surrounding your trade.</p>\n <p>&nbsp;</p>\n <p>Having the Skill is enough to automatically perform the tasks associated with your trade, assuming you have the correct resources and tools. You need only Test your Trade Skill if you are seeking to create something quickly, conditions are adverse, or you are seeking to invent or create a high-quality item.</p>\n <p>&nbsp;</p>\n <p>Often Trade Tests of this type are extended Test, with the SL and time required depending upon the scope or scale of what is being produced; a quick meal with Trade (Cook) to impress a local lord will take far less time than constructing a warship with Trade (Shipwright).</p>\n <p>&nbsp;</p>\n <p>You may also make a Trade Test as a Lore Skill, to determine information relevant to the trade in question. In such circumstances, the GM may prefer to use Int over Dex as the base Characteristic, though often this is ignored to keep play simple.</p>\n <p>&nbsp;</p>\n <p>While most Trade Skills have little function in combat, there are as many Trade Skills as there are trades, and some may be of use depending upon the circumstances. For example, a successful Trade (Apothecary) Test may be useful if fighting in an Apothecarys shop as you identify some astringent chemicals to hurl at your foes.</p>\n <p>&nbsp;</p>\n <p>The Trade Skill is also used for enacting a Crafting Endeavor.</p>"
}
]
}
}

31
fr.json
View File

@ -524,6 +524,33 @@
"WFRP4E.SymptomTreatment.Pox" : "Les démangeaisons sont extrêmement répandues, tout comme leurs remèdes qui se déclinent le plus souvent sous forme d'onguents ou d'huiles. Les temples les plus importants de Shallya ont souvent de la crème qu'ils distribuent gracieusement (même si tous les dons sont les bienvenus), et les Apothicaires et les Herboristes de toutes sortes vendent des produits similaires à des prix plutôt bas (rarement plus de 6 ou 7 Sous de Cuivre pour une semaine de traitement, avec 90% de chance que le remède soit efficace). L'utilisation de crème permet que les <b>Tests de Calme</b> pour réfréner les grattements deviennent <b>Très Faciles (+60)</b>, mais leur application ne vous rend pas très esthétique.",
"WFRP4E.SymptomTreatment.Wounded" : "Un <b>Test de Guérison<b/> journalier réussi permet de s'assurer que la Blessure est propre et qu'il n'y a pas besoin d'effectuer de Test de Résistance pour voir si elle s'infecte.",
"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.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.",
"Calligaphy": "Calligraphie",
"Any": "Au choix",
"Brewer": "Brasseur",
"Herbalist": "Herboriste",
"Vintner": "Vigneron",
"Politics": "Politique",
"Riverways": "Voies fluviales",
"Act": "Comédie",
"Writing": "Ecriture",
"Printing": "Imprimerie",
"Plants": "Plantes",
"Poisoner": "Empoisonneur",
"Chemistry": "Chimie",
"Any color": "Couleur au choix",
"Herbs": "Herbes",
"Acting": "Comédie",
"Thief": "Voleur",
"Taunt": "Raillerie",
"Gunsmith": "Armurier",
"Farrier": "Maréchal-Ferrand",
"Batle": "Guerre",
"Knighty Order": "Ordre chevaleresque",
"Guilder": "Guilde",
"Soldiers": "Soldats",
"Silver": "Argent",
"Gold": "Or",
"Brass": "Bronze
}

View File

@ -2,7 +2,7 @@
"name": "WH4-fr-translation",
"title": "Traduction du module WH4 en Français.",
"description": "La traduction du module WH4.",
"version": "0.17",
"version": "0.18",
"minimumCoreVersion" : "0.5.1",
"author": "LeRatierBretonnien",
"esmodules": ["babele-register.js"],