characterCount($message); if ($length === 0) { return 0; } if ($this->isGsm7($message)) { if ($length <= self::GSM_SINGLE_LIMIT) { return 1; } return (int) ceil($length / self::GSM_MULTI_LIMIT); } if ($length <= self::UCS2_SINGLE_LIMIT) { return 1; } return (int) ceil($length / self::UCS2_MULTI_LIMIT); } public function summary(string $message): string { $characters = $this->characterCount($message); $parts = $this->estimatedParts($message); if ($parts === 0) { return __('filament.sms_analyzer.zero_characters'); } $smsLabel = $parts === 1 ? __('filament.sms_analyzer.one_sms') : __('filament.sms_analyzer.multiple_sms', ['count' => $parts]); return __('filament.sms_analyzer.characters_sms', [ 'characters' => $characters, 'sms' => $smsLabel, ]); } }