Skip to content

kbdnames-maker: Call `{bind,}textdomain` after switching locale

There's a change in perl 5.28 to use uselocale() & friends instead of gettext directly, to support thread safety. Apparently this causes the results of gettext() calls to be cached now where they weren't before, and this breaks our keyboard name generation. For example, we have

en_GBmodelsun_type6_jp*Sun Type 6 (Japonesa)

instead of

en_GBmodelsun_type6_jp*Sun Type 6 (Japanese)

and many many other examples.

Calling bindtextdomain() and then textdomain() after changing locale causes the cache to be invalidated and we get correct results again.

LP: #1817453

Merge request reports

Loading