webvimark / multilanguage
There is no license information available for the latest version (1.0.0) of this package.
Multilanguage for for yii 2
1.0.0
2016-10-05 16:01 UTC
Requires
This package is auto-updated.
Last update: 2024-10-29 04:30:55 UTC
README
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist webvimark/multilanguage "*"
or add
"webvimark/multilanguage": "*"
to the require section of your composer.json
file.
Usage
Create table for translations (you can find table dumps in folder "data")
In you params.php
return [ ... 'mlConfig'=>[ 'default_language'=>'ru', 'languages'=>[ 'ru'=>'Русский', 'en'=>'English', ], ], ... ];
In your model
( You also can change languages for this model (different from te ones in params) by defining them here )
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
public function init() { MultiLanguageHelper::catchLanguage(); parent::init(); }
In your config file
'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
<?= $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', ]]) ?>