MDX files¶
Added in version 2026.5.
Note
Support for this format is under development. Some features might not yet be available and the behavior can change between releases. Feedback from testing is welcome.
MDX files are Markdown files with JSX syntax. Weblate extracts translatable Markdown text and preserves imports, exports, JSX components, and expressions.
MDX units automatically get the md-text and auto-safe-html flags.
This keeps the unsafe HTML check active for plain text, standard HTML, and
custom elements while avoiding HTML cleanup on MDX and JSX-like syntax.
Use the explicit safe-html flag for strings that are known to contain HTML
and should always be sanitized, including SVG or MathML snippets.
Note
Unlike most other formats, the changes in the translation files will not be imported to Weblate because it can not be done reliably. The source of truth for the translations is Weblate not the translated file.
See also
Example file:
---
title: Ahoj světe!
description: Learn with Weblate
---
import LessonCard from "./LessonCard"
export const metadata = { slug: "intro" }
# Ahoj světe!
<LessonCard title="Keep this code" count={5}>
Do not translate this JSX body.
</LessonCard>
Orangutan has five bananas.
Try Weblate at [weblate.org](https://demo.weblate.org/)!
*Thank you for using Weblate.*
File extensions |
|
|---|---|
Linguality ⓘ |
Monolingual |
Supports plural ⓘ |
|
Supports descriptions ⓘ |
|
Supports explanation ⓘ |
|
Supports context ⓘ |
|
Supports location ⓘ |
|
Supports flags ⓘ |
|
API identifier |
|
Supports read-only strings ⓘ |
|
Check flags added by this format ⓘ |
|
Weblate configuration¶
Typical Weblate Component configuration |
|
|---|---|
File mask |
|
Monolingual base language file |
|
Template for new translations |
|
File format |
MDX file |
File format parameters |
|
Handling duplicate strings¶
By default, Weblate treats each occurrence of a string as a separate translation unit to provide line-based context. This can be problematic in MDX tables or repeated component content, where reordering changes the context and can lead to translation loss.
To consolidate identical strings into a single translation unit, enable Deduplicate identical strings in the File format parameters.
Note
Enabling this option disables line-based context for the merged units, ensuring that translations remain stable even if rows or sections are moved within the document.