'backend.layout:localize.wizard.button.copy', self::TRANSLATE => 'backend.layout:localize.wizard.button.translate', }; } /** * Get the description for this mode */ public function getDescription(): string { return match ($this) { self::COPY => 'backend.layout:localize.educate.copy', self::TRANSLATE => 'backend.layout:localize.educate.translate', }; } /** * Get the icon identifier for this mode */ public function getIconIdentifier(): string { return match ($this) { self::COPY => 'actions-edit-copy', self::TRANSLATE => 'actions-localize', }; } /** * Get the priority of this mode (higher number = higher priority) */ public function getPriority(): int { return match ($this) { self::COPY => 10, self::TRANSLATE => 20, }; } /** * Get the DataHandler command for this mode */ public function getDataHandlerCommand(): string { return match ($this) { self::COPY => 'copyToLanguage', self::TRANSLATE => 'localize', }; } /** * Export mode data for JSON serialization (for API responses) */ public function jsonSerialize(): array { return [ 'key' => $this->value, 'label' => $this->getLabel(), 'description' => $this->getDescription(), 'iconIdentifier' => $this->getIconIdentifier(), ]; } }