universality.xsl parameter USER_LANG is never specified through transformer therefore default locale (en) is always used.
There is more work figuring this out and how the xpath lang() function works than can be done before 3.1.0. I added example code to StaticRenderingPipeline for getting the user's preferred locale but this won't get fixed until 3.1.1/3.0.4
Fixed in trunk (45858) and 3.1-patches (45859)
Also fixed in 3.0-patches (45862)