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.
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.
Click Add to Cart, then open the cart. The alert and mini-cart load with AJAX and are translated too.
Driving growth for companies with millions of users
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.
Sign up free and add your store. Copy your Widget Code from the Dropdown Style page. It adds the language dropdown to your storefront.
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.
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.
<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.
common/footer, turn Status on, paste the code before </body> and save.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.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.
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.
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.
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.
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.
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.
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>.
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 |
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
SiteTran translates more than visible text. When a shopper switches language, the page's metadata switches with it.
lang attribute, set to the selected languageBy 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:
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 SEOThe OpenCart integration guide walks through the Theme Editor install step by step, then shows you how to check that it worked.
Six OpenCart-specific checks that separate a translated store from one that sells in that language.
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.
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.
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.
Add brands and tea names to the Glossary. In your templates, add translate="no" to model numbers, SKUs and anything that must never change.
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.
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.
Most setup problems come down to which template or store was edited, a cache, or a translation that isn't live yet.
common/footer for the store you're viewing. In OpenCart 4, make sure the override's Status is on.div.?sitetran=on to your URL.</body>.common/footer stop applying. If an extension needs that template, edit the footer file instead.translate="no" to those elements in your templates, or list their selectors in sitetran.ignore_selectors.Every plan includes unlimited languages and teammates. Start free and upgrade when your catalog or traffic grows.
For small stores and testing
For stores with moderate translation needs
For larger catalogs or several smaller stores
For large-scale international stores
Can't find your answer? Our team is happy to help with your OpenCart setup.
Email supportcommon/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.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.common/footer in the Theme Editor. With Journal, paste it into Journal's Custom Code Footer setting, which places code before </body>.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.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.