Files
kubesphere/vendor/openpitrix.io/openpitrix/pkg/util/ctxutil/locale.go
2020-06-10 21:28:07 +08:00

26 lines
515 B
Go

package ctxutil
import (
"context"
"google.golang.org/grpc/metadata"
)
func GetLocale(ctx context.Context) string {
locale := GetValueFromContext(ctx, localeKey)
if len(locale) == 0 {
return ""
}
return locale[0]
}
func SetLocale(ctx context.Context, locale string) context.Context {
ctx = context.WithValue(ctx, localeKey, []string{locale})
md, ok := metadata.FromOutgoingContext(ctx)
if !ok {
md = metadata.MD{}
}
md[localeKey] = []string{locale}
return metadata.NewOutgoingContext(ctx, md)
}