From 61d11ac66ab17e5e0ccf2c685707d71911a21a15 Mon Sep 17 00:00:00 2001 From: Hamidreza Ghavami <70919649+hamid-gh98@users.noreply.github.com> Date: Sun, 21 May 2023 06:45:39 +0430 Subject: [PATCH] init i18n in tgbot --- web/service/tgbot.go | 13 ++++++++++++- web/web.go | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/web/service/tgbot.go b/web/service/tgbot.go index 7fbed373..24585c99 100644 --- a/web/service/tgbot.go +++ b/web/service/tgbot.go @@ -1,6 +1,7 @@ package service import ( + "embed" "fmt" "net" "os" @@ -11,6 +12,7 @@ import ( "x-ui/database/model" "x-ui/logger" "x-ui/util/common" + "x-ui/web/locale" "x-ui/xray" tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5" @@ -38,7 +40,16 @@ func (t *Tgbot) NewTgbot() *Tgbot { return new(Tgbot) } -func (t *Tgbot) Start() error { +func (t *Tgbot) I18nBot(name string, params ...string) string { + return locale.I18n(locale.Bot, name, params...) +} + +func (t *Tgbot) Start(i18nFS embed.FS) error { + err := locale.InitLocalizer(i18nFS, &t.settingService) + if err != nil { + return err + } + tgBottoken, err := t.settingService.GetTgBotToken() if err != nil || tgBottoken == "" { logger.Warning("Get TgBotToken failed:", err) diff --git a/web/web.go b/web/web.go index f1e7dcde..a8c9a533 100644 --- a/web/web.go +++ b/web/web.go @@ -337,7 +337,7 @@ func (s *Server) Start() (err error) { isTgbotenabled, err := s.settingService.GetTgbotenabled() if (err == nil) && (isTgbotenabled) { tgBot := s.tgbotService.NewTgbot() - tgBot.Start() + tgBot.Start(i18nFS) } return nil