Wiki.ooo4kids.org:Current events/LogEducOOoInternationalCreationMay2011/log part2

Log Part 2 : 13 May 2011
Back to Meeting 12 & 13 May 2011

[21:04]  allright i'm available

[21:11] * ericb2 too

[21:11]  Marina told me she may be not here

[21:12]  for personal reasons

[21:12] apologies for the delay, but the family has the priority

[21:12]  aaahh

[21:12]  :p

[21:12]  but anyway I guess i can sum up our work

[21:12] Piso: I just answered her. That's no problem : you are there, and we'll put the pressure on you ;-)

[21:12] ok let's start ?

[21:12]  yep

[21:12] wooz_: imacat  ? JZA ?

[21:13]  ready

[21:13] Hi~

[21:13]  hi

[21:13] ready. ^^;

[21:13] imacat: hello

[21:13] :)

[21:13] The agenda is available online : http://wiki.ooo4kids.org/index.php/Current_events/LogEducOOoInternationalCreationMay2011

[21:14] today is part 2

[21:14] For availability reasons, we did the part 1 yesterday, but the log is online. and maybe JZA will be able to attend tonight .. who knows :)

[21:14]  allright

[21:15] OK

[21:15]  so, just to update you

[21:15]  about what we have been doing

[21:16]  we studied a way to make the localization process quicker

[21:17]  as you all know is very inefficent to manually hack po and sdf

[21:17] yes

[21:17] * olorin_ told Eric the same yesterday.

[21:18]  and Eric told me we have not enough arms to mantain a Pootle server, so we threw up that idea

[21:18] Piso: we currently got a Pootle server

[21:18]  yeah but we are using transifex more right now

[21:18] <Piso> is that correct?

[21:18] Piso: the issue, imho, is how to make things easier for the translators

[21:18] <olorin_> wooz_: Did you have time to look into this?

[21:19] Piso: yesterday we stated that transifex is not an option

[21:19] <wooz_> olorin_: transifex?

[21:19] <olorin_> wooz_: Pootle.

[21:19] olorin_: http://pootle.educoo.org

[21:19] <Piso> allright, i will update myself about that

[21:19] <wooz_> olorin_: pootle is online!

[21:19] <Piso> anyway

[21:19] <wooz_> :p

[21:19] olorin_: was  : upgrade to the last version

[21:19] <olorin_> ericb2: I'm aware of that Eric. :-p

[21:19] <Piso> we studied 2 options

[21:20] <olorin_> ericb2 wooz_ Excellent!

[21:20] Piso: please continue

[21:20] <olorin_> Piso: Transifex or manually maintaining the files?

[21:21] <Piso> the first one was to try to put .po files into the source code and then convert to sdf during the build, but that would have required knowledge that maybe we didn't have

[21:22] <Piso> _olorin: me and Marina worked with the idea to use transifex, but i guess pootle is not so different

[21:22] Piso: if it is possible to convert .po into .sdf, this is not a problem for me

[21:22] <Piso> the second option was to get rid of sdf files

[21:22] <Piso> and make the code gettext compatible

[21:22] Piso: a lot of work

[21:23] <Piso> it is

[21:23] <Piso> we already started and tried to test

[21:23] <Piso> the main thing of course

[21:23] <Piso> is to replace the function of sdf files

[21:24] <Piso> because the work about the mere transition to gettext is affordable for the two of us

[21:24] I agree

[21:24] <Piso> of course it requires to mark every translatable string into the source code

[21:24] <Piso> but is more boring than difficult

[21:24] Piso: you'll need to modify all the dialogs

[21:24] Piso: there are a lot in the sources

[21:25] <Piso> we already have a file that should contain all the translatable string

[21:25] I think there are 78K messages.

[21:25] <Piso> it's a first one and we searched for the format [ en-US ] = ""

[21:25] Piso: exactly. Good starting point

[21:26] <Piso> with etags and gettextize we might be able to modify code automatically

[21:26] <Piso> still not sure about that but I'm looking into it

[21:26] How about writing a script to do this?

[21:26] <olorin_> Piso: You and Marina might have forgotten about the reusal of translations here... I tend to merge between several projects.

[21:26] <Piso> if you tell me this is the path to follow

[21:27] <Piso> _olorin yes this was the second boring point, re-put the string wich were already translated in the right place

[21:28] <Piso> guess we can script pretty everything in this fase

[21:28] <olorin_> Which would be really time consuming, and boring.

[21:28] We use 3.2.1 strings, so the best we can do is to conform to the latest state with 3.2.1 form OOo. 3.3.x is different

[21:28] Piso: I had in mind two steps

[21:28] and I'll explain why

[21:28] <Piso> listening :)

[21:29] first create teams, and make something visible

[21:29] <Piso> _ericb2 you are talking about translation teams right?

[21:29] <olorin_> Hence Pootle and files.

[21:29] that's why concert .sdf to .po, then ask people to translate .po and re-convert .po into final .sdf could be the first step

[21:29] s/concert/convert/

[21:30] <Piso> this means keep using oo2po right?

[21:30] second step (once we got true Teams), start the gettext or something step

[21:30] Piso: as first step, yes

[21:30] <olorin_> ericb2: Yes, but leaving the conversion process to you and other people.

[21:30] olorin_: we can modify the build process

[21:30] olorin_: not a big problem I think

[21:31] <olorin_> ericb2: As we discussed yesterday right?

[21:31] olorin_: yes

[21:31] olorin_: e.g. integrate (transitionaly) the translate toolkit in the sources, to make the job

[21:31] <Piso> allright

[21:31] olorin_: and modify the Makefiles

[21:31] <olorin_> Piso: It shouldn't have difficulties with pulling 3.2.1 strings you think?

[21:31] <Piso> to attain the objective of making this visible

[21:31] will not save a lot of time, but will attract people, because more easy to work with translations

[21:32] Piso: exactly : more visible

[21:32] <olorin_> Like I've said for a long time.

[21:32] <Piso> we have to give translators a very standard platform to work with

[21:32] <olorin_> Exactly.

[21:32] <Piso> something that they already know

[21:32] <Piso> so pootle is a good choice

[21:32] olorin_: this is the first time I'll be able to work on that. Since ~one year

[21:32] <olorin_> Piso: Yep.

[21:33] <olorin_> ericb2: Hey, I haven't had much time for this work either, so don't blame yourself.

[21:33] and this let us the time to think twice, before to start the gettext thing

[21:33] <Piso> _olorin i think we can create a small program to do that

[21:33] <olorin_> Piso: Pretty sure there's something hidden on various ML's.

[21:34] <Piso> allright, gettext is not easy, but if pursued with no hurry i still think is the best choice in the long run

[21:34] Sorry, may I ask... why do not use gettext?

[21:35] <Piso> _olorin, allright, so we have to pay attention... maybe you can explain me later if you know more

[21:36] <olorin_> First of all, Gettext PO/POT is a great idea, but at this point, the source won't permit a smooth transition.

[21:36] imacat: we agree to use gettext, but we need to make this in two steps

[21:36] Do you think it is impossible/hard to write a script to do this?

[21:36] imacat: well, if you think you can do it, direcly -> go ahead

[21:36] <Piso> _imacat: well, to use gettext we have to -mark all translatable string -get rid of sdf(do they have another function other than I18n?) -put back all the old translated strings in their place

[21:37] <Piso> done that we are pretty good

[21:37] Hmm...

[21:37] Piso: I don't think so, but they are used several times. and another big issue can occur afterwards, we'll have to take care

[21:37] <olorin_> Waste of time IMHO.

[21:38] <Piso> ah, i was forgetting another thing

[21:38] Piso: I modified a lot the localization process in OOo4Kids and OOoLight, and I had some strange race conditions in the build. Extremely difficult to solve

[21:38] <Piso> did you already talked about the "help" translation?

[21:38] Piso: no. Excepted there are a lot of wrong explanations inside ;-)

[21:38] <olorin_> helpcontent2 is a monster...

[21:39] <Piso> we were thinking that creating a second po just for the help would make things easier

[21:39] <Piso> but of course is a matter of priorities

[21:39] Hmm...

[21:40] let's preoceed incrementaly

[21:40] proceed

[21:40] <Piso> (and I apologize if say something stupid, trying to learn I10n and I18n from scratch)

[21:41] <Piso> so if I can sum up your ideas

[21:41] <olorin_> Piso: I think I denounced that a while a go as team work would be difficult if everything's in one file, and putting all the strings in one file equals more hardware resource consumption.

[21:41] * sylvaintechnic (~sylvainte@212.68.199.171) has joined #ooo4Kids

[21:41] <Piso> olorin: exactly, I agree

[21:41] <olorin_> Piso: :-)

[21:41] * sylvaintechnic (~sylvainte@212.68.199.171) has left #ooo4Kids

[21:42] <Piso> the idea is to keep converting manually for a while

[21:42] <Piso> and focus about making things easier for translators

[21:42] <Piso> and then, when we have a strong translators base, move to the next step

[21:43] <Piso> is that correct?

[21:43] <olorin_> Not all of us have that strong base, that's why I'm oposing this move a bit.

[21:45] <Piso> ah one more thing

[21:45] <olorin_> Like I mentioned above, converting back and forth no problem. The crucial bit would be to upload to Pootle and merge new templates when available, so people can actually work.

[21:45] <olorin_> Piso: Shoot.

[21:45] currently, most of the new (OOo4Kids) strings are translated. The value added, once it will work, will be : hey, if you want to improve, that's really easy

[21:45] olorin: need an automatic way to do this?

[21:45] <Piso> Andras Timar told me at the time that they might have a google summer of code student implementing gettext

[21:46] <Piso> I will have a look at his work anyway

[21:46] <olorin_> imacat: AFAIK Eric will be looking into this.

[21:46] <Piso> (if he really exists)

[21:46] <olorin_> Piso: timar exists.

[21:46] This reminds me that Google refused all our proposals : Google please go to hell ...

[21:46] <Piso> not timar

[21:46] <Piso> the student

[21:46] <Piso> XD

[21:46] ericb2: :p

[21:46] <olorin_> Piso: The student?

[21:47] <Piso> yep if the summer of code student exists i will look at his work

[21:47] <olorin_> How many Andras Timar is there?

[21:47] <olorin_> Ok.

[21:47] <Piso> just to look where he found difficulties

[21:48] <olorin_> ericb2: If we angle it as something good for everything based on the original OOo/SO source...

[21:49] <olorin_> Piso: Have to look at his work then.

[21:49] olorin_: I don't get your point. Can you please explain ?

[21:51] <olorin_> ericb2: If you present our projects as something mutually beneficially for OOo4Kids/OOoLight, LibreOffice and OpenOffice (etc of course).

[21:51] <wooz_> me too

[21:51] <wooz_> :p

[21:51] olorin_: again, I don't want to work with LibreOffice. Everybody does what he wants, but I refuse to follow people who 1) forgot to explain me what happened 2) insulted me (mostly the TDF people

[21:51] <olorin_> ericb2: I don't care about peoples personal indifferences...

[21:51] olorin_: I forgot : LibreOffice people ignored me, because the want to recuperate the Education project. They can die

[21:52] olorin_: not me, and so far, educoo.us and educoo.de are cyber-squatted

[21:53] <olorin_> Hey, I'm just talking about realizing some of our ideas, like Piso's, with more manpower.

[21:53] ericb2: I see.

[21:53] <olorin_> ericb2: I can't speak for Drew or Thorsten...

[21:54] ericb2: But we still have to be prepared that OOo may die in less than one year. By that time there is only the LO source, no OOo source.

[21:54] olorin_: no need. We can do what we want either, and if I say this is possible, I'm not far

[21:55] <olorin_> imacat: No news from Oracle land?

[21:55] olorin: Yes, but bad news. ^^;

[21:55] imacat: the problem is : the one who want to continue will have to accept Louis ... hmm :-)

[21:55] <olorin_> ericb2: Or rather, you will have to accept. :-p

[21:56] ok, let's return to the point

[21:56] Actually I wonder if OOo 3.4 will be released.... I'm prepared to apologize to our translators. ^^;

[21:56] was :  make it in two steps

[21:56] ericb2: OK

[21:58] <olorin_> ericb2: Keeping it as it is now and looking for new solutions?

[21:58] imacat: to tell you more : in France, LibreOffice people do everything, like if EducOOo does not exist. We were droped form FOSDEM, and some other events

[21:59] imacat: something like OOo : they control all the communication. Very bad, really

[21:59] ericb2: I understand. ^^; That is really bad.

[22:00] imacat: nothing to do with the "Free software spirit" they pretend to represent

[22:01] olorin_: use .po is probably a good intermediate step

[22:02] olorin_: the need is to : neutralize current .sdf, and add the tools + the script turning the .po into the same .sdf as the current one

[22:03] <olorin_> ericb2: Meaning we need to merge everything into one?

[22:04] olorin_: I had in mind one per locale. Am I wrong ? if not, manualy, we'll have to provide .po (the one created from existing .sdf), put them on the server, wait for the translations, and design somebody to commit the tranlated .po

[22:04] Piso: what is the form of a .po : one file per locale, or a tree full of files ... or  ?

[22:05] <olorin_> ericb2: The first was your original idea, but remember the amount of strings.

[22:05] <olorin_> ericb2: Depending on the project.

[22:05] olorin_: most of them are translated, aren't they ?

[22:05] olorin_: if we use the existing one.

[22:05] and only the locale we provide (17, not that bad today)

[22:06] <olorin_> ericb2: Most, but a lot of translation still in helpcontent2.

[22:06] olorin_: first l18n, then helpcontent2

[22:06] olorin_: we cannot do everything in one pass

[22:06] <olorin_> ericb2: Splitting it up into UI and help?

[22:07] olorin_: indeed

[22:07] olorin_: UI is in l18n, and help in helpcontent2

[22:07] mostly true. Maybe some exceptions .. not sure

[22:08] <olorin_> Mostly correct. The crucial part is to keep them separate for translation purposes.

[22:09] <olorin_> The problem lies in tooltips being in helpcontent2 too as well.

[22:10] olorin_: I see

[22:11] <olorin_> ericb2: Yep, advanced tooltips for most.

[22:11] olorin_: I think I know what do with that

[22:11] olorin_: in the .sdf, you'll find a zillion of tooltips to

[22:11] too

[22:12] Ok, for the record, the log is here : http://wiki.ooo4kids.org/index.php/Wiki.ooo4kids.org:Current_events /LogEducOOoInternationalCreationMay2011/log_part2

[22:12] Can we summarize, and define action item, and -why not- the next agenda ?

[22:12] <Piso> agreed

[22:13] <olorin_> ericb2: Yes, but take a closer look at where they belong.

[22:13] At the end of the first meeting, we defined :

[22:13] Action Items:

[22:13]     * AI1 : upgrade Pootle at http://pootle.educoo.org

[22:13]     * AI2 : extract initial .sdf

[22:13]     * AI3 : create .po files for every locale

[22:13]     * AI4 : define the .po -> .sdf process

[22:13] <olorin_> ericb2: Sure.

[22:13] <olorin_> Yep.

[22:14] <wooz_> ok

[22:14] <wooz_> I'll the pootle server soon

[22:14] Piso: just to be sure:  do we need double strings, for every locale ? e.g., in the de localize.sdf, do we need to have both en-US and de strings, for every string ?

[22:14] Piso: I ask, because I fear that's not the case actually

[22:15] <Piso> _ericb2: in theory, we do need double strings as in .po

[22:15] Piso: I verified, and no, we don't have currently

[22:15] <Piso> where msgid is the original

[22:16] <Piso> and msgstr is the translated

[22:16] <Piso> so SDF contains just the locale

[22:16] Piso: we'll probably have to hack this a bit

[22:16] yes, we do need double strings.

[22:16] Piso: maybe .pot files from Pavel Janik will help

[22:16] * ericb2 checks

[22:18] <Piso> got to double check that

[22:18] <Piso> unfortunately i have all the source code on the other partition =_=

[22:18] there is one (sort of) en-US as master

[22:18] <olorin_> Or these: http://download.services.openoffice.org/files/extended/ooomisc/sdf/

[22:19] <olorin_> ericb2: That's the original, displayed when locale is set to C or if there's no available translation.

[22:19] <olorin_> ericb2: We need that to actually translate.

[22:20] <Piso> ericb2: the master should be the .po template, or .pot, but i noticed we have a .pot for every locale, I don't know why, since 1 is sufficient

[22:20] <olorin_> Also, it gives us pointers about where the string belong.

[22:20] olorin_: I think it worth to concatenate this file with every locale. Then we could be able to create the .po

[22:20] Piso: one .po per locale is safe. We need to isolate what every locale does

[22:21] <olorin_> Piso: Yeah, merging can be done for all from one tree.

[22:21] Piso: else, everything is broken every time, you can believe me

[22:21] Piso: anyway, what we need is to try, and we'll see

[22:21] <Piso> ericb2: yep the idea should be 1 pot with just [en] string and 17 .po with double strings

[22:22] Piso: yes, I think so too

[22:22] <Piso> this is pretty canonical

[22:22] Piso: but if the 17 .po are ok, we no longer need the .pot (but I can be wrong)

[22:22] <olorin_> Wasn't we over this last year or the previous year ericb2?

[22:22] olorin_: I started with only the OOo4Kids part, yes

[22:23] <Piso> but here we have .sdf and I don't know if this can screw anything

[22:23] olorin_: but the changes will be enormous

[22:23] Piso: we can just concatenate, and then sort

[22:23] <olorin_> We still need to be able to merge the PO files with new strings, hence POT.

[22:23] Piso: should simply work.

[22:24] <olorin_> Also processing everything with gettext tools...

[22:24] <Piso> ericb2: i don't know, because of the sdf... because in normal gettext programs you update .po files launching msgmerge

[22:24] <Piso> which inspects the .pot file

[22:24] <Piso> confronting it with the .po

[22:24] <olorin_> msgmerge -U nb.po nb.pot

[22:24] <Piso> and adding the missing strings

[22:24] <Piso> exactly

[22:25] <olorin_> And also setting changed ones to fuzzy, so we can deal with them.

[22:26] Probably, but we need to dive with .sdf files. that's the only thing we have to start

[22:26] e.g. :  for nb:   l10n/source contains :  localize.sdf + localize-OOo.sdf + localize-OOo4Kids.sdf + localize- OOoLight.sdf

[22:27] we need to turn, for OOo4Kids, localize.sdf + localize-OOo4Kids.sdf  into .po file

[22:27] <Piso> damn I'm starting to hate these .sdf files always messing things up

[22:27] <Piso> :)

[22:27] more precisely :  nb.po

[22:28] <olorin_> ericb2: Which I wouldn't touch, as it would be too large to work on.

[22:28] olorin_:  localize.sdf : 10 MB  (approx.),  localize-OOo4Kids.sdf is around 130 kB

[22:28] <olorin_> Seeing a string count of 48k+- is demotivational.

[22:29] <Piso> guys i'm sorry but I have to leave now

[22:29] <Piso> anyway i said everything i had to

[22:29] <Piso> i will read the log

[22:29] see you~ ^_*'

[22:29] Piso: ok. Thanks a lot for coming, and see you. Feel free to join the channel more often btw

[22:29] <Piso> so if you have some work for me put it here

[22:30] Piso: join the channel and ask ?

[22:30] <olorin_> ericb2: Yes, and you need to merge those, either by using solenv tools on a completed build, or something else to get them.

[22:31] olorin_: I had in mind to turn them into .po, work on the .po, and once improved, use the .po for the build

[22:31] <olorin_> We can't create templates and merge them with available translation if you don't provide us with it.

[22:31] <Piso> thanks everybody, have a good night

[22:31] olorin_: I think this is the problem : nobody see clearly how to start

[22:32] Piso: see you !

[22:32] <olorin_> ericb2: Doesn't matter to me, as long as I get them. It makes sense to remove the conversion as it as today, I agree.

[22:33] <olorin_> ericb2: Just talking about it doesn't help much, so let's look at some possibilites...

[22:33] <olorin_> 1. Pootle support the OOo tree.

[22:34] <olorin_> 2. There's already tools to extract the existing strings for import.

[22:34] <olorin_> 3. VCS support can be covered.

[22:35] <olorin_> 4. Existing tools can be integrated into the build process, but in a sensible way.

[22:36] <olorin_> 5. We need to respect translators. In a lot of projects they're treated like second class citizens, we tend to dislike that very much.

[22:37] <olorin_> And 6. I've done this for years now...

[22:38] Ok, I noticed everything

[22:39] I think it's time to conclude the meeting

[22:39] <olorin_> It really cooks down to the humongous amount of strings found in the code. It dictates the process.

[22:40] <wooz_> I stop now..

[22:40] <wooz_> gn all

[22:40] <olorin_> wooz_: Night.

[22:40] wooz_: bye !

[22:40] <wooz_> ;-)

[22:40] * wooz_ has quit (Quit: Leaving)

[22:40] <olorin_> Yeah, I should probably do something else today as well.

[22:41] we need to read and think every detail of the meeting. I'll propose a new meeting soon

[22:41] <olorin_> Me too.

[22:41] ^_^

[22:42] <olorin_> Taiwan agrees as well.

[22:42] good night all, and let's continue on the mailing list, and here, of course !

[22:42] Sure. ^_*'

[22:42] <olorin_> Ok.

[22:42] see you~

[22:42] <olorin_> I'm always in here.