Blame view

vendor/kartik-v/yii2-krajee-base/TranslationTrait.php 1.34 KB
583ea05f   andryeyev   + widget-select2
1
2
3
4
5
6
  <?php
  
  /**
   * @package   yii2-krajee-base
   * @author    Kartik Visweswaran <kartikv2@gmail.com>
   * @copyright Copyright &copy; Kartik Visweswaran, Krajee.com, 2014 - 2015
280e92c2   Dmitryi   авторизация через...
7
   * @version   1.7.8
583ea05f   andryeyev   + widget-select2
8
9
10
11
12
13
14
15
16
   */
  
  namespace kartik\base;
  
  use Yii;
  
  /**
   * Trait for all translations used in Krajee extensions
   *
280e92c2   Dmitryi   авторизация через...
17
18
   * @property array $i18n
   *
583ea05f   andryeyev   + widget-select2
19
   * @author Kartik Visweswaran <kartikv2@gmail.com>
280e92c2   Dmitryi   авторизация через...
20
   * @since 1.7.8
583ea05f   andryeyev   + widget-select2
21
22
23
24
25
26
   */
  trait TranslationTrait
  {
      /**
       * Yii i18n messages configuration for generating translations
       *
280e92c2   Dmitryi   авторизация через...
27
28
29
       * @param string $dir the directory path where translation files will exist
       * @param string $cat the message category
       *
583ea05f   andryeyev   + widget-select2
30
31
       * @return void
       */
280e92c2   Dmitryi   авторизация через...
32
      public function initI18N($dir = '', $cat = '')
583ea05f   andryeyev   + widget-select2
33
      {
280e92c2   Dmitryi   авторизация через...
34
          if (empty($cat) && empty($this->_msgCat)) {
583ea05f   andryeyev   + widget-select2
35
36
              return;
          }
280e92c2   Dmitryi   авторизация через...
37
38
39
          if (empty($cat)) {
              $cat = $this->_msgCat;
          }
583ea05f   andryeyev   + widget-select2
40
41
42
43
          if (empty($dir)) {
              $reflector = new \ReflectionClass(get_class($this));
              $dir = dirname($reflector->getFileName());
          }
280e92c2   Dmitryi   авторизация через...
44
          Yii::setAlias("@{$cat}", $dir);
583ea05f   andryeyev   + widget-select2
45
46
47
          if (empty($this->i18n)) {
              $this->i18n = [
                  'class' => 'yii\i18n\PhpMessageSource',
280e92c2   Dmitryi   авторизация через...
48
                  'basePath' => "@{$cat}/messages",
583ea05f   andryeyev   + widget-select2
49
50
51
                  'forceTranslation' => true
              ];
          }
280e92c2   Dmitryi   авторизация через...
52
          Yii::$app->i18n->translations["{$cat}*"] = $this->i18n;
583ea05f   andryeyev   + widget-select2
53
      }
280e92c2   Dmitryi   авторизация через...
54
  }