b128447a7e
- Updated titles and subtitles in channel_service.go for web channel and WeChat MP channel configurations. - Changed handoff messages in conversation_human_dispatch_service.go to English. - Modified notification messages in event handlers for ticket and conversation assignments to English. - Adjusted ticket creation messages in ticket_service.go to reflect English localization. - Updated default locale settings in i18n configuration files to English (en-US). - Changed HTML language attribute in layout.tsx to English. - Refactored widget locale detection logic in agent-desk-sdk.ts to prioritize English.
45 lines
1.0 KiB
Go
45 lines
1.0 KiB
Go
package i18nx
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/nicksnyder/go-i18n/v2/i18n"
|
|
)
|
|
|
|
func T(ctx *gin.Context, messageID string, data map[string]any) string {
|
|
if ctx != nil {
|
|
if value, exists := ctx.Get(contextLocaleKey); exists {
|
|
if locale, ok := value.(string); ok {
|
|
return TLocale(locale, messageID, data)
|
|
}
|
|
}
|
|
}
|
|
return TLocale(DefaultLocale, messageID, data)
|
|
}
|
|
|
|
func TLocale(locale string, messageID string, data map[string]any) string {
|
|
normalized := NormalizeLocale(locale)
|
|
message := localize(normalized, messageID, data)
|
|
if message != "" {
|
|
return message
|
|
}
|
|
if normalized != DefaultLocale {
|
|
message = localize(DefaultLocale, messageID, data)
|
|
if message != "" {
|
|
return message
|
|
}
|
|
}
|
|
return messageID
|
|
}
|
|
|
|
func localize(locale string, messageID string, data map[string]any) string {
|
|
localizer := i18n.NewLocalizer(Bundle(), locale, DefaultLocale)
|
|
message, err := localizer.Localize(&i18n.LocalizeConfig{
|
|
MessageID: messageID,
|
|
TemplateData: data,
|
|
})
|
|
if err != nil {
|
|
return ""
|
|
}
|
|
return message
|
|
}
|