feat: add missing_input error pattern and fix ERROR_KEYS mapping
Changes:
1. Added new pattern for "Required input is missing" error
- Pattern ID: missing_input
- Regex: "Required input is missing: (.+)"
- Priority: 80 (workflow-level)
- Captures input name dynamically
2. Updated i18n.py for all 9 languages
- Added ERROR_KEYS["MISSING_INPUT"]
- Added translations: en, zh_TW, zh_CN, ja, de, fr, it, es, ko
- Format: "輸入源資訊遺失:{0}。請檢查上游節點輸出是否正常連接。"
3. Fixed analyzer.py ERROR_KEYS mapping bug (CRITICAL)
- PatternLoader returns uppercase keys (e.g., "MISSING_INPUT")
- get_suggestion() expects lowercase keys (e.g., "missing_input")
- Added mapping: suggestion_key = ERROR_KEYS.get(error_key, error_key)
- This fix applies to ALL patterns, not just missing_input
Testing:
- PatternLoader tests: ✅ All 9 tests pass (22 patterns total)
- Manual test: ✅ Pattern matches "text_int_float" correctly
- Analyzer test: ✅ Returns correct suggestion with captured group