webvimark / multilanguage
本包最新版本(1.0.0)没有提供许可证信息。
适用于yii 2的多语言
1.0.0
2016-10-05 16:01 UTC
Requires
This package is auto-updated.
Last update: 2024-08-29 03:55:59 UTC
README
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一
php composer.phar require --prefer-dist webvimark/multilanguage "*"
或
"webvimark/multilanguage": "*"
将以下内容添加到您的 composer.json
文件的 require 部分。
使用方法
创建翻译表(您可以在“data”文件夹中找到表备份)
在你的 params.php
return [ ... 'mlConfig'=>[ 'default_language'=>'ru', 'languages'=>[ 'ru'=>'Русский', 'en'=>'English', ], ], ... ];
在你的模型中
(您还可以在这里定义此模型的语言(不同于params中的语言))
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', ], ], ], ... ]; }
在你的 Base Controller
public function init() { MultiLanguageHelper::catchLanguage(); parent::init(); }
在你的配置文件中
'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>', ], ],
在你的 _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', ]]) ?>