language.go 730 B

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