[01:00] newz2000: do you think you will be able to make it tomorrow? [03:26] cjohnston: I am not sure what is going on tomorrow but I'm going to try [14:15] mornin [15:09] Hi all... someone of you know where can I find the source code of lucid countdown buttons? [15:09] I would translate and use them in ubuntu.it [15:29] Does anyone here has got experience with getting information bubbles floating at an OpenStreetMap on a website? [15:38] qense: you mean openlayers? [15:38] stas: yes [15:39] i was playing with that library recently but find it harder to use compared to gmaps or other services [15:40] Yeah, it's not that intuitive. [15:40] but I'll figure out with help of the reference manual. ;) I was just curious whether anyone had a working example on the shelve. [15:41] plus it is missing some wrappers/helpers to use it with jquery or some modern js libs [15:41] true [15:41] but yay, I've found something! [15:45] qense: if you get something done, ping me, I would love to see some code using OpenLayer [15:46] stas: will do! [15:46] thanks and good luck :) [15:47] thanks :) [16:31] newz2000: can I talk to you for a sec? [17:32] is there some meeting planned today? [17:42] yes [17:44] in a little over two hours [17:49] oh, this time zones are driving me crazy :) [17:50] I included a link in the email that should show you the time in your TZ [17:53] ah, my problem is that I always have to count what time is where the guys I'm talking with are [20:03] Hi, is anyone here for the localization meeting? If so, check out #ubuntu-meeting [20:04] (and announce yourself please) [20:43] newz2000: around? [20:43] hey stas [20:43] hey. about the app [20:44] i didn't succeed submitting it to the apps directory [20:44] so I think it's best to share it in current status [20:44] ok, what happened? [20:44] they ask more active users [20:44] ah [20:45] though I got ~20 users in the db that added it, FB reports under 10 [20:45] :-( [20:45] dunno how they calculate it [20:46] so I'm afraid if we wait after official apps directory submission, we're loosing time [20:47] yeah, well, I saw daniel announced it on identica [20:47] i thought pinging some fan groups in facebook and sharing the link to the app can be a good start [20:47] that's a good idea [20:47] I think we should consider this a public beta period [20:47] get people using it, don't worry about the directory for now [20:47] yep [20:48] stas: what would you like me to do? [20:48] to do what? [20:48] ah [20:49] if you got many friends on fb that would help if not we are in the same situation :D [20:49] ok [20:49] I'll do it [20:50] thanks [20:51] newz2000: do you have a sec? [20:51] hey ofirk, yes [20:51] newz2000: how are you? [20:51] good, how are you? [20:52] newz2000: good, thanks [20:52] newz2000: is there any news regarding the download page? [20:52] ofirk: no, I had a phone call less than one hour ago [20:52] and I still do not have any new information [20:52] :-( [20:53] bammer :( [20:53] yeah, the person who I'm working with is very frustrated on the subject [20:53] ofirk: I'm thinking about "plan b" currently [20:54] remind me again what is plan B? [20:54] we don't have one yet [20:55] * newz2000 looks at the logs to see how many downloads kubuntu gets during a busy period [20:55] interesting [20:58] ofirk: ok, you're peak demand is very managable [20:59] newz2000: means that...? [20:59] that means we can create a custom "plan b" solution and don't have to worry too much about capacity [21:00] what about the one which uses the template.php inside the theme to generate the mirror list or to redirect to a mirror? [21:00] my goal is to get you plugged into the new download page, but if that isn't going to work we can create a temporary solution and host it at webapps.ubuntu.com or on app engine or ec2 [21:00] ofirk: that's a possibility too [21:02] newz2000: btw, you are still in pending status as the app developer, dunno why though [21:02] stas: I'm not concerned [21:03] ah oky :) [21:08] newz2000: I'm sorry, my internet connection disconnected [21:08] ofirk: no prob, last I said was... [21:08] ofirk: that's a possibility too [21:08] but for all of those solutions we will need an access to the mirror list on launchpad, right? [21:09] yes, that is easy, its an rss feed [21:10] and you have the PHP script which takes care of it? [21:10] Hmm... that is an interesting separate challenge [21:11] because it needs to run periodically [21:11] and you can't do that the way you're planning [21:12] drupal has cron support, if it is enabled on kubuntu's website, we can use it [21:13] but that would require us to create a custom module for drupal which I don't think is going to be allowed. We already have the code written if that's what we're going to do [21:19] do we have cron on webapps.ubuntu.com/app engine/ec2 ? [21:19] ofirk: yes [21:19] cool [21:20] so why not use one of them. isn't it easier? [21:20] it means we have to write something and "plan a" didn't [21:20] so it is a fallback [21:20] but we should probably start planning it [21:23] what features will we have on webapps? can we use remote access to read the rss feed? [21:23] can we implement the feature which redirects to the nearest server? [21:24] hey adiroiban [21:24] :) [21:24] newz2000 told me you may be able to help me out with setting the .js files up for translation [21:24] ofirk: probably not (redirect to nearest server) [21:26] cjohnston: do you plan to use any js library/framework? [21:26] newz2000: why we can't do that? is it because we can't identify from where the user comes? [21:27] ofirk: it may be possible [21:27] but the timing is tricky [21:27] adiroiban: no, js files will be very simple [21:27] they will need to output one string and one url [21:28] the url will be https;//wiki.u.c/Local/ [21:28] newz2000: so let's tag it as wishlist [21:28] ofirk: if we use the plan a then we'll get that built in [21:28] adiroiban: http://people.ubuntu.com/~chrisjohnston/local/file.js.en [21:28] ofirk: yes, good plan [21:28] i was thinking of using jsgettext [21:29] http://openflights.org/blog/2009/05/29/dynamic-javascript-localization-with-gettext-and-php/ [21:29] newz2000: off course [21:29] adiroiban: no php [21:29] newz2000: no need for php [21:29] :) [21:29] http://developer.berlios.de/projects/jsgettext/ [21:29] here is the library [21:29] it a pure JS parser of po files [21:30] * stas pokes adiroiban [21:30] newz2000: so we need to use an rss praser to prase the rss from launchpad [21:30] adiroiban: I think it's overkill [21:30] newz2000: it may be [21:30] but it can handle translation validations [21:30] as otherwise we need to implement our own checkers [21:30] adiroiban: document.write('[string]'); [21:30] since translations can contain wrong js code [21:31] newz2000: so the flow chart is: display download form with all mirrors -> user submits form -> get user data -> redirect to mirror [21:31] newz2000: we can also go with in the house solution [21:32] adiroiban: simple = good++ [21:32] ofirk: yes [21:33] ofirk: do you want to continue to use an iframe? [21:34] newz2000: I don't [21:34] ofirk: agreed [21:34] so we have two choices... [21:35] i would go using a json file, this will bring kinda gettext logic in translations, and the checks can be done using a regex [21:35] ofirk: host the form on the dyanmic app (webaps...) or host the form on kubuntu.org and pull the data from the dynamic app [21:35] stas: that means you have two hits to the server instead of one [21:35] newz2000: do you mean kubuntu to pull the data from the app? is it possible? [21:36] ofirk: yes, just a moment [21:36] stas: since there is one .js file for each lang and the js file only has to display it's own link I think this could be a one line script [21:36] I could be wrong on this... a case could be made for making it more complex [21:37] (like asynchronous loading) [21:38] if we have a 150 byte js file that simply displays a string containing a hyperlink, what's the most efficient way to get the job done? [21:38] hmm, yep in oneliner case you're right, but having a more complex string with some variable words/numbers in it would make sense [21:38] stas: jsgettext is already doing that, no need to reinvent the wheel [21:38] * newz2000 listens [21:39] adiroiban: jsgettext requires php? [21:39] bioe [21:39] nope [21:39] pure js implementation [21:39] adiroiban: and what does it give us beyond document.write('...') ? [21:40] newz2000: it will allow us to integrate the translation into Launchpad Translations [21:40] easier hangling of stuff like "Some %d hours ago and %d seconds before" [21:40] so that translators can translate those strings using a web interface [21:40] i believe [21:40] or well know translation edit tools like poedit or gtranslator / kbabel [21:41] * knome coughs [21:41] * newz2000 was hoping knome would chime in [21:41] it can handle plural forms [21:41] newz2000, what are we talking about? [21:41] adiroiban: The string is "resources in English" [21:42] :) [21:42] then just document.write it :) [21:42] knome: techincal aspects to cjohnston's localization project [21:42] right [21:42] so what do we need? a js script downloading a string? [21:43] the end result is a js file for german will display someting on the page that looks like this: Resources in German [21:43] okay. [21:43] in german tho [21:43] right [21:43] lol [21:44] the german will come from a .po file that is translated in launchpad [21:44] what info do we have on the server with js? "de" ? [21:44] file.js.de is a js file that will be responsible for displaying that string [21:44] and it will only know or care about german [21:44] ..right [21:45] newz2000: we can use po2json de.po > file.js.de [21:45] adiroiban: that sounds promising [21:46] is it rational to ask LP for translation every time the JS is loaded, or should the data be cached? [21:46] and just have a raw access to that json (without using jsgettext) [21:46] knome: the data will be cached [21:46] okay [21:47] i don't really see the problem here. can you enlighten me [21:47] we're looking for the simplest way [21:47] the problem is how do we allow translator to translate those js files [21:47] and check the files will stay valid after translations [21:47] yeah, that is a concern [21:47] and who have access to translate them [21:48] and how the translations are „comited” [21:48] isn't that more of a LP issue? [21:48] using LP Translations should solve many of those problems [21:48] the qa part I can picture, the rest i don't know [21:48] if a person has to run the script to create the js files then they can do a bzr diff before and after to make sure no bad strings get in [21:48] is there a way to check if a file is valid? [21:49] jslint [21:49] then do automatical validation and if it fails, use the old version and notify the translator(s) ? [21:49] yeah [21:49] * newz2000 doesn't know how to do this though [21:50] * cjohnston either [21:50] knome: LP Translation should warn users as soon as the submit a corrupted translation [21:50] and not allow it [21:50] bind a script to translation change? [21:50] but to do that, the translation should in PO format [21:51] so [21:51] if you want [21:51] to check the validity of the js file? [21:51] I can help you with setting up the translations for this [21:51] adiroiban: definatly [21:52] someone needs to decide and newz2000 needs to approve how this is going to be, and then we can get it setup [21:52] * stas can haz pizza [21:52] but we also need to make sure not to display if there is no landing page [21:52] newz2000, fwiw, i heard rime is going to get back home from florida tomorrow [21:53] knome: I'd be interested it knowing if there's something faster than document.write('...') [21:53] isn't document.write just basic basic js? [21:53] yes [21:54] i doubt there is quicker ways then [21:54] at least with js [21:54] http://paste.ubuntu.com/413900/ [21:54] this should be your source [21:54] and we will have a similar json for each language [21:56] adiroiban: what happens with this? [21:56] newz2000, i suppose there are ways to "preload" the text. that would look like it appeared immediately, but the overall page load time would be the same. [21:57] yeah [21:57] newz2000: that is the format for json containing the translated strings [21:57] or in our case [21:57] it will contain a single string [21:57] po2json will generate a similar structure [21:57] the generated .js file will probably need to have one more line of js besides this json, is that doable? [21:57] newz2000: sure [21:57] ok [21:58] I like it, lets move forward [21:58] is just that the rest of the code should expect to receive/use a similar json structure/object [21:59] newz2000: still, since the text is „resource is German” [21:59] nevermind :) [21:59] * newz2000 never minds [22:00] adiroiban: can you help me set this up at some point? [22:00] cjohnston: sure [22:00] fam just got home, so must go for now.. we can talk later about it :-) [22:00] just link me a bzr branch [22:01] https://code.edge.launchpad.net/~chrisjohnston/website-localization/local [22:01] bbiab [22:02] cjohnston: hm This branch has not been pushed to yet. [22:02] adiroiban: its brand new [22:05] cjohnston: ok. here is a more specific exemple of the json http://paste.ubuntu.com/413913/ [22:05] if your js script can handle such input [22:05] we are done :) [22:05] i'm sure we can work that out with js [22:05] we should :) [22:06] we are. i know a codemonkey. ;) [22:06] me too [22:08] * cjohnston doesnt know js [22:08] lol [22:08] you don't have to know js if you know somebody who knows [22:08] 17.05.19 < adiroiban> if your js script can handle such input <-- that was my way of saying i dont know if it can [22:09] ;) [22:09] i know it can [22:09] don't worry [22:09] I did this: http://people.ubuntu.com/~chrisjohnston/local/file.js.en [22:09] lol [22:09] but I do like to learn stuff [22:09] hehe [22:10] will you two be around later? [22:10] today, no. i'm going to bed in 20 [22:10] i jealous [22:10] im [22:10] heh ;] [22:10] adiroiban ? [22:10] anyway, i'll be around here tomorrow 8AM UTC [22:10] cjohnston: not sure [22:10] or sth [22:11] ok [22:11] i work tomorrow [22:11] so prolly thursday we can work then [22:11] probably [22:11] i'll ask a js guru to join us [22:11] but we can continue via email [22:12] sure. the best way to actually get hold of me is irc though. [22:12] do yall wanna setup a time? [22:12] i often forget emails. [22:13] i don't know about the js guy's schedules yet [22:13] ok [22:13] ill be here all day thursday [22:13] okay [22:13] off to give the kids showers [22:13] oh yay! [22:13] hf [22:13] bbl [22:17] night everybody