maniakalen / yii2-dbtranslate
数据库存储翻译的翻译包
2.1.18
2020-04-26 13:01 UTC
Requires
- php: >=5.4.0
- maniakalen/widgets: >=1.0.0
- yiisoft/yii2: >=2.0.12
README
PHP 数据库翻译引擎
该包也可在 Packagist 上找到:"maniakalen/yii2-dbtranslate"
要在 Yii2 中启用该模块,需要在主配置模块部分定义模块
'translations' => [
'class' => 'maniakalen\i18n\Module'
],
您还需要将模块键添加到引导列表中
'bootstrap' => [..., 'translations'],
然后您需要运行模块迁移
yii migrate/up --migrationPath="@translations/migrations/"
当模块引导时,类别会自动在翻译系统中注册。
在项目中,当您在数据库中有翻译时,可以使用以下方式检索
Yii::t('<category>', '<label>');
例如,管理员界面可以配置为菜单小部件,如下所示
[
'label' => function() { return Yii::t('yii', 'Translations control'); },
'url' => ['/translations/admin/languages'],
'visible' => function() { return Yii::$app->user->can('backend/translations/access'); },
'active' => function(ActionEvent $event) {
return strpos($event->action->getUniqueId(), 'translations/admin') === 0;
},
'items' => [
[
'label' => function() { return Yii::t('yii', 'Languages control'); },
'url' => ['/translations/admin/languages'],
'active' => function(ActionEvent $event) {
return strpos($event->action->getUniqueId(), 'languages') !== false;
},
],
[
'label' => function() { return Yii::t('yii', 'Translations control'); },
'url' => ['/translations/admin/translations'],
'active' => function(ActionEvent $event) {
return strpos($event->action->getUniqueId(), 'admin/translations') !== false;
},
]
]
]
但是,您需要提供执行内联回调方法的功能。例如,我使用一个具有 beforeAction 事件并解析此配置的正确 Menu 配置的类,如 MenuBehavior。
待办事项:包含用于模态确认窗口的模块