PHPackages                             igor-benko-pimcore-plugin/language-switcher - 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. igor-benko-pimcore-plugin/language-switcher

ActivePimcore-plugin[Localization &amp; i18n](/categories/localization)

igor-benko-pimcore-plugin/language-switcher
===========================================

A Pimcore plugin for easier switching between languages in document hierarchies

55551[2 issues](https://github.com/IgorBenko/pimcore-language-switcher/issues)PHP

Since May 8Pushed 11y ago1 watchersCompare

[ Source](https://github.com/IgorBenko/pimcore-language-switcher)[ Packagist](https://packagist.org/packages/igor-benko-pimcore-plugin/language-switcher)[ RSS](/packages/igor-benko-pimcore-plugin-language-switcher/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Pimcore plugin: LanguageSwitcher
================================

[](#pimcore-plugin-languageswitcher)

LanguageSwitcher is a Pimcore plugin that makes managing multi-lingual websites a whole lot easier and straightforward. Its main function is to find related nodes in parallel branches and to easily create menus for jumping to the same subpage in other languages - in the frontend and in the backend.

Switching between branches is very easy. You can also open current page in all languages at once.

[![Switching between branches](readme/switch-branch-1.png)](readme/switch-branch-1.png)

If there is no coressponding page in other branch, then the parent node is returned.

Frontend language menu
----------------------

[](#frontend-language-menu)

Integrating language menu to your website is as easy as adding this to view:

```
// This example links to parallel pages but has a label of a branch (eg. En, It, De, ...)

```

```
// This example links to parallel pages and has a label of a parallel page (eg. Contacts, Contatti, Kontakt, ...)

```

```
// You can use any other property to display

```

Switching between branches in the backend
-----------------------------------------

[](#switching-between-branches-in-the-backend)

[![Switching between branches](readme/switch-branch-2.png)](readme/switch-branch-2.png)

You can either switch/open just one language or open a page in all languages at once. This makes it very easy to edit one page in multiple languages.

Installing
----------

[](#installing)

Add this line to the `require` section of your composer.json and install it with composer:

```
"igor-benko-pimcore-plugin/language-switcher": "dev-master"

```

Install it from Extension manager:

[![Installing language switcher](readme/installing-language-switcher.png)](readme/installing-language-switcher.png)

This adds predefined property for selecting branch roots and website setting for selecting the parent node.

### Set parent node

[](#set-parent-node)

If your language structure is like this you don't need to change the parent node:

```
Home:
- en
- de
- it

```

If you have language nodes in a subfolder like this than you need to set it as a parent node in Website Settings:

```
Home:
- languages
    - en
    - de
    - it

```

[![Set parent node](readme/set-switcher-parent-node.png)](readme/set-switcher-parent-node.png)

### Set branch roots

[](#set-branch-roots)

Branch roots must be direct descendants of the parent node. You need to add a property with key `languageSwitcherBranchRoot` to each branch root.

[![Branch roots](readme/parent-node---branch-roots.png)](readme/parent-node---branch-roots.png)

The property MUST be inheritable. Plugin setup procedure creates a predefined property for you that you can use. **After you create the property, drag and drop the branch root to Value field of property.**

[![Set branch roots 1](readme/set-branch-roots-1.png)](readme/set-branch-roots-1.png)[![Set branch roots 2](readme/set-branch-roots-2.png)](readme/set-branch-roots-2.png)

Copyright and license
---------------------

[](#copyright-and-license)

**Developed by: Igor Benko**

**License: BSD-3-Clause**

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance12

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 86.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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/a5082ec20fca835c8a833af5de2647529bad59c9423fbc58cc5625c9fbff230c?d=identicon)[IgorBenko](/maintainers/IgorBenko)

---

Top Contributors

[![IgorBenko](https://avatars.githubusercontent.com/u/10233647?v=4)](https://github.com/IgorBenko "IgorBenko (13 commits)")[![viziens](https://avatars.githubusercontent.com/u/1311530?v=4)](https://github.com/viziens "viziens (2 commits)")

### Embed Badge

![Health badge](/badges/igor-benko-pimcore-plugin-language-switcher/health.svg)

```
[![Health](https://phpackages.com/badges/igor-benko-pimcore-plugin-language-switcher/health.svg)](https://phpackages.com/packages/igor-benko-pimcore-plugin-language-switcher)
```

###  Alternatives

[symfony/translation

Provides tools to internationalize your application

6.6k836.5M2.0k](/packages/symfony-translation)[nesbot/carbon

An API extension for DateTime that supports 281 different languages.

169661.4M4.8k](/packages/nesbot-carbon)[joedixon/laravel-translation

A tool for managing all of your Laravel translations

717911.4k11](/packages/joedixon-laravel-translation)[illuminate/translation

The Illuminate Translation package.

6936.4M491](/packages/illuminate-translation)[lajax/yii2-translate-manager

Translation management extension for Yii 2

227578.8k13](/packages/lajax-yii2-translate-manager)[larswiegers/laravel-translations-checker

Make sure your laravel translations are checked and are included in all languages.

256423.2k2](/packages/larswiegers-laravel-translations-checker)

PHPackages © 2026

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