Renamed strut Korvaxlang to KorvaxWord and English > english KorvaxWord > korvax KWCaps > kwcaps KWALLCAPS > kwallcaps
126 lines
2.6 KiB
Go
126 lines
2.6 KiB
Go
package nmslib
|
|
|
|
import (
|
|
"encoding/csv"
|
|
"fmt"
|
|
"io/ioutil"
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
/*
|
|
KorvaxWord - set up structure of a word iteration
|
|
*/
|
|
|
|
type KorvaxWord struct {
|
|
english string
|
|
korvax string
|
|
kwcaps string
|
|
kwallcaps string
|
|
}
|
|
|
|
func Korvax2Eng(kvwrd string) string {
|
|
data, err := Asset("tmp.nmslib/korvax-lang.csv")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
_, err2 := os.Stat("tmp.nmslib/")
|
|
if os.IsNotExist(err2) {
|
|
errDir := os.MkdirAll("tmp.nmslib/", 0755)
|
|
if errDir != nil {
|
|
panic(errDir)
|
|
}
|
|
}
|
|
err = ioutil.WriteFile("tmp.nmslib/korvax-lang.csv", []byte(data), 0644)
|
|
csvFile, err := os.Open("tmp.nmslib/korvax-lang.csv")
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
defer csvFile.Close()
|
|
CsvLines, err := csv.NewReader(csvFile).ReadAll()
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
for _, line := range CsvLines {
|
|
klang := KorvaxWord{
|
|
english: line[0],
|
|
korvax: line[1],
|
|
kwcaps: line[2],
|
|
kwallcaps: line[3],
|
|
}
|
|
if kvwrd == klang.korvax {
|
|
errDir := os.RemoveAll("tmp.nmslib")
|
|
if errDir != nil {
|
|
panic(errDir)
|
|
}
|
|
return klang.english
|
|
} else if kvwrd == klang.korvax {
|
|
errDir := os.RemoveAll("tmp.nmslib")
|
|
if errDir != nil {
|
|
panic(errDir)
|
|
}
|
|
return strings.Title(strings.ToLower(klang.english))
|
|
} else if kvwrd == klang.kwallcaps {
|
|
errDir := os.RemoveAll("tmp.nmslib")
|
|
if errDir != nil {
|
|
panic(errDir)
|
|
}
|
|
return strings.ToUpper(klang.english)
|
|
}
|
|
}
|
|
// remove recource folder to keep it clean
|
|
errDir := os.RemoveAll("tmp.nmslib")
|
|
if errDir != nil {
|
|
panic(errDir)
|
|
}
|
|
return "*\\Kzzzzzzt\\*" // word not found default
|
|
}
|
|
|
|
/*
|
|
Eng2Korvax - Convert (some) english words to Korvax
|
|
*/
|
|
func Eng2Korvax(enwrd string) string {
|
|
data, err := Asset("tmp.nmslib/korvax-lang.csv")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
_, err2 := os.Stat("tmp.nmslib/")
|
|
if os.IsNotExist(err2) {
|
|
errDir := os.MkdirAll("tmp.nmslib/", 0755)
|
|
if errDir != nil {
|
|
panic(errDir)
|
|
}
|
|
}
|
|
err = ioutil.WriteFile("tmp.nmslib/korvax-lang.csv", []byte(data), 0644)
|
|
csvFile, err := os.Open("tmp.nmslib/korvax-lang.csv")
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
defer csvFile.Close()
|
|
CsvLines, err := csv.NewReader(csvFile).ReadAll()
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
for _, line := range CsvLines {
|
|
klang := KorvaxWord{
|
|
english: line[0],
|
|
korvax: line[1],
|
|
kwcaps: line[2],
|
|
kwallcaps: line[3],
|
|
}
|
|
if enwrd == klang.english {
|
|
errDir := os.RemoveAll("tmp.nmslib")
|
|
if errDir != nil {
|
|
panic(errDir)
|
|
}
|
|
return klang.korvax
|
|
}
|
|
}
|
|
// remove recource folder to keep it clean
|
|
errDir := os.RemoveAll("tmp.nmslib")
|
|
if errDir != nil {
|
|
panic(errDir)
|
|
}
|
|
return "*\\Kzzzzzzt\\*" // word not found default
|
|
}
|