Review Request 127136: XmlGui: Use non native Language name as fallback in KSwitchlangaugeDialog
Albert Astals Cid
aacid at kde.org
Mon Feb 22 10:42:09 UTC 2016
> On feb. 22, 2016, 9:55 a.m., Albert Astals Cid wrote:
> > I'd prefer if you could fix this at the Qt level, why would nativeLanguageName ever return empty?
>
> Andre Heinecke wrote:
> I've just checked. It's a Windows thing. qlocale_win calls windows API getLocaleInfo(LOCALE_SNATIVELANGUAGENAME) ( https://msdn.microsoft.com/en-us/library/windows/desktop/dd373863%28v=vs.85%29.aspx ). So Qt Developers would probably (and rightly) say "This is a Windows bug" and Indeed this might be fixed at some point in the far Future in Windows.
>
> But my Observation is Qt does not (and for Windows apparently can not) guarantee that QLocale::nativeLanguageName is not Empty. So KXmlGui should try to handle this. As I don't know how this is for other platforms and it only adds a tiny overhead I also don't think this should be Ifdefed for Windows.
well, reading the documentation of the function never mentions it can be empty, and given all languages probably have a way to call themselves I as an api user find it surprising it returns empty.
sure I can agree it is a Windows bug, but why workaround it in every single call to nativeLanguageName instead of inside Qt code?
I mean, we probably even have this problem in other KDE code.
And sure, Qt takes a while to update/release so temporarily we may want this workaround committed so our users get the fix earlier but I would really appreciate if you could create a MR for Qt that either documents that nativeLanguageName can return empty or one that makes sure it is not empty by doing the same fallback we do here.
- Albert
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127136/#review92630
-----------------------------------------------------------
On feb. 22, 2016, 9:52 a.m., Andre Heinecke wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127136/
> -----------------------------------------------------------
>
> (Updated feb. 22, 2016, 9:52 a.m.)
>
>
> Review request for KDE Frameworks.
>
>
> Repository: kxmlgui
>
>
> Description
> -------
>
> While packaging Kleopatra's translations for Gpg4win I've noticed that there were blank entries in the Switchlanguagedialog.
> Apperantly QLocale::nativeLanguageName can return an Empty string (Qt 5.5 on Windows).
>
> This patch handles this and uses the non native QLocale::languageToString as a fallback. The idea is that a non native Name is better then no name (and a blank entry in the dialog) at all.
>
> Ideally every language would have a native name but until this is the case I think this fallback makes sense.
>
>
> Diffs
> -----
>
> src/kswitchlanguagedialog_p.cpp 039daea
>
> Diff: https://git.reviewboard.kde.org/r/127136/diff/
>
>
> Testing
> -------
>
> See attached screenshots of Kleopatra's switchlanguage dialog before and after the patch. Low German is an example where the native name was empty.
>
>
> File Attachments
> ----------------
>
> Dialog before the patch
> https://git.reviewboard.kde.org/media/uploaded/files/2016/02/22/a6a31417-1ad6-432e-bee9-65a367fac28d__languages_before.png
> Dialog after the patch
> https://git.reviewboard.kde.org/media/uploaded/files/2016/02/22/762062c5-ff18-47da-aeb0-93b16ca28883__languages_after.png
>
>
> Thanks,
>
> Andre Heinecke
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20160222/b01be128/attachment.html>
More information about the Kde-frameworks-devel
mailing list