Repository navigation
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).
- Added: support for Mage-OS 4.0 (needs PHP 8.3 or later); CI now tests Mage-OS 3.6.0 and 4.0.0. The demo stays on Mage-OS 3.6.
- Added: demo movie in the README (
docs/images/demo.gif): an editor translates a product into German and French and checks the German store view. Recorded bytests/docs/movie.mjsagainst 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 installing the module, entering the API key and a store view's Supertext language. - Added: the Supertext support form is linked in the README, the user guide and GitHub's "New issue" page.
- Changed: tested with Mage-OS 3.6 (Magento 2.4.9 compatible); the demo and CI now install Mage-OS 3.6.0 instead of 3.5.0.
- Added: Translation review per store view (Stores → Configuration → Supertext → Translation, store view scope → Language → Translation review, next to the Supertext language): translations into a store view with it set to Yes go through Supertext's review service (Supertext Localization Review), where customers and Supertext linguists correct them on the storefront with a Chrome extension; corrections come back into Magento with the next translation (with Overwrite existing translations), and texts translated before keep their (reviewed) wording. Same API key, billing, languages and messages; other store views keep going directly to Supertext. New global setting Review service URL (
supertext/api/review_url,SUPERTEXT_REVIEW_URL; defaults to Supertext's review service, empty turns review off everywhere). Existing shops start with review off. All four interface languages. - Added: Export for translation (XLIFF 1.2 or HTML) and import of translated files; Supertext SDK 0.5.0. The Translate with Supertext page gets Export for translation (the selected items and ticked store views as
magento-product-42-store-2.xlf, or one item in one store view as HTML) and Import translation (upload up to 10 MB, read in memory; written back exactly like a translation with Supertext, with a summary per item and store view: imported, skipped because the source changed, not translated, formatting changed, not in the file, kept). - Changed: the store view's Supertext language select lists Supertext's languages as Name (code), named in the admin's interface language (Deutsch (Schweiz) (de-CH)) and sorted by name. Its empty entry names the default for the store view's locale (Default: Spanish (es)), or reads – Choose – for a locale without one (
en_IE,de_LI,fr_BE); the Store views overview marks defaults (default for the locale). Saving accepts only codes from the list (a code saved before that isn't in it is kept as long as it isn't changed). Nothing to migrate: store views without a setting use their default. - Changed: Supertext SDK 0.5.0. Since 0.4.0, a store view without a Supertext language whose locale has an obvious default uses it instead of being not mapped:
es_ES→es,nl_NL→nl,zh_Hans_CN→zh-Hans. Locales without a default (de_LU,en_IE,fr_BE) still need the setting. - Changed: version reports, the API key check result and the reachability ping now use Supertext Plugin Health 0.1.0 (bundled in
lib/supertext-plugin-health/); Supertext SDK updated to 0.3.0. No change for shops: settings and stored state stay as they are. - Changed: languages are no longer guessed. The store view setting is now Supertext language, a list of Supertext's own codes, instead of a free-text code. A store view whose locale is a Supertext code (
de_CH→de-CH,fr_FR→fr-FR, apart from case and_/-) needs nothing; every other locale (es_ES,nl_NL,sl_SI,zh_Hans_CN) needs a choice. The default regions are gone: they were wrong for most languages (Supertext wantses,sl,nlwithout region,zh-Hansinstead ofzh-CN). A store view without a Supertext language is marked Not mapped in the new Store views overview (Default Config scope), can't be ticked on the translate page, and translating into it fails with The language "…" has no Supertext language yet; nothing is sent for it. The default store view's setting also serves the source language. Codes saved before keep working. - Changed: formal or informal tone is only sent where Supertext offers it; for English, Swiss German, Romansh, Albanian and Serbian the Supertext default is used, and the overview says so. New message Supertext offers no formal or informal tone for this language for the rare case Supertext still refuses it.
- Added: automatic API key check (Supertext's cost-free
featurescall) when the configuration is saved, on Test connection, for a key that hasn't been checked yet (e.g. fromSUPERTEXT_API_KEY) and when Supertext rejects the key during a translation. The configuration shows the latest result with its time under API key check; invalid and missing keys come with the links to create an account and generate a key. - Added: Send version information to Supertext (on by default;
SUPERTEXT_VERSION_REPORTS=0turns it off): when the configuration is saved and after an update, the module sends the shop URL, the module, Magento, 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
/supertext/ping(never cached), which only echoes Supertext's challenge so Supertext can check that the shop is reachable (404 with version information off). - Changed: bundled Supertext SDK 0.2.1 (commit
eeba8fa,V1namespace) with the language list, the key check and the version reports. - Changed: Supertext calls now go through the Supertext SDK for PHP, bundled with the module (
lib/supertext-sdk/); the module's own API client is gone. No change to installation; requires ext-curl, as Magento does. - Changed: clearer messages when Supertext rejects a store view's language ("Supertext does not translate from "en" into "xx"" with a pointer to the store view's Supertext language), when its answer is incomplete (nothing is saved for that item), and Authentication failed now also links to the Supertext sign-up page, in all four interface languages.
- Fixed: a target language Supertext doesn't know is now reported as an unsupported language ("Supertext does not translate from … into …"), not as "resource not found".
- Added: German, French and Italian admin interface. The module's screens and messages, including errors from Supertext, follow the admin user's interface locale (
i18n/for de_DE, de_AT, de_CH, fr_FR, fr_BE, fr_CA, fr_CH, it_IT, it_CH).