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:
parent
e194984387
commit
126a4cc006
1 changed files with 41 additions and 0 deletions
41
block_localization_db.go
Normal file
41
block_localization_db.go
Normal 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 ""
|
||||||
|
}
|
Loading…
Reference in a new issue