PHPackages                             xelax90/zf-doctrine-orm-translation-loader - 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. xelax90/zf-doctrine-orm-translation-loader

ActiveLibrary[Localization &amp; i18n](/categories/localization)

xelax90/zf-doctrine-orm-translation-loader
==========================================

Provides a translation loader that uses doctrine ORM

1.1.0(9y ago)018GPLv2PHP

Since Nov 10Pushed 9y ago1 watchersCompare

[ Source](https://github.com/xelax90/zf-doctrine-orm-translation-loader)[ Packagist](https://packagist.org/packages/xelax90/zf-doctrine-orm-translation-loader)[ RSS](/packages/xelax90-zf-doctrine-orm-translation-loader/feed)WikiDiscussions master Synced 4w ago

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

Doctrine database translation loader for Zend Framework 3
=========================================================

[](#doctrine-database-translation-loader-for-zend-framework-3)

This module adds an additional translation loader that uses Doctrine ORM to store translations.

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

[](#installation)

Installation of LanguageRoute uses composer. For composer documentation, please refer to [getcomposer.org](http://getcomposer.org/).

```
composer require xelax90/zf-doctrine-orm-translation-loader
```

Then add `DoctrineORMTranslationLoader` to your `config/application.config.php`and run the doctrine schema update to create the database table:

```
php vendor/bin/doctrine-module orm:schema-tool:update --force
```

Usage
-----

[](#usage)

This module uses the `DoctrineORMTranslationLoader\Entity\Translation` entity to store translations. To add new translations, simply add new entities using Doctrine or directly add them into the `translation` database table. The default translator will automatically use the provided loader and the `translate()` function/view helper will search the database for translations.

Translation Keys should not start with `__META__` since this prefix is used for storing metadata. Using `__META__plural_forms` in particular will lead to unwanted side-effects.

### Plural translations

[](#plural-translations)

You can store plural translations by using the translationPluralNumber property of the `DoctrineORMTranslationLoader\Entity\Translation` entity. Provide a translation for each plural form in your plural rule and use the translator's `translatePlural` function to choose the correct form.

### Meta data

[](#meta-data)

You can also store meta data (such as the plural forms) for each locale and domain. Each meta entry must have a translation key starting with `__META__` followed by the meta identifier. Meta rules are not deleted from the translator which makes it possible to use them as translation keys, although it is not recommended. As of now, only the plural\_forms identifier is interpreted.

The `DoctrineORMTranslationLoader\I18n\Translator\Loader\DoctrineEntity` class provides constants for the meta prefix and the `plural_forms` identifier which you might find useful when adding or reading metadata in a PHP script.

To store the plural rules for a local and domain, use `__META__plural_forms` as the translation key. For details about the plural rule syntax, please refer to the [Zend\_i18n documentation](https://docs.zendframework.com/zend-i18n/).

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity65

Established project with proven stability

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

Total

3

Last Release

3326d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1559538?v=4)[xelax90](/maintainers/xelax90)[@xelax90](https://github.com/xelax90)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/xelax90-zf-doctrine-orm-translation-loader/health.svg)

```
[![Health](https://phpackages.com/badges/xelax90-zf-doctrine-orm-translation-loader/health.svg)](https://phpackages.com/packages/xelax90-zf-doctrine-orm-translation-loader)
```

###  Alternatives

[zfbrasil/doctrine-money-module

Provide ZF2 integration between doctrine and mathiasverraes/money

1627.2k](/packages/zfbrasil-doctrine-money-module)[mamuz/mamuz-blog

Provides blog feature for ZF2 with Doctrine

101.1k1](/packages/mamuz-mamuz-blog)

PHPackages © 2026

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