mmelcor / yii2-babelfish
为 Yii2 提供的翻译管理器。
README
Yii2 Babelfish 伙伴是一个编辑和更新翻译的门户。
主要特性
- 它使用自己的数据库来处理 RBAC 和用户身份,这些可以在多个 babelfish 实例之间共享,从而可以在一个地方轻松管理多个应用程序的翻译。
- 正确转义标签和特殊语法,因此翻译者不需要知道如何进行。
- 使用 AdminLTE 和 Redactor 提供直观的用户体验
- 旨在与 Yii2 高级模板一起使用
安装
安装此扩展的首选方式是通过 composer。
运行以下命令:
php composer.phar require --prefer-dist mmelcor/yii2-babelfish "*"
或者将以下内容添加到您的 composer.json
文件中的 require 部分:
"mmelcor/yii2-babelfish": "*"
配置
安装扩展后
依赖项配置
按照 oorrwullie\yii2-babelfishfood 的配置说明进行操作。完成后,继续配置剩余的依赖项。
文件系统配置 配置您的文件系统组件。此包默认使用 creocoder\flysystem\AwsS3FileSystem
,因为我们就是这样使用的。您可以使用 trntv/yii2-file-kit 支持的任何一种。以下内容应放置在 common/config/main.php
文件中,或根据您的文件系统进行调整。
'components' => [ 'awss3Fs' => [ 'class' => 'creocoder\flysystem\AwsS3Filesystem', 'key' => '[AWS key]', 'secret' => '[AWS Secret]', 'region' => '[region]', 'bucket' => '[bucket name]', 'prefix' => '[prefix folder path]', 'baseUrl' => '[S3 base url path]' ], '...', ],
有关更多信息或选项,请参阅 creocoder\Flysystem。您可以使用他们支持的任何其他文件系统选项。
配置 babelFileStorage
,也将以下内容放置在 common/config/main.php
中。文件存储步骤是必需的,因为它是存储上传文件的路径,使用文件系统。文件存储是必需的,以支持上传用户的头像和潜在的将来功能。
'components' => [ '...', 'babelFileStorage' => [ //this must be the component name, as it is being used in the module. 'class' => 'trntv\filekit\Storage', 'filesystemComponent' => 'awss3Fs', //or whichever file system you are using. 'baseUrl' => '[Your base url path]' ], '...', ],
如果遇到问题,请参阅 trntv/yii2-file-kit 文档。
模块配置
-
创建一个新的数据库来存储 babelfish 特定的 RBAC 和用户。
-
将 babelfishDb 添加到
common/config/main-local.php
。该组件 必须 被命名为babelfishDb
,因为模块将查找该组件。'components' => [ '. . .', 'babelfishDb' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=[database name], 'username' => '[username]', 'password' => '[password]', 'charset' => 'utf8', ], ],
-
通过在
console/config/main.php
中设置模块和引导它来配置 Init 模块。该模块将用于安装数据库迁移并设置模块的初始超级用户。示例设置'bootstrap' => ['log', 'babelfish-init'], 'modules' => [ 'babelfish-init' => 'mmelcor\babelfish\Init', ],
-
在
frontend/config/main.php
中的模块部分配置 babelfish 模块,如下所示'modules' => [ 'babel' => [ 'class' => 'mmelcor\babelfish\Module', 'cookieValidationKey' => '[CSRF Key]', //you will need to generate a unique validation key. ], ],
运行控制台命令
配置完成后,运行以下控制台命令
-
./yii babelfish-init
这将在 babelfish 用户中创建 RBAC 表和用户表。 -
./yii babelfish-init/load-rbac
这将把 RBAC 角色和规则加载到数据库中。 -
./yii babelfish-init/signup
这将为管理创建初始超级用户。
添加翻译钩子
将以下必要的 babelfish 翻译钩子添加到 common/config/main.php
的 i18n 部分
'i18n' => [ 'translations' => [ '. . .', 'base*' => [ 'class' => 'yii\i18n\GettextMessageSource', 'useMoFile' => false, 'basePath' => '@common/messages', ], 'babelfish*' => [ 'class' => 'yii\i18n\GettextMessageSource', 'useMoFile' => false, 'basePath' => '@common/messages', ], ], ],
实现
完成所有这些后,您应该可以导航到您的域名的 /babel
。如果一切安装和配置正确,您应该看到以下屏幕