diff --git a/sites/shared/components/dynamic-docs/core-settings.mjs b/sites/shared/components/dynamic-docs/core-settings.mjs
new file mode 100644
index 00000000000..34e295650ac
--- /dev/null
+++ b/sites/shared/components/dynamic-docs/core-settings.mjs
@@ -0,0 +1,60 @@
+import dynamic from 'next/dynamic'
+import { MDXProvider } from '@mdx-js/react'
+import { useState } from 'react'
+import { Spinner } from 'shared/components/spinner.mjs'
+import { PageLink } from 'shared/components/page-link.mjs'
+import { useTranslation } from 'next-i18next'
+import { components } from 'shared/components/mdx/index.mjs'
+import { MdxWrapper, ns as wrapperNs } from './wrapper.mjs'
+
+export const ns = wrapperNs
+
+/*
+ * Webpack will check on disk for all possible files matching this
+ * dynamic import. So unless we divide it up a bit your computer
+ * will melt when running this in development mode
+ *
+ * This will return a language-specific component
+ */
+const dynamicDocsFactory = (lang) => {
+ return function ({ setting = false }) {
+ const [frontmatter, setFrontmatter] = useState({})
+ const mdx = dynamic(
+ () =>
+ import(
+ `markdown/docs/site/draft/core-settings/${setting ? setting + '/' : ''}${lang}.md`
+ ).then((mod) => {
+ setFrontmatter(mod.frontmatter)
+ return mod
+ }),
+ { ssr: false }
+ )
+ const MDX = mdx ? mdx :