locales à une commande, avec une entrée par langue :
src/commands/greet.ts
/saluer qui ton et choisit « Chaleureux » ; votre code reçoit toujours options.who et 'warm'. Ici la commande est écrite en anglais et traduite en français ; l’inverse fonctionne de la même façon, avec 'en-US' dans locales.
locales est ce que Discord affiche avant que la commande ne soit utilisée. Une commande sans description dans son fichier les a dans les commands des fichiers de langue de src/messages/ à la place, à côté des textes du bot : une commande a ses textes à un seul endroit, et l’éditeur n’y propose que les commandes que leur fichier ne décrit pas. Ce que répond votre bot se traduit avec t.La forme de
locales est dans la référence.Ce qui peut être traduit
- Tout est facultatif. Traduisez seulement ce que vous voulez, dans les langues que vous voulez : ce qui manque est affiché tel que déclaré.
- Votre code ne change pas.
options.whoest toujoursoptions.whopour une personne francophone qui voitqui, et un choix est toujours'warm'quand la personne a choisi « Chaleureux ». - Votre éditeur le vérifie. Une langue que Discord ne connaît pas, une option que la commande n’a pas ou un choix qui n’existe pas est souligné.
- Les clés de
choicessont les choix tels que vous les avez déclarés : les valeurs d’une liste ('warm'), ou les clés d’un objet ('Small'pour{ Small: 1 }). Les choix d’une option numérique s’écrivent comme des textes :{ '1': 'Un' }.
Les langues
Les clés delocales sont les langues de Discord, telles que les écrivent les valeurs de Locale : fr, de, es-ES, pt-BR, ja… Une langue que Discord ne connaît pas est refusée au chargement du fichier :
en-GB et en-US ; l’espagnol est es-ES et es-419 ; le chinois est zh-CN et zh-TW.
Les dossiers ne sont pas traduits
Un dossier n’est pas traduit :/mod ban peut s’afficher /mod bannir, jamais /modération bannir. Le nom d’un dossier est ce que Discord affiche dans toutes les langues. Si votre bot parle une seule langue, nommez le dossier dans cette langue.
Ce qui est vérifié
Les traductions sont vérifiées au chargement du fichier, comme le reste de la commande :Un nom traduit que Discord refuse
Un nom traduit que Discord refuse
Une description trop longue
Une description trop longue
Une option ou un choix que la commande n’a pas
Une option ou un choix que la commande n’a pas
Deux options avec le même nom dans une langue
Deux options avec le même nom dans une langue
Dans chaque langue, chaque option garde un nom à elle, traduit ou non :
Répondre dans sa langue
Les traductions changent ce que Discord affiche. Pour répondre dans la langue de la personne, déclarez les textes de votre bot aveclanguage(), une déclaration par langue, et servez-vous du t que reçoit votre fonction : il parle déjà la langue de qui lira la réponse. Voir Messages traduits.
src/commands/hello.ts
interaction.locale est la langue du Discord de la personne, comme Discord l’écrit ('fr', 'en-US'…), pour le rare cas où vous en avez besoin vous-même.
Événements
Réagir à ce qui se passe sur Discord.
Référence : command()
Chaque champ et type d’une commande.