messageAr property

String get messageAr

Formatted Arabic explanation for display in UI dialogs / bottom sheets.

Implementation

String get messageAr {
  if (errorType == ErrorCategory.tajweed) {
    final ruleName = expectedRule?.name.ar ?? 'حكم التجويد';
    if (durationStatus == TajweedDurationStatus.underheld) {
      if (actualDuration != null && expectedDuration != null) {
        return 'نقص في $ruleName: قمت بمد الصوت ${actualDuration!.toStringAsFixed(2)}ث، والمطلوب ${expectedDuration!.toStringAsFixed(2)}ث';
      }
      return 'نقص في $ruleName: تم حبس الصوت بأقل من الزمن المطلوب';
    } else if (durationStatus == TajweedDurationStatus.overheld) {
      if (actualDuration != null && expectedDuration != null) {
        return 'زيادة في $ruleName: قمت بمد الصوت ${actualDuration!.toStringAsFixed(2)}ث، المسموح ${expectedDuration!.toStringAsFixed(2)}ث';
      }
      return 'زيادة في $ruleName: تم مد الصوت ';
    }
    return 'خطأ في تطبيق $ruleName';
  } else if (errorType == ErrorCategory.tashkeel) {
    return 'خطأ في التشكيل: المتوقع ($expectedPh) ونُطِق ($predictedPh)';
  } else {
    if (speechErrorType == SpeechErrorType.delete) {
      return 'إسقاط حرف: لم يتم نطق ($expectedPh)';
    }
    return 'خطأ في نطق الحرف: المتوقع ($expectedPh) ونُطِق ($predictedPh)';
  }
}