kuzmiand / multilanguage
该包的最新版本(dev-master)没有提供许可信息。
为 yii 2 服务的多语言
dev-master
2015-11-02 15:46 UTC
Requires
This package is not auto-updated.
Last update: 2024-09-14 17:48:28 UTC
README
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一
php composer.phar require --prefer-dist kuzmiand/multilanguage "*"
或者
"kuzmiand/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', ]]) ?>