Starter
$0 per monthReadMe's 14-day trial includes Pro features, so you can install SiteTran and test your first language before you upgrade to Pro.
SiteTran makes your ReadMe developer hub multilingual from one snippet. Guides, API reference descriptions, recipes and the changelog are translated for developers in Tokyo, São Paulo or Seoul, while code samples, endpoints and parameter names stay exactly as you wrote them.
Driving growth for companies with millions of users
SiteTran goes into ReadMe's Custom Include Tags. Here's where you'll find them, so you can get set up in minutes.
ReadMe's 14-day trial includes Pro features, so you can install SiteTran and test your first language before you upgrade to Pro.
Pro includes Custom HTML. Paste SiteTran into the End of Body Tag field under Appearance › CSS, JS, HTML, and it loads on every page of your hub.
Enterprise also adds Custom JavaScript. Use the same End of Body Tag field as on Pro, which holds both the script and the language dropdown's div.
Plan names and prices from readme.com/pricing and ReadMe's Custom CSS, HTML, and JavaScript docs, checked October 20, 2026. ReadMe renamed its plans in 2026, so older guides may still say Startup or Business.
The snippet below is your Widget Code plus a short ignore list for ReadMe, so code blocks, endpoints and parameter names are never translated or collected as phrases.
Sign up free, add your docs address, such as docs.yourapi.com, and pick your languages. SiteTran gives you your Widget Code with your site ID.
Add the ignore list to the first line, paste all three lines into End of Body Tag under Custom Include Tags, and save.
Open your hub in a private window and pick a language. SiteTran discovers your text as pages load. Translate it with AI, your own reviewers, or both, then publish.
<script>var sitetran = {site_id: your_site_id, ignore_selectors: [ 'pre', 'code', '.rm-APIMethod', '[data-testid="serverurl"]', '[class*="Param-name"]', '.rm-PlaygroundRequest', '.rm-PlaygroundResponse', '.rm-APILogsTable' ]};</script> <script src="//c.sitetran.com/widget/v3.js"></script> <div id="sitetran_translate_element"></div>
Start from your own ready-to-paste code in SiteTran, which already has your site ID, and add the ignore_selectors list. ReadMe can change its class names, so check these selectors against your own hub with your browser's inspector before launch. The div is where the language dropdown is created.
A developer in Osaka wants your explanations in Japanese, but needs customer_id, POST /v1/payments and your cURL example to match the real API exactly. Here's how the ReadMe snippet splits a hub.
The words that explain your API, in every page type ReadMe offers.
Each line of the ignore list protects one part of the page. Anything inside these elements is skipped.
pre and code cover snippets, recipe code and terms in backticks.[data-testid="serverurl"] and .rm-APIMethod keep URLs and get/post badges.[class*="Param-name"] keeps names such as customer_id while their descriptions are translated.Why the list matters. SiteTran translates any text it finds unless you tell it to skip it, and that's what you want for prose. Without the list, a translator could "translate" amount in a code sample and break a developer's copy and paste. The .rm- classes come from ReadMe's documented global classes. The other two match ReadMe's current markup, so check them with your browser's inspector if ReadMe changes its layout. See Ignore/Exclude Certain Phrases from Being Translated or Discovered for more options, including translate="no" on your own HTML blocks.
A ReadMe hub is a single-page app: readers move between pages without a full reload. SiteTran loads once and keeps watching the page, so every page, tab and panel is translated as it appears.
ReadMe tells you to hook its pageLoad event for scripts that must run on every page. SiteTran doesn't need it. It watches for new content, so the next guide or endpoint is translated when it loads.
Endpoint descriptions, parameter descriptions and response descriptions are translated. Try It sends exactly what a developer types, because SiteTran never changes text typed into inputs.
Each recipe step's explanation is translated while its highlighted code stays as written. Changelog posts are translated too, so release notes reach every reader in their language.
SiteTran translates whichever version a reader views. Text shared between v1 and v2 only needs translating once, and Similar Phrases suggests past work for paragraphs that changed a little.
Your hub's landing page, the sidebar, header tabs and custom pages are translated like guides, so readers find their way around in their own language from the first click.
SiteTran only changes the text readers see. Your Markdown, MDX, OpenAPI file and Git sync stay as they are, and when you publish an edit, the new text shows up in SiteTran ready to translate.
You can use ReadMe's own AI Translations, connect a localization platform, add a general website translation script, or use SiteTran. Here's what each one involves on ReadMe.
| ReadMe AI TranslationsBuilt in, Enterprise | Localization platformsLocalize, Transifex, Smartling, Crowdin | Website translation scriptsWeglot, ConveyThis and similar | SiteTranOne include tag | |
|---|---|---|---|---|
| How it works | You enable languages in the Group Dashboard and choose AI or Human per language. Each language becomes its own set of versions. | A connector or script sends your hub's text to the platform, where you translate and publish it. | A script translates pages in their cloud and adds a language switcher. | SiteTran translates your hub as it renders and adds a language dropdown. |
| ReadMe plan needed | Enterprise. | Varies. Script installs need Custom HTML or JavaScript. Smartling is an Enterprise feature. | Pro or Enterprise, for Custom HTML. | Pro or Enterprise, for Custom HTML. |
| Languages | 11: English, German, Spanish, French, Italian, Japanese, Portuguese, Chinese, Korean, Dutch, Swahili. | Broad, depending on platform and plan. | Often capped per plan, for example 1, 3 or 5 languages. | 187+ languages including right-to-left, unlimited on every plan. |
| Code samples | Terms on a do-not-translate list stay as written. | Usually excluded through the platform's rules or settings. | Excluded with selectors you configure. | Excluded with the ReadMe ignore list on this page, ready to paste. |
| Review workflow | AI runs automatically, or your team writes translations by hand in ReadMe. | Strong: translation memory, vendors and review steps. | Varies, often on higher plans. | Translators and reviewers per language, approval, Glossary, Translation Rules and AI Translation Review. |
| Language URLs | Language versions in your Versions menu, with a reader-facing language picker. | Depends on the platform. Script-based setups usually keep one URL. | Usually language subdomains through their own proxy. | Same URL by default, with translated meta tags. Language subdomains are an advanced setup. |
| Pricing | Included with Enterprise, custom pricing. | Mostly quote-based or per word. | Per word and per language. | Free plan, then from $3/month. Unlimited languages and teammates. |
ReadMe details are from ReadMe's localization and Custom CSS, HTML, and JavaScript docs. Platform and script details are from each provider's ReadMe page or pricing page, checked October 20, 2026. Keeping docs in Git with Docusaurus or Mintlify? Those tools translate through per-language folders of files, which suits teams with a localization pipeline already in place.
Technical docs fail on details: a mistranslated term or a renamed field confuses the exact readers you're trying to win. Start with machine translation and let the people who know your API approve it.
Get suggestions for any phrase, or translate new phrases automatically. You choose whether they're approved automatically or reviewed first.
Invite a developer advocate in Tokyo, a partner engineer in São Paulo or a professional translator, and choose who can approve. Turn on AI Translation Review for a second opinion.
Pin terms such as webhook, idempotency key and your SDK names in the Glossary, set Translation Rules that AI translation follows, and reuse past work with Similar Phrases.
Choose from three dropdown types, with or without flags, and position it with CSS. Readers are switched to their browser language automatically.
Each language comes with a few style choices that are worth deciding up front. Write the answers as Translation Rules once, and AI translation follows them on every page.
Pick polite です/ます form for prose, and decide which API terms stay in English or katakana.
Rule: Use です/ます. Keep "webhook" in English.Add Portuguese (Brazil) rather than European Portuguese if your readers are in Brazil. Spelling and vocabulary differ.
Rule: Address the reader as "você".Simplified and Traditional Chinese are separate languages in SiteTran. Add the one your readers use, or both.
Rule: Keep API field names in English.Choose a consistent formal style for instructions, and decide how product names are written.
Rule: Use the 합니다 style for steps.Decide between formal "Sie" and informal "du". Developer docs use both, but mixing them reads badly.
Rule: Address the reader as "Sie".Here's what's translated as soon as you install SiteTran, and what it takes to give each language its own indexable address.
SiteTran translates more than visible text. When a reader switches language, the page title and description switch with it, which matters when docs links are shared in Slack or Discord.
lang attribute, set to the selected languageBy default, every language uses your existing ReadMe URL and the reader's choice is remembered. For a separate, indexable page per language, SiteTran's Static Translation API returns translated HTML for an address you serve it from. ReadMe renders your docs on the server, so the text is already in the HTML the API reads.
A language subdomain pointed at a small proxy or edge worker is the setup that fits ReadMe best, and your main docs domain stays exactly as it is. We'll help you plan it.
Talk to us about docs SEOCustom SiteTran Integration covers creating your site, copying your Widget Code and testing your first language. On ReadMe, paste the code into End of Body Tag as shown above.
Most ReadMe setup problems come down to the plan, the field the code went into, or testing while logged in.
div, and that you saved.?sitetran=on to your URL.div after your hub's content, so the dropdown appears below the footer.position: fixed in ReadMe's Custom CSS or your Dropdown Style CSS.ignore_selectors list from this page to the first line of your Widget Code.translate="no" or the notranslate class..rm-PlaygroundResponse and .rm-APILogsTable are in your ignore list.pre, code { direction: ltr; text-align: left; } as per-language CSS under Languages › Manage, or in ReadMe's Custom CSS.Every plan includes unlimited languages and teammates, so adding Korean after Japanese never means a bigger plan. Start free and upgrade when your readership grows.
For small hubs and testing
For sites with moderate translation needs
For larger sites or several smaller ones
For large-scale international sites
Have another question? Our team is happy to help with your ReadMe setup and your ignore list.
Email supportsitetran.ignore_selectors. Everything inside those elements stays exactly as written, in every language.Paste one include tag, pick your languages, and give developers everywhere docs they can read, with code they can copy as is. Start on the Free plan and upgrade only when you grow.