mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-18 21:45:24 +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
a7970c1699
commit
22a9e27895
@ -185,16 +185,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");
|
||||
}
|
||||
|
@ -147,6 +147,8 @@ What's new
|
||||
* LFUN_SPELLING_REMOVE
|
||||
(bug 9477).
|
||||
|
||||
- Fix selection of Interlingua user interface (bug 9267).
|
||||
|
||||
|
||||
* INTERNALS
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user