mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 13:18:28 +00:00
Fix setting Interlingua as GUI language
The problem came from the fact that Qt associates Interlingua to locale C. Now, we do not rely anymore on the Qt locale to set the language. I suspect that the problem will still exist if the system locale is ia_IA. Fixes bug #9267.
This commit is contained in:
parent
7aad787047
commit
8aa2d6b184
@ -192,16 +192,19 @@ frontend::Application * createApplication(int & argc, char * argv[])
|
||||
void setLocale()
|
||||
{
|
||||
QLocale theLocale;
|
||||
string code;
|
||||
if (lyxrc.gui_language == "auto") {
|
||||
theLocale = QLocale::system();
|
||||
code = fromqstr(theLocale.name());
|
||||
// Qt tries to outsmart us and transforms en_US to C.
|
||||
if (code == "C")
|
||||
code = "en_US";
|
||||
} else {
|
||||
Language const * l = languages.getLanguage(lyxrc.gui_language);
|
||||
string const code = l ? l->code() : string();
|
||||
code = l ? l->code() : string();
|
||||
theLocale = QLocale(toqstr(code));
|
||||
}
|
||||
string const code = fromqstr(theLocale.name());
|
||||
// Qt tries to outsmart us and transforms en_US to C.
|
||||
Messages::guiLanguage((code == "C") ? "en_US" : code);
|
||||
Messages::guiLanguage(code);
|
||||
QLocale::setDefault(theLocale);
|
||||
setlocale(LC_NUMERIC, "C");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user