定制 jc-it/yii2-i18n-model 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jc-it/yii2-i18n-model

最新稳定版本:v1.0.2

Composer 安装命令:

composer require jc-it/yii2-i18n-model

包简介

Helpers to work with model translations.

README 文档

README

codecov Continous integration Packagist Total Downloads Packagist Monthly Downloads GitHub tag (latest by date) Packagist Version

This extension provides a package that implements some traits and behaviors to work with model attribute translations.

$ composer require jc-it/yii2-i18n-model

or add

"jc-it/yii2-i18n-model": "^<latest version>"

to the require section of your composer.json file.

Configuration

Active Record model

Add behavior to you AR model and make sure it has an i18n attribute:

public function behaviors(): array
{
    return [
        \JCIT\i18n\behaviors\I18nBehavior::class => [
            'class' => \JCIT\i18n\behaviors\I18nBehavior::class,
            'attributes' => [
                '<attribute>',
            ],       
        ]       
    ]; 
}

In the rules, just define the rules as you would normally do:

public function rules(): array
{
    return [
        [['<attribute>'], \yii\validators\RequiredValidator::class],
        [['<attribute>'], \yii\validators\StringValidator::class],
    ]; 
}

In order to set properties or save it first set the locale and then save:

$model = new ClassWithI18nBehavior();
$model->locale = 'en-US';
$model-><attribute> = 'value en';
$model->save();

$model->locale = 'nl-NL';
$model-><attribute> = 'value nl';
$model->save();

Fetching values is done automatically to the locale set to the model:

$model = ClassWithI18nBehavior::findOne();
$model->locale = 'en-US';
echo $model-><attribute>; // 'value en'

$model->locale = 'nl-NL';
echo $model-><attribute>; // 'value nl'

Form model

Add the trait to the form model:

class FormModel extends \yii\base\Model
{
    use \JCIT\i18n\traits\models\I18nTrait;
}

On rendering the form attributes, the attribute name should be like: i18n[<locale>][<attribute>].

TODO

  • Fix PHPStan, re-add to captainhook.json
    • {
          "action": "vendor/bin/phpstan",
          "options": [],
          "conditions": []
      },
      
  • Add tests

Credits

License

The MIT License (MIT). Please see LICENSE for more information.

统计信息

  • 总下载量: 10
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-01-25

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固