PHPackages                             jvelletti/jv-deepltranslate-piflexform - 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. [Localization &amp; i18n](/categories/localization)
4. /
5. jvelletti/jv-deepltranslate-piflexform

ActiveTypo3-cms-extension[Localization &amp; i18n](/categories/localization)

jvelletti/jv-deepltranslate-piflexform
======================================

Extends the extension wv\_deepltranslate to handle translations of flexforms.

13.4.7(1mo ago)0206[1 issues](https://github.com/velletti/jv_deepltranslate_piflexform/issues)GPL-3.0-or-laterPHP

Since Feb 11Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/velletti/jv_deepltranslate_piflexform)[ Packagist](https://packagist.org/packages/jvelletti/jv-deepltranslate-piflexform)[ RSS](/packages/jvelletti-jv-deepltranslate-piflexform/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (6)Versions (15)Used By (0)

jv\_deepltranslate\_piflexform
==============================

[](#jv_deepltranslate_piflexform)

Overview
--------

[](#overview)

`jv_deepltranslate_piflexform` is a TYPO3 extension that integrates DeepL translation services into the TYPO3 backend. It provides functionalities to translate also pi Flexform in tt\_content elements using DeepL. uses web-vision/deepltranslate\_core as base library to integrate DeepL API.

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

[](#installation)

To install this extension, use Composer:

```
composer require jvelletti/jv_deepltranslate_piflexform

## configuration
1. install first the extension `deepltranslate_core` and configure the API key if not done
2. add a configuration array in the  `ext_tables.php` in yout template extension  to configure the extension

```php

 $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['jv_deepltranslate_piflexform']['fieldsToTranslate'] = [
            // Fields from default flexforms
           'settings.content'            => [],
           'settings.content1'           => [],
           'settings.content2'           => [],
           'settings.content3'           => [],

           'settings.headline'           => [],
           'settings.headlineColumns'    => [],
           'settings.headlineColumn1'    => [],
           'settings.headlineColumn2'    => [],
           'settings.headlineColumn3'    => [],
           'settings.headlineColumn4'    => [],
           'settings.headlineTable'      => [],
           'settings.headlineFirstPart'  => [],
           'settings.headlineSecondPart' => [],

           'settings.info1'              => [],
           'settings.info2'              => [],
           'settings.info3'              => [],

           'settings.subline1'           => [],
           'settings.subline2'           => [],
           'settings.videoLinkText'      => [],

           'settings.dateMonth'          => [],
           'settings.category'           => [],

           'settings.quote'              => [],
           'settings.author'             => [],
           'settings.location'           => [],

           'settings.referenceType'      => [],

            // Nested flexforms => function translateNestedFlexform()
            // Example (function matrix):
            // settings.tableRow->el->'...'->settings.tableRowElement->'el'->flexFormFieldsToTranslate

            // Accordion (flexform_accordion.xml)
           'settings.accordionElements' => [
              'translateNestedFlexform' => true,
              'mainFlexformField' => 'settings.accordionElement',
              'flexFormFieldsToTranslate' => [
                 'headline',
                 'text',
              ],
           ],

            // Contacts (flexform_contacts.xml)
           'settings.contactsElements' => [
              'translateNestedFlexform' => true,
              'mainFlexformField' => 'settings.contactsElement',
              'flexFormFieldsToTranslate' => [
                 'text',
              ],
           ],

            // Function matrix (flexform_functionMatrix.xml)
           'settings.tableRow' => [
              'translateNestedFlexform' => true,
              'mainFlexformField' => 'settings.tableRowElement',
               // We leave out the fields "option{nr}" (=> value is 'yes'/'no')
              'flexFormFieldsToTranslate' => [
                 'headlineRow',
                 'descriptionRow',
                 'alternativeText1',
                 'alternativeText2',
                 'alternativeText3',
                 'alternativeText4',
              ],
           ],
        ];

```

Internal reminder for the extension maintainer:
-----------------------------------------------

[](#internal-reminder-for-the-extension-maintainer)

To Update this extension in TER: change version Number to "x.y.z" in ext\_emconf.php, Documentation\\ in Settings.cfg and Index.rst create Tag "x.y.z" git push --tags

create new zip file: cd vendor/jvelletti/jv-deepltranslate-piflexform git archive -o jv\_deepltranslate\_piflexform\_x.y.z.zip" HEAD git archive -o jv\_deepltranslate\_piflexform\_12.4.3.zip" HEAD

Upload ZIP File to git push

check: [https://packagist.org/packages/jvelletti/jv\_deepltranslate\_piflexform](https://packagist.org/packages/jvelletti/jv_deepltranslate_piflexform)[https://extensions.typo3.org/extension/jv\_deepltranslate\_piflexform/](https://extensions.typo3.org/extension/jv_deepltranslate_piflexform/)

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance92

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~36 days

Recently: every ~2 days

Total

14

Last Release

40d ago

Major Versions

12.4.6 → 13.4.02025-05-30

### Community

Maintainers

![](https://www.gravatar.com/avatar/59e5dc94c0b20e44ad7515599058d158fedbf1554b9edd67486a87dfabe6686c?d=identicon)[jvelletti](/maintainers/jvelletti)

---

Top Contributors

[![velletti](https://avatars.githubusercontent.com/u/912094?v=4)](https://github.com/velletti "velletti (18 commits)")

### Embed Badge

![Health badge](/badges/jvelletti-jv-deepltranslate-piflexform/health.svg)

```
[![Health](https://phpackages.com/badges/jvelletti-jv-deepltranslate-piflexform/health.svg)](https://phpackages.com/packages/jvelletti-jv-deepltranslate-piflexform)
```

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)[web-vision/wv_deepltranslate

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

33304.3k](/packages/web-vision-wv-deepltranslate)[web-vision/deepltranslate-core

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

33142.5k8](/packages/web-vision-deepltranslate-core)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

40529.5k](/packages/wazum-sluggi)[pagemachine/typo3-formlog

Form log for TYPO3

23238.6k8](/packages/pagemachine-typo3-formlog)[leuchtfeuer/locate

Locate - The users country, preferred language and other facts will be detected. Depending on configurable rules the user can be redirected to other languages or pages. Locate also provides geo blocking for configurable pages in configurable countries.

1186.6k](/packages/leuchtfeuer-locate)

PHPackages © 2026

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