Skip to main content

Autolanguage PRO plugin

Version 2.7.2
Maturity Stable
Release Date 2026-11-13 01:00
Changelog
Type Change
Security a translation no longer turns text shown as code into live code. Every translated result was run through a full HTML entity decode, so `<script>` that an article showed as text became a real script tag in every translation, written past Joomla's text filters. Only the entities a translation service adds are decoded now; an entity for ``, `&` or `"` that the source itself carries stays as it is
Security a batch translation checks the rights on every selected item. Rights on the component were enough to have the plugin overwrite translations, also for a user limited per category or allowed to create but not to edit. The source item, the category a new translation goes into and every existing translation now need the edit rights Joomla's own edit screen asks for; an item that fails is skipped and counted in a warning
Security the Gemini API key is sent in a header instead of in the web address, where proxies and firewalls log it
Fix the social media links on the install and uninstall screens have an accessible name, so a screen reader announces "Open LinkedIn in new window" and so on instead of an empty link. The icons themselves are hidden from screen readers, every link that opens a new window carries rel="noopener noreferrer", and the new window icon of the administrator template is shown again on the other links of those screens
Fix a dictionary term is no longer replaced inside a link, an image path or an attribute. A brand name in `href="https://brand.example"` was swapped for the target term and broke the link. The dictionary now only touches the text between the tags and leaves web addresses alone
Fix Traditional Chinese, Brazilian Portuguese and Serbian in Latin script are translated into the right variant. The language code was cut to two letters, so zh-TW came out as Simplified Chinese and pt-BR as European Portuguese at Google, Microsoft and DeepL. Each service now gets its own code for these variants, and DeepL gets a valid English target for every English content language
Fix OpenAI, Anthropic, Gemini, Mistral, DeepSeek and xAI retry a throttled request. They gave up on the first "Too Many Requests", leaving every field after the limit in the source language, and showed the same error once per field. They now wait and try again the way DeepL, Google and Microsoft already did, an exhausted credit balance is not retried, and an error is shown once
Addition the `alt` and `title` attributes in HTML are translated. A translation service translates the text between the tags and leaves the tags themselves alone, which keeps links, classes and ids intact but also left the alt text of an image and the title of an image or a link in the source language. The option "Images (Alt & Caption)" never covered these: it is about the intro and full article image, not about an image placed in the text. The texts of these two attributes are now taken out of the HTML, translated together in one extra request and put back, for every translation service and for every field that holds HTML: article text, category and tag description, module content, editor custom fields and mail templates. No other attribute is touched, a value that is an address or holds no letters is left as it is, and an attribute the service did translate itself is not translated twice. Nothing to switch on: it follows the field the HTML is in
Change a large batch translation runs in steps. Everything was handled in one page request, which a selection of twenty articles into three languages regularly outlived, ending in a white page or a gateway time-out. The batch now stops after about 40 seconds and carries on by itself in a new request until the selection is done, and reports the totals at the end
Change debug logging is off by default, also in the FREE edition and on a site that never saved the settings, and the log no longer holds a preview of the content being translated, only its length and a short hash
Change the model lists of the AI services are cached for an hour whatever the site's cache setting. With System Cache off, the Joomla default, every visit to the configuration asked every configured service again, which could take up to a minute
Change the target language buttons on an edit screen work with a keyboard and a screen reader. They have a visible focus, sit in a labelled group, and "Select all" and "Select none" are buttons. The script and its styles moved to media/plg_system_autolanguage, so the browser caches them and a template can override them, and it no longer writes to the browser console
Change the plugin does nothing on a request it ignores. Its language file and log file were loaded on every page, frontend included
Change the "opens in a new window" icon is shown again on links in alerts in the plugin settings; only the PRO badge hides it, and says it in hidden text instead. The DeepL usage bar has an accessible name
Change replaced Joomla APIs that are removed in Joomla 7 and the `curl_close()` calls that are deprecated in PHP 8.5
Language new string in all 6 languages; the Spanish one is a provisional translation awaiting review
Notes

5 6