From 18afe7aade80841ca8fb130704e37592ee9d251c Mon Sep 17 00:00:00 2001 From: Julien Marcon Date: Mon, 6 Jul 2026 22:37:07 +0200 Subject: [PATCH] Add French (fr_fr) translation --- .../integratedscripting/lang/fr_fr.json | 213 +++++++++++++++++- 1 file changed, 212 insertions(+), 1 deletion(-) diff --git a/src/main/resources/assets/integratedscripting/lang/fr_fr.json b/src/main/resources/assets/integratedscripting/lang/fr_fr.json index 0967ef424..c85e68340 100644 --- a/src/main/resources/assets/integratedscripting/lang/fr_fr.json +++ b/src/main/resources/assets/integratedscripting/lang/fr_fr.json @@ -1 +1,212 @@ -{} +{ + "_comment": "General", + "itemGroup.integratedscripting": "Integrated Scripting", + "general.integratedscripting.description": "Crée des scripts pour gérer des opérations complexes dans Integrated Dynamics.", + + "_comment": "Achievements", + "advancement.integratedscripting.mendesite": "Mendésite en abondance", + "advancement.integratedscripting.mendesite.desc": "Fabriquez un bloc de mendésite, une ressource de base pour Integrated Scripting.", + "advancement.integratedscripting.scripting_disk": "Pas une disquette !", + "advancement.integratedscripting.scripting_disk.desc": "Fabriquez un disque de script, utilisé pour stocker des données de script.", + "advancement.integratedscripting.scripting_drive": "Ils me voient conduire", + "advancement.integratedscripting.scripting_drive.desc": "Fabriquez un lecteur de script, afin de charger des scripts dans votre réseau.", + "advancement.integratedscripting.terminal_open": "La découverte des scripts", + "advancement.integratedscripting.terminal_open.desc": "Ouvrez l'interface du terminal de script.", + "advancement.integratedscripting.terminal_bind": "L'essor des scripts", + "advancement.integratedscripting.terminal_bind.desc": "Créez un script et liez-le à une carte de variable.", + "advancement.integratedscripting.terminal_display": "Le déchaînement des scripts", + "advancement.integratedscripting.terminal_display.desc": "Affichez une valeur scriptée dans un panneau d'affichage", + "advancement.integratedscripting.filter_chest": "Un filtrage de liste d'objets surpuissant", + "advancement.integratedscripting.filter_chest.desc": "Filtrez une liste d'objets lue depuis un coffre à l'aide d'une fonction basée sur un script.", + + "_comment": "Blocks", + "block.integratedscripting.mendesite": "Mendésite", + + "_comment": "Gui", + "gui.integratedscripting.disk": "Disque", + "gui.integratedscripting.script": "Script", + "gui.integratedscripting.create_file": "Créer un fichier", + "gui.integratedscripting.removal_dialog.title": "Confirmer la suppression du script", + "gui.integratedscripting.removal_dialog.message": "Voulez-vous supprimer \"%s\" ?", + "gui.integratedscripting.removal_dialog.delete": "Supprimer", + "gui.integratedscripting.removal_dialog.keep": "Conserver", + "gui.integratedscripting.error.invalid_member": "Sélectionnez un nom de fonction ou de variable valide dans l'éditeur de script pour le lier.", + "gui.integratedscripting.error.invalid_member.current": "Sélection actuelle : \"%s\"", + + "_comment": "Value Type Translation", + "valuetype.integratedscripting.error.translation.unknown_to_graal": "Impossible de trouver un traducteur des valeurs %s vers Graal.", + "valuetype.integratedscripting.error.translation.unknown_to_graal_nbt": "Impossible de trouver un traducteur des valeurs %s vers Graal lors de la traduction NBT.", + "valuetype.integratedscripting.error.translation.unknown_from_graal": "Impossible de trouver un traducteur depuis les valeurs Graal %s.", + "valuetype.integratedscripting.error.translation.list_infinite": "Impossible de traduire une liste infinie dans un langage de script.", + "valuetype.integratedscripting.error.translation.nbt_unknown": "Impossible de traduire les membres NBT de type %s.", + "valuetype.integratedscripting.error.translation.nbt_unmatched": "Impossible d'interpréter le champ %s en tant que NBT.", + "valuetype.integratedscripting.error.translation.unsupported_translateToNbt": "Conversion illégale de %s \"%s\" en NBT.", + "valuetype.integratedscripting.error.translation.proxyobject_putMember": "Ajout illégal de la clé \"%s\" à %s en lecture seule", + + "_comment": "Operators", + "operator.integratedscripting.integratedscript.basename": "Script intégré %s", + "operator.integratedscripting.integratedscript.graal": "Fonction Graal", + "operator.integratedscripting.error.no_graal_serialization": "Les scripts intégrés ne peuvent pas être sérialisés", + + "_comment": "Script Variable", + "script.integratedscripting.tooltip.disk": "§e§oID du disque : §r§o%s", + "script.integratedscripting.tooltip.path": "§e§oChemin du script : §r§o%s", + "script.integratedscripting.tooltip.member": "§e§oMembre : §r§o%s", + "script.integratedscripting.error.invalid_network": "Aucun réseau de script valide n'a été trouvé.", + "script.integratedscripting.error.disk_not_in_network": "Le disque avec l'ID %s est introuvable dans le réseau actuel.", + "script.integratedscripting.error.path_not_in_network": "Le disque avec l'ID %s ne contient pas le script \"%s\".", + "script.integratedscripting.error.member_not_in_network": "Le disque avec l'ID %s ne contient pas le membre \"%s\" dans le script \"%s\".", + "script.integratedscripting.error.unsupported_language": "Le langage du script \"%s\" n'est pas pris en charge.", + "script.integratedscripting.error.script_read": "Une erreur s'est produite lors de la lecture du script \"%s\" sur le disque %s : %s", + "script.integratedscripting.error.script_exec": "Une erreur s'est produite lors de l'exécution du membre \"%s\" dans le script \"%s\" sur le disque %s : %s", + "script.integratedscripting.error.invalid_type": "Le membre \"%s\" du script \"%s\" sur le disque %s devrait exposer une variable de type %s, mais %s a été trouvé.", + + "_comment": "Items", + "item.integratedscripting.scripting_disk": "Disque de script", + "item.integratedscripting.scripting_disk.info": "Stocke des scripts.", + "item.integratedscripting.scripting_disk.id": "ID : %s", + "item.integratedscripting.scripting_disk.bytes": "Octets : %s", + + "_comment": "Blocks", + "block.integratedscripting.scripting_drive": "Lecteur de script", + "block.integratedscripting.scripting_drive.info": "Expose les disques de script au réseau.", + + "_comment": "Part types", + "parttype.integratedscripting.terminal_scripting": "Terminal de script", + "parttype.integratedscripting.terminal_scripting.info": "Gère les scripts des lecteurs de script dans le réseau.", + + "_comment": "------ On the Dynamics of Integration contents ------", + + "info_book.integratedscripting.section.main": "Script", + + "info_book.integratedscripting.introduction": "Introduction", + "info_book.integratedscripting.introduction.text1": "&lIntegrated Scripting&r est une extension d'&lIntegrated Dynamics&r permettant de créer des scripts pour gérer des opérations complexes dans les réseaux &lIntegrated Dynamics&r. Par défaut, ce mod prend en charge le langage de script JavaScript.", + "info_book.integratedscripting.introduction.text2": "Il vous permet de définir des opérations logiques &lIntegrated Dynamics&r à l'aide d'une syntaxe de script pratique, plutôt que par la méthode visuelle standard basée sur les cartes de variable, qui peut devenir fastidieuse pour des chaînes d'opérations avancées.", + "info_book.integratedscripting.introduction.text3": "Par exemple, il permet de définir facilement des filtres complexes de listes d'objets tels que &o\"les objets qui sont endommageables, appartiennent au mod X, et correspondent à des blocs qui ne peuvent être minés qu'avec une pioche en diamant.\"&r. Ou encore &o\"obtenir l'objet de cette liste ayant la deuxième plus grande taille de pile.\"&r", + "info_book.integratedscripting.introduction.text4": "Des connaissances de base en programmation sont recommandées pour utiliser ce mod, mais peuvent aussi être acquises grâce aux tutoriels présents plus loin dans ce livre.", + + "info_book.integratedscripting.materials": "Matériaux", + "info_book.integratedscripting.materials.text1": "Avant de commencer à scripter, vous aurez besoin de quelques blocs de &lMendésite&r. Ces blocs sont très malléables et constituent une bonne base pour le stockage et la gestion des scripts. La &lMendésite&r est créée en combinant de la &lRésine de Menril&r et de l'&lAndésite&r dans un &lBassin de séchage&r.", + + "info_book.integratedscripting.concepts": "Concepts", + "info_book.integratedscripting.concepts.text1": "Éditer, stocker et fournir des scripts au réseau nécessite 3 éléments : le &lTerminal de script&r, le &lDisque de script&r et le &lLecteur de script&r.", + "info_book.integratedscripting.concepts.text2": "Le &lDisque de script&r est utilisé pour stocker le contenu brut des scripts, mais ne peut rien faire seul.", + "info_book.integratedscripting.concepts.text3": "Le &lLecteur de script&r vous permet d'insérer un seul &lDisque de script&r, qui exposera son contenu au réseau.", + "info_book.integratedscripting.concepts.text4": "Le &lTerminal de script&r vous permet de consulter, gérer et modifier tous les scripts du réseau actuel exposés par les &lLecteurs de script&r.", + "info_book.integratedscripting.concepts.text5": "Chacun de ces éléments sera détaillé plus loin.", + + "info_book.integratedscripting.disk": "Disque de script", + "info_book.integratedscripting.disk.text1": "Les &lDisques de script&r sont responsables du stockage des scripts et doivent être insérés dans des &lLecteurs de script&r. Ils peuvent être créés en combinant des &lCartes de variable&r avec de la &lMendésite&r.", + "info_book.integratedscripting.disk.text2": "Une fois qu'un &lDisque de script&r a été inséré dans un &lLecteur de script&r, il obtient un identifiant numérique unique. Cet identifiant sera utilisé pour modifier les scripts de ce disque depuis le &lTerminal de script&r. L'identifiant sert également à lier des éléments de script à des &lCartes de variable&r.", + "info_book.integratedscripting.disk.text3": "Un &lDisque de script&r peut être déplacé en toute sécurité vers un autre &lLecteur de script&r sans perte de données, même sur un réseau différent. Cependant, les &lCartes de variable&r faisant référence à l'identifiant de ce script commenceront à générer des erreurs si elles ne sont plus sur le même réseau.", + "info_book.integratedscripting.disk.text4": "Un &lDisque de script&r n'a pas de limite de taille de stockage, mais il est recommandé de répartir les scripts sur plusieurs disques pour faciliter leur gestion.", + + "info_book.integratedscripting.drive": "Lecteur de script", + "info_book.integratedscripting.drive.text1": "Chaque &lLecteur de script&r est un bloc connecté à votre réseau &lIntegrated Dynamics&r qui accepte un seul &lDisque de script&r, permettant d'exposer le contenu du disque au réseau.", + "info_book.integratedscripting.drive.text2": "Il se fabrique en combinant un &lStockage de variable&r et un &lJuke-box&r avec des &lDisques de script&r.", + + "info_book.integratedscripting.terminal": "Terminal de script", + "info_book.integratedscripting.terminal.text1": "Le &lTerminal de script&r est un composant qui doit être connecté à votre réseau &lIntegrated Dynamics&r pour gérer les scripts stockés dans les &lDisques de script&r de ce réseau.", + "info_book.integratedscripting.terminal.text2": "En faisant un clic droit sur un terminal placé, un &oenvironnement de développement intégré&r (IDE) simplifié s'affiche, vous permettant d'éditer des scripts.", + "info_book.integratedscripting.terminal.text3": "En haut à gauche de l'écran, vous pouvez sélectionner l'identifiant d'un &lDisque de script&r connecté au réseau, après quoi tous les fichiers de script stockés sur ce disque s'afficheront dans la liste ci-dessous.", + "info_book.integratedscripting.terminal.text4": "Si le disque ne contient encore aucun fichier de script, vous pouvez en créer en cliquant sur le bouton \"+\" en bas à gauche de l'écran.", + "info_book.integratedscripting.terminal.text5": "La liste des fichiers de script à gauche de l'écran permet de sélectionner un script à modifier. En cliquant sur un script, son contenu modifiable s'affiche à droite de l'écran.", + "info_book.integratedscripting.terminal.text6": "Le champ de texte à droite de l'écran permet de modifier le contenu des fichiers de script, qui sera enregistré automatiquement après chaque modification.", + "info_book.integratedscripting.terminal.text7": "Bien que l'éditeur effectue une coloration syntaxique limitée, il n'est pas capable de détecter les erreurs de syntaxe pour le moment. Les erreurs de syntaxe seront signalées lors de l'exécution des scripts via les &lCartes de variable&r.", + "info_book.integratedscripting.terminal.text8": "Pour utiliser un membre de script en tant que logique &lIntegrated Dynamics&r, vous pouvez le lier à une &lCarte de variable&r.", + "info_book.integratedscripting.terminal.text9": "Pour cela, sélectionnez d'abord un membre de script dans l'éditeur de texte avec votre curseur, comme un nom de variable ou de fonction.", + "info_book.integratedscripting.terminal.text10": "Ensuite, vous pouvez insérer une &lCarte de variable&r dans l'emplacement à droite de l'écran pour la lier à ce membre de script.", + "info_book.integratedscripting.terminal.text11": "Cette &lCarte de variable&r peut désormais être utilisée ailleurs dans le réseau, par exemple en affichant un membre variable dans un &lPanneau d'affichage&r, ou en utilisant un membre fonction comme opérateur dans un filtre de liste d'objets.", + "info_book.integratedscripting.terminal.text12": "Le chapitre suivant donnera plus de détails sur la manière d'écrire des scripts.", + + "info_book.integratedscripting.writing": "Écrire des scripts", + + "info_book.integratedscripting.writing.js": "JavaScript", + "info_book.integratedscripting.writing.js.text1": "Ce mod permet d'écrire des scripts en syntaxe JavaScript. Toutes les fonctionnalités permises par ECMAScript (ECMA-262) sont disponibles.", + "info_book.integratedscripting.writing.js.text2": "Notez que les fonctionnalités spécifiques à Node.js telles que &orequire&r et &ofs&r ne sont pas disponibles. Si vous avez l'habitude de développer des applications Node.js, vous pouvez les rendre compatibles à l'aide d'outils externes tels que Webpack.", + + "info_book.integratedscripting.writing.variables": "Constantes et variables", + "info_book.integratedscripting.writing.variables.text1": "Tous les types de valeurs Integrated Dynamics que vous connaissez (comme les &6Entiers&0, &9Booléens&0, &8Objets&0, ...) sont disponibles en JavaScript, et inversement.", + "info_book.integratedscripting.writing.variables.text2": "La manière la plus simple de créer une valeur en JavaScript et de la rendre disponible en tant que valeur statique de &lCarte de variable&r est de définir un membre variable en JavaScript à l'aide de &olet&r ou &oconst&r.", + "info_book.integratedscripting.writing.variables.text3": "&olet&r définit des variables réassignables plus tard dans le script, comme des compteurs. &oconst&r définit des variables qui ne peuvent pas être réassignées.", + "info_book.integratedscripting.writing.variables.text4": "Pour utiliser cette valeur dans une &lCarte de variable&r, vous devez sélectionner le nom du membre variable dans l'éditeur de texte du Terminal de script, puis insérer une &lCarte de variable&r vide dans l'emplacement à droite. Vous pouvez maintenant utiliser cette &lCarte de variable&r comme d'habitude, par exemple en visualisant sa valeur dans un &lPanneau d'affichage&r.", + "info_book.integratedscripting.writing.variables.text5": "Créer des variables via JavaScript est surtout utile si vous devez créer des valeurs complexes difficiles à obtenir avec le &lProgrammeur logique&r, comme de longues &4Chaînes de caractères&0 ayant une valeur spécifique. Vous trouverez ci-dessous quelques exemples de création de telles valeurs.", + + "info_book.integratedscripting.writing.functions": "Fonctions", + "info_book.integratedscripting.writing.functions.text1": "Comme les &2Opérateurs&0 sont des citoyens de premier ordre dans la logique d'Integrated Dynamics, ils peuvent également être créés sous forme de fonctions JavaScript.", + "info_book.integratedscripting.writing.functions.text2": "Toute méthode de création de fonctions JavaScript peut être utilisée pour créer des &2Opérateurs&0, comme via le mot-clé &ofunction&r, ou en créant des lambdas personnalisées.", + "info_book.integratedscripting.writing.functions.text3": "Les fonctions acceptent un certain nombre d'arguments qui, lorsqu'elles sont exécutées via la logique d'Integrated Dynamics, recevront des valeurs Integrated Dynamics classiques traduites en valeurs JavaScript.", + "info_book.integratedscripting.writing.functions.text4": "Lier une fonction JavaScript à une &lCarte de variable&r en tant qu'&2Opérateur&0 se fait comme pour les constantes et variables, en sélectionnant le nom du membre fonction dans l'éditeur de texte du Terminal de script et en le liant à une &lCarte de variable&r. Cette valeur peut désormais être utilisée partout où un &2Opérateur&0 est accepté.", + "info_book.integratedscripting.writing.functions.text5": "Par exemple, vous pouvez créer une fonction avec un seul argument &8Objet&0 qui renvoie un &9Booléen&0, à utiliser comme &2Opérateur&0 de filtre pour filtrer une liste d'objets lue depuis un coffre.", + "info_book.integratedscripting.writing.functions.text6": "Vous trouverez ci-dessous des exemples de différents types de fonctions que vous pourriez créer.", + + "info_book.integratedscripting.writing.globals": "Fonctions globales", + "info_book.integratedscripting.writing.globals.text1": "Lorsque vous écrivez du code JavaScript, vous pouvez utiliser la variable globale &oidContext&r pour accéder à tous les opérateurs d'Integrated Dynamics sous forme de fonctions via le champ &oops&r. Cela vous permet d'utiliser des opérateurs intégrés lors de la création de nouveaux opérateurs.", + "info_book.integratedscripting.writing.globals.text2": "Par exemple, vous pouvez écrire un filtre d'&8Objet&0 qui vérifie si un objet est empilable et s'il a une taille de pile d'au moins 16, comme montré ci-dessous.", + "info_book.integratedscripting.writing.globals.text3": "Pour connaître le nom de l'opérateur que vous souhaitez exécuter, consultez son nom global via les info-bulles des opérateurs dans le &lProgrammeur logique&r ou dans la liste des opérateurs de la section Programmation logique de ce livre.", + "info_book.integratedscripting.writing.globals.text4": "Comme l'invocation d'opérateurs via &oidContext&r peut devenir assez verbeuse, vous pouvez choisir de stocker les opérateurs dans une variable constante personnalisée, comme montré dans le second exemple. Vous pouvez également utiliser des &ométhodes d'objet&r, abordées dans la section suivante.", + + "info_book.integratedscripting.writing.methods": "Méthodes d'objet", + "info_book.integratedscripting.writing.methods.text1": "Pour contrer la verbosité des fonctions globales, vous pouvez écrire du code plus compact en utilisant des &lméthodes d'objet&r.", + "info_book.integratedscripting.writing.methods.text2": "Les types de valeurs objet tels que les &8Blocs&0, &8Objets&0, &8Fluides&0, ... auront des &lméthodes&r qui leur sont rattachées lorsqu'ils sont utilisés en JavaScript.", + "info_book.integratedscripting.writing.methods.text3": "Les méthodes d'objet ne sont que de simples fonctions, mais leur premier argument est lié à la valeur de l'objet.", + "info_book.integratedscripting.writing.methods.text4": "Par exemple, la fonction globale &oitemstackStackable&r prend un seul argument &8Objet&0 et renvoie un &9Booléen&0. Cette fonction est disponible en tant que méthode sur les valeurs &8Objet&0 via le nom &ostackable&r, qui ne prend aucun argument.", + "info_book.integratedscripting.writing.methods.text5": "Les fonctions globales acceptant deux arguments ou plus seront disponibles en tant que méthodes sur les valeurs objet, avec tous les arguments décalés d'un cran. Par exemple, la fonction globale &oitemstackStrength&r accepte un argument &8Objet&0 et un argument &8Bloc&0, mais est également disponible en tant que méthode sur les &8Objets&0 avec un seul argument &8Bloc&0.", + + "info_book.integratedscripting.advanced": "Avancé", + + "info_book.integratedscripting.advanced.transient_storage": "Stockage transitoire", + "info_book.integratedscripting.advanced.transient_storage.text1": "Comme Integrated Dynamics repose sur des principes de programmation fonctionnelle, le suivi des états est pratiquement inexistant, sauf via des approches externes telles que le &lRetardateur&r.", + "info_book.integratedscripting.advanced.transient_storage.text2": "Comme le langage JavaScript offre un mélange de programmation fonctionnelle et impérative, le suivi des états devient partiellement possible.", + "info_book.integratedscripting.advanced.transient_storage.text3": "Concrètement, si vous déclarez une variable modifiable en dehors des fonctions (par exemple avec &olet&r), vous pouvez modifier sa valeur via des appels de fonction.", + "info_book.integratedscripting.advanced.transient_storage.text4": "Ainsi, vous pouvez suivre des états, comme compter le nombre d'appels de fonction, ou calculer la moyenne courante de certaines valeurs.", + "info_book.integratedscripting.advanced.transient_storage.text5": "Un point important concernant ces variables est que leur état est uniquement transitoire. Concrètement, cela signifie que leurs valeurs peuvent être réinitialisées à chaque fois qu'une carte de variable du réseau est réinsérée, ou lorsque le serveur redémarre.", + "info_book.integratedscripting.advanced.transient_storage.text6": "Par conséquent, vous ne pouvez pas supposer que ces valeurs restent toujours présentes. Si vous avez besoin d'un stockage de données persistant, il est préférable d'utiliser le &lRetardateur&r.", + + "info_book.integratedscripting.advanced.external_editing": "Édition externe", + "info_book.integratedscripting.advanced.external_editing.text1": "Si vous avez accès au système de fichiers sur lequel tourne votre partie solo ou multijoueur, vous pouvez accéder aux fichiers de script via n'importe quel éditeur externe. Cela vous permet de créer des scripts avec votre IDE préféré (comme Vi, mais certainement pas Emacs).", + "info_book.integratedscripting.advanced.external_editing.text2": "Les fichiers de script sont accessibles via le dossier &oworld/integratedscripting/&r (voir &osaves/&r pour les mondes solo). Vous y trouverez des dossiers pour tous les &lDisques de script&r, classés par identifiant. Dans chaque dossier de &lDisque de script&r, vous trouverez tous les fichiers de script stockés sur ce disque.", + "info_book.integratedscripting.advanced.external_editing.text3": "Vous pouvez modifier ces fichiers de script en toute sécurité via un éditeur externe, même si le jeu est en cours d'exécution. Après avoir enregistré le fichier en externe, il sera automatiquement mis à jour dans le jeu, et les variables dépendantes le seront également.", + "info_book.integratedscripting.advanced.external_editing.text4": "Si votre éditeur externe le prend en charge (c'est le cas des IDE modernes), la modification d'un fichier de script via le &lTerminal de script&r entraînera également la mise à jour des fichiers dans votre éditeur externe.", + + "info_book.integratedscripting.advanced.logging": "Journalisation", + "info_book.integratedscripting.advanced.logging.text1": "Pour les scripts complexes, il peut être nécessaire de les déboguer en écrivant temporairement dans des fichiers journaux externes.", + "info_book.integratedscripting.advanced.logging.text2": "JavaScript vous permet d'appeler des fonctions telles que &oconsole.log()&r et &oconsole.error()&r pour écrire des messages respectivement dans les flux de sortie &oStandard Out&r et &oStandard Error&r.", + "info_book.integratedscripting.advanced.logging.text3": "Lors de l'appel de l'une de ces fonctions, les messages de journal seront respectivement écrits dans des fichiers &o.stdout&r et &o.stderr&r propres au script.", + "info_book.integratedscripting.advanced.logging.text4": "Par exemple, si votre script se trouve dans &omyfile.js&r, les messages de journal seront écrits dans &omyfile.js.stdout&r.", + "info_book.integratedscripting.advanced.logging.text5": "Ces fichiers &o.stdout&r et &o.stderr&r sont accessibles via votre &lTerminal de script&r ou via l'édition externe.", + "info_book.integratedscripting.advanced.logging.text6": "Pour éviter que les fichiers journaux ne deviennent trop volumineux, leur taille est plafonnée. Par défaut, ils sont limités à 2096 lignes. Consultez l'administrateur de votre serveur si vous avez besoin de plus de lignes.", + + "info_book.integratedscripting.advanced.typescript": "TypeScript", + "info_book.integratedscripting.advanced.typescript.text1": "Le langage TypeScript est un sur-ensemble bien connu du langage JavaScript qui ajoute la prise en charge du typage. Cela permet aux développeurs d'écrire du JavaScript à typage sûr, en définissant les types des variables et des fonctions.", + "info_book.integratedscripting.advanced.typescript.text2": "Bien qu'Integrated Scripting ne prenne en charge que le JavaScript pur, un &ofichier de typage&r TypeScript est disponible pour toutes les fonctions globales, types de valeurs et méthodes disponibles.", + "info_book.integratedscripting.advanced.typescript.text3": "Lorsque vous modifiez vos scripts via un IDE externe, ce fichier de typage peut être chargé pour créer des scripts à typage sûr. Cela n'est recommandé que si vous connaissez TypeScript et savez l'utiliser.", + "info_book.integratedscripting.advanced.typescript.text4": "Le fichier de typage est disponible dans &oworld/integratedscripting/integratedscripting.d.ts&r (voir &osaves/&r pour les mondes solo). Ce fichier est automatiquement régénéré à chaque redémarrage du monde, il ne faut donc pas le modifier manuellement.", + + "info_book.integratedscripting.section.tutorials": "Tutoriels de script", + + "info_book.integratedscripting.tutorials.introduction": "Introduction", + "info_book.integratedscripting.tutorials.introduction.text1": "Cette section contient plusieurs tutoriels pour vous aider à apprendre &lIntegrated Scripting&r, l'extension d'&lIntegrated Dynamics&r permettant de créer des scripts pour gérer des opérations complexes.", + + "info_book.integratedscripting.tutorials.basics": "Les bases du script", + "info_book.integratedscripting.tutorials.basics.text1": "Les blocs de &lMendésite&r sont les matériaux de fabrication de base pour les objets liés au script. Créons-en à l'aide du &lBassin de séchage&r !", + "info_book.integratedscripting.tutorials.basics.text2": "Ensuite, nous allons créer des &lDisques de script&r et des &lLecteurs de script&r à l'aide de ces blocs de &lMendésite&r. Les &lDisques de script&r pourront stocker des données de script, et les &lLecteurs de script&r vous permettront d'insérer ces disques dans votre réseau.", + "info_book.integratedscripting.tutorials.basics.text3": "Enfin, plaçons un &lLecteur de script&r et insérons-y un &lDisque de script&r. Cela nous permettra de stocker des scripts dans le prochain tutoriel.", + + "info_book.integratedscripting.tutorials.terminal": "Utiliser le Terminal de script", + "info_book.integratedscripting.tutorials.terminal.text1": "Dans l'étape précédente, nous avons créé et placé un &lDisque de script&r et un &lLecteur de script&r. Dans ce tutoriel, nous allons voir comment &oécrire&r réellement des scripts et les lier à des &lCartes de variable&r.", + "info_book.integratedscripting.tutorials.terminal.text2": "Tout d'abord, fabriquons un &lTerminal de script&r, plaçons-le sur un câble connecté au &lLecteur de script&r, et faisons un clic droit sur le &lTerminal de script&r pour l'ouvrir.", + "info_book.integratedscripting.tutorials.terminal.text3": "Vous verrez un éditeur dans lequel vous pouvez accéder à tous les fichiers de script stockés dans les différents &lDisques de script&r accessibles au réseau. Vous pouvez basculer entre les différents &lDisques de script&r en cliquant sur les flèches en haut à gauche de l'écran.", + "info_book.integratedscripting.tutorials.terminal.text4": "À ce stade, vous n'aurez encore aucun fichier de script dans votre réseau, alors créons-en un nouveau en cliquant sur le bouton \"+\" en bas à gauche de l'écran. Cliquez maintenant sur le nouveau fichier pour l'ouvrir, puis cliquez sur le champ de texte à droite de l'écran pour modifier le fichier et écrire du code &oJavaScript&r.", + "info_book.integratedscripting.tutorials.terminal.text5": "Pour rester simple pour le moment, nous allons créer une valeur constante. Écrivons quelque chose comme &oconst myVar = 123;&r", + "info_book.integratedscripting.tutorials.terminal.text6": "Pour finir, lions cette constante à une &lCarte de variable&r en insérant une &lCarte de variable&r vide dans l'emplacement à droite de l'écran, puis sélectionnons la variable en double-cliquant dessus avec le curseur. Votre &lCarte de variable&r sera alors liée à la valeur constante. Vous pouvez maintenant utiliser cette &lCarte de variable&r n'importe où dans votre réseau. Essayons de l'afficher dans un &lPanneau d'affichage&r !", + + "info_book.integratedscripting.tutorials.functions": "Fonctions de script", + "info_book.integratedscripting.tutorials.functions.text1": "Bien que créer des valeurs constantes en JavaScript puisse être amusant, la véritable puissance de ces scripts apparaît lors de la création de &ofonctions&r.", + "info_book.integratedscripting.tutorials.functions.text2": "Les fonctions créées en JavaScript peuvent être liées à des &lCartes de variable&r en tant qu'&2Opérateurs&0, qui peuvent ensuite être utilisés dans la logique Integrated Dynamics comme d'habitude. Par exemple, vous pourriez les utiliser pour définir des filtres d'exportateur Integrated Tunnels, ou pour calculer des valeurs complexes telles que la taille de pile médiane des objets d'une liste.", + "info_book.integratedscripting.tutorials.functions.text3": "Dans ce tutoriel, nous allons créer une fonction qui accepte un seul argument &8Objet&0 et renvoie un &9Booléen&0 en sortie. Cette fonction agira comme un opérateur de filtre, que nous pourrons utiliser par exemple pour filtrer une liste d'objets.", + "info_book.integratedscripting.tutorials.functions.text4": "Concrètement, nous allons lire la liste d'objets à l'aide du &lLecteur d'inventaire&r, puis la &lFiltrer&r à l'aide de notre fonction nouvellement créée. Vous pouvez lier la fonction à une &lCarte de variable&r en la sélectionnant dans l'éditeur et en insérant une &lCarte de variable&r vide, qui la stockera en tant qu'&2Opérateur&0.", + "info_book.integratedscripting.tutorials.functions.text5": "Vous êtes libre d'utiliser n'importe quelle implémentation de la fonction de filtre pour ce tutoriel. Vous trouverez ci-dessous un exemple de script valide que vous pouvez copier librement.", + "info_book.integratedscripting.tutorials.functions.text6": "Pour terminer le tutoriel, affichez le résultat de la liste filtrée dans un &lPanneau d'affichage&r.", + "info_book.integratedscripting.tutorials.functions.text7": "Dans cet exemple de script, vous verrez que vous pouvez invoquer des méthodes intégrées sur des objets telles que &oisStackable()&r et &ostacksize()&r. Plus de détails sur les méthodes disponibles se trouvent plus loin dans le manuel complet." +}