{"id":1318,"date":"2026-10-05T21:09:32","date_gmt":"2026-10-05T14:09:32","guid":{"rendered":"http:\/\/www.solidres.com\/blog\/?p=1318"},"modified":"2026-10-05T21:09:32","modified_gmt":"2026-10-05T14:09:32","slug":"speedy-translate-3-0-0-release","status":"publish","type":"post","link":"https:\/\/www.solidres.com\/blog\/2026\/10\/05\/speedy-translate-3-0-0-release\/","title":{"rendered":"Speedy Translate 3.0.0 release"},"content":{"rendered":"\n<p>Speedy Translate 3.0 is out, and it is the biggest release since the first one. It now comes in two editions: <strong>Speedy Translate Lite<\/strong>, free, which translates a whole Joomla 6 site and adds nothing to your pages, and <strong>Speedy Translate Pro<\/strong>, for large sites and agencies. It is also fast. On every page we measured, it served translated pages faster than Falang, up to 5.8 times as fast.<\/p>\n\n<p>Behind that sits a rebuilt translation engine, hreflang tags and translated URLs, a setup check that makes a site multilingual from the dashboard, and a one-click import from Falang. Pro adds bulk translation with ChatGPT, Claude or Gemini that runs in the background. The release also closes several security issues, so every site on Speedy Translate 2 should update.<\/p>\n\n<img src=\"\/media\/static\/img\/blog\/speedy-translate-3-0\/hero.jpg\" title=\"Speedy Translate 3.0\" alt=\"Speedy Translate 3.0: multilingual Joomla, without the slowdown. A free edition with no backlink, translation in Joomla's own forms, hreflang and translated URLs, up to 5.8 times as fast as Falang. Beside it, an article's edit form with the French tab open under its title\" \/>\n\n<!--more-->\n\n<h2>A free edition, with nothing on your pages<\/h2>\n\n<p>Speedy Translate Lite translates your articles, categories, menus, modules, custom fields, tags, contacts, banners, news feeds and users, as well as Solidres and Restaurant Management System content. It adds nothing to your site: no credit link, no upgrade banners, no limit on languages, and no account needed for its updates.<\/p>\n\n<p>That last part matters when you compare. Falang&#8217;s free edition adds a followed link to its author&#8217;s site under the main content of every page, in every language, and removing it means buying Falang. Speedy Translate Lite has no such link, today or later.<\/p>\n\n<p>When you need more, Pro installs over Lite and keeps every translation and setting. The two editions translate your visitors&#8217; pages with the same code, so the speed below holds for both.<\/p>\n\n<table class=\"table table-striped uk-table uk-table-striped\">\n\t<thead>\n\t\t<tr><th scope=\"col\">Feature<\/th><th scope=\"col\">Lite<\/th><th scope=\"col\">Pro<\/th><\/tr>\n\t<\/thead>\n\t<tbody>\n\t\t<tr><td>Translation in the language tabs of Joomla&#8217;s edit forms<\/td><td>Yes<\/td><td>Yes<\/td><\/tr>\n\t\t<tr><td>Translated, outdated and not translated status<\/td><td>Yes<\/td><td>Yes<\/td><\/tr>\n\t\t<tr><td>Language switcher, hreflang, translated URLs<\/td><td>Yes<\/td><td>Yes<\/td><\/tr>\n\t\t<tr><td>Setup check and import from Falang<\/td><td>Yes<\/td><td>Yes<\/td><\/tr>\n\t\t<tr><td>Machine translation with Google, DeepL and Yandex<\/td><td>Yes<\/td><td>Yes<\/td><\/tr>\n\t\t<tr><td>ChatGPT, Claude and Gemini, a glossary, a provider per language<\/td><td>No<\/td><td>Yes<\/td><\/tr>\n\t\t<tr><td>Bulk translation, coverage statistics, XLIFF<\/td><td>No<\/td><td>Yes<\/td><\/tr>\n\t\t<tr><td>Smart Search in the visitor&#8217;s language<\/td><td>No<\/td><td>Yes<\/td><\/tr>\n\t\t<tr><td>HikaShop, J2Store, JEvents, K2, SP Page Builder, Creative Contact Form<\/td><td>No<\/td><td>Yes<\/td><\/tr>\n\t\t<tr><td>Support tickets<\/td><td>No<\/td><td>Unlimited<\/td><\/tr>\n\t<\/tbody>\n<\/table>\n\n<h2>Faster than Falang on every page we measured<\/h2>\n\n<p>Speedy Translate and Falang store translations the same way: an article stays one article, and its translations sit beside it. What differs is how much work each does while a page is built. So we built one Joomla 6 site, filled it with the same translated content for each product, and timed six pages at 100, 1,000 and 10,000 articles.<\/p>\n\n<img src=\"\/media\/static\/img\/blog\/speedy-translate-3-0\/speed-chart.png\" title=\"Server time per page at 10,000 articles\" alt=\"Bar chart of server time per page at 10,000 articles. Home, English: Speedy Translate 37 ms, Falang 61 ms. Category blog, English: 56 against 148 ms. Article, English: 41 against 121 ms. Home, French: 41 against 68 ms. Category blog, French: 59 against 156 ms. Article, French: 68 against 393 ms. Joomla alone takes 34 to 53 ms.\" \/>\n\n<ul>\n\t<li><strong>Up to 5.8 times as fast as Falang.<\/strong> A translated article on a 10,000-article site took 68 ms with Speedy Translate and 393 ms with Falang.<\/li>\n\t<li><strong>55 to 79% fewer database queries<\/strong> on every page: 40 against 192 on a category blog.<\/li>\n\t<li><strong>Close to Joomla&#8217;s own speed.<\/strong> At 10,000 articles, Speedy Translate added 2 to 8 ms to Joomla&#8217;s time on five of the six pages. Falang added 26 to 104 ms.<\/li>\n\t<li><strong>Up to 70% less memory on large translated pages<\/strong>, and 98% fewer database rows read on the translated article.<\/li>\n<\/ul>\n\n<p>These times come from one development machine running Joomla 6.1.3, PHP 8.4 and MySQL 8.4, with no page cache, on 2 October 2026. Your own server will give other times, so compare the ratios. We measured Falang&#8217;s free edition, version 6.9. Every figure, and how it was measured, is in <a href=\"\/documentation\/speedy-translate-documentation\/86-joomla-multilingual-management-speedy-translate-vs-falang\">Speedy Translate vs Falang<\/a>.<\/p>\n\n<h3>Why it does less work<\/h3>\n\n<p>Speedy Translate looks up translations only for the rows a page actually fetched, and only for the fields that have translations. It works out once which tables and columns each query reads, keeps that in Joomla&#8217;s cache, and reuses it on every later request. It shares Joomla&#8217;s own database connection. And visitors load none of its editing scripts: a visitor&#8217;s page carries the language switcher and nothing else from Speedy Translate.<\/p>\n\n<h2>Translate where you already work<\/h2>\n\n<p>Open any article, category, menu item, module, tag, contact or user. Under each translatable field there is a row of flags, one per language: click one, type the translation, and save every language at once. Titles, aliases, editor text, images, links, meta descriptions, module and menu options and custom fields all work the same way. For options, a language stores only what you change, so a later change on the original still reaches every language.<\/p>\n\n<p>New in 3.0, Speedy Translate knows when a translation is out of date. Each translation keeps the original it was made from, so when you edit the English text, its French and German tabs get an orange dot. Update them, or tick <em>Still right for the new original<\/em> when the change does not affect them.<\/p>\n\n<img src=\"\/media\/static\/img\/blog\/speedy-translate-3-0\/outdated.png\" title=\"An outdated translation, marked in the form\" alt=\"An article's text in its French tab, with orange dots on the French and German flags and the notice: Outdated, the original changed after it was translated, with a box: Still right for the new original\" \/>\n\n<h3>Always know what is left<\/h3>\n\n<p>Batch translations lists every item of a content type with its status in each language: translated, outdated or not translated. Click a title to translate it in its own form.<\/p>\n\n<img src=\"\/media\/static\/img\/blog\/speedy-translate-3-0\/translation-manager.png\" title=\"Batch translations\" alt=\"The Batch translations list for articles: beside the French and German flag of each article, a check mark, a warning sign for an outdated translation, or a dash for a missing one\" \/>\n\n<h2>Ready for search engines<\/h2>\n\n<ul>\n\t<li><strong>hreflang and x-default tags<\/strong> on every page, pointing to the same page in each language. They follow the settings of Joomla&#8217;s Language Filter plugin.<\/li>\n\t<li><strong>Translated URLs.<\/strong> Translate an alias and the language gets its own address, such as <em>\/fr\/voyages\/paris-au-printemps<\/em>, with or without IDs in URLs.<\/li>\n\t<li><strong>A switcher search engines can follow.<\/strong> The language switcher now renders real links, which work without JavaScript, in four layouts: drop-down, inline, pop-over and off-canvas. It no longer needs jQuery.<\/li>\n\t<li><strong>Smart Search in the visitor&#8217;s language<\/strong>, in Pro: a search in French finds the French text and opens the French page.<\/li>\n<\/ul>\n\n<h2>Multilingual in four clicks<\/h2>\n\n<p>A multilingual Joomla site needs languages installed and published, the Language Filter plugin, hreflang links and a language switcher. Speedy Translate&#8217;s dashboard now checks each of them and fixes it with one click. It even downloads and installs language packs from Joomla&#8217;s language server. Then open an article set to <em>All<\/em> languages, click a flag, and you have your first translation.<\/p>\n\n<h3>Coming from Falang<\/h3>\n\n<p><em>Migrate from Falang<\/em> on the dashboard copies Falang&#8217;s translations into Speedy Translate: articles, categories, menus, modules, custom fields, Solidres and the other extensions Falang translated. It shows what it will import before it runs, keeps anything you already translated in Speedy Translate unless you ask it to replace it, and reports what it did. Falang&#8217;s own data is left untouched, so you can check the result and import again. It is in both editions.<\/p>\n\n<h2>Machine translation, when you ask for it<\/h2>\n\n<p>Press <em>Translate from en-GB<\/em> in a language tab, read the preview, then <em>Use this translation<\/em>. Nothing is sent to a provider until you ask, and you use your own account, billed by the provider at its own price. Long articles are sent in pieces cut between HTML elements, so headings, lists and tables come back whole, and a request that fails saves nothing half translated.<\/p>\n\n<ul>\n\t<li><strong>Lite:<\/strong> Google, DeepL and Yandex. Google also accepts a plain API key now, and Yandex moves to Yandex Cloud&#8217;s API.<\/li>\n\t<li><strong>Pro:<\/strong> ChatGPT, Claude and Gemini. The model is a field you type in, so a model released tomorrow works without an update.<\/li>\n\t<li><strong>Pro:<\/strong> a glossary of brand names machine translation keeps as they are, and of terms it translates your way.<\/li>\n\t<li><strong>Pro:<\/strong> a different provider and account for each language.<\/li>\n<\/ul>\n\n<h2>What Pro adds<\/h2>\n\n<h3>Bulk translation in the background<\/h3>\n\n<p>Choose content types and languages, read what it would translate and roughly what it would cost at the providers&#8217; list prices, then start. The job runs from Joomla&#8217;s scheduled tasks, so you can close the page, and you can pause, resume or cancel it at any time. It only fills gaps: a translation someone typed stays as it is.<\/p>\n\n<img src=\"\/media\/static\/img\/blog\/speedy-translate-3-0\/bulk.png\" title=\"Bulk translation in Speedy Translate Pro\" alt=\"The Bulk translation page of Speedy Translate Pro: how the jobs run from Joomla's scheduled tasks, the content types and languages to translate, and an Estimate button\" \/>\n\n<h3>Coverage, XLIFF and Smart Search<\/h3>\n\n<p>The dashboard shows how much of each language is translated and up to date, per content type. XLIFF export and import lets you send what needs translating to an agency working in Trados, memoQ, Phrase or OmegaT, and bring their work back. Smart Search indexes each translation, so visitors find your content in their own language.<\/p>\n\n<h3>More extensions, and tools for language files<\/h3>\n\n<p>Pro translates HikaShop, J2Store, JEvents, K2, SP Page Builder and Creative Contact Form. For the text that lives in language files, it adds context translation, where you click a string on your site to change it, a syntax checker, and a finder for duplicate, missing and orphan keys. And it comes with support from the developers, with no limit on tickets.<\/p>\n\n<h2>Security<\/h2>\n\n<p>3.0 closes several issues found in a review of Speedy Translate 2:<\/p>\n\n<ul>\n\t<li><strong>Machine translation requests<\/strong> were answered for anyone, including visitors on the front end, so a stranger could spend a site&#8217;s translation credits, and the answer could carry script sent in the request. The service now answers only logged-in users who can edit content, requires a form token, and replies with data only.<\/li>\n\t<li><strong>The syntax checker&#8217;s file editor<\/strong> accepted any path and no form token, so a crafted link could make a signed-in administrator open or change a file outside the language folders. It now handles language files only, for users who can configure Speedy Translate, with a form token.<\/li>\n\t<li><strong>Saving an item<\/strong> through a form without language tabs, such as a front-end form or the API, could remove its translations. A save now changes only the translations it carries.<\/li>\n\t<li>Every task that changes data now checks the form token.<\/li>\n<\/ul>\n\n<h2>Under the hood<\/h2>\n\n<ul>\n\t<li><strong>Built for Joomla 6<\/strong>, and PHP 8.3 is now enough: version 2 needed 8.4.<\/li>\n\t<li><strong>Both of Joomla&#8217;s MySQL drivers<\/strong>, MySQLi and MySQL (PDO), with the connection&#8217;s encryption and character set settings carried over.<\/li>\n\t<li><strong>A smaller package:<\/strong> 3.1 MB for Lite and 3.2 MB for Pro, down from 8 MB, now that Google is called directly instead of through its SDK.<\/li>\n\t<li><strong>1,908 automated tests<\/strong> and static analysis run before every release.<\/li>\n\t<li><strong>Its interface speaks<\/strong> German, Spanish, French, Italian, Dutch and Hebrew as well as English.<\/li>\n\t<li><strong>Other extensions can ship their own adapter<\/strong>, so their content becomes translatable without waiting for us.<\/li>\n<\/ul>\n\n<h2>Before you update<\/h2>\n\n<ul>\n\t<li><strong>Take a backup.<\/strong> 3.0 adds two indexes to the translations table and a table for bulk translation jobs.<\/li>\n\t<li><strong>Updating from 2.x:<\/strong> download Pro 3.0 from your account on solidres.com and install it over 2.x. Joomla&#8217;s updater lists the update but cannot fetch it, as version 2 never passed your Download ID to Joomla. From 3.0 on, Pro updates from the Joomla updater. Without a subscription, install Speedy Translate Lite over 2.x for free: it keeps your translations and has the same security fixes.<\/li>\n\t<li><strong>Yandex needs a new key.<\/strong> Keys of the retired Yandex Translate API stop working: create an API key for a Yandex Cloud service account with the <em>ai.translate.user<\/em> role.<\/li>\n\t<li><strong>The Falang mode is gone.<\/strong> A site that ran Speedy Translate in it stays translated by Falang until you use <em>Migrate from Falang<\/em> on the dashboard, which then switches it to the Speedy mode.<\/li>\n\t<li><strong>Template overrides of the language switcher<\/strong> need redoing, as its markup changed.<\/li>\n\t<li><strong>Custom code<\/strong> that calls Speedy Translate&#8217;s translation service must send Joomla&#8217;s form token.<\/li>\n\t<li><strong>Modules are translatable<\/strong> on new installs. A site that saved its options keeps its own list of excluded components: take <em>com_modules<\/em> out of it to translate modules.<\/li>\n\t<li><strong>Never uninstall to switch editions.<\/strong> Uninstalling deletes your translations; install one package over the other instead.<\/li>\n<\/ul>\n\n<h2>Get it today<\/h2>\n\n<p>Speedy Translate 3.0 needs Joomla 6.0 or later, PHP 8.3 or later, and a MySQL or MariaDB database. Download Speedy Translate Lite for free or subscribe to Pro on the <a href=\"\/subscribe\/speedy-translate\">Speedy Translate page<\/a>, and read <a href=\"\/documentation\/speedy-translate-documentation\/61-how-to-configure-speedy-translate\">How to configure Speedy Translate<\/a> to set it up. From 3.0 on, Pro sites update from the Joomla updater with their Download ID.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Speedy Translate 3.0 is out, and it is the biggest release since the first one. It now comes in two editions: Speedy Translate Lite, free, which translates a whole Joomla 6 site and adds nothing to your pages, and Speedy Translate Pro, for large sites and agencies. It is also fast. On every page we [&#8230;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[17,31,23],"_links":{"self":[{"href":"https:\/\/www.solidres.com\/blog\/wp-json\/wp\/v2\/posts\/1318"}],"collection":[{"href":"https:\/\/www.solidres.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.solidres.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.solidres.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.solidres.com\/blog\/wp-json\/wp\/v2\/comments?post=1318"}],"version-history":[{"count":1,"href":"https:\/\/www.solidres.com\/blog\/wp-json\/wp\/v2\/posts\/1318\/revisions"}],"predecessor-version":[{"id":1319,"href":"https:\/\/www.solidres.com\/blog\/wp-json\/wp\/v2\/posts\/1318\/revisions\/1319"}],"wp:attachment":[{"href":"https:\/\/www.solidres.com\/blog\/wp-json\/wp\/v2\/media?parent=1318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.solidres.com\/blog\/wp-json\/wp\/v2\/categories?post=1318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.solidres.com\/blog\/wp-json\/wp\/v2\/tags?post=1318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}