🐛 fix session bug

This commit is contained in:
landaiqing
2024-11-17 20:02:59 +08:00
parent 34c4690f80
commit 78a162a19a
72 changed files with 1304 additions and 453 deletions

View File

@@ -7,37 +7,24 @@ import (
"golang.org/x/text/language"
)
func FormatText(ctx context.Context, msgId string, defaultText string) string {
return FormatTextWithData(ctx, msgId, defaultText, nil)
func FormatText(ctx context.Context, msgId string) string {
return FormatTextWithData(ctx, msgId)
}
func FormatTextWithData(ctx context.Context, msgId string, defaultText string, args map[string]interface{}) string {
return FormatMessage(ctx, &i18n2.Message{
ID: msgId,
Other: defaultText,
}, args)
}
func FormatMessage(ctx context.Context, message *i18n2.Message, args map[string]interface{}) string {
if localizer, ok := getLocalizer(ctx); ok {
return localizer.MustLocalize(&i18n2.LocalizeConfig{
DefaultMessage: message,
TemplateData: args,
})
func FormatTextWithData(ctx context.Context, msgId string) string {
hasI18n := IsHasI18n(ctx)
if !hasI18n {
return ""
}
return formatInternalMessage(message, args)
}
func formatInternalMessage(message *i18n2.Message, args map[string]interface{}) string {
if args == nil {
return message.Other
localizer, ok := getLocalizer(ctx)
if !ok {
return ""
}
tpl := i18n2.NewMessageTemplate(message)
msg, err := tpl.Execute("other", args, nil)
if err != nil {
panic(err)
localizeConfig := &i18n2.LocalizeConfig{
MessageID: msgId,
}
return msg
localize := localizer.MustLocalize(localizeConfig)
return localize
}
func FetchCurrentLanguageFromCtx(ctx context.Context) (*language.Tag, bool) {