forked from methos2016/DuckyManager
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtranslation.go
90 lines (72 loc) · 1.93 KB
/
translation.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package main
import (
"encoding/json"
"errors"
"io/ioutil"
)
// TODO Spanish translation
// Strings holds each and every string on the program, allowing for easy translation
type Strings struct {
Version string
CheckingLocal string
NoMatch string
AcceptEnter string
SidebarTitle string
SidebarBy string
SidebarTags string
SidebarDesc string
ErrOpeningConfig string
ErrParsingConfig string
ErrCheckingLocal string
ErrPickingFunc string
ErrSavingDB string
ErrSavingConfig string
ErrTermboxInit string
ErrDrawing string
ErrEvent string
ErrAddSecond string
ErrBodyRead string
ErrGithubResponse string
ErrGithubJSONParse string
ErrScriptGeneration string
ErrUpdatingOnline string
NoticeScriptJSONParse string
}
// Meant to be called on init
func parseLang(langFile string) error {
lang, err := ioutil.ReadFile(languageDir + "/" + langFile)
if err != nil {
return errors.New(errStr + "Error opening language file: " + err.Error())
}
err = json.Unmarshal(lang, &translate)
if err != nil {
return errors.New(errStr + "Error parsing language file: " + err.Error())
}
if translate.Version != languageVer {
return errors.New(errStr + "Language file is outdated")
}
return nil
}
func checkLangs() (msg string) {
files, err := ioutil.ReadDir(languageDir + "/")
if err != nil {
msg = " Couldn't open '" + languageDir + "' : " + err.Error()
return
}
msg += "Your avaliable languages:\n\n"
for _, f := range files {
tmpLang, err2 := ioutil.ReadFile(languageDir + "/" + f.Name())
if err2 != nil {
msg += errStr + f.Name() + " [Could not read]\n"
} else if err2 = json.Unmarshal(tmpLang, &translate); err2 == nil {
if translate.Version == languageVer {
msg += okStr + f.Name() + " [OK]\n"
} else {
msg += errStr + f.Name() + " [Outdated]\n"
}
} else {
msg += errStr + f.Name() + " [Corrupted]\n"
}
}
return
}