This bug was a race condition in our badge name/description caches. These strings are cached per-site, on each web server.
What normally happens is, a badge is viewed on its owning site, so the language rendering matches, e.g. English badge names on English sites.
However, in this particular case, a http://pt.stackoverflow.com user viewed their topbar/achievements on the Portuguese site, and they had a badge on http://pets.stackexchange.com ! This incorrectly cached Portuguese badge names for an English site (but only on one web server).
The fix is to explicitly pass in the proper locale when rendering badges.