@@ -36,12 +36,33 @@ public function calculate(TextStatistics $stats, Language $language): FormulaRes
3636 languageCode: $ language ->code ,
3737 score: \round ($ score , 1 ),
3838 gradeLevel: \min (\max (\round ($ score , 1 ), 0.0 ), 18.0 ),
39- interpretation: '' ,
39+ interpretation: $ this -> interpret ( $ score ) ,
4040 gradeLabel: null ,
4141 inputs: [
4242 'polysyllableCount ' => $ stats ->polysyllableCount ,
4343 'sentenceCount ' => $ stats ->sentenceCount ,
4444 ],
4545 );
4646 }
47+
48+ private function interpret (float $ score ): string
49+ {
50+ return match (true ) {
51+ $ score <= 1.0 => 'Kindergarten ' ,
52+ $ score <= 2.0 => '1st Grade ' ,
53+ $ score <= 3.0 => '2nd Grade ' ,
54+ $ score <= 4.0 => '3rd Grade ' ,
55+ $ score <= 5.0 => '4th Grade ' ,
56+ $ score <= 6.0 => '5th Grade ' ,
57+ $ score <= 7.0 => '6th Grade ' ,
58+ $ score <= 8.0 => '7th Grade ' ,
59+ $ score <= 9.0 => '8th Grade ' ,
60+ $ score <= 10.0 => '9th Grade ' ,
61+ $ score <= 11.0 => '10th Grade ' ,
62+ $ score <= 12.0 => '11th Grade ' ,
63+ $ score <= 13.0 => '12th Grade ' ,
64+ $ score <= 16.0 => 'College ' ,
65+ default => 'Graduate ' ,
66+ };
67+ }
4768}
0 commit comments