i18n = new TelegrafI18n({
                  
                  
                    directory: path.resolve(__dirname, 'languages'),
                  
                  
                    defaultLanguage: 'en',
                  
                  
                    useSession: true,
                  
                  
                  });
                  
                  
                  
                  
                  
                  И так обрабатываю смену языка:
                  
                  
                  
                  
                  
                  // Обработка команды /start
                  
                  
                  app.start(({ i18n, replyWithHTML }) => replyWithHTML(
                  
                  
                    i18n.t('greeting'),
                  
                  
                    Extra.HTML().markup(() => Markup.inlineKeyboard([
                  
                  
                      Markup.callbackButton('English', 'english'),
                  
                  
                      Markup.callbackButton('Русский', 'russian'),
                  
                  
                    ])),
                  
                  
                  ));
                  
                  
                  
                  
                  
                  // Установка языка
                  
                  
                  app.on('callback_query', async (ctx) => {
                  
                  
                    ctx.answerCbQuery();
                  
                  
                  
                  
                  
                    if (ctx.update.callback_query.data == 'english') {
                  
                  
                      ctx.i18n.locale('en');
                  
                  
                      return ctx.replyWithHTML(`${ctx.i18n.t('greeting')}`, keyboards.main.main1);
                  
                  
                    } if (ctx.update.callback_query.data == 'russian') {
                  
                  
                      ctx.i18n.locale('ru');
                  
                  
                      return ctx.replyWithHTML(`${ctx.i18n.t('greeting')}`, keyboards.main.main);
                  
                  
                    }
                  
                  
                  });
                  
                  
                  
                  
                  
                  1. При старте не устанавливается англ
                  
                  
                  2. Нужная клавиатура не открывается при старте
                  
                  
                  
                  
                  
                  В чём может быть проблема?
                  
                  
                
gist.github.com
А мидлварь i18n подключил то?
Обсуждают сегодня