1
0
Fork 0
mirror of https://github.com/Luzifer/sii.git synced 2024-10-18 05:14:19 +00:00

Add LocalizationDB block

Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
Knut Ahlers 2019-12-26 03:18:50 +01:00
parent e194984387
commit 126a4cc006
Signed by: luzifer
GPG key ID: DC2729FDD34BE99E

41
block_localization_db.go Normal file
View file

@ -0,0 +1,41 @@
package sii
import "strings"
func init() {
RegisterBlock(&LocalizationDB{})
}
type LocalizationDB struct {
Keys []string `sii:"key"`
Vals []string `sii:"val"`
blockName string
}
func (LocalizationDB) Class() string { return "localization_db" }
func (l *LocalizationDB) Init(class, name string) {
l.blockName = name
}
func (l LocalizationDB) Name() string { return l.blockName }
func (l LocalizationDB) GetTranslation(key string) string {
key = strings.Trim(key, "@")
for i, k := range l.Keys {
if k == key {
val := l.Vals[i]
if strings.HasPrefix(val, "@@") {
// Some translations are translation keys themselves
return l.GetTranslation(val)
}
return val
}
}
return ""
}