Introduction

Effortlessly translate content between languages in your Kirby project.

The Kirby Content Translator plugin empowers editors to translate content from one language to another. Translations can be done either language by language or in batches. The tool seamlessly integrates with the Kirby Panel and provides manual translation capabilities and programmatic access via its PHP API.

Kirby Content Translator batch translation

Key Features

  • ๐ŸŽ›๏ธ Panel Integration: Direct translation from the Kirby Panel with view buttons and blueprint sections.
  • ๐Ÿ”Œ Multiple Translation Services: Built-in DeepL support with option for custom translation providers.
  • ๐Ÿงฉ Structure-Aware: Translates complex field types including blocks, layouts, structures, and objects.
  • ๐Ÿท๏ธ KirbyTags Support: Selective translation of KirbyTags attributes while preserving UUIDs, URLs and other technical content.
  • โšก PHP API: Programmatic translation capabilities for automation and CLI commands.
  • ๐Ÿ“ฆ Batch Translation: Translate content to multiple languages simultaneously.
  • ๐Ÿช Hooks System: Customize translation behavior with before/after hooks.

Translation Modes

Kirby Content Translator operates in two distinct modes depending on your current language context. This allows for both interactive, real-time translations in the Kirby Panel and efficient batch processing on the server side.

FeaturePer-Language TranslationBatch Translation
Language Context๐ŸŒ Secondary language๐Ÿ  Primary/default language
Translation Speedโšก Real-time, instant๐Ÿš€ Batch processing
Reversibilityโœ… Reversible changesโŒ Non-reversible
Interactivityโœ… See & edit immediatelyโŒ Background processing
Target Languages๐ŸŽฏ Single language๐Ÿ“Š Multiple languages at once
Use Case๐Ÿ”ง Fine-tuning translations๐Ÿ—๏ธ Initial content creation

Usage Overview

The plugin provides two main ways to translate content:

  1. Panel Integration: Use view buttons or blueprint sections to translate content directly in the Kirby Panel.
  2. PHP API: Programmatically translate content using PHP methods for automation or CLI commands.

Translation Services

By default, the plugin uses the DeepL API for high-quality translations. If you prefer to use a different translation service, you can define custom translation functions to integrate other providers.

Getting Started

Unsure where to start? Check out the installation guide to set up the plugin in your Kirby project!