diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index fe18d595f..c7dc045a6 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.39.1", + "version": "2.39.2", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/service/server.ts b/packages/hydrooj/src/service/server.ts index 1c945be6e..3d47a0158 100644 --- a/packages/hydrooj/src/service/server.ts +++ b/packages/hydrooj/src/service/server.ts @@ -312,7 +312,7 @@ export class HandlerCommon { translate(str: string) { if (!str) return ''; - return str.toString().translate(this.user?.viewLang || system.get('server.language'), this.session?.viewLang); + return str.toString().translate(this.user?.viewLang || this.session?.viewLang || system.get('server.language')); } renderTitle(str: string) { @@ -527,7 +527,8 @@ export class Handler extends HandlerCommon { this.session.scope = PERM.PERM_ALL.toString(); this.user = await user.getById(domainId, this.session.uid, this.session.scope); } - if (this.user._id === 0 && this.session.viewLang) this.user.viewLang = this.session.viewLang; + if (this.user._id !== 0 && this.session.viewLang) this.user.viewLang = this.session.viewLang; + else if (this.user._id === 0) delete this.user.viewLang; this.user.avatarUrl = avatar(this.user.avatar, 128); this.csrfToken = this.getCsrfToken(this.session._id || String.random(32)); this.UiContext.csrfToken = this.csrfToken;