Introduction
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.
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
cascadequery 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: falseholds 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, andwarninghooks – 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
AI Translation
Context-aware translation via the Kirby Copilot plugin (OpenAI, Anthropic, Google, Mistral).