cinghie/yii2-dictionary

Yii2 Dictionary 用于在 Yii2 网站中创建、管理和删除多语言字典。

安装: 217

依赖关系: 0

建议者: 0

安全: 0

星标: 1

关注者: 3

分支: 1

开放问题: 3

类型:yii2-extension

0.3.1 2019-05-09 13:43 UTC

This package is auto-updated.

Last update: 2024-09-08 12:02:07 UTC


README

License Latest Stable Version Latest Release Date Latest Commit Total Downloads

Yii2 Dictionary 用于在 Yii2 网站中创建、管理和删除多语言字典。

特性

  • 创建键/值字典:对于每个键,都可以将其与配置中设置的每种语言相关联的翻译关联起来
  • 从 CSV 导入
  • 作为 Plist 下载

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一

$ php composer.phar require cinghie/yii2-dictionary "*"

或添加

"cinghie/yii2-dictionary": "*"

创建数据库模式

运行以下命令

$ php yii migrate/up --migrationPath=@vendor/cinghie/yii2-dictionary/migrations

配置

在你的配置中设置

// Yii2 Dictionary
'dictionary' => [
	'class' => 'cinghie\dictionary\Dictionary',
	'dictionaryRoles' => ['admin'];
	'languages' => [
		'it-IT' => 'it-IT',
		'en-GB' => 'en-GB',
		'es-ES' => 'es-ES',
		'fr-FR' => 'fr-FR',
		'de-DE' => 'de-DE',
		'ch-CN' => 'ch-CN',
		'pr-PR' => 'pr-PR',
		'ru-RU' => 'ru-RU',
	],
	'showPlistDownload' => true,
	'showTitles' => false,
	'plistFolderPath' => '@webroot/dictionary/plist/';
	'uploadFolderPath' => '@webroot/dictionary/csv/'
	'uploadMaxFileSize' => 5242880
],

在标签模式下设置所有语言

过滤器

如果你有 Yii2 App Advanced(前端/后端)应用,可以排除前端动作

'modules' => [ 
	
	'dictionary' => [ 
		'class' => 'cinghie\dictionary\Dictionary',
		'as frontend' => 'cinghie\dictionary\filters\FrontendFilter',
	]
	
],

覆盖

在模块配置中覆盖控制器示例

'modules' => [ 
	
	'dictionary' => [ 
		'class' => 'cinghie\dictionary\Dictionary',
		'controllerMap' => [
			'keys' => 'app\controllers\KeysController',
		]
	]
	
],

在模块配置中覆盖模型示例

'modules' => [ 
	
	'dictionary' => [ 
		'class' => 'cinghie\dictionary\Dictionary',
		'modelMap' => [
			'Keys' => 'app\models\Keys'
		]
	]
	
],

在组件配置中覆盖视图示例

'components' => [ 

	'view' => [
		'theme' => [
			'pathMap' => [
				'@cinghie/dictionary/views/keys' => '@app/views/dictionary/keys',
			],
		],
	],
	
],

获取翻译值

use cinghie\dictionary\models\Keys;

$dictionary = new Keys();

$key   = $dictionary::findOne(KeyID);
$value = $key->getTranslation(LangTag)->attributes['value'] ?: ''