mirror of
				https://codeberg.org/aryak/mozhi
				synced 2025-06-04 00:41:07 +05:30 
			
		
		
		
	go mod tidy + gofmt
This commit is contained in:
		| @@ -2,8 +2,8 @@ package cmd | ||||
|  | ||||
| import ( | ||||
| 	"codeberg.org/aryak/simplytranslate/utils" | ||||
| 	"github.com/spf13/cobra" | ||||
| 	"fmt" | ||||
| 	"github.com/spf13/cobra" | ||||
| ) | ||||
|  | ||||
| var file string | ||||
|   | ||||
| @@ -2,8 +2,8 @@ package cmd | ||||
|  | ||||
| import ( | ||||
| 	"codeberg.org/aryak/simplytranslate/utils" | ||||
| 	"github.com/spf13/cobra" | ||||
| 	"fmt" | ||||
| 	"github.com/spf13/cobra" | ||||
| ) | ||||
|  | ||||
| var engine string | ||||
| @@ -51,21 +51,9 @@ var translateCmd = &cobra.Command{ | ||||
| 			} | ||||
| 		} else if engine == "yandex" { | ||||
| 			if langlist == "sl" { | ||||
| 				langList := utils.LangListYandex(langlist) | ||||
| 				    for _, num := range langList { | ||||
|         				fmt.Println("List{") | ||||
| 						fmt.Println(`Id: "`+num.Id+`",`) | ||||
| 						fmt.Println(`Name: "`+num.Name+`",`) | ||||
| 						fmt.Println("},") | ||||
|     				} | ||||
| 				fmt.Println(utils.LangListYandex(langlist)) | ||||
| 			} else if langlist == "tl" { | ||||
| 				langList := utils.LangListYandex(langlist) | ||||
| 				    for _, num := range langList { | ||||
|         				fmt.Println("List{") | ||||
| 						fmt.Println(`Id: "`+num.Id+`",`) | ||||
| 						fmt.Println(`Name: "`+num.Name+`",`) | ||||
| 						fmt.Println("},") | ||||
|     				} | ||||
| 				fmt.Println(utils.LangListYandex(langlist)) | ||||
| 			} else { | ||||
| 				fmt.Println(utils.TranslateYandex(dest, source, query)) | ||||
| 			} | ||||
|   | ||||
							
								
								
									
										4
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.mod
									
									
									
									
									
								
							| @@ -3,9 +3,11 @@ module codeberg.org/aryak/simplytranslate | ||||
| go 1.20 | ||||
|  | ||||
| require ( | ||||
| 	github.com/carlmjohnson/requests v0.23.4 | ||||
| 	github.com/gocolly/colly v1.2.0 | ||||
| 	github.com/gofiber/fiber/v2 v2.47.0 | ||||
| 	github.com/gofiber/template v1.8.0 | ||||
| 	github.com/google/go-querystring v1.1.0 | ||||
| 	github.com/joho/godotenv v1.5.1 | ||||
| 	github.com/otiai10/gosseract/v2 v2.4.0 | ||||
| 	github.com/spf13/cobra v1.7.0 | ||||
| @@ -19,12 +21,10 @@ require ( | ||||
| 	github.com/antchfx/htmlquery v1.3.0 // indirect | ||||
| 	github.com/antchfx/xmlquery v1.3.17 // indirect | ||||
| 	github.com/antchfx/xpath v1.2.4 // indirect | ||||
| 	github.com/carlmjohnson/requests v0.23.4 // indirect | ||||
| 	github.com/gobwas/glob v0.2.3 // indirect | ||||
| 	github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect | ||||
| 	github.com/golang/protobuf v1.5.3 // indirect | ||||
| 	github.com/google/go-cmp v0.5.9 // indirect | ||||
| 	github.com/google/go-querystring v1.1.0 // indirect | ||||
| 	github.com/google/uuid v1.3.0 // indirect | ||||
| 	github.com/inconshreveable/mousetrap v1.1.0 // indirect | ||||
| 	github.com/kennygrant/sanitize v1.2.4 // indirect | ||||
|   | ||||
							
								
								
									
										16
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								go.sum
									
									
									
									
									
								
							| @@ -62,14 +62,11 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF | ||||
| github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= | ||||
| github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs= | ||||
| github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= | ||||
| github.com/andybalholm/cascadia v1.3.1 h1:nhxRkql1kdYCc8Snf7D5/D3spOX+dBgjA6u8x004T2c= | ||||
| github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= | ||||
| github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsViSLyss= | ||||
| github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU= | ||||
| github.com/antchfx/htmlquery v1.3.0 h1:5I5yNFOVI+egyia5F2s/5Do2nFWxJz41Tr3DyfKD25E= | ||||
| github.com/antchfx/htmlquery v1.3.0/go.mod h1:zKPDVTMhfOmcwxheXUsx4rKJy8KEY/PU6eXr/2SebQ8= | ||||
| github.com/antchfx/xmlquery v1.3.15 h1:aJConNMi1sMha5G8YJoAIF5P+H+qG1L73bSItWHo8Tw= | ||||
| github.com/antchfx/xmlquery v1.3.15/go.mod h1:zMDv5tIGjOxY/JCNNinnle7V/EwthZ5IT8eeCGJKRWA= | ||||
| github.com/antchfx/xmlquery v1.3.17 h1:d0qWjPp/D+vtRw7ivCwT5ApH/3CkQU8JOeo3245PpTk= | ||||
| github.com/antchfx/xmlquery v1.3.17/go.mod h1:Afkq4JIeXut75taLSuI31ISJ/zeq+3jG7TunF7noreA= | ||||
| github.com/antchfx/xpath v1.2.3/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= | ||||
| @@ -149,7 +146,6 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA | ||||
| github.com/gocolly/colly v1.2.0 h1:qRz9YAn8FIH0qzgNUw+HT9UN7wm1oF9OBAilwEWpyrI= | ||||
| github.com/gocolly/colly v1.2.0/go.mod h1:Hof5T3ZswNVsOHYmba1u03W65HDWgpV5HifSuueE0EA= | ||||
| github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= | ||||
| github.com/gofiber/fiber/v2 v2.43.0 h1:yit3E4kHf178B60p5CQBa/3v+WVuziWMa/G2ZNyLJB0= | ||||
| github.com/gofiber/fiber/v2 v2.43.0/go.mod h1:mpS1ZNE5jU+u+BA4FbM+KKnUzJ4wzTK+FT2tG3tU+6I= | ||||
| github.com/gofiber/fiber/v2 v2.47.0 h1:EN5lHVCc+Pyqh5OEsk8fzRiifgwpbrP0rulQ4iNf3fs= | ||||
| github.com/gofiber/fiber/v2 v2.47.0/go.mod h1:mbFMVN1lQuzziTkkakgtKKdjfsXSw9BKR5lmcNksUoU= | ||||
| @@ -272,7 +268,6 @@ github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47 | ||||
| github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= | ||||
| github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= | ||||
| github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= | ||||
| github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= | ||||
| github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= | ||||
| github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= | ||||
| github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= | ||||
| @@ -288,7 +283,6 @@ github.com/kennygrant/sanitize v1.2.4 h1:gN25/otpP5vAsO2djbMhF/LQX6R7+O1TB4yv8Nz | ||||
| github.com/kennygrant/sanitize v1.2.4/go.mod h1:LGsjYYtgxbetdg5owWB2mpgUL6e2nfw2eObZ0u0qvak= | ||||
| github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= | ||||
| github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= | ||||
| github.com/klauspost/compress v1.16.3 h1:XuJt9zzcnaz6a16/OU53ZjWp/v7/42WcR5t2a0PcNQY= | ||||
| github.com/klauspost/compress v1.16.3/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= | ||||
| github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I= | ||||
| github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= | ||||
| @@ -317,8 +311,6 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky | ||||
| github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= | ||||
| github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= | ||||
| github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= | ||||
| github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= | ||||
| github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= | ||||
| github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= | ||||
| github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= | ||||
| github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= | ||||
| @@ -396,8 +388,6 @@ github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY52 | ||||
| github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= | ||||
| github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= | ||||
| github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= | ||||
| github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= | ||||
| github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= | ||||
| github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= | ||||
| github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= | ||||
| github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= | ||||
| @@ -434,7 +424,6 @@ github.com/tinylib/msgp v1.1.8/go.mod h1:qkpG+2ldGg4xRFmx+jfTvZPxfGFhi64BcnL9vkC | ||||
| github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= | ||||
| github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= | ||||
| github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= | ||||
| github.com/valyala/fasthttp v1.45.0 h1:zPkkzpIn8tdHZUrVa6PzYd0i5verqiPSkgTd3bSUcpA= | ||||
| github.com/valyala/fasthttp v1.45.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA= | ||||
| github.com/valyala/fasthttp v1.48.0 h1:oJWvHb9BIZToTQS3MuQ2R3bJZiNSa2KiNdeI8A+79Tc= | ||||
| github.com/valyala/fasthttp v1.48.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA= | ||||
| @@ -563,7 +552,6 @@ golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= | ||||
| golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= | ||||
| golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= | ||||
| golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= | ||||
| golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= | ||||
| golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= | ||||
| golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= | ||||
| golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= | ||||
| @@ -670,7 +658,6 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc | ||||
| golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= | ||||
| golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= | ||||
| @@ -694,7 +681,6 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= | ||||
| golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= | ||||
| golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= | ||||
| golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= | ||||
| golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= | ||||
| golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= | ||||
| golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= | ||||
| golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= | ||||
| @@ -909,8 +895,6 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba | ||||
| google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= | ||||
| google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= | ||||
| google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= | ||||
| google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= | ||||
| google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= | ||||
| google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= | ||||
| google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= | ||||
| gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= | ||||
|   | ||||
| @@ -21,7 +21,6 @@ func HandleSourceLanguages(c *fiber.Ctx) error { | ||||
| 		data = utils.LangListDeepl("sl") | ||||
| 	} else if engine == "watson" { | ||||
| 		data = utils.LangListWatson("sl") | ||||
| 	} | ||||
| 	} else if engine == "yandex" { | ||||
| 		data = utils.LangListYandex("sl") | ||||
| 	} | ||||
| @@ -43,7 +42,6 @@ func HandleTargetLanguages(c *fiber.Ctx) error { | ||||
| 		data = utils.LangListDeepl("tl") | ||||
| 	} else if engine == "watson" { | ||||
| 		data = utils.LangListWatson("tl") | ||||
| 	} | ||||
| 	} else if engine == "yandex" { | ||||
| 		data = utils.LangListYandex("tl") | ||||
| 	} | ||||
| @@ -52,7 +50,7 @@ func HandleTargetLanguages(c *fiber.Ctx) error { | ||||
| func HandleTTS(c *fiber.Ctx) error { | ||||
| 	engine := c.Query("engine") | ||||
| 	lang := c.Query("lang") | ||||
| 	text := c.Query("text")  | ||||
| 	text := c.Query("text") | ||||
| 	// Why does go not have an andor statement :( | ||||
| 	if engine == "" { | ||||
| 		return c.SendStatus(fiber.StatusBadRequest) | ||||
| @@ -67,6 +65,6 @@ func HandleTTS(c *fiber.Ctx) error { | ||||
| 	} else if engine == "reverso" { | ||||
| 		data = utils.TTSReverso(lang, text) | ||||
| 	} | ||||
|   	c.Set("Content-Type", "audio/mpeg") | ||||
| 	c.Set("Content-Type", "audio/mpeg") | ||||
| 	return c.Send([]byte(data)) | ||||
| } | ||||
|   | ||||
| @@ -1,20 +1,27 @@ | ||||
| package pages | ||||
|  | ||||
| import ( | ||||
| 	"os" | ||||
| 	"runtime" | ||||
|  | ||||
| 	"codeberg.org/aryak/simplytranslate/utils" | ||||
| 	"fmt" | ||||
| 	"github.com/gofiber/fiber/v2" | ||||
| 	"runtime" | ||||
| ) | ||||
|  | ||||
| func HandleIndex(c *fiber.Ctx) error { | ||||
| 	// Check if all required queries are present | ||||
| 	m := c.Queries() | ||||
| 	sl, _ := m["sl"] | ||||
| 	tl, _ := m["tl"] | ||||
| 	engine, _ := m["engine"] | ||||
| 	text, _ := m["text"] | ||||
| 	if sl != "" && tl != "" && engine != "" && text != "" { | ||||
| 		fmt.Println("Work") | ||||
| 	} | ||||
|  | ||||
| 	return c.Render("index", fiber.Map{ | ||||
| 		"host":         c.Hostname(), | ||||
| 		"branch":       utils.Branch, | ||||
| 		"version":      utils.Version(), | ||||
| 		"fiberversion": fiber.Version, | ||||
| 		"goversion":    runtime.Version(), | ||||
| 		"setupstatus":  os.Getenv("SIMPLYTRANSLATE_SETUP_COMPLETE"), | ||||
| 	}) | ||||
| } | ||||
|   | ||||
| @@ -47,8 +47,8 @@ func Serve(port string) { | ||||
| 			} | ||||
| 			link := strings.TrimPrefix(err.Error(), "Cannot GET ") | ||||
| 			err = ctx.Status(code).Render("error", fiber.Map{ | ||||
| 				"error":  err, | ||||
| 				"link":   link, | ||||
| 				"error": err, | ||||
| 				"link":  link, | ||||
| 			}) | ||||
| 			if err != nil { | ||||
| 				return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") | ||||
|   | ||||
| @@ -17,14 +17,14 @@ func TranslateGoogle(to string, from string, text string) string { | ||||
| 		answer = e.Text | ||||
| 	}) | ||||
| 	type Options struct { | ||||
| 	  To string `url:"tl"` | ||||
| 	  UI string `url:"hl"` | ||||
| 	  From string `url:"sl"` | ||||
| 	  Text string `url:"q"` | ||||
| 		To   string `url:"tl"` | ||||
| 		UI   string `url:"hl"` | ||||
| 		From string `url:"sl"` | ||||
| 		Text string `url:"q"` | ||||
| 	} | ||||
| 	opt := Options{ to, to, from, text } | ||||
| 	opt := Options{to, to, from, text} | ||||
| 	v, _ := query.Values(opt) | ||||
| 	url := "https://translate.google.com/m?"+v.Encode() | ||||
| 	url := "https://translate.google.com/m?" + v.Encode() | ||||
| 	sc.Visit(url) | ||||
| 	return answer | ||||
| } | ||||
| @@ -36,7 +36,7 @@ func TranslateReverso(to string, from string, query string) string { | ||||
| 	return answer | ||||
| } | ||||
| func TranslateLibreTranslate(to string, from string, query string) string { | ||||
| 	json := []byte(`{"q":"`+query+`","source":"`+from+`","target":"`+to+`"}`) | ||||
| 	json := []byte(`{"q":"` + query + `","source":"` + from + `","target":"` + to + `"}`) | ||||
| 	// TODO: Make it configurable | ||||
| 	libreTranslateOut := PostRequest("https://translate.argosopentech.com/translate", json) | ||||
| 	gjsonArr := libreTranslateOut.Get("translatedText").Array() | ||||
| @@ -44,24 +44,24 @@ func TranslateLibreTranslate(to string, from string, query string) string { | ||||
| 	return answer | ||||
| } | ||||
| func TranslateWatson(to string, from string, query string) string { | ||||
| 	json := []byte(`{"text":"`+query+`","source":"`+from+`","target":"`+to+`"}`) | ||||
| 	watsonOut:= PostRequest("https://www.ibm.com/demos/live/watson-language-translator/api/translate/text", json) | ||||
| 	json := []byte(`{"text":"` + query + `","source":"` + from + `","target":"` + to + `"}`) | ||||
| 	watsonOut := PostRequest("https://www.ibm.com/demos/live/watson-language-translator/api/translate/text", json) | ||||
| 	gjsonArr := watsonOut.Get("payload.translations.0.translation").Array() | ||||
| 	answer := gjsonArr[0].String() | ||||
| 	return answer | ||||
| } | ||||
| func TranslateYandex(to string, from string, text string) string { | ||||
| 	type Options struct { | ||||
| 	  Translate string `url:"lang"` | ||||
| 	  Text string `url:"text"` | ||||
| 	  Srv string `url:"srv"` | ||||
| 	  Id string `url:"id"` | ||||
| 	  Reason string `url:"reason"` | ||||
| 		Translate string `url:"lang"` | ||||
| 		Text      string `url:"text"` | ||||
| 		Srv       string `url:"srv"` | ||||
| 		Id        string `url:"id"` | ||||
| 		Reason    string `url:"reason"` | ||||
| 	} | ||||
| 	opt := Options{ from+"-"+to, text, "tr-mobile", "c2317111.64bac36a.ab16ef22.74722d6d6f62696c65-0-0", "submit"} | ||||
| 	opt := Options{from + "-" + to, text, "tr-mobile", "c2317111.64bac36a.ab16ef22.74722d6d6f62696c65-0-0", "submit"} | ||||
| 	v, _ := query.Values(opt) | ||||
|  | ||||
| 	yandexOut := GetRequest("https://translate.yandex.net/api/v1/tr.json/translate?"+v.Encode()) | ||||
| 	yandexOut := GetRequest("https://translate.yandex.net/api/v1/tr.json/translate?" + v.Encode()) | ||||
| 	gjsonArr := yandexOut.Get("text.0").Array() | ||||
| 	answer := gjsonArr[0].String() | ||||
| 	return answer | ||||
|   | ||||
| @@ -130,4 +130,3 @@ func LangListDeepl(listType string) []List { | ||||
| 	} | ||||
| 	return ListData | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -5,7 +5,6 @@ type List struct { | ||||
| 	Id   string | ||||
| } | ||||
|  | ||||
|  | ||||
| func LangListReverso(listType string) []List { | ||||
| 	// IDs got from original simplytranslate-web and trial and error. Usually first three letters of language. | ||||
| 	var ListData = []List{ | ||||
|   | ||||
| @@ -2,414 +2,414 @@ package utils | ||||
|  | ||||
| func LangListYandex(listType string) []List { | ||||
| 	var ListData = []List{ | ||||
| List{ | ||||
| Id: "af", | ||||
| Name: "Afrikaans", | ||||
| }, | ||||
| List{ | ||||
| Id: "sq", | ||||
| Name: "Albanian", | ||||
| }, | ||||
| List{ | ||||
| Id: "am", | ||||
| Name: "Amharic", | ||||
| }, | ||||
| List{ | ||||
| Id: "ar", | ||||
| Name: "Arabic", | ||||
| }, | ||||
| List{ | ||||
| Id: "hy", | ||||
| Name: "Armenian", | ||||
| }, | ||||
| List{ | ||||
| Id: "az", | ||||
| Name: "Azerbaijani", | ||||
| }, | ||||
| List{ | ||||
| Id: "ba", | ||||
| Name: "Bashkir", | ||||
| }, | ||||
| List{ | ||||
| Id: "eu", | ||||
| Name: "Basque", | ||||
| }, | ||||
| List{ | ||||
| Id: "be", | ||||
| Name: "Belarusian", | ||||
| }, | ||||
| List{ | ||||
| Id: "bn", | ||||
| Name: "Bengali", | ||||
| }, | ||||
| List{ | ||||
| Id: "bs", | ||||
| Name: "Bosnian", | ||||
| }, | ||||
| List{ | ||||
| Id: "bg", | ||||
| Name: "Bulgarian", | ||||
| }, | ||||
| List{ | ||||
| Id: "my", | ||||
| Name: "Burmese", | ||||
| }, | ||||
| List{ | ||||
| Id: "ca", | ||||
| Name: "Catalan", | ||||
| }, | ||||
| List{ | ||||
| Id: "ceb", | ||||
| Name: "Cebuano", | ||||
| }, | ||||
| List{ | ||||
| Id: "zh", | ||||
| Name: "Chinese", | ||||
| }, | ||||
| List{ | ||||
| Id: "cv", | ||||
| Name: "Chuvash", | ||||
| }, | ||||
| List{ | ||||
| Id: "hr", | ||||
| Name: "Croatian", | ||||
| }, | ||||
| List{ | ||||
| Id: "cs", | ||||
| Name: "Czech", | ||||
| }, | ||||
| List{ | ||||
| Id: "da", | ||||
| Name: "Danish", | ||||
| }, | ||||
| List{ | ||||
| Id: "nl", | ||||
| Name: "Dutch", | ||||
| }, | ||||
| List{ | ||||
| Id: "sjn", | ||||
| Name: "Elvish (Sindarin)", | ||||
| }, | ||||
| List{ | ||||
| Id: "emj", | ||||
| Name: "Emoji", | ||||
| }, | ||||
| List{ | ||||
| Id: "en", | ||||
| Name: "English", | ||||
| }, | ||||
| List{ | ||||
| Id: "eo", | ||||
| Name: "Esperanto", | ||||
| }, | ||||
| List{ | ||||
| Id: "et", | ||||
| Name: "Estonian", | ||||
| }, | ||||
| List{ | ||||
| Id: "fi", | ||||
| Name: "Finnish", | ||||
| }, | ||||
| List{ | ||||
| Id: "fr", | ||||
| Name: "French", | ||||
| }, | ||||
| List{ | ||||
| Id: "gl", | ||||
| Name: "Galician", | ||||
| }, | ||||
| List{ | ||||
| Id: "ka", | ||||
| Name: "Georgian", | ||||
| }, | ||||
| List{ | ||||
| Id: "de", | ||||
| Name: "German", | ||||
| }, | ||||
| List{ | ||||
| Id: "el", | ||||
| Name: "Greek", | ||||
| }, | ||||
| List{ | ||||
| Id: "gu", | ||||
| Name: "Gujarati", | ||||
| }, | ||||
| List{ | ||||
| Id: "ht", | ||||
| Name: "Haitian", | ||||
| }, | ||||
| List{ | ||||
| Id: "he", | ||||
| Name: "Hebrew", | ||||
| }, | ||||
| List{ | ||||
| Id: "mrj", | ||||
| Name: "Hill Mari", | ||||
| }, | ||||
| List{ | ||||
| Id: "hi", | ||||
| Name: "Hindi", | ||||
| }, | ||||
| List{ | ||||
| Id: "hu", | ||||
| Name: "Hungarian", | ||||
| }, | ||||
| List{ | ||||
| Id: "is", | ||||
| Name: "Icelandic", | ||||
| }, | ||||
| List{ | ||||
| Id: "id", | ||||
| Name: "Indonesian", | ||||
| }, | ||||
| List{ | ||||
| Id: "ga", | ||||
| Name: "Irish", | ||||
| }, | ||||
| List{ | ||||
| Id: "it", | ||||
| Name: "Italian", | ||||
| }, | ||||
| List{ | ||||
| Id: "ja", | ||||
| Name: "Japanese", | ||||
| }, | ||||
| List{ | ||||
| Id: "jv", | ||||
| Name: "Javanese", | ||||
| }, | ||||
| List{ | ||||
| Id: "kn", | ||||
| Name: "Kannada", | ||||
| }, | ||||
| List{ | ||||
| Id: "kazlat", | ||||
| Name: "Kazakh (Latin)", | ||||
| }, | ||||
| List{ | ||||
| Id: "kk", | ||||
| Name: "Kazakh", | ||||
| }, | ||||
| List{ | ||||
| Id: "km", | ||||
| Name: "Khmer", | ||||
| }, | ||||
| List{ | ||||
| Id: "ko", | ||||
| Name: "Korean", | ||||
| }, | ||||
| List{ | ||||
| Id: "ky", | ||||
| Name: "Kyrgyz", | ||||
| }, | ||||
| List{ | ||||
| Id: "lo", | ||||
| Name: "Lao", | ||||
| }, | ||||
| List{ | ||||
| Id: "la", | ||||
| Name: "Latin", | ||||
| }, | ||||
| List{ | ||||
| Id: "lv", | ||||
| Name: "Latvian", | ||||
| }, | ||||
| List{ | ||||
| Id: "lt", | ||||
| Name: "Lithuanian", | ||||
| }, | ||||
| List{ | ||||
| Id: "lb", | ||||
| Name: "Luxembourgish", | ||||
| }, | ||||
| List{ | ||||
| Id: "mk", | ||||
| Name: "Macedonian", | ||||
| }, | ||||
| List{ | ||||
| Id: "mg", | ||||
| Name: "Malagasy", | ||||
| }, | ||||
| List{ | ||||
| Id: "ms", | ||||
| Name: "Malay", | ||||
| }, | ||||
| List{ | ||||
| Id: "ml", | ||||
| Name: "Malayalam", | ||||
| }, | ||||
| List{ | ||||
| Id: "mt", | ||||
| Name: "Maltese", | ||||
| }, | ||||
| List{ | ||||
| Id: "mi", | ||||
| Name: "Maori", | ||||
| }, | ||||
| List{ | ||||
| Id: "mr", | ||||
| Name: "Marathi", | ||||
| }, | ||||
| List{ | ||||
| Id: "mhr", | ||||
| Name: "Mari", | ||||
| }, | ||||
| List{ | ||||
| Id: "mn", | ||||
| Name: "Mongolian", | ||||
| }, | ||||
| List{ | ||||
| Id: "ne", | ||||
| Name: "Nepali", | ||||
| }, | ||||
| List{ | ||||
| Id: "no", | ||||
| Name: "Norwegian", | ||||
| }, | ||||
| List{ | ||||
| Id: "pap", | ||||
| Name: "Papiamento", | ||||
| }, | ||||
| List{ | ||||
| Id: "fa", | ||||
| Name: "Persian", | ||||
| }, | ||||
| List{ | ||||
| Id: "pl", | ||||
| Name: "Polish", | ||||
| }, | ||||
| List{ | ||||
| Id: "pt-BR", | ||||
| Name: "Portuguese (Brazilian)", | ||||
| }, | ||||
| List{ | ||||
| Id: "pt", | ||||
| Name: "Portuguese", | ||||
| }, | ||||
| List{ | ||||
| Id: "pa", | ||||
| Name: "Punjabi", | ||||
| }, | ||||
| List{ | ||||
| Id: "ro", | ||||
| Name: "Romanian", | ||||
| }, | ||||
| List{ | ||||
| Id: "ru", | ||||
| Name: "Russian", | ||||
| }, | ||||
| List{ | ||||
| Id: "gd", | ||||
| Name: "Scottish Gaelic", | ||||
| }, | ||||
| List{ | ||||
| Id: "sr-Latn", | ||||
| Name: "Serbian (Latin)", | ||||
| }, | ||||
| List{ | ||||
| Id: "sr", | ||||
| Name: "Serbian", | ||||
| }, | ||||
| List{ | ||||
| Id: "si", | ||||
| Name: "Sinhalese", | ||||
| }, | ||||
| List{ | ||||
| Id: "sk", | ||||
| Name: "Slovak", | ||||
| }, | ||||
| List{ | ||||
| Id: "sl", | ||||
| Name: "Slovenian", | ||||
| }, | ||||
| List{ | ||||
| Id: "es", | ||||
| Name: "Spanish", | ||||
| }, | ||||
| List{ | ||||
| Id: "su", | ||||
| Name: "Sundanese", | ||||
| }, | ||||
| List{ | ||||
| Id: "sw", | ||||
| Name: "Swahili", | ||||
| }, | ||||
| List{ | ||||
| Id: "sv", | ||||
| Name: "Swedish", | ||||
| }, | ||||
| List{ | ||||
| Id: "tl", | ||||
| Name: "Tagalog", | ||||
| }, | ||||
| List{ | ||||
| Id: "tg", | ||||
| Name: "Tajik", | ||||
| }, | ||||
| List{ | ||||
| Id: "ta", | ||||
| Name: "Tamil", | ||||
| }, | ||||
| List{ | ||||
| Id: "tt", | ||||
| Name: "Tatar", | ||||
| }, | ||||
| List{ | ||||
| Id: "te", | ||||
| Name: "Telugu", | ||||
| }, | ||||
| List{ | ||||
| Id: "th", | ||||
| Name: "Thai", | ||||
| }, | ||||
| List{ | ||||
| Id: "tr", | ||||
| Name: "Turkish", | ||||
| }, | ||||
| List{ | ||||
| Id: "udm", | ||||
| Name: "Udmurt", | ||||
| }, | ||||
| List{ | ||||
| Id: "uk", | ||||
| Name: "Ukrainian", | ||||
| }, | ||||
| List{ | ||||
| Id: "ur", | ||||
| Name: "Urdu", | ||||
| }, | ||||
| List{ | ||||
| Id: "uzbcyr", | ||||
| Name: "Uzbek (Cyrillic)", | ||||
| }, | ||||
| List{ | ||||
| Id: "uz", | ||||
| Name: "Uzbek", | ||||
| }, | ||||
| List{ | ||||
| Id: "vi", | ||||
| Name: "Vietnamese", | ||||
| }, | ||||
| List{ | ||||
| Id: "cy", | ||||
| Name: "Welsh", | ||||
| }, | ||||
| List{ | ||||
| Id: "xh", | ||||
| Name: "Xhosa", | ||||
| }, | ||||
| List{ | ||||
| Id: "sah", | ||||
| Name: "Yakut", | ||||
| }, | ||||
| List{ | ||||
| Id: "yi", | ||||
| Name: "Yiddish", | ||||
| }, | ||||
| List{ | ||||
| Id: "zu", | ||||
| Name: "Zulu", | ||||
| }, | ||||
| 		List{ | ||||
| 			Id:   "af", | ||||
| 			Name: "Afrikaans", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "sq", | ||||
| 			Name: "Albanian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "am", | ||||
| 			Name: "Amharic", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ar", | ||||
| 			Name: "Arabic", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "hy", | ||||
| 			Name: "Armenian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "az", | ||||
| 			Name: "Azerbaijani", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ba", | ||||
| 			Name: "Bashkir", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "eu", | ||||
| 			Name: "Basque", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "be", | ||||
| 			Name: "Belarusian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "bn", | ||||
| 			Name: "Bengali", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "bs", | ||||
| 			Name: "Bosnian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "bg", | ||||
| 			Name: "Bulgarian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "my", | ||||
| 			Name: "Burmese", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ca", | ||||
| 			Name: "Catalan", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ceb", | ||||
| 			Name: "Cebuano", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "zh", | ||||
| 			Name: "Chinese", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "cv", | ||||
| 			Name: "Chuvash", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "hr", | ||||
| 			Name: "Croatian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "cs", | ||||
| 			Name: "Czech", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "da", | ||||
| 			Name: "Danish", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "nl", | ||||
| 			Name: "Dutch", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "sjn", | ||||
| 			Name: "Elvish (Sindarin)", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "emj", | ||||
| 			Name: "Emoji", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "en", | ||||
| 			Name: "English", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "eo", | ||||
| 			Name: "Esperanto", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "et", | ||||
| 			Name: "Estonian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "fi", | ||||
| 			Name: "Finnish", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "fr", | ||||
| 			Name: "French", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "gl", | ||||
| 			Name: "Galician", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ka", | ||||
| 			Name: "Georgian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "de", | ||||
| 			Name: "German", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "el", | ||||
| 			Name: "Greek", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "gu", | ||||
| 			Name: "Gujarati", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ht", | ||||
| 			Name: "Haitian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "he", | ||||
| 			Name: "Hebrew", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "mrj", | ||||
| 			Name: "Hill Mari", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "hi", | ||||
| 			Name: "Hindi", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "hu", | ||||
| 			Name: "Hungarian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "is", | ||||
| 			Name: "Icelandic", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "id", | ||||
| 			Name: "Indonesian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ga", | ||||
| 			Name: "Irish", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "it", | ||||
| 			Name: "Italian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ja", | ||||
| 			Name: "Japanese", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "jv", | ||||
| 			Name: "Javanese", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "kn", | ||||
| 			Name: "Kannada", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "kazlat", | ||||
| 			Name: "Kazakh (Latin)", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "kk", | ||||
| 			Name: "Kazakh", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "km", | ||||
| 			Name: "Khmer", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ko", | ||||
| 			Name: "Korean", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ky", | ||||
| 			Name: "Kyrgyz", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "lo", | ||||
| 			Name: "Lao", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "la", | ||||
| 			Name: "Latin", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "lv", | ||||
| 			Name: "Latvian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "lt", | ||||
| 			Name: "Lithuanian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "lb", | ||||
| 			Name: "Luxembourgish", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "mk", | ||||
| 			Name: "Macedonian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "mg", | ||||
| 			Name: "Malagasy", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ms", | ||||
| 			Name: "Malay", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ml", | ||||
| 			Name: "Malayalam", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "mt", | ||||
| 			Name: "Maltese", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "mi", | ||||
| 			Name: "Maori", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "mr", | ||||
| 			Name: "Marathi", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "mhr", | ||||
| 			Name: "Mari", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "mn", | ||||
| 			Name: "Mongolian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ne", | ||||
| 			Name: "Nepali", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "no", | ||||
| 			Name: "Norwegian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "pap", | ||||
| 			Name: "Papiamento", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "fa", | ||||
| 			Name: "Persian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "pl", | ||||
| 			Name: "Polish", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "pt-BR", | ||||
| 			Name: "Portuguese (Brazilian)", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "pt", | ||||
| 			Name: "Portuguese", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "pa", | ||||
| 			Name: "Punjabi", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ro", | ||||
| 			Name: "Romanian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ru", | ||||
| 			Name: "Russian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "gd", | ||||
| 			Name: "Scottish Gaelic", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "sr-Latn", | ||||
| 			Name: "Serbian (Latin)", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "sr", | ||||
| 			Name: "Serbian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "si", | ||||
| 			Name: "Sinhalese", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "sk", | ||||
| 			Name: "Slovak", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "sl", | ||||
| 			Name: "Slovenian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "es", | ||||
| 			Name: "Spanish", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "su", | ||||
| 			Name: "Sundanese", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "sw", | ||||
| 			Name: "Swahili", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "sv", | ||||
| 			Name: "Swedish", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "tl", | ||||
| 			Name: "Tagalog", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "tg", | ||||
| 			Name: "Tajik", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ta", | ||||
| 			Name: "Tamil", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "tt", | ||||
| 			Name: "Tatar", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "te", | ||||
| 			Name: "Telugu", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "th", | ||||
| 			Name: "Thai", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "tr", | ||||
| 			Name: "Turkish", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "udm", | ||||
| 			Name: "Udmurt", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "uk", | ||||
| 			Name: "Ukrainian", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "ur", | ||||
| 			Name: "Urdu", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "uzbcyr", | ||||
| 			Name: "Uzbek (Cyrillic)", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "uz", | ||||
| 			Name: "Uzbek", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "vi", | ||||
| 			Name: "Vietnamese", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "cy", | ||||
| 			Name: "Welsh", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "xh", | ||||
| 			Name: "Xhosa", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "sah", | ||||
| 			Name: "Yakut", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "yi", | ||||
| 			Name: "Yiddish", | ||||
| 		}, | ||||
| 		List{ | ||||
| 			Id:   "zu", | ||||
| 			Name: "Zulu", | ||||
| 		}, | ||||
| 	} | ||||
| 	return ListData | ||||
| } | ||||
|   | ||||
| @@ -10,7 +10,7 @@ package utils | ||||
| //	Name string | ||||
| //	Id   string | ||||
| //} | ||||
| //// To get new language lists for google yandex and libertranslate.  | ||||
| //// To get new language lists for google yandex and libertranslate. | ||||
| //func LangListGoogle(listType string) []List { | ||||
| //	UserAgent, ok := os.LookupEnv("SIMPLYTRANSLATE_USER_AGENT") | ||||
| //	if !ok { | ||||
| @@ -42,7 +42,7 @@ package utils | ||||
| //	for _, r := range gjsonArr { | ||||
| //		code := r.Get("code").String() | ||||
| //		name := r.Get("name").String() | ||||
| //	 | ||||
| // | ||||
| //		ListData = append(ListData, List{Id: code, Name: name}) | ||||
| //	} | ||||
| //	if listType == "sl" { | ||||
|   | ||||
							
								
								
									
										78
									
								
								utils/tts.go
									
									
									
									
									
								
							
							
						
						
									
										78
									
								
								utils/tts.go
									
									
									
									
									
								
							| @@ -1,29 +1,29 @@ | ||||
| package utils | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| 	"encoding/base64" | ||||
| 	"github.com/carlmjohnson/requests" | ||||
| 	"github.com/google/go-querystring/query" | ||||
| 	"os" | ||||
| 	"context" | ||||
| 	"encoding/base64" | ||||
| ) | ||||
|  | ||||
| type ReversoTTS struct { | ||||
| 	Id string | ||||
| 	Id    string | ||||
| 	Voice string | ||||
| } | ||||
|  | ||||
| func TTSGoogle(lang string, text string) string { | ||||
| 	type Options struct { | ||||
| 	  Lang string `url:"tl"` | ||||
| 	  Text string `url:"q"` | ||||
| 	  Client string `url:"client"` | ||||
| 		Lang   string `url:"tl"` | ||||
| 		Text   string `url:"q"` | ||||
| 		Client string `url:"client"` | ||||
| 	} | ||||
| 	opt := Options{ lang, text, "tw-ob" } | ||||
| 	opt := Options{lang, text, "tw-ob"} | ||||
| 	v, _ := query.Values(opt) | ||||
|  | ||||
| 	var file string | ||||
| 	url := "https://translate.google.com/translate_tts?"+v.Encode() | ||||
| 	url := "https://translate.google.com/translate_tts?" + v.Encode() | ||||
| 	err := requests. | ||||
| 		URL(url). | ||||
| 		ToString(&file). | ||||
| @@ -37,105 +37,105 @@ func TTSReverso(lang string, text string) string { | ||||
| 	var TTSData = []ReversoTTS{ | ||||
| 		// http://voice.reverso.net/RestPronunciation.svc/v1/output=json/GetAvailableVoices with randomized deduplication | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "ar", | ||||
| 			Id:    "ar", | ||||
| 			Voice: "Mehdi22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "zh", | ||||
| 			Id:    "zh", | ||||
| 			Voice: "Lulu22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "cz", | ||||
| 			Id:    "cz", | ||||
| 			Voice: "Eliska22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "dk", | ||||
| 			Id:    "dk", | ||||
| 			Voice: "Mette22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "nl", | ||||
| 			Id:    "nl", | ||||
| 			Voice: "Daan22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "en", | ||||
| 			Id:    "en", | ||||
| 			Voice: "Will22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "fr", | ||||
| 			Id:    "fr", | ||||
| 			Voice: "Margaux22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "de", | ||||
| 			Id:    "de", | ||||
| 			Voice: "Andreas22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "gr", | ||||
| 			Id:    "gr", | ||||
| 			Voice: "Dimitris22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "heb", | ||||
| 			Id:    "heb", | ||||
| 			Voice: "he-IL-Asaf", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "it", | ||||
| 			Id:    "it", | ||||
| 			Voice: "Chiara22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "jp", | ||||
| 			Id:    "jp", | ||||
| 			Voice: "Sakura22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "kr", | ||||
| 			Id:    "kr", | ||||
| 			Voice: "Minji22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "pl", | ||||
| 			Id:    "pl", | ||||
| 			Voice: "Monika22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "pt", | ||||
| 			Id:    "pt", | ||||
| 			Voice: "Celia22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "ro", | ||||
| 			Id:    "ro", | ||||
| 			Voice: "ro-RO-Andrei", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "ru", | ||||
| 			Id:    "ru", | ||||
| 			Voice: "Alyona22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "es", | ||||
| 			Id:    "es", | ||||
| 			Voice: "Antonio22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "se", | ||||
| 			Id:    "se", | ||||
| 			Voice: "Erik22k", | ||||
| 		}, | ||||
| 		ReversoTTS{ | ||||
| 			Id:   "tr", | ||||
| 			Id:    "tr", | ||||
| 			Voice: "Ipek22k", | ||||
| 		}, | ||||
| 	} | ||||
| 	// https://voice.reverso.net/RestPronunciation.svc/v1/output=json/GetVoiceStream/voiceName=Lulu22k?voiceSpeed=80&inputText=6K%20V6aqM Base64 input text | ||||
| 	text2 := base64.StdEncoding.EncodeToString([]byte(text)) | ||||
|     var voice string | ||||
|     for _, s := range TTSData { | ||||
|         if s.Id == lang { | ||||
|             voice = s.Voice | ||||
|             break | ||||
|         } | ||||
|     } | ||||
| 	var voice string | ||||
| 	for _, s := range TTSData { | ||||
| 		if s.Id == lang { | ||||
| 			voice = s.Voice | ||||
| 			break | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	type Options struct { | ||||
| 	  VoiceSpeed int `url:"voiceSpeed"` | ||||
| 	  Text string `url:"inputText"` | ||||
| 		VoiceSpeed int    `url:"voiceSpeed"` | ||||
| 		Text       string `url:"inputText"` | ||||
| 	} | ||||
| 	opt := Options{ 80, text2 } | ||||
| 	opt := Options{80, text2} | ||||
| 	v, _ := query.Values(opt) | ||||
|  | ||||
| 	var file string | ||||
| 	url := "https://voice.reverso.net/RestPronunciation.svc/v1/output=json/GetVoiceStream/voiceName="+voice+"?"+v.Encode() | ||||
| 	url := "https://voice.reverso.net/RestPronunciation.svc/v1/output=json/GetVoiceStream/voiceName=" + voice + "?" + v.Encode() | ||||
|  | ||||
| 	UserAgent, ok := os.LookupEnv("SIMPLYTRANSLATE_USER_AGENT") | ||||
| 	if !ok { | ||||
|   | ||||
| @@ -2,6 +2,19 @@ | ||||
|  | ||||
| <main> | ||||
|   <h2>SimplyTranslate</h2> | ||||
|   <h3>Translate</h3> | ||||
|    | ||||
| 	<form action="/" method="get"> | ||||
| 	  <label for="textin">Text To Translate:</label> | ||||
| 	  <textarea id="textin" name="textin" rows="4" cols="50"></textarea> | ||||
| 	  <input type="checkbox" name="vehicle1" value="Bike"> | ||||
| 	  <label for="vehicle1"> I have a bike</label><br> | ||||
| 	  <input type="checkbox" name="vehicle2" value="Car"> | ||||
| 	  <label for="vehicle2"> I have a car</label><br> | ||||
| 	  <input type="checkbox" name="vehicle3" value="Boat" checked> | ||||
| 	  <label for="vehicle3"> I have a boat</label><br><br> | ||||
| 	  <input type="submit" value="Submit"> | ||||
| 	</form> | ||||
|   <h3>Info</h3> | ||||
|   {{ if eq .version "unknown, please build with Go 1.13+ or use Git"}} SimplyTranslate | ||||
|   version: <code>unknown</code> {{ else }} SimplyTranslate version: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user