diff --git a/src/paths.js b/src/paths.js index 0106f9dfa..a3e673674 100644 --- a/src/paths.js +++ b/src/paths.js @@ -18,6 +18,7 @@ exports = module.exports = { INFRA_VERSION_FILE: path.join(baseDir(), 'platformdata/INFRA_VERSION'), CRON_SEED_FILE: path.join(baseDir(), 'platformdata/CRON_SEED'), DASHBOARD_DIR: constants.TEST ? path.join(__dirname, '../dashboard/src') : path.join(baseDir(), 'box/dashboard/dist'), + TRANSLATIONS_DIR: constants.TEST ? path.join(__dirname, '../dashboard/src/translation') : path.join(baseDir(), 'box/dashboard/dist/translation'), PROVIDER_FILE: '/etc/cloudron/PROVIDER', SETUP_TOKEN_FILE: '/etc/cloudron/SETUP_TOKEN', diff --git a/src/translations.js b/src/translations.js index 1824dbf6c..df0f257c5 100644 --- a/src/translations.js +++ b/src/translations.js @@ -14,8 +14,6 @@ const assert = require('assert'), paths = require('./paths.js'), safe = require('safetydance'); -const TRANSLATION_FOLDER = path.join(paths.DASHBOARD_DIR, 'translation'); - // to be used together with getTranslations() => { translations, fallback } function translate(input, assets) { assert.strictEqual(typeof input, 'string'); @@ -51,19 +49,19 @@ function translate(input, assets) { } async function getTranslations() { - const fallback = safe.JSON.parse(fs.readFileSync(path.join(TRANSLATION_FOLDER, 'en.json'), 'utf8')); + const fallback = safe.JSON.parse(fs.readFileSync(path.join(paths.TRANSLATIONS_DIR, 'en.json'), 'utf8')); if (!fallback) debug(`getTranslations: Fallback language en not found. ${safe.error.message}`); const lang = await cloudron.getLanguage(); - const translations = safe.JSON.parse(fs.readFileSync(path.join(TRANSLATION_FOLDER, lang + '.json'), 'utf8')); + const translations = safe.JSON.parse(fs.readFileSync(path.join(paths.TRANSLATIONS_DIR, lang + '.json'), 'utf8')); if (!translations) debug(`getTranslations: Requested language ${lang} not found. ${safe.error.message}`); return { translations: translations || {}, fallback: fallback || {} }; } async function listLanguages() { - const [error, result] = await safe(fs.promises.readdir(TRANSLATION_FOLDER)); + const [error, result] = await safe(fs.promises.readdir(paths.TRANSLATIONS_DIR)); if (error) { debug('listLanguages: Failed to list translations. %o', error); return [ 'en' ]; // we always return english to avoid dashboard breakage