SiteTran
ReadMe Pro & Enterprise One include tag

Translate your ReadMe docs, not your code

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.

  • Free plan, no card needed
  • Unlimited languages on every plan
  • AI + human review
187+languages, including right-to-left
~5 minto install from your ReadMe dashboard
0projects or versions to duplicate per language
$0to start on the Free plan

Driving growth for companies with millions of users

Alignment Neil Patel Exomonitor Cyfe Instructified
Before you start

ReadMe plans with Custom HTML

SiteTran goes into ReadMe's Custom Include Tags. Here's where you'll find them, so you can get set up in minutes.

Try it on the trial

Starter

$0 per month

ReadMe's 14-day trial includes Pro features, so you can install SiteTran and test your first language before you upgrade to Pro.

Ready for SiteTran

Pro

$250 per month, billed annually

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.

Ready for SiteTran

Enterprise

Custom pricing

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.

How it works

Add SiteTran to ReadMe in three steps

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.

1

Create your SiteTran site

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.

2

Paste it into End of Body Tag

Add the ignore list to the first line, paste all three lines into End of Body Tag under Custom Include Tags, and save.

Appearance›CSS, JS, HTML›End of Body Tag
3

Translate and publish

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.

What the Widget Code looks like on ReadMe
<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.

Code & API terms

What to translate in API docs, and what to leave alone

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.

Translated

Everything a developer reads

The words that explain your API, in every page type ReadMe offers.

  • Guides, recipes and custom pagesHeadings, prose, callouts, tables and recipe step text.
  • Endpoint titles and descriptionsIncluding parameter, response and error descriptions from your OpenAPI file.
  • Navigation and interface labelsThe sidebar, header tabs, landing page, buttons such as Try It! and the changelog.
  • Titles, meta descriptions and alt textPlus Open Graph and Twitter tags, tooltips and ARIA labels.
Kept as written

Everything a developer copies

Each line of the ignore list protects one part of the page. Anything inside these elements is skipped.

  • Code blocks and inline codepre and code cover snippets, recipe code and terms in backticks.
  • Endpoints and HTTP methods[data-testid="serverurl"] and .rm-APIMethod keep URLs and get/post badges.
  • Parameter names[class*="Param-name"] keeps names such as customer_id while their descriptions are translated.
  • Try It requests, responses and logsReal API responses and request history are never translated or collected as phrases.

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.

Built for ReadMe

What happens to each part of your hub

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.

No extra code

Navigating between pages

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.

Translated, code kept

API reference and Try It

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.

Translated as displayed

Recipes and the changelog

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.

Translate once, reuse

Versions and branches

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.

Translated

Landing page, sidebar and custom pages

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.

Unchanged

Your ReadMe project and Git sync

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.

Compare your options

Every way to make a ReadMe hub multilingual

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.

Translation quality

AI speed, with an engineer checking the terms

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.

  • Machine translation from DeepL, Google and OpenAI

    Get suggestions for any phrase, or translate new phrases automatically. You choose whether they're approved automatically or reviewed first.

  • Translators and reviewers per language

    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.

  • Glossary, rules and translation memory

    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.

  • A language dropdown that fits your hub

    Choose from three dropdown types, with or without flags, and position it with CSS. Readers are switched to their browser language automatically.

Translate your ReadMe docs into 187+ languages

JapanesePortuguese (Brazil)Chinese (Simplified)KoreanGermanSpanishFrenchChinese (Traditional)IndonesianVietnameseHindiTurkishPolishArabicHebrewItalian+ 170 more
Language tips

Choices to make before your first developer market

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.

日本語

Japanese

Pick polite です/ます form for prose, and decide which API terms stay in English or katakana.

Rule: Use です/ます. Keep "webhook" in English.
Português

Portuguese (Brazil)

Add Portuguese (Brazil) rather than European Portuguese if your readers are in Brazil. Spelling and vocabulary differ.

Rule: Address the reader as "você".
简体中文

Chinese

Simplified and Traditional Chinese are separate languages in SiteTran. Add the one your readers use, or both.

Rule: Keep API field names in English.
한국어

Korean

Choose a consistent formal style for instructions, and decide how product names are written.

Rule: Use the 합니다 style for steps.
Deutsch

German

Decide between formal "Sie" and informal "du". Developer docs use both, but mixing them reads badly.

Rule: Address the reader as "Sie".
SEO for developer docs

Multilingual SEO on ReadMe

Here's what's translated as soon as you install SiteTran, and what it takes to give each language its own indexable address.

Included as soon as you install

Everything search and link previews read

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.

  • Page title and meta description
  • Open Graph and Twitter tags for link previews
  • Image alt text, tooltips, placeholders and ARIA labels
  • The page's lang attribute, set to the selected language
Advanced setup

Language URLs for Google

By 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.

docs.yourapi.comReadMe, original
ja.docs.yourapi.comSubdomain + proxy

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 SEO

Want the general walkthrough with screenshots?

Custom 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.

Read the guide
Troubleshooting

ReadMe translation not working? Check these first

Most ReadMe setup problems come down to the plan, the field the code went into, or testing while logged in.

1The language dropdown doesn't appear

  1. Check your plan: Custom HTML is included on Pro and Enterprise.
  2. Open your hub logged out, in a private window. Logged-in admins see the hub inside ReadMe's editor preview.
  3. Make sure all three lines are in End of Body Tag, including the div, and that you saved.
  4. In SiteTran, make sure the language is both Active and Live. If Hide All Widgets On Site (dev mode) is on, add ?sitetran=on to your URL.
My Language Isn’t Showing Up in the Language Dropdown →

2The dropdown is at the very bottom of the page

  1. End of Body Tag places the div after your hub's content, so the dropdown appears below the footer.
  2. Pin it to a corner with position: fixed in ReadMe's Custom CSS or your Dropdown Style CSS.
  3. Keep it clear of any chat or Ask AI button.
Positioning the Language Dropdown on your Site →

3Code or parameter names were translated

  1. Add the ignore_selectors list from this page to the first line of your Widget Code.
  2. Ignored elements show your original text again on the next page load.
  3. For your own HTML blocks, add translate="no" or the notranslate class.
Ignore/Exclude Certain Phrases from Being Translated or Discovered →

4Some pages are still in English

  1. SiteTran discovers text when it's shown, so open the guides, endpoints and recipes you want translated.
  2. A translation appears only after it's approved and published. To translate new text automatically, turn on Machine Translation Auto Translate.
  3. After publishing, data can take up to 30 seconds to update, and a reader's browser can keep it cached for up to 10 minutes.
My New Translations or Changes Aren’t Appearing on my Website →

5API responses or keys appear as phrases

  1. Make sure .rm-PlaygroundResponse and .rm-APILogsTable are in your ignore list.
  2. If your hub shows signed-in developers their own data, exclude those areas too.
  3. For private or logged-in hubs, consider turning off Public Phrase Discovery.
Prevent User's Personal Data from Being Translated →

6Code looks reversed in Arabic or Hebrew

  1. Right-to-left languages flip the page direction, and code blocks can inherit it.
  2. Add pre, code { direction: ltr; text-align: left; } as per-language CSS under Languages › Manage, or in ReadMe's Custom CSS.
  3. Check one recipe and one endpoint page in that language before publishing.
Pricing

Simple pricing that grows with your docs

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.

Free

$0

For small hubs and testing

  • 7K words in site
  • 3K translated pageviews / month
  • 7K machine translations

Starter

$3/mo

For sites with moderate translation needs

  • 30K words in site
  • 15K translated pageviews / month
  • 30K machine translations
Growing docs

Pro

$35/mo

For larger sites or several smaller ones

  • 90K words in site
  • 45K translated pageviews / month
  • 90K machine translations

Business

$75/mo

For large-scale international sites

  • 250K words in site
  • 125K translated pageviews / month
  • 250K machine translations
Annual billing: 2 months free · Enterprise plans for 1M+ words See all features
FAQ

ReadMe translation questions

Have another question? Our team is happy to help with your ReadMe setup and your ignore list.

Email support
How do I add SiteTran to my ReadMe docs?
Create a free SiteTran site and copy your Widget Code. In your ReadMe project, go to Appearance, then CSS, JS, HTML, and paste the code into the End of Body Tag field under Custom Include Tags. Add the ignore list shown on this page so code samples stay as written, then save. Open your hub in a private window and pick a language from the dropdown.
Which ReadMe plan do I need?
Pro or Enterprise, because those plans include the Custom HTML field SiteTran goes into. Custom JavaScript, an Enterprise feature, is optional. ReadMe's 14-day trial includes Pro features, so you can test SiteTran during the trial.
Will SiteTran translate my code samples?
Not if you exclude them, and we recommend you do. SiteTran translates any text it finds unless you tell it to skip it, so the ReadMe snippet on this page lists code blocks, inline code, endpoint URLs, HTTP methods, parameter names and the Try It request and response panels in sitetran.ignore_selectors. Everything inside those elements stays exactly as written, in every language.
Does SiteTran work with the API reference and Try It?
Yes. Endpoint titles, descriptions, parameter descriptions, response descriptions and interface labels are translated, while the code, URLs and parameter names you exclude stay as written. Try It keeps sending exactly the values a developer types, because SiteTran never changes text typed into inputs.
Does SiteTran keep working when readers move between pages?
Yes. A ReadMe hub is a single-page app, so new pages load without a full reload. SiteTran loads once and keeps watching the page, so each page a reader opens is translated as it appears. You don't need ReadMe's pageLoad event or any extra code.
Should I use ReadMe's built-in AI Translations instead?
If you are on ReadMe Enterprise and only need the languages ReadMe supports, its AI Translations are worth a look. They currently cover English, German, Spanish, French, Italian, Japanese, Portuguese, Chinese, Korean, Dutch and Swahili. SiteTran works on Pro as well as Enterprise, supports 187+ languages including right-to-left, and lets your own translators and reviewers approve every phrase. We recommend using one or the other on a hub, not both.
Can I keep product names and API terms in English?
Yes. Add product names, SDK names and terms such as webhook or idempotency key to the Glossary with the translation you want, which can be the term itself. Translation Rules can also tell AI translation to keep identifiers unchanged. Anything inside code formatting is already skipped by the ignore list.
Do translated ReadMe docs get their own URLs for SEO?
By default, every language is served from your existing ReadMe URL with translated titles and meta descriptions, and the reader's choice is remembered. For indexable language URLs, SiteTran's Static Translation API can serve translated HTML on a language subdomain such as ja.docs.example.com through a proxy or edge worker you run, which is the setup that fits ReadMe best. Book a call and we will help you plan it.
Does SiteTran translate recipes, the changelog and custom pages?
Yes. Recipe step text, changelog posts, custom pages, your landing page and the sidebar are translated like guides. The code in each recipe step stays as written when it is excluded by the ignore list.
What about multiple versions of my docs?
SiteTran translates whichever version a reader is viewing. Text that is the same in several versions only needs translating once, so a new version mostly brings the paragraphs you changed, and Similar Phrases suggests past translations for text that is close.
Can readers search my docs in their own language?
Everything readers see is translated, including page titles, labels and the pages their search leads to. Like any hub translated on the page, ReadMe's search matches the words in your original docs, and developers often search with English API terms anyway. Talk to us if search in other languages matters for your setup.
Can I use machine translation and still review it?
Yes. You can get machine translation suggestions from DeepL, Google Translate or OpenAI, automatically translate new phrases, and decide whether those translations are approved automatically or reviewed first. You can also invite human translators and reviewers for each language and use AI Translation Review.
Can I test translations before readers see them?
Yes. A language stays hidden from readers until you set it to Live. You can also turn on Hide All Widgets On Site (dev mode) under Settings, then Publishing, and add ?sitetran=on to your hub's URL to preview the language dropdown yourself. Test in a private window while logged out, because ReadMe shows logged-in admins the hub inside its editor preview.
Is there a free plan?
Yes. The Free plan includes 7,000 words in your site, 3,000 translated pageviews per month and 7,000 machine translations, with unlimited languages and teammates. Paid plans raise those limits and start at $3 per month. Compare plans.
What happens if I go over my plan's limits?
You will be prompted to upgrade or buy additional credits. Your existing translations remain intact, and new translations are paused until you upgrade.

Make your ReadMe docs multilingual today

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.

Start translating free Book a call Free plan · Unlimited languages and teammates