alauda 内部大部分文档都是中英文双语,因此我们默认支持使用 en/zh 两个子文件夹来存放不同语言的文档,推荐在 public 目录下也按 en/zh 子文件夹存放静态资源,这样可以方便文档内容和静态资源的管理。
alauda
en
zh
public
i18n.json
.ts/.tsx
.mdx
对于可复用组件,如果需要在同一个组件中同时支持中英文,那么就需要先在 docs 目录下创建 i18n.json 文件,然后在组件中通过 useI18n 来获取当前语言的文本,比如:
docs
useI18n
{ "title": { "zh": "标题", "en": "Title" }, "description": { "zh": "描述", "en": "description" } }
import { useI18n } from '@rspress/core/runtime' export const CommonContent = () => { const t = useI18n() return <h1>{t('title')}</h1> }
import { useI18n } from '@rspress/core/runtime' # {useI18n()('title')} {useI18n()('description')}