KLocale plans

David Faure faure at kde.org
Mon Nov 19 18:22:31 UTC 2012


On Sunday 18 November 2012 20:53:36 Chusslove Illich wrote:
> > [: David Faure :]
> > Yes, please compile whatever you have ;)
> 
> Ok, I pushed it.
> 
> > I'm a bit surprised that ki18n depends on kservice, since kservice wants
> > to depend on i18n (automatic catalog loading). I guess ki18n uses plugins,
> > so the fix will be to port that to "pure Qt" plugin loading instead.
> 
> The dependency is due to the ktranscript module, which is the plugin
> implementation of the translation scripting feature, because back then
> people concluded it would be too much bloat to link directly to kjs.

Yep.

> Automatic catalog loading for components is not the problem though, since
> that is the first next thing that I'm going to remove. (All library code
> will use static catalog resolution, and application code will set catalog
> directly.) 

Great. Good thing I commented this out to move forward, then.

> The problem is rather that kservice is to be tier 3 (and it has
> some i18n calls of its own), while ki18n is to be tier 2.

Well, if they both depend on each other, then that's the problem, whatever 
tiers we are in.

Anyway, kservice needs ki18n, not because of the 6 error messages in 
kpluginloader, but because of all the ki18n stuff in KAboutData. Which was 
mostly for usage in main(), before KLocale is set up, so this could all be 
simplified for usage in plugins only, but this creates trouble for source 
compatibility, so we could also just leave it as is.

As long as ki18n is ported away from kservice, we'll be fine.

> > I can look into that later, unless you take care of it.
> 
> If you could point me to a similar example, that would be great :)

There's no similar example, other than "in Qt".

Porting from KLibrary to QLibrary really brings up only one question, how to 
locate ktranscript.so. But since the idea is that QT_PLUGIN_PATH must be set 
to the KF5 install prefix + /lib/plugins, it might just work out of the box 
(after you add the env var to your setup, of course).

Can you try it? When I saw this some time ago, I didn't know how to trigger 
loadTranscript() anyway. Well, maybe the unittest does that (and otherwise, 
that's a bug in the unittest ;).

-- 
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE, in particular KDE Frameworks 5



More information about the Kde-frameworks-devel mailing list