-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathmain.go
More file actions
85 lines (73 loc) · 2.66 KB
/
main.go
File metadata and controls
85 lines (73 loc) · 2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package main
import (
"fmt"
"log"
"os"
ms "github.com/kkdai/mstranslator"
)
func main() {
//Init new client for mstranslator
msClient := ms.NewClient("", "")
//Translate "Hello World" from English to France.
translation, err := msClient.Translate("Hello World!", "en", "de")
if err != nil {
log.Panicf("Error : %s", err.Error())
}
fmt.Println(translation)
//Get Speak audio file stream from server.
buf, err := msClient.Speak("Returns a wave or mp3 stream of the passed-in text being spoken in the desired language.", "en", "audio/wav")
if err != nil {
log.Panicf("Error : %s", err.Error())
}
fmt.Println("size of buf:", len(buf))
fo, err := os.Create("speak_output.wav")
defer fo.Close()
if _, err := fo.Write(buf); err != nil {
panic(err)
}
//Try to parse input sentence to figure out what language you input.
retLang, err := msClient.Detect("測試中文")
if err != nil {
log.Panicf("Error : %s", err.Error())
}
fmt.Println("Input Sentence Language:", retLang)
//Try to parse input sentence to figure out what language you input.
detectTexts := []string{"哈囉", "あいさつ", "Hello"}
retLangArray, err := msClient.DetectArray(detectTexts)
if err != nil {
log.Panicf("Error : %s", err.Error())
}
fmt.Println("Input Sentence Language Array:", retLangArray)
//Get all language support by Microsoft Translator.
retSupportLangcodes, err := msClient.GetLanguagesForTranslate()
if err != nil {
log.Panicf("Error : %s", err.Error())
}
fmt.Println("Server Support Language Codes:", retSupportLangcodes)
//Get all language support speech by Microsoft Translator.
retSupportSpeakcodes, err := msClient.GetLanguagesForSpeak()
if err != nil {
log.Panicf("Error : %s", err.Error())
}
fmt.Println("Server Support Speak Language Codes:", retSupportSpeakcodes)
//Get detail Language Name (ex: en -> English)
expectedCodes := []string{"en", "de", "es", "ru", "jp"}
retLangName, err := msClient.GetLanguageNames(expectedCodes)
if err != nil {
log.Panicf("Error : %s", err.Error())
}
fmt.Println("Inpurt Full Language Name:", retLangName)
//Correct senstence should be "This is too strange i just want to go home soon".
oriSentence := "Dis is 2 strange i juss wanna go home sooooooon"
retCorrectString, err := msClient.TransformText("en", "general", oriSentence)
if err != nil {
log.Panicf("Error : %s", err.Error())
}
fmt.Println("Original: ", oriSentence, " Correct to:", retCorrectString)
//Find a possible translation result for whole setence
retGet, err := msClient.GetTranslations("una importante contribución a la rentabilidad de la empresa", "es", "en", 5)
if err != nil {
log.Panicf("Error : %s", err.Error())
}
fmt.Println(retGet)
}