Golang translation library that supports several free providers.
Current supported provider list:
- Google translate free API
- MyMemory
- Linguee (old and unaccurate)
go get github.com/maxwolf8852/translateYou can use this library with one or several providers (e.g. if the first one fails, the library will request translation from from the next one, and so on).
client, err := translate.New(translate.WithProvider(google.New()))
if err != nil {
return err
}
out, err := client.Translate(t.Context(), translate.EN, translate.FR, "Hello world!")
if err != nil {
return err
}
fmt.Println(out)This example skips all errors until the last one and prints the last (successful or not) output.
client, err := translate.New(translate.WithSkipErrors(),
translate.WithProvider(google.New()),
translate.WithProvider(mymemory.New()), ...)
if err != nil {
return err
}
out, err := client.Translate(context.TODO(), translate.EN, translate.FR, "Hello world!")
if err != nil {
return err
}
fmt.Println(out)