Make translations thread safe
ci/woodpecker/push/woodpecker Pipeline was successful Details

This commit is contained in:
Elara 2023-10-06 15:07:53 -07:00
parent eb8dd3ad35
commit 6b236f6240
1 changed files with 7 additions and 1 deletions

View File

@ -21,6 +21,7 @@ package translations
import (
"context"
"embed"
"sync"
"go.elara.ws/logger"
"go.elara.ws/lure/pkg/loggerctx"
@ -31,9 +32,14 @@ import (
//go:embed files
var translationFS embed.FS
var translator *translate.Translator
var (
mu sync.Mutex
translator *translate.Translator
)
func Translator(ctx context.Context) *translate.Translator {
mu.Lock()
defer mu.Unlock()
log := loggerctx.From(ctx)
if translator == nil {
t, err := translate.NewFromFS(translationFS)