v/GTT
1
0
mirror of https://github.com/eeeXun/GTT.git synced 2025-05-19 09:10:42 -07:00

style: move main code out of if statement

This commit is contained in:
eeeXun 2023-02-15 20:39:53 +08:00
parent 303441125b
commit c1ebe7eb3c
4 changed files with 76 additions and 76 deletions

View File

@ -71,22 +71,23 @@ func (t *ApertiumTranslate) Translate(message string) (translation, definition,
return "", "", "", err return "", "", "", err
} }
if len(data) > 0 { if len(data) <= 0 {
switch res.StatusCode { return "", "", "", errors.New("Translation not found")
case 200:
translation += fmt.Sprintf("%v",
data["responseData"].(map[string]interface{})["translatedText"])
default:
return "", "", "", errors.New(
fmt.Sprintf("%s does not support translate from %s to %s.\nSee available pair on %s",
t.EngineName,
t.srcLang,
t.dstLang,
"https://www.apertium.org/",
))
}
return translation, definition, partOfSpeech, nil
} }
return "", "", "", errors.New("Translation not found")
switch res.StatusCode {
case 200:
translation += fmt.Sprintf("%v",
data["responseData"].(map[string]interface{})["translatedText"])
default:
return "", "", "", errors.New(
fmt.Sprintf("%s does not support translate from %s to %s.\nSee available pair on %s",
t.EngineName,
t.srcLang,
t.dstLang,
"https://www.apertium.org/",
))
}
return translation, definition, partOfSpeech, nil
} }

View File

@ -70,10 +70,11 @@ func (t *ArgosTranslate) Translate(message string) (translation, definition, par
return "", "", "", err return "", "", "", err
} }
if len(data) > 0 { if len(data) <= 0 {
translation += fmt.Sprintf("%v", data["translatedText"]) return "", "", "", errors.New("Translation not found")
return translation, definition, partOfSpeech, nil
} }
return "", "", "", errors.New("Translation not found")
translation += fmt.Sprintf("%v", data["translatedText"])
return translation, definition, partOfSpeech, nil
} }

View File

@ -71,58 +71,57 @@ func (t *GoogleTranslate) Translate(message string) (translation, definition, pa
return "", "", "", err return "", "", "", err
} }
if len(data) > 0 { if len(data) <= 0 {
// translation = data[0] return "", "", "", errors.New("Translation not found")
for _, lines := range data[0].([]interface{}) {
translatedLine := lines.([]interface{})[0]
translation += fmt.Sprintf("%v", translatedLine)
}
// part of speech = data[1]
if data[1] != nil {
for _, parts := range data[1].([]interface{}) {
// part of speech
part := parts.([]interface{})[0]
partOfSpeech += fmt.Sprintf("[%v]\n", part)
for _, words := range parts.([]interface{})[2].([]interface{}) {
// dst lang
dstWord := words.([]interface{})[0]
partOfSpeech += fmt.Sprintf("\t%v:", dstWord)
// src lang
firstWord := true
for _, word := range words.([]interface{})[1].([]interface{}) {
if firstWord {
partOfSpeech += fmt.Sprintf(" %v", word)
firstWord = false
} else {
partOfSpeech += fmt.Sprintf(", %v", word)
}
}
partOfSpeech += "\n"
}
}
}
// definition = data[12]
if len(data) >= 13 && data[12] != nil {
for _, parts := range data[12].([]interface{}) {
// part of speech
part := parts.([]interface{})[0]
definition += fmt.Sprintf("[%v]\n", part)
for _, sentences := range parts.([]interface{})[1].([]interface{}) {
// definition
def := sentences.([]interface{})[0]
definition += fmt.Sprintf("\t- %v\n", def)
// example sentence
if len(sentences.([]interface{})) >= 3 && sentences.([]interface{})[2] != nil {
example := sentences.([]interface{})[2]
definition += fmt.Sprintf("\t\t\"%v\"\n", example)
}
}
}
}
return translation, definition, partOfSpeech, nil
} }
return "", "", "", errors.New("Translation not found") // translation = data[0]
for _, lines := range data[0].([]interface{}) {
translatedLine := lines.([]interface{})[0]
translation += fmt.Sprintf("%v", translatedLine)
}
// part of speech = data[1]
if data[1] != nil {
for _, parts := range data[1].([]interface{}) {
// part of speech
part := parts.([]interface{})[0]
partOfSpeech += fmt.Sprintf("[%v]\n", part)
for _, words := range parts.([]interface{})[2].([]interface{}) {
// dst lang
dstWord := words.([]interface{})[0]
partOfSpeech += fmt.Sprintf("\t%v:", dstWord)
// src lang
firstWord := true
for _, word := range words.([]interface{})[1].([]interface{}) {
if firstWord {
partOfSpeech += fmt.Sprintf(" %v", word)
firstWord = false
} else {
partOfSpeech += fmt.Sprintf(", %v", word)
}
}
partOfSpeech += "\n"
}
}
}
// definition = data[12]
if len(data) >= 13 && data[12] != nil {
for _, parts := range data[12].([]interface{}) {
// part of speech
part := parts.([]interface{})[0]
definition += fmt.Sprintf("[%v]\n", part)
for _, sentences := range parts.([]interface{})[1].([]interface{}) {
// definition
def := sentences.([]interface{})[0]
definition += fmt.Sprintf("\t- %v\n", def)
// example sentence
if len(sentences.([]interface{})) >= 3 && sentences.([]interface{})[2] != nil {
example := sentences.([]interface{})[2]
definition += fmt.Sprintf("\t\t\"%v\"\n", example)
}
}
}
}
return translation, definition, partOfSpeech, nil
} }

View File

@ -54,9 +54,8 @@ func (t *GoogleTranslate) PlayTTS(lang, message string) error {
if t.SoundLock.Stop { if t.SoundLock.Stop {
t.SoundLock.Release() t.SoundLock.Release()
return nil return nil
} else {
time.Sleep(time.Millisecond)
} }
time.Sleep(time.Millisecond)
} }
if err = player.Close(); err != nil { if err = player.Close(); err != nil {
t.SoundLock.Release() t.SoundLock.Release()