PHPackages                             pensoft/autotranslation-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pensoft/autotranslation-plugin

ActiveOctober-plugin[Utility &amp; Helpers](/categories/utility)

pensoft/autotranslation-plugin
==============================

None

4.0.2(2mo ago)01↓90.9%PHP

Since Oct 14Pushed 3w agoCompare

[ Source](https://github.com/pensoft/october_plugin_autotranslation)[ Packagist](https://packagist.org/packages/pensoft/autotranslation-plugin)[ RSS](/packages/pensoft-autotranslation-plugin/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (7)Dependencies (2)Versions (8)Used By (0)

Auto Translation Plugin
=======================

[](#auto-translation-plugin)

AI-powered automatic translation for October CMS using DeepL API. This plugin extends the RainLab.Translate plugin with intelligent auto-translation capabilities.

Features
--------

[](#features)

- 🤖 **AI-Powered Translation** - Uses DeepL's state-of-the-art neural translation
- 🎯 **Smart Field Detection** - Automatically identifies which fields should be translated
- 📝 **HTML Preservation** - Maintains formatting in rich editor content
- 🔄 **Batch Processing** - Efficiently translates multiple items at once
- 🎛️ **Flexible Configuration** - Extensive customization options
- 📊 **Usage Tracking** - Monitor your DeepL API usage
- 🌍 **Multi-Language Support** - Works with all RainLab.Translate enabled locales

Requirements
------------

[](#requirements)

- PHP &gt;= 7.2.9
- October CMS 2.0+
- Laravel 6.0+
- RainLab.Translate Plugin
- DeepL API Key (Free or Pro)

Installation
------------

[](#installation)

1. Install the plugin via Composer:

    ```
    cd plugins/pensoft/autotranslation
    composer install
    ```
2. Run database migrations:

    ```
    php artisan october:migrate
    ```
3. Configure your DeepL API key:

    - Go to **Settings → Auto Translation**
    - Enter your DeepL API key
    - Select your API plan type (Free or Pro)
    - Save settings

Usage
-----

[](#usage)

### Translate Messages

[](#translate-messages)

1. Navigate to **Auto Translation → Translate Messages**
2. Select source language (usually your default locale)
3. Select target language(s) you want to translate to
4. Click "Translate All Messages"

### Translate Models

[](#translate-models)

1. Navigate to **Auto Translation → Translate Models**
2. Select the model type (e.g., Blog Posts, Pages)
3. Select source and target languages
4. Click "Translate All Records"

### Smart Field Filtering

[](#smart-field-filtering)

The plugin automatically excludes certain fields from translation:

**Excluded field types:**

- Dropdowns, checkboxes, radios
- Dates, numbers
- File uploads, media
- Relations

**Excluded field patterns:**

- Fields ending in: `_id`, `_at`, `slug`, `url`, `code`, `key`
- System fields: `id`, `created_at`, `updated_at`

**Custom exclusions:**You can add custom field exclusions in Settings → Auto Translation → Excluded Field Names

### HTML Content

[](#html-content)

Rich editor content (RichEditor, Markdown) is automatically detected and HTML structure is preserved during translation.

Configuration
-------------

[](#configuration)

### Settings Options

[](#settings-options)

**API Configuration:**

- DeepL API Key (required)
- Server Type (Free or Pro)

**Translation Options:**

- Default Source Language
- Preserve HTML Formatting
- Excluded Field Names

**Advanced:**

- Batch Size (1-100)
- Enable Queue Processing
- Auto-translate on Save (experimental)
- Log Translation Activity

Model Integration
-----------------

[](#model-integration)

To make your custom model translatable and compatible with Auto Translation:

```
class YourModel extends Model
{
    public $implement = ['@RainLab.Translate.Behaviors.TranslatableModel'];

    public $translatable = [
        'title',
        'content',
        'description'
    ];
}
```

API Usage
---------

[](#api-usage)

You can also use the translation services programmatically:

```
use Pensoft\AutoTranslation\Classes\TranslationManager;
use Pensoft\AutoTranslation\Classes\DeepLTranslator;

// Translate text directly
$translator = new DeepLTranslator();
$result = $translator->translateText('Hello, world!', 'en', 'de');

// Translate a model
$manager = new TranslationManager();
$manager->translateModel($model, 'en', 'de');

// Translate messages
$count = $manager->translateMessages('en', 'de');
```

Supported Languages
-------------------

[](#supported-languages)

DeepL supports translation between many languages. When configuring locales in **Settings → Translate → Locales**, use DeepL-compatible codes:

- English: `EN-US`, `EN-GB`
- Portuguese: `PT-PT`, `PT-BR`
- Most other languages: Use uppercase 2-letter codes (`BG`, `FR`, `DE`, `ES`, `IT`, `NL`, `PL`, `RU`, `JA`, `ZH`, etc.)

**Important:** Your locale codes in RainLab.Translate must match DeepL's format exactly. For example:

- Use `BG` (not `bg` or `bulgarian`)
- Use `EN-US` or `EN-GB` (not just `en`)
- Use `PT-BR` or `PT-PT` (not just `pt`)

See [DeepL Documentation](https://www.deepl.com/docs-api/) for the complete list of supported languages and their codes.

Troubleshooting
---------------

[](#troubleshooting)

### "API key is not configured"

[](#api-key-is-not-configured)

Make sure you've entered your DeepL API key in Settings → Auto Translation.

### "Connection failed"

[](#connection-failed)

1. Verify your API key is correct
2. Check you've selected the correct server type (Free vs Pro)
3. Ensure your server can connect to `api.deepl.com` or `api-free.deepl.com`

### Translations not appearing

[](#translations-not-appearing)

1. Make sure the model implements `TranslatableModel` behavior
2. Check the field is in the model's `$translatable` array
3. Verify the field type is translatable (text, textarea, richeditor, markdown)

License
-------

[](#license)

Proprietary

Support
-------

[](#support)

For issues and questions, please contact Pensoft support.

Credits
-------

[](#credits)

- Built with [DeepL PHP SDK](https://github.com/DeepLcom/deepl-php)
- Extends [RainLab.Translate Plugin](https://github.com/rainlab/translate-plugin)

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance92

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 60% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~48 days

Total

5

Last Release

67d ago

Major Versions

1.0.3 → 4.0.12026-04-07

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/4516847?v=4)[Pensoft Publishers](/maintainers/pensoft)[@pensoft](https://github.com/pensoft)

---

Top Contributors

[![kradkov14](https://avatars.githubusercontent.com/u/76497969?v=4)](https://github.com/kradkov14 "kradkov14 (3 commits)")[![howkins](https://avatars.githubusercontent.com/u/6891179?v=4)](https://github.com/howkins "howkins (1 commits)")[![kremenakaleva](https://avatars.githubusercontent.com/u/17496703?v=4)](https://github.com/kremenakaleva "kremenakaleva (1 commits)")

### Embed Badge

![Health badge](/badges/pensoft-autotranslation-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/pensoft-autotranslation-plugin/health.svg)](https://phpackages.com/packages/pensoft-autotranslation-plugin)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.3k10](/packages/helsingborg-stad-municipio)[mautic/core

Mautic Open Source Distribution

9.8k2.6k9](/packages/mautic-core)[mediawiki/maps

Adds various mapping features to MediaWiki

78149.7k3](/packages/mediawiki-maps)[rainlab/blog-plugin

Blog plugin for October CMS

17158.6k](/packages/rainlab-blog-plugin)[civicrm/civicrm-drupal-8

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

19246.3k2](/packages/civicrm-civicrm-drupal-8)[starcitizentools/citizen-skin

A beautiful, usable, responsive MediaWiki skin with in-depth extension support. Originally developed for the Star Citizen Wiki.

3355.8k](/packages/starcitizentools-citizen-skin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
