lang.go 856 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package config
  2. var (
  3. defaultLang = NewLang("lang")
  4. )
  5. func SetDefaultLang(l *Lang) {
  6. defaultLang = l
  7. }
  8. type Lang struct {
  9. baseDir string // lang file base dir
  10. lang string // current language
  11. words map[string]string // single lang words
  12. supported map[string]int // supported langs
  13. }
  14. func NewLang(dir string) *Lang {
  15. return &Lang{
  16. baseDir: dir,
  17. lang: "en",
  18. words: make(map[string]string),
  19. supported: map[string]int{"en": 1},
  20. }
  21. }
  22. func (self *Lang) Register(lang string) {
  23. self.supported[lang] = 1
  24. }
  25. func (self *Lang) ChLang(newLang string) {
  26. // check
  27. self.lang = newLang
  28. // reload
  29. }
  30. func (self *Lang) Get(k string) string {
  31. if r, ok := self.words[k]; ok {
  32. return r
  33. }
  34. //log
  35. return ""
  36. }
  37. func (self *Lang) reload() {
  38. }
  39. func (self *Lang) check() {
  40. }
  41. func (self *Lang) scan() {
  42. }