BotConfig.i18n or bot.locale({ ... }).
Extended by
Properties
defaultLocale?
'en' (or BotConfig.lang).
detect?
providerLanguage?
SenderInfo.language,
or platformData.languageCode / language / locale, e.g. Telegram’s
language_code). Default true.
userKey?
ctx.user key holding the user’s preference (read on every message, written by ctx.setLang). Default 'lang'.
locales?
['en'] for a bot whose
content — persona, flows, button titles — is only in English). A stored
preference, provider-reported or detected language outside it is ignored, so
resolution falls back to defaultLocale (always served); ctx.setLang()
refuses it. Regional variants follow their base ('en' serves 'en-GB').
Default: every registered locale (the built-in es and en included).