You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All relevant language environment variables are set correctly and are coherently, unless explicitly a custom setup is specifically wanted by the user.
Current Behavior
LXQt Panel's FancyMenu plugin is half translated and half original after changing system locale from English to Italian.
This happens because Qt libraries sometimes use LANGUAGE variables as highest priority over LANG, sometimes the other way round.
See qlocale_unix.cpp#L104.
This leads QLocale::system().name() to return en_US even though I've chosen "Italian" in the config dialog.
This code is called for example by lxqttranslator.cpp#L135
So it's pretty much all LXQt applications.
The QtXdg library instead follows another priority order. See qtxdg/xdgdesktopfile.cpp#L858
Here LANGUAGE variable is not even considered, the code checks in order: LC_MESSAGES, LC_ALL, LANG which in my setup are all set to it_IT.UTF-8 which is correct.
Possible Solution
Either set LANGUAGE to same value as LANG (don't know if it's correct for Unix docs)
or change evaluation priority order to match Qt libraries
Steps to Reproduce (for bugs)
Change from English to Italian
Restart lxqt-panel
Open FancyMenu
Categories and apps are in Italian, special "virtual" categories are in English and so is the rest of the UI
Expected Behavior
All relevant language environment variables are set correctly and are coherently, unless explicitly a custom setup is specifically wanted by the user.
Current Behavior
LXQt Panel's FancyMenu plugin is half translated and half original after changing system locale from English to Italian.
This happens because Qt libraries sometimes use
LANGUAGE
variables as highest priority overLANG
, sometimes the other way round.See qlocale_unix.cpp#L104.
This leads
QLocale::system().name()
to returnen_US
even though I've chosen "Italian" in the config dialog.This code is called for example by lxqttranslator.cpp#L135
So it's pretty much all LXQt applications.
The
QtXdg
library instead follows another priority order. See qtxdg/xdgdesktopfile.cpp#L858Here
LANGUAGE
variable is not even considered, the code checks in order:LC_MESSAGES
,LC_ALL
,LANG
which in my setup are all set toit_IT.UTF-8
which is correct.Possible Solution
Either set
LANGUAGE
to same value asLANG
(don't know if it's correct for Unix docs)or change evaluation priority order to match Qt libraries
Steps to Reproduce (for bugs)
lxqt-panel
Context
My environment on KDE Tuxedo 2:
See
LANG
set to English which seems fine.My environment in Ubuntu LXQt:
Here
LANG
is likeLC_*
butLANGUAGE
is still EnglishSystem Information
The text was updated successfully, but these errors were encountered: