mmelcor/yii2-babelfish

为 Yii2 提供的翻译管理器。

1.1 2017-05-16 21:38 UTC

This package is not auto-updated.

Last update: 2024-09-14 20:04:21 UTC


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 文档。

模块配置

  1. 创建一个新的数据库来存储 babelfish 特定的 RBAC 和用户。

  2. 将 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',
    	],
    ],
  3. 通过在 console/config/main.php 中设置模块和引导它来配置 Init 模块。该模块将用于安装数据库迁移并设置模块的初始超级用户。示例设置

        'bootstrap' => ['log', 'babelfish-init'],
    	'modules' => [
    		'babelfish-init' => 'mmelcor\babelfish\Init',
    	],
  4. frontend/config/main.php 中的模块部分配置 babelfish 模块,如下所示

    'modules' => [
    	'babel' => [
    		'class' => 'mmelcor\babelfish\Module',
    		'cookieValidationKey' => '[CSRF Key]', //you will need to generate a unique validation key.
    	],
    ],

运行控制台命令

配置完成后,运行以下控制台命令

  1. ./yii babelfish-init 这将在 babelfish 用户中创建 RBAC 表和用户表。

  2. ./yii babelfish-init/load-rbac 这将把 RBAC 角色和规则加载到数据库中。

  3. ./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。如果一切安装和配置正确,您应该看到以下屏幕

babelfish login screenshot