{
    "resell.stock_empty": "⚠️ Stock sold out, no items available",
    "resell.quota_overflow": "⚠️ Quota overflow alert\nRemaining quota will exceed the limit tomorrow. Recommend buying %d items.\nSuggested purchase: Row %d, Col %d (Highest profit: %d)",
    "resell.auto_buy_disabled": "💡 Auto buy/sell disabled\nSuggested purchase: Row %d, Col %d (Profit: %d)",
    "resell.below_min_profit": "💡 No items meet minimum profit. Suggest saving quota for tomorrow.\nSuggested purchase: Row %d, Col %d (Profit: %d)",

    "visitfriends.friend_missing": "Friend is missing: %s",
    "visitfriends.clue_exchange": "Clue Exchange",
    "visitfriends.control_nexus_assist": "Control Nexus Assist",
    "visitfriends.mfg_cabin_assist": "MFG Cabin Assist",
    "visitfriends.growth_chamber_assist": "Growth Chamber Assist",
    "visitfriends.found_target": "Target friend found",
    "visitfriends.found_target_with": "Target friend found, can %s",
    "visitfriends.can_clue_exchange": "exchange clues",
    "visitfriends.can_control_nexus": "assist Control Nexus",
    "visitfriends.can_mfg_cabin": "assist MFG Cabin",
    "visitfriends.can_growth_chamber": "assist Growth Chamber",
    "visitfriends.current_counts": "Assist count: %d, Clue exchange count: %d",

    "autostockpile.recognition_done": "Recognition complete, %d items found",
    "autostockpile.no_qualifying_product": "No qualifying items found (%s)",
    "autostockpile.hit_but_skip": "Item matched but not purchasing (%s)",
    "autostockpile.product_selected": "[%s] %s (Price %d, Threshold %d, Qty %s)",
    "autostockpile.reconcile_price_corrected": "Detected price recognition error (%d -> %d), reselecting",
    "autostockpile.reconcile_decision_unchanged": "Decision unchanged, continuing",
    "autostockpile.recognition_early_end": "Recognition ended early",
    "autostockpile.hit_skip_purchase": "Item matched but purchase skipped",
    "autostockpile.warning_skip.text": "⚠️%s (%s)",
    "autostockpile.abort_info": "%s (%s)",
    "autostockpile.fatal_error.text": "🚨 Critical error, task stopped (%s)",
    "autostockpile.mode_low_price": "Low Price Buy",
    "autostockpile.mode_sunday_clear": "Sunday Clearance",
    "autostockpile.mode_overflow": "Anti-overflow",
    "autostockpile.no_goods_recognized": "No goods recognized",
    "autostockpile.no_qualifying_goods": "No qualifying goods",
    "autostockpile.quantity_all": "All",

    "autostockpile.qty_reserve_disabled": "Dispatch ticket reserve disabled",
    "autostockpile.qty_reserve_zero": "Available quantity is 0 after dispatch ticket reserve",
    "autostockpile.qty_reserve_allows_all": "Dispatch ticket reserve allows full purchase",
    "autostockpile.qty_reserve_limited": "Dispatch ticket reserve limits purchase quantity",
    "autostockpile.qty_overflow_invalid": "Anti-overflow target quantity invalid",
    "autostockpile.qty_overflow_buy": "Buying anti-overflow quantity",
    "autostockpile.qty_overflow_reserve_zero": "Anti-overflow quantity is 0 after dispatch ticket reserve",
    "autostockpile.qty_overflow_reserve_limited": "Dispatch ticket reserve limits anti-overflow quantity",

    "autostockpile.abort.GoodsOCRUnavailableWarn": "Goods OCR unavailable",
    "autostockpile.abort.GoodsTierInvalidFatal": "Goods tier invalid",
    "autostockpile.abort.None": "None",
    "autostockpile.abort.InsufficientFundsSkip": "Insufficient funds",
    "autostockpile.abort.QuotaZeroSkip": "Remaining purchase quota is 0",
    "autostockpile.abort.QuotaUnavailableWarn": "Quota OCR unavailable",
    "autostockpile.abort.RegionResolveFailedFatal": "Cannot determine current outpost region",
    "autostockpile.abort.SelectionConfigInvalidFatal": "Purchase config read failed",
    "autostockpile.abort.StockBillUnavailableWarn": "Dispatch ticket recognition failed",
    "autostockpile.abort.ThresholdConfigInvalidFatal": "Price threshold config invalid, check config, do not enter 0 or leave blank",

    "batchaddfriends.uid_sent": "UID %s: Friend request sent (%d/%d)",
    "batchaddfriends.strangers_progress": "Add friends progress [%d/%d]",

    "autoecofarm.invalid_params": "Invalid parameters",
    "autoecofarm.no_results": "No results recognized",

    "essencefilter.no_locked": "No target essences locked this run.",
    "essencefilter.loot_summary.title": "Loot Summary:",
    "essencefilter.loot_summary.weapon_col": "Weapon",
    "essencefilter.loot_summary.skill_combo_col": "Skill Combo",
    "essencefilter.loot_summary.lock_count_col": "Locked",
    "essencefilter.plan_recommend.title": "Pre-inscription Plan (%d unmet demands):",
    "essencefilter.plan_recommend.no_weapons": "(None)",
    "essencefilter.plan_card.title": "Plan %d",
    "essencefilter.plan_card.line1": "Base Attr: %s | Select %s: %s",
    "essencefilter.plan_card.line2": "Meets <b>%d</b> demands / Matches <b>%d</b> target weapons",
    "essencefilter.plan_card.line3": "Demands met: ",
    "essencefilter.plan_card.line4": "Weapons matched: ",
    "essencefilter.plan_card.no_weapons": "(None)",
    "essencefilter.no_weapons_list": "(None)",
    "essencefilter.no_weapon_target": "No weapon target selected. Skipping pre-inscription plan.",
    "essencefilter.all_graduated": "All target weapons matched this run. No pre-inscription plan needed.",
    "essencefilter.slot_fixed_label_2": "Bonus Attr",
    "essencefilter.slot_fixed_label_3": "Skill Attr",
    "essencefilter.rarity_join_2": "%d and %d",
    "essencefilter.rarity_join_3": "%d, %d and %d",
    "essencefilter.rarity_join_4": "%d, %d, %d and %d",
    "essencefilter.matched_weapons.label": "Matched weapons: ",
    "essencefilter.ext_rule_lock.text": "🔒 Extension rule hit and locked: %s",
    "essencefilter.ext_rule_noop.text": "🗂️ Extension rule hit (no action): %s",
    "essencefilter.no_match_discard.text": "🗑️ No target skill combination matched, discarded",
    "essencefilter.data_version_notice.text": "Current data date: %s (check if updated)",
    "essencefilter.inventory_count.before_count": "There are ",
    "essencefilter.inventory_count.after_count": " essences in inventory.",
    "essencefilter.reason.exact.no_weapons": "Exact match",
    "essencefilter.reason.exact.with_weapons": "Exact match: %s",
    "essencefilter.reason.no_match": "No match",
    "essencefilter.reason.future_promising": "Future-promising: total level %d ≥ %d",
    "essencefilter.reason.slot3_practical": "Practical: slot 3 (%s) level %d ≥ %d",
    "essencefilter.focus.ocr_skills": "OCR skills: %s(+%d) | %s(+%d) | %s(+%d)",
    "essencefilter.focus.no_match_skip": "No target skill combination matched, skip this item",
    "essencefilter.focus.error.no_run_state": "EssenceFilter run state is missing. Re-initialize and try again.",
    "essencefilter.focus.error.load_engine_failed": "EssenceFilter initialization failed: %s",
    "essencefilter.focus.error.match_failed": "EssenceFilter match failed: %s",
    "essencefilter.focus.error.no_match_engine": "Match engine is not ready. Please initialize first.",
    "essencefilter.focus.init.data_loaded": "Weapon data loaded.",
    "essencefilter.focus.init.no_essence_type": "No essence type selected. Please choose at least one as a filter condition.",
    "essencefilter.focus.init.no_weapon_rarity": "No weapon rarity selected. Extension rules only.",
    "essencefilter.focus.init.selected_rarity": "Selected rarities: %s",
    "essencefilter.focus.init.selected_essence": "Selected essence types: %s",
    "essencefilter.focus.init.filtered_count_ext_only": "Matching weapons: 0 (extension rules only)",
    "essencefilter.focus.init.filtered_count": "Matching weapons: %d",
    "essencefilter.focus.init.no_weapon_list": "No weapon selected. No target weapon list.",
    "essencefilter.focus.init.skill_list_title": "Target skill list:",
    "essencefilter.focus.init.slot_label": "Slot %d:",
    "essencefilter.focus.init.no_skill_list": "No weapon selected. No target skill list.",
    "essencefilter.focus.row.all_marked": "Row %d is fully marked. Skipped.",
    "essencefilter.focus.row.tail_scan_done": "Tail scan complete. Collected all remaining essence slots.",
    "essencefilter.focus.row.enter_final_scan": "Supplementary swipe done. Entering tail scan.",
    "essencefilter.focus.row.pending_final_swipe": "Remaining %d <= %d. Do one extra swipe then tail scan (total %d, processed %d rows).",
    "essencefilter.focus.row.swipe_to": "Swiped to row %d.",
    "essencefilter.focus.finish.summary": "Filtering complete! Visited: %d, locked: %d.",
    "essencefilter.focus.finish.ext_future": "Extension rule \"Future-promising\" hits: %d",
    "essencefilter.focus.finish.ext_practical": "Extension rule \"Practical\" hits: %d",

    "tasker.process_warning.title": "⚠️ Warning: Blacklisted process detected",
    "tasker.process_warning.detected": "🔍 Detected: ",
    "tasker.process_warning.impact": "💡 These processes may interfere with image recognition",
    "tasker.process_warning.recommend_title": "👇 Recommendations:",
    "tasker.process_warning.recommend_1": "  • Close the above processes before running tasks",
    "tasker.process_warning.note": "ℹ️ The task will continue but may fail",

    "tasker.hdr_warning.title": "⚠️ Warning: HDR or \"Automatically manage color for apps\" is enabled",
    "tasker.hdr_warning.desc": "🖥️ HDR or automatic color management may distort screenshots and hurt recognition accuracy",
    "tasker.hdr_warning.recommend_title": "💡 Recommendations:",
    "tasker.hdr_warning.recommend_1": "  • Windows Settings → System → Display → Turn off \"HDR\"",
    "tasker.hdr_warning.recommend_2": "  • Windows Settings → System → Display → Color profile → Turn off \"Automatically manage color for apps\"",
    "tasker.hdr_warning.recommend_3": "  • Or disable HDR in your graphics driver settings",
    "tasker.hdr_warning.note": "ℹ️ The task will continue but recognition issues may occur",

    "tasker.aspect_ratio_warning.title": "🚨 Warning: Aspect ratio mismatch! 🚨",
    "tasker.aspect_ratio_warning.stopped": "🚫 Task has been force-stopped",
    "tasker.aspect_ratio_warning.desc": "💡 Fullscreen mode only supports 16:9 displays; in windowed mode, you can manually set the resolution to 16:9.",
    "tasker.aspect_ratio_warning.recommend_title": "👇 Please set your resolution to:",
    "tasker.aspect_ratio_warning.future": "🚀 More aspect ratios will be supported in the future—stay tuned!",

    "maptracker.emergency_stop.title": "🚨 EMERGENCY STOP",
    "maptracker.emergency_stop.desc": "Navigation aborted.",
    "maptracker.emergency_stop.cause_header": " Possible causes:",
    "maptracker.emergency_stop.cause_1": "Camera rotation failed;",
    "maptracker.emergency_stop.cause_2": "Route blocked or stuck.",

    "maptracker.navigation_moving.waypoint": "Next waypoint",
    "maptracker.navigation_moving.current": "Current: ",
    "maptracker.navigation_moving.target": "Target: ",

    "maptracker.navigation_finished.complete": "Navigation complete",
    "maptracker.navigation_finished.current": "Current: ",

    "maptracker.inference_finished.loc": "Loc: ",
    "maptracker.inference_finished.rot": "Rot: ",
    "maptracker.inference_finished.map": "Map: ",

    "maptracker.inference_failed.title": "Unknown location",
    "maptracker.inference_failed.reason": "(Confidence too low)"
}
