mirror of
https://github.com/kirameki-cafe/Yumi.git
synced 2026-09-13 18:59:19 +00:00
Added localization support
This commit is contained in:
@@ -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")
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
Reference in New Issue
Block a user