2024-07-28 02:37:31 -04:00
|
|
|
const fs = require('fs')
|
|
|
|
const languages = {}
|
2024-08-12 05:13:32 -04:00
|
|
|
|
2024-07-27 02:39:18 -04:00
|
|
|
const loadplug = (botno) => {
|
|
|
|
const bpl = fs.readdirSync('util/lang')
|
|
|
|
for (const i in bpl) {
|
2024-07-28 02:37:31 -04:00
|
|
|
if (!bpl[i].endsWith('.json')) {
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
languages[bpl[i].split('.')[0]] = require(`./lang/${bpl[i]}`)
|
|
|
|
} catch (e) { console.log(e) }
|
2024-07-27 02:39:18 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
loadplug()
|
2024-08-12 05:13:32 -04:00
|
|
|
|
|
|
|
const getMessage = function (l, msg, with2) {
|
2024-07-28 02:37:31 -04:00
|
|
|
let message = msg.replace(/%%/g, '\ue123')
|
2024-08-12 05:13:32 -04:00
|
|
|
if (languages[l] && languages[l][message] !== undefined) {
|
2024-07-27 02:39:18 -04:00
|
|
|
message = languages[l][message].replace(/%%/g, '\ue123')
|
2024-08-12 05:13:32 -04:00
|
|
|
} else if (languages['en-US'] && languages['en-US'][message] !== undefined) {
|
2024-07-28 02:37:31 -04:00
|
|
|
message = languages['en-US'][message].replace(/%%/g, '\ue123')
|
2024-07-27 02:39:18 -04:00
|
|
|
}
|
2024-07-28 02:37:31 -04:00
|
|
|
for (const i in with2) {
|
2024-07-27 02:39:18 -04:00
|
|
|
message = message.replace(/%s/, with2[i].replace(/%s/g, '\ue124').replace(/\$s/g, '\ue125'))
|
2024-07-28 02:37:31 -04:00
|
|
|
message = message.replaceAll(`%${+i + 1}$s`, with2[i].replace(/%s/g, '\ue124').replace(/\$s/g, '\ue125'))
|
2024-07-27 02:39:18 -04:00
|
|
|
}
|
|
|
|
return message.replace(/\ue123/g, '%').replace(/\ue124/g, '%s').replace(/\ue125/g, '$s')
|
|
|
|
}
|
2024-08-12 05:13:32 -04:00
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
languages: Object.keys(languages),
|
|
|
|
getMessage,
|
|
|
|
formatTime: function (time, language) {
|
|
|
|
let finalString = ''
|
|
|
|
const seconds = Math.floor(time / 1000) % 60
|
|
|
|
const minutes = Math.floor(time / 60000) % 60
|
|
|
|
const hours = Math.floor(time / 3600000) % 24
|
|
|
|
const days = Math.floor(time / 86400000) % 7
|
|
|
|
const weeks = Math.floor(time / 604800000)
|
|
|
|
if (weeks !== 0) {
|
|
|
|
finalString += weeks
|
|
|
|
finalString += `${weeks === 1 ? getMessage(language, 'time.week') : getMessage(language, 'time.weekPlural')}`
|
|
|
|
}
|
|
|
|
if (days !== 0) {
|
|
|
|
finalString += days
|
|
|
|
finalString += `${days === 1 ? getMessage(language, 'time.day') : getMessage(language, 'time.dayPlural')}`
|
|
|
|
}
|
|
|
|
if (hours !== 0) {
|
|
|
|
finalString += hours
|
|
|
|
finalString += `${hours === 1 ? getMessage(language, 'time.hour') : getMessage(language, 'time.hourPlural')}`
|
|
|
|
}
|
|
|
|
if (minutes !== 0) {
|
|
|
|
finalString += minutes
|
|
|
|
finalString += `${minutes === 1 ? getMessage(language, 'time.minute') : getMessage(language, 'time.minutePlural')}`
|
|
|
|
}
|
|
|
|
if (seconds !== 0) {
|
|
|
|
finalString += seconds
|
|
|
|
finalString += `${seconds === 1 ? getMessage(language, 'time.second') : getMessage(language, 'time.secondPlural')}`
|
|
|
|
}
|
|
|
|
return finalString
|
|
|
|
}
|
|
|
|
}
|