diff --git a/packages/hydrooj/src/interface.ts b/packages/hydrooj/src/interface.ts index a5c2ce210..577b976da 100644 --- a/packages/hydrooj/src/interface.ts +++ b/packages/hydrooj/src/interface.ts @@ -736,7 +736,7 @@ export interface HydroGlobal { error: typeof import('./error'); Logger: typeof import('./logger').Logger; logger: typeof import('./logger').logger; - locales: Record | Record>>; + locales: Record & Record>>; } declare global { diff --git a/packages/hydrooj/src/lib/i18n.ts b/packages/hydrooj/src/lib/i18n.ts index 6cbab2161..bbf26464c 100644 --- a/packages/hydrooj/src/lib/i18n.ts +++ b/packages/hydrooj/src/lib/i18n.ts @@ -68,6 +68,9 @@ global.Hydro.locales = new Proxy(translations, { for (let i = s.length - 1; i; i--) Object.assign(result, s[i]); return result; }, + has(s, key: string) { + return !!s.find((i) => !!i[key]); + }, }); }, }) as any;