This is mainly an upstream bug of `librsvg` ([Bug 761482](https://bugzilla.gnome.org/show_bug.cgi?id=761482)). Please see the description of the upstream bug. In a nutshell, for example, [this SVG image](https://commons.wikimedia.org/w/index.php?title=File%3ASystem_language_attribute_bug_demo.svg) contains options `en`, `en-US`, `en-AU` and `en-GB`. Only `en-US` works well (by luck) but all other language options display "English (United States)". Also according to validator.w3.org, there's no error or warning in the image "System language attribute bug demo.svg".
To fix this bug, there can be two ways:
- Wait `librsvg` fix the upstream bug.
- Workaround: generate a new SVG which replaced dash "-" to underscore "_" in all BCP 47 language codes to avoid `librsvg` wrongly fallback the languages. This can be very tricky since you may need to add new element to strictly follow the w3c standard of language fallbacks.
Also there's a small bug in MediaWiki is that it uses unprocessed value derived from `systemLanguage` attrs in `<select id="mw-imglangselector">` on image pages. On [this SVG image](https://commons.wikimedia.org/w/index.php?title=File%3ASystem_language_attribute_bug_demo.svg) you can't select any language except the all lowercase "en" actually. This can be a quick fix and I may create a patch later.