maniakalen/yii2-dbtranslate

数据库存储翻译的翻译包

2.1.18 2020-04-26 13:01 UTC

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。

待办事项:包含用于模态确认窗口的模块