PHPackages                             phpnomad/symfony-translation-integration - 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. phpnomad/symfony-translation-integration

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

phpnomad/symfony-translation-integration
========================================

PHPNomad Symfony translation strategy implementation

1.0.0(3mo ago)00MITPHP

Since Mar 31Pushed 2mo agoCompare

[ Source](https://github.com/phpnomad/symfony-translation-integration)[ Packagist](https://packagist.org/packages/phpnomad/symfony-translation-integration)[ Docs](https://github.com/phpnomad/symfony-translation-integration)[ RSS](/packages/phpnomad-symfony-translation-integration/feed)WikiDiscussions main Synced 4w ago

READMEChangelog (1)Dependencies (5)Versions (2)Used By (0)

phpnomad/symfony-translation-integration
========================================

[](#phpnomadsymfony-translation-integration)

[![Latest Version](https://camo.githubusercontent.com/00cb8da8c61db786921f1d3e4d917e408a4bd33ce450ff6426aef2f4d72ca256/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7068706e6f6d61642f73796d666f6e792d7472616e736c6174696f6e2d696e746567726174696f6e2e737667)](https://packagist.org/packages/phpnomad/symfony-translation-integration)[![Total Downloads](https://camo.githubusercontent.com/3911831bd6a691f55aa08f456b2e6356185b8e1d58bcfa831e3c3a00806bce35/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7068706e6f6d61642f73796d666f6e792d7472616e736c6174696f6e2d696e746567726174696f6e2e737667)](https://packagist.org/packages/phpnomad/symfony-translation-integration)[![PHP Version](https://camo.githubusercontent.com/b853c12469abed02d6b287abf78bddf107ee5e300d982039b0c272b4955cc8a8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f7068706e6f6d61642f73796d666f6e792d7472616e736c6174696f6e2d696e746567726174696f6e2e737667)](https://packagist.org/packages/phpnomad/symfony-translation-integration)[![License](https://camo.githubusercontent.com/83347be384b5e497659b5c401e4388ac2b568508db2b75410d61b756eac997d7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f7068706e6f6d61642f73796d666f6e792d7472616e736c6174696f6e2d696e746567726174696f6e2e737667)](https://packagist.org/packages/phpnomad/symfony-translation-integration)

Integrates the Symfony Translation component with PHPNomad's `phpnomad/translate` abstraction. It supplies a single `TranslationStrategy` implementation backed by Symfony's `TranslatorInterface`, so applications that call the PHPNomad translation API can resolve strings through a configured Symfony translator without changing any call sites.

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

[](#installation)

```
composer require phpnomad/symfony-translation-integration
```

What This Provides
------------------

[](#what-this-provides)

- `PHPNomad\Symfony\Translation\Strategies\TranslationStrategy`, a concrete implementation of `PHPNomad\Translations\Interfaces\TranslationStrategy` that delegates `translate()` and `translatePlural()` calls to Symfony's `TranslatorInterface::trans()`.
- Disambiguation context is encoded using gettext's `msgctxt` convention (the `\x04` EOT separator), so catalogues loaded from gettext `.po`/`.mo` files resolve contextual strings correctly.
- Pluralization uses Symfony's `%count%` parameter convention, which lines up with Symfony's ICU and legacy plural format loaders.

Requirements
------------

[](#requirements)

- `phpnomad/translate` ^2.0, which defines the `TranslationStrategy` interface along with the `HasTextDomain` and `HasLanguage` providers
- `symfony/translation-contracts` ^2.5 or ^3.0, which defines `TranslatorInterface`
- A configured Symfony translator with your catalogues loaded (the full `symfony/translation` package or any implementation of `TranslatorInterface`)

Usage
-----

[](#usage)

Bind the concrete strategy to the interface inside your PHPNomad bootstrapper. The strategy takes three constructor dependencies: the Symfony translator, a `HasTextDomain` provider that returns the active text domain, and a `HasLanguage` provider that returns the target locale (or `null` to fall back to the translator's default).

```
