S-IAF
Join ServerSapphire - Imagine a framework
sapphire-support
Localizations for slash commands working partially
LLynx12/19/2022
I'm trying to utilize i18next-plugin for registering slash commands using Discord's localization, but it doesn't seem to work properly. Command names/descriptions and option names are still English (the default, non-localized values) while my client language is Russian. Everything else is localized correctly. Here is my code:
I'm not sure if this is a Sapphire issue, Discord.js issue, or Discord issue. allLocales is a wrapper around i18next, for the name it returns
new SlashCommandBuilder()
.setName(this.name)
.setNameLocalizations(allLocales("commands/buy:name"))
.setDescription(await english("commands/buy:description"))
.setDescriptionLocalizations(allLocales("commands/buy:description"))
.addStringOption(
new SlashCommandStringOption()
.setName(await english("commands/buy:options_item"))
.setDescription(await english("commands/buy:options_item_desc"))
.setDescriptionLocalizations(allLocales("commands/buy:options_item_desc"))
I'm not sure if this is a Sapphire issue, Discord.js issue, or Discord issue. allLocales is a wrapper around i18next, for the name it returns
{ 'en-US': 'buy', ru: 'купить' }
, for other values similar things.FFavna12/19/2022
the plugin exposes methods that can (read: should to make it easy on yourself) be used for translations: https://www.sapphirejs.dev/docs/Documentation/api-plugins/modules/i18next_src#applylocalizedbuilder. For an example of usages click through to the source code or import it and peek the IntelliSense.
FFavna12/19/2022
Granted I've never actually tried them with @Dragonite but we use the same methods for @Iriss and @Nekokai in the HTTP framework (it also uses the same i18next backend loader, sapphire pieces, and discordjs builders) and it works there.
FFavna12/19/2022

LLynx12/19/2022
Hm, interesting, will try! Although I still don't understand why my solution won't work.
FFavna12/19/2022
Tbh neither do I but without actually trying the sapphire code myself I can't add much to that conversation.