PHPackages                             ongr/translations-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. [Localization &amp; i18n](/categories/localization)
4. /
5. ongr/translations-bundle

Abandoned → [ongr/translations-bundle](/?search=ongr%2Ftranslations-bundle)Symfony-bundle[Localization &amp; i18n](/categories/localization)

ongr/translations-bundle
========================

ONGR translations bundle

v0.4.4(9y ago)57.7k12[8 issues](https://github.com/ongr-io/TranslationsBundle/issues)[1 PRs](https://github.com/ongr-io/TranslationsBundle/pulls)MITPHP

Since Feb 26Pushed 9y ago16 watchersCompare

[ Source](https://github.com/ongr-io/TranslationsBundle)[ Packagist](https://packagist.org/packages/ongr/translations-bundle)[ Docs](http://ongr.io)[ RSS](/packages/ongr-translations-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (8)Versions (13)Used By (0)

ONGR Translations Bundle
========================

[](#ongr-translations-bundle)

This bundle provides graphical user interface for translations management. It enables easy control and manipulation of translation files stored in multiple domains in your entire project. Translations can be automatically collected from and dumped into your project.

[![Stable Release](https://camo.githubusercontent.com/d96380c1c63eb6fb00398feee044602d52da0540ce8b54ea684bc3613755735c/68747470733a2f2f706f7365722e707567782e6f72672f6f6e67722f7472616e736c6174696f6e732d62756e646c652f762f737461626c652e737667)](https://packagist.org/packages/ongr/translations-bundle)[![Build Status](https://camo.githubusercontent.com/50a380a4b32525e53c3d3b6dbdfc941ccb56e4c75bbfc3074548435cb00ce992/68747470733a2f2f7472617669732d63692e6f72672f6f6e67722d696f2f5472616e736c6174696f6e7342756e646c652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/ongr-io/TranslationsBundle)[![Coverage](https://camo.githubusercontent.com/ffc15539f9a2a9ae9612344ba5e8cda2327238b7435b579e55a35a17c068a462/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6f6e67722d696f2f5472616e736c6174696f6e7342756e646c652f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/ongr-io/TranslationsBundle/?branch=master)[![Quality Score](https://camo.githubusercontent.com/aa18b00bc32ead2b0a73f6b643b05cc233a9252ba261e6e4f3380c8c899b3d95/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6f6e67722d696f2f5472616e736c6174696f6e7342756e646c652f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/ongr-io/TranslationsBundle/?branch=master)

Documentation
-------------

[](#documentation)

The full documentation of the bundle can be found [here](http://docs.ongr.io/TranslationsBundle)

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

[](#installation)

Follow 5 quick steps to get ready to translate.

### Step 1: Download the Bundle

[](#step-1-download-the-bundle)

FilterManager bundle is installed using [Composer](https://getcomposer.org)

```
# You can require any version you need, check the latest stable to make sure you are using the newest version.
$ composer require ongr/translations-bundle "~1.0"
```

> Please note that filter manager requires Elasticsearch bundle, guide on how to install and configure it can be found [here](http://docs.ongr.io/ElasticsearchBundle).

### Step 2: Enable the Bundle

[](#step-2-enable-the-bundle)

Register bundles in `app/AppKernel.php`:

```
class AppKernel extends Kernel
{
    /**
     * {@inheritdoc}
     */
    public function registerBundles()
    {
        return [
            // ...
            new ONGR\ElasticsearchBundle\ONGRElasticsearchBundle(),
            new ONGR\FilterManagerBundle\ONGRFilterManagerBundle(),
            new FOS\JsRoutingBundle\FOSJsRoutingBundle(),
            new ONGR\TranslationsBundle\ONGRTranslationsBundle(),
        ];
    }

    // ...
}
```

> **Note:** This bundle uses [ONGRElasticsearchBundle](http://docs.ongr.io/ElasticsearchBundle) to store translations. Also [ONGRFilterManagerBundle](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle) and [FOSJsRoutingBundle](http://docs.ongr.io/TranslationsBundle/configuration) bundles are used to build user interface.

### Step 3: Import Routing

[](#step-3-import-routing)

Import API and UI routes:

```
# app/config/routing.yml
ongr_translation_ui:
    resource: "@ONGRTranslationsBundle/Resources/config/routing.yml"
    prefix:   /translations  # or any other prefix of your choice

fos_js_routing:
    resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"
```

### Step 4: Configure Elasticsearch Bundle

[](#step-4-configure-elasticsearch-bundle)

This bundle relies on ONGR ElasticsearchBundle to store translations. You can include this bundle in an existing managers mapping but we recommend to create a separate index and manager for translations. More information on how to do that can be found in official ElasticsearchBundle [documentation](http://docs.ongr.io/ElasticsearchBundle).

### Step 5: Configure the Bundle

[](#step-5-configure-the-bundle)

This bundle requires minimal configuration to get started:

```
# app/config/config.yml
ongr_translations:
    managed_locales: ["en", "de", "lt"]
    repository: 'es.manager.translations.translation'
```

In the example above `managed_locales` defines locales we are working with and `repository` defines repository service for `Translation` document.

> Your repository ID may be different depending on what manager name you configured in `ongr_elasticsearch` section. In this case manager named `translations` is used

Lastly, enable Symfony translations component if you do not have it enabled yet:

```
framework:
    # ...
    translator: { fallbacks: ["%locale%"] }
```

That's it about setup. Follow next chapter to learn how to work with translations.

> For detailed [configuration reference](http://docs.ongr.io/TranslationsBundle/configuration) check dedicated documentation page.

Translate Your First Message!
-----------------------------

[](#translate-your-first-message)

Before starting to translate messages, you need to have some. Lets import messages from this bundle. Here is a command `ongr:translations:import`to do that:

```
$ bin/console ongr:translations:import ONGRTranslationsBundle
```

Install assets:

```
$ bin/console assets:install
```

Now open `http://127.0.0.1:8000/translations` in your browser. You should see translations list.

License
-------

[](#license)

This package is licensed under the MIT license. For the full copyright and license information, please view the [LICENSE](http://docs.ongr.io/TranslationsBundle) file that was distributed with this source code.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community24

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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

Recently: every ~103 days

Total

13

Last Release

3582d ago

### Community

Maintainers

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

---

Top Contributors

[![linasmo](https://avatars.githubusercontent.com/u/10021248?v=4)](https://github.com/linasmo "linasmo (60 commits)")[![saimaz](https://avatars.githubusercontent.com/u/115824?v=4)](https://github.com/saimaz "saimaz (30 commits)")[![einorler](https://avatars.githubusercontent.com/u/13484571?v=4)](https://github.com/einorler "einorler (28 commits)")[![mvar](https://avatars.githubusercontent.com/u/1286752?v=4)](https://github.com/mvar "mvar (9 commits)")[![tomaspocevicius](https://avatars.githubusercontent.com/u/2837127?v=4)](https://github.com/tomaspocevicius "tomaspocevicius (3 commits)")[![GrandLTU](https://avatars.githubusercontent.com/u/6538692?v=4)](https://github.com/GrandLTU "GrandLTU (3 commits)")[![ndinh215](https://avatars.githubusercontent.com/u/8800820?v=4)](https://github.com/ndinh215 "ndinh215 (3 commits)")[![trandangtri](https://avatars.githubusercontent.com/u/7868214?v=4)](https://github.com/trandangtri "trandangtri (2 commits)")[![martinohmann](https://avatars.githubusercontent.com/u/1335045?v=4)](https://github.com/martinohmann "martinohmann (1 commits)")[![tautrimas](https://avatars.githubusercontent.com/u/364223?v=4)](https://github.com/tautrimas "tautrimas (1 commits)")[![kazysgurskas](https://avatars.githubusercontent.com/u/12516828?v=4)](https://github.com/kazysgurskas "kazysgurskas (1 commits)")[![chyzas](https://avatars.githubusercontent.com/u/7919897?v=4)](https://github.com/chyzas "chyzas (1 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/ongr-translations-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/ongr-translations-bundle/health.svg)](https://phpackages.com/packages/ongr-translations-bundle)
```

###  Alternatives

[nesbot/carbon

An API extension for DateTime that supports 281 different languages.

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

The Illuminate Translation package.

6936.4M495](/packages/illuminate-translation)

PHPackages © 2026

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