Added localization support

This commit is contained in:
2022-06-06 20:11:54 +07:00
parent 36d719835f
commit 060ebd07a0
4 changed files with 41 additions and 0 deletions
+6
View File
@@ -13,6 +13,7 @@ generator client {
model Guild { model Guild {
id String @id id String @id
prefix String @default(">") prefix String @default(">")
locale String @default("en")
isEnabled Boolean @default(true) isEnabled Boolean @default(true)
MembershipScreening_Enabled Boolean @default(false) MembershipScreening_Enabled Boolean @default(false)
@@ -22,3 +23,8 @@ model Guild {
ServiceAnnouncement_Enabled Boolean @default(false) ServiceAnnouncement_Enabled Boolean @default(false)
ServiceAnnouncement_Channel String? ServiceAnnouncement_Channel String?
} }
model User {
id String @id
locale String @default("en")
}
+2
View File
@@ -6,7 +6,9 @@ NativeException.process();
App.loadConfig(); App.loadConfig();
App.loadENV(); App.loadENV();
App.loadPrisma(); App.loadPrisma();
App.loadLocale();
App.loadDiscord(); App.loadDiscord();
App.load_osu(); App.load_osu();
export default App; export default App;
+6
View File
@@ -5,6 +5,7 @@ import Discord from './Discord';
import osu from './osuAPI'; import osu from './osuAPI';
import Logger from '../libs/Logger'; import Logger from '../libs/Logger';
import Locale from './Locale';
class App { class App {
public readonly versionNumber = `0.09`; public readonly versionNumber = `0.09`;
public readonly version = `${this.versionNumber}${ public readonly version = `${this.versionNumber}${
@@ -31,6 +32,11 @@ class App {
Discord.init(); Discord.init();
} }
public loadLocale(): void {
Logger.log('info', 'Loading Locale');
Locale.init();
}
public load_osu(): void { public load_osu(): void {
Logger.log('info', 'Loading osu! Client'); Logger.log('info', 'Loading osu! Client');
osu.init(); osu.init();
+27
View File
@@ -0,0 +1,27 @@
import { I18n } from 'i18n';
import * as path from 'path';
import Logger from '../libs/Logger';
class Locale {
public localePath: string;
constructor() {
this.localePath = path.join(process.cwd(), 'locales/');
}
public init(): void {
Logger.log('info', 'Loaded locales: ' + this.getLocaleProvider("en").getLocales().join(', '));
}
public getLocaleProvider(locale: string) {
const i18n = new I18n();
i18n.configure({
directory: this.localePath
})
i18n.setLocale(locale);
return i18n;
}
}
export default new Locale();