feat(admin-*,dashboard): add dashboard i18n extensions (#13763)
* virtual i18n module
* changeset
* fallback ns
fallback to the default "translation" ns if the key isnt found. Allows to use a single "useTranslation("customNs")" hook for both custom and medusa-provided keys
* simplify merges
* optional for backward compat
* fix HMR
* fix generated deepMerge
* test
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
import outdent from "outdent"
|
||||
import { generateModule } from "../utils"
|
||||
import { generateI18n } from "../i18n"
|
||||
|
||||
export async function generateVirtualI18nModule(
|
||||
sources: Set<string>,
|
||||
pluginMode = false
|
||||
) {
|
||||
const i18n = await generateI18n(sources)
|
||||
|
||||
const imports = [
|
||||
'import { deepMerge } from "@medusajs/admin-shared"',
|
||||
...i18n.imports
|
||||
]
|
||||
|
||||
const code = outdent`
|
||||
${imports.join("\n")}
|
||||
|
||||
${pluginMode
|
||||
? `const i18nModule = { ${i18n.code} }`
|
||||
: `export default { ${i18n.code} }`
|
||||
}
|
||||
`
|
||||
|
||||
return generateModule(code)
|
||||
}
|
||||
|
||||
@@ -4,3 +4,4 @@ export * from "./generate-virtual-link-module"
|
||||
export * from "./generate-virtual-menu-item-module"
|
||||
export * from "./generate-virtual-route-module"
|
||||
export * from "./generate-virtual-widget-module"
|
||||
export * from "./generate-virtual-i18n-module"
|
||||
|
||||
Reference in New Issue
Block a user