获取需要使用Yii2 DbMessageSource翻译的所有文本的列表

时间:2017-06-17 16:46:19

标签: php yii2 internationalization

我正在使用Yii2来处理需要翻译成各种语言的项目。我正在使用高级模板并设置我的common / main.php,如此

return [
    'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
    'language' => 'en',
    'sourceLanguage' => 'en',
    'components' => [
        'i18n' => [
            'translations' => [
                'app' => [
                    'class' => 'yii\i18n\DbMessageSource',
                    'sourceLanguage' => 'en',
                ],
            ],
        ],
        'cache' => [
            'class' => 'yii\caching\FileCache',
        ],
    ],
    'as beforeRequest' => [
        'class' => 'common\components\CheckLanguage',
    ],
];

我添加了所需的数据库表source_message和消息。现在我需要翻译的网站中的每个文本都使用Yii :: t($ category,$ message)函数。

我的问题是;如何获取我的网站中需要翻译成数据库的所有文本列表?我是否必须手动扫描我的网站以查找所有Yii :: t($ category,$ message)函数调用?

提前感谢您的时间和意见

1 个答案:

答案 0 :(得分:2)

为此扫描功能提供了控制台命令。

./yii message

请参阅Guide

中的文档

为扫描仪生成配置文件:

./yii message/config-template your/path/to/saving/config.php

根据您的需要调整新创建的config.php

运行命令:

./yii message path/to/config.php