Describe the bug
In i18n/parser.go:18:
return nil, fmt.Errorf("%w: %v", ErrParseFailed, err)
Only ErrParseFailed is wrapped — the underlying err is rendered as text and lost from the error chain. errors.Is(returned, originalErr) no longer matches.
Expected behavior
Use %w for both: fmt.Errorf("%w: %w", ErrParseFailed, err) (Go ≥ 1.20) or wrap the original error directly.
Describe the bug
In i18n/parser.go:18:
Only
ErrParseFailedis wrapped — the underlyingerris rendered as text and lost from the error chain.errors.Is(returned, originalErr)no longer matches.Expected behavior
Use
%wfor both:fmt.Errorf("%w: %w", ErrParseFailed, err)(Go ≥ 1.20) or wrap the original error directly.