26 lines
671 B
Go
26 lines
671 B
Go
package engines
|
|
|
|
type TranslationResult struct {
|
|
SourceLanguage string `json:"source_language"`
|
|
Definitions interface{} `json:"definitions"`
|
|
Translations interface{} `json:"translations"`
|
|
TranslatedText string `json:"translated_text"`
|
|
}
|
|
|
|
type Engine interface {
|
|
DisplayName() string
|
|
SourceLanguages() (Language, error)
|
|
TargetLanguages() (Language, error)
|
|
Translate(text string, from, to string) (TranslationResult, error)
|
|
Tts(text, lang string) (string, error)
|
|
}
|
|
|
|
type Language map[string]string
|
|
|
|
var Engines = map[string]Engine{
|
|
"google": &GoogleTranslate{},
|
|
// "icibia": &ICIBA{},
|
|
// "libre": &LibreTranslate{},
|
|
"reverseo": &Reverso{},
|
|
}
|