diff --git a/service.go b/service.go
index ad6afaf..687c16a 100644
--- a/service.go
+++ b/service.go
@@ -11,9 +11,11 @@
 	"path/filepath"
 
 	badger "github.com/dgraph-io/badger/v3"
+	ginI18n "github.com/gin-contrib/i18n"
 	"github.com/gin-gonic/gin"
 	"github.com/joho/godotenv"
 	"github.com/mattn/go-jsonpointer"
+	"golang.org/x/text/language"
 )
 
 var db *badger.DB
@@ -116,7 +118,19 @@
 }
 
 func setupRouter() *gin.Engine {
+	gin.SetMode(gin.ReleaseMode)
+
 	r := gin.Default()
+
+	// apply i18n middleware
+	r.Use(ginI18n.Localize(ginI18n.WithBundle(&ginI18n.BundleCfg{
+		RootPath:         "./i18n",
+		AcceptLanguage:   []language.Tag{language.German, language.English},
+		DefaultLanguage:  language.English,
+		UnmarshalFunc:    json.Unmarshal,
+		FormatBundleFile: "json",
+	})))
+
 	r.LoadHTMLGlob("templates/*")
 
 	korapServer := os.Getenv("KORAP_SERVER")
@@ -163,7 +177,10 @@
 	// Return widget page
 	r.GET("/", func(c *gin.Context) {
 		c.HTML(http.StatusOK, "main.html", gin.H{
-			"korapServer": korapServer,
+			"korapServer":  korapServer,
+			"title":        ginI18n.MustGetMessage("fulltext"),
+			"noAccess":     ginI18n.MustGetMessage("noAccess"),
+			"fromProvider": ginI18n.MustGetMessage("fromProvider"),
 		})
 	})
 
@@ -180,8 +197,6 @@
 }
 
 func main() {
-	gin.SetMode(gin.ReleaseMode)
-
 	if godotenv.Load() != nil {
 		log.Println(".env file not loaded.")
 	}
@@ -215,6 +230,7 @@
 			log.Fatal("Unable to commit")
 		}
 	}
+
 	r := setupRouter()
 
 	port := os.Getenv("KORAP_EXTERNAL_RESOURCES_PORT")
