en.json 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. {
  2. "app_title": "Palm Oil Ripeness AI",
  3. "total_scans": "Total Scans",
  4. "analyze_gallery_title": "Analyze Gallery",
  5. "analyze_gallery_subtitle": "Detect ripeness from photos",
  6. "snap_analyze_title": "Snap & Analyze",
  7. "snap_analyze_subtitle": "Manual high-res capture",
  8. "live_inference_title": "Live Inference",
  9. "live_inference_subtitle": "Real-time \"Point-and-Scan\"",
  10. "history_vault_title": "History Vault",
  11. "history_vault_subtitle": "View previous detections",
  12. "theme_label": "Theme",
  13. "language_label": "Language",
  14. "settings_label": "Settings",
  15. "theme_light": "Light",
  16. "theme_dark": "Dark",
  17. "theme_system": "System",
  18. "confidence_label": "Confidence: {percent}%",
  19. "health_alert_abnormal": "HEALTH ALERT: Abnormal detected!",
  20. "ai_analyzing": "AI is Analyzing...",
  21. "retry_button": "Retry",
  22. "dismiss_button": "Dismiss",
  23. "error_details_label": "Error Details",
  24. "done_button": "Done",
  25. "analysis_appbar_title": "AI Analysis",
  26. "analysis_init_error": "Failed to initialize AI model: {error}",
  27. "analysis_select_photo_hint": "Select a photo to start AI analysis",
  28. "analysis_pick_button": "Pick Images from Gallery",
  29. "analysis_bunches_detected": "{count} bunches detected",
  30. "analysis_progress_of": "Analyzing image {current} of {total}",
  31. "analysis_progress_stats": "{processed} processed · {skipped} skipped",
  32. "analysis_optimizing_hint": "Optimizing detection parameters",
  33. "analysis_no_detections_batch": "No palm bunches detected in any selected image.",
  34. "camera_permission_denied": "Camera permission denied.",
  35. "no_cameras_found": "No cameras found.",
  36. "camera_init_error": "Camera init error: {error}",
  37. "static_appbar_title": "Capture & Analyze",
  38. "static_no_detections": "No palm bunches detected.",
  39. "static_capture_error": "Error during capture/analysis: {error}",
  40. "result_sheet_title": "Analysis Result",
  41. "label_ripeness": "Ripeness",
  42. "label_confidence": "Confidence",
  43. "health_alert_title": "HEALTH ALERT",
  44. "health_alert_message": "Abnormal features detected. Check palm health.",
  45. "yield_warning_title": "YIELD WARNING",
  46. "yield_warning_message": "Potential Yield Loss due to premature harvest.",
  47. "acknowledge_button": "Acknowledge",
  48. "live_no_detections_snackbar": "No palm bunches detected in final snap.",
  49. "live_state_cooldown": "COOLDOWN",
  50. "live_state_locking": "LOCKING",
  51. "live_state_searching": "SEARCHING...",
  52. "live_resuming_scan": "Resuming scan...",
  53. "live_hold_steady_hint": "Hold steady to lock target",
  54. "cancel_button": "Cancel",
  55. "delete_button": "Delete",
  56. "reset_button": "Reset",
  57. "clear_filters_button": "Clear Filters",
  58. "history_reset_title": "Reset History",
  59. "history_reset_message": "Are you sure you want to clear all analysis records? This action is irreversible.",
  60. "history_cleared_snackbar": "History cleared successfully.",
  61. "history_delete_record_confirm": "Delete this record? This action is irreversible.",
  62. "history_delete_batch_confirm": "Delete this batch of {count} scans? This action is irreversible.",
  63. "filter_sort_title": "Filter & Sort",
  64. "sort_order_label": "Sort Order",
  65. "sort_latest_first": "Latest First",
  66. "sort_oldest_first": "Oldest First",
  67. "date_range_label": "Date Range",
  68. "all_dates_label": "All Dates",
  69. "clear_date_range_tooltip": "Clear date range",
  70. "reset_history_tooltip": "Reset History",
  71. "view_toggle_flat_tooltip": "View All Scans",
  72. "view_toggle_batches_tooltip": "View by Batch",
  73. "history_empty_no_records": "No records found yet.",
  74. "history_empty_no_matches": "No records match the selected filters.",
  75. "ungrouped_scans_label": "Ungrouped Scans",
  76. "batch_scans_label": "Batch • {count} scans",
  77. "majority_label": "Majority: {className}\n{timeRange}",
  78. "record_conf_timestamp": "Conf: {percent}% | {timestamp}",
  79. "class_Ripe": "Ripe",
  80. "class_Unripe": "Unripe",
  81. "class_Underripe": "Underripe",
  82. "class_Overripe": "Overripe",
  83. "class_Abnormal": "Abnormal",
  84. "class_Empty_Bunch": "Empty Bunch",
  85. "na_label": "N/A",
  86. "saving_label": "Saving...",
  87. "ai_result_label": "AI Result",
  88. "added_suffix": " • Added",
  89. "batch_report_title": "Batch Report",
  90. "batch_no_records": "No records found for this batch.",
  91. "kpi_frames": "Frames",
  92. "kpi_total_detections": "Total Detections",
  93. "kpi_avg_confidence": "Avg Confidence",
  94. "kpi_avg_inference": "Avg Inference",
  95. "kpi_start": "Start",
  96. "kpi_end": "End",
  97. "mpob_class_distribution_title": "MPOB Class Distribution",
  98. "batch_corrected_label": "Corrected",
  99. "no_detections_in_batch": "No detections in this batch.",
  100. "frames_corrected_pill": "{count} of {total} frames corrected",
  101. "frames_section_title": "Frames ({count})",
  102. "frame_of_title": "Frame {current} of {total}",
  103. "record_details_title": "Record Details",
  104. "your_correction_label": "Your Correction",
  105. "tap_to_correct_hint": "Tap a bunch on the photo to correct its grade.",
  106. "last_corrected_label": "Last corrected: {timestamp}",
  107. "add_missed_bunch_button": "Add Missed Bunch",
  108. "correction_reset_snackbar": "Correction reset.",
  109. "label_file_name": "File Name",
  110. "label_primary_grade": "Primary Grade",
  111. "label_inference_time": "Inference Time",
  112. "label_timestamp": "Timestamp",
  113. "frame_summary_title": "Frame Summary",
  114. "analytical_breakdown_title": "Analytical Breakdown",
  115. "corrected_breakdown_title": "Corrected Breakdown (tap a bunch above to edit or remove)",
  116. "industrial_summary_text": "Industrial Summary: This image has been verified for harvest quality. All detected bunches are categorized according to ripeness standards.",
  117. "correct_grade_title": "Correct Grade",
  118. "remove_detection_button": "Remove this detection",
  119. "undo_tooltip": "Undo",
  120. "redo_tooltip": "Redo",
  121. "hide_reference_tooltip": "Hide AI reference boxes",
  122. "show_reference_tooltip": "Show AI reference boxes",
  123. "editor_instruction_text": "Tap anywhere a bunch was missed to place a box, then grade it and drag to fit. Existing detections are dimmed for reference.",
  124. "pick_grade_placeholder": "Pick grade",
  125. "editor_tap_to_add_hint": "Tap the photo to add a bunch",
  126. "editor_bunches_added_singular": "{count} bunch added",
  127. "editor_bunches_added_plural": "{count} bunches added",
  128. "manual_title": "User Manual",
  129. "manual_gallery_title": "Analyze Gallery",
  130. "manual_gallery_body": "Pick one or more photos from your gallery to analyze at once. Every photo you select is processed as a single batch — once all photos are done, you'll be taken straight to the Batch Report for that batch, showing every frame's results together.",
  131. "manual_snap_title": "Snap & Analyze",
  132. "manual_snap_body": "Take one photo at a time with the camera's manual shutter. As soon as the photo is analyzed, a result sheet shows the detected grade and confidence immediately — best for checking a single bunch carefully.",
  133. "manual_live_title": "Live Inference",
  134. "manual_live_body": "Point the camera at a bunch and hold steady — the app automatically locks on and captures once it's confident, showing the result right away. This is a quick verification tool only: results are not saved to History Vault. If you want to keep a record, use Snap & Analyze instead.",
  135. "manual_history_title": "History Vault",
  136. "manual_history_body": "Browse every past scan, grouped by batch. Filter by date range, sort latest or oldest first, and swipe left on any entry to delete it. Tap a batch to open its Batch Report, or a single scan to open its Record Details.",
  137. "manual_correction_title": "Correcting AI Results",
  138. "manual_correction_body": "On any photo's detail screen, tap a detected bunch to change its grade or remove it if the AI was wrong — this never edits the AI's original result, it only adds your correction on top, which you can always undo with Reset. If the AI missed a bunch entirely, use \"Add Missed Bunch\" to place, grade, and size a new box for it. Once you've made any correction, the screen defaults to showing \"Your Correction\" instead of the AI's original result.",
  139. "manual_batch_title": "Batch Report",
  140. "manual_batch_body": "Shows a summary for an entire batch of scans: frame count, total detections, average confidence and inference time, and a class-distribution bar. If any photos in the batch have been corrected, a second \"Corrected\" distribution bar appears alongside the AI's own, so you can compare them directly.",
  141. "manual_classes_title": "MPOB Grading Classes",
  142. "manual_class_desc_Ripe": "Ready for harvest — the ideal grade, with the right balance of loose fruit and color for maximum oil yield.",
  143. "manual_class_desc_Unripe": "Too early to harvest — dark, unripe fruit with no loose fruit yet. Leave the bunch to mature further.",
  144. "manual_class_desc_Underripe": "Close to ready, but not quite there — fewer loose fruit than a fully ripe bunch. Consider waiting a few more days.",
  145. "manual_class_desc_Overripe": "Harvested later than ideal — oil quality starts to decline the longer it's left past this point.",
  146. "manual_class_desc_Abnormal": "Shows defects such as pest damage, disease, or poor pollination — flagged separately from normal ripeness grading.",
  147. "manual_class_desc_Empty_Bunch": "Most of the fruit has already detached from the bunch — little to no yield remains."
  148. }