tijl.dev-core/internal/middleware/language.go

22 lines
399 B
Go
Raw Normal View History

2024-08-19 22:32:43 +02:00
package middleware
import (
"git.tijl.dev/tijl/tijl.dev/internal/i18n"
"github.com/gofiber/fiber/v2"
)
func LanguageMiddleware() fiber.Handler {
return func(c *fiber.Ctx) error {
lang := c.Cookies("lang")
if lang == "" {
lang = i18n.DefaultLang
}
if _, exists := i18n.GetTranslations()[lang]; !exists {
lang = i18n.DefaultLang
}
c.Locals("lang", lang)
return c.Next()
}
}