Passer au contenu principal
Discord montre à chaque personne les commandes dans sa langue, quand la commande a une traduction pour elle. Ajoutez locales à une commande, avec une entrée par langue :
src/commands/greet.ts
C’est tout : une personne francophone voit /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.who est toujours options.who pour une personne francophone qui voit qui, 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 choices sont 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 de locales 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 :
L’anglais est deux langues, 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 :
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 avec language(), 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.