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()
|
||
|
}
|
||
|
}
|
||
|
|