22 lines
399 B
Go
22 lines
399 B
Go
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()
|
|
}
|
|
}
|
|
|