diff --git a/aleksis/core/assets/messages.js b/aleksis/core/assets/messages.js index cc3ab1b19bc6601e31502b8a319d198aaa108725..16708c5ec7a1ed1e3d07aabc3d1ccbd18fd9127f 100644 --- a/aleksis/core/assets/messages.js +++ b/aleksis/core/assets/messages.js @@ -1,9 +1,5 @@ -import appDetails from "aleksisAppDetails"; +import { appMessages } from "aleksisAppImporter"; -for (const details of Object.values(appDetails)) { - if (details.hasMessages) { - import(details.assetDir + "/messages.json").then(function (appMessages) { - window.i18n.registerLocale(appMessages); - }); - } +for (const messages of Object.values(appMessages)) { + window.i18n.registerLocale(messages); } diff --git a/aleksis/core/vite.config.js b/aleksis/core/vite.config.js index 6a65cd5108d39a3c95fd6cabbe1e859c89228e98..f6699ac91d7dd36e06360b93a5f568cf9156c738 100644 --- a/aleksis/core/vite.config.js +++ b/aleksis/core/vite.config.js @@ -13,6 +13,7 @@ const django_values = JSON.parse(fs.readFileSync("./django-vite-values.json")); function generateAppImporter(appDetails) { let code = "let appObjects = {};\n"; + code += "let appMessages = {};\n"; for (const [appPackage, appMeta] of Object.entries(appDetails)) { let indexPath = appMeta.assetDir + "/index.js"; let importAppName = @@ -21,20 +22,14 @@ function generateAppImporter(appDetails) { code += `console.debug("Importing AlekSIS app entrypoint for ${appPackage}");\n`; code += `import ${importAppName} from '${indexPath}';\n`; code += `appObjects["${appMeta.name}"] = ${importAppName};\n`; + if (appMeta.hasMessages) { + let messagesPath = appMeta.assetDir + "/messages.json"; + code += `import ${importAppName}Messages from '${messagesPath}';\n`; + code += `appMessages["${appMeta.name}"] = ${importAppName}Messages;\n`; + } } code += "export default appObjects;\n"; - return code; -} - -function generateAppDetails(appDetails) { - let code = "let messages = {};\n"; - - for (const [appPackage, appMeta] of Object.entries(appDetails)) { - code += `messages["${appMeta.name}"] = JSON.parse('${JSON.stringify( - appMeta - )}');\n`; - } - code += "export default messages;\n"; + code += "export { appObjects, appMessages };\n"; return code; } @@ -93,7 +88,6 @@ export default defineConfig({ plugins: [ virtual({ aleksisAppImporter: generateAppImporter(django_values.appDetails), - aleksisAppDetails: generateAppDetails(django_values.appDetails), }), vue(), nodeResolve({ modulePaths: [path.resolve("./node_modules")] }),