PHPackages                             ppl/ppl-deepl-v3-requests - 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. [API Development](/categories/api)
4. /
5. ppl/ppl-deepl-v3-requests

ActiveTypo3-cms-extension[API Development](/categories/api)

ppl/ppl-deepl-v3-requests
=========================

TYPO3 14 service package for DeepL V3 REST text, glossary, style rule and document requests

14.3.1(3w ago)023GPL-2.0-or-laterPHPPHP &gt;=8.2CI failing

Since May 24Pushed 2w agoCompare

[ Source](https://github.com/pliou/ppl_deepl_v3_requests)[ Packagist](https://packagist.org/packages/ppl/ppl-deepl-v3-requests)[ RSS](/packages/ppl-ppl-deepl-v3-requests/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (2)Versions (12)Used By (3)

PPL DeepL V3 Requests
=====================

[](#ppl-deepl-v3-requests)

Shared TYPO3 14 service package for direct DeepL REST requests.

This package owns the HTTP request layer for PPL DeepL V3 extensions and intentionally does not depend on `deeplcom/deepl-php`.

Features
--------

[](#features)

- Central DeepL auth key and API base URL configuration.
- Direct TYPO3 HTTP client integration for DeepL REST calls.
- Shared V3 language, glossary, style-rule and custom-instruction configuration storage.
- Text translation requests.
- Document upload, polling and download requests.
- DeepL V3 glossary listing.
- DeepL V3 style rule listing.
- DeepL V3 language listing.
- Shared configuration lookup for TYPO3 extension configuration, environment variables and TypoScript fallback values.

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

[](#requirements)

- TYPO3 CMS 14
- PHP 8.2 or newer
- A DeepL API key

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

[](#installation)

```
composer require ppl/ppl-deepl-v3-requests:^14.0
```

This package is usually installed together with a consuming extension such as `ppl/ppl-deepl-v3-translate`.

Related DeepL V3 Packages
-------------------------

[](#related-deepl-v3-packages)

The request package is the shared foundation for the DeepL V3 extension family:

- `ppl/ppl-deepl-v3-translate` (`ppl_deepl_v3_translate`): frontend content elements and backend modules for interactive text and file translation.
- `ppl/ppl-deepl-v3-batch-translation` (`ppl_deepl_v3_batch_translation`): backend workspace for translating TYPO3 page trees, pages and content elements with preflight review and controlled record writes.
- `ppl/ppl-deepl-v3-extension-translator` (`ppl_deepl_v3_extension_translator`): backend audit and repair module for extension XLF files, missing translation keys and selected write actions with backups.

Consuming packages should not implement their own DeepL HTTP clients. They should use this package for API key lookup, endpoint selection, DeepL text/document calls, language/glossary/style-rule fetches, custom instructions and shared approval storage.

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

[](#configuration)

Set the DeepL auth key in TYPO3 extension configuration (`ppl_deepl_v3_requests.authKey`) or directly in `config/system/settings.php` under `EXTENSIONS.ppl_deepl_v3_requests.authKey`. The public package only ships an empty configuration field; no key value, TypoScript auth key constant or environment-variable fallback is included.

Set `apiBaseUrl` when the default endpoint is not correct for the DeepL account:

- DeepL API Pro: `https://api.deepl.com`
- DeepL API Free: `https://api-free.deepl.com`

Enter only the API host, not a concrete path such as `/v3/languages` or `/v2/translate`. The default value is `https://api.deepl.com`.

Classic DeepL v2 calls used for text translation, document translation and language lists are sent to the matching official DeepL v2 host. V3 glossary and style-rule calls continue to use `apiBaseUrl`.

Shared V3 Product Configuration
-------------------------------

[](#shared-v3-product-configuration)

This package owns reusable V3 configuration needed by all extensions that consume the request layer:

- Loaded and approved DeepL languages.
- Loaded and approved DeepL glossaries.
- Loaded and approved DeepL style rules.
- Saved custom-instruction presets and custom-instruction normalization.

The shared runtime files are stored under:

```
var/ppl_deepl_v3_requests/

```

On first read, the storage services migrate existing files from `var/ppl_deepl_v3_translate/` and the older `var/ppl_deepl/` path where applicable. New writes go only to `var/ppl_deepl_v3_requests/`.

Usage
-----

[](#usage)

Use the services from TYPO3 dependency injection or `GeneralUtility::makeInstance()` in consuming TYPO3 extensions:

- `Ppl\PplDeeplV3Requests\Service\DeeplConfigurationService`
- `Ppl\PplDeeplV3Requests\Service\DeeplApiClientService`
- `Ppl\PplDeeplV3Requests\Service\DeeplLanguageConfigurationService`
- `Ppl\PplDeeplV3Requests\Service\DeeplGlossaryConfigurationService`
- `Ppl\PplDeeplV3Requests\Service\DeeplStyleRuleConfigurationService`
- `Ppl\PplDeeplV3Requests\Service\DeeplCustomInstructionConfigurationService`

The package does not register frontend plugins or backend modules by itself. It is a service dependency for extensions that need DeepL V3 request handling.

Release
-------

[](#release)

Version `14.x` is the TYPO3 14 release line.

License
-------

[](#license)

This extension is released under the GNU General Public License v2.0 or later, the common TYPO3 extension license. See `LICENSE`.

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance96

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity53

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 ~4 days

Total

11

Last Release

15d ago

Major Versions

v12.4.1 → 14.3.02026-06-01

13.4.1 → 14.3.12026-06-28

12.4.x-dev → 13.4.x-dev2026-07-09

13.4.x-dev → 14.3.x-dev2026-07-09

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/131469?v=4)[Lesior](/maintainers/PPL)[@ppl](https://github.com/ppl)

---

Top Contributors

[![pliou](https://avatars.githubusercontent.com/u/45556500?v=4)](https://github.com/pliou "pliou (8 commits)")

### Embed Badge

![Health badge](/badges/ppl-ppl-deepl-v3-requests/health.svg)

```
[![Health](https://phpackages.com/badges/ppl-ppl-deepl-v3-requests/health.svg)](https://phpackages.com/packages/ppl-ppl-deepl-v3-requests)
```

###  Alternatives

[friendsoftypo3/content-blocks

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

103519.9k57](/packages/friendsoftypo3-content-blocks)[hn/typo3-mcp-server

TYPO3 extension that provides a Model Context Protocol (MCP) server for interacting with TYPO3 pages and records

8523.4k1](/packages/hn-typo3-mcp-server)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

611.1M8](/packages/netresearch-rte-ckeditor-image)[pagemachine/searchable

TYPO3 extension to index and search content with Elasticsearch

1139.9k](/packages/pagemachine-searchable)[thieleundklose/autotranslate

This extension provides automatic translation of pages and content elements via DeepL API.

1213.7k](/packages/thieleundklose-autotranslate)[kitodo/presentation

Base plugins, modules, services and API of the Digital Library Framework. It is part of the community-based Kitodo Digitization Suite.

467.3k6](/packages/kitodo-presentation)

PHPackages © 2026

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