diff --git a/.changeset/big-oranges-battle.md b/.changeset/big-oranges-battle.md new file mode 100644 index 0000000000000..71a9286107539 --- /dev/null +++ b/.changeset/big-oranges-battle.md @@ -0,0 +1,6 @@ +--- +"@medusajs/admin-ui": patch +"@medusajs/admin": patch +--- + +fix(admin-ui): Load translations from path diff --git a/packages/admin-ui/src/node/types.ts b/packages/admin-ui/src/node/types.ts index 2fed2975ddc16..3697b5a99c3bd 100644 --- a/packages/admin-ui/src/node/types.ts +++ b/packages/admin-ui/src/node/types.ts @@ -59,6 +59,7 @@ export type WebpackConfigArgs = { env: "development" | "production" options?: AdminOptions template?: string + publicFolder?: string reporting?: BuildReporting } diff --git a/packages/admin-ui/src/node/webpack/get-webpack-config.ts b/packages/admin-ui/src/node/webpack/get-webpack-config.ts index 2a91bda91e21a..f86ac88d2348e 100644 --- a/packages/admin-ui/src/node/webpack/get-webpack-config.ts +++ b/packages/admin-ui/src/node/webpack/get-webpack-config.ts @@ -30,6 +30,7 @@ export function getWebpackConfig({ env, options, template, + publicFolder, reporting = "fancy", }: WebpackConfigArgs): Configuration { const isProd = env === "production" @@ -181,7 +182,7 @@ export function getWebpackConfig({ new CopyPlugin({ patterns: [ { - from: path.resolve(__dirname, "..", "ui", "public"), + from: publicFolder || path.resolve(__dirname, "..", "ui", "public"), to: path.resolve(dest, "public"), }, ], diff --git a/packages/admin-ui/ui/src/i18n/index.ts b/packages/admin-ui/ui/src/i18n/index.ts index e1d4cccf8ea08..4692d81e0c731 100644 --- a/packages/admin-ui/ui/src/i18n/index.ts +++ b/packages/admin-ui/ui/src/i18n/index.ts @@ -14,12 +14,20 @@ export const supportedLanguages = [ }, ] +const backendUrl = window.location.origin +const adminPath = process.env.ADMIN_PATH ? `${process.env.ADMIN_PATH}` : "" + +const pathToLoadFrom = `${backendUrl}${adminPath}locales/{{lng}}/{{ns}}.json` + void i18n .use(Backend) .use(LanguageDetector) .use(initReactI18next) // https://www.i18next.com/overview/configuration-options .init({ + backend: { + loadPath: pathToLoadFrom + }, supportedLngs: supportedLanguages.map((l) => l.locale), fallbackLng: "en", returnNull: false, diff --git a/packages/admin-ui/webpack.config.dev.ts b/packages/admin-ui/webpack.config.dev.ts index 7762752117877..48c474eaf97ff 100644 --- a/packages/admin-ui/webpack.config.dev.ts +++ b/packages/admin-ui/webpack.config.dev.ts @@ -18,6 +18,7 @@ const getDevServerConfig = () => { path: "/", }, template: path.resolve(__dirname, "ui", "index.html"), + publicFolder: path.resolve(__dirname, "ui", "public"), }) if (analyzeBundle) {