diff --git a/localization.mdx b/localization.mdx
new file mode 100644
index 000000000..c7fc29706
--- /dev/null
+++ b/localization.mdx
@@ -0,0 +1,151 @@
+---
+title: 'Localization'
+description: 'Support multiple languages in your documentation'
+icon: 'language'
+---
+
+Mintlify supports localization through its versioning system, allowing you to create documentation in multiple languages.
+
+## Setting Up Localization
+
+Add localization support by configuring the `versions` field in your `mint.json` file with locale specifications.
+
+```json
+"versions": [
+ {
+ "name": "English",
+ "locale": "en"
+ },
+ {
+ "name": "Español",
+ "locale": "es"
+ }
+]
+```
+
+The first localization in the array serves as the default language.
+
+## Supported Languages
+
+Mintlify currently supports the following languages:
+
+- English (`en`)
+- Chinese (`cn`)
+- Spanish (`es`)
+- French (`fr`)
+- Japanese (`jp`)
+- Portuguese (`pt`)
+- German (`de`)
+
+
+ The locale codes must match exactly as shown above to enable automatic
+ translation of UI elements.
+
+
+## Organization
+
+There are several ways to organize your localized content:
+
+### Option 1: Folder Structure
+
+Create separate folders for each language:
+
+```
+content/
+├── en/
+│ ├── quickstart.mdx
+│ └── api-reference.mdx
+├── es/
+│ ├── quickstart.mdx
+│ └── api-reference.mdx
+└── fr/
+ ├── quickstart.mdx
+ └── api-reference.mdx
+```
+
+### Option 2: Version Property
+
+Specify the locale in your navigation groups or individual pages:
+
+```json
+"navigation": [
+ {
+ "group": "Getting Started",
+ "version": "en",
+ "pages": ["quickstart", "installation"]
+ },
+ {
+ "group": "Comenzar",
+ "version": "es",
+ "pages": ["es/quickstart", "es/installation"]
+ }
+]
+```
+
+Or in the page metadata:
+
+```yaml
+---
+title: "Quickstart"
+version: "es"
+---
+```
+
+## What Gets Translated
+
+Localization in Mintlify works in two parts:
+
+1. **UI Elements** - Fixed content like "Was this page helpful?" and navigation elements are automatically translated based on the selected locale.
+
+2. **Documentation Content** - You are responsible for translating your actual documentation content, including:
+ - Page content
+ - Navigation labels
+ - Page titles and descriptions
+ - Component content
+
+
+ Mintlify does not automatically translate your documentation content. You must
+ provide translations for all content you want to be available in different
+ languages.
+
+
+## Best Practices
+
+
+
+ Maintain the same structure across all languages. Each translated version should mirror the organization of your primary language.
+
+
+
+ Always specify a default language by putting it first in the versions array, or by explicitly setting `default: true`:
+
+ ```json
+ "versions": [
+ {
+ "name": "English",
+ "locale": "en",
+ "default": true
+ }
+ ]
+ ```
+
+
+
+ Consider using branches or folders in your repository to manage different language versions effectively.
+
+
+
+## Shared Content
+
+Content without a specified version or locale appears in all language versions. This is useful for:
+
+- Images and other assets
+- Code examples
+- API references
+- Universal components
+
+## Related
+
+
+ Learn about version control for your documentation
+
\ No newline at end of file
diff --git a/mint.json b/mint.json
index 65c9d33d9..2f10a706c 100644
--- a/mint.json
+++ b/mint.json
@@ -1,41 +1,41 @@
{
- "$schema": "https://mintlify.com/schema.json",
- "name": "Mintlify",
+ "$schema": "localization",
+ "name": "localization",
"logo": {
- "light": "/logo/light.svg",
- "dark": "/logo/dark.svg",
- "href": "https://mintlify.com"
+ "light": "localization",
+ "dark": "localization",
+ "href": "localization"
},
- "layout": "sidenav",
- "favicon": "/favicon.svg",
+ "layout": "localization",
+ "favicon": "localization",
"sidebar": {
- "items": "border"
+ "items": "localization"
},
"colors": {
- "primary": "#0D9373",
- "light": "#55D799",
- "dark": "#0D9373"
+ "primary": "localization",
+ "light": "localization",
+ "dark": "localization"
},
"api": {
"auth": {
- "method": "bearer"
+ "method": "localization"
}
},
"background": {
- "style": "windows"
+ "style": "localization"
},
"topbarLinks": [
{
- "name": "Community",
- "url": "https://mintlify.com/community"
+ "name": "localization",
+ "url": "localization"
}
],
"topbarCtaButton": {
- "name": "Get Started",
- "url": "https://mintlify.com/start"
+ "name": "localization",
+ "url": "localization"
},
"codeBlock": {
- "mode": "auto"
+ "mode": "localization"
},
"feedback": {
"thumbsRating": true,
@@ -43,157 +43,157 @@
},
"tabs": [
{
- "name": "Components",
- "url": "content"
+ "name": "localization",
+ "url": "localization"
},
{
- "name": "Integrations",
- "url": "integrations"
+ "name": "localization",
+ "url": "localization"
},
{
- "name": "Changelog",
- "url": "changelog"
+ "name": "localization",
+ "url": "localization"
}
],
"navigation": [
{
- "group": "Getting Started",
+ "group": "localization",
"pages": [
- "quickstart",
+ "localization",
{
- "group": "Editing",
- "icon": "pen-paintbrush",
+ "group": "localization",
+ "icon": "localization",
"pages": [
- "development",
- "web-editor"
+ "localization",
+ "localization"
]
},
- "settings/global",
- "settings/navigation",
- "migration"
+ "localization",
+ "localization",
+ "localization"
]
},
{
- "group": "Writing Content",
+ "group": "localization",
"pages": [
- "page",
- "text",
- "image-embeds",
- "list-table",
- "code",
- "reusable-snippets"
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization"
]
},
{
- "group": "API References",
+ "group": "localization",
"pages": [
- "api-playground/overview",
+ "localization",
{
- "group": "OpenAPI",
- "icon": "brackets-curly",
+ "group": "localization",
+ "icon": "localization",
"pages": [
- "api-playground/openapi/setup",
- "api-playground/openapi/writing-openapi",
- "api-playground/openapi/advanced-features"
+ "localization",
+ "localization",
+ "localization"
]
},
{
- "group": "MDX",
- "icon": "markdown",
+ "group": "localization",
+ "icon": "localization",
"pages": [
- "api-playground/mdx/configuration",
- "api-playground/mdx/authentication"
+ "localization",
+ "localization"
]
},
- "api-playground/troubleshooting"
+ "localization"
]
},
{
- "group": "Configurations",
+ "group": "localization",
"pages": [
- "settings/custom-domain",
- "settings/seo",
- "settings/broken-links",
- "settings/versioning",
- "settings/add-members",
- "settings/github",
- "settings/gitlab",
- "settings/preview-deployments"
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization"
]
},
{
- "group": "Advanced",
+ "group": "localization",
"pages": [
{
- "icon": "code",
- "group": "Custom Scripts",
+ "icon": "localization",
+ "group": "localization",
"pages": [
- "advanced/custom/css",
- "advanced/custom/js"
+ "localization",
+ "localization"
]
},
{
- "icon": "folder",
- "group": "Custom Subdirectory",
+ "icon": "localization",
+ "group": "localization",
"pages": [
- "advanced/subpath/cloudflare",
- "advanced/subpath/route53-cloudfront",
- "advanced/subpath/vercel"
+ "localization",
+ "localization",
+ "localization"
]
},
{
- "icon": "user-lock",
- "group": "Auth & Personalization",
+ "icon": "localization",
+ "group": "localization",
"pages": [
- "settings/authentication-personalization/authentication",
- "settings/authentication-personalization/personalization",
- "settings/authentication-personalization/authentication-vs-personalization",
+ "localization",
+ "localization",
+ "localization",
{
- "group": "Authentication Setup",
+ "group": "localization",
"pages": [
- "settings/authentication-personalization/authentication-setup/choosing-a-handshake",
- "settings/authentication-personalization/authentication-setup/password",
- "settings/authentication-personalization/authentication-setup/jwt",
- "settings/authentication-personalization/authentication-setup/oauth",
- "settings/authentication-personalization/authentication-setup/mintlify"
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization"
]
},
{
- "group": "Personalization Setup",
+ "group": "localization",
"pages": [
- "settings/authentication-personalization/personalization-setup/choosing-a-handshake",
- "settings/authentication-personalization/personalization-setup/shared-session",
- "settings/authentication-personalization/personalization-setup/jwt",
- "settings/authentication-personalization/personalization-setup/oauth"
+ "localization",
+ "localization",
+ "localization",
+ "localization"
]
},
- "settings/authentication-personalization/sending-data"
+ "localization"
]
},
{
- "icon": "plug",
- "group": "Extensions",
+ "icon": "localization",
+ "group": "localization",
"pages": [
- "advanced/widget/chat"
+ "localization"
]
},
{
- "icon": "brackets-curly",
- "group": "REST API",
+ "icon": "localization",
+ "group": "localization",
"pages": [
- "advanced/rest-api/overview",
+ "localization",
{
- "group": "Updates",
+ "group": "localization",
"pages": [
- "advanced/rest-api/update/trigger",
- "advanced/rest-api/update/status"
+ "localization",
+ "localization"
]
},
{
- "group": "Discovery API",
+ "group": "localization",
"pages": [
- "advanced/rest-api/discovery/create-topic",
- "advanced/rest-api/discovery/generate-message"
+ "localization",
+ "localization"
]
}
]
@@ -201,149 +201,149 @@
]
},
{
- "group": "Analytics",
+ "group": "localization",
"pages": [
- "integrations/analytics/overview",
- "integrations/analytics/amplitude",
- "integrations/analytics/clearbit",
- "integrations/analytics/fathom",
- "integrations/analytics/google-analytics",
- "integrations/analytics/google-tag-manager",
- "integrations/analytics/heap",
- "integrations/analytics/hotjar",
- "integrations/analytics/koala",
- "integrations/analytics/logrocket",
- "integrations/analytics/mixpanel",
- "integrations/analytics/pirsch",
- "integrations/analytics/plausible",
- "integrations/analytics/posthog"
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization"
]
},
{
- "group": "SDKs",
+ "group": "localization",
"pages": [
- "integrations/sdks/speakeasy",
- "integrations/sdks/stainless"
+ "localization",
+ "localization"
]
},
{
- "group": "Support",
+ "group": "localization",
"pages": [
- "integrations/support/overview",
- "integrations/support/intercom",
- "integrations/support/front"
+ "localization",
+ "localization",
+ "localization"
]
},
{
- "group": "Privacy",
+ "group": "localization",
"pages": [
- "integrations/privacy/overview",
- "integrations/privacy/osano"
+ "localization",
+ "localization"
]
},
{
- "group": "Components",
+ "group": "localization",
"pages": [
- "content/components/accordions",
- "content/components/accordion-groups",
- "content/components/callouts",
- "content/components/cards",
- "content/components/card-groups",
- "content/components/code",
- "content/components/code-groups",
- "content/components/frames",
- "content/components/icons",
- "content/components/mermaid-diagrams",
- "content/components/steps",
- "content/components/tabs",
- "content/components/tooltips",
- "content/components/update"
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization",
+ "localization"
]
},
{
- "group": "API Components",
+ "group": "localization",
"pages": [
- "content/components/params",
- "content/components/responses",
- "content/components/expandables",
- "content/components/sticky-examples"
+ "localization",
+ "localization",
+ "localization",
+ "localization"
]
},
{
- "group": "Changelog",
+ "group": "localization",
"pages": [
- "changelog/overview"
+ "localization"
]
}
],
"footer": {
"socials": {
- "x": "https://x.com/mintlify",
- "linkedin": "https://www.linkedin.com/company/mintlify",
- "github": "https://github.com/mintlify",
- "slack": "https://mintlify.com/community"
+ "x": "localization",
+ "linkedin": "localization",
+ "github": "localization",
+ "slack": "localization"
},
"links": [
{
- "title": "Resources",
+ "title": "localization",
"links": [
{
- "label": "Customers",
- "url": "https://mintlify.com/customers"
+ "label": "localization",
+ "url": "localization"
},
{
- "label": "Enterprise",
- "url": "https://mintlify.com/enterprise"
+ "label": "localization",
+ "url": "localization"
},
{
- "label": "Request Preview",
- "url": "https://mintlify.com/preview"
+ "label": "localization",
+ "url": "localization"
},
{
- "label": "Integrations",
- "url": "https://mintlify.com/docs/integrations/analytics/overview"
+ "label": "localization",
+ "url": "localization"
},
{
- "label": "Templates",
- "url": "https://github.com/mintlify/themes"
+ "label": "localization",
+ "url": "localization"
},
{
- "label": "Wall of Love",
- "url": "https://mintlify.com/love"
+ "label": "localization",
+ "url": "localization"
}
]
},
{
- "title": "Company",
+ "title": "localization",
"links": [
{
- "label": "Careers",
- "url": "https://mintlify.com/careers"
+ "label": "localization",
+ "url": "localization"
},
{
- "label": "Blog",
- "url": "https://mintlify.com/blog"
+ "label": "localization",
+ "url": "localization"
},
{
- "label": "Public Roadmap",
- "url": "https://feedback.mintlify.com/roadmap"
+ "label": "localization",
+ "url": "localization"
},
{
- "label": "Security",
- "url": "https://mintlify.com/security/responsible-disclosure"
+ "label": "localization",
+ "url": "localization"
}
]
},
{
- "title": "Legal",
+ "title": "localization",
"links": [
{
- "label": "Privacy Policy",
- "url": "https://mintlify.com/legal/privacy"
+ "label": "localization",
+ "url": "localization"
},
{
- "label": "Terms of Service",
- "url": "https://mintlify.com/legal/terms"
+ "label": "localization",
+ "url": "localization"
}
]
}
@@ -351,10 +351,10 @@
},
"analytics": {
"ga4": {
- "measurementId": "G-RCYWHL7EQ7"
+ "measurementId": "localization"
},
"koala": {
- "publicApiKey": "pk_76a6caa274e800f3ceff0b2bc6b9b9d82ab8"
+ "publicApiKey": "localization"
}
}
}
\ No newline at end of file