array_intersect_key($activity, array_flip(self::FIELDS))]; } $result = []; foreach (self::LANGUAGES as $lang) { foreach (self::FIELDS as $field) $result[$lang][$field] = (string) ($stored[$lang][$field] ?? ''); } return $result; } public static function select(array $activity, string $lang): ?array { $text = self::all($activity)[$lang] ?? null; if (!$text || trim($text['title']) === '') return null; return ['lang' => $lang, 'title' => $text['title'], 'content' => $text['content'] === '' ? null : $text['content']]; } }