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.8.4 or head over to the releases page to see all versions. Extract the ZIP file to your site/plugins folder.

Step 2: Configure DeepL

By default, this plugin uses the DeepL API to translate your content. You can also use any other translation service by defining a custom translator function.

To use the DeepL API, create an account and generate an API key. The free account is sufficient for most use cases (500,000 characters per month).

Store the API key in your config.php file:

config.php
return [
    'johannschopplich.content-translator' => [
        'DeepL' => [
            // API key for the DeepL free or pro plan
            'apiKey' => '<deepl-api-key>'
        ]
    ]
];

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. Then, open any Panel page that contains the Content Translator view button or section. You will see a license activation notice. Click the Activate link to open the activation form:

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.