mirror of
https://codeberg.org/aryak/mozhi
synced 2024-11-09 22:12:03 +05:30
make disabling engines work correctly with webui and show right capitalization in webui
This commit is contained in:
parent
6c509efcd2
commit
fc4e2d70b6
@ -48,7 +48,6 @@ You can find it in /api/swagger of any instance ([example](https://mozhi.aryak.m
|
||||
Features of Mozhi can be customized and toggled on/off using Environment Variables.
|
||||
|
||||
- `MOZHI_PORT`: Port the webserver listens on (if hosting API)
|
||||
- `MOZHI_USER_AGENT`: Change user agent used to make HTTP requests
|
||||
- `MOZHI_LIBRETRANSLATE_URL`: URL of Libretranslate instance (Example: `MOZHI_LIBRETRANSLATE_URL=https://lt.psf.lt`)
|
||||
|
||||
These envvars turn off/on engines. By default all of them are enabled.
|
||||
|
@ -3,7 +3,7 @@ package cmd
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
libmozhi "codeberg.org/aryak/libmozhi"
|
||||
"codeberg.org/aryak/libmozhi"
|
||||
|
||||
"github.com/ktr0731/go-fuzzyfinder"
|
||||
"github.com/spf13/cobra"
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
libmozhi "codeberg.org/aryak/libmozhi"
|
||||
"codeberg.org/aryak/libmozhi"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
@ -72,7 +72,7 @@ func init() {
|
||||
rootCmd.AddCommand(translateCmd)
|
||||
translateCmd.Flags().SortFlags = false
|
||||
|
||||
translateCmd.Flags().StringVarP(&engine, "engine", "e", "", "[google|libre|reverso|deepl|watson|yandex|mymemory|duckduckgo]")
|
||||
translateCmd.Flags().StringVarP(&engine, "engine", "e", "", "[all|google|libre|reverso|deepl|watson|yandex|mymemory|duckduckgo]")
|
||||
translateCmd.Flags().StringVarP(&source, "source", "s", "", "Source language. Use langlist command to get code for your language")
|
||||
translateCmd.Flags().StringVarP(&dest, "dest", "t", "", "Target language. Use langlist command to get code for your language")
|
||||
translateCmd.Flags().StringVarP(&query, "query", "q", "", "Text to be translated")
|
||||
|
@ -1,7 +1,7 @@
|
||||
package pages
|
||||
|
||||
import (
|
||||
libmozhi "codeberg.org/aryak/libmozhi"
|
||||
"codeberg.org/aryak/libmozhi"
|
||||
"codeberg.org/aryak/mozhi/utils"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
@ -3,18 +3,48 @@ package pages
|
||||
import (
|
||||
"codeberg.org/aryak/libmozhi"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"os"
|
||||
)
|
||||
|
||||
func envTrueNoExist(env string) bool {
|
||||
if _, ok := os.LookupEnv(env); ok == false || os.Getenv(env) == "true" {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func engineList() map[string]string {
|
||||
engines := map[string]string{"google":"Google", "deepl": "DeepL", "duckduckgo": "DuckDuckGo", "libre": "LibreTranslate", "mymemory": "MyMemory", "reverso": "Reverso", "watson": "Watson", "yandex": "Yandex"}
|
||||
if envTrueNoExist("MOZHI_GOOGLE_ENABLED") == false {
|
||||
delete(engines,"google")
|
||||
} else if envTrueNoExist("MOZHI_DEEPL_ENABLED") == false {
|
||||
delete(engines,"deepl")
|
||||
} else if envTrueNoExist("MOZHI_DUCKDUCKGO_ENABLED") == false {
|
||||
delete(engines,"duckduckgo")
|
||||
} else if envTrueNoExist("MOZHI_LIBRETRANSLATE_ENABLED") == false || envTrueNoExist("MOZHI_LIBRETRANSLATE_URL") {
|
||||
delete(engines,"libre")
|
||||
} else if envTrueNoExist("MOZHI_MYMEMORY_ENABLED") == false {
|
||||
delete(engines,"mymemory")
|
||||
} else if envTrueNoExist("MOZHI_REVERSO_ENABLED") == false {
|
||||
delete(engines,"reverso")
|
||||
} else if envTrueNoExist("MOZHI_WATSON_ENABLED") == false {
|
||||
delete(engines,"watson")
|
||||
} else if envTrueNoExist("MOZHI_YANDEX_ENABLED") == false {
|
||||
delete(engines,"yandex")
|
||||
}
|
||||
return engines
|
||||
}
|
||||
|
||||
func HandleIndex(c *fiber.Ctx) error {
|
||||
engines := []string{"google", "deepl", "duckduckgo", "libretranslate", "mymemory", "reverso", "watson", "yandex"}
|
||||
engines := engineList()
|
||||
var engine string
|
||||
var originalText string
|
||||
if c.Query("engine") == "" {
|
||||
engine = "google"
|
||||
}
|
||||
if c.Query("engine") != "" {
|
||||
for _, name := range engines {
|
||||
if c.Query("engine") == name {
|
||||
for key, _ := range engines {
|
||||
if c.Query("engine") == key {
|
||||
engine = c.Query("engine")
|
||||
}
|
||||
}
|
||||
|
@ -2,11 +2,12 @@
|
||||
<main>
|
||||
<!-- Need to do this custom selector thingy since <select> cant submit on click -->
|
||||
<div class="custom-select">
|
||||
Translate with: <a href="#" class="selected-option">{{.Engine}}</a>
|
||||
{{range $key, $value := .enginesNames}} {{ if eq $.Engine $key }}Translate
|
||||
with: <a href="#" class="selected-option">{{$value}}</a> {{end}} {{end}}
|
||||
<ul class="options">
|
||||
{{range .enginesNames}}
|
||||
<a href="/?engine={{.}}">
|
||||
<li>{{.}}</li>
|
||||
{{range $key, $value := .enginesNames}}
|
||||
<a href="/?engine={{$key}}">
|
||||
<li>{{$value}}</li>
|
||||
</a>
|
||||
{{end}}
|
||||
</ul>
|
||||
|
Loading…
Reference in New Issue
Block a user