jakharbek / yii2-langs
语言
3.0
2019-01-31 08:36 UTC
Requires
- yiisoft/yii2: ~2.0.0
This package is not auto-updated.
Last update: 2024-09-20 20:47:26 UTC
README
语言
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一
php composer.phar require --prefer-dist jakharbek/yii2-langs "*"
或将以下内容添加到您的 composer.json 文件的 require 部分。
"jakharbek/yii2-langs": "*"
使用方法
在此处执行迁移
yii migrate --migrationPath=@vendor/jakharbek/yii2-langs/src/migrations
在后台部分添加此代码
'on beforeAction' => function () {
jakharbek\langs\components\Lang::onRequestHandler();
},
扩展安装完成后,只需在您的代码中使用它即可
您需要在模型(数据库中的表)中为翻译创建字段 [[lang]] 和字段 [[lang_hash]],然后将行为添加到模型 ActiveRecord
jakharbek\langs\components\ModelBehavior
示例
'lang' => [
'class' => ModelBehavior::className(),
],
视图
要在页面上使用已翻译的内容,您需要引入 小部件
\jakharbek\langs\widgets\LangsWidgets::widget();
此小部件有两种工作模式:单模式和多种模式。 当您指定要翻译的模型属性时
\jakharbek\langs\widgets\LangsWidgets::widget(['model_db' => $model,'create_url' => '/url/to/create/']);
则它是孤立的,如果您没有指定 model_db,则它将在多种模式下工作
如果需要考虑请求中的当前语言,则可以使用行为
\jakharbek\langs\components\QueryBehavior
应用行为后,您现在可以像以下示例一样使用它
YourModel::find()->lang()->...