__('Ohne generative KI erstellt'), self::Assisted => __('Mit KI als Formulierungshilfe erstellt und redaktionell überarbeitet'), self::MostlyAi => __('Überwiegend mit generativer KI erstellt und anschließend geprüft'), self::FullyAi => __('Vollständig KI-generiert (ohne wesentliche menschliche Bearbeitung)'), }; } /** * Öffentliches Label in Einreicher-Stimme — null, wenn kein Pflicht-Label * fällig ist ("Ohne KI" wird bewusst nicht als Portal-Aussage zertifiziert, * die Formulierungshilfe entspricht dem Entlastungsfall). */ public function publicLabel(): ?string { return match ($this) { self::None, self::Assisted => null, self::MostlyAi => __('Nach Angaben des einreichenden Unternehmens wurde diese Pressemitteilung überwiegend mit generativer KI erstellt.'), self::FullyAi => __('Nach Angaben des einreichenden Unternehmens wurde diese Pressemitteilung vollständig mit generativer KI erstellt.'), }; } /** * Optionsliste für Radios/Selects: value => label. * * @return array */ public static function options(): array { $options = []; foreach (self::cases() as $case) { $options[$case->value] = $case->label(); } return $options; } /** * @return list */ public static function values(): array { return array_column(self::cases(), 'value'); } }