diff --git a/src/translations.js b/src/translations.js index c74446d55..5b23f1c92 100644 --- a/src/translations.js +++ b/src/translations.js @@ -49,15 +49,17 @@ function translate(input, assets) { } async function getTranslations() { - 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 fallbackData = fs.readFileSync(path.join(paths.TRANSLATIONS_DIR, 'en.json'), 'utf8'); + if (!fallbackData) debug(`getTranslations: Fallback language en not found. ${safe.error.message}`); + const fallback = safe.JSON.parse(fallbackData) || {}; const lang = await cloudron.getLanguage(); - const translations = safe.JSON.parse(safe.fs.readFileSync(path.join(paths.TRANSLATIONS_DIR, `${lang}.json`), 'utf8')); - if (!translations) debug(`getTranslations: Requested language ${lang} not found. ${safe.error.message}`); + const translationData = safe.fs.readFileSync(path.join(paths.TRANSLATIONS_DIR, `${lang}.json`), 'utf8'); + if (!translationData) debug(`getTranslations: Requested language ${lang} not found. ${safe.error.message}`); + const translations = safe.JSON.parse(translationData) || {}; - return { translations: translations || {}, fallback: fallback || {} }; + return { translations, fallback }; } async function listLanguages() {