12345678910111213141516171819202122232425262728293031323334353637383940 |
- package services
- import (
- "cloud.google.com/go/translate"
- "context"
- "fmt"
- "golang.org/x/text/language"
- )
- func GoogleCouldTranslateText(targetLanguage string, text []string) (list map[int]string, err error) {
- list = make(map[int]string, 0)
- // text := "The Go Gopher is cute"
- ctx := context.Background()
- lang, err := language.Parse(targetLanguage)
- if err != nil {
- err = fmt.Errorf("language.Parse: %v", err)
- return
- }
- client, err := translate.NewClient(ctx)
- if err != nil {
- return
- }
- defer client.Close()
- resp, err := client.Translate(ctx, text, lang, nil)
- if err != nil {
- err = fmt.Errorf("Translate: %v", err)
- return
- }
- if len(resp) == 0 {
- err = fmt.Errorf("Translate returned empty response to text one: %s.", text[0])
- return
- }
- for k, v := range resp {
- list[k] = v.Text
- }
- return
- }
|