Skip to content

v1.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Nov 00:24
c06a37d

Install and setup: installation guide.

What's in 1.0.0

First stable release. Every plugin release is now tested end to end against the live Supertext API (.github/workflows/e2e.yml).

  • Removed: support for PHP 8.1 (end of life since 31 December 2025). The plugin needs PHP 8.2 or later; every supported Joomla version (5.4, 6.x) runs on it. The unit tests use PHPUnit 11.
  • Fixed: in Joomla 6.2 the Supertext button in the Articles list stayed disabled after selecting articles (Joomla 6.2 enables list buttons by a class, not the disabled attribute the plugin set). Found by the new end-to-end test against the real Supertext API.
  • Fixed: opening the plugin's settings right after installing it, while it is still disabled, failed with Call to a member function get() on null. The page now shows the stored settings, so you can enable the plugin and enter the key there, as the installation guide says.
  • Added: demo movie in the README (docs/images/demo.gif): an editor translates an article into German and French and opens the German article. Recorded by tests/docs/movie.mjs against the demo and the stand-in API; the MP4 version has an English voice (Piper voice “alba”, CC BY 4.0). Install and configuration movie (MP4, not committed): tests/docs/movie-install.mjs (npm run movie:install) shows an administrator building and uploading the package, enabling the plugin, entering the API key and checking the Languages tab.
  • Added: the Supertext support form is linked in the README, the user guide and GitHub's "New issue" page.
  • Changed: tested with Joomla 6.2 (the demo and CI now run Joomla 6.2.0 instead of 6.1.4); the unit tests also run on PHP 8.5.
  • Added: Translation review on/off per content language (System → Manage → Plugins → System - Supertext Translation → Languages, a switch in each language's row, off by default): translations into a language with Translation review on go through Supertext's review service (Supertext Localization Review), where customers and Supertext linguists correct them on the website with a Chrome extension; corrections come back into Joomla with the next translation (Overwrite existing translations), and texts translated before keep their (reviewed) wording. Same API key, billing, languages and messages; other languages keep going directly to Supertext, as do the API key check and the version reports. New setting Review service URL (defaults to Supertext's review service; empty turns review off for every language; the environment variable SUPERTEXT_REVIEW_URL wins). Existing sites start with review off. All four interface languages.
  • Added: requests to Supertext name the plugin's version in the User-Agent (Joomla-Supertext-Translation/<version>).
  • Added: Export for translation (XLIFF 1.2 or HTML) and import of translated files; Supertext SDK 0.5.0. New tabs Export for translation and Import translation in the Supertext dialog: download one article's texts for one or more languages (XLIFF) or one language (HTML), and import the translated file as linked, unpublished translations with a summary (imported, skipped because the source changed, not translated, formatting changed, not in the file). No API key needed; uploads up to 10 MB, never stored. All new texts in English, German, French and Italian.
  • Changed: the Languages tab has one row per content language with a list of Supertext's languages (named in the user's backend language, code in brackets) and the tone, instead of rows you add yourself. The list preselects the suggested code: the content language's own tag where it is a Supertext code (de-CH, en-GB), else Supertext's default (de → de-DE, es-ES → es, nl-NL → nl, zh-CN → zh-Hans, zh-TW → zh-Hant). A language nobody chose a code for is translated with that default instead of failing; only languages without a default (e.g. en-IE, gsw) show — choose — and still get has no Supertext language yet. The tone list appears only for languages that offer formal/informal; only Supertext's codes can be saved. Your earlier rows are kept and shown in their language's row; the next save stores them in the new form. The overview Your content languages is gone (the rows show the same). Supertext SDK updated to 0.4.0 (commit 6aaad33). All new and changed texts in English, German, French and Italian.
  • Changed: version reports, the API key check result and the reachability ping now use Supertext Plugin Health 0.1.0 (bundled in plugin/src/PluginHealth); Supertext SDK updated to 0.3.0. No change for sites: settings and stored state stay as they are.
  • Changed: languages are no longer guessed. A content language whose tag is a Supertext code (de-CH, fr-FR, it-IT, en-GB, …) is sent as it is; every other content language (e.g. es-ES → es, nl-NL → nl, zh-CN → zh-Hans) needs a row on the plugin's Languages tab. Default regions are gone: they were wrong for most languages (Supertext rejects es-ES, sl-SI, zh-CN). An unmapped language gets the message The language … has no Supertext language yet and nothing is sent for it. The source is sent as the bare language of the article's language or its row (en-GB → en).
  • Changed: the Supertext language of a Languages row is now a list of Supertext's languages, named in the user's backend language; choosing a content language pre-selects its Supertext code if it has one. A code saved before that isn't a Supertext code stays selected and is marked (not a Supertext code). New overview Your content languages on the Languages tab: the code each content language is sent as, Not mapped, and a warning for a tone Supertext doesn't offer.
  • Added: Supertext offers no formal or informal tone for this language when a row sets Formal or Informal for English, Swiss German, Romansh, Albanian or Serbian (nothing is sent).
  • Added: automatic API key check after every save of the plugin settings (shown as a message), on Test connection, when a back-end page finds a key it hasn't checked (e.g. a new SUPERTEXT_API_KEY) and when Supertext rejects the key during a translation. API key check in the settings shows the latest result with its time (the connection to Supertext works, rejected, no API key, can't be reached, error), with the links to create an account and generate a key.
  • Added: Send version information to Supertext (on by default; SUPERTEXT_VERSION_REPORTS=0 turns it off): after saving the settings and after updates, the plugin sends the site URL, the plugin, Joomla, PHP and SDK versions, whether a key is set, the key check result and the ping address to Supertext. No content, no API key and no personal data.
  • Added: public ping endpoint index.php?option=com_ajax&plugin=supertext&group=system&format=json on the site, which only echoes Supertext's challenge (404 with version reports off), answered before the Language Filter's redirect and never page-cached. The plugin keeps its reporting state in its own #__extensions row (custom_data).
  • Fixed: saving the plugin settings again without clicking Modify next to the API key deleted the stored key (the locked field isn't submitted). The key is kept now.
  • Fixed: bundled Supertext SDK 0.2.1 (commit eeba8fa): one Languages row serves both directions; a mapped language is sent as a source in its source form (de-CH → de), so English as the source no longer fails with an en-US mapping.
  • Changed: bundled Supertext SDK 0.2.0 (commit c66cb4d, V1 namespace): the API's language list, the key check and the version reports. All new and changed texts in English, German, French and Italian.
  • Changed: all Supertext API calls now go through the official Supertext PHP SDK, shipped inside the plugin (nothing extra to install). Behaviour stays the same.
  • Added: its own message for an unsupported language pair, naming the codes ("Supertext does not support this language pair (en → xx-YY)"), in English, German, French and Italian.
  • Added: French and Italian interface (fr-FR, it-IT), and German where it was missing: messages from Supertext (limit reached, authentication failed, timeouts and others) now appear in the user's backend language too. The "no API key" and "authentication failed" messages now also link to Supertext account sign-up.