Files
FastGPT/document
Archer 2fd4b6030b feat(i18n): Fix language loss in navigation and add language selector (#6467)
* feat(docs): enable i18n language selector

* docs(i18n): translate introduction page to English

* fix(i18n): fix language switching issue by always showing locale prefix

* fix(docs): use relative paths for internal links to preserve language

* refactor(i18n): add getLocalizedPath helper to simplify URL generation

* refactor(i18n): make getLocalizedPath respect hideLocale config

* feat(i18n): fallback to default language when translation missing, keep URL unchanged

* feat(i18n): fix language loss in navigation and add language selector

- Set hideLocale to 'never' to always show language prefix
- Add localized-navigation.ts with useLocalizedRouter hook
- Update all navigation points to preserve language:
  1. Tab navigation (already using getLocalizedPath)
  2. Sidebar navigation (handled by Fumadocs)
  3. Home/404 redirects (using getLocalizedPath)
  4. MDX Redirect component (using useLocalizedRouter)
  5. Old page redirects (updated not-found.tsx)
  6. Document links (custom LocalizedLink component)
- Configure language selector in layout.config.tsx
- Add LOCALIZED_NAVIGATION.md documentation

* fix(i18n): fix type errors and useEffect dependencies

* refactor(i18n): move redirects to middleware for SSR support

- Move old path redirects from client-side (not-found.tsx) to server-side (middleware.ts)
- Use 301 permanent redirects for better SEO
- Preserve language prefix in redirects
- Fix SSR issue caused by client-side redirects

* refactor(i18n): clean up not-found.tsx, remove duplicate redirect maps

- Remove duplicate exactMap and prefixMap (now in middleware)
- Keep dynamic meta.json lookup for unknown pages
- Simplify to only handle fallback cases
- Two-layer approach: middleware (SSR) + not-found (dynamic)

* refactor(i18n): simplify not-found to always redirect to introduction

- Remove dynamic meta.json lookup
- Always redirect to introduction page on 404
- Ensures no 404 pages are shown
- Keep language prefix in redirect

* fix(i18n): fix middleware type error with ts-expect-error

- Add @ts-expect-error for Fumadocs middleware signature mismatch
- Fix syntax error in config matcher (remove literal \n)

---------

Co-authored-by: archer <archer@archerdeMac-mini.local>
2026-02-26 16:29:03 +08:00
..
2026-02-12 18:45:30 +08:00
2025-08-04 22:07:52 +08:00
2025-07-23 23:27:37 +08:00
2025-08-04 22:07:52 +08:00
2025-07-24 10:39:41 +08:00
2025-07-24 10:39:41 +08:00
2025-09-04 22:46:19 +08:00
2025-07-24 13:10:25 +08:00
2025-11-05 17:05:58 +08:00
2025-07-23 21:35:03 +08:00
2026-02-12 18:45:30 +08:00
2025-11-05 17:05:58 +08:00
2025-07-24 13:00:27 +08:00

FastGPT 文档

这是FastGPT的官方文档,采用 fumadoc 框架。

运行项目

要运行文档,首先需要进行环境变量配置,在文档的根目录下创建.env.local文件,填写以下环境变量:

FASTGPT_HOME_DOMAIN =    #要跳转的FastGPT项目的域名,默认海外版

你可以在FastGPT项目根目录下执行以下命令来运行文档。

npm install # 只能 npm install,不能 pnpm
npm run dev

项目会默认跑在http:localhost:3000端口

书写文档

文档采用mdx格式,大体和md一致,但是现在文档的元数据只支持title descriptionicon三个字段,参考以下示例代码:

---
title: FastGPT 文档
description: FastGPT 官方文档
icon: menu #icon采用`lucide-react`第三方库。
---

import { Alert } from '@/components/docs/Alert'; #高亮块组件

<Alert icon="🤖" context="success">
快速开始体验
- 海外版:[https://fastgpt.io](https://fastgpt.io)
- 中国大陆:[https://fastgpt.cn](https://fastgpt.cn)
</Alert>

import {Redirect} from '@/components/docs/Redirect' #重定向组件,如果你希望用户点击这个文件跳转到别的文件的话,详情参考 `FAQ`的`Docker 部署问题`文档。

<Redirect to="/docs/introduction/development/docker/#faq" />

<Tabs items={['Javascript', 'Rust']}> #tabs组件用法,渲染效果参考`introduction`下`development`的`faq`文档
  <Tab value="Javascript">Javascript is weird</Tab>
  <Tab value="Rust">Rust is fast</Tab>


import FastGPTLink from '@/components/docs/linkFastGPT'; #FastGPT跳转链接组件,通过接收一个域名环境变量,来实现跳转到海外或者国内

本文档介绍了如何设置开发环境以构建和测试 <FastGPTLink>FastGPT</FastGPTLink>。
</Tabs>

在书写完文档后,需要在对应的目录下的meta.json文件的pages字段合适位置添加自己的文件名。例如在content/docs(默认这是所有文档的根目录)的introduction目录下书写了一个hello.mdx文件。则需要去introduction目录下的meta.json添加以下内容:

{
  "title": "FastGPT Docs",
  "root": true,
  "pages": ["[Handshake][联系我们](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc)","index","guide","development","FAQ","shopping_cart","community","hello"], #"hello"原本没有,此外,这里的顺序就是最后文档的展示顺序,现在"hello"文档将会在`introduction`的最后展示
  "order": 1
}

i18n

content/docs下的所有.mdx文件为默认语言文件(当前默认语言中文),.en.mdx文件为i18n支持的英文文件,例如,你可以将hello.mdx文档翻译后,写一个hello.en.mdx,同时,在对应目录的meta.en.json"pages"字段写下对应的文件名来支持英文文档。

特殊配置

增加顶层导航栏

  1. FastGPT/document/app/[lang]/docs/layout.tsx 文件中新增导航。

重定向

FastGPT/document/components/docs/not-found.tsx文件中新增重定向规则。