From 3c33708f3388dc17e30ce3c4463eed35576a363b Mon Sep 17 00:00:00 2001 From: eeeXun Date: Fri, 27 Jan 2023 16:49:33 +0800 Subject: [PATCH] style: rename LibreTranslate to ArgosTranslate LibreTranslate is an API and web-app built on top of Argos Translate --- config.go | 6 ++--- .../language.go | 2 +- .../translator.go | 20 +++++++------- internal/translate/argostranslate/tts.go | 22 ++++++++++++++++ internal/translate/libretranslate/tts.go | 26 ------------------- internal/translate/translator.go | 10 +++---- main.go | 2 +- 7 files changed, 42 insertions(+), 46 deletions(-) rename internal/translate/{libretranslate => argostranslate}/language.go (96%) rename internal/translate/{libretranslate => argostranslate}/translator.go (72%) create mode 100644 internal/translate/argostranslate/tts.go delete mode 100644 internal/translate/libretranslate/tts.go diff --git a/config.go b/config.go index dbf283d..cf11732 100644 --- a/config.go +++ b/config.go @@ -24,12 +24,12 @@ func configInit() { "theme": "Gruvbox", "source.borderColor": "red", "destination.borderColor": "blue", + "source.language.argostranslate": "English", + "destination.language.argostranslate": "English", "source.language.googletranslate": "English", "destination.language.googletranslate": "English", - "source.language.libretranslate": "English", - "destination.language.libretranslate": "English", "hide_below": false, - "translator": "LibreTranslate", + "translator": "ArgosTranslate", } ) diff --git a/internal/translate/libretranslate/language.go b/internal/translate/argostranslate/language.go similarity index 96% rename from internal/translate/libretranslate/language.go rename to internal/translate/argostranslate/language.go index 191834e..561d2ec 100644 --- a/internal/translate/libretranslate/language.go +++ b/internal/translate/argostranslate/language.go @@ -1,4 +1,4 @@ -package libretranslate +package argostranslate var ( lang = []string{ diff --git a/internal/translate/libretranslate/translator.go b/internal/translate/argostranslate/translator.go similarity index 72% rename from internal/translate/libretranslate/translator.go rename to internal/translate/argostranslate/translator.go index 36754f6..9bfbec9 100644 --- a/internal/translate/libretranslate/translator.go +++ b/internal/translate/argostranslate/translator.go @@ -1,4 +1,4 @@ -package libretranslate +package argostranslate import ( "bytes" @@ -14,42 +14,42 @@ const ( textURL = "https://translate.argosopentech.com/translate" ) -type LibreTranslate struct { +type ArgosTranslate struct { srcLang string dstLang string EngineName string SoundLock *lock.Lock } -func (t *LibreTranslate) GetEngineName() string { +func (t *ArgosTranslate) GetEngineName() string { return t.EngineName } -func (t *LibreTranslate) GetAllLang() []string { +func (t *ArgosTranslate) GetAllLang() []string { return lang } -func (t *LibreTranslate) GetSrcLang() string { +func (t *ArgosTranslate) GetSrcLang() string { return t.srcLang } -func (t *LibreTranslate) GetDstLang() string { +func (t *ArgosTranslate) GetDstLang() string { return t.dstLang } -func (t *LibreTranslate) SetSrcLang(srcLang string) { +func (t *ArgosTranslate) SetSrcLang(srcLang string) { t.srcLang = srcLang } -func (t *LibreTranslate) SetDstLang(dstLang string) { +func (t *ArgosTranslate) SetDstLang(dstLang string) { t.dstLang = dstLang } -func (t *LibreTranslate) SwapLang() { +func (t *ArgosTranslate) SwapLang() { t.srcLang, t.dstLang = t.dstLang, t.srcLang } -func (t *LibreTranslate) Translate(message string) ( +func (t *ArgosTranslate) Translate(message string) ( translation string, definition string, partOfSpeech string, diff --git a/internal/translate/argostranslate/tts.go b/internal/translate/argostranslate/tts.go new file mode 100644 index 0000000..72c5c35 --- /dev/null +++ b/internal/translate/argostranslate/tts.go @@ -0,0 +1,22 @@ +package argostranslate + +import ( + "errors" +) + +func (t *ArgosTranslate) LockAvailable() bool { + return t.SoundLock.Available() +} + +func (t *ArgosTranslate) LockAcquire() { + t.SoundLock.Acquire() +} + +func (t *ArgosTranslate) StopTTS() { + t.SoundLock.Stop = true +} + +func (t *ArgosTranslate) PlayTTS(lang string, message string) error { + t.SoundLock.Release() + return errors.New("ArgosTranslate does not support text to speech") +} diff --git a/internal/translate/libretranslate/tts.go b/internal/translate/libretranslate/tts.go deleted file mode 100644 index cb7d53f..0000000 --- a/internal/translate/libretranslate/tts.go +++ /dev/null @@ -1,26 +0,0 @@ -package libretranslate - -import ( - "errors" -) - -const ( - ttsURL = "https://translate.google.com.vn/translate_tts?ie=UTF-8&q=%s&tl=%s&client=tw-ob" -) - -func (t *LibreTranslate) LockAvailable() bool { - return t.SoundLock.Available() -} - -func (t *LibreTranslate) LockAcquire() { - t.SoundLock.Acquire() -} - -func (t *LibreTranslate) StopTTS() { - t.SoundLock.Stop = true -} - -func (t *LibreTranslate) PlayTTS(lang string, message string) error { - t.SoundLock.Release() - return errors.New("LibreTranslate does not support text to speech") -} diff --git a/internal/translate/translator.go b/internal/translate/translator.go index b699abe..1d642a0 100644 --- a/internal/translate/translator.go +++ b/internal/translate/translator.go @@ -2,12 +2,12 @@ package translate import ( "gtt/internal/lock" + "gtt/internal/translate/argostranslate" "gtt/internal/translate/googletranslate" - "gtt/internal/translate/libretranslate" ) var ( - AllTranslator = []string{"LibreTranslate", "GoogleTranslate"} + AllTranslator = []string{"ArgosTranslate", "GoogleTranslate"} ) type Translator interface { @@ -39,9 +39,9 @@ func NewGoogleTranslate() *googletranslate.GoogleTranslate { } } -func NewLibreTranslate() *libretranslate.LibreTranslate { - return &libretranslate.LibreTranslate{ - EngineName: "LibreTranslate", +func NewLibreTranslate() *argostranslate.ArgosTranslate { + return &argostranslate.ArgosTranslate{ + EngineName: "ArgosTranslate", SoundLock: lock.NewLock(), } } diff --git a/main.go b/main.go index cccd22b..3b8e17b 100644 --- a/main.go +++ b/main.go @@ -17,7 +17,7 @@ var ( // Translate translator translate.Translator translators = map[string]translate.Translator{ - "LibreTranslate": translate.NewLibreTranslate(), + "ArgosTranslate": translate.NewLibreTranslate(), "GoogleTranslate": translate.NewGoogleTranslate(), } // UI