---
title: "Introduction"
description: "One-click translation in the Kirby Panel – DeepL, AI providers via Kirby Copilot, or your own backend."
canonical_url: "https://kirby.tools/docs/content-translator/getting-started"
---

# Introduction

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

Kirby Content Translator is a plugin for [Kirby CMS](https://getkirby.com) that adds a translation button to any page, file, or site blueprint. Translate with [DeepL](https://www.deepl.com) or [Kirby Copilot](/copilot) for AI – the same pipeline runs from PHP and the CLI for hooks, custom controllers, and batch jobs.

![Panel dialog for selecting target languages for multi-language translation](/img/kirby-content-translator-multi-lang-translation.png)

## Key Features

- 🖱️ **One-Click Translation**: View button in any page, file, or site blueprint.
- 📦 **Batch Translation**: All secondary languages at once, from the default.
- 📄 **All Content Types**: Pages, files (metadata), and site content.
- 🧩 **Blueprint-Aware**: Walks `blocks`, `layout`, `structure`, `object`, and nested fields. `translate: false` is respected at any depth.
- 🏷️ **KirbyTags**: Translate tag attributes selectively – URLs and UUIDs preserved.
- ⚡ **PHP API**: Drive translations from CLI or custom workflows – see [PHP classes](/docs/content-translator/php-classes).
- 🪝 **Hooks**: `before`, `after`, and `warning` for preprocessing, postprocessing, and observability.
- 🔌 **Pluggable Strategies**: DeepL, [AI via Copilot](/docs/content-translator/providers/ai-translation), or your own [custom strategy](/docs/content-translator/providers/custom-translator).

## 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 (copy content from the default language) and a **Translate** action (send the current content through the configured provider).
- In the default language it offers a ** → All Languages** batch action that translates into every other configured language at once.

Per-language translation writes to the view you're looking at, so you can review and undo it. Batch translation writes to every selected language at once and is not reversible from the Panel – reach for it on initial setup, and for the per-language action when fine-tuning.

## Translation Providers

<card-group>
<card icon="i-simple-icons-deepl" title="DeepL" to="/docs/content-translator/providers/deepl">

Industry-leading machine translation with a free tier available.

</card>

<card icon="i-ri-sparkling-line" title="AI Translation" to="/docs/content-translator/providers/ai-translation">

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

</card>

<card icon="i-ri-puzzle-line" title="Custom Strategy" to="/docs/content-translator/providers/custom-translator">

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

</card>
</card-group>

<tip>

When Kirby Copilot is installed alongside DeepL or a custom strategy, a dialog lets editors choose the provider per translation.

</tip>

## Get Started

<card icon="i-ri-download-line" title="Installation Guide" to="/docs/content-translator/getting-started/installation">

Install the plugin, configure DeepL, and start translating content in minutes.

</card>

---

Every page of this site as Markdown: <https://kirby.tools/sitemap.md>
