Magic Translator Icon

Magic Translator

0.3.1

August 13th, 2026

What's fixed

  • The addon can now be installed alongside packages still on Prism 0.99. The constraint was ^0.100 exclusively — a leftover from scaffolding, not a real requirement — which forced every consumer onto 0.100 (#35)

What's new

  • CI tests against both supported Prism minors (#35)
  • Dependabot now widens the Composer constraint range on updates instead of replacing it (#36)

0.3.0

August 12th, 2026

What's new

  • Custom fieldtypes can opt in to translation. A fieldtype from an addon or your own project is skipped by default, because a plain string is as likely to be a colour swatch or an ID as a meta title. Declare what it holds to have it translated (#33, thanks @stijn-cube):

    #89DDFF;">'custom_fieldtypes#89DDFF;">' #89DDFF;">=> #89DDFF;">[
    #89DDFF;">'aardvark_seo_meta_title#89DDFF;">' #89DDFF;">=> #89DDFF;">'plain#89DDFF;">'#89DDFF;">,
    #89DDFF;">'my_addon_body#89DDFF;">' #89DDFF;">=> #89DDFF;">'markdown#89DDFF;">'#89DDFF;">,
    #89DDFF;">],

What's fixed

  • Escape unit text before it reaches the DeepL payload. A bare & or < in a headline made the payload invalid XML, and because units are batched, one character failed every field in the chunk. (#33, thanks @stijn-cube)
  • Serialize bard custom mark placeholders as valid XML. <span data-mark-0> is a bare attribute, which DeepL's v2 tag handling rejects outright. (#33)
  • Reject content XML cannot carry, naming the field instead of letting DeepL fail the whole request with a parse error. Control characters from pasted word processor text are the usual source. (#33)
  • Refuse to flatten a field holding structured data. Tier 1 extraction cast any value to a string, so an array became the literal "Array" and reassembly wrote that back over the whole sub-array. (#33)
  • Decode &apos; in translated text, which the HTML 4.01 entity table does not cover. (#33)

Maintenance

  • Bump actions/checkout, actions/setup-node, actions/cache, dependabot/fetch-metadata and git-auto-commit-action.

0.2.1

August 8th, 2026

What's fixed

  • Reject excluded blueprints on the translate endpoint. mark-current, the Control Panel action and the CLI planner all honoured exclude_blueprints, but a direct request to the translate endpoint did not. (#29)

Maintenance

  • Test against Statamic 5 as well as 6, so the declared ^5.0 || ^6.0 support is actually exercised on every run. (#28)
  • Close five coverage gaps found by mutation testing, including the terminal job-failure state and the provider retry classifier, and remove redundant tests. (#29)

0.2.0

August 7th, 2026

What's new

  • DeepL glossaries. Set a global glossary and per-target-language overrides to enforce your own terminology. Because a glossary is bound to one language pair, an override set to an empty string opts that language out of the global one. Thanks to @stijn-cube. (#26, #27)

What's fixed

  • Support Statamic's Eloquent driver. Numeric entry IDs are normalized before they reach the string-typed planner, Control Panel, endpoint and job boundaries, and the authenticated user is resolved through Statamic's user repository before permission checks and error logging. Thanks to @stijn-cube. (#25, #27)

0.1.4

July 22nd, 2026

What's fixed

  • Resolve imported fieldsets and referenced field definitions inside Replicator and Bard sets so their nested localized content is extracted and translated. Thanks to @Gitsack for reporting the issue and contributing the fix. (#21, #22)

Maintenance

  • Add npm run ci as the shared local and GitHub Actions quality gate, run the full suite before pushes, and require both supported PHP checks before Dependabot patch/minor updates can merge. (#23)

0.1.3

June 17th, 2026

What's fixed

  • Publish compiled control panel assets during Statamic's addon install flow so Composer installs copy resources/dist/build to public/vendor/statamic-magic-translator/build.
  • Add regression coverage for install-time asset publishing.

Fixes #15

0.1.2

May 13th, 2026

What's fixed

  • Include compiled Vite assets in the package so Composer installs no longer fail with Vite manifest not found.
  • Fix asset build CI by installing Composer dependencies before npm ci, so the local @statamic/cms package exists.
  • Build assets only against the Statamic v6/PHP 8.4 matrix where the Vite plugin package is available.
  • Keep Statamic's fake stache parent directory available during PHP 8.3 test teardown.

What's changed

  • Stop ignoring resources/dist so future asset builds can be committed by automation.
  • Adjust Dependabot cooldown settings for patch updates.

0.1.1

April 6th, 2026

What's fixed

  • Fix DeepL target_lang error for locales with regional variants (e.g. de_DE, ar_AR, ja_JP) — only EN, PT, and ZH require regional codes; all others now correctly resolve to the base language code

What's changed

  • Rename environment variables from CONTENT_TRANSLATOR_* to MAGIC_TRANSLATOR_* to match the package name