SiteTran
OpenCart 3 & 4 No extension. One paste in the Theme Editor.

OpenCart translation for every product, cart and checkout step

Translate your OpenCart store into 187+ languages without filling in a new tab of fields for every product. SiteTran translates your storefront as it renders, including the AJAX mini-cart, add-to-cart alerts and checkout, while your catalog, prices and orders stay in OpenCart.

  • Free plan, no card needed
  • Unlimited languages
  • AI + human translation
Green Tea
Sencha Uji Green Tea
Steamed Japanese sencha, grassy and sweet. 100 g tin.
€8.90Ex Tax: €7.48
Jasmine Dragon Pearls
Hand-rolled green tea scented with jasmine blossoms. 50 g.
€12.50Ex Tax: €10.50
Gyokuro Premium
Shade-grown for three weeks for a deep umami taste. 50 g.
€16.00Ex Tax: €13.45

Click Add to Cart, then open the cart. The alert and mini-cart load with AJAX and are translated too.

187+languages, including right-to-left
~3 minto install in the Theme Editor
1template to edit: common/footer
$0to start on the Free plan

Driving growth for companies with millions of users

Alignment Neil Patel Exomonitor Cyfe Instructified
How it works

Add SiteTran to OpenCart in three steps

SiteTran runs as a small Widget Code in your storefront's footer template. OpenCart keeps rendering your store as usual, and SiteTran shows each shopper their language. It works the same on OpenCart 3 and OpenCart 4.

1

Create your SiteTran site

Sign up free and add your store. Copy your Widget Code from the Dropdown Style page. It adds the language dropdown to your storefront.

2

Paste it into common/footer

In your OpenCart admin, open the Theme Editor, choose your store and the common/footer template, and paste the Widget Code right before </body>. Then save.

Design›Theme Editor›common/footer
3

Translate and publish

Open your store and pick a language. SiteTran discovers your text as you browse, then you translate it with AI, your own translators, or both, and publish.

What the Widget Code looks like
<script>var sitetran = {site_id: your_site_id};</script>
<script src="//c.sitetran.com/widget/v3.js"></script>
<div id="sitetran_translate_element"></div>

SiteTran gives you your own ready-to-paste code, with your site ID already in it. The div is where the language dropdown appears.

OpenCart 4: Add New, then choose the templateIn 4.x the Theme Editor opens a list of overrides. Click Add New, pick your store, choose common/footer, turn Status on, paste the code before </body> and save.
Not showing yet? Refresh the theme cacheOpen your admin Dashboard, click the gear at the top right, and refresh the theme cache. Then reload your store.
Want the dropdown in the top bar?The div sets where the dropdown appears. Keep the two script lines in the footer and move just the div into common/header beside the currency selector, or position it with CSS.
Built for OpenCart

Answers to the questions OpenCart store owners ask

OpenCart loads a lot of text after the first page view: cart updates, alerts, checkout steps. And much of it comes from extensions you didn't write. Here's how SiteTran handles each part of an OpenCart store.

Translated

Mini-cart and add-to-cart alerts

The header cart button, its dropdown and the green "Success: You have added…" alert are loaded with AJAX after the page. SiteTran watches the page for new content and translates it as soon as it appears.

Translated

Checkout steps

OpenCart's checkout is a page on your own domain, built from your theme, so the Widget Code runs there too. Step titles, address forms, delivery and payment method lists and the order confirmation page are translated as each step loads.

No per-language fields

Products, categories and information pages

SiteTran translates names, descriptions, options, attributes and information pages as shoppers see them. Nothing is written to your database, so there's no new language tab to fill in for every product.

Translated

Extensions and modules

Text from payment, shipping, filter and marketing extensions is translated like the rest of your page, even when an extension has no language file for your shoppers' language.

Works with your currencies

Prices, currencies and taxes

Your currency selector, tax classes and "Ex Tax" prices keep working exactly as you set them in OpenCart, and the labels around them, such as "Ex Tax:" and "Sub-Total", are translated.

Works per store

Multi-store and premium themes

The Theme Editor saves an override per store, so add the Widget Code for each store you run. On Journal, use the theme's own Custom Code Footer setting, which places code before </body>.

Page by page

What gets translated on an OpenCart store, including checkout

You host OpenCart, and checkout uses the same header and footer as the rest of your store, so SiteTran translates the whole path from home page to order confirmation. Here's the full map.

Page or feature Rendered by Translated by
Home, category, search and brand pagesIncluding module boxes such as Featured and Bestsellers Your theme, with common/footer SiteTran
Product pagesOptions, attributes, reviews and related products Your theme, with common/footer SiteTran
Information pagesAbout Us, Delivery Information, Privacy Policy, Terms & Conditions Your theme, with common/footer SiteTran
Mini-cart, cart page and add-to-cart alerts Your theme, loaded with AJAX SiteTran
Checkout and order success pageAddresses, delivery and payment method choices, confirm step Your theme, with common/footer SiteTran
Login, register and My AccountExclude addresses and order details Your theme, with common/footer SiteTran
Checkout on your domain

Why OpenCart checkout can be translated

OpenCart's checkout page includes your theme's header and footer like any other page, so the Widget Code loads there. In OpenCart 3 the steps open one after another; in OpenCart 4 the sections load on one page. Either way, SiteTran translates each part as it appears.

OpenCart 3 numbers its steps, as in "Step 2: Account & Billing Details". Turn on Automatic Number Variables so one translation covers every step number.

Ready to sell

From product page to order confirmation

Shoppers browse, add to cart, check out and see their order success page in their own language, so the whole path to purchase reads naturally. Place a test order with each payment method in each language you launch.

Order emails are sent by OpenCart using your language files, which you can adjust in Design › Language Editor. Book a call and we'll help you plan emails for your markets.

The native route, counted

How many fields would you translate by hand?

With OpenCart's own languages, every product, category and information page gets a tab per language, plus an SEO keyword per store and language. Enter your numbers to see what that adds up to.

Your store

Counted from OpenCart 4.1's admin forms: products have 6 fields per language (name, description, tags, meta title, meta description, meta keywords), categories and information pages have 5, and each has an SEO keyword per store and language. Options, attributes, filters and theme or extension text come on top.

Fields to fill in by hand
9,048before options, attributes, filters and extension text
  • Product fields7,200
  • Category and information page fields540
  • SEO keywords1,308
With SiteTran: the text is discovered as it's displayed and appears in one list per language. Machine translation can fill new phrases automatically, and your team reviews what matters.
Compare your options

Every way to make an OpenCart store multilingual

OpenCart has languages built in, the Marketplace has hundreds of language packs and translation extensions, and several services translate your pages for you. They solve different parts of the problem.

Language packs translate OpenCart, not your store

A language pack from the Marketplace translates OpenCart's own interface text, such as buttons and checkout labels, and is usually built for a specific OpenCart version. Your products, categories and pages still need translations of their own.

Store data vs. what shoppers see

Native languages and auto-translate extensions store translations in OpenCart's database, field by field. Translation services and SiteTran translate the finished page, so theme, module and extension text is included too.

OpenCart languagesBuilt in, plus a language pack Auto-translate extensionsFrom the OpenCart Marketplace Translation servicesFor example ConveyThis, Linguise Google Translate widgetsVisitor-side machine translation SiteTranOne Widget Code in common/footer
How it works Install a language, then enter a translation in each product, category and information page's language tab. An admin extension sends your fields to a translation API and saves the results in each language tab. A script, or a server-side script with rewrite rules, serves translated versions of your pages. A widget machine-translates the page in the shopper's browser. SiteTran translates your storefront as it renders, using translations you control.
What's covered Catalog data you enter, plus interface text from the pack. Extension text only where it has a language file. The database fields the extension supports, often products, categories, attributes and information pages. Storefront pages, including theme and extension text. Visible text on pages where the widget loads. Every storefront page with your footer: products, mini-cart, alerts, checkout, modules and extension text.
Who translates You or your team, field by field. Machine translation, usually with your own Google, Microsoft or OpenAI API key. Machine translation, with manual edits. Google machine translation only. DeepL, Google Translate or OpenAI, plus your own translators and reviewers.
Language URLs for SEO SEO keywords per language and store. Hreflang tags need an extension. Uses OpenCart's own language URLs. Subdomains or subdirectories, usually on higher plans and with DNS or server changes. Usually no. Same URLs by default. Language URLs through the Static Translation API.
Cost Free, plus your team's time. Some packs are paid. A one-time extension fee, plus the translation API's usage charges. Monthly plans with word and language limits. Free and paid versions. Free plan, then from $3/month. Unlimited languages on every plan.
Changes to your store Install the language and pack, then translate catalog content. Install the extension and an API key. A template edit, and for SEO, DNS records or files and rewrite rules on your server. Install a module or template code. One Theme Editor override. No database, DNS or file changes.

Details checked on October 20, 2026 from OpenCart's source code and Marketplace, and each service's public OpenCart page or documentation. Approaches can be combined, for example a language pack for OpenCart's interface with SiteTran for everything else.

Translation quality

Machine speed for the catalog, human care where it counts

Let machine translation handle hundreds of product descriptions, then have a native speaker review your best sellers, checkout and shipping pages before you launch a market.

  • Machine translation from DeepL, Google and OpenAI

    Get suggestions for any phrase, or translate new phrases automatically as you add products. You choose whether they're approved automatically or reviewed first. No API keys to manage.

  • Translators and reviewers per language

    Invite your own translators, or a partner in each market, and choose who can approve. Turn on AI Translation Review for a second opinion on each translation.

  • Glossary, rules and translation memory

    Keep brand and product names consistent in the Glossary, set Translation Rules that AI translation follows, such as formal "Sie" in German, and reuse past work with Similar Phrases.

  • A language dropdown that fits your theme

    Choose from three dropdown types, with or without flags, and add your own CSS so it sits beside your currency selector. Shoppers are switched to their browser language automatically.

Translate your OpenCart store into 187+ languages

SpanishGermanFrenchItalianPortuguese (Brazil)PolishGreekTurkishUkrainianRomanianCzechDutchArabicIndonesianVietnameseThai+ 170 more
SEO for OpenCart stores

Multilingual SEO for OpenCart stores

Here's what's translated as soon as you install SiteTran, and what it takes to give each language its own indexable URL on an OpenCart store.

Included as soon as you install

Everything shoppers and social cards read

SiteTran translates more than visible text. When a shopper switches language, the page's metadata switches with it.

  • Page titles and meta descriptions you set for products, categories and information pages
  • Open Graph and Twitter tags for link previews
  • Product 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 store's existing URLs and the shopper's choice is remembered. For a separate, indexable page per language, SiteTran's Static Translation API returns translated HTML for URLs like these:

yourstore.com/green-teaEnglish
yourstore.com/es/green-teaSubdirectory
es.yourstore.com/green-teaSubdomain

Because you host OpenCart yourself, you can route those URLs through your web server or a CDN worker that calls the API and caches the result, with no third-party DNS takeover. OpenCart's own per-language SEO keywords are a different route: they show translations stored in OpenCart, not SiteTran's. We'll help you choose.

Talk to us about OpenCart SEO

Prefer screenshots?

The OpenCart integration guide walks through the Theme Editor install step by step, then shows you how to check that it worked.

Read the setup guide
Launch checklist

Before you open your store to a new market

Six OpenCart-specific checks that separate a translated store from one that sells in that language.

  1. Click through every state

    SiteTran discovers text when it's shown. Add a product to the cart, open the mini-cart, run a search and walk through checkout as a guest once, or turn on Machine Translation Auto Translate so new text is translated as shoppers find it.

  2. Keep one language switcher

    OpenCart's default theme only shows its own language dropdown when two or more languages are enabled. If you only use SiteTran, keep one OpenCart language enabled so shoppers see a single switcher and SiteTran always reads the same source text.

  3. Give translators the whole sentence

    The add-to-cart alert wraps the product name and "shopping cart" in links, so it arrives as separate phrases such as "Success: You have added" and "to your". Translate them together, with a phrase note, or reword the message in Design › Language Editor.

  4. Protect model codes and brand names

    Add brands and tea names to the Glossary. In your templates, add translate="no" to model numbers, SKUs and anything that must never change.

  5. Keep customer data private

    My Account and order history show names and addresses. Exclude those elements with sitetran.ignore_selectors, or turn off Public Phrase Discovery for stores with sensitive data.

  6. Test checkout, payments and emails

    Place a test order in each language with every payment method. Check longer German or Greek labels on buttons, add CSS per language where they wrap, and decide what your order emails should say.

Troubleshooting

OpenCart translation not working? Check these first

Most setup problems come down to which template or store was edited, a cache, or a translation that isn't live yet.

1The language dropdown doesn't appear

  1. Check that you edited common/footer for the store you're viewing. In OpenCart 4, make sure the override's Status is on.
  2. Make sure all three lines are there, including the div.
  3. In SiteTran, make sure the language is both Active and Live.
  4. If Hide All Widgets On Site (dev mode) is on, add ?sitetran=on to your URL.
Language not appearing in the dropdown →

2My theme or an extension ignores the edit

  1. Journal renders its own templates. Paste the Widget Code into the Custom Code Footer field in Journal's settings, which outputs it before </body>.
  2. A Theme Editor override replaces the whole template, so OCMOD and file changes to common/footer stop applying. If an extension needs that template, edit the footer file instead.
  3. Refresh the theme cache from the gear on your admin Dashboard.

3Text switches between two languages

  1. If more than one OpenCart language is enabled, a shopper can pick one in OpenCart's switcher and another in SiteTran's.
  2. SiteTran then sees the second language as new text to translate.
  3. Keep one OpenCart language enabled, or plan which approach serves which market.

4Some text is still in the original language

  1. SiteTran discovers text when it's shown, so open the mini-cart, alerts and checkout steps you need translated.
  2. A translation appears only after it's approved and published.
How dynamic content is translated →

5My changes aren't showing yet

  1. After you approve and publish, translation data can take up to 30 seconds to update.
  2. A shopper's browser can keep translation data cached for up to 10 minutes.
  3. Try a hard refresh or a private window. A page cache extension may also need clearing.
New translations aren't appearing →

6Model codes or customer names are translated

  1. Add translate="no" to those elements in your templates, or list their selectors in sitetran.ignore_selectors.
  2. Use variables for names, dates and prices inside a sentence.
  3. Add brand and product names to the Glossary.
Exclude phrases from translation →
Pricing

Simple pricing that grows with your store

Every plan includes unlimited languages and teammates. Start free and upgrade when your catalog or traffic grows.

Free

$0

For small stores and testing

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

Starter

$3/mo

For stores with moderate translation needs

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

Pro

$35/mo

For larger catalogs or several smaller stores

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

Business

$75/mo

For large-scale international stores

  • 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

OpenCart translation questions

Can't find your answer? Our team is happy to help with your OpenCart setup.

Email support
How do I add SiteTran to my OpenCart store?
Create a free SiteTran site and copy your Widget Code from the Dropdown Style page. In your OpenCart admin, go to Design, then Theme Editor, and choose your store and the common/footer template. Paste the code right before the closing </body> tag and save. In OpenCart 4, click Add New first and turn Status on. Then open your store and pick a language from the dropdown. SiteTran starts discovering your phrases so you can translate them.
Does SiteTran work with OpenCart 3 and OpenCart 4?
Yes. Both versions have a Theme Editor under Design, and the Widget Code goes in the same common/footer template. In OpenCart 3 you pick the store, open the common folder and edit footer.twig. In OpenCart 4 you add a new override, choose the store and the common/footer template, and turn it on.
Do I need an extension or OCMOD from the Marketplace?
No. SiteTran is not an OpenCart extension. It works as a short Widget Code in your footer template, so there is nothing to upload, install or update, and it does not need access to your database or admin.
Is the OpenCart checkout translated?
Yes. OpenCart's checkout is a page on your own domain that includes your theme's footer, so the Widget Code runs there and translates each step as it loads, along with the order success page. Like every website translation tool, order emails use your OpenCart language files, and card fields come from your payment provider.
Does SiteTran translate the mini-cart and add-to-cart alerts?
Yes. OpenCart loads the header cart dropdown, cart updates and the success alert with AJAX after the page has loaded. SiteTran continuously watches the page for new content and translates it when it appears.
Do I still need language packs?
Not for the languages SiteTran translates. A language pack translates OpenCart's own interface text inside OpenCart, while SiteTran translates everything shoppers see on the page, including that interface text. You may still want a pack if you also run a second OpenCart language natively, or to translate the admin panel for your team.
Will SiteTran change my products, prices or database?
No. SiteTran only changes the text displayed in the shopper's browser. Products, categories, prices, taxes and orders stay as they are in OpenCart, nothing is written to your database, and text that shoppers type, such as addresses and order comments, is left as typed.
Can I use SiteTran alongside OpenCart's own languages?
You can, but plan it so shoppers see one switcher. If two or more OpenCart languages are enabled, OpenCart shows its own language dropdown and SiteTran sees the second language as new text. Most stores keep one OpenCart language enabled and let SiteTran handle the rest. If you already have native translations, book a call and we will help you choose.
Does SiteTran work with Journal and other themes?
Yes. SiteTran translates whatever your theme renders. With the default theme and most others, add the Widget Code to common/footer in the Theme Editor. With Journal, paste it into Journal's Custom Code Footer setting, which places code before </body>.
Does it work with multiple stores?
Yes. Theme Editor overrides are saved per store, so add the Widget Code for each store you want to translate. You can use one SiteTran site per store, and share a Glossary, Similar Phrases and Translation Rules between sites in the same team with Shared Resources.
Do translated pages get their own URLs for SEO?
By default, every language is served from your store's existing URLs and the shopper's choice is remembered. If you need indexable language URLs such as /es/ or es.yourstore.com, SiteTran's Static Translation API can return translated HTML for them. Because you host OpenCart yourself, your web server or a CDN worker can serve and cache those pages. Book a call and we will help you plan it.
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 do not need your own API keys. You can also invite human translators and reviewers for each language and use AI Translation Review.
Can I keep model numbers, brand names and customer data untranslated?
Yes. Add brand and product names to the Glossary, add translate="no" or the notranslate class to elements in your templates, or list selectors in sitetran.ignore_selectors. Use this for model numbers, SKUs and the names, addresses and order details shown in My Account.
Can I test translations before shoppers see them?
Yes. A language stays hidden from shoppers 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 store's URL to preview the language dropdown yourself.
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.
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 OpenCart store multilingual today

Paste one Widget Code, pick your languages, and let shoppers browse, add to cart and check out in their own language. Start on the Free plan and upgrade only when you grow.

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