public function translate($query, $target, $source = null, $economic = false, $plainText = false)
    {
        if (!is_array($query)) {
            return $this->handle($query, $target, $source, $plainText);
        }

        if ($economic) {
            $results = $this->handle(implode(self::ECONOMIC_DELIMITER, $query), $target, $source, $plainText);
            $results = explode(self::ECONOMIC_DELIMITER, $results);

            return array_map('trim', $results);
        }

        $results = [];

        foreach ($query as $item) {
            $results[] = $this->handle($item, $target, $source, $plainText);
        }

        return $results;
    }