| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | import { ensureLang } from '../utils/lang'import guideLocale from '../i18n/pages/guide.json'import componentLocale from '../i18n/pages/component.json'function getGuideSidebar() {  return Object.fromEntries(    Object.entries(guideLocale).map(([lang, val]) => [      lang,      Object.values(val).map((item) => mapPrefix(item, lang)),    ])  )}function getComponentsSideBar() {  return Object.fromEntries(    Object.entries(componentLocale).map(([lang, val]) => [      lang,      Object.values(val).map((item) => mapPrefix(item, lang, '/component')),    ])  )}// return sidebar with language configs.// this might create duplicated data but the overhead is ignorableconst getSidebars = () => {  return {    '/guide/': getGuideSidebar(),    '/component/': getComponentsSideBar(),  }}type Item = {  text: string  children?: Item[]  link?: string}function mapPrefix(item: Item, lang: string, prefix = '') {  if (item.children && item.children.length > 0) {    return {      ...item,      children: item.children.map((child) => mapPrefix(child, lang, prefix)),    }  }  return {    ...item,    link: `${ensureLang(lang)}${prefix}${item.link}`,  }}export const sidebars = getSidebars()
 |