Installation

Learn how to install and configure the plugin in your Kirby project.

Step 1: Install the Plugin

Although it is a commercial plugin, you can download and test it in your local environment before purchasing.

Composer

The recommended way to install the plugin is via Composer. Run the following command in your terminal:

composer require johannschopplich/kirby-content-translator

ZIP File Download

Download the latest version v3.9.1 or head over to the releases page to see all versions. Extract the ZIP file to your site/plugins folder.

Step 2: Configure the Translation Provider

Content Translator requires at least one translation provider. Choose your preferred option:

DeepL

The recommended choice for most projects. Create an account and generate an API key. The free tier includes 500,000 characters per month.

config.php
return [
    'johannschopplich.content-translator' => [
        'DeepL' => [
            'apiKey' => '<deepl-api-key>'
        ]
    ]
];

AI Translation (Copilot)

Use your existing Kirby Copilot setup for AI-powered translations. No additional Content Translator configuration required – just install and configure Copilot.

config.php
return [
    'johannschopplich.copilot' => [
        'provider' => 'openai',
        'providers' => [
            'openai' => [
                'apiKey' => env('OPENAI_API_KEY')
            ]
        ]
    ]
];
Configure both providers to get a selection dialog when translating, letting you choose DeepL or AI per request.

Step 3: Choose Your Workflow

Kirby Content Translator offers two ways to add translation controls to the Panel. Both methods provide the same functionality and can be used together.

View Button

Add a translation dropdown to the Panel toolbar for quick access from any view.

pages/default.yml
buttons:
  - preview
  - settings
  - content-translator # Choose position
  - languages
  - status

Section

Alternative display with translation controls inline within the page content.

contentTranslator:
  type: content-translator

Step 4: Translate Your Content

Open the Panel and navigate to a page. The translation workflow depends on your current language:

In Secondary Languages

  1. Click Import to copy content from the default language to the current language.
  2. Click Translate to send the imported content to DeepL for translation.
Why two steps?Import copies the raw content first, then Translate sends it to DeepL. This separation allows you to review content before translation or skip translation for content that does not need it.

In the Default Language

Click → All Languages to translate content to multiple languages at once. A dialog lets you select which target languages to include.

By default, all text-like fields are translated. Customize which fields, types, and behaviors apply in the Configuration Guide.

Step 5: Buy a License

You can test the plugin locally. However, you need to purchase a license to use the plugin in production environments.

Visit the product page on Lemon Squeezy and purchase a license. The easiest way to activate your license is to go to the system view in the Kirby Panel and click on Activate now:

Enter the email you used for the purchase and the order number and hit the submit button. Done! Thanks for supporting our work. Once you activate your license, the license activation buttons will disappear.

Your license key will be stored automatically in /site/config/.kirby-tools-licenses. This file is created on first activation. Make sure to add it to your .gitignore to keep your license key private.