/**
  * @return ActiveQuery
  * @throws \yii\base\InvalidConfigException
  */
 public static function find()
 {
     /** @var ActiveQuery $query */
     $query = Yii::createObject(ActiveQuery::className(), [get_called_class()]);
     $query = $query->innerJoinWith(['defaultTranslation']);
     /** @var ActiveRecord|MultilingualActiveRecord $modelInstance */
     if (method_exists(get_called_class(), 'applyDefaultScope')) {
         $query = call_user_func([get_called_class(), 'applyDefaultScope'], $query);
     } else {
         $modelInstance = new self();
         if ($modelInstance->translationPublishedAttribute !== false) {
             /** @var ActiveRecord $translationModelClassName */
             $translationModelClassName = $modelInstance->getTranslationModelClassName();
             $tableName = $translationModelClassName::tableName();
             // add condition on
             $where = ["{$tableName}.{$modelInstance->translationPublishedAttribute}" => $modelInstance->translationPublishedAttributeValue];
             unset($modelInstance);
             $query = $query->where($where);
         }
     }
     return $query;
 }