Review Request 125682: Pre-fill translator information for KAboutApplicationDialog

Albert Astals Cid aacid at kde.org
Mon Oct 19 07:01:25 UTC 2015



> On Oct. 18, 2015, 8:49 a.m., Albert Astals Cid wrote:
> > Two more things:
> >  * I think this should only be done if translators() is empty
> >  * You should document this is going to fill in KAboutData::translators if empty with those values
> 
> Thomas Eschenbacher wrote:
>     So what about this approach:
>     
>     We just remove QCoreApplication::translate() from KAboutData::translators(), and we add some comment to the documentation (doxygen) that tells that the strings set by KAboutData::setTranslator() have to be already-translated, using ki18nc or similar.
>     
>     This way we would have one uniform interface for KAboutData: "everything that goes in has to be translated before" and everything that comes out is translated.
>     The complexity of the code would be reduced (I like simple solutions ;-) ) and we introduce no new dependency.
>     
>     The code that determines the translator names and their emails would then shrink to two lines, like this:
>         const QString &translatorName  = d->translatorName;
>         const QString &translatorEmail = d->translatorEmail;

See https://git.reviewboard.kde.org/r/125695/

This doesn't mean that setTranslators should only be called if not empty and documented to be called in the constructor too


- Albert


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/125682/#review87000
-----------------------------------------------------------


On Oct. 18, 2015, 2:13 a.m., Michael Pyne wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/125682/
> -----------------------------------------------------------
> 
> (Updated Oct. 18, 2015, 2:13 a.m.)
> 
> 
> Review request for KDE Frameworks, Localization and Translation (l10n) and Albert Astals Cid.
> 
> 
> Bugs: 345320
>     https://bugs.kde.org/show_bug.cgi?id=345320
> 
> 
> Repository: kxmlgui
> 
> 
> Description
> -------
> 
> KAboutData has a placeholder for information regarding who translated the running KDE-based application (KAboutData::translators()). However it relies on the application developer to call KAboutData::setTranslator() since KCoreAddons (a Tier 1 framework) cannot use KI18n directly. Instead the Qt translation infrastructure is used where translations are unavoidable, but that is not compatible with KF5's i18n. This (IIUC) gives different behavior than KDE4, where KAboutData could (and did!) directly pull the translated list of translators, so application authors didn't have to do anything special for their about dialog to have the list of translators.
> 
> For the majority of our applications we can make the ::setTranslator() call on the application developer's behalf, as recommended by Albert on kdeframeworks-devel, and by doing so from KMainWindow (a relatively central location for KF5-using applications) we can use KI18n and get the accurately-translated message. Feeding the already-translated information into KAboutData should work to form the list of translators for later use by KAboutApplicationDialog, or other accessors of that information.
> 
> This patch implements all that. I avoided using a global startup method as suggested by Albert (since the Qt docs suggest that this startup would happen *before* the GUI starts up, and I want to make sure KI18n is available); KMainWindow seems the next best option, and even non-KXmlGuiWindow users might use this. There are probably other good alternatives too (maybe even the platform plugin?).
> 
> 
> Diffs
> -----
> 
>   src/kmainwindow.cpp 7c86841 
> 
> Diff: https://git.reviewboard.kde.org/r/125682/diff/
> 
> 
> Testing
> -------
> 
> Compiled, apps all still work.
> 
> I find it hard to test whether the translators actually show up or not though, as I do not use translated KF5 apps.
> 
> 
> Thanks,
> 
> Michael Pyne
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20151019/19fe2c0b/attachment.html>


More information about the Kde-frameworks-devel mailing list