24 lines
557 B
Go
24 lines
557 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"github.com/gin-gonic/gin"
|
||
|
"github.com/osuYozora/hanayo/modules/locale"
|
||
|
)
|
||
|
|
||
|
// T translates a string into the language specified by the request.
|
||
|
func T(c *gin.Context, s string, args ...interface{}) string {
|
||
|
return locale.Get(getLang(c), s, args...)
|
||
|
}
|
||
|
|
||
|
func (b *baseTemplateData) T(s string, args ...interface{}) string {
|
||
|
return T(b.Gin, s, args...)
|
||
|
}
|
||
|
|
||
|
func getLang(c *gin.Context) []string {
|
||
|
s, _ := c.Cookie("language")
|
||
|
if s != "" {
|
||
|
return []string{s}
|
||
|
}
|
||
|
return locale.ParseHeader(c.Request.Header.Get("Accept-Language"))
|
||
|
}
|