public function bootstrap($app)
 {
     $app->on(Application::EVENT_BEFORE_REQUEST, function () {
         Yii::$container->set('neverseen\\multilingual\\MultilingualBehavior', ['languages' => Languages::getCodeNamePairs(), 'languageTableName' => Languages::tableName(), 'languageField' => 'iso639', 'localizedPrefix' => '', 'requireTranslations' => false, 'dynamicLangClass' => true, 'abridge' => false, 'defaultLanguage' => 'en-US']);
     });
 }
 /**
  * @param $records
  * @return array
  */
 protected function indexByLanguage($records)
 {
     $sorted = array();
     foreach ($records as $record) {
         $language = Languages::getById($record->languages_id)->{$this->languageField};
         $sorted[$language] = $record;
     }
     unset($records);
     return $sorted;
 }
 public function count($q = '*', $db = null)
 {
     $this->joinWith('translation')->andWhere(['languages_id' => Languages::getId()]);
     return parent::count($q, $db);
 }