public function translation($locale = null)
    {
        if (!$this->has('id') || !$this->has('content_type_slug')) {
            throw new FatalErrorException(__d('content', "Missing properties 'id' or 'content_type_slug', make sure to include them using Query::select()."));
        }

        if ($locale === null) {
            $locale = I18n::locale();
        }

        return TableRegistry::get('Content.Contents')
            ->find()
            ->select(['id', 'slug', 'content_type_slug', 'language'])
            ->where([
                'translation_for' => $this->id,
                'language' => $locale,
                'status' => 1,
            ])
            ->first();
    }