From attila.lendvai at gmail.com Fri Jun 2 20:40:24 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Fri, 2 Jun 2006 22:40:24 +0200 Subject: [cl-l10n-devel] implicit dispatch on locale Message-ID: hi! we are working on a modelling framework and the web based gui needs localization. thus we started using cl-l10n and also extended it in several ways. we have a cool resource bundle implementation instead of the i18n.lisp stuff. with this you can even have functions in resources that implicitly dispatch on the current locale... with locale fallbacks, and other goodies. (defresources en (unreachable-property "") ; constants (indefinit-article-for (str) ; and functions ;; TODO a/an "a")) (defresources en-gb ; some overrides... ) i'd be more then happy to merge these changes back into the head. i also propose to switch over to darcs from cvs to simplify life. if people agree i voulenteer to do the migration. i already have a cl.net account (alendvai) due to helping in iterate. - attila (alias 101 on irc &no 'its not lisp code :) From sean at guruhut.com Tue Jun 6 13:15:54 2006 From: sean at guruhut.com (sean at guruhut.com) Date: Tue, 6 Jun 2006 15:15:54 +0200 (SAST) Subject: [cl-l10n-devel] implicit dispatch on locale In-Reply-To: References: Message-ID: <31163.163.202.48.12.1149599754.squirrel@secure.guruhut.com> Hi, > i'd be more then happy to merge these changes back into the head. Sound's like a good idea, it would be nice to have more comprehensive i18n support. I'm not too sure about the darcs thing right now but please crack on and commit your changes, what do you need from me in order to have commit rights? Cheers, Sean. From sean at guruhut.com Tue Jun 6 14:14:01 2006 From: sean at guruhut.com (sean at guruhut.com) Date: Tue, 6 Jun 2006 16:14:01 +0200 (SAST) Subject: [cl-l10n-devel] enable/disable-l10n-syntax In-Reply-To: <4DA095C4-1137-48BE-8AF4-F2867DC84E07@gmail.com> References: <4DA095C4-1137-48BE-8AF4-F2867DC84E07@gmail.com> Message-ID: <5156.163.202.48.12.1149603241.squirrel@secure.guruhut.com> Hi, Sorry for the late reply, life's been a little busy lately. > The attached patch implements two new macros (enable- and disable- > l10n-syntax) similar to the ones found in cl-interpol and clsql. The > patch depends on cl-l10n-external-formats.diff. I've taken a look at your patch and it seems quite nice, the only thing i'm not too sure of is that it statically binds in the locale name when enable-l10n-syntax is run. I'm leaning more along the lines of 'when you want a specific locale just rebind *locale* to something appropriate'. So instead of (enable-l10n-syntax *my-bundle* "af_ZA") #i"howareyou" => "Hoe lyk it" we would say (enable-l10n-syntax *my-bundle*) #i"howareyou" => "Hoe lyk it" or "How are you" depending on the value of *locale* when the program is actually run. I'm not in a position right now to apply a patch but i'll get to it in a short while. Cheers, Sean. From attila.lendvai at gmail.com Tue Jun 6 14:59:50 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Tue, 6 Jun 2006 16:59:50 +0200 Subject: [cl-l10n-devel] enable/disable-l10n-syntax In-Reply-To: <5156.163.202.48.12.1149603241.squirrel@secure.guruhut.com> References: <4DA095C4-1137-48BE-8AF4-F2867DC84E07@gmail.com> <5156.163.202.48.12.1149603241.squirrel@secure.guruhut.com> Message-ID: > I've taken a look at your patch and it seems quite nice, > the only thing i'm not too sure of is that it statically > binds in the locale name when enable-l10n-syntax is run. > I'm leaning more along the lines of 'when you want a specific > locale just rebind *locale* to something appropriate'. > So instead of > > (enable-l10n-syntax *my-bundle* "af_ZA") > #i"howareyou" => "Hoe lyk it" > > we would say > (enable-l10n-syntax *my-bundle*) > #i"howareyou" => "Hoe lyk it" or "How are you" depending on the > value of *locale* when the program is actually run. sure, that's much better. in fact since then many things changed here locally, we were working on cl-l10n in several bursts. as a sidenote: arnesi has a quite smart (enable-curly-reader) with which you can do things like {with-l10n-syntax (foo (bar #"how are you"))} or {(with-l10n-syntax #\x) (foo (bar #x"how are you"))} and the stuff will be expanded into resource lookup calls at read-time. of course you can still call (enable-l10n-syntax) at the top of a file and then for the rest of the file being compiled it will be enabled. > I'm not in a position right now to apply a patch but i'll get to > it in a short while. never mind, now that i'll have commit rights i'll take a look at it myself and commit the non-intrusive changes. the rest will wait until further discussion. thanks, - attila (alias 101 on irc &no 'its not lisp code :) From attila.lendvai at gmail.com Tue Jun 6 14:49:32 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Tue, 6 Jun 2006 16:49:32 +0200 Subject: [cl-l10n-devel] Possible new dependencies Message-ID: hi! what do you people think about new dependencies? what i'm missing from cl-l10n is a good utils lib and iterate. iterate is a de facto standard now, i don't think it would be a big problem depending on it. but it's only moderately missing... we can live with loop altough i wouldn't be happy to resort to it. but a good utils lib is missing much more with common stuff like strcat, with-unique-names, etc. the problem is that there's no de facto standard among these libs. i personally use and depend on arnesi and the bese tools in general http://www.uncommon-web.com/darcsweb/darcsweb.cgi but it's not a good idea to force such a dependency on all the users of cl-l10n, which is a quite general lib. i can see three options: 1) copy missing methods into cl-l10n utils, which is obviously not a good idea above a certain level and i think we would end up copying too much. but considering the general nature of cl-l10n it may be an option. 2) create a cl-i18n system in cl-l10n.asd that does depend on arnesi, but is optional to the base cl-l10n functionality. 3) create a cl-i18n (darcs? :) repository next to cl-l10n, which is a standalone project that fully integrates with cl-l10n and provides the l18n stuff and brings in extra dependencies if needed. (2 seems to be better tehn 3 because i18n is useless without l10n) i'm planning to commit many helper stuff like useful locale dispatched functions (indefinit-article-for, prular-of, etc), some useful macros like lookup-first-matching-resource, but currently they are depending on iterate and some utilities in arnesi. opinions? - attila (alias 101 on irc &no 'its not lisp code :) From attila.lendvai at gmail.com Tue Jun 6 15:21:06 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Tue, 6 Jun 2006 17:21:06 +0200 Subject: [cl-l10n-devel] Re: Possible new dependencies In-Reply-To: References: Message-ID: > what do you people think about new dependencies? what i'm missing from > cl-l10n is a good utils lib and iterate. and i forgot split-sequence, which is another de facto standard, but it's easy to avoid using it... - attila (alias 101 on irc &no 'its not lisp code :) From sean at guruhut.com Wed Jun 7 10:16:17 2006 From: sean at guruhut.com (sean at guruhut.com) Date: Wed, 7 Jun 2006 12:16:17 +0200 (SAST) Subject: [cl-l10n-devel] Possible new dependencies In-Reply-To: References: Message-ID: <42916.163.202.48.12.1149675377.squirrel@secure.guruhut.com> > hi! > > what do you people think about new dependencies? what i'm missing from > cl-l10n is a good utils lib and iterate. > > iterate is a de facto standard now, i don't think it would be a big > problem depending on it. but it's only moderately missing... we can > live with loop altough i wouldn't be happy to resort to it. I'm also a big fan of iterate but like you say, leaving it out is not such a huge loss. > 2) create a cl-i18n system in cl-l10n.asd that does depend on arnesi, > but is optional to the base cl-l10n functionality. My feelings are that if a library is asdf-installable then it should be fine to include as a dependency. I don't mind if cl-l10n takes an extra 2 secs to load if it makes the code base cleaner. No. 2 is the best trade off between outright dependency and copying stuff in, although the extra features, and how to get them into your image, would have to be loudly documented. I think if no-one complains about cl-l10n depending on arnesi (let's give it a day or 3) then we create the arnesi dependency. As for split-sequence, well cl-l10n currently needs cl-ppcre which IMO has superseded split-sequence. Cheers, Sean. From attila.lendvai at gmail.com Thu Jun 8 09:59:36 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Thu, 8 Jun 2006 11:59:36 +0200 Subject: [cl-l10n-devel] first part of the i18n stuff is committed Message-ID: hi! as the subject line sais... i've made a tgz backup of the cvsroot on the server in the public_html dir (i could only write that) and also tagged the repo. unfortunately cvs does not allow committing stuff in parts, so it's one big commit. no new dependencies yet, but there are some api changes. - *locale* may be also a list (use (current-locale) to access it), in which case the resource lookups fall back to the other locales. e.g. (list en_GB en_us) - the entire i18n.lisp file is rewritten - locale-spec->locale is removed, locale defun is now smart enough to do its job - probably some more, but not much - attila (alias 101 on irc &no 'its not lisp code :) From attila.lendvai at gmail.com Thu Jun 8 14:05:11 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Thu, 8 Jun 2006 16:05:11 +0200 Subject: [cl-l10n-devel] Possible new dependencies In-Reply-To: <42916.163.202.48.12.1149675377.squirrel@secure.guruhut.com> References: <42916.163.202.48.12.1149675377.squirrel@secure.guruhut.com> Message-ID: > I think if no-one complains about cl-l10n depending on arnesi > (let's give it a day or 3) then we create the arnesi dependency. i would vote for iterate, too. i've got at least one usage of it that is not trivially convertible to loop. not that it's not doable, but... also after some work on it i concluded that the i18n subsystem would not be that useful. it would be very small, would be hard to integrate with cl-l10n (1) and if we agree for cl-l10n to depend on arnesi and iterate then it's not needed either. (1) is due to a plan of mine: create a "lang" package (we have it in our app already) and define resource lisp files like en_GB.lisp. when a locale is loaded, this is also loaded with it. these files would contain a library of locale specific resources (functions like the indefinit-article-for, plural or other locale specific stuff like flags, etc) that implicitly dispatch on the current locale. i propose to use the "lang" package, so that you can easily look for lang:: to find all magic functions/resources in your app. > As for split-sequence, well cl-l10n currently needs cl-ppcre which > IMO has superseded split-sequence. thanks for opening my eyes, i've dropped the split-sequence stuff... - attila (alias 101 on irc &no 'its not lisp code :) From attila.lendvai at gmail.com Fri Jun 9 19:17:24 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Fri, 9 Jun 2006 21:17:24 +0200 Subject: [cl-l10n-devel] ahh Message-ID: i just had a great idea: cvs and darcs can live happily next to each other, we just need to commit to both repos... this way we can easily have two repos and darcs can have the more detailed history and file renames and whatnot. i already do that locally and it can work fine on c-l.net, too. or we could just switch to darcs... ;) - attila (alias 101 on irc &no 'its not lisp code :) From attila.lendvai at gmail.com Thu Jun 15 20:34:20 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Thu, 15 Jun 2006 22:34:20 +0200 Subject: [cl-l10n-devel] rest of the i18n stuff Message-ID: hi! i've comitted the rest of the i18n stuff which brings arnesi and iterate dependency. i've also set up a darcs repo and updated the main page to reflect this. i'll keep both repos in sync, but darcs is the preferred. feel free to play with the new stuff and come up with ideas. there's a minimal example at the beginning of i18n.lisp that can get you started, but the entire file is small, so... i'll commit some examples/docs eventually. have fun, - attila (alias 101 on irc &no 'its not lisp code :) From luismbo at gmail.com Thu Jun 15 21:02:50 2006 From: luismbo at gmail.com (=?utf-8?Q?Lu=C3=ADs?= Oliveira) Date: Thu, 15 Jun 2006 22:02:50 +0100 Subject: [cl-l10n-devel] Re: rest of the i18n stuff References: Message-ID: "Attila Lendvai" writes: > i've also set up a darcs repo and updated the main page to reflect > this. i'll keep both repos in sync, but darcs is the preferred. FWIW, I don't the see the point in keeping the CVS repository around. -- Lu?s Oliveira luismbo (@) gmail (.) com http://student.dei.uc.pt/~lmoliv/ From sean at guruhut.com Mon Jun 19 13:11:46 2006 From: sean at guruhut.com (sean at guruhut.com) Date: Mon, 19 Jun 2006 15:11:46 +0200 (SAST) Subject: [cl-l10n-devel] rest of the i18n stuff In-Reply-To: References: Message-ID: <57812.163.202.48.12.1150722706.squirrel@secure.guruhut.com> > hi! > > i've comitted the rest of the i18n stuff which brings arnesi and > iterate dependency. > > i've also set up a darcs repo and updated the main page to reflect > this. i'll keep both repos in sync, but darcs is the preferred. > > feel free to play with the new stuff and come up with ideas. there's a > minimal example at the beginning of i18n.lisp that can get you > started, but the entire file is small, so... > > i'll commit some examples/docs eventually. Thanks, Could you also run all the tests against the new code. I can't do it right now since i've been firewalled off from just about everything right now :( Would you mind updating the Changelog as well. I find it's a nice spot to see whats happening in the source tree. Nuking the cvs tree is the next step cos i can see things getting badly bent out of shape with 2 repos to maintain. Thanks for the changes and updating the home page. Cheers, Sean. From attila.lendvai at gmail.com Mon Jun 19 14:36:05 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Mon, 19 Jun 2006 16:36:05 +0200 Subject: [cl-l10n-devel] rest of the i18n stuff In-Reply-To: <57812.163.202.48.12.1150722706.squirrel@secure.guruhut.com> References: <57812.163.202.48.12.1150722706.squirrel@secure.guruhut.com> Message-ID: > Thanks, > Could you also run all the tests against the new code. yep, all fine except that the new i18n stuff has no tests yet. > I can't do it right now since i've been firewalled off from > just about everything right now :( > Would you mind updating the Changelog as well. I find it's > a nice spot to see whats happening in the source tree. well, i'd prefer relying on the darcs changelog. i've already contacted Eric to add the cl-l10n darcs repo to the darcsweb at c-l.net. but i'll add some useful info to the changelog file eventually, too, maybe an extract from the darcs changelog... > Nuking the cvs tree is the next step cos i can see things getting > badly bent out of shape with 2 repos to maintain. that's fine with me. > Thanks for the changes and updating the home page. it was fun! for those interested: i've made the UCW l10n example use cl-l10n and there you can find a working example of the new resource stuff (i18n). http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=annotate_shade;f=/examples/l10n.lisp - attila (alias 101 on irc &no 'its not lisp code :) From attila.lendvai at gmail.com Tue Jun 20 16:53:42 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Tue, 20 Jun 2006 18:53:42 +0200 Subject: [cl-l10n-devel] rest of the i18n stuff In-Reply-To: <57812.163.202.48.12.1150722706.squirrel@secure.guruhut.com> References: <57812.163.202.48.12.1150722706.squirrel@secure.guruhut.com> Message-ID: > Would you mind updating the Changelog as well. I find it's > a nice spot to see whats happening in the source tree. the darcsweb link is available from the front project page, hope that helps a little. http://common-lisp.net/cgi-bin/darcsweb/darcsweb.cgi?r=cl-l10n%20cl-l10n;a=summary - attila (alias 101 on irc &no 'its not lisp code :) From sean at guruhut.com Fri Jun 30 10:13:58 2006 From: sean at guruhut.com (Sean Ross) Date: Fri, 30 Jun 2006 12:13:58 +0200 Subject: [cl-l10n-devel] Re: cl-l10n cvs repo In-Reply-To: References: Message-ID: <44A4F966.3000500@guruhut.com> Hi Attila, My feeling is that we should leave the CVS repo the way it is but inform those who do check it out that it is no longer maintained. I'm thinking about dumping a file called NO_LONGER_MAINTAINED in the root directory of the the tree which will contain details on how to check out the new repo. It might also be a good idea to post something on c.l.l to this effect. On a side note do you know if there is a way to get the darcs changelogs emailed to the cl-l0n-cvs mailing list? Cheers, Sean. From attila.lendvai at gmail.com Fri Jun 30 12:16:15 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Fri, 30 Jun 2006 14:16:15 +0200 Subject: [cl-l10n-devel] Re: cl-l10n cvs repo In-Reply-To: <44A5143D.4000108@guruhut.com> References: <44A4F966.3000500@guruhut.com> <44A5143D.4000108@guruhut.com> Message-ID: > Sorry, i can't commit it right now, the company i'm currently contracted > to has firewalled off every port except for the critical ones, so no > darcs or cvs for me during the day. > I'll be able to commit something in about 3 hours or so. no hurries, and tanks in advance! > Thanks again for hacking at this, i hope you like the new i18n stuff. now we "only" need to find a language enthusiast who integrates a good spellchecking framework (maybe with FFI) that could handle plurals and stuff. i have no experience in these, but writing separate algorithmical spellchecking stuff in cl-l10n is not the way to go. list, anyone listening? :) - attila (alias 101 on irc &no 'its not lisp code :) From sean at guruhut.com Fri Jun 30 12:08:29 2006 From: sean at guruhut.com (Sean Ross) Date: Fri, 30 Jun 2006 14:08:29 +0200 Subject: [cl-l10n-devel] Re: cl-l10n cvs repo In-Reply-To: References: <44A4F966.3000500@guruhut.com> Message-ID: <44A5143D.4000108@guruhut.com> Attila Lendvai wrote: > hi! > > http://paste.lisp.org/display/21857 > > this is what i gathered. you probably need to contact Erik Enge to add > the crontab entries, but i'm not a unix guru... maybe it could be done > by mere users. > > also the script probably needs a little modification, delete the > tarball text, etc Excellent thanks, i'll take a peek at it and try and get something into the feed. *nix allows you to add crontabs per user so i'll try add something later today. > about the CVS repo: that's ok, people will get used to it and the > warning file will do. could you please commit it if you haven't > already? Sorry, i can't commit it right now, the company i'm currently contracted to has firewalled off every port except for the critical ones, so no darcs or cvs for me during the day. I'll be able to commit something in about 3 hours or so. Thanks again for hacking at this, Sean. From sean at guruhut.com Fri Jun 30 15:06:47 2006 From: sean at guruhut.com (sean at guruhut.com) Date: Fri, 30 Jun 2006 17:06:47 +0200 (SAST) Subject: [cl-l10n-devel] Re: cl-l10n cvs repo In-Reply-To: <44A5143D.4000108@guruhut.com> References: <44A4F966.3000500@guruhut.com> <44A5143D.4000108@guruhut.com> Message-ID: <58667.192.168.0.158.1151680007.squirrel@secure.guruhut.com> Right there is no a file in the cvs repo called NO_LONGER_MAINTAINED.readme Hopefully people who update from cvs will notice that this file has been added and will read it. Cheers. From luismbo at gmail.com Fri Jun 30 15:35:34 2006 From: luismbo at gmail.com (=?ISO-8859-1?Q?Lu=EDs_Oliveira?=) Date: Fri, 30 Jun 2006 16:35:34 +0100 Subject: [cl-l10n-devel] Re: cl-l10n cvs repo In-Reply-To: References: <44A4F966.3000500@guruhut.com> <44A5143D.4000108@guruhut.com> Message-ID: <2DA00C42-E791-4428-B611-870F29D14825@gmail.com> On 2006-jun-30, at 13:16, Attila Lendvai wrote: > i hope you like the new i18n stuff. now we "only" need to find a > language enthusiast who integrates a good spellchecking framework > (maybe with FFI) that could handle plurals and stuff. See http://common-lisp.net/project/dyslexia/ for an early start. No stinkin' FFI. :-) Regarding the CVS repository, and seeing so many people get the wrong repository in #ucw, I suggest renaming the module. -- Lu?s Oliveira http://student.dei.uc.pt/~lmoliv/