localize method
将 SmartError 转换为用户友好的本地化消息
Implementation
@override
String localize(SmartError error) {
final key = ErrorKey.fromError(error);
// 1. 首先检查精确匹配(带子键)
final exactTemplate = _overrides[key];
if (exactTemplate != null) {
return exactTemplate(error, key.context(error));
}
// 2. 对于 TimeoutError,检查不带子键的通用匹配
if (error is TimeoutError) {
final genericKey = ErrorKey.timeout();
final genericTemplate = _overrides[genericKey];
if (genericTemplate != null) {
return genericTemplate(error, key.context(error));
}
}
// 3. 回退到 fallback 本地化器
return _fallback.localize(error);
}