guave / deepl-bundle
Adds support for deepl.com translation to Contao 5.0+ dca input fields
2.0.1
2026-02-03 13:16 UTC
Requires
- php: ^8.1
- contao/core-bundle: ^5.0
- guzzlehttp/guzzle: ^6.0 || ^7.0
- symfony/config: ^6.4 || ^7.4
- symfony/dependency-injection: ^6.4 || ^7.4
- symfony/http-kernel: ^6.4 || ^7.4
- terminal42/contao-changelanguage: ^3.7
- terminal42/dc_multilingual: ^4.0 || ^5.0
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.8
- contao/manager-plugin: ^2.3.1
- phpunit/phpunit: ^9.6
- roave/security-advisories: dev-latest
- symfony/phpunit-bridge: ^6.4 || ^7.4
Conflicts
- contao/manager-plugin: <2.0 || >=3.0
README
Adds support for deepl translation API in DCA input fields.
Also supports Multilingual Data Container
Requirements
- Contao 5.0+
- PHP 8.1+
Install
Install Contao bundle
composer require guave/deepl-bundle
Add deepl API key to .env
DEEPL_API_KEY=''
Install assets
if you use web as the document root, pass it as an argument
php vendor/bin/contao-console assets:install
Configuration
guave_deepl:
enabled: true
freeApi: true
defaultLanguage: de
tables:
tl_content:
fields:
- title
- text
multiColumnFields:
category_grid:
fields:
- title
- text
Register Custom ActiveLanguageResolver
Register it with the tag deepl.resolver
# services.yml
services:
# ...
App\Resolver\ActiveLanguageByProductLanguageResolver:
public: true
tags:
- { name: 'deepl.resolver', priority: 50 }
# src/Resolver/ActiveLanguageByProductLanguageResolver.php
<?php
namespace App\Resolver;
use Contao\DataContainer;
use Guave\DeeplBundle\Resolver\ActiveLanguageResolverInterface;
class ActiveLanguageByProductLanguageResolver implements ActiveLanguageResolverInterface
{
public function supports(DataContainer $dataContainer): bool
{
// TODO: Implement supports() method.
}
public function resolve(DataContainer $dataContainer): ?string
{
// TODO: Implement resolve() method.
}}
}