cinghie / yii2-dictionary
Yii2 Dictionary 用于在 Yii2 网站中创建、管理和删除多语言字典。
0.3.1
2019-05-09 13:43 UTC
Requires
- ext-zip: *
- cinghie/yii2-traits: @dev
- rodneyrehm/plist: @dev
- yiisoft/yii2: ~2.0.14
This package is auto-updated.
Last update: 2024-09-08 12:02:07 UTC
README
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'] ?: ''