mozhi/cmd/translate.go

63 lines
2.0 KiB
Go
Raw Normal View History

2023-06-25 00:10:57 +05:30
package cmd
import (
2023-07-03 17:29:46 +05:30
"fmt"
2023-08-27 22:28:34 +05:30
"github.com/ktr0731/go-fuzzyfinder"
2023-08-27 19:54:30 +05:30
"codeberg.org/aryak/mozhi/utils"
2023-07-22 19:54:15 +05:30
"github.com/spf13/cobra"
2023-06-25 00:10:57 +05:30
)
2023-08-27 19:54:30 +05:30
var (
engine string
query string
source string
dest string
langlist string
)
2023-06-25 00:10:57 +05:30
var translateCmd = &cobra.Command{
Use: "translate",
Short: "Translate.",
Long: `Translate.`,
Run: func(cmd *cobra.Command, args []string) {
if langlist == "sl" || langlist == "tl" {
2023-08-27 22:28:34 +05:30
list, err := utils.LangList(engine, langlist)
if err != nil {
fmt.Println(err)
}
idxs, err := fuzzyfinder.FindMulti(
list,
func(i int) string {
return list[i].Name
})
if err != nil {
fmt.Println(err)
}
for _, idx := range idxs {
2023-08-28 20:41:57 +05:30
fmt.Println("Selected Language:", list[idx].Id, "("+list[idx].Name+")")
2023-08-27 22:28:34 +05:30
}
2023-08-27 19:54:30 +05:30
} else if engine == "all" {
2023-06-25 00:10:57 +05:30
fmt.Println(utils.TranslateAll(dest, source, query))
} else {
fmt.Println(utils.Translate(engine, dest, source, query))
2023-06-25 00:10:57 +05:30
}
},
}
func init() {
rootCmd.AddCommand(translateCmd)
translateCmd.Flags().StringVarP(&engine, "engine", "e", "", "The source Mozhi will listen to. Defaults to 3000, and overrides the MOZHI_source environment variable.")
translateCmd.Flags().StringVarP(&source, "source", "s", "", "The source Mozhi will listen to. Defaults to 3000, and overrides the MOZHI_source environment variable.")
translateCmd.Flags().StringVarP(&dest, "dest", "t", "", "The dest Mozhi will listen to. Defaults to 3000, and overrides the MOZHI_dest environment variable.")
translateCmd.Flags().StringVarP(&query, "query", "q", "", "The query Mozhi will listen to. Defaults to 3000, and overrides the MOZHI_query environment variable.")
translateCmd.Flags().StringVarP(&langlist, "langlist", "l", "", "The query Mozhi will listen to. Defaults to 3000, and overrides the MOZHI_query environment variable.")
2023-06-25 00:10:57 +05:30
engine = translateCmd.Flag("engine").Value.String()
dest = translateCmd.Flag("dest").Value.String()
source = translateCmd.Flag("source").Value.String()
query = translateCmd.Flag("query").Value.String()
langlist = translateCmd.Flag("query").Value.String()
}