Added html template
git-svn-id: file:///srv/svn/repo/mai/trunk@16 e410bdd4-646f-c54f-a7ce-fffcc4f439ae
This commit is contained in:
74
web/main.go
74
web/main.go
@@ -3,10 +3,14 @@ package main
|
||||
import (
|
||||
"codeberg.org/SimpleWeb/SimplyTranslate/engines"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/gofiber/template/html/v2"
|
||||
)
|
||||
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
engine := html.New("./views", ".html")
|
||||
app := fiber.New(fiber.Config{
|
||||
Views: engine,
|
||||
})
|
||||
|
||||
app.All("/api/translate", func(c *fiber.Ctx) error {
|
||||
from := ""
|
||||
@@ -26,7 +30,7 @@ func main() {
|
||||
} else {
|
||||
return c.SendStatus(400)
|
||||
}
|
||||
if engine == "" {
|
||||
if _, ok := engines.Engines[engine]; !ok || engine == "" {
|
||||
engine = "google"
|
||||
}
|
||||
if to == "" {
|
||||
@@ -39,5 +43,71 @@ func main() {
|
||||
}
|
||||
})
|
||||
|
||||
app.Get("/api/source_languages", func(c *fiber.Ctx) error {
|
||||
engine := c.Query("engine")
|
||||
if _, ok := engines.Engines[engine]; !ok || engine == "" {
|
||||
engine = "google"
|
||||
}
|
||||
if result, err := engines.Engines[engine].SourceLanguages(); err != nil {
|
||||
return c.SendStatus(500)
|
||||
} else {
|
||||
return c.JSON(result)
|
||||
}
|
||||
})
|
||||
|
||||
app.Get("/api/target_languages", func(c *fiber.Ctx) error {
|
||||
engine := c.Query("engine")
|
||||
if _, ok := engines.Engines[engine]; !ok || engine == "" {
|
||||
engine = "google"
|
||||
}
|
||||
if result, err := engines.Engines[engine].TargetLanguages(); err != nil {
|
||||
return c.SendStatus(500)
|
||||
} else {
|
||||
return c.JSON(result)
|
||||
}
|
||||
})
|
||||
|
||||
app.All("/", func(c *fiber.Ctx) error {
|
||||
engine := c.Query("engine")
|
||||
if _, ok := engines.Engines[engine]; !ok || engine == "" {
|
||||
engine = "google"
|
||||
}
|
||||
targetLanguages, err := engines.Engines[engine].TargetLanguages()
|
||||
if err != nil {
|
||||
return c.SendStatus(500)
|
||||
}
|
||||
sourceLanguages, err := engines.Engines[engine].SourceLanguages()
|
||||
if err != nil {
|
||||
return c.SendStatus(500)
|
||||
}
|
||||
originalText := ""
|
||||
translatedText := ""
|
||||
from := ""
|
||||
to := ""
|
||||
|
||||
if c.Method() == "POST" {
|
||||
from =
|
||||
c.FormValue("from")
|
||||
to = c.FormValue("to")
|
||||
originalText = c.FormValue("text")
|
||||
if result, err := engines.Engines[engine].Translate(originalText, from, to); err != nil {
|
||||
return c.SendStatus(500)
|
||||
} else {
|
||||
translatedText = result.TranslatedText
|
||||
}
|
||||
}
|
||||
return c.Render("index", fiber.Map{
|
||||
"Engine": engine,
|
||||
"SourceLanguages": targetLanguages,
|
||||
"TargetLanguages": sourceLanguages,
|
||||
"OriginalText": originalText,
|
||||
"TranslatedText": translatedText,
|
||||
"From": from,
|
||||
"To": to,
|
||||
})
|
||||
})
|
||||
|
||||
app.Static("/static", "./static")
|
||||
|
||||
app.Listen(":3000")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user