The official documentation for ObjectStack, built with Next.js (App Router) and Fumadocs.
This repository contains the documentation for:
- ObjectStack Platform: The core development platform.
- ObjectQL: The backend data protocol engine.
- ObjectUI: The declarative UI engine.
- ObjectOS: The runtime operating system.
- 🌍 Multi-language Support:
- Configurable via
docs.site.json - Built-in support for: English, Chinese, Japanese, French, German, Spanish
- Extensible: Easy to add new languages
- Auto-translation via AI CLI using dot parser convention
- Configurable via
- 📝 MDX Content: Interactive documentation with Type-safe components.
- 🛠️ Automated Workflows:
- AI Translation CLI (
packages/cli) - Broken link checking
- SEO optimization
- AI Translation CLI (
- Node.js 18+
- pnpm
pnpm installStart the development server:
pnpm run devVisit http://localhost:3000 to view the documentation.
- Create new MDX files in
content/docs. - Update
meta.jsonin the corresponding directory. - Commit your changes (CI will handle translation).
We provide a custom CLI for translation tasks:
# Translate all files
pnpm objectdocs translate --allFor a comprehensive guide on how to build and maintain multi-language documentation, see the Multi-language Documentation Guide available in the documentation:
- English:
/en/docs/i18n-guide - Chinese:
/cn/docs/i18n-guide
The guide covers:
- Configuration setup
- Creating multi-language content
- File naming conventions
- Adding new languages
- Troubleshooting common issues
Language configuration is managed in content/docs.site.json:
{
"i18n": {
"enabled": true,
"defaultLanguage": "en",
"languages": ["en", "cn"]
}
}Configurable Options:
enabled: Enable/disable i18n supportdefaultLanguage: The default language for the site (e.g., "en")languages: Array of supported language codes (e.g., ["en", "cn", "ja", "fr"])
Supported Languages: The system includes built-in UI translations for:
en- Englishcn- Chinese (Simplified) / 简体中文ja- Japanese / 日本語fr- French / Françaisde- German / Deutsches- Spanish / Español
To add a new language:
- Add the language code to the
languagesarray indocs.site.json - If UI translations don't exist, add them to
packages/site/lib/translations.ts - Create content files with the language suffix (e.g.,
file.{lang}.mdx)
Important: If you change the default language, you must also update the redirect destination in vercel.json to match (currently /en/docs).
Content files are located in content/docs/ and use language suffixes based on the languages configuration:
{filename}.{lang}.mdx- Language-specific content (e.g.,index.en.mdx,index.cn.mdx)meta.{lang}.json- Language-specific navigation (e.g.,meta.en.json,meta.cn.json)
The CLI translate utility automatically generates language suffixes based on your configuration.