humanized/yii2-translation

Yii2 module which provides functionality to deal with translation in a sane way.

dev-master 2016-10-24 12:14 UTC

This package is not auto-updated.

Last update: 2024-11-05 20:46:17 UTC


README

Yii2

Provides various interfaces to deal with routine tasks dealing with site translation management.

Features

Yii2 Site Translation Module

Provides interfaces to deal with:

  • Enable/disable application languages using database storage (GUI,CLI)
  • Set default application language using database storage (GUI,CLI)

Provides various flexible language selection widgets:

  • Inline List
  • Bootstrap Dropdown Button
  • Bootstrap Dropdown List

Dependencies

This package relies on following dependecies:

  • Codemix Yii2 Locale Urls version 1.3.0.
  • Humanized PHP Locale helpers dev:master

Installation

Install Using Composer

The preferred way to install this extension is through composer.

Either run

$ php composer.phar require humanized/yii2-translation "*"

or add

"humanized/yii2-translation": "*"

to the require section of your composer.json file.

Run Migrations

$ php yii migrate/up --migrationPath=@vendor/humanized/yii2-translation/migrations

Edit Configuration File

Add following lines to the configuration file:

'modules' => [
    'translation' => [
        'class' => 'humanized\translation\Module',
    ],
],

Adding these lines allows access to the various interfaces provided by the module. Here, the chosen module-name is translation, as such the various routes will be available at translation/controller-id/action-id, though any module-name can be chosen.

This package contains an urlManager component which extends the urlManager component provided by the Codemix Yii2-LocaleUrls package. Here setup of the default application language and population of the enabled website languages are handled automatically. Other configuration options are inherited between components.

'components' => [
..
        // Languages enabled populated through database storage
        // Further configuration options available at https://github.com/codemix/yii2-localeurls 
        'urlManager' => [
            'class' => 'humanized\translation\components\UrlManager',
            'enablePrettyUrl' => true, 
            'showScriptName' => false,
        ],
..
],

Getting Started

Once configured, one or multiple languages should be enabled using the various interfaces provided by the module. To get up-and-running quickly, an example is given to enable some languages using the CLI provided by the package:

$ php yii translation/language/enable en
$ php yii translation/language/enable fr
$ php yii translation/language/enable nl
$ php yii translation/language/set-default en 

Above mentioned lines enables the English, French and Dutch language ands sets English as the default language

For full instructions on how to use the fully-configured module, check the USAGE-file.