language.go 801 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package tool
  2. import (
  3. "database/sql"
  4. "encoding/json"
  5. "fmt"
  6. "os"
  7. )
  8. func Get_language(db_set map[string]string, data string, safe bool) string {
  9. db := DB_connect(db_set)
  10. if db == nil {
  11. return ""
  12. }
  13. defer db.Close()
  14. var language string
  15. err := db.QueryRow(DB_change(db_set, "select data from other where name = 'language'")).Scan(&language)
  16. if err != nil {
  17. if err == sql.ErrNoRows {
  18. language = "ko-KR"
  19. } else {
  20. return ""
  21. }
  22. }
  23. file, err := os.Open("./lang/" + language + ".json")
  24. if err != nil {
  25. fmt.Print(err)
  26. return ""
  27. }
  28. defer file.Close()
  29. lang_data := map[string]string{}
  30. decoder := json.NewDecoder(file)
  31. if err := decoder.Decode(&lang_data); err != nil {
  32. return ""
  33. }
  34. if safe {
  35. return lang_data[data]
  36. } else {
  37. return HTML_escape(lang_data[data])
  38. }
  39. }