public function publish(LanguageListener $listener, $type)
    {
        try {
            $languages = Languages::all();
            foreach ($languages as $language) {
                $this->publisher->publish($language);
            }
            return $listener->publishSucceed($type);
        } catch (Exception $e) {
            Log::warning($e);
            return $listener->publishFailed($type, $e->getMessage());
        }
    }