language.go 787 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package tool
  2. import (
  3. "database/sql"
  4. "encoding/json"
  5. "log"
  6. "os"
  7. )
  8. func Get_language(db *sql.DB, data string, safe bool) string {
  9. var language string
  10. err := db.QueryRow(DB_change("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 _, ok := lang_data[data]; ok {
  29. if safe {
  30. return lang_data[data]
  31. } else {
  32. return HTML_escape(lang_data[data])
  33. }
  34. } else {
  35. return data + " (" + language + ")"
  36. }
  37. }