Changelog

All of the changes to the Kirby Content Translator plugin.

Get the Latest Version

Via Composer Recommended

composer require johannschopplich/kirby-content-translator

Via ZIP Download

Download the latest version v3.8.4 and extract it to your site/plugins folder. If updating, replace the existing plugin folder with the new one.

What's New?

v3.8.4

November 27, 2025

๐Ÿž Bug Fixes

  • Batch translation restored for view buttons: Batch translations from Panel view buttons are now enabled by default again. A regression in v3.8.3 accidentally disabled this functionality when using the view button (as opposed to the section). If you were affected, updating to v3.8.4 restores the expected behavior.

v3.8.3

November 3, 2025

๐Ÿž Bug Fixes

  • Boolean configuration handling: Boolean values from Panel view button configurations are now properly normalized. Previously, string values like "true" or "false" from blueprint YAML were not converted to proper booleans, causing unexpected behavior with options like title, slug, and batch.

v3.8.2

October 30, 2025

๐Ÿš€ Features

  • New language support: Added support for Hebrew (HE), Thai (TH), and Vietnamese (VI) via DeepL's next-generation neural translation models.
  • Language variant support: Added support for Spanish Latin American (ES-419) and Portuguese Portugal (PT-PT) as distinct target language variants, enabling region-specific translations.

v3.8.1

October 15, 2025

๐Ÿš€ Features

  • View button theming: Customize the appearance of the Content Translator view button with the new theme prop. Available themes match Kirby's button styles (e.g., positive, negative, blue-icon).

๐Ÿž Bug Fixes

  • Respect translate: false in blocks: Fields marked with translate: false inside blocks are now correctly skipped during content synchronization (import). Previously, these fields were being imported even when marked as non-translatable, causing unwanted content overwrites.

v3.8.0

October 6, 2025

Major performance overhaul! Batch translation is now enabled by default when using DeepL, eliminating single API requests and dramatically improving translation speed. Up to 50 texts can now be translated in a single request to DeepL.

๐Ÿš€ Features

  • Texts are now sent to DeepL in chunks for translation by default when no custom translator function is set. This significantly improves performance by reducing the number of API calls to DeepL.

v3.7.0

September 23, 2025

๐Ÿš€ Features

buttons:
  preview: true
  content-translator:
    title: true
    slug: true
    excludeFields:
      - description
  languages: true

v3.6.0

September 2, 2025

๐Ÿš€ Features

  • Kirby Table plugin support: Added translation support for the Kirby Table plugin by Bogdan Condorachi. Table cell content is now properly translated in both Panel (client-side) and programmatic (server-side) translation modes.

๐Ÿž Bug Fixes

  • File metadata batch translation: Batch translation of file metadata is now working correctly again. Previously, file metadata (like title, alt text) was skipped during batch operations.

v3.5.4

July 19, 2025

๐Ÿž Bug Fixes

  • File title translation in batch mode: When title: true is enabled, file metadata titles are now correctly translated during batch translations. Previously, file titles were skipped in batch mode even when title translation was configured, causing file titles to remain in the source language.

v3.5.3

July 18, 2025

๐Ÿž Bug Fixes

  • Blueprint options in batch mode: Section-specific blueprint options (such as excludeFields, title, slug) are now correctly applied during batch translations. Previously, these options were ignored when using batch translation mode, causing all fields to be translated regardless of exclusions. This fix ensures your per-section configuration is respected in both single and batch translation modes.

v3.5.2

July 17, 2025

๐Ÿž Bug Fixes

  • KirbyTags in single-language mode: KirbyTags are now correctly preserved during single-language translations. Previously, KirbyTags like (link: ... text: ...) could be incorrectly modified when translating content for a single target language. This fix ensures tag structure remains intact while only translating the relevant text attributes. See KirbyTags configuration for details.

v3.5.0

July 16, 2025

๐Ÿš€ Features

  • KirbyTags translation support with selective attribute translation while preserving tag structure and functionality.
  • Translation hooks for customizing translation behavior with content-translator.translate:before and content-translator.translate:after hooks.

v3.4.0

June 24, 2025

๐Ÿš€ Features

  • Kirby 5 license status integration: The plugin now displays its license status on the Panel's system page, following Kirby 5's plugin license management conventions. This provides a unified view of all plugin licenses alongside Kirby's own license information.

v3.3.0

May 5, 2025

๐Ÿš€ Features

  • Use the language's LC_ALL locale (if available) to resolve the DeepL target language.
  • Validate language code against DeepL's supported target languages.
For example, if you set LC_ALL to en_UK, the target language for DeepL will still be EN, since EN-UK is not supported by DeepL. If you set LC_ALL to en_GB instead, then the Content Translator will send EN-GB as the target language to DeepL.

v3.2.1

February 7, 2025

This release contains two important fixes for Markdown translation and KirbyTags. We recommend updating to this version to ensure a smooth translation experience.

๐Ÿž Bug Fixes

  • Preserve line breaks when translating Markdown content in textarea and markdown fields.
  • Skip translating KirbyTags in Markdown content.

v3.2.0

January 23, 2025

โ™ป๏ธ Refactorings

  • Option renamed: bulk โ†’ batch: The bulk configuration option has been renamed to batch for clearer terminology. The old bulk option name continues to work for backward compatibility, but we recommend updating your blueprints to use batch for consistency with the documentation.

v3.1.0

January 20, 2025

๐Ÿš€ Features

  • Select the languages to translate the content into when using the batch translation feature:
Content Translator batch translation dialog

v3.0.0

December 28, 2024

Kirby Content Translator v3 is a major release with support for Kirby 5. This major release requires a new license key. If you already have a license, you receive a 50% discount on your new license. Head over to the Kirby Tools Hub to get your discount or read more in the license compatibility guide.

๐Ÿš€ Features

  • Panel view button as an alternative to the section. Including backward compatibility for Kirby 4 ๐ŸŽ‰.
  • Support for Kirby 5.

v2.5.0

December 10, 2024

๐Ÿš€ Features

  • Improved HTML translation: Enabled HTML handling for DeepL API requests, ensuring HTML content (like rich text with formatting) is translated correctly while preserving tags and structure.
  • Markdown Field plugin support: Added compatibility with the community-driven Markdown Field plugin by Fabian Michael. Markdown content is now properly handled during translation.
  • Custom DeepL options: The new DeepL.requestOptions configuration option lets you set custom request options for the DeepL API, such as formality level or specific glossary IDs.

v2.4.0

November 14, 2024

๐Ÿš€ Features

  • Tags field translation: The tags field type is now supported for translation. Each tag value is translated individually while preserving the comma-separated structure. This is useful for translating categories, labels, or keywords stored in tags fields.

v2.3.0

October 18, 2024

๐Ÿš€ Features

  • New translateSlug PHP API method.
  • Batch translation mode: The content of all secondary languages is overwritten with the data of the default language and then translated into the respective language.
Kirby Tools section preview

Unlike per-language translation, this translation process is not reversible in the Panel and is handled server-side. Use it with caution, as it may take a while to translate all content. When the button is clicked, a confirmation dialog is displayed to prevent accidental batch translation.

If this new feature breaks your workflow, you can disable it by setting batch: false in the plugin configuration.

When disabled, the section will look the same as in v2.2.0 and earlier versions:

Kirby Tools section preview

๐Ÿž Bug Fixes

  • Disallow changing the slug on the homepage page ID.

v2.2.2

October 2, 2024

๐Ÿš€ Features

  • DeepL error visibility: Common DeepL API errors are now displayed in the Panel instead of failing silently. This includes quota exceeded errors, character limit warnings, and authentication issues. Editors will see clear error messages when translations fail, making it easier to diagnose and resolve issues.

v2.2.0

September 11, 2024

๐Ÿš€ Features

  • Early Kirby 5 support: Added compatibility with the Kirby 5 alpha release for developers who want to test with the upcoming Kirby version.
This is alpha support for testing purposes. Future Kirby 5 alpha releases may introduce breaking changes. Content Translator v3 will be released alongside the final Kirby 5 release with full, stable support.

v2.1.0

June 14, 2024

๐Ÿš€ Features

  • Field-level translation control: Skip translating specific fields by setting translate: false in your blueprint field options. This is useful for fields that contain code, identifiers, or other content that should remain unchanged across languages.
blueprint.yml
fields:
  code:
    type: textarea
    translate: false # This field will not be translated
  • Improved button labels: Translation button texts have been updated to more clearly indicate their action (Import/Translate).

v2.0.0

June 12, 2024

Major Release

Kirby Content Translator v2.0 is a complete overhaul of the plugin architecture and functionality. This release introduces a modern Panel section interface and streamlined translation workflows.

๐Ÿš€ Features

  • New Panel section UI: Redesigned translation interface with clearer actions for importing and translating content.
  • Improved DeepL integration: Enhanced API handling with better error messages and support for all DeepL-supported languages.
  • Structure-aware translation: Properly handles blocks, layouts, structures, and nested fields while preserving their structure.
  • Field-level control: Skip specific fields from translation by setting translate: false in blueprint options.

โš ๏ธ Migration from v1

This is a major release with breaking changes. Read the migration guide to update your project from v1 to v2. Key changes include updated configuration options and new section blueprint syntax.