translator

package module
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2023 License: MIT Imports: 10 Imported by: 0

README

English | 简体中文

Googletrans

Sourcegraph

Transformation of Conight/go-googletrans project, support socks5/http proxy and replace it with resty client

Download from Github

GO111MODULE=on go get github.com/solywsh/go-googletrans

Quick Start Example

Simple translate
package main

import (
	"fmt"
	"github.com/solywsh/go-googletrans"
)

func main() {
	t := translator.New()
	result, err := t.Translate("你好,世界!", "auto", "en")
	if err != nil {
		panic(err)
	}
	fmt.Println(result.Text)
}
Using proxy
package main

import (
	"fmt"
	translator "github.com/solywsh/go-googletrans"
)

func main() {
	t := translator.New(
		translator.WithProxy("http://127.0.0.1:7890"),
	)
	result, err := t.Translate(`你好,世界!`, "auto", "en")
	if err != nil {
		panic(err)
	}
	fmt.Println(result.Text)
}
Test the response time of each service
package main

import (
	"fmt"
	translator "github.com/solywsh/go-googletrans"
)

func main() {
	t := translator.New()
	t.Latency(translator.AllServiceUrls())
}

// Output
Host:  translate.google.ac Time average:  896.617266ms
Host:  translate.google.ad Time average:  787.691933ms
Host:  translate.google.ae Time average:  749.772166ms
Host:  translate.google.al Time average:  712.4626ms
Host:  translate.google.am Time average:  796.3925ms
Host:  translate.google.as Time average:  750.585733ms
Host:  translate.google.at Time average:  847.926733ms
...
Host:  translate.google.to Time average:  648.1111ms
Host:  translate.google.tt Time average:  583.769633ms
Host:  translate.google.us Time average:  540.138666ms
Host:  translate.google.vg Time average:  575.703566ms
Host:  translate.google.vu Time average:  673.641833ms
Host:  translate.google.ws Time average:  563.181933ms
fastest: translate.google.com.ec 466.401633ms
Using custom service urls or user agent
package main

import (
	"fmt"
	translator "github.com/solywsh/go-googletrans"
)

func main() {
	t := translator.New(
		translator.WithProxy("http://127.0.0.1:7890"),
		translator.WithUserAgent("Custom Agent"),
		translator.WithServiceUrl("translate.google.com.hk"),
	)
	result, err := t.Translate(`你好,世界!`, "auto", "en")
	if err != nil {
		panic(err)
	}
	fmt.Println(result.Text)
}

See Examples for more examples.

Special thanks

License

This SDK is distributed under the The MIT License, see LICENSE for more information.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ReTkk = regexp.MustCompile(`tkk:'(.+?)'`)

Functions

func AllServiceUrls added in v0.1.5

func AllServiceUrls() []string

AllServiceUrls Returns all the services that are currently available.

Types

type Option added in v0.1.3

type Option func(*Translator)

func WithProxy added in v0.1.3

func WithProxy(proxy string) Option

func WithRandomServiceUrl added in v0.1.3

func WithRandomServiceUrl() Option

func WithRandomServiceUrlEveryTime added in v0.1.3

func WithRandomServiceUrlEveryTime(serviceUrlList []string) Option

func WithRetryTimes added in v0.1.3

func WithRetryTimes(times int) Option

func WithServiceUrl added in v0.1.3

func WithServiceUrl(serviceUrl string) Option

func WithUserAgent added in v0.1.3

func WithUserAgent(userAgent string) Option

type TokenAcquirer added in v0.1.3

type TokenAcquirer struct {
	// contains filtered or unexported fields
}

func Token

func Token(host string, client *resty.Client) *TokenAcquirer

type Translated added in v0.1.3

type Translated struct {
	Src    string // source language
	Dest   string // destination language
	Origin string // original text
	Text   string // Translated text
}

Translated result object.

type Translator added in v0.1.3

type Translator struct {
	// contains filtered or unexported fields
}

func New

func New(options ...Option) *Translator

func (*Translator) Latency added in v0.1.3

func (t *Translator) Latency(serviceUrls []string)

Latency Test the delay of each service node

func (*Translator) Translate added in v0.1.3

func (t *Translator) Translate(origin, src, dest string) (*Translated, error)

Translate given content. Set src to `auto` and system will attempt to identify the source language automatically.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL