Overview
postext currently ships with documentation and UI in English and Spanish. We would love to offer it in more languages, and this is a great opportunity for first-time contributors to help out — no deep knowledge of the codebase is required, just fluency in the target language.
What needs translating
There are two separate surfaces, and you can tackle either one (or both) independently.
1. Documentation (MDX)
Location: docs/
The source files follow the naming pattern <topic>-<lang>.mdx. For a new language xx, each of these English files needs a sibling *-xx.mdx:
You can take the Spanish versions (*-es.mdx) as a reference for tone and length.
2. Web app UI (next-intl messages)
Location: apps/web/messages/
Currently en.json and es.json (~617 lines each). For a new language xx, copy en.json to xx.json and translate the values (never the keys). Then add the locale code to apps/web/src/i18n/routing.ts.
Priority languages
We would especially welcome translations into:
- 🇨🇳 Chinese (Simplified) —
zh-CN
- 🇫🇷 French —
fr
- 🇩🇪 German —
de
- 🇧🇷 Portuguese (Brazil) —
pt-BR
- 🇯🇵 Japanese —
ja
- 🇮🇹 Italian —
it
- 🇷🇺 Russian —
ru
- 🇰🇷 Korean —
ko
- 🇸🇦 Arabic —
ar (RTL — extra care needed)
- 🇮🇳 Hindi —
hi
Other languages are welcome too — just comment on this issue before starting so we can coordinate.
How to contribute
- Comment on this issue with the language(s) you want to tackle and whether you'll do docs, UI, or both. This avoids duplicated work.
- Fork the repo and create a branch:
git checkout -b i18n/<lang>.
- Add your translated files following the conventions above.
- Open a separate PR per language (one PR can cover both docs and UI for that language).
- In the PR description, mention you are a native / fluent speaker of the language, or note if you relied on machine translation + manual review.
Guidelines for translators
- Keep technical terms in English when they are widely used as-is (e.g.,
VDT, MDX, IndexedDB, React, Tailwind). Don't over-translate.
- Preserve all Markdown / MDX syntax, code fences, component imports, and frontmatter keys. Only translate human-readable text.
- Don't translate JSON keys in
messages/*.json — only string values.
- Match the tone of the existing English docs: clear, friendly, pragmatic. Not overly formal.
- Placeholders like
{name}, {count} inside translations must be kept verbatim.
- If something in the English source is unclear or looks wrong, flag it in your PR — translators often spot ambiguity that authors miss.
Acceptance criteria per language
Thanks in advance to everyone who helps make postext accessible to more people. 🙌
Overview
postext currently ships with documentation and UI in English and Spanish. We would love to offer it in more languages, and this is a great opportunity for first-time contributors to help out — no deep knowledge of the codebase is required, just fluency in the target language.
What needs translating
There are two separate surfaces, and you can tackle either one (or both) independently.
1. Documentation (MDX)
Location:
docs/The source files follow the naming pattern
<topic>-<lang>.mdx. For a new languagexx, each of these English files needs a sibling*-xx.mdx:introduction-en.mdxjustification-en.mdxarchitecture-en.mdxdocument-format-en.mdxconfiguration-en.mdxsandbox-en.mdxcontributing-en.mdxYou can take the Spanish versions (
*-es.mdx) as a reference for tone and length.2. Web app UI (next-intl messages)
Location:
apps/web/messages/Currently
en.jsonandes.json(~617 lines each). For a new languagexx, copyen.jsontoxx.jsonand translate the values (never the keys). Then add the locale code toapps/web/src/i18n/routing.ts.Priority languages
We would especially welcome translations into:
zh-CNfrdept-BRjaitrukoar(RTL — extra care needed)hiOther languages are welcome too — just comment on this issue before starting so we can coordinate.
How to contribute
git checkout -b i18n/<lang>.Guidelines for translators
VDT,MDX,IndexedDB,React,Tailwind). Don't over-translate.messages/*.json— only string values.{name},{count}inside translations must be kept verbatim.Acceptance criteria per language
docs/*-<lang>.mdxfiles addedapps/web/messages/<lang>.jsonadded with every key fromen.jsontranslatedapps/web/src/i18n/routing.tspnpm build) without i18n warningsThanks in advance to everyone who helps make postext accessible to more people. 🙌