diff --git a/web/service/tgbot.go b/web/service/tgbot.go index 72f8ae1a..3dcb6df0 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" "github.com/gin-gonic/gin" @@ -43,7 +45,16 @@ func (t *Tgbot) NewTgbot() *Tgbot { return new(Tgbot) } -func (t *Tgbot) Start() error { +func (t *Tgbot) BotI18n(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 d917dc7a..908fefc5 100644 --- a/web/web.go +++ b/web/web.go @@ -367,7 +367,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