Files
nmslib/lang.go
bradley.richins c612d64776 nmslib: v0.1.0
2020-10-19 10:19:09 -06:00

77 lines
1.5 KiB
Go

package nmslib
import (
"encoding/csv"
"fmt"
"os"
"strings"
)
/*
Korvaxlang - set up structure of a word iteration
*/
type Korvaxlang struct {
English string
KorvaxWord string
KWCaps string
KWALLCAPS string
}
/*
Korvax2Eng - convert known korvax words into english
*/
func Korvax2Eng(kvwrd string) string {
csvFile, err := os.Open("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 := Korvaxlang{
English: line[0],
KorvaxWord: line[1],
KWCaps: line[2],
KWALLCAPS: line[3],
}
if kvwrd == klang.KorvaxWord {
return klang.English
} else if kvwrd == klang.KWCaps {
return strings.Title(strings.ToLower(klang.English))
} else if kvwrd == klang.KWALLCAPS {
return strings.ToUpper(klang.English)
}
}
return "*\\Kzzzzzzt\\*" // word not found default
}
/*
Eng2Korvax - Convert (some) english words to Korvax
*/
func Eng2Korvax(enwrd string) string {
csvFile, err := os.Open("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 := Korvaxlang{
English: line[0],
KorvaxWord: line[1],
KWCaps: line[2],
KWALLCAPS: line[3],
}
if enwrd == klang.English {
return klang.KorvaxWord
}
}
return "*\\Kzzzzzzt\\*" // word not found default
}