v/GTT
1
0
mirror of https://github.com/eeeXun/GTT.git synced 2025-05-16 07:40:44 -07:00

feat: allow language to be passed in argument

This commit is contained in:
eeeXun 2022-10-29 19:57:48 +08:00
parent 7523cec0ce
commit da5fc22258
2 changed files with 39 additions and 10 deletions

View File

@ -12,6 +12,16 @@ Google Translate TUI
go get && go build
```
## Language in argument
You can pass `-src` and `-dst` in argument to set source and destination language.
```
gtt -src "English" -dst "Chinese (Traditional)"
```
See language on [Google Language support](https://cloud.google.com/translate/docs/languages)
## Key Map
`<C-c>`

View File

@ -1,9 +1,15 @@
package main
import (
"flag"
"os"
)
var (
srcLangArg *string = flag.String("src", "", "Source Language")
dstLangArg *string = flag.String("dst", "", "Destination Language")
)
// Search XDG_CONFIG_HOME or $HOME/.config
func configInit() {
var defaultConfigPath string
@ -33,8 +39,17 @@ func configInit() {
}
// setup
translator.SrcLang = config.GetString("source.language")
translator.DstLang = config.GetString("destination.language")
flag.Parse()
if len(*srcLangArg) > 0 {
translator.SrcLang = *srcLangArg
} else {
translator.SrcLang = config.GetString("source.language")
}
if len(*dstLangArg) > 0 {
translator.DstLang = *dstLangArg
} else {
translator.DstLang = config.GetString("destination.language")
}
style.Theme = config.GetString("theme")
style.Transparent = config.GetBool("transparent")
style.SetSrcBorderColor(config.GetString("source.borderColor")).
@ -45,6 +60,18 @@ func configInit() {
func updateConfig() {
changed := false
// Source language is not passed in argument
if len(*srcLangArg) == 0 &&
config.GetString("source.language") != translator.SrcLang {
changed = true
config.Set("source.language", translator.SrcLang)
}
// Destination language is not passed in argument
if len(*dstLangArg) == 0 &&
config.GetString("destination.language") != translator.DstLang {
changed = true
config.Set("destination.language", translator.DstLang)
}
if config.GetString("theme") != style.Theme {
changed = true
config.Set("theme", style.Theme)
@ -53,18 +80,10 @@ func updateConfig() {
changed = true
config.Set("transparent", style.Transparent)
}
if config.GetString("source.language") != translator.SrcLang {
changed = true
config.Set("source.language", translator.SrcLang)
}
if config.GetString("source.borderColor") != style.SrcBorderStr() {
changed = true
config.Set("source.borderColor", style.SrcBorderStr())
}
if config.GetString("destination.language") != translator.DstLang {
changed = true
config.Set("destination.language", translator.DstLang)
}
if config.GetString("destination.borderColor") != style.DstBorderStr() {
changed = true
config.Set("destination.borderColor", style.DstBorderStr())