diff options
Diffstat (limited to 'routers/init.go')
-rw-r--r-- | routers/init.go | 35 |
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 { |