2017 © Pedro Peláez
 

library multilanguage

Multilanguage for for yii 2

image

webvimark/multilanguage

Multilanguage for for yii 2

  • Wednesday, October 5, 2016
  • by webvimark
  • Repository
  • 1 Watchers
  • 5 Stars
  • 241 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 4 Forks
  • 1 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Mulitilanguage behavior for Yii 2

Installation

The preferred way to install this extension is through composer., (*1)

Either run, (*2)

php composer.phar require --prefer-dist webvimark/multilanguage "*"

or add, (*3)

"webvimark/multilanguage": "*"

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

Usage

Create table for translations (you can find table dumps in folder "data"), (*5)

In you params.php, (*6)


return [ ... 'mlConfig'=>[ 'default_language'=>'ru', 'languages'=>[ 'ru'=>'Русский', 'en'=>'English', ], ], ... ];

In your model, (*7)

( You also can change languages for this model (different from te ones in params) by defining them here ), (*8)


class Page extends ActiveRecord { use MultiLanguageTrait; /** * @inheritdoc */ public function behaviors() { return [ ... 'mlBehavior'=>[ 'class' => MultiLanguageBehavior::className(), 'mlConfig' => [ 'db_table' => 'translations_with_string', 'attributes' => ['name'], 'admin_routes' => [ 'content/page/update', 'content/page/index', ], ], ], ... ]; }

In your Base Controller, (*9)


public function init() { MultiLanguageHelper::catchLanguage(); parent::init(); }

In your config file, (*10)


'urlManager' => [ 'class'=>MultiLanguageUrlManager::className(), 'enablePrettyUrl' => true, 'showScriptName'=>false, 'rules'=>[ '<_c:[\w \-]+>/<id:\d+>'=>'<_c>/view', '<_c:[\w \-]+>/<_a:[\w \-]+>/<id:\d+>'=>'<_c>/<_a>', '<_c:[\w \-]+>/<_a:[\w \-]+>'=>'<_c>/<_a>', '<_m:[\w \-]+>/<_c:[\w \-]+>/<_a:[\w \-]+>'=>'<_m>/<_c>/<_a>', '<_m:[\w \-]+>/<_c:[\w \-]+>/<_a:[\w \-]+>/<id:\d+>'=>'<_m>/<_c>/<_a>', ], ],

In your _form.php, (*11)


= $form->field($model, 'name') ->textInput(['maxlength' => 255]) ->widget(MultiLanguageActiveField::className()) ?> = $form->field($model, 'name')->textarea(['maxlength' => 255, 'rows'=>3]) ->widget(MultiLanguageActiveField::className(), ['inputType'=>'textArea', 'inputOptions'=>[ 'rows'=>3, 'class'=>'form-control', ]]) ?>

The Versions

05/10 2016

dev-master

9999999-dev

Multilanguage for for yii 2

  Sources   Download

The Requires

 

05/10 2016

1.0.0

1.0.0.0

Multilanguage for for yii 2

  Sources   Download

The Requires