Updates and Features
This commit is contained in:
87
lang.go
87
lang.go
@@ -3,13 +3,29 @@ package nmslib
|
||||
import (
|
||||
"encoding/csv"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func readCSV(lagcsv string) [][]string {
|
||||
fileloc := NmsTemp + "/" + lagcsv
|
||||
csvFile, err := os.Open(fileloc)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
defer csvFile.Close() // close language file when finished
|
||||
|
||||
// read csv file from memory
|
||||
csvlines, err := csv.NewReader(csvFile).ReadAll()
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
return csvlines
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
Translate words
|
||||
Create struct of Word string
|
||||
*/
|
||||
type Translate struct {
|
||||
Word string
|
||||
@@ -27,7 +43,7 @@ type trans0 struct {
|
||||
Kor2Eng translate korvax word to english word
|
||||
*/
|
||||
func (t Translate) Kor2Eng() (returnstring string) {
|
||||
csvlines := openCSV("korvax-lang.csv")
|
||||
csvlines := readCSV("korvax-lang.csv")
|
||||
for range csvlines {
|
||||
returnstring = (toEng(t, csvlines))
|
||||
}
|
||||
@@ -38,7 +54,7 @@ func (t Translate) Kor2Eng() (returnstring string) {
|
||||
Eng2Kor translate english word to korvax word
|
||||
*/
|
||||
func (t Translate) Eng2Kor() (returnstring string) {
|
||||
csvlines := openCSV("korvax-lang.csv")
|
||||
csvlines := readCSV("korvax-lang.csv")
|
||||
for range csvlines {
|
||||
returnstring = (toNMS(t, csvlines))
|
||||
}
|
||||
@@ -49,7 +65,7 @@ func (t Translate) Eng2Kor() (returnstring string) {
|
||||
Gek2Eng translate Gek word to english word
|
||||
*/
|
||||
func (t Translate) Gek2Eng() (returnstring string) {
|
||||
csvlines := openCSV("gek-lang.csv")
|
||||
csvlines := readCSV("gek-lang.csv")
|
||||
for range csvlines {
|
||||
returnstring = (toEng(t, csvlines))
|
||||
}
|
||||
@@ -60,7 +76,7 @@ func (t Translate) Gek2Eng() (returnstring string) {
|
||||
Eng2Gek translate english word to Gek word
|
||||
*/
|
||||
func (t Translate) Eng2Gek() (returnstring string) {
|
||||
csvlines := openCSV("gek-lang.csv")
|
||||
csvlines := readCSV("gek-lang.csv")
|
||||
for range csvlines {
|
||||
returnstring = (toNMS(t, csvlines))
|
||||
}
|
||||
@@ -68,10 +84,10 @@ func (t Translate) Eng2Gek() (returnstring string) {
|
||||
}
|
||||
|
||||
/*
|
||||
Vyk2Eng translate vykeen word to english word
|
||||
Vyk2Eng translate Vy'keen word to english word
|
||||
*/
|
||||
func (t Translate) Vyk2Eng() (returnstring string) {
|
||||
csvlines := openCSV("vykeen-lang.csv")
|
||||
csvlines := readCSV("vykeen-lang.csv")
|
||||
for range csvlines {
|
||||
returnstring = (toEng(t, csvlines))
|
||||
}
|
||||
@@ -82,7 +98,7 @@ func (t Translate) Vyk2Eng() (returnstring string) {
|
||||
Eng2Vyk translate english word to vykeen word
|
||||
*/
|
||||
func (t Translate) Eng2Vyk() (returnstring string) {
|
||||
csvlines := openCSV("vykeen-lang.csv")
|
||||
csvlines := readCSV("vykeen-lang.csv")
|
||||
for range csvlines {
|
||||
returnstring = (toNMS(t, csvlines))
|
||||
}
|
||||
@@ -93,7 +109,7 @@ func (t Translate) Eng2Vyk() (returnstring string) {
|
||||
Atl2Eng translate Atlas word to english word
|
||||
*/
|
||||
func (t Translate) Atl2Eng() (returnstring string) {
|
||||
csvlines := openCSV("atlas-lang.csv")
|
||||
csvlines := readCSV("atlas-lang.csv")
|
||||
for range csvlines {
|
||||
returnstring = (toEng(t, csvlines))
|
||||
}
|
||||
@@ -104,7 +120,7 @@ func (t Translate) Atl2Eng() (returnstring string) {
|
||||
Eng2Atl translate english word to Atlas word
|
||||
*/
|
||||
func (t Translate) Eng2Atl() (returnstring string) {
|
||||
csvlines := openCSV("atlas-lang.csv")
|
||||
csvlines := readCSV("atlas-lang.csv")
|
||||
for range csvlines {
|
||||
returnstring = (toNMS(t, csvlines))
|
||||
}
|
||||
@@ -159,52 +175,3 @@ func toNMS(t Translate, csvlines [][]string) string {
|
||||
}
|
||||
return returnstring
|
||||
}
|
||||
|
||||
/*
|
||||
func openCSV(lagcsv string) [][]string {
|
||||
csvFile, err := os.Open("./assets/lang/" + lagcsv)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
defer csvFile.Close() // close language file when finished
|
||||
|
||||
// read csv file from memory
|
||||
csvlines, err := csv.NewReader(csvFile).ReadAll()
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
return csvlines
|
||||
*/
|
||||
func openCSV(lagcsv string) [][]string {
|
||||
// create temp dir
|
||||
tempdir, err := ioutil.TempDir("", "nmslib-")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer os.RemoveAll(tempdir) // Clean up temp files
|
||||
|
||||
// extract language file from resources.go
|
||||
data, err := Asset("assets/lang/" + lagcsv)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
// wirte extracted data to temp dir
|
||||
err = ioutil.WriteFile(tempdir+"/"+lagcsv, []byte(data), 0644)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
csvFile, err := os.Open(tempdir + "/" + lagcsv)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
defer csvFile.Close() // close language file when finished
|
||||
|
||||
// read csv file from memory
|
||||
csvlines, err := csv.NewReader(csvFile).ReadAll()
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
return csvlines
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user