localize method

  1. @override
String localize(
  1. SmartError error
)
override

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);
}