PHPackages                             web-vision/deepl-base - 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. web-vision/deepl-base

ActiveTypo3-cms-extension

web-vision/deepl-base
=====================

TYPO3 Extension providing shared things across deepl related extensions, for example a shared point when overriding same TYPO3 backend fluid files are required and similar.

1.0.3(3mo ago)074.9k—7.1%[4 PRs](https://github.com/web-vision/deepl-base/pulls)3GPL-2.0-or-laterPHPPHP ^8.1 || ^8.2 || ^8.3 || ^8.4

Since Jun 10Pushed 1mo ago5 watchersCompare

[ Source](https://github.com/web-vision/deepl-base)[ Packagist](https://packagist.org/packages/web-vision/deepl-base)[ Docs](https://www.web-vision.de/en/automated-translations-with-typo3-and-deepl.html)[ RSS](/packages/web-vision-deepl-base/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (29)Versions (16)Used By (3)

TYPO3 Extension `DeepL Base`
============================

[](#typo3-extension-deepl-base)

URL**Repository:****Read online:****TER:**[https://extensions.typo3.org/extension/deepl\_base/](https://extensions.typo3.org/extension/deepl_base/)Description
-----------

[](#description)

This package is a TYPO Extension providing some shared things required by multiple deepl translate or write related extensions, which should work together but must work independent of each other, requiring this shared base extension as common ground.

Note

This extension does not provide anything useful as direct usage, and makes no sense to install it standalone. Should only be a dependency for other extensions.

Compatibility
-------------

[](#compatibility)

BranchVersionTYPO3PHPmain2.0.x-devv138.2, 8.3, 8.4, 8.5 (depending on TYPO3)1^1, 1.0.x-devv12 + v138.1, 8.2, 8.3, 8.4 (depending on TYPO3)Installation
------------

[](#installation)

Install with your flavour:

- [TER](https://extensions.typo3.org/extension/deepl_base/)
- Extension Manager
- composer

We prefer composer installation:

```
composer require 'web-vision/deepl-base':'^2'
```

Note

Until first release you may need to ensure allowing dev versions but preferring stable releases which requires:

```
composer config minimum-stability "dev" \
&& composer config "prefer-stable" true \
&& composer require 'web-vision/deepl-base':'2.*.*@dev'
```

Documentation
-------------

[](#documentation)

Note

For the start, the documentation for developers and integrators is contained here in the README.md file and will be converted into rendered documentation at a later point.

### PageLayout module localization model - Translation Modes

[](#pagelayout-module-localization-model---translation-modes)

### ViewHelper

[](#viewhelper)

#### InjectVariablesViewHelper

[](#injectvariablesviewhelper)

`InjectVariablesViewHelper` can be placed in fluid templates and requires to define a speaking identifier used to dispatch the PSR-14 `ModifyInjectVariablesViewHelperEvent` event, which can be used to set or modify variables either in the global current template scope or for children rendering scope.

##### Example usage in fluid template

[](#example-usage-in-fluid-template)

```

    Render {globalOrLocalVariableProviderVariable} only available in children
    context.

Render {globalOnlyVariableProviderVariable} only ignoring local variable provider
changes.

```

##### Explicit usage from this extension

[](#explicit-usage-from-this-extension)

```

```

###### What does it do?

[](#what-does-it-do)

This part renders partials registered by an EventListener. With this identifier an extension could provide its own translation dropdown for the Backend PageView. The extension must be self-aware registering a partial, which is callable by Fluid.

A working example is provided at `Classes/EventListener/DefaultTranslationDropdownEventListener.php`and `Resources/Private/Backend/Partials/Translation/DefaultTranslationDropdown.html`.

##### ModifyInjectVariablesViewHelperEvent

[](#modifyinjectvariablesviewhelperevent)

- `getIdentifier(): string`: identifier used within the fluid template and should
- `getGlobalVariableProvider(): VariableProviderInterface`: provides the fluid variable container of the current context. Modification will be available after the ViewHelper and within the children context unless overridden within the `getLocalVariableProvider`.
- `getLocalVariableProvider(): VariableProviderInterface`: provides the fluid variable container with children context only variables, overriding global variables. Local variable does not change the variables in the template after the ViewHelper call.

### Modified Backend Templates

[](#modified-backend-templates)

Note

Modifed backend templates are listed here describing the modification, for example, if one or more [InjectVariableViewhelper](#injectvariablesviewhelper)has been placed along with the identifier and use-case.

Create a release (maintainers only)
-----------------------------------

[](#create-a-release-maintainers-only)

Prerequisites:

- git binary
- ssh key allowed to push new branches to the repository
- GitHub command line tool `gh` installed and configured with user having permission to create pull requests.

**Prepare release locally**

> Set `RELEASE_BRANCH` to branch release should happen, for example: 'main'. Set `RELEASE_VERSION` to release version working on, for example: '1.0.0'.

```
echo '>> Prepare release pull-request' ; \
  RELEASE_BRANCH='main' ; \
  RELEASE_VERSION='1.0.0' ; \
  git checkout main && \
  git fetch --all && \
  git pull --rebase && \
  git checkout ${RELEASE_BRANCH} && \
  git pull --rebase && \
  git checkout -b prepare-release-${RELEASE_VERSION} && \
  composer require --dev "typo3/tailor" && \
  ./.Build/bin/tailor set-version ${RELEASE_VERSION} && \
  composer remove --dev "typo3/tailor" && \
  git add . && \
  git commit -m "[TASK] Prepare release ${RELEASE_VERSION}" && \
  git push --set-upstream origin prepare-release-${RELEASE_VERSION} && \
  gh pr create --fill-verbose --base ${RELEASE_BRANCH} --title "[TASK] Prepare release for ${RELEASE_VERSION} on ${RELEASE_BRANCH}" && \
  git checkout main && \
  git branch -D prepare-release-${RELEASE_VERSION}
```

Check pull-request and the pipeline run.

**Merge approved pull-request and push version tag**

> Set `RELEASE_PR_NUMBER` with the pull-request number of the preparation pull-request. Set `RELEASE_BRANCH` to branch release should happen, for example: 'main' (same as in previous step). Set `RELEASE_VERSION` to release version working on, for example: `0.1.4` (same as in previous step).

```
RELEASE_BRANCH='main' ; \
RELEASE_VERSION='1.0.0' ; \
RELEASE_PR_NUMBER='123' ; \
  git checkout main && \
  git fetch --all && \
  git pull --rebase && \
  gh pr checkout ${RELEASE_PR_NUMBER} && \
  gh pr merge -rd ${RELEASE_PR_NUMBER} && \
  git tag ${RELEASE_VERSION} && \
  git push --tags
```

This triggers the `on push tags` workflow (`publish.yml`) which creates the upload package, creates the GitHub release and also uploads the release to the TYPO3 Extension Repository.

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance85

Actively maintained with recent releases

Popularity32

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 89.7% 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 ~62 days

Total

5

Last Release

95d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/22ea8c0796de498c0d81554f12539e71bdb9b9359df3a82a7fb450867a68a680?d=identicon)[sbuerk](/maintainers/sbuerk)

---

Top Contributors

[![sbuerk](https://avatars.githubusercontent.com/u/1453466?v=4)](https://github.com/sbuerk "sbuerk (26 commits)")[![calien666](https://avatars.githubusercontent.com/u/11405116?v=4)](https://github.com/calien666 "calien666 (2 commits)")[![eliashaeussler](https://avatars.githubusercontent.com/u/16313625?v=4)](https://github.com/eliashaeussler "eliashaeussler (1 commits)")

---

Tags

translateextensionTYPO3 CMSdeepl

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/web-vision-deepl-base/health.svg)

```
[![Health](https://phpackages.com/badges/web-vision-deepl-base/health.svg)](https://phpackages.com/packages/web-vision-deepl-base)
```

###  Alternatives

[fluidtypo3/vhs

This is a collection of ViewHelpers for performing rendering tasks that are not natively provided by TYPO3's Fluid templating engine.

1954.1M49](/packages/fluidtypo3-vhs)[web-vision/wv_deepltranslate

This extension provides option to translate content element, and TCA record texts to DeepL supported languages using DeepL API services with TYPO3 CMS

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

This extension provides option to translate content element, and TCA record texts to DeepL supported languages using DeepL API services with TYPO3 CMS

3289.7k2](/packages/web-vision-deepltranslate-core)[in2code/in2publish_core

Content publishing extension to connect stage and production server

40135.8k](/packages/in2code-in2publish-core)[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.

1182.8k](/packages/leuchtfeuer-locate)[netresearch/contexts

Multi-channel content visibility for TYPO3 - by Netresearch

1117.4k1](/packages/netresearch-contexts)

PHPackages © 2026

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