aboutsummaryrefslogtreecommitdiffstats
path: root/routers/init.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/init.go')
-rw-r--r--routers/init.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/routers/init.go b/routers/init.go
index 72f55c809c..c891ec3149 100644
--- a/routers/init.go
+++ b/routers/init.go
@@ -25,6 +25,7 @@ import (
"code.gitea.io/gitea/modules/markup"
"code.gitea.io/gitea/modules/markup/external"
"code.gitea.io/gitea/modules/notification"
+ "code.gitea.io/gitea/modules/options"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/ssh"
"code.gitea.io/gitea/modules/task"
@@ -33,7 +34,9 @@ import (
mirror_service "code.gitea.io/gitea/services/mirror"
pull_service "code.gitea.io/gitea/services/pull"
+ "gitea.com/macaron/i18n"
"gitea.com/macaron/macaron"
+ unknwoni18n "github.com/unknwon/i18n"
)
func checkRunMode() {
@@ -79,6 +82,33 @@ func initDBEngine(ctx context.Context) (err error) {
return nil
}
+// InitLocales loads the locales
+func InitLocales() {
+ localeNames, err := options.Dir("locale")
+
+ if err != nil {
+ log.Fatal("Failed to list locale files: %v", err)
+ }
+ localFiles := make(map[string][]byte)
+
+ for _, name := range localeNames {
+ localFiles[name], err = options.Locale(name)
+
+ if err != nil {
+ log.Fatal("Failed to load %s locale file. %v", name, err)
+ }
+ }
+ i18n.I18n(i18n.Options{
+ SubURL: setting.AppSubURL,
+ Files: localFiles,
+ Langs: setting.Langs,
+ Names: setting.Names,
+ DefaultLang: "en-US",
+ Redirect: false,
+ CookieDomain: setting.SessionConfig.Domain,
+ })
+}
+
// GlobalInit is for global configuration reload-able.
func GlobalInit(ctx context.Context) {
setting.NewContext()
@@ -91,6 +121,11 @@ func GlobalInit(ctx context.Context) {
log.Trace("Custom path: %s", setting.CustomPath)
log.Trace("Log path: %s", setting.LogRootPath)
+ // Setup i18n
+ InitLocales()
+
+ log.Info("%s", unknwoni18n.Tr("en-US", "admin.dashboard.delete_repo_archives"))
+
NewServices()
if setting.InstallLock {