PHPackages                             nlybe/multilingual - 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. nlybe/multilingual

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

nlybe/multilingual
==================

Multilingual content on Elgg posts and content

5.3(2y ago)08GPL-2.0PHPPHP &gt;=7.2

Since Nov 25Pushed 1y ago1 watchersCompare

[ Source](https://github.com/nlybe/elgg-multilingual)[ Packagist](https://packagist.org/packages/nlybe/multilingual)[ Docs](https://github.com/nlybe/elgg-multilingual)[ RSS](/packages/nlybe-multilingual/feed)WikiDiscussions main Synced 4w ago

READMEChangelogDependencies (1)Versions (4)Used By (0)

Elgg Multilingual Plugin
========================

[](#elgg-multilingual-plugin)

[![Elgg 5.0](https://camo.githubusercontent.com/2cb7ed947ca59012a2c6c756378bff6a5e08195fbb4292e1b2973c2859c95f3c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f456c67672d352e302d6f72616e67652e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/2cb7ed947ca59012a2c6c756378bff6a5e08195fbb4292e1b2973c2859c95f3c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f456c67672d352e302d6f72616e67652e7376673f7374796c653d666c61742d737175617265)

Multilingual content on Elgg posts and content.

Features
--------

[](#features)

- Option to enable multilingual content for pages (pages plugin) in plugin settings
- Option to enable multilingual content for site pages (externalpages plugin) in plugin settings
- Compatible with [External pages Extended](https://github.com/nlybe/Elgg-externalpages_extended)
- It can be used from other plugins for translating specific field of Elgg Objects
- The [Language selector](https://github.com/ColdTrick/language_selector) plugin is suggested for changing site languages

How to use
----------

[](#how-to-use)

Let's say that you have an Elgg Object called MyElggObject and you need to add translation for the fields title, description and location. You have to do the following in order to use the Multilingual for translating these fields:

1. Add the lines below on **start.php** or **bootstrap.php**:

```
use Multilingual\MultilingualOptions;

if (elgg_is_active_plugin('multilingual')) {
    $options = [
        'title' => ['type' => 'text', 'label' => 'myplugin:title', 'annotate' => false],
        'description' => ['type' => 'longtext', 'label' => 'myplugin:description', 'annotate' => false],
        'location' => ['type' => 'location', 'label' => 'myplugin:location', 'annotate' => false],
    ];
    MultilingualOptions::setSubtypeForTranslation(MyElggObject::SUBTYPE, $options);
}
```

This code will add the sub-item **Edit translations** on all MyElggObject entities menu. When click on **Edit translations** a form will open for translating the fields title, description and location for all enabled languages of the site.

2. Wherever any of the fields title, description and location appear, make the following replacements:

```
use Multilingual\MultilingualOptions;

// $title = $entity->title; # to be replaced by
$title = MultilingualOptions::getFieldValue('title', $entity);

// $description = $entity->description; # to be replaced by
$description = MultilingualOptions::getFieldValue('description', $entity);

// $location = $entity->location; # to be replaced by
$location = MultilingualOptions::getFieldValue('location', $entity);
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity47

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

Total

3

Last Release

823d ago

Major Versions

3.1 → 4.22023-08-18

4.2 → 5.32024-02-05

### Community

Maintainers

![](https://www.gravatar.com/avatar/4b3b4c3ed45bff26900a422f0271d660579bb6a309428222fabeedc2329b7979?d=identicon)[nlybe](/maintainers/nlybe)

---

Top Contributors

[![nlybe](https://avatars.githubusercontent.com/u/4714025?v=4)](https://github.com/nlybe "nlybe (6 commits)")

---

Tags

pluginelggmultilingual

### Embed Badge

![Health badge](/badges/nlybe-multilingual/health.svg)

```
[![Health](https://phpackages.com/badges/nlybe-multilingual/health.svg)](https://phpackages.com/packages/nlybe-multilingual)
```

###  Alternatives

[asgardcms/platform

The AsgardCms application.

78860.8k](/packages/asgardcms-platform)[inpsyde/multilingual-press

Simply THE multisite-based free open source plugin for your multilingual websites.

2414.0k1](/packages/inpsyde-multilingual-press)[coldtrick/translation_editor

Provide an easy way to edit translations

113.4k1](/packages/coldtrick-translation-editor)

PHPackages © 2026

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