diff --git a/Mods/vcmi/config/vcmi/english.json b/Mods/vcmi/config/vcmi/english.json
index 8bbe6b47f..c07d25215 100644
--- a/Mods/vcmi/config/vcmi/english.json
+++ b/Mods/vcmi/config/vcmi/english.json
@@ -76,7 +76,7 @@
"vcmi.systemOptions.framerateButton.help" : "{Show FPS}\n\nToggle the visibility of the Frames Per Second counter in the corner of the game window",
"vcmi.adventureOptions.infoBarPick.hover" : "Show Messages in Info Panel",
- "vcmi.adventureOptions.infoBarPick.help" : "{Show Messages in Info Panel}\n\nWhenever possible, game messages from visiting map objects will be shown in the info pannel, instead of popping up in a separate window.",
+ "vcmi.adventureOptions.infoBarPick.help" : "{Show Messages in Info Panel}\n\nWhenever possible, game messages from visiting map objects will be shown in the info panel, instead of popping up in a separate window.",
"vcmi.adventureOptions.numericQuantities.hover" : "Numeric Creature Quantities",
"vcmi.adventureOptions.numericQuantities.help" : "{Numeric Creature Quantities}\n\nShow the approximate quantities of enemy creatures in the numeric A-B format.",
"vcmi.adventureOptions.forceMovementInfo.hover" : "Always Show Movement Cost",
diff --git a/Mods/vcmi/config/vcmi/french.json b/Mods/vcmi/config/vcmi/french.json
new file mode 100644
index 000000000..5e54f9bda
--- /dev/null
+++ b/Mods/vcmi/config/vcmi/french.json
@@ -0,0 +1,342 @@
+{
+ "vcmi.adventureMap.monsterThreat.title" : "\n\nDiscussion : ",
+ "vcmi.adventureMap.monsterThreat.levels.0" : "Sans effort",
+ "vcmi.adventureMap.monsterThreat.levels.1" : "Très faible",
+ "vcmi.adventureMap.monsterThreat.levels.2" : "Faible",
+ "vcmi.adventureMap.monsterThreat.levels.3" : "Un peu plus faible",
+ "vcmi.adventureMap.monsterThreat.levels.4" : "Égal",
+ "vcmi.adventureMap.monsterThreat.levels.5" : "Un peu plus fort",
+ "vcmi.adventureMap.monsterThreat.levels.6" : "Fort",
+ "vcmi.adventureMap.monsterThreat.levels.7" : "Très fort",
+ "vcmi.adventureMap.monsterThreat.levels.8" : "Difficile",
+ "vcmi.adventureMap.monsterThreat.levels.9" : "Surpuissant",
+ "vcmi.adventureMap.monsterThreat.levels.10" : "Mortel",
+ "vcmi.adventureMap.monsterThreat.levels.11" : "Impossible",
+
+ "vcmi.adventureMap.confirmRestartGame" : "Êtes-vous sûr de vouloir redémarrer le jeu ?",
+ "vcmi.adventureMap.noTownWithMarket" : "Il n'y a pas de marchés disponibles !",
+ "vcmi.adventureMap.noTownWithTavern" : "Il n'y a pas de villes disponibles avec des tavernes !",
+ "vcmi.adventureMap.spellUnknownProblem" : "Il y a un problème inconnu avec ce sort ! Pas plus d'informations sont disponibles.",
+ "vcmi.adventureMap.playerAttacked" : "Le joueur a été attaqué : %s",
+ "vcmi.adventureMap.moveCostDetails" : "Points de mouvement - Coût : %TURNS tours + %POINTS points, Points restants : %REMAINING",
+ "vcmi.adventureMap.moveCostDetailsNoTurns" : "Points de mouvement - Coût : %POINTS points, Points restants : %REMAINING",
+
+ "vcmi.capitalColors.0" : "Rouge",
+ "vcmi.capitalColors.1" : "Bleu",
+ "vcmi.capitalColors.2" : "Ocre",
+ "vcmi.capitalColors.3" : "Vert",
+ "vcmi.capitalColors.4" : "Orange",
+ "vcmi.capitalColors.5" : "Violet",
+ "vcmi.capitalColors.6" : "Turquoise",
+ "vcmi.capitalColors.7" : "Rose",
+
+ "vcmi.mainMenu.tutorialNotImplemented" : "Désolé, le didacticiel n'est pas encore implémenté\n",
+ "vcmi.mainMenu.highscoresNotImplemented" : "Désolé, le menu des meilleurs scores n'est pas encore implémenté\n",
+ "vcmi.mainMenu.serverConnecting" : "Connexion...",
+ "vcmi.mainMenu.serverAddressEnter" : "Entrez l'adresse :",
+ "vcmi.mainMenu.serverClosing" : "Fermeture...",
+ "vcmi.mainMenu.hostTCP" : "Hôte TCP/IP jeu",
+ "vcmi.mainMenu.joinTCP" : "Rejoindre TCP/IP jeu",
+ "vcmi.mainMenu.playerName" : "Joueur",
+
+ "vcmi.server.errors.existingProcess" : "Un autre processus de serveur VCMI est en cours d'exécution. Veuillez l'arrêter' avant de démarrer un nouveau jeu.",
+ "vcmi.server.errors.modsIncompatibility" : "Les mods suivants sont nécessaires pour charger le jeu :",
+ "vcmi.server.confirmReconnect" : "Voulez-vous vous reconnecter à la dernière session ?",
+
+ "vcmi.settingsMainWindow.generalTab.hover" : "Général",
+ "vcmi.settingsMainWindow.generalTab.help" : "Passe à l'onglet Options générales, qui contient des paramètres liés au comportement général du client de jeu",
+ "vcmi.settingsMainWindow.battleTab.hover" : "Bataille",
+ "vcmi.settingsMainWindow.battleTab.help" : "Passe à l'onglet Options de combat, ce qui permet de configurer le comportement du jeu pendant les batailles",
+ "vcmi.settingsMainWindow.adventureTab.hover" : "Carte d'aventure",
+ "vcmi.settingsMainWindow.adventureTab.help" : "Passe à l'onglet Options de carte d'aventure (la carte d'aventure est la section du jeu où les joueurs peuvent contrôler les mouvements de leurs héros)",
+
+ "vcmi.systemOptions.videoGroup" : "Paramètres Vidéo",
+ "vcmi.systemOptions.audioGroup" : "Paramètres Audio",
+ "vcmi.systemOptions.otherGroup" : "Autres Paramètres", // Unused right now
+ "vcmi.systemOptions.townsGroup" : "Écran de la Ville",
+
+ "vcmi.systemOptions.fullscreenBorderless.hover" : "Plein écran (sans bord)",
+ "vcmi.systemOptions.fullscreenBorderless.help" : "{Borderless Fullscreen}\n\nSi sélectionné, VCMI fonctionnera en mode plein écran sans bordure. Dans ce mode, le jeu utilisera toujours la même résolution de le bureau, ignorant la résolution sélectionnée.",
+ "vcmi.systemOptions.fullscreenExclusive.hover" : "Plein écran (exclusif)",
+ "vcmi.systemOptions.fullscreenExclusive.help" : "{Fullscreen}\n\nSi sélectionné, VCMI s'exécutera en mode plein écran exclusif. Dans ce mode, le jeu modifiera la résolution du moniteur en résolution sélectionnée.",
+ "vcmi.systemOptions.resolutionButton.hover" : "Résolution : %wx%h",
+ "vcmi.systemOptions.resolutionButton.help" : "{Select Resolution}\n\nChanger la résolution d'écran dans le jeu.",
+ "vcmi.systemOptions.resolutionMenu.hover" : "Sélectionner la résolution",
+ "vcmi.systemOptions.resolutionMenu.help" : "Changer la résolution d'écran dans le jeu.",
+ "vcmi.systemOptions.scalingButton.hover" : "Échelle d'interface : %p%",
+ "vcmi.systemOptions.scalingButton.help" : "{Interface Scaling}\n\nChanger l'échelle de l'interface dans le jeu",
+ "vcmi.systemOptions.scalingMenu.hover" : "Sélectionner la mise à l'échelle de l'interface",
+ "vcmi.systemOptions.scalingMenu.help" : "Changer la mise à l'échelle de l'interface dans le jeu.",
+ "vcmi.systemOptions.longTouchButton.hover" : "Intervalle de touche long : %d ms", // Translation note: "ms" = "milliseconds"
+ "vcmi.systemOptions.longTouchButton.help" : "{Long Touch Interval}\n\nAu moment d'utiliser l'écran tactile, les fenêtres contextuelles apparaîtront après avoir touché l'écran pour une durée spécifiée, en millisecondes",
+ "vcmi.systemOptions.longTouchMenu.hover" : "Sélectionner l'intervalle de touche long",
+ "vcmi.systemOptions.longTouchMenu.help" : "Changer la durée de l'intervalle de touche long.",
+ "vcmi.systemOptions.longTouchMenu.entry" : "%d millisecondes",
+ "vcmi.systemOptions.framerateButton.hover" : "Afficher les FPS",
+ "vcmi.systemOptions.framerateButton.help" : "{Show FPS}\n\nAfficher/masquer le compteur de Frames Par Seconde dans le coin de la fenêtre du jeu",
+
+ "vcmi.adventureOptions.infoBarPick.hover" : "Afficher les messages dans le panneau d'information",
+ "vcmi.adventureOptions.infoBarPick.help" : "{Show Messages in Info Panel}\n\nAutant que possible, les messages de jeu de la visite des objets de la carte seront affichés dans le panneau d'informations, au lieu de faire apparaître dans une fenêtre séparée.",
+ "vcmi.adventureOptions.numericQuantities.hover" : "Dénombrement de créatures",
+ "vcmi.adventureOptions.numericQuantities.help" : "{Numeric Creature Quantities}\n\nAfficher les estimation de nombre de créatures ennemies au format numérique A-B.",
+ "vcmi.adventureOptions.forceMovementInfo.hover" : "Toujours afficher le coût de mouvement",
+ "vcmi.adventureOptions.forceMovementInfo.help" : "{Always Show Movement Cost}\n\nToujours afficher les données des points de mouvement dans les informations sur la barre d'état (au lieu de les voir que pen maintenant la touche alt).",
+ "vcmi.adventureOptions.showGrid.hover" : "Afficher la grille",
+ "vcmi.adventureOptions.showGrid.help" : "{Show Grid}\n\nMontrer la superposition de la grille, mettant en évidence les frontières entre les carreaux de carte d'aventure.",
+ "vcmi.adventureOptions.borderScroll.hover" : "Défilement de bord",
+ "vcmi.adventureOptions.borderScroll.help" : "{Border Scrolling}\n\nFait défiler la carte aventure lorsque le curseur est sur le bord de la fenêtre. Peut être désactivé en maintenant la touche Ctrl.",
+ "vcmi.adventureOptions.mapScrollSpeed1.hover": "",
+ "vcmi.adventureOptions.mapScrollSpeed5.hover": "",
+ "vcmi.adventureOptions.mapScrollSpeed6.hover": "",
+ "vcmi.adventureOptions.mapScrollSpeed1.help": "Régler la vitesse de défilement de la carte sur très lent",
+ "vcmi.adventureOptions.mapScrollSpeed5.help": "Régler la vitesse de défilement de la carte très rapide",
+ "vcmi.adventureOptions.mapScrollSpeed6.help": "Régler la vitesse de défilement de la carte sur instantanément.",
+
+ "vcmi.battleOptions.queueSizeLabel.hover": "Afficher l'ordre de fil de tour",
+ "vcmi.battleOptions.queueSizeNoneButton.hover": "Désactivé",
+ "vcmi.battleOptions.queueSizeAutoButton.hover": "AUTO",
+ "vcmi.battleOptions.queueSizeSmallButton.hover": "PETITE",
+ "vcmi.battleOptions.queueSizeBigButton.hover": "GRANDE",
+ "vcmi.battleOptions.queueSizeNoneButton.help": "Ne pas afficher l'ordre de fil de tour",
+ "vcmi.battleOptions.queueSizeAutoButton.help": "Ajuster automatiquement la taille de l'ordre de fil de tour en fonction de la résolution du jeu (la PETITE taille est utilisée lorsque vous jouez au jeu sur une hauteur de résolution inférieure à 700 pixels, la GRANDE taille est utilisée au sinon)",
+ "vcmi.battleOptions.queueSizeSmallButton.help": "Régler la taille de l'ordre de fil de tour sur PETITE",
+ "vcmi.battleOptions.queueSizeBigButton.help": "Régler la taille de l'ordre de fil de tour à GRANDE (non prise en charge si la hauteur de la résolution du jeu est inférieure à 700 pixels)",
+ "vcmi.battleOptions.animationsSpeed1.hover": "",
+ "vcmi.battleOptions.animationsSpeed5.hover": "",
+ "vcmi.battleOptions.animationsSpeed6.hover": "",
+ "vcmi.battleOptions.animationsSpeed1.help": "Régler la vitesse d'animation très lente",
+ "vcmi.battleOptions.animationsSpeed5.help": "Régler la vitesse d'animation très rapide",
+ "vcmi.battleOptions.animationsSpeed6.help": "Régler la vitesse d'animation sur instantané",
+ "vcmi.battleOptions.movementHighlightOnHover.hover": "Mise en surbrillance du mouvement au survol",
+ "vcmi.battleOptions.movementHighlightOnHover.help": "{Movement Highlight on Hover}\n\nMettre en surbrillance la plage de mouvement de l'unité lorsque vous la survolez.",
+ "vcmi.battleOptions.rangeLimitHighlightOnHover.hover": "Afficher les limites de portée pour les tireurs",
+ "vcmi.battleOptions.rangeLimitHighlightOnHover.help": "{Show range limits for shooters on Hover}\n\nAfficher les limites de portée du tireur lorsque vous le survolez.",
+ "vcmi.battleOptions.skipBattleIntroMusic.hover": "Ignorer la musique d'introduction",
+ "vcmi.battleOptions.skipBattleIntroMusic.help": "{Skip Intro Music}\n\nAutoriser les actions pendant la musique d'intro qui joue au début de chaque bataille",
+ "vcmi.battleWindow.pressKeyToSkipIntro" : "Appuyez sur n'importe quelle touche pour commencer la bataille immédiatement",
+
+ "vcmi.battleWindow.damageEstimation.melee" : "Attaque %CREATURE (%DAMAGE).",
+ "vcmi.battleWindow.damageEstimation.meleeKills" : "Attaque %CREATURE (%DAMAGE, %KILLS).",
+ "vcmi.battleWindow.damageEstimation.ranged" : "Tir sur %CREATURE (%SHOTS, %DAMAGE).",
+ "vcmi.battleWindow.damageEstimation.rangedKills" : "Tir sur %CREATURE (%SHOTS, %DAMAGE, %KILLS).",
+ "vcmi.battleWindow.damageEstimation.shots" : "%d tirs restants",
+ "vcmi.battleWindow.damageEstimation.shots.1" : "%d tir restant",
+ "vcmi.battleWindow.damageEstimation.damage" : "%d dégâts",
+ "vcmi.battleWindow.damageEstimation.damage.1" : "%d dégâts",
+ "vcmi.battleWindow.damageEstimation.kills" : "%d va mourir",
+ "vcmi.battleWindow.damageEstimation.kills.1" : "%d va mourir",
+
+ "vcmi.battleResultsWindow.applyResultsLabel" : "Appliquer le résultat de la bataille",
+
+ "vcmi.otherOptions.availableCreaturesAsDwellingLabel.hover" : "Afficher les créatures disponibles",
+ "vcmi.otherOptions.availableCreaturesAsDwellingLabel.help" : "{Show Available Creatures}\n\nAfficher le nombre de créatures disponibles au recrutement au lieu de leur croissance dans le résumé de la ville (coin inférieur gauche de l'écran de la ville).",
+ "vcmi.otherOptions.creatureGrowthAsDwellingLabel.hover" : "Afficher la croissance hebdomadaire des créatures",
+ "vcmi.otherOptions.creatureGrowthAsDwellingLabel.help" : "{Show Weekly Growth of Creatures}\n\nAfficher la croissance hebdomadaire des créatures au lieu de la quantité disponible dans le résumé de la ville (coin inférieur gauche de l'écran de la ville).",
+ "vcmi.otherOptions.compactTownCreatureInfo.hover": "Infos compactes sur la créature",
+ "vcmi.otherOptions.compactTownCreatureInfo.help": "{Compact Creature Info}\n\nAfficher des informations plus petites pour les créatures de la ville dans le résumé de la ville (coin inférieur gauche de l'écran de la ville).",
+
+ "vcmi.townHall.missingBase" : "Le bâtiment de base %s doit être construit avant",
+ "vcmi.townHall.noCreaturesToRecruit" : "Il n'y a aucune créature à recruter !",
+ "vcmi.townHall.greetingManaVortex" : "Alors que vous approchez du %s, votre corps est rempli d'une nouvelle énergie. Vous avez doublé vos points de sort normaux.",
+ "vcmi.townHall.greetingKnowledge" : "Vous étudiez les glyphes sur le %s et découvrez le fonctionnement de diverses magies (+1 Connaissance).",
+ "vcmi.townHall.greetingSpellPower" : "Le %s vous apprend de nouvelles façons de concentrer vos pouvoirs magiques (+1 Pouvoir).",
+ "vcmi.townHall.greetingExperience" : "Une visite au %s vous apprend de nombreuses nouvelles compétences (+1000 Expérience).",
+ "vcmi.townHall.greetingAttack" : "Un peu de temps passé au %s vous permet d'apprendre des compétences de combat plus efficaces (+1 compétence d'attaque).",
+ "vcmi.townHall.greetingDefence" : "En passant du temps dans le %s, les guerriers expérimentés qui s'y trouvent vous enseignent des compétences défensives supplémentaires (+1 Défense).",
+ "vcmi.townHall.hasNotProduced" : "Le %s n'a encore rien produit.",
+ "vcmi.townHall.hasProduced" : "Le %s a produit %d %s cette semaine.",
+ "vcmi.townHall.greetingCustomBonus" : "%s vous offre +%d %s%s",
+ "vcmi.townHall.greetingCustomUntil" : " jusqu'à la prochaine bataille.",
+ "vcmi.townHall.greetingInTownMagicWell" : "%s a restauré vos points de sort au maximum.",
+
+ "vcmi.logicalExpressions.anyOf" : "L'un des éléments suivants :",
+ "vcmi.logicalExpressions.allOf" : "Tous les éléments suivants :",
+ "vcmi.logicalExpressions.noneOf" : "Aucun des éléments suivants :",
+
+ "vcmi.heroWindow.openCommander.hover" : "Ouvrir la fenêtre d'informations du commandant",
+ "vcmi.heroWindow.openCommander.help" : "Affiche des détails sur le commandant de ce héros",
+
+ "vcmi.commanderWindow.artifactMessage" : "Voulez-vous rendre cet artefact au héros ?",
+
+ "vcmi.creatureWindow.showBonuses.hover" : "Passer en vue bonus",
+ "vcmi.creatureWindow.showBonuses.help" : "Afficher tous les bonus actifs du commandant",
+ "vcmi.creatureWindow.showSkills.hover" : "Passer à la vue des compétences",
+ "vcmi.creatureWindow.showSkills.help" : "Afficher toutes les compétences apprises du commandant",
+ "vcmi.creatureWindow.returnArtifact.hover" : "Remettre l'artefact",
+ "vcmi.creatureWindow.returnArtifact.help" : "Cliquez sur ce bouton pour remettre l'artefact dans le sac à dos du héros",
+
+ "vcmi.questLog.hideComplete.hover" : "Masquer les quêtes terminées",
+ "vcmi.questLog.hideComplete.help" : "Masquer toutes les quêtes terminées",
+
+ "vcmi.randomMapTab.widgets.defaultTemplate" : "(par défaut)",
+ "vcmi.randomMapTab.widgets.templateLabel" : "Modèle",
+ "vcmi.randomMapTab.widgets.teamAlignmentsButton" : "Configuration...",
+ "vcmi.randomMapTab.widgets.teamAlignmentsLabel" : "Alignements d'équipe",
+ "vcmi.randomMapTab.widgets.roadTypesLabel" : "Types de routes",
+
+ // Custom victory conditions for H3 campaigns and HotA maps
+ "vcmi.map.victoryCondition.daysPassed.toOthers" : "L'ennemi a réussi à survivre jusqu'à ce jour. La victoire est à eux !",
+ "vcmi.map.victoryCondition.daysPassed.toSelf" : "Félicitations ! Vous avez réussi à survivre. La victoire est à vous !",
+ "vcmi.map.victoryCondition.eliminateMonsters.toOthers" : "L'ennemi a vaincu tous les monstres qui sévissent sur cette terre et revendique la victoire !",
+ "vcmi.map.victoryCondition.eliminateMonsters.toSelf" : "Félicitations ! Vous avez vaincu tous les monstres qui affligent ce pays et vous pouvez revendiquer la victoire !",
+ "vcmi.map.victoryCondition.collectArtifacts.message" : "Acquérir trois artefacts",
+ "vcmi.map.victoryCondition.angelicAlliance.toSelf" : "Félicitations ! Tous vos ennemis ont été vaincus et vous avez l'alliance angélique ! La victoire est à vous !",
+ "vcmi.map.victoryCondition.angelicAlliance.message" : "Vaincre tous les ennemis et créer une alliance angélique",
+
+ // few strings from WoG used by vcmi
+ "vcmi.stackExperience.description" : "» D é t a i l s d e P i l e d ' E x p é r i e n c e «\n\nType de créature ................ : %s\nRang d'expérience ............... : %s (%i)\nPoints d'expérience ............. : %i\nPoints d'XP au rang suivant ..... : %i\nExpérience maximum par bataille . : %i%% (%i)\nNb de créatures dans la pile .... : %i\nMaximum de nouvelles recrues\n sans perdre le rang actuel ..... : %i\nMultiplicateur d'expérience ..... : %.2f\nMultiplicateur d'amélioration ... : %.2f\nExpérience après le rang 10 ..... : %i\nMaximum de Nouvelles Recrues pour\n rester au Rang 10 si\n l'Expérience Maximum ........... : %i",
+ "vcmi.stackExperience.rank.0" : "Basique",
+ "vcmi.stackExperience.rank.1" : "Novice",
+ "vcmi.stackExperience.rank.2" : "Formé",
+ "vcmi.stackExperience.rank.3" : "Qualifié",
+ "vcmi.stackExperience.rank.4" : "Éprouvé",
+ "vcmi.stackExperience.rank.5" : "Vétéran",
+ "vcmi.stackExperience.rank.6" : "Adepte",
+ "vcmi.stackExperience.rank.7" : "Expert",
+ "vcmi.stackExperience.rank.8" : "Élite",
+ "vcmi.stackExperience.rank.9" : "Maître",
+ "vcmi.stackExperience.rank.10" : "As",
+
+ "core.bonus.ADDITIONAL_ATTACK.name": "Double frappe",
+ "core.bonus.ADDITIONAL_ATTACK.description": "Attaque deux fois",
+ "core.bonus.ADDITIONAL_RETALIATION.name": "Représailles supplémentaires",
+ "core.bonus.ADDITIONAL_RETALIATION.description": "Peut riposter ${val} fois de plus",
+ "core.bonus.AIR_IMMUNITY.name": "Immunité aérienne",
+ "core.bonus.AIR_IMMUNITY.description": "Immunisé contre tous les sorts de l'école de magie de l'Air",
+ "core.bonus.ATTACKS_ALL_ADJACENT.name": "Attaque tout autour",
+ "core.bonus.ATTACKS_ALL_ADJACENT.description": "Attaque tous les ennemis adjacents",
+ "core.bonus.BLOCKS_RETALIATION.name": "Pas de représailles",
+ "core.bonus.BLOCKS_RETALIATION.description": "L'ennemi ne peut pas riposter",
+ "core.bonus.BLOCKS_RANGED_RETALIATION.name": "Pas de représailles à distance",
+ "core.bonus.BLOCKS_RANGED_RETALIATION.description": "L'ennemi ne peut pas riposter en utilisant une attaque à distance",
+ "core.bonus.CATAPULT.name": "Catapulte",
+ "core.bonus.CATAPULT.description": "Attaque les murs de siège",
+ "core.bonus.CHANGES_SPELL_COST_FOR_ALLY.name": "Réduire le coût de lancement (${val})",
+ "core.bonus.CHANGES_SPELL_COST_FOR_ALLY.description": "Réduit le coût d'incantation du héros de ${val}",
+ "core.bonus.CHANGES_SPELL_COST_FOR_ENEMY.name": "Amortisseur magique (${val})",
+ "core.bonus.CHANGES_SPELL_COST_FOR_ENEMY.description": "Augmente le coût d'incantation des sorts ennemis de ${val}",
+ "core.bonus.CHARGE_IMMUNITY.name": "Immunisé contre la charge",
+ "core.bonus.CHARGE_IMMUNITY.description": "Immunisé contre la charge du cavalier et du champion",
+ "core.bonus.DARKNESS.name": "Couverture de ténèbres",
+ "core.bonus.DARKNESS.description": "Crée un linceul de ténèbres avec un rayon de ${val}",
+ "core.bonus.DEATH_STARE.name": "Regard mortel (${val}%)",
+ "core.bonus.DEATH_STARE.description": "A ${val}% de chances de tuer une seule créature",
+ "core.bonus.DEFENSIVE_STANCE.name": "Bonus de défense",
+ "core.bonus.DEFENSIVE_STANCE.description": "+${val} Défense en défense",
+ "core.bonus.DESTRUCTION.name": "Destruction",
+ "core.bonus.DESTRUCTION.description": "A ${val} % de chances de tuer des unités supplémentaires après l'attaque",
+ "core.bonus.DOUBLE_DAMAGE_CHANCE.name": "Coup mortel",
+ "core.bonus.DOUBLE_DAMAGE_CHANCE.description": "A ${val}% de chances d'infliger des dégâts de base doublés en attaquant",
+ "core.bonus.DRAGON_NATURE.name": "Dragon",
+ "core.bonus.DRAGON_NATURE.description": "La créature a une nature de dragon",
+ "core.bonus.EARTH_IMMUNITY.name": "Immunité terrestre",
+ "core.bonus.EARTH_IMMUNITY.description": "Immunisé contre tous les sorts de l'école de magie de la Terre",
+ "core.bonus.ENCHANTER.name": "Enchanteur",
+ "core.bonus.ENCHANTER.description": "Peut lancer en masse ${subtype.spell} à chaque tour",
+ "core.bonus.ENCHANTED.name": "Enchanté",
+ "core.bonus.ENCHANTED.description": "Affecté par ${subtype.spell} permanent",
+ "core.bonus.ENEMY_DEFENCE_REDUCTION.name": "Ignorer la défense (${val}%)",
+ "core.bonus.ENEMY_DEFENCE_REDUCTION.description": "Lors de l'attaque, ${val}% de la défense du défenseur est ignorée",
+ "core.bonus.FIRE_IMMUNITY.name": "Immunité au feu",
+ "core.bonus.FIRE_IMMUNITY.description": "Immunisé contre tous les sorts de l'école de magie du Feu",
+ "core.bonus.FIRE_SHIELD.name": "Bouclier de feu (${val}%)",
+ "core.bonus.FIRE_SHIELD.description": "Reflète une partie des dégâts de mêlée",
+ "core.bonus.FIRST_STRIKE.name": "Premier coup",
+ "core.bonus.FIRST_STRIKE.description": "Cette créature riposte avant d'être attaquée",
+ "core.bonus.FEAR.name": "Peur",
+ "core.bonus.FEAR.description": "Provoque la peur sur une pile ennemie",
+ "core.bonus.FEARLESS.name": "Intrépide",
+ "core.bonus.FEARLESS.description": "Immunité à la peur",
+ "core.bonus.FLYING.name": "Vol",
+ "core.bonus.FLYING.description": "Vole en se déplaçant (ignore les obstacles)",
+ "core.bonus.FREE_SHOOTING.name": "Tirer de près",
+ "core.bonus.FREE_SHOOTING.description": "Peut utiliser des attaques à distance au corps à corps",
+ "core.bonus.GARGOYLE.name": "Gargouille",
+ "core.bonus.GARGOYLE.description": "Ne peut pas être réanimé ou soigné",
+ "core.bonus.GENERAL_DAMAGE_REDUCTION.name": "Réduit les dégâts (${val}%)",
+ "core.bonus.GENERAL_DAMAGE_REDUCTION.description": "Réduit les dégâts physiques des attaques à distance ou de mêlée",
+ "core.bonus.HATE.name": "Déteste ${subtype.creature}",
+ "core.bonus.HATE.description": "Inflige ${val} % de dégâts supplémentaires à ${subtype.creature}",
+ "core.bonus.HEALER.name": "Guérisseur",
+ "core.bonus.HEALER.description": "Soigne les unités alliées",
+ "core.bonus.HP_REGENERATION.name": "Régénération",
+ "core.bonus.HP_REGENERATION.description": "Soigne ${val} points de vie à chaque tour",
+ "core.bonus.JOUSTING.name": "Charge de champion",
+ "core.bonus.JOUSTING.description": "+${val}% de dégâts pour chaque hexagone parcouru",
+ "core.bonus.KING.name": "Roi",
+ "core.bonus.KING.description": "Vulnérable au niveau POURFENDEUR ${val} ou supérieur",
+ "core.bonus.LEVEL_SPELL_IMMUNITY.name": "Immunité aux sorts 1-${val}",
+ "core.bonus.LEVEL_SPELL_IMMUNITY.description": "Immunisé aux sorts de niveaux 1-${val}",
+ "core.bonus.LIMITED_SHOOTING_RANGE.name" : "Portée de tir limitée",
+ "core.bonus.LIMITED_SHOOTING_RANGE.description" : "Impossible de cibler des unités plus loin que ${val} hexagones",
+ "core.bonus.LIFE_DRAIN.name": "Durée de vie du drain (${val}%)",
+ "core.bonus.LIFE_DRAIN.description": "Draine ${val}% des dégâts infligés",
+ "core.bonus.MANA_CHANNELING.name": "Chaîne magique ${val}%",
+ "core.bonus.MANA_CHANNELING.description": "Donne à votre héros ${val}% du mana dépensé par l'ennemi",
+ "core.bonus.MANA_DRAIN.name": "Drain de mana",
+ "core.bonus.MANA_DRAIN.description": "Draine ${val} mana à chaque tour",
+ "core.bonus.MAGIC_MIRROR.name": "Miroir magique (${val}%)",
+ "core.bonus.MAGIC_MIRROR.description": "A ${val} % de chances de rediriger un sort offensif vers une unité ennemie",
+ "core.bonus.MAGIC_RESISTANCE.name": "Résistance magique (${val}%)",
+ "core.bonus.MAGIC_RESISTANCE.description": "A ${val}% de chances de résister à un sort ennemi",
+ "core.bonus.MIND_IMMUNITY.name": "Immunité contre les sorts de l'esprit",
+ "core.bonus.MIND_IMMUNITY.description": "Immunisé contre les sorts de type Mental",
+ "core.bonus.NO_DISTANCE_PENALTY.name": "Aucune pénalité de distance",
+ "core.bonus.NO_DISTANCE_PENALTY.description": "Inflige des dégâts complets à n'importe quelle distance",
+ "core.bonus.NO_MELEE_PENALTY.name": "Aucune pénalité de mêlée",
+ "core.bonus.NO_MELEE_PENALTY.description": "La créature n'a pas de pénalité de mêlée",
+ "core.bonus.NO_MORALE.name": "Moral neutre",
+ "core.bonus.NO_MORALE.description": "La créature est immunisée contre les effets de moral",
+ "core.bonus.NO_WALL_PENALTY.name": "Aucune pénalité de mur",
+ "core.bonus.NO_WALL_PENALTY.description": "Dégâts complets pendant le siège",
+ "core.bonus.NON_LIVING.name": "Non vivant",
+ "core.bonus.NON_LIVING.description": "Immunité à de nombreux effets",
+ "core.bonus.RANDOM_SPELLCASTER.name": "Lanceur de sorts aléatoire",
+ "core.bonus.RANDOM_SPELLCASTER.description": "Peut lancer un sort aléatoire",
+ "core.bonus.RANGED_RETALIATION.name": "Représailles à distance",
+ "core.bonus.RANGED_RETALIATION.description": "Peut effectuer une contre-attaque à distance",
+ "core.bonus.RECEPTIVE.name": "Réceptif",
+ "core.bonus.RECEPTIVE.description": "Pas d'immunité aux sorts amicaux",
+ "core.bonus.REBIRTH.name": "Renaissance (${val}%)",
+ "core.bonus.REBIRTH.description": "${val}% de la pile augmentera après la mort",
+ "core.bonus.RETURN_AFTER_STRIKE.name": "Attaque et retour",
+ "core.bonus.RETURN_AFTER_STRIKE.description": "Revient après une attaque au corps à corps",
+ "core.bonus.SHOOTER.name": "Distance",
+ "core.bonus.SHOOTER.description": "La créature peut tirer",
+ "core.bonus.SHOOTS_ALL_ADJACENT.name": "Tirer tout autour",
+ "core.bonus.SHOOTS_ALL_ADJACENT.description": "Les attaques à distance de cette créature touchent toutes les cibles dans une petite zone",
+ "core.bonus.SOUL_STEAL.name": "Vol d'âme",
+ "core.bonus.SOUL_STEAL.description": "Gagne ${val} nouvelles créatures pour chaque ennemi tué",
+ "core.bonus.SPELLCASTER.name": "Lanceur de sorts",
+ "core.bonus.SPELLCASTER.description": "Peut lancer ${subtype.spell}",
+ "core.bonus.SPELL_AFTER_ATTACK.name": "Lancer après l'attaque",
+ "core.bonus.SPELL_AFTER_ATTACK.description": "A ${val}% de chances de lancer ${subtype.spell} après avoir attaqué",
+ "core.bonus.SPELL_BEFORE_ATTACK.name": "Lancer avant l'attaque",
+ "core.bonus.SPELL_BEFORE_ATTACK.description": "A ${val}% de chances de lancer ${subtype.spell} avant qu'il n'attaque",
+ "core.bonus.SPELL_DAMAGE_REDUCTION.name": "Résistance aux sorts",
+ "core.bonus.SPELL_DAMAGE_REDUCTION.description": "Dégâts des sorts réduits de ${val}%.",
+ "core.bonus.SPELL_IMMUNITY.name": "Immunité aux sorts",
+ "core.bonus.SPELL_IMMUNITY.description": "Immunisé contre ${subtype.spell}",
+ "core.bonus.SPELL_LIKE_ATTACK.name": "Attaque semblable à un sort",
+ "core.bonus.SPELL_LIKE_ATTACK.description": "Attaque avec ${subtype.spell}",
+ "core.bonus.SPELL_RESISTANCE_AURA.name": "Aura de résistance",
+ "core.bonus.SPELL_RESISTANCE_AURA.description": "Les piles à proximité obtiennent ${val}% de résistance magique",
+ "core.bonus.SUMMON_GUARDIANS.name": "Invoquer des gardiens",
+ "core.bonus.SUMMON_GUARDIANS.description": "Au début de la bataille, invoque ${subtype.creature} (${val}%)",
+ "core.bonus.SYNERGY_TARGET.name": "Synergique",
+ "core.bonus.SYNERGY_TARGET.description": "Cette créature est vulnérable à l'effet de synergie",
+ "core.bonus.TWO_HEX_ATTACK_BREATH.name": "Souffle",
+ "core.bonus.TWO_HEX_ATTACK_BREATH.description": "Attaque de souffle (portée de 2 hexagones)",
+ "core.bonus.THREE_HEADED_ATTACK.name": "Attaque à trois têtes",
+ "core.bonus.THREE_HEADED_ATTACK.description": "Attaque trois unités adjacentes",
+ "core.bonus.TRANSMUTATION.name": "Transmutation",
+ "core.bonus.TRANSMUTATION.description": "${val}% de chances de transformer l'unité attaquée en un type différent",
+ "core.bonus.UNDEAD.name": "Morts-vivants",
+ "core.bonus.UNDEAD.description": "La créature est un mort-vivant",
+ "core.bonus.UNLIMITED_RETALIATIONS.name": "Représailles illimitées",
+ "core.bonus.UNLIMITED_RETALIATIONS.description": "Peut riposter contre un nombre illimité d'attaques",
+ "core.bonus.WATER_IMMUNITY.name": "Immunité à l'eau",
+ "core.bonus.WATER_IMMUNITY.description": "Immunisé contre tous les sorts de l'école de magie de l'Eau",
+ "core.bonus.WIDE_BREATH.name": "Large souffle",
+ "core.bonus.WIDE_BREATH.description": "Attaque à souffle large (plusieurs hexagones)"
+}
diff --git a/Mods/vcmi/mod.json b/Mods/vcmi/mod.json
index 0cd8747d1..945927a8b 100644
--- a/Mods/vcmi/mod.json
+++ b/Mods/vcmi/mod.json
@@ -11,6 +11,17 @@
"config/vcmi/chinese.json"
]
},
+
+ "french" : {
+ "name" : "VCMI - fichiers nécessaires",
+ "description" : "Fichiers nécessaires pour exécuter correctement VCMI",
+ "author" : "L'équipe VCMI",
+
+ "skipValidation" : true,
+ "translations" : [
+ "config/vcmi/french.json"
+ ]
+ },
"german" : {
"name" : "VCMI - grundlegende Dateien",
@@ -60,7 +71,7 @@
"name" : "VCMI - ficheros necesarios",
"description" : "Ficheros necesarios para ejecutar VCMI correctamente",
"author" : "Abel Rivas",
-
+
"skipValidation" : true,
"translations" : [
"config/vcmi/spanish.json"
diff --git a/launcher/translation/french.ts b/launcher/translation/french.ts
index db853987e..dd445428f 100644
--- a/launcher/translation/french.ts
+++ b/launcher/translation/french.ts
@@ -6,84 +6,84 @@
VCMI on Discord
- VCMI sur Discord
+ VCMI sur DiscordHave a question? Found a bug? Want to help? Join us!
- Avez-vous une question ? Avez-vous trouvé un bogue ? Besoin d'aide ? Rejoignez-nous !
+ Avez-vous une question ? Avez-vous trouvé un bogue ? Besoin d'aide ? Rejoignez-nous !VCMI on Github
- VCMI sur Github
+ VCMI sur GithubOur Community
-
+ Notre communautéVCMI on Slack
- VCMI sur Slack
+ VCMI sur SlackBuild Information
-
+ Information de constructionUser data directory
- Dossier de donnée utilisateur
+ Dossier de donnée utilisateurOpen
- Ouvrir
+ OuvrirCheck for updates
-
+ Rechercher des mises à jourGame version
-
+ Version de jeuLog files directory
- Dossier de journalisation
+ Dossier de journalisationData Directories
- Dossier de Données
+ Dossier de DonnéesGame data directory
-
+ Dossier de données du jeuOperating System
-
+ Système d"exploitationProject homepage
-
+ Page d"accueil du projetReport a bug
-
+ Signaler un bug
@@ -257,9 +257,9 @@
Impressions écran
-
+ %p% (%v KB out of %m KB)
-
+ %p% (%v Ko sur %m Ko)
@@ -463,12 +463,12 @@
Enemy AI in battles
-
+ IA ennemie dans les bataillesDefault repository
-
+ Dépôt par défaut
@@ -479,37 +479,43 @@ Windowed - game will run inside a window that covers part of your screen
Borderless Windowed Mode - game will run in a window that covers entirely of your screen, using same resolution as your screen.
Fullscreen Exclusive Mode - game will cover entirety of your screen and will use selected resolution.
-
+ Sélectionnez le mode d"affichage pour le jeu
+
+Fenêtré - le jeu s"exécutera à l"intérieur d"une fenêtre qui couvre une partie de votre écran
+
+Mode fenêtré sans bord - le jeu s"exécutera dans une fenêtre qui couvre entièrement votre écran, en utilisant la même résolution que votre écran.
+
+Mode exclusif plein écran - le jeu couvrira l"intégralité de votre écran et utilisera la résolution sélectionnée.Windowed
-
+ FenêtréBorderless fullscreen
-
+ Fenêtré sans bordExclusive fullscreen
-
+ Plein écran exclusifNeutral AI in battles
-
+ IA neutre dans les bataillesAdventure Map Enemies
-
+ Ennemis de la carte d"aventureInterface Scaling
-
+ Mise à l"échelle de l"interface
@@ -524,11 +530,7 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
Framerate Limit
-
-
-
- Default
- Défaut
+ Limite de fréquence d"images
@@ -548,12 +550,12 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
Adventure Map Allies
-
+ Alliés de la carte d"aventureAdditional repository
-
+ Dépôt supplémentaire
@@ -563,12 +565,12 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
Refresh now
-
+ Actualiser maintenantFriendly AI in battles
-
+ IA amicale dans les batailles
@@ -596,7 +598,7 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
Friendly AI
- IA sympa
+ IA amicale
@@ -831,7 +833,13 @@ Before you can start playing, there are a few more steps that need to be complet
Please keep in mind that in order to use VCMI you must own the original data files for Heroes® of Might and Magic® III: Complete or The Shadow of Death.
Heroes® of Might and Magic® III HD is currently not supported!
-
+ Merci d"avoir installé VCMI !
+
+Avant de pouvoir commencer à jouer, il reste quelques étapes à franchir.
+
+Veuillez garder à l"esprit que pour utiliser VCMI, vous devez posséder les fichiers de données originaux pour Heroes® of Might and Magic® III: Complete ou The Shadow of Death.
+
+Heroes® of Might and Magic® III HD n"est actuellement pas pris en charge !
@@ -852,12 +860,12 @@ Heroes® of Might and Magic® III HD is currently not supported!
If you don't have a copy of Heroes III installed, you can use our automatic installation tool 'vcmibuilder', which only requires the GoG.com Heroes III installer. Please visit our wiki for detailed instructions.
-
+ Si vous n"avez pas installé de copie de Heroes III, vous pouvez utiliser notre outil d"installation automatique "vcmibuilder", qui ne nécessite que le programme d"installation de GoG.com Heroes III. Veuillez visiter notre wiki pour des instructions détaillées.To run VCMI, Heroes III data files need to be present in one of the specified locations. Please copy the Heroes III data to one of these directories.
-
+ Pour exécuter VCMI, les fichiers de données Heroes III doivent être présents dans l"un des emplacements spécifiés. Veuillez copier les données de Heroes III dans l"un de ces dossiers.
@@ -867,7 +875,7 @@ Heroes® of Might and Magic® III HD is currently not supported!
Alternatively, you can provide the directory where Heroes III data is installed and VCMI will copy the existing data automatically.
-
+ Alternativement, vous pouvez fournir le répertoire où les données Heroes III sont installées et VCMI copiera automatiquement les données existantes.
@@ -882,7 +890,7 @@ Heroes® of Might and Magic® III HD is currently not supported!
The automatic detection of the Heroes III language has failed. Please select the language of your Heroes III manually
-
+ La détection automatique de la langue de Heroes III a échoué. Veuillez sélectionner la langue de votre Heroes III manuellement
@@ -923,17 +931,17 @@ Heroes® of Might and Magic® III HD is currently not supported!
Optionally, you can install additional mods either now, or at any point later, using the VCMI Launcher
-
+ En option, vous pouvez installer des mods supplémentaires soit maintenant, soit à tout moment plus tard, à l"aide du lanceur VCMIInstall compatible version of "Horn of the Abyss", a fan-made Heroes III expansion ported by the VCMI team
-
+ Installer une version compatible de "Horn of the Abyss", une extension Heroes III conçue par des fans et portée par l"équipe VCMIInstall compatible version of "In The Wake of Gods", a fan-made Heroes III expansion
-
+ Installer une version compatible de "In The Wake of Gods", une extension Heroes III créée par des fans
@@ -949,7 +957,7 @@ Heroes® of Might and Magic® III HD is currently not supported!
Czech
-
+ Tchèque
@@ -964,7 +972,7 @@ Heroes® of Might and Magic® III HD is currently not supported!
Finnish
-
+ Finlandais
@@ -979,12 +987,12 @@ Heroes® of Might and Magic® III HD is currently not supported!
Hungarian
-
+ HongroisItalian
-
+ Italien
@@ -999,7 +1007,7 @@ Heroes® of Might and Magic® III HD is currently not supported!
Portuguese
-
+ Portugais
@@ -1014,12 +1022,12 @@ Heroes® of Might and Magic® III HD is currently not supported!
Swedish
-
+ SuédoisTurkish
-
+ Turc
@@ -1034,7 +1042,7 @@ Heroes® of Might and Magic® III HD is currently not supported!
Other (Cyrillic Script)
- Autre (Script Cyrillique)
+ Autre (Alphabet Cyrillique)
@@ -1052,98 +1060,98 @@ Heroes® of Might and Magic® III HD is currently not supported!
Username
- Nom d'utilisateur
+ Nom d'utilisateurConnect
- Connecter
+ ConnecterServer
- Serveur
+ ServeurPlayers in lobby
- Joueurs à la salle d'attente
+ Joueurs à la salle d'attenteLobby chat
- Discussion de salle d'attente
+ Discussion de salle d'attenteNew room
- Nouveau salon
+ Nouveau salonJoin room
- Rejoindre le salon
+ Rejoindre le salonSession
- Session
+ SessionPlayers
- Joueurs
+ JoueursKick player
- Jeter le joueur
+ Jeter le joueurPlayers in the room
- Joueurs dans le salon
+ Joueurs dans le salonLeave
- Quitter
+ QuitterMods mismatch
- Incohérence de mods
+ Incohérence de modsReady
- Prêt
+ PrêtResolve
- Résoudre
+ RésoudreNew game
- Nouvelle partie
+ Nouvelle partieLoad game
- Charger une partie
+ Charger une partieDisconnect
- Déconnecter
+ DéconnecterNo issues detected
- Pas de problème détecté
+ Pas de problème détecté
@@ -1194,7 +1202,7 @@ Heroes® of Might and Magic® III HD is currently not supported!
Help
-
+ Aide
diff --git a/mapeditor/translation/french.ts b/mapeditor/translation/french.ts
index 71245d2ce..2037b0496 100644
--- a/mapeditor/translation/french.ts
+++ b/mapeditor/translation/french.ts
@@ -49,12 +49,12 @@
Edit
- Modifier
+ ÉditionView
- Afficher
+ Affichage
@@ -149,18 +149,18 @@
U/G
- U/G
+ Sous-sol/SurfaceView underground
- Voir le sous terrain
+ Voir le sous-solPass
- Passer
+ Passage
@@ -278,6 +278,11 @@
Player 7Joueur 7
+
+
+ Export as
+ Exporter sous
+ Player 8
@@ -671,7 +676,7 @@
Human/Computer
- Human/Ordinateur
+ Humain/Ordinateur
@@ -710,12 +715,12 @@
Water content
- Proportion des eaux
+ Proportion en eauNone
- Aucun
+ Aucune
diff --git a/mapeditor/translation/spanish.ts b/mapeditor/translation/spanish.ts
index 298bbf6e9..d9dfc2022 100644
--- a/mapeditor/translation/spanish.ts
+++ b/mapeditor/translation/spanish.ts
@@ -149,7 +149,7 @@
U/G
- U/G
+ Subterráneo/Superficie