KService, ksycoca and translations

David Faure faure at kde.org
Tue Sep 8 20:08:58 UTC 2015


On Monday 07 September 2015 23:34:54 Albert Astals Cid wrote:
> El Dilluns, 7 de setembre de 2015, a les 23:28:40, Albert Astals Cid va 
> escriure:
> > Running
> >    LANGUAGE=de kcmshell5 --list
> > 
> > in my catalan based system gives me almost everything in catalan.
> > 
> > That is because most of the strings come from kservice and my sycoca is in
> > catalan.

It's funny that you hit this now, one day after I offer a solution for it, because it has
worked this way for 15 years :-)

> > Possible ways forward i see:
> >  1) When recreating the sycoca fall back to calling kbuildsycoca ourselves
> > (there's code for that already) when the version matches but not the
> > language 

Yes.

> > Actually does anyone know why we're calling kded to call kbuildsycoca if we
> > could (and have code to) call kbuildsycoca directly.

Your patch is for old kservice code btw. I changed it on Aug 22 to not mention
kded anywhere anymore. So if you were using current sources your patch
would have worked :-)

But anyway, I'm reworking this.
 
> Anything i can do to help there?

You can give your input in that other thread in case you see any pitfall I might have missed.
One thing I'm unsure about is how to avoid 10 apps rebuilding sycoca at the same time;
QSaveFile avoids corruption but not unnecessary work. QLockFile avoids parallel work
but avoiding unnecessary work by figuring out if something changed after the last rebuild...
well ok we could read the global header of the built-by-someone-else sycoca, and
redo the checkTimestamp logic (to compare dirs mtime with that timestamp).

You can also review the patches I'm writing right now once they are on reviewboard ;)
I'll add you as reviewer.

Right now my problem is how to cut this work into individual pieces.
I think I'll start by removing --checkstamps and --nocheckfiles, then I'll separate the main()
from kbuildsycoca.cpp, to prepare for a future move of the "build" classes into the lib.

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



More information about the Kde-frameworks-devel mailing list