2017 © Pedro Peláez
 

yii2-extension yii2-translate-panel

Yii2 Translate Panel makes the translation of your application awesome!

image

uran1980/yii2-translate-panel

Yii2 Translate Panel makes the translation of your application awesome!

  • Wednesday, March 11, 2015
  • by uran1980
  • Repository
  • 6 Watchers
  • 24 Stars
  • 5,659 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 15 Forks
  • 3 Open issues
  • 22 Versions
  • 6 % Grown

The README.md

Yii2 Translate Panel

Yii2 Translate Panel makes the translation of your application awesome!, (*1)

This module based on i18n (internalization) module with greatly improved usability in mind (see screen shots below)., (*2)

Yii2 Translate Panel screens, (*3)

Installation

Install Yii2

Install and configure Yii2 App Advanced Template, (*4)

Composer

The preferred way to install this extension is through Composer., (*5)

Either run, (*6)

php composer.phar require uran1980/yii2-translate-panel "dev-master"

or add, (*7)

"uran1980/yii2-translate-panel": "dev-master"

to the require section of your composer.json, (*8)

Usage

Configure urlManager and "Yii2 Translate Panel" component in common/config/main.php:, (*9)

return [
    ...
    'components' => [
        ...
        'urlManager' => [
            'class'             => yii\web\UrlManager::className(),
            'enablePrettyUrl'   => true,
            'showScriptName'    => false, // false - means that index.php will not be part of the URLs
        ],
        'i18n' => [
            'class'      => uran1980\yii\modules\i18n\components\I18N::className(),
            'languages'  => ['en', 'de', 'fr', 'it', 'es', 'pt', 'ru'],
            // Or, if you manage languages in database
            //'languages'  => function() {
            //    /* /!\ Make sure the result is a mere list of language codes, and the
            //     * one used in views is the first one */
            //    return \namespace\of\your\LanguageClass::find()->where(['active' => true'])->orderBy('default' => SORT_DESC])->select('code')->column();
            //},
            'format'     => 'db',
            'sourcePath' => [
                __DIR__ . '/../../frontend',
                __DIR__ . '/../../backend',
                __DIR__ . '/../../common',
            ],
            'messagePath' => __DIR__  . '/../../messages',
            // Whether database messages are to be used instead of view ones.
            // Enables editing messages in locale specified by
            // Yii::$app->sourceLanguage
            // Can be set per translation category too
            //'forceTranslation' => true,
            'translations' => [
                '*' => [
                    'class'           => yii\i18n\DbMessageSource::className(),
                    'enableCaching'   => true,
                    'cachingDuration' => 60 * 60 * 2, // cache on 2 hours
                    // Whether database messages are to be used instead of view
                    // ones. Enables editing messages in view code locale.
                    // Can be set globally too.
                    //'forceTranslation' => true,
                ],
            ],
        ],
        ...
    ],
    ...
];

Configure "Yii2 Translate Panel" module in backend/config/main.php:, (*10)

return [
    ...
    'modules' => [
        ...
        'i18n' => [
            'class' => uran1980\yii\modules\i18n\Module::className(),
            'controllerMap' => [
                'default' => uran1980\yii\modules\i18n\controllers\DefaultController::className(),
            ],
            // example for set access control to module (if required):
            'as access' => [
                'class' => yii\filters\AccessControl::className(),
                'rules' => [
                    [
                        'controllers'   => ['i18n/default'],
                        'actions'       => ['index', 'save', 'update', 'rescan', 'clear-cache', 'delete', 'restore', 'clear-deleted'],
                        'allow'         => true,
                        'roles'         => ['translator'],
                    ]
                ],
            ],
        ],
        ...
    ],
    ...
]

Run:, (*11)

php yii migrate --migrationPath=@uran1980/yii/modules/i18n/migrations

Go to http://backend.yourdomain.com/translations for translating your messages, (*12)

PHP to DB import

If you have an old project with PHP-based i18n you may migrate to DbSource via console., (*13)

Run:, (*14)

php yii i18n/import @common/messages

where @common/messages is path for app translations, (*15)

DB to PHP export

Run:, (*16)

php yii i18n/export @uran1980/yii/modules/i18n/messages uran1980/modules/i18n

where @uran1980/yii/modules/i18n/messages is path for app translations and uran1980/modules/i18n is translations category in DB, (*17)

Using yii category with DB

Import translations from PHP files, (*18)

php yii i18n/import @yii/messages

Info

Component uses yii\i18n\MissingTranslationEvent for auto-add of missing translations to database, (*19)

See Yii2 i18n guide, (*20)

Author

Ivan Yakovlev, e-mail: uran1980@gmail.com, (*21)

The Versions

11/03 2015

0.1.15

0.1.15.0 https://github.com/uran1980/yii2-translate-panel

Yii2 Translate Panel makes the translation of your application awesome!

  Sources   Download

MIT

The Requires

 

translations yii2 translation i18n translate-panel

11/03 2015

0.1.16

0.1.16.0 https://github.com/uran1980/yii2-translate-panel

Yii2 Translate Panel makes the translation of your application awesome!

  Sources   Download

MIT

The Requires

 

translations yii2 translation i18n translate-panel

11/03 2015

0.1.14

0.1.14.0 https://github.com/uran1980/yii2-translate-panel

Yii2 Translate Panel makes the translation of your application awesome!

  Sources   Download

MIT

The Requires

 

translations yii2 translation i18n translate-panel

05/03 2015

0.1.0

0.1.0.0 https://github.com/uran1980/yii2-translate-panel

Yii2 Translate Panel makes the translation of your application so simple

  Sources   Download

MIT

The Requires

 

translations yii2 translation i18n translate-panel

05/03 2015

0.1.11

0.1.11.0 https://github.com/uran1980/yii2-translate-panel

Yii2 Translate Panel makes the translation of your application awesome!

  Sources   Download

MIT

The Requires

 

translations yii2 translation i18n translate-panel

05/03 2015

0.1.12

0.1.12.0 https://github.com/uran1980/yii2-translate-panel

Yii2 Translate Panel makes the translation of your application awesome!

  Sources   Download

MIT

The Requires

 

translations yii2 translation i18n translate-panel

05/03 2015

0.1.8

0.1.8.0 https://github.com/uran1980/yii2-translate-panel

Yii2 Translate Panel makes the translation of your application awesome!

  Sources   Download

MIT

The Requires

 

translations yii2 translation i18n translate-panel

05/03 2015

0.1.9

0.1.9.0 https://github.com/uran1980/yii2-translate-panel

Yii2 Translate Panel makes the translation of your application awesome!

  Sources   Download

MIT

The Requires

 

translations yii2 translation i18n translate-panel