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 }