Introduction

One-click translation in the Kirby Panel – DeepL, AI providers via Kirby Copilot, or your own strategy.

Kirby Content Translator is a plugin for Kirby CMS that adds a translation button to any page, file, or site blueprint. Translate with DeepL or Kirby Copilot for AI – the same pipeline runs from PHP and the CLI for hooks, custom controllers, and batch jobs.

Kirby Panel
3
Options
Content from English will be translated and saved to all selected languages. This may take a few seconds.
Options

Features

  • 🖱️ One-Click Translation: View button in any page, file, or site blueprint.
  • 📦 Batch Translation: All target languages from one dialog, with DeepL or AI.
  • 🔗 Related Pages and Files: A cascade query translates child pages, Kirby Modules, or a page's files along with the view.
  • 📊 Translation Coverage: Rings per language and the pages still missing one, in the Languages view.
  • 🧩 Nested Fields: Walks blocks, layouts, structures, and objects – translate: false holds at any depth.
  • 🏷️ KirbyTags: Tag attributes translated selectively, URLs and UUIDs preserved.
  • 🔁 Import from Source: Copy default-language content without translating.
  • 🎛️ Configurable Scope: By field type, or include and exclude fields, globally or per section.
  • ⚡ PHP API: Drive translations from CLI or custom workflows, with before, after, and warning hooks – see PHP classes.
  • 🔌 Pluggable Strategies: DeepL, AI via Copilot, or your own custom strategy.

How It Works

Add the content-translator Panel view button to your blueprints. The button adapts to the current language context:

  • In secondary languages it offers an Import action (bring in the default language's content) and a Translate action (send the current content through the configured strategy).
  • In the default language it offers a → All Languages batch action that translates into every other configured language at once.

The actions are disabled while another user edits the content or you may not edit it.

Single-language translation writes to the view you're looking at, so you can review and undo it – except for the title, the slug, and a cascade, which are saved directly. Batch translation writes to every selected language at once and is not reversible from the Panel – use it for the initial setup, and switch to the single-language action when fine-tuning.

Translation Strategies

DeepL

Industry-leading machine translation with a free tier available.

AI Translation

Context-aware translation via the Kirby Copilot plugin (OpenAI, Anthropic, Google, Mistral).

Custom Strategy

Plug in any translation API via a closure or a custom Strategy implementation.

When Kirby Copilot's provider has an API key and DeepL or a custom strategy is configured too, a dialog lets editors choose between them per translation.

Get Started

Installation Guide

Install the plugin and configure DeepL or Kirby Copilot to translate with.