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

@ -9,6 +9,66 @@ Hooks.once('init', () => {
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",

29
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"],