/** * @param $attributes * @param MissingTranslationEvent $event * @return bool */ protected static function saveMessage($attributes, MissingTranslationEvent $event) { /** @var Message $message */ $message = Message::findOne(['language' => $attributes['language'], 'id' => $attributes['id']]); if (!$message) { $message = new Message(); } $message->attributes = $attributes; if ($event->category === 'app' && $attributes['language'] === Language::getDefaultLanguage()->varCode) { $message->translation = $event->message; } elseif ($event->category === 'admin') { $message->translation = self::$autoTranslate ? (new ApiTranslation($message->language))->run($event->message) : $event->message; } return $message->save(); }