PHPackages                             demondogsl/yii2-translate-manager - 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. demondogsl/yii2-translate-manager

ActiveYii2-extension[Localization &amp; i18n](/categories/localization)

demondogsl/yii2-translate-manager
=================================

Translation management extension for Yii 2 ported to Bootstrap 5 by Cristian Garcia Copete &lt;cristian@demondog.es&gt;

v1.2(1y ago)01.6k2[1 issues](https://github.com/DemonDogSL/yii2-translate-manager/issues)MITPHP

Since Sep 20Pushed 1y agoCompare

[ Source](https://github.com/DemonDogSL/yii2-translate-manager)[ Packagist](https://packagist.org/packages/demondogsl/yii2-translate-manager)[ RSS](/packages/demondogsl-yii2-translate-manager/feed)WikiDiscussions master Synced 1mo ago

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

Demon Dog SL - Translate Manager
================================

[](#demon-dog-sl---translate-manager)

[![Latest Version on Packagist](https://camo.githubusercontent.com/f925df3fed112b7272c985b91822cd3f7a4e7e67841571a290d202fc39e29f49/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f64656d6f6e646f67736c2f796969322d7472616e736c6174652d6d616e616765722e7376673f7374796c653d666c6174)](https://packagist.org/packages/demondogsl/yii2-translate-manager)[![Software License](https://camo.githubusercontent.com/f251623e510f5909f16ae3f4e6e548dac11340b9fde1a99be26b015b39272c00/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c6174)](LICENSE.md)[![Total Downloads](https://camo.githubusercontent.com/87544dfa1e55baac8d82a61c9f134d8d3421c28342237532895806b34aecb087/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f64656d6f6e646f67736c2f796969322d7472616e736c6174652d6d616e616765722e7376673f7374796c653d666c6174)](https://packagist.org/packages/demondogsl/yii2-translate-manager)

This Extension is based in [lajax/yii2-translate-manager](https://github.com/lajax/yii2-translate-manager) that was ported for works with Bootstrap 5 and Php 8.3 by [KrishDemonDog](https://github.com/KrishDemonDog).

Introduction
------------

[](#introduction)

This extension provides a simple translating interface for the multilingual elements of your project. This extension offers:

- **Scan** - Automatically detect new elements of the language. Duplications are filtered out automatically during project scanning.
- **Optimize** - Unused language elements will be removed from the database.
- **Import** - Import your translations from `.json` or `.xml` file.
- **Export** - Export your translations to `.json` or `.xml` file.
- You can exclude files, folders or categories to prevent them from being translated.

Contributing
------------

[](#contributing)

Please read and follow the instructions in the [Contributing guide](CONTRIBUTING.md).

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

[](#installation)

Via [Composer](http://getcomposer.org/download/)

```
composer require demondogsl/yii2-translate-manager "*"

```

### Migration

[](#migration)

Run the following command in Terminal for database migration:

```
php yii migrate --migrationPath vendor/demondogsl/yii2-translate-manager/migrations

```

### Config

[](#config)

Turn on the Translate Manager:

- In your project file, Yii2 Advanced `/backend/config/main.php` Yii2 Basic `/config/web.php` add Translate Manager in `modules`.

**IMPORTANT** Optional values overwrite Default Values.

```
'modules' => [
    'translateManager' => [
        'class' => 'DemonDogSL\translateManager\Module',    // required
        'root' => '@example',   // optional     Directory of the project scan. Can be an Array with other instances. For example: ['@backend', '@common', '@frontend']. For Default is '@app'
        'allowedIPs' => ['0.0.0.0'],  // optional     IP addresses from which the translation interface is accessible. For Default is ['127.0.0.1']
        'roles' => ['@'],   // optional     For setting access levels to the translating interface. For Default is []
        'tmpDir' => '@example',     // optional     Writable directory for the client-side temporary javascript language files. Can be '@backend/runtime'. For Default is '@runtime'
        'ignoredCategories' => ['example'],     // optional     These categories won't be scanned. For Default is ['yii']
        'onlyCategories' => ['example'],    // optional     Only these categories will be scanned. For Default is []
        'ignoredItems' => ['example'],   // optional     These files will not be processed. For Default is ['.svn', '.git', '.gitignore', '.gitkeep', '.hgignore', '.hgkeep', '/messages', '/BaseYii.php', 'runtime', 'bower', 'nikic']
        'tables' => [   // optional     Database Tables that will be scanned. For Default not exists
            [
                'connection' => 'db',
                'table' => '{{%example}}',     // Table name
                'columns' => ['example1', 'example2'],    // Names of columns
                'category' => 'database-table-name',
            ]
        ],
    ],
],
```

- In our migration we added table `language_force_translation` for translate your ENUM values of your tables, if you want use it only add next code.

```
'tables' => [
    [
        'connection' => 'db',
        'table' => 'language_force_translation',
        'columns' => ['value'],
        'category' => 'database-table-name'
    ]
]
```

- In your project file, Yii2 Advanced `/backend/config/main.php` Yii2 Basic `/config/web.php` add Translate Manager in `components`.

```
'components' => [
    'translateManager' => [
        'class' => 'DemonDogSL\translateManager\Component'
    ]
]
```

- In your project file, Yii2 Advanced `/backend/config/main.php` Yii2 Basic `/config/web.php` add Translate Manager in `bootstrap`.

```
'bootstrap' => [
    'translateManager' => [
        'class' => 'DemonDogSL\translateManager\Component'
    ],
],
```

- In your project file, Yii2 Advanced `/backend/config/main.php` Yii2 Basic `/config/web.php` add I18n in `components` and your `language`.

```
'language' => 'en-GB',
'components' => [
    'i18n' => [
        'translations' => [
            '*' => [
                'class' => 'yii\i18n\DbMessageSource',
                'db' => 'db',
                'sourceLanguage' => 'xx-XX',    // Your language
                'sourceMessageTable' => '{{%language_source}}',
                'messageTable' => '{{%language_translate}}',
                'cachingDuration' => 86400,
                'enableCaching' => true,
            ],
        ],
    ],
],
```

Usage
-----

[](#usage)

### Register Translate Manager scripts

[](#register-translate-manager-scripts)

To translate static messages in JavaScript files it is necessary to register the files. You have two ways to do it.

Call the following method in each action:

```
\DemonDogSL\translateManager\helpers\Language::registerAssets();
```

Or create a Controller that extends Yii Controller

**IMPORTANT** All your Controllers must extend this New Controller

```
namespace backend\controllers;

use DemonDogSL\translateManager\helpers\Language;

class Controller extends \yii\web\Controller {

    public function init() {
        Language::registerAssets();
        parent::init();
    }
}
```

### Activate Translate Mode

[](#activate-translate-mode)

This is Optional.

Display a button to switch text to translation mode.

```
// Default
echo \DemonDogSL\translateManager\widgets\ToggleTranslate::widget();

// If you want change position
echo \DemonDogSL\translateManager\widgets\ToggleTranslate::widget([
    'position' => 'example',  // optional   Can be 'top-left', 'top-right', 'bottom-left' or 'bottom-right'. For Default is 'bottom-left'
]);
```

### Examples of use

[](#examples-of-use)

- JavaScript

```
ddt.t('Hello');
ddt.t('Hello {name}!', {name:'World'});
```

- PHP

```
Yii::t('example', 'Hello');
Yii::t('example', 'Hello {name}!', ['name' => 'World']);
```

- Translate Mode Button

**IMPORTANT** Translate Mode Button does not support the translation of HTML attributes

```
use DemonDogSL\translateManager\models\DDT;

DDT::t('example', 'Hello');
DDT::t('example', 'Hello {name}!', ['name' => 'World']);
```

### Translate Manager URL

[](#translate-manager-url)

```
/translateManager/language/list
/translateManager/language/scan
/translateManager/language/optimize
/translateManager/language/import
/translateManager/language/export
```

Change log
----------

[](#change-log)

Please see [Changelog](CHANGELOG.md) for more information on what has changed recently.

License
-------

[](#license)

Same licence as [lajax/yii2-translate-manager](https://github.com/lajax/yii2-translate-manager)

The MIT License (MIT). Please see [License](LICENSE.md) for more information.

Screenshots
===========

[](#screenshots)

### Languages

[](#languages)

[![Languages](/assets/images/Languages.png)](/assets/images/Languages.png)

### Scan

[](#scan)

[![Scan](/assets/images/Scan.png)](/assets/images/Scan.png)

### Optimize

[](#optimize)

[![Optimize](/assets/images/Optimize.png)](/assets/images/Optimize.png)

### Export

[](#export)

[![Export](/assets/images/Export.png)](/assets/images/Export.png)

### Translate Interface

[](#translate-interface)

[![Translate_Interface](/assets/images/Translate_Interface.png)](/assets/images/Translate_Interface.png)

### Translate Mode Button

[](#translate-mode-button)

[![Translate_Mode_Button](/assets/images/Translate_Mode_Button.png)](/assets/images/Translate_Mode_Button.png)

### Translate Mode Button Translation

[](#translate-mode-button-translation)

[![Translate_Mode_Button_Translation](/assets/images/Translate_Mode_Button_Translation.png)](/assets/images/Translate_Mode_Button_Translation.png)

Links
=====

[](#links)

- [Original Translate Manager](https://github.com/lajax/yii2-translate-manager)
- [Packagist](https://packagist.org/packages/demondogsl/yii2-translate-manager)

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

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

Total

3

Last Release

539d ago

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

languagetranslateyii2extensionmodulebootstrap5

### Embed Badge

![Health badge](/badges/demondogsl-yii2-translate-manager/health.svg)

```
[![Health](https://phpackages.com/badges/demondogsl-yii2-translate-manager/health.svg)](https://phpackages.com/packages/demondogsl-yii2-translate-manager)
```

###  Alternatives

[lajax/yii2-translate-manager

Translation management extension for Yii 2

227578.8k13](/packages/lajax-yii2-translate-manager)[lajax/yii2-language-picker

Yii2 Language Picker Widget

41230.8k3](/packages/lajax-yii2-language-picker)[cetver/yii2-languages-dispatcher

Sets the web-application language for the Yii framework 2.0

1029.7k](/packages/cetver-yii2-languages-dispatcher)[devgroup/yii2-multilingual

Allows building yii2 apps for multiple languages using regional URL's and domains

152.6k2](/packages/devgroup-yii2-multilingual)[tigrov/yii2-country

Country data for Yii2 using Intl extension and more.

151.1k](/packages/tigrov-yii2-country)

PHPackages © 2026

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