make switchlanguage swap text (closes #10)
Some checks failed
mozhi pipeline / Push Docker image to Codeberg docker registry (push) Failing after 15m17s
mozhi pipeline / Build and publish artifacts (push) Successful in 26m27s

This commit is contained in:
Arya 2023-10-20 17:34:41 +05:30
parent 9ab37afc1a
commit 5984fdf1d9
Signed by: arya
GPG Key ID: 842D12BDA50DF120

View File

@ -7,6 +7,7 @@ import (
"os"
"runtime"
"codeberg.org/aryak/libmozhi"
_ "codeberg.org/aryak/mozhi/docs"
"codeberg.org/aryak/mozhi/pages"
"codeberg.org/aryak/mozhi/public"
@ -102,8 +103,17 @@ func Serve(port string) {
engine := utils.Sanitize(utils.GetQueryOrFormValue(c, "engine"), "alpha")
from := utils.Sanitize(utils.GetQueryOrFormValue(c, "from"), "alpha")
to := utils.Sanitize(utils.GetQueryOrFormValue(c, "to"), "alpha")
text := utils.Sanitize(utils.GetQueryOrFormValue(c, "text"), "alpha")
return c.Redirect("/?engine="+engine+"&from="+to+"&to="+from+"&text="+text+"&redirected=true", 301)
text := utils.GetQueryOrFormValue(c, "text")
var swapText string
if engine != "all" && text != "" {
translation, tlerr := libmozhi.Translate(engine, to, from, text)
if tlerr == nil {
swapText = translation.OutputText
} else {
swapText = text
}
}
return c.Redirect("/?engine="+engine+"&from="+to+"&to="+from+"&text="+swapText+"&redirected=true", 301)
})
app.Get("/about", pages.HandleAbout)
app.Use("/", filesystem.New(filesystem.Config{