KService, ksycoca and translations

Albert Astals Cid aacid at kde.org
Wed Sep 9 23:54:03 UTC 2015


El Dimarts, 8 de setembre de 2015, a les 22:08:58, David Faure va escriure:
> 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 :-)

I know this bug existed for long, it's just that TODO lists are long and 
prodding sometimes helps and i guess frameworks somehow made it easier for me 
to tackle it.

> 
> > > 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 :-)

Meh, i guess the local modification on the CMakeLists.txt to make it compile 
with older ECM made me the pull fail and i did miss it :/

> 
> 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.

I will!

> 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.

Salut,
  Albert


More information about the Kde-frameworks-devel mailing list