## What?
Replaced the `%v` verb with `%w` in `i18n/loader.go` when returning
errors from the embedded loader.
## Why?
The current implementation stringifies the underlying `err` using `%v`,
which breaks the error chain. This prevents callers from inspecting the
root cause using `errors.Is()` or `errors.As()`. Utilizing double `%w`
(supported in Go 1.20+) ensures both `ErrLoadFailed` and the original
error remain accessible in the error tree.
Closes #1051