https://bugs.kde.org/show_bug.cgi?id=376974

--- Comment #7 from Erik Quaeghebeur <k...@equaeghe.nospammail.net> ---
(In reply to Waqar Ahmed from comment #5)
> Sonnet uses 'iso codes' and depends on 'QLocale' to find out the language
> name and country. So for e.g., if you have a dictionary name 'fr-xxxx',
> Sonnet will take the `xxxx` away and mark it as the dictionary variant. Then
> sonnet will feed 'fr' (the iso code) into QLocale and ask it for language
> name(full lang name) and country name.
> 
> In the above mentioned case, the result will be "francais (France)". If you
> rename your dictionary to fr_CA, you will get a different result.
> 
> This does lead to some problems for e.g., with 'Arabic'. If the 'iso code'
> is 'ar', it always returns "Arabic - Egypt" or with 'en', English-United
> States.

I looked at QLocale <https://doc.qt.io/qt-5/qlocale.html> and indeed, they just
throw in some ‘most appropriate’ country instead of leaving the country open
(AnyCountry). That is just madness. This is an upstream, Qt bug, I would say.

> The solution is quite simple. If the length of the iso code is greater than 3,
> we ask QLocale for a country name.
> 
> I will fix it in downstream, QOwnNotes and see how it works out. If it
> doesn't give any problems, I will push the changes here.

Sounds like a good plan; thank you for your efforts. (I would consider it a
workaround for the bad Qt behavior, but that'll be more difficult to correct.)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to