Skip to content

Docusaurus 통합

init -t ui-docusaurusdocsOutput.style: "docusaurus"을(를) Docusaurus 문서 사이트에 사용합니다. 이 사전 설정은 docusaurusCatalogDir이(가) 있는 docs[] 블록을 스캐폴드하여 translate-docs이(가) 페이지 마크다운과 Docusaurus 셸 JSON을 한 번의 명령으로 번역할 수 있도록 합니다.

문서, 실행 가능한 examples/docusaurus-docs 데모, 그리고 중첩된 Docusaurus 문서, 플랫 README 및 SVG 에셋이 결합된 Next.js 앱을 위한 examples/nextjs-app도 참조하세요.

빠른 시작

bash
ai-i18n-tools init -t ui-docusaurus [-P <provider>]
# edit ai-i18n-tools.config.json (targetLocales, providers, contentPaths, docusaurusCatalogDir)
pnpm run i18n:sync   # or: ai-i18n-tools sync
cd docs-site && pnpm build   # or: cd examples/docusaurus-docs && pnpm build

문서 페이지와 사이트 크롬(탐색 모음, 바닥글, 테마 문자열)을 모두 번역할 때 features.translateDocs을(를) 활성화하고 docs[].docusaurusCatalogDir을(를) 설정합니다. @docusaurus/*을(를) 업그레이드하거나 탐색 모음/바닥글/테마 레이블을 변경할 때 Docusaurus 프로젝트에서 docusaurus write-translations을(를) 실행한 다음, translate-docs 또는 sync을(를) 다시 실행하여 셸 JSON이 각 로케일 폴더로 번역되도록 합니다.

페이지 레이아웃

영어 마크다운 및 MDX는 Docusaurus docs/ 폴더(예: docs-site/docs/) 아래에 있습니다. 번역된 사본은 각 로케일의 플러그인 콘텐츠 트리에 작성됩니다.

text
docs-site/docs/getting-started.md
  →  docs-site/i18n/de/docusaurus-plugin-content-docs/current/getting-started.md
docs-site/docs/guide/quick-start.md
  →  docs-site/i18n/fr/docusaurus-plugin-content-docs/current/guide/quick-start.md

하나의 docs[] 블록을 구성하세요:

json
{
  "contentPaths": ["docs-site/docs/"],
  "outputDir": "docs-site/i18n",
  "docusaurusCatalogDir": "docs-site/i18n/en",
  "addFrontmatter": true,
  "docsOutput": {
    "style": "docusaurus",
    "docsRoot": "docs-site/docs"
  }
}

contentPaths을(를) 영어 .md / .mdx 파일 및 디렉터리를 가리키도록 합니다. docsRoot을(를) Docusaurus가 콘텐츠 루트로 사용하는 동일한 폴더로 설정합니다. outputDir을(를) i18n/ 아래의 각 로케일 폴더의 상위 폴더로 설정합니다.

Docusaurus 국제화를 연결합니다. ai-i18n-tools.config.jsontargetLocales을(를) docusaurus.config.jslocales 배열과 일치시킵니다. 각 localeConfigs[locale].path은(는) i18n/ 아래의 폴더 이름(예: i18n/fr/의 경우 path: "fr")과 일치해야 합니다.

셸 문자열 (write-translations)

Docusaurus 탐색 모음, 바닥글, 검색 자리 표시자 및 기타 테마/플러그인 레이블은 마크다운에서 추출되지 않습니다. Docusaurus 프로젝트에서 docusaurus write-translations을(를) 실행하여 기본 로케일 폴더(일반적으로 i18n/en/) 아래에 JSON 카탈로그를 생성합니다. 그런 다음 docs[].docusaurusCatalogDir을(를) 해당 폴더를 가리키도록 합니다.

json
{
  "features": {
    "translateDocs": true
  },
  "docs": [
    {
      "description": "Docusaurus pages + shell JSON",
      "contentPaths": ["docs-site/docs/"],
      "outputDir": "docs-site/i18n",
      "docusaurusCatalogDir": "docs-site/i18n/en",
      "docsOutput": {
        "style": "docusaurus",
        "docsRoot": "docs-site/docs"
      }
    }
  ]
}

docusaurusCatalogDir이(가) 설정되고 features.translateDocs이(가) 활성화되면 translate-docs은(는) 다음을 모두 번역합니다.

  • 문서 페이지contentPaths에서 i18n/<locale>/docusaurus-plugin-content-docs/current/(으)로 마크다운/MDX
  • 셸 JSONi18n/en/에서 형제 로케일 폴더로 탐색 모음, 바닥글 및 테마/플러그인 카탈로그

Docusaurus 셸 JSON을 json[]에 넣지 마십시오. 대신 Documents와 함께 docs[].docusaurusCatalogDir을(를) 사용하십시오.

예시 프로젝트

examples/docusaurus-docsdocs/의 영어 소스, i18n/<locale>/docusaurus-plugin-content-docs/current/에 커밋된 번역, 그리고 번역된 셸 JSON. 로케일 드롭다운이 작동하도록 포트 3100에서 pnpm start를 실행(빌드 + 서브)하세요. 영어 전용 핫 리로드에는 pnpm dev를 사용하세요.

동일한 저장소 레이아웃의 UI 문자열, SVG 번역 및 플랫 README에 대해서는 examples/nextjs-app(포트 3040의 중첩된 docs-site/)을 참조하세요.

MIT 라이선스에 따라 배포됩니다.