From ad812cf8f806757a93c90f58919ae5a506a9fce8 Mon Sep 17 00:00:00 2001 From: Navy Date: Sun, 19 Apr 2020 22:52:42 +0300 Subject: [PATCH] load all languages at once, method for fetching templates --- language/LocaleLoader.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/language/LocaleLoader.js b/language/LocaleLoader.js index e09180f..79ca0cb 100644 --- a/language/LocaleLoader.js +++ b/language/LocaleLoader.js @@ -1,5 +1,6 @@ const path = require('path'); const fs = require('fs'); +const chalk = require('chalk'); const { Util } = require('../util/'); @@ -12,9 +13,24 @@ class LocaleLoader { } - // directory = path.join(process.cwd(), 'languages', 'en_us') + template(locale, index) { + + return this.languages[locale] ? this.languages[locale][index] : `Locale ${locale} does not exist.` || `Entry ${locale}:${index} does not exist.`; + + } + + async loadLanguages() { + + const _directory = path.join(process.cwd(), 'language/languages'); + const directories = fs.readdirSync(_directory); //locale directories, ex. en_us, fi + + for (const directory of directories) await this.loadLanguage(directory); + + } + async loadLanguage(language) { + this.client.logger.info(`Loading locale ${chalk.bold(language)}`); const directory = path.join(process.cwd(), `language/languages/${language}`); const files = Util.readdirRecursive(directory); @@ -23,16 +39,15 @@ class LocaleLoader { file = fs.readFileSync(file, { encoding: 'utf8' }); - const result = this.loadFile(language, file); + const result = this.loadFile(file); Object.assign(combined, result); } this.languages[language] = combined; - console.log(this.languages); } - loadFile(language, file) { + loadFile(file) { const lines = file.split('\n'); const parsed = {};