PHPackages                             heimrichhannot/contao-dc-multilingual-utils-bundle - 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. heimrichhannot/contao-dc-multilingual-utils-bundle

ActiveContao-bundle

heimrichhannot/contao-dc-multilingual-utils-bundle
==================================================

This bundle offers functionality concerning terminal42/contao-DC\_Multilingual for the Contao CMS.

0.8.4(3y ago)0375LGPL-3.0-or-laterPHPPHP ^7.4 || ^8.0

Since Mar 21Pushed 3y ago5 watchersCompare

[ Source](https://github.com/heimrichhannot/contao-dc-multilingual-utils-bundle)[ Packagist](https://packagist.org/packages/heimrichhannot/contao-dc-multilingual-utils-bundle)[ RSS](/packages/heimrichhannot-contao-dc-multilingual-utils-bundle/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (4)Dependencies (3)Versions (21)Used By (0)

Contao DC\_Multilingual Utils Bundle
====================================

[](#contao-dc_multilingual-utils-bundle)

This bundle offers functionality concerning [terminal42/contao-DC\_Multilingual](https://github.com/terminal42/contao-DC_Multilingual) for the Contao CMS.

Features
--------

[](#features)

- adds multilanguage support for tl\_content
- adds shortcut functions for rapidly activating DC\_Multilingual support for a given DCA
- adds multilanguage support for [madeyourday/contao-rocksolid-custom-elements](https://github.com/madeyourday/contao-rocksolid-custom-elements)
- adds insert tags for generating multilingual event, news or faq urls
- **caution**: overrides the id handling of DC\_Multilingual v4+ to the v3 behavior (the record with the joined translation has its id set to the id of the translation record)

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

[](#installation)

1. Install via composer: `composer require heimrichhannot/contao-dc-multilingual-utils-bundle`.
2. Activate `DC_Multilingual` support for `tl_content` (not optional):

```
/**
 * @Hook("loadDataContainer")
 */
class LoadDataContainerListener
{
    private DcMultilingualUtil $multilingualUtil;

    public function __invoke(string $table): void
    {
        if ('tl_content' === $table) {
            $this->multilingualUtil->addDcMultilingualSupport(
                $table, ['de', 'en', 'pl'], 'de', [ 'text', 'rsce_data' ]
            );
        }
    }
}
```

Technical details
-----------------

[](#technical-details)

### Insert tags

[](#insert-tags)

The following new tags are available:

NameExample`{{dcmu_news_url::::}}``{{dcmu_news_url::1::de}}``{{dcmu_event_url::::}}``{{dcmu_event_url::5::es}}``{{dcmu_faq_url::::}}``{{dcmu_faq_url::8::en}}`### Activate DC\_Multilingual rapidly using the shortcut functions

[](#activate-dc_multilingual-rapidly-using-the-shortcut-functions)

Simply call the following code:

```
/**
 * @Hook("loadDataContainer")
 */
class LoadDataContainerListener
{
    private DcMultilingualUtil $multilingualUtil;

    public function __invoke(string $table): void
    {
        if ('tl_content' === $table) {
            $this->multilingualUtil->addDcMultilingualSupport(
                $table, // Table name
                ['de', 'en', 'pl'], // Supported languages
                'de', // Fallback language
                [ // the translatable fields
                    'text', // add fields here...
                    'rsce_data' // add this if you have rocksolid custom elements (tl_content only)
                ],
                [ // options
                    'langColumnName', // the language field in the dca's records (you have a record for every language and this column holds which one it is)
                    'langPid', // this field holds the parent record of every translated record
                ]
            );
            break;
        }
    }
}
```

### Notes on overridden classes

[](#notes-on-overridden-classes)

For generating content elements which respect the multilanguage records created using DC\_Multilingual in the backend, it's necessary to override the `ContentModel`, because Contao calls the core's ContentModel directly in `Controller`:

`$objRow = ContentModel::findByPk($intId);`

But for getting Contao to output the *translated* Elements, we need to use our own `ContentModel` inheriting from the class `Terminal42\DcMultilingualBundle\Model\Multilingual/Multilingual`.

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 90.9% 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 ~77 days

Recently: every ~83 days

Total

20

Last Release

1136d ago

PHP version history (2 changes)0.0.1PHP ^7.1

0.8.1PHP ^7.4 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/28ad3224d8727b622ebd229840eea6b9dbcb83eb0bd609e6ce65b614830ff538?d=identicon)[digitales@heimrich-hannot.de](/maintainers/digitales@heimrich-hannot.de)

---

Top Contributors

[![koertho](https://avatars.githubusercontent.com/u/12064642?v=4)](https://github.com/koertho "koertho (10 commits)")[![vvohh](https://avatars.githubusercontent.com/u/75325799?v=4)](https://github.com/vvohh "vvohh (1 commits)")

### Embed Badge

![Health badge](/badges/heimrichhannot-contao-dc-multilingual-utils-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/heimrichhannot-contao-dc-multilingual-utils-bundle/health.svg)](https://phpackages.com/packages/heimrichhannot-contao-dc-multilingual-utils-bundle)
```

###  Alternatives

[codefog/contao-haste

haste extension for Contao Open Source CMS

42650.8k139](/packages/codefog-contao-haste)[madeyourday/contao-rocksolid-custom-elements

Create your own, nestable content elements using a modular system. End the WYSIWYG chaos with your own content elements.

50341.9k12](/packages/madeyourday-contao-rocksolid-custom-elements)[contao/manager-bundle

Provides the Contao Managed Edition

181.3M61](/packages/contao-manager-bundle)[codefog/contao-news_categories

News Categories bundle for Contao Open Source CMS

3183.3k6](/packages/codefog-contao-news-categories)[terminal42/contao-node

Node bundle for Contao Open Source CMS

3172.5k4](/packages/terminal42-contao-node)[terminal42/contao-folderpage

Provides a new page type for Contao that allows you to group pages into folders.

18147.9k9](/packages/terminal42-contao-folderpage)

PHPackages © 2026

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