Files
nmslib/lang.go
2021-05-20 14:33:33 -06:00

63 lines
1.2 KiB
Go

package nmslib
import (
"encoding/csv"
"os"
"strings"
)
type Translate struct {
Lang string
}
func (t Translate) ToEng(word string) (translation string) {
return translate2english(word, langFile(t.Lang))
}
func langFile(lang string) [][]string {
filepath := NmsTemp + "/assets/lang/" + lang + "-lang.csv"
csvFile, err := os.Open(filepath)
if err != nil {
panic(err)
}
defer csvFile.Close()
lines, err := csv.NewReader(csvFile).ReadAll()
if err != nil {
panic(err)
}
return lines
}
func translate2english(w string, knowledgeStone [][]string) string {
var rt string
for _, line := range knowledgeStone {
engl := line[0]
alien := line[1]
acap := line[2]
alcap := line[3]
if strings.EqualFold(w, alien) {
rt = strings.ToLower(engl)
} else if strings.EqualFold(w, acap) {
rt = strings.Title(engl)
} else if strings.EqualFold(w, alcap) {
rt = strings.ToUpper(engl)
} else {
rt = "*\\Kzzzzzzt\\*"
}
}
return rt
}
func translate2game(source string, target string) string {
var sourceCsv [][]string
var targetCsv [][]string
if source == "english" {
sourceCsv = langFile(target)
targetCsv = sourceCsv
} else {
sourceCsv = langFile(source)
targetCsv = langFile(target)
}
}