FILE / ScuroNeko/Laniakea

l10n.go

Исходный файл и его история в репозитории.
FILE 7b9292557eb8cb950fb0319732c6ef0e3b4b93f6
Files
Laniakea/l10n.go
T
2026-02-19 13:27:03 +03:00

27 lines
565 B
Go

package laniakea
// DictEntry {key:{ru:123,en:123}}
type DictEntry map[string]string
type L10n struct {
entries map[string]DictEntry
fallbackLang string
}
func NewL10n(fallbackLanguage string) *L10n {
return &L10n{make(map[string]DictEntry), fallbackLanguage}
}
func (l *L10n) AddDictEntry(key string, value DictEntry) *L10n {
l.entries[key] = value
return l
}
func (l *L10n) GetFallbackLanguage() string {
return l.fallbackLang
}
func (l *L10n) Translate(lang, key string) string {
s, ok := l.entries[key]
if !ok {
return key
}
return s[lang]
}