Files
rookiestar28 d589717f5a feat(stage3): add 35 community error patterns with i18n support
STAGE 3: F12 Pattern Expansion Complete

Changes:
1. Added 7 community pattern JSON files (35 patterns total)
   - patterns/community/controlnet.json (8 ControlNet patterns)
   - patterns/community/lora.json (6 LoRA patterns)
   - patterns/community/vae.json (5 VAE patterns)
   - patterns/community/animatediff.json (4 AnimateDiff patterns)
   - patterns/community/ipadapter.json (4 IPAdapter patterns)
   - patterns/community/facerestore.json (3 FaceRestore patterns)
   - patterns/community/misc.json (5 misc patterns)

2. Updated ERROR_KEYS in i18n.py
   - Added 35 new error keys
   - Total patterns: 57 (22 builtin + 35 community)

3. Added translations for all new patterns
   - English (en): Complete ✅
   - 繁體中文 (zh_TW): Complete ✅
   - 简体中文 (zh_CN): Complete ✅
   - Other languages (ja, de, fr, it, es, ko): Fallback to English

Pattern Categories:
- ControlNet: 8 patterns (model loading, preprocessing, sizing)
- LoRA: 6 patterns (loading, compatibility, memory)
- VAE: 5 patterns (encoding/decoding, precision, tiling)
- AnimateDiff: 4 patterns (model, frames, context, memory)
- IPAdapter: 4 patterns (model, encoding, compatibility)
- FaceRestore: 3 patterns (model, detection, memory)
- Miscellaneous: 5 patterns (checkpoint, image format, sampler, scheduler, CLIP)

Testing:
- ✅ All 9 PatternLoader unit tests pass
- ✅ 57 patterns load successfully
- ✅ Pattern matching works correctly
- ✅ Translations verified for en/zh_TW/zh_CN
2026-01-03 04:56:10 +08:00

46 lines
1.5 KiB
JSON

{
"version": "1.0.0",
"patterns": [
{
"id": "ipadapter_model_not_found",
"regex": "IPAdapter.*model not found|ip-adapter.*not found|Could not find IPAdapter",
"error_key": "IPADAPTER_MODEL_NOT_FOUND",
"has_groups": false,
"priority": 80,
"category": "model_loading",
"tags": ["ipadapter", "model", "missing"],
"notes": "IPAdapter model file not found"
},
{
"id": "ipadapter_image_encoding_failed",
"regex": "IPAdapter.*encoding failed|image_embeds.*failed|CLIP.*vision.*error",
"error_key": "IPADAPTER_IMAGE_ENCODING_FAILED",
"has_groups": false,
"priority": 75,
"category": "framework",
"tags": ["ipadapter", "encoding", "clip"],
"notes": "IPAdapter image encoding failed"
},
{
"id": "ipadapter_incompatible",
"regex": "IPAdapter.*incompatible|IPAdapter.*doesn't match.*model",
"error_key": "IPADAPTER_INCOMPATIBLE",
"has_groups": false,
"priority": 85,
"category": "model_loading",
"tags": ["ipadapter", "compatibility", "model"],
"notes": "IPAdapter incompatible with current base model"
},
{
"id": "ipadapter_weight_error",
"regex": "IPAdapter.*weight.*invalid|ip_adapter_weight.*out of range",
"error_key": "IPADAPTER_WEIGHT_ERROR",
"has_groups": false,
"priority": 65,
"category": "workflow",
"tags": ["ipadapter", "weight", "parameter"],
"notes": "IPAdapter weight value invalid or out of range"
}
]
}